I don't write many newsposts anymore, but I have some news for a few of those involved in the project who don't frequent the IRC. The rest of you who are interested can thank them for not showing up, because otherwise I'd have no reason to post this. These are our standings:
In the last three revisions, I have drastically changed a couple of the systems behind the compilation process of ENIGMA, largely for the sake of TGMG
(though also for freezway, who wanted access to the widget functions before they are finished). These include the following:
In the Compilers/ eYAML files, the following are now honored by ENIGMA:
- resources: Where to write the resources. $exe = The executable module. I might change this to $game. Maybe.
- Build-Extension: The extension of the output file; this is recognized but not really used yet.
- Run-Program: What program to invoke to run the game. $game is the game file.
- Run-Params: What to pass to the above. $game is the game file.
It is up to IsmAvatar
to implement this one:
- Run-output: Where the game is built for the Run function. "$tempfile" will let LGM pick.
Furthermore, ENIGMA now passes a "Compile Path" to the makefile. What this comprises is the current platform name, and the target platform name, separated by a slash. For instance, Linux/Linux, Windows/Windows, MacOSX/iPhone. This can be accessed as $(COMPILEPATH) from the main makefile. It will be up to TGMG
to use this to include a makefile from SHELL/Makefiles. They will be largely redundant, yes, but this will allow him to get complete control over the make process for iPhone and Android.
Unfortunately, I am quite sure the latest changes have broken Windows. I'll be on Windows myself in a minute to assess and fix it. In the revisions before this, however (around r698 or so), fonts were implemented. You no longer need to use font_add_sprite(). I mention this because I know HaRRiKiRi
wanted to do something with them after the font resource worked.
Other than that, I know Polygone
has been doing a good job keeping up with the Wiki. I don't think I've missed anything in documenting this new Compilers/*/*.ey and About.ey eYAML layout, but it could probably use touching up by a second person. New help with documentation always welcome.
So I'll be on Windows, then I'll see about getting back to my coercer.
Edit: All right, I've fixed Windows, as far as I can tell. If you update to the latest revision yourself (or via LGM), you must do the following:
- Copy the new ENIGMA.exe from CompilerSource/Stupidity-buffer/.
- Delete gcc.ey from Windows/
- Rerun ENIGMA.exe
Alternatively, you can edit gcc.ey yourself according to the new specification file in Autoconf/wingcc_template.eyt (You'll see the two are so similar you can almost copy and paste. In fact, you pretty much can copy-paste the bottom half, just skip the part with the %s stuff).
And of course, in either case, delete the DLL from the main directory so LGM rebuilds it.