Here's a handy little tool that I hope you'll find useful. This is a preview version (there are some subtle details that aren't implemented yet, and it will leave messages in your Latest.log file), but it's usable now. If you try it, please leave feedback.
Save and Jump OXP ver. 0.3 (preview version)
Date: July 15th, 2012
Author: Wildeblood
This is Save and Jump, an add-on that changes the way you play Oolite. To use, place the Save and Jump OXP into your "AddOns" folder; from then on you will have the option of saving your current game at the moment you make a witchspace jump between systems, as well as at the usual time when docked at the main station.
During the countdown to a jump, change views to the status (F5) screen, otherwise the jump will proceed normally, with no pause. Once the jump begins, Oolite will pause to allow you to save your game - you should see the current system name on the status screen change from e.g. "Lave" to "Leaving Lave for Zaonce". Simple - no buying special equipment or fiddling with the N-key menu, or other complications.
When loading a saved commander into Oolite, games saved with Save and Jump OXP can be easily distinguished because both the departure and destination system names will be displayed in the location field. When loading such a game, remember to be ready for anything because you will not be docked at a station, but in flight and immediately jumping into a new system.
You cannot use Save and Jump during a red alert, e.g. during combat, as that would be a cheat that enabled players to save a commander that was in imminent danger of being destroyed. This is analogous to the way Oolite won't allow you to use docking computers during a red alert.
Last edited by Wildeblood on Sun Jul 15, 2012 1:55 pm, edited 5 times in total.
Will this overwrite my existing save, or allow me to create a new one for testing purposes? I am kind of anxious about the idea of overwriting my current Commander.
Will this overwrite my existing save, or allow me to create a new one for testing purposes? I am kind of anxious about the idea of overwriting my current Commander.
You have normal access to the F2 screen, but no others. So you can save or load any commander file, start a new game, or exit Oolite. If you remove Save and Jump OXP, games saved using it will just load normally, with the player docked at the station of the system they were leaving. There's no need to be concerned about it creating unreadable save files.
Here are all the data Save and Jump saves: immediately prior to the witchspace jump starting, it over-rides the system name like this:
Immediately after the jump, it changes the system name back, and deletes the mission variable. Nothing else is stored in the save file. The only reason for over-riding the system name temporarily is so the player knows what to expect when later re-loading the saved game.
Edit: Finally was able to save and jump. The Readme and description in this thread did not make it clear that I woulld have to stay on the F5 status screen until the jump countdown had finished.
10:11:41.956 [testscript.spawn]: Generated 8 asteroid for testing purposes.
10:11:41.985 [testscript.spawn]: Generated 10 renegadevenomtest for testing purposes.
10:12:08.587 [Save and Jump]: Checking for save before jump...
10:12:10.636 [Deep Horizon - Systems]: Galaxy ID is: 0. System ID is: 55
10:12:10.871 [aquatics_populator]: Hammerhead hauler added to the Leesti system by populator script.
10:12:10.878 [aquatics_populator]: System platform near the Leesti station.
10:12:13.774 [screenshot.filenameExists]: Snapshot "Explorers_Club_snapshot_of_Leesti.png.png" already exists - adding numerical sequence.
10:12:13.774 [screenshot]: Saved screen shot "Explorers_Club_snapshot_of_Leesti-001.png" (1920 x 1018 pixels).
10:12:14.198 [explorer_club.js]: Snapshot on arrival successful taken - call back removed normally.
10:12:17.456 [station.launchShip.failed]: Cancelled launch for a Titan with role police, as it is too large for the docking port of the Leesti High.
10:17:42.836 [testscript.spawn]: Generated 8 asteroid for testing purposes.
10:17:42.836 [testscript.spawn]: Generated 10 renegadevenomtest for testing purposes.
10:19:46.100 [testscript.spawn]: Generated 8 asteroid for testing purposes.
10:19:46.100 [testscript.spawn]: Generated 10 renegadevenomtest for testing purposes.
10:48:57.896 [testscript.spawn]: Generated 8 asteroid for testing purposes.
10:48:57.896 [testscript.spawn]: Generated 10 renegadevenomtest for testing purposes.
10:48:57.908 [aquatics_populator]: Hammerhead hauler added to the Leesti system by populator script.
10:48:57.916 [aquatics_populator]: System platform near the Leesti station.
10:55:01.586 [Save and Jump]: Checking for save before jump...
10:55:04.552 [Deep Horizon - Systems]: Galaxy ID is: 0. System ID is: 255
10:55:07.490 [screenshot]: Saved screen shot "Explorers_Club_snapshot_of_Orerve.png" (1920 x 1018 pixels).
10:55:07.816 [ai.takeAction]: Jaguar Company: Wingman 1420 to take action pauseAI: 5
11:19:13.660 [ai.takeAction]: Jaguar Company: Wingman 1421 to take action performEscort
11:19:16.290 [Save and Jump]: Checking for save before jump...
11:19:16.359 [ai.message.receive]: AI interceptAI.plist for Jaguar Company: Wingman 1420 in state 'ATTACK_SHIP' receives message 'PLAYER WITCHSPACE'. Context: global message, stack depth: 0
11:19:16.359 [ai.takeAction]: Jaguar Company: Wingman 1420 to take action setStateTo: PLAYER_WITCHSPACE
11:19:16.359 [ai.message.receive]: AI interceptAI.plist for Jaguar Company: Wingman 1420 in state 'ATTACK_SHIP' receives message 'EXIT'. Context: changing state, stack depth: 1
11:19:16.359 [ai.message.receive]: AI interceptAI.plist for Jaguar Company: Wingman 1420 in state 'PLAYER_WITCHSPACE' receives message 'ENTER'. Context: changing state, stack depth: 1
In none of these instances was I able to access the Save screen, nor prompted to do so, by pressing either F2 or the 2 key. OXPs used are as follows:
11:51:43.538 [ai.takeAction]: Jaguar Company: Wingman 238 to take action performEscort
11:51:45.269 [Save and Jump]: Checking for save before jump...
11:51:45.337 [ai.message.receive]: AI jaguar_company_leaderAI.plist for Jaguar Company: Leader 235 in state 'HEAD_FOR_PLANET' receives message 'PLAYER WITCHSPACE'. Context: global message, stack depth: 0
11:51:45.337 [ai.message.receive]: AI jaguar_company_wingmanAI.plist for Jaguar Company: Wingman 236 in state 'FLYING_ESCORT' receives message 'PLAYER WITCHSPACE'. Context: global message, stack depth: 0
11:51:45.337 [ai.message.receive]: AI jaguar_company_wingmanAI.plist for Jaguar Company: Wingman 237 in state 'FLYING_ESCORT' receives message 'PLAYER WITCHSPACE'. Context: global message, stack depth: 0
11:51:45.337 [ai.message.receive]: AI jaguar_company_wingmanAI.plist for Jaguar Company: Wingman 238 in state 'FLYING_ESCORT' receives message 'PLAYER WITCHSPACE'. Context: global message, stack depth: 0
11:51:45.898 [Deep Horizon - Systems]: Galaxy ID is: 0. System ID is: 204
11:51:45.923 [aquatics_populator]: Hammerhead hauler added to the Oresqu system by populator script.
11:51:45.931 [aquatics_populator]: System platform near the Oresqu station.
11:51:48.638 [screenshot.filenameExists]: Snapshot "Explorers_Club_snapshot_of_Oresqu.png.png" already exists - adding numerical sequence.
11:51:48.638 [screenshot]: Saved screen shot "Explorers_Club_snapshot_of_Oresqu-004.png" (1916 x 1018 pixels).
11:51:48.980 [explorer_club.js]: Snapshot on arrival successful taken - call back removed normally.
11:52:02.752 [gameController.exitApp]: .GNUstepDefaults synchronized.
Closing log at 2012-07-15 11:52:02 +0200.
During the countdown to a jump, change views to the status (F5) screen, otherwise the jump will proceed normally, with no pause. Once the jump begins, Oolite will pause to allow you to save your game - you should see the current system name on the status screen change from e.g. "Lave" to "Leaving Lave for Zaonce".
- and you're pressing F5 first, then H, expecting the pause to happen when the countdown begins? If so, then no.
Press H to start the countdown, then press F5 before the countdown reaches 1 second. All the logs you posted show that the countdown ended and failed the very first test: either you were not on the status (F5) screen, or you were at red alert (something was shooting at you).
You cannot use Save and Jump during a red alert, e.g. during combat, as that would be a cheat that enabled players to save a commander that was in imminent danger of being destroyed. This is analogous to the way Oolite won't allow you to use docking computers during a red alert.
This is what you should be finding in your Latest.log:-
14:58:16.533 [Save and Jump]: Checking for save before jump...
14:58:16.533 [Save and Jump]: Status screen shown, saving requested.
14:58:16.533 [Save and Jump]: Checking for sufficient fuel...
14:58:16.535 [Save and Jump]: Passed check for sufficient fuel.
14:58:16.535 [Save and Jump]: Checking for nearby masses...
14:58:16.536 [Save and Jump]: Passed check for nearby masses.
Edit: Finally was able to save and jump. The Readme and description in this thread did not make it clear that I woulld have to stay on the F5 status screen until the jump countdown had finished.
Here are the relevant Latest.log bits from that time:
12:29:44.291 [station.launchShip.failed]: Cancelled launch for a Titan with role defense_ship, as it is too large for the docking port of the Torus Station - Tradecenter.
12:32:00.127 [testscript.spawn]: Generated 8 asteroid for testing purposes.
12:32:00.128 [testscript.spawn]: Generated 10 renegadevenomtest for testing purposes.
12:32:37.171 [Save and Jump]: Checking for save before jump...
12:32:37.171 [Save and Jump]: Status screen shown, saving requested.
12:32:37.171 [Save and Jump]: Checking for sufficient fuel...
12:32:37.172 [Save and Jump]: Passed check for sufficient fuel.
12:32:37.172 [Save and Jump]: Checking for nearby masses...
12:32:37.172 [Save and Jump]: Nearby mass will probably cause jump to fail. Save before jump obviated.
12:32:56.887 [Save and Jump]: Checking for save before jump...
12:32:56.887 [Save and Jump]: Status screen shown, saving requested.
12:32:56.887 [Save and Jump]: Checking for sufficient fuel...
12:32:56.888 [Save and Jump]: Passed check for sufficient fuel.
12:32:56.888 [Save and Jump]: Checking for nearby masses...
12:32:56.888 [Save and Jump]: Nearby mass will probably cause jump to fail. Save before jump obviated.
12:33:26.136 [Save and Jump]: Checking for save before jump...
12:33:26.137 [Save and Jump]: Status screen shown, saving requested.
12:33:26.137 [Save and Jump]: Checking for sufficient fuel...
12:33:26.137 [Save and Jump]: Passed check for sufficient fuel.
12:33:26.137 [Save and Jump]: Checking for nearby masses...
12:33:26.138 [Save and Jump]: Nearby mass will probably cause jump to fail. Save before jump obviated.
12:33:50.252 [Save and Jump]: Checking for save before jump...
12:33:50.252 [Save and Jump]: Status screen shown, saving requested.
12:33:50.252 [Save and Jump]: Checking for sufficient fuel...
12:33:50.253 [Save and Jump]: Passed check for sufficient fuel.
12:33:50.253 [Save and Jump]: Checking for nearby masses...
12:33:50.254 [Save and Jump]: Nearby mass will probably cause jump to fail. Save before jump obviated.
12:34:08.935 [Save and Jump]: Checking for save before jump...
12:34:08.935 [Save and Jump]: Status screen shown, saving requested.
12:34:08.935 [Save and Jump]: Checking for sufficient fuel...
12:34:08.936 [Save and Jump]: Passed check for sufficient fuel.
12:34:08.936 [Save and Jump]: Checking for nearby masses...
12:34:08.936 [Save and Jump]: Passed check for nearby masses.
12:34:14.391 [testscript.spawn]: Generated 8 asteroid for testing purposes.
12:34:14.392 [testscript.spawn]: Generated 10 renegadevenomtest for testing purposes.
12:34:18.985 [Deep Horizon - Systems]: Galaxy ID is: 0. System ID is: 113
12:36:22.233 [Save and Jump]: Checking for save before jump...
12:36:22.233 [Save and Jump]: Status screen shown, saving requested.
12:36:22.233 [Save and Jump]: Checking for sufficient fuel...
12:36:22.234 [Save and Jump]: Passed check for sufficient fuel.
12:36:22.234 [Save and Jump]: Checking for nearby masses...
12:36:22.234 [Save and Jump]: Passed check for nearby masses.
12:36:26.423 [testscript.spawn]: Generated 8 asteroid for testing purposes.
12:36:26.423 [testscript.spawn]: Generated 10 renegadevenomtest for testing purposes.
12:36:26.465 [aquatics_populator]: Hammerhead hauler added to the Leaving Erlaza For Zaalela system by populator script.
12:36:26.480 [aquatics_populator]: System platform near the Leaving Erlaza For Zaalela station.
12:36:31.943 [Deep Horizon - Systems]: Galaxy ID is: 0. System ID is: 201
12:36:31.955 [aquatics_populator]: Hammerhead hauler added to the Zaalela system by populator script.
12:36:35.012 [screenshot.filenameExists]: Snapshot "Explorers_Club_snapshot_of_Zaalela.png.png" already exists - adding numerical sequence.
12:36:35.012 [screenshot]: Saved screen shot "Explorers_Club_snapshot_of_Zaalela-002.png" (1920 x 1018 pixels).
Don't be rude, of course it works. I said right up there that it works. I have just uploaded version 0.4, which won't leave messages in your Latest.log file any more. One caveat: if you've got pending arrival reports - scooped escape pods, passenger or cargo contracts ending in the current system - they'll cause trouble if you try to save and jump out of the system before you've docked normally and seen them.
I just discovered another caveat of the OXP: because it overwrites the condition entry in descriptions.plist it may interfere with language localization OXPs (it does interfere with my German localization).
I don't actually use the OXP. I can't actually remember why I installed it, probably to test it for some reason. Anyway, I forgot to remove it, and have not had German conditions since.