-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Determine source of initial game state #11
Comments
I had a quick look:
The easiest way to determine whether 0x0FA0 plays a role is to erase the extra information with 0x00. On a side-note, comparing archive.dat and a savegame from right at the start revealed that the save game archives contain 4 more chunks that haven't been considered so far: 0x0000, 0x024E, 0x024F and 0x0F9F ! |
Clearing all the extra info in archive.dat 0x0FA0 did not have any (immediately visible) effect. A new game could be started and the hacker was at the usual position. |
Thanks to inkyblackness/construct , at least the first level and hacker position is hardcoded. The first level is 1 and hacker is always put on tile 30:22. Even the current health seems to be hardcoded, though, the energy level is not. The absolute minimal archive.dat required, created by inkyblackness/construct, starts a new game with full power. The regular archive.dat leaves the hacker with about a third of power. |
As for the power level: This mystery is solved, there is a "level entry trigger" (object index 695, located at tile 31:23) which removes some power. |
The source code proves it: However, the source port was extended to allow this, and this behaviour has now been documented. Keeping this issue open, as I haven't come round to detail the MFD fields, which are also set. |
The game state chunk 0x0FA1 in archive.dat is (almost) entirely 0x00. Try to figure out if all of the initial data for a started game is generated from the game code. It would be weird to have the initial location of the hacker be hardcoded.
Hunches that I have so far:
The text was updated successfully, but these errors were encountered: