OpenGFX Mars Xtended

Discuss, get help with, or post new graphics for TTDPatch and OpenTTD, using the NewGRF system, here. Graphics for plain TTD also acceptable here.

Moderator: Graphics Moderators

User avatar
mart3p
Tycoon
Tycoon
Posts: 1030
Joined: 31 Oct 2005 21:00
Location: UK

Re: OpenGFX Mars Xtended

Post by mart3p »

Twyster wrote:Why is the old .nml file still there when I've changed everything to use the Makefile system and moved the old .nml out of the repository folder before committing my local version?
You need to tell Hg to "forget" the file. In TortoiseHg, do this by right-clicking the file and selecting "forget" from the context menu. You will then need to push this change and the file will be removed from the repo.
Image
Twyster
Engineer
Engineer
Posts: 92
Joined: 22 Feb 2013 00:46

Re: OpenGFX Mars Xtended

Post by Twyster »

mart3p wrote:
Twyster wrote:Why is the old .nml file still there when I've changed everything to use the Makefile system and moved the old .nml out of the repository folder before committing my local version?
You need to tell Hg to "forget" the file. In TortoiseHg, do this by right-clicking the file and selecting "forget" from the context menu. You will then need to push this change and the file will be removed from the repo.
But I already took the file out of the folder, and now the forget command won't do anything even when I put it back in. Is there any way to fix it?

EDIT: Never mind, I think I fixed it. Thanks for the help.

EDIT 2: Oh, great. Now it's telling me this:

Code: Select all

abort: push creates new remote head 4936a49c276a!
User avatar
mart3p
Tycoon
Tycoon
Posts: 1030
Joined: 31 Oct 2005 21:00
Location: UK

Re: OpenGFX Mars Xtended

Post by mart3p »

Twyster wrote:EDIT 2: Oh, great. Now it's telling me this:

Code: Select all

abort: push creates new remote head 4936a49c276a!
I'm not quite sure how you managed that but this guide says:
If you see a message similar to: “abort: push creates new remote head”, then you either forgot to pull and synchronize your local repository with the central repository, or someone else has pushed changesets since you last did. The error message describes re-trying the push with the ”-f” option to force it working. DON'T DO THIS. Doing this would create a branch in the central repository. Pull, merge, commit, then try the push again. See the section below about merging.

Edit:
I had a look at your repo and noticed a few problems:

1. You have used the latest version of the makefile from make-nml (that's good), but you are missing the script findversion.sh which is required by that makefile. Download it from here.

Unfortunately there is another problem with findversion.sh that I encountered when adding it to ISR. It needs the unix execute permission set for the compile farm to be able to run it. I haven't found a way of doing this from windows, but if you ask planetmaker nicely, I'm sure he will make the necessary change. :wink:

2. Your ogfx-mars-ext-rv.pnml file contains includes such as:

Code: Select all

#include src/header.pnml
The filename should be quoted:

Code: Select all

#include "src/header.pnml"
See http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html.

3. Your cargorefits.pnml file contains defines such as:

Code: Select all

 #define CARGODEF_GTR10
 cargo_allow_refit:				[PRGD, GOOD, FOOD, ENSP, PLAS, CPNT];
 cargo_disallow_refit:			[PASS, ORGN, FERT, N2__, O2__, H2__, CHEM, ORES, WATR, RGTH]
If you want the define to span multiple lines you need to use a backslash to show the define is continued on the next line:

Code: Select all

 #define CARGODEF_GTR10 \
 cargo_allow_refit:				[PRGD, GOOD, FOOD, ENSP, PLAS, CPNT]; \
 cargo_disallow_refit:			[PASS, ORGN, FERT, N2__, O2__, H2__, CHEM, ORES, WATR, RGTH];
See http://gcc.gnu.org/onlinedocs/cpp/Objec ... ike-Macros. Also notice the closing semi-colon is missing in your version.

4. A number of other NML syntax errors, I'm sure you can fix these. :wink:
Image
Twyster
Engineer
Engineer
Posts: 92
Joined: 22 Feb 2013 00:46

Re: OpenGFX Mars Xtended

Post by Twyster »

mart3p wrote:
Twyster wrote:EDIT 2: Oh, great. Now it's telling me this:

Code: Select all

abort: push creates new remote head 4936a49c276a!
I'm not quite sure how you managed that but this guide says:
If you see a message similar to: “abort: push creates new remote head”, then you either forgot to pull and synchronize your local repository with the central repository, or someone else has pushed changesets since you last did. The error message describes re-trying the push with the ”-f” option to force it working. DON'T DO THIS. Doing this would create a branch in the central repository. Pull, merge, commit, then try the push again. See the section below about merging.
Is there a specific way I should go about "pull, merge, commit, then try the push again" without overwriting my local changes?
mart3p wrote: Edit:
I had a look at your repo and noticed a few problems:

1. You have used the latest version of the makefile from make-nml (that's good), but you are missing the script findversion.sh which is required by that makefile. Download it from here.

Unfortunately there is another problem with findversion.sh that I encountered when adding it to ISR. It needs the unix execute permission set for the compile farm to be able to run it. I haven't found a way of doing this from windows, but if you ask planetmaker nicely, I'm sure he will make the necessary change. :wink:

2. Your ogfx-mars-ext-rv.pnml file contains includes such as:

Code: Select all

#include src/header.pnml
The filename should be quoted:

Code: Select all

#include "src/header.pnml"
See http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html.

3. Your cargorefits.pnml file contains defines such as:

Code: Select all

 #define CARGODEF_GTR10
 cargo_allow_refit:				[PRGD, GOOD, FOOD, ENSP, PLAS, CPNT];
 cargo_disallow_refit:			[PASS, ORGN, FERT, N2__, O2__, H2__, CHEM, ORES, WATR, RGTH]
If you want the define to span multiple lines you need to use a backslash to show the define is continued on the next line:

Code: Select all

 #define CARGODEF_GTR10 \
 cargo_allow_refit:				[PRGD, GOOD, FOOD, ENSP, PLAS, CPNT]; \
 cargo_disallow_refit:			[PASS, ORGN, FERT, N2__, O2__, H2__, CHEM, ORES, WATR, RGTH];
See http://gcc.gnu.org/onlinedocs/cpp/Objec ... ike-Macros. Also notice the closing semi-colon is missing in your version.

4. A number of other NML syntax errors, I'm sure you can fix these. :wink:
1. findversion.sh is now in the root folder of the project in my local copy.

2. Quotes have been added. I should have paid attention when I dissected the 2ccts's .pnml files

3. "\" has been added. This one really was unavoidable, as I have not seen any information on this being required and the 2ccts simply kept everything as one line.

4. Except I'm not sure where or what the errors might be. Could you point out the ones that aren't mentioned in the NML tutorial? Other than that, I guess I'll have to go through and check everything by hand, but if the tutorial didn't say something about a part of the syntax, I won't know what an error is when I see it.


Finally, the findversion.sh might create a problem for me. The files in the online repository are outdated and unorganized. The local files can't be uploaded without pulling from the online repository, which I am afraid will overwrite the extensive local changes. And now I need the findversion.sh to be added and the unix execute permissions.

I need to reorganize the files in the repository myself, remove unneeded ones, have different revisions separated, gain the unix execute permissions (am I going to need files from Planetmaker? If not forget this portion), and I have no idea how to do this with the TortoiseHg system. I'm used to GUIs, not programming branches/trunks/etc.
Last edited by Twyster on 09 Mar 2014 20:53, edited 1 time in total.
Transportman
Tycoon
Tycoon
Posts: 2781
Joined: 22 Feb 2011 18:34

Re: OpenGFX Mars Xtended

Post by Transportman »

Twyster wrote:Is there a specific way I should go about "pull, merge, commit, then try the push again" without overwriting my local changes?
Pulling does not overwrite your local changes. Take a look at FooBar's guide, it has a section on merges that should help you.
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML
User avatar
mart3p
Tycoon
Tycoon
Posts: 1030
Joined: 31 Oct 2005 21:00
Location: UK

Re: OpenGFX Mars Xtended

Post by mart3p »

Twyster wrote:4. Except I'm not sure where or what the errors might be. Could you point out the ones that aren't mentioned in the NML tutorial? Other than that, I guess I'll have to go through and check everything by hand, but if the tutorial didn't say something about a part of the syntax, I won't know what an error is when I see it.
In header.pnml:

Code: Select all

	if (openttd_version < version_openttd(version_openttd(1, 3, 3, 26393)
Should be:

Code: Select all

	if (openttd_version < version_openttd(1, 3, 3, 26393)) {
In ogfx-mars-ext-rv.pnml:

Code: Select all

#include starwar_LiOX_item.pnml
#include starwar_LiOX_graphics.pnml
These files do not exist. I guess it should be:

Code: Select all

#include "src/3JetRetro/jetretro_LiOX_item.pnml"
#include "src/3JetRetro/jetretro_LiOX_graphics.pnml"
I would suggest you try compiling the GRF locally before committing your changes. :wink:
Twyster wrote:...gain the unix execute permissions (am I going to need files from Planetmaker? If not forget this portion)....
Just ask planetmaker to set the executable permission on the file findversion.sh, after you have pushed it to the repo.
Image
User avatar
planetmaker
OpenTTD Developer
OpenTTD Developer
Posts: 9432
Joined: 07 Nov 2007 22:44
Location: Sol d

Re: OpenGFX Mars Xtended

Post by planetmaker »

Transportman wrote:
Twyster wrote:Is there a specific way I should go about "pull, merge, commit, then try the push again" without overwriting my local changes?
Pulling does not overwrite your local changes. Take a look at FooBar's guide, it has a section on merges that should help you.
I am more or less in the process of overhauling and slightly updating foobar's excellent guide in the "Getting started" section at http://dev.openttdcoop.org/projects/home/wiki. The missing parts are in the actual setup of a new project and the document is (still) linked there.

When it comes to the use of the Makefile (when using windows as main system), I think the suggestion to go with a virtualized system is a good idea, though one can do without. But the effort to setup things is basically the same, no matter which path you choose.
Twyster wrote:

Code: Select all

abort: push creates new remote head 4936a49c276a!
Is there a specific way I should go about "pull, merge, commit, then try the push again" without overwriting my local changes?
mart3p wrote: Edit:
I had a look at your repo and noticed a few problems:

1. You have used the latest version of the makefile from make-nml (that's good), but you are missing the script findversion.sh which is required by that makefile. Download it from here.

Unfortunately there is another problem with findversion.sh that I encountered when adding it to ISR. It needs the unix execute permission set for the compile farm to be able to run it. I haven't found a way of doing this from windows, but if you ask planetmaker nicely, I'm sure he will make the necessary change. :wink:

2. Your ogfx-mars-ext-rv.pnml file contains includes such as:

Code: Select all

#include src/header.pnml
The filename should be quoted:

Code: Select all

#include "src/header.pnml"
See http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html.

3. Your cargorefits.pnml file contains defines such as:

Code: Select all

 #define CARGODEF_GTR10
 cargo_allow_refit:				[PRGD, GOOD, FOOD, ENSP, PLAS, CPNT];
 cargo_disallow_refit:			[PASS, ORGN, FERT, N2__, O2__, H2__, CHEM, ORES, WATR, RGTH]
If you want the define to span multiple lines you need to use a backslash to show the define is continued on the next line:

Code: Select all

 #define CARGODEF_GTR10 \
 cargo_allow_refit:				[PRGD, GOOD, FOOD, ENSP, PLAS, CPNT]; \
 cargo_disallow_refit:			[PASS, ORGN, FERT, N2__, O2__, H2__, CHEM, ORES, WATR, RGTH];
See http://gcc.gnu.org/onlinedocs/cpp/Objec ... ike-Macros. Also notice the closing semi-colon is missing in your version.

4. A number of other NML syntax errors, I'm sure you can fix these. :wink:
I need to reorganize the files in the repository myself, remove unneeded ones, have different revisions separated, gain the unix execute permissions (am I going to need files from Planetmaker? If not forget this portion), and I have no idea how to do this with the TortoiseHg system. I'm used to GUIs, not programming branches/trunks/etc.[/quote]
If you want to re-organize the files in the repo, it's advisable to use the verson control commands to move and rename and delete files (in this order).

A repository never forgets things. Just commit your stuff. Then pull from the server. And then merge the heads you have, making sure that you keep that state of files during merge which you want to end up with.

Also please read http://hgbook.red-bean.com/read/ and especially chapters 2,3 and 5.
Twyster
Engineer
Engineer
Posts: 92
Joined: 22 Feb 2013 00:46

Re: OpenGFX Mars Xtended

Post by Twyster »

Transportman wrote:
Twyster wrote:Is there a specific way I should go about "pull, merge, commit, then try the push again" without overwriting my local changes?
Pulling does not overwrite your local changes. Take a look at FooBar's guide, it has a section on merges that should help you.
Ah, I think I'm starting to get the hang of the system now. Latest revision is uploaded, and all I need to do is talk to planetmaker about the permissions. Thanks for your help and suggestions!

EDIT: This system is far more work than I thought it would be... What "version control commands"?

I'm regretting switching from a simple .nml to the Makefile system. I assumed it would either use the same command line commands as for compiling an NML, or compile once uploaded to the repository (automatically or at the press of a button or two).

Instead, I'm presented with Mercurial, which I knew nothing about up to this point and have no idea where to begin. You said chapters 2, 3 and 5? That won't be enough: I have to read the entire thing, and I don't even know how or when Mercurial got involved in the first place.

I can't handle all of these different things at this point. And if I switch back to a normal .nml file, it means I'll have to host it somewhere to meet the GPL.

I hate to say this, but I need to make sense of all this or I have no choice but to cancel the entire project. Help, please?
Transportman
Tycoon
Tycoon
Posts: 2781
Joined: 22 Feb 2011 18:34

Re: OpenGFX Mars Xtended

Post by Transportman »

Twyster wrote:I'm regretting switching from a simple .nml to the Makefile system. I assumed it would either use the same command line commands as for compiling an NML, or compile once uploaded to the repository (automatically or at the press of a button or two).
First times are really difficult, but once you get the hang of it, you will be very happy as the set grows. Regarding compilation: Windows is not really suited for the Makefile-stuff, I use a Virtual Machine with Fedora 15 (same as in the guide I linked to) for that.

Regarding compilation on the DevZone, it should do it, but I don't see any compiled result here. Maybe planetmaker has to change something.
Instead, I'm presented with Mercurial, which I knew nothing about up to this point and have no idea where to begin. You said chapters 2, 3 and 5? That won't be enough: I have to read the entire thing, and I don't even know how or when Mercurial got involved in the first place.
Mercurial is a version control system. Instead of having to save multiple copies of a file for every change, Mercurial takes care of that. Compare it with working on a formal document, those often have a list of versions and a summary of changes in each version. Mercurial basically does the same, but with more detail. That is how Mercurial got involved.

Now to how to use it: TortoiseHg provides a graphical user interface (Workbench) to do all Mercurial-related stuff, so you don't have to care about command line stuff if you don't want to work with the command line. The command line can still be used of course (even from inside TortoiseHg), but I never needed it. The big guide planetmaker refers to really goes with the command line and might be nice if you want some more background, but for the very basic stuff you want, the graphical user interface is fine enough.
I can't handle all of these different things at this point. And if I switch back to a normal .nml file, it means I'll have to host it somewhere to meet the GPL.
GPL is a license and you can just as well apply it to the .nml file as to a .pnml file you make, but you do need software to push it to the DevZone, which is done by version control software like TortoiseHg.
I hate to say this, but I need to make sense of all this or I have no choice but to cancel the entire project. Help, please?
You will get all the help you need to make it work, no need to cancel the entire project. Just show where you are running into trouble.

But I agree with you, the first time setup is quite overwhelming when your background is not really in computer coding.
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML
User avatar
mart3p
Tycoon
Tycoon
Posts: 1030
Joined: 31 Oct 2005 21:00
Location: UK

Re: OpenGFX Mars Xtended

Post by mart3p »

Transportman wrote:Regarding compilation on the DevZone, it should do it, but I don't see any compiled result here.
That page doesn't seem to update properly. It shows ISR as last built on 11 Sept 2013, when in fact the last build was yesterday. :?
But anyway, there are still a couple of errors (that I mentioned in my previous post) that need fixing, before Twyster's project will compile.


Twyster: Don't give up now you've come so far. You have a working repo, so you're now at the stage where you can get on with working on your project. :)
Image
Twyster
Engineer
Engineer
Posts: 92
Joined: 22 Feb 2013 00:46

Re: OpenGFX Mars Xtended

Post by Twyster »

Transportman wrote:
Twyster wrote:I'm regretting switching from a simple .nml to the Makefile system. I assumed it would either use the same command line commands as for compiling an NML, or compile once uploaded to the repository (automatically or at the press of a button or two).
First times are really difficult, but once you get the hang of it, you will be very happy as the set grows. Regarding compilation: Windows is not really suited for the Makefile-stuff, I use a Virtual Machine with Fedora 15 (same as in the guide I linked to) for that.

Regarding compilation on the DevZone, it should do it, but I don't see any compiled result here. Maybe planetmaker has to change something.
Instead, I'm presented with Mercurial, which I knew nothing about up to this point and have no idea where to begin. You said chapters 2, 3 and 5? That won't be enough: I have to read the entire thing, and I don't even know how or when Mercurial got involved in the first place.
Mercurial is a version control system. Instead of having to save multiple copies of a file for every change, Mercurial takes care of that. Compare it with working on a formal document, those often have a list of versions and a summary of changes in each version. Mercurial basically does the same, but with more detail. That is how Mercurial got involved.

Now to how to use it: TortoiseHg provides a graphical user interface (Workbench) to do all Mercurial-related stuff, so you don't have to care about command line stuff if you don't want to work with the command line. The command line can still be used of course (even from inside TortoiseHg), but I never needed it. The big guide planetmaker refers to really goes with the command line and might be nice if you want some more background, but for the very basic stuff you want, the graphical user interface is fine enough.
I can't handle all of these different things at this point. And if I switch back to a normal .nml file, it means I'll have to host it somewhere to meet the GPL.
GPL is a license and you can just as well apply it to the .nml file as to a .pnml file you make, but you do need software to push it to the DevZone, which is done by version control software like TortoiseHg.
I hate to say this, but I need to make sense of all this or I have no choice but to cancel the entire project. Help, please?
You will get all the help you need to make it work, no need to cancel the entire project. Just show where you are running into trouble.

But I agree with you, the first time setup is quite overwhelming when your background is not really in computer coding.
mart3p wrote:
Transportman wrote:Regarding compilation on the DevZone, it should do it, but I don't see any compiled result here.
That page doesn't seem to update properly. It shows ISR as last built on 11 Sept 2013, when in fact the last build was yesterday. :?
But anyway, there are still a couple of errors (that I mentioned in my previous post) that need fixing, before Twyster's project will compile.


Twyster: Don't give up now you've come so far. You have a working repo, so you're now at the stage where you can get on with working on your project. :)
Thanks for the help and encouragement. Unfortunately I've hit an (unavoidable?) snag: I can't seem to get Fedora to run on VirtualBox on my machine. It pops up for a few seconds ("Start Fedora Live"), and then I just get a black screen. Is my computer not capable of running it, or am I using the wrong .iso?
User avatar
Phreeze
Director
Director
Posts: 514
Joined: 12 Feb 2010 14:30
Location: Luxembourg

Re: OpenGFX Mars Xtended

Post by Phreeze »

a) try another unix, like ubuntu or mint
b) if you've never run a VM before, make sure to check the VMx switch in your Bios (enable it)
c) check virtualbox settings...
Eddi
Tycoon
Tycoon
Posts: 8258
Joined: 17 Jan 2007 00:14

Re: OpenGFX Mars Xtended

Post by Eddi »

d) try running it in non-GUI mode (in the bootloader options, add "3")
Transportman
Tycoon
Tycoon
Posts: 2781
Joined: 22 Feb 2011 18:34

Re: OpenGFX Mars Xtended

Post by Transportman »

You might want to check if you have the 32 or 64 bit version downloaded, 64 bit VMs have some hardware requirements that are not available on all computers.
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML
Twyster
Engineer
Engineer
Posts: 92
Joined: 22 Feb 2013 00:46

Re: OpenGFX Mars Xtended

Post by Twyster »

Phreeze wrote:a) try another unix, like ubuntu or mint
b) if you've never run a VM before, make sure to check the VMx switch in your Bios (enable it)
c) check virtualbox settings...
A: Which would you recommend?

B: I really don't want to reconfigure my 4-month old gaming rig in a way that might mess it up. I barely caught on to a mistake in the writing of the NML tutorial about how to install the NML compiler (python?) that could have very well ruined the OS, and I am no longer comfortable with trusting instructions if they tell me to reconfigure a key system aspect.

C: The settings are default, except the ones the instructions (linked to in one of the earlier posts of this topic) said to change. Should anything else be changed?
Eddi wrote:d) try running it in non-GUI mode (in the bootloader options, add "3")
...bootloader options?
Transportman wrote:You might want to check if you have the 32 or 64 bit version downloaded, 64 bit VMs have some hardware requirements that are not available on all computers.
I've got the 32-bit version, and in addition I've got a 64-bit processor. The way you describe it I should be doubly prepared.
User avatar
Phreeze
Director
Director
Posts: 514
Joined: 12 Feb 2010 14:30
Location: Luxembourg

Re: OpenGFX Mars Xtended

Post by Phreeze »

you're not an expert i see ;) a compiler can neverm ess up an os..

as for a) i said "Ubuntu" or "Mint" linux.
b) in the bios, the option is pretty clear...2secs google will tell you the right option. virtualization optimization option is named eitehr Intel VT, AMD-V


i can compile it for you, gimme the gfx and source, i run the compiler, takes about 1second ;)
Eddi
Tycoon
Tycoon
Posts: 8258
Joined: 17 Jan 2007 00:14

Re: OpenGFX Mars Xtended

Post by Eddi »

Twyster wrote:
Eddi wrote:d) try running it in non-GUI mode (in the bootloader options, add "3")
...bootloader options?
ok, computer basics:
starting a computer happens in (roughly) 3 phases:
  1. Power On Self Test (POST): here the computer tests whether some internal components (RAM, graphics card, etc.) work, detects which hard disks are attached, and stuff. virtual machines keep this stuff very short, so you barely notice it
  2. boot loader: the BIOS picks a device that it thinks should have a bootable OS on, and runs the first code it finds on there, which further detects where the OS is actually stored. on Windows this is usually done silently, but it can be configured to show a selection of installed OSes to choose one to start, also this is the thing that pops up when windows boot failed and offers you to boot into "safe mode". on linux this is usually a screen that shows you a list of OSes and disappears after a few seconds automatically, unless you hit a key to change the default selection. the details vary a bit depending on which boot loader is installed
  3. booting: after the boot loader found the proper OS, it starts that OS, which loads all sorts of drivers and stuff, and finally results in a state you would call "started", i.e. it now accepts user input (usually via a GUI). older OSes showed you a bare command prompt here. most linuxes show a "splash screen" during this phase, but you can usually hit [Esc] or [F2] to disable the splash screen and see which steps it is going through

what i suggested is in part 2. during the boot selection for most linux bootloaders, there is a line where you can input additional boot parameters (if not, it usually allows you to modify the boot entry directly, after hitting [Esc]). if you type a number there, the kernel interprets this as the "runlevel" it should enter after booting. modern linuxes boot into "runlevel 5" by default, which means it should enable network drivers and GUI, "runlevel 3" means network, but no GUI, "runlevel 1" means "neither network nor GUI". there are other options which are not relevant here.

i mainly suggested this because no-GUI modes are probably not that heavy on system requirements.
User avatar
Phreeze
Director
Director
Posts: 514
Joined: 12 Feb 2010 14:30
Location: Luxembourg

Re: OpenGFX Mars Xtended

Post by Phreeze »

i think he will need the gui, as his knowledge is very limited, and thus, he will be unable to do any update or wget or make etc. without all the exact commands etc. I think this goes far away from the initial topic here ;)
Twyster
Engineer
Engineer
Posts: 92
Joined: 22 Feb 2013 00:46

Re: OpenGFX Mars Xtended

Post by Twyster »

Phreeze wrote:you're not an expert i see ;) a compiler can neverm ess up an os..

as for a) i said "Ubuntu" or "Mint" linux.
b) in the bios, the option is pretty clear...2secs google will tell you the right option. virtualization optimization option is named eitehr Intel VT, AMD-V


i can compile it for you, gimme the gfx and source, i run the compiler, takes about 1second ;)
I've given up on this due to complexity, but I figured I'd explain what I meant by "mess up the os". The following is from HERE.
Twyster wrote:Hi, I'm pretty much clueless at this point about NML, but I'm giving it a shot and I noticed something odd.
If you want to run NML from any directory, you need to add the directory containing the nmlc.exe executable (and related files) to your PATH environment variable. This can break Windows if you do not do it correctly, so follow the instructions carefully. The instructions have been written for Windows 7 and may differ slightly on other Windows versions.
First, extract the NML program files to a directory of your choice, e.g. C:\tools\NML. It is preferred that you do not have spaces in the directory path, so avoid the "Program Files" directory. Once you have that, remember the directory path and follow these steps carefully:
Rightclick "Computer" on the desktop or in the Start menu and select Properties. This will open the System window from the Configuration Panel.
Click Advanced system settings in the left pane. This will open the System Properties window.
Click the Advanced tab.
On the Advanced tab, click the Environment Variables... button. This will open the Environment Variables window.
In the bottom half of the window below System variables, find the Path entry and select it.
With the Path entry selected, click the Edit... button. An edit box will appear.
Do not touch the Variable name and do not remove anything from the Variable value! (This is where you can break your computer.)
Put your cursor at the end of the Variable name box and type a semicolon followed by the directory path to the NML program, in this case ;C:\tools\NML
Confirm your changes by clicking the OK button in each of the three windows.
Now you can use the NML program from any directory on your computer.
Is the bold text a mistake? Obviously you shouldn't remove anything from the variable path, but adding to the path seems like the location where you would put something formatted as ";C:\tools\NML". Changing the variable name could mess something up severely, right? If so, someone should go over this and see if there is a dangerous mistake in the instructions.
I was then told that I had indeed caught onto a potentially fatal mistake in the instructions. You are right that compilers in themselves cannot mess up the OS, but the steps to install the NML compiler required me to take an action that (if done incorrectly) could damage my OS.
User avatar
mart3p
Tycoon
Tycoon
Posts: 1030
Joined: 31 Oct 2005 21:00
Location: UK

Re: OpenGFX Mars Xtended

Post by mart3p »

Twyster wrote:I was then told that I had indeed caught onto a potentially fatal mistake in the instructions. You are right that compilers in themselves cannot mess up the OS, but the steps to install the NML compiler required me to take an action that (if done incorrectly) could damage my OS.
You don't have to do it as described in those instructions. I prefer to only add to the path in Environmental Variables, when it is required. This is done by means of a batch file:

Code: Select all

@echo off
PATH=%Path%;C:\GRFDev\NML
cmd /k "cd C:\GRFDev\My_NML_Project"
The second line sets the path to the current system path with the path to NML appended. The third line starts a command interpreter, /k tells it to carry out the command in the string that follows. In this case it changes the current directory to that of my NML project.

Running the batch file opens a command window with the correct path set and the NML project directory as the current directory. You are then ready to start typing commands such as "nmlc -c my_project.nml".

Doing it this way, only makes changes to the path for the current session, i.e. only commands that are run from the command window started by the batch file, use the modified path. Your Path setting in Environmental Variables remains untouched.
Image
Post Reply

Return to “Graphics Development”

Who is online

Users browsing this forum: Bing [Bot] and 21 guests