Enigma's Game Editor, v2.2
[Installation] [Usage] [Sim City] [Kyle's Quest] [Space Trader] [Galactic Realms] [BeBop] [Development] [Code] [Licensing]

Installation
To use the game editor, simply Hotsync the file ege.prc--that is all there is to it.  Once installed, if you find this program useful, drop me a note so I can gague how many people are using it (as opposed to how many are simply downloading and deleting it).  I can be contacted through the email address on the "About..." screen or at http://netninja.com/files/ege/email.html).

Usage
Upon starting the game editor, you will find yourself at the main screen:

Main Screen
You will see three options on that screen--actually, only two of them work.  SimCity and Kyle's Quest will take you to editing screens.  Solskia does not presently work--namely because the game is still in beta and does not even have save functionality yet!

Usage--Sim City
Make sure you are not in the middle of a game in Sim City.  If you are looking at the map, use the pulldown menu and select "Close this city."  Your Sim City game should open to the "City List" screen:

Sim City Menu
Once you are sure your Sim City game has been saved and is ready to edit, select Sim City in the game editor.  You will be brought to an edit screen:
Sim City Edit
This screen should be fairly straightforward.  It should not take a brain surgeon to see how it works.  Select a save game.  The present money value will appear.  Adjust as needed then click "Save" when satisfied with your new dollar value.  If you make a mistake, click on "Abort" to return to the main menu without saving anything.

Usage--Kyle's Quest
Editing Kyle's Quest save games is even easier.  Check out the screenshot:

Kyle's Quest
First, select a save game.  If you happen to have more than ten save games, only the first ten are listed.  Once you select a game, you will see your statistics--the current and maximum health, followed by money.  Adjust as necessary, then click "Save."  If you make a mistake, you can always click on "Abort" to return to the main menu without saving anything.

Usage--Knight Move
Save your game in Knight Move.  You will need a registered version of Knight Move in order to do this.  Go to the Knight Move editor screen:

Knight Move Editor
Knight Move supports four save-game slots.  Each slot has a zero (if no game has been saved there) or the amount of mana you have in the game.  Adjust accordingly.

Usage--Space Trader
Start a game in Space Trader.  Exit out and launch the game editor.  Go to the Space Trader editor screen:

Space Trader
Space Trader has several statistics to edit.  Modify and click "Save."

Usage--Galactic Realms
Start a game in Galactic Realms.  Exit out and launch the game editor.  Go to the Galactic Realms editor screen:

Galactic Realms
Galactic Realms has several statistics to edit.  Modify and click "Save."

Usage--BeBop
Start a game in BeBop.  Exit out and launch the game editor.  Go to the BeBop editor screen:

BeBop
The editor allows you to modify your BeBop money.  It can be raised to about $4,000,000 without problems (i.e. it being interpreted as a negative number).  Modify the value and click "Save."

Development
To help develop for the game editor, make sure you can first build the existing version:


If this was successful, you have all of the build tools.  Next, you will probably want to install POSE, the Palm OS Emulator.  This is available from Palm's site (http://www.palmos.com/dev/tech/tools/emulator/), but requires ROM images.  There are two ways to do this.  First you can extract them from your device (for me, this was difficult, as their extraction software only works for serial cradles--I had to carefully follow the instructions that a kind soul posted to the VisorCentral message boards, the URL of which I am presently unable to locate).  Secondly, you can download them from Palm, if you fill out all sorts of information.

The emulator is rather important during development--you end up crashing it once every few minutes until the bugs are worked out.

IMPORTANT DEVELOPMENT INFO: I need someone to help out with getting this to run on PalmOS 4.0.  At present, it seems to routinely crash in the 4.0 emulator, but in various places--when access the two global arrays, when returning from a form, etc.  If you can help out with this, drop me a line.

Anatomy of the Code
The game editor consists of four pieces--the main menu screen, code common to all of the "plugins," and two "plugins."  I use the term "plugin" loosely here.  They are built into the code at runtime and cannot be added to or removed from at runtime--they merely perform different operations on different save files using a set of standardized routines.

You will note that everything gets included in main.  This is in complete opposition to what you normally do (compile several .c files into several .o files, then link them together into an executable).  My build tools do not seem to like the link step, for some reason.  Nor do they like it if I specify multiple .c files and an executable to gcc--it seems to just run seperate steps, creating several .o files in /tmp and then linking them together, causing the same linking problem as when I do this manually.  This needs to be fixed, but I am not sure how.

main.c / mainscreen.rcp
This is the main event loop and main menu user interface.  If you add plugins, you will have to add an entry to the list box in mainscreen.rcp and code to call your form in main.c.  Otherwise, you probably do not have to worry about this piece.

general.c
This includes several interesting functions.  SetFieldTextFromHandle, SetFieldTextFromStr, and ClearFieldText are all "standard" functions defined in the O'Reilly Palm Programming book.

There are two other functions, saveFieldToFile and loadFieldFromFile, that help facilitate editing numeric values in save games.  The latter takes an unsigned byte, integer, or long from a file, then places a text representation in an editable UI field.  The former does just the opposite.  Two other functions (saveFieldToFileByName and loadFieldFromFileByName) are helper functions that decode a filename into a file ID for you automatically.

quest.c
Simple enough form to edit Kyle's Quest files.  Very soon, I hope to include other values--strength, intelligence, agility, etc.

simcity.c
Simple enough form to edit Sim City files.

Licensing
This program is distributed under the Gnu Public License, a copy of which is attached


End of file $Id: Readme.html,v 1.3 2001/05/08 06:52:33 enigma Exp $