Here is a new experimental build.
It includes:
- Options fully configurable in SDLPoP.ini
- Improvements to the replay viewing/capturing feature
- Some other small fixes
I also updated the ChangeLog and Readme files.
David wrote:Norbert wrote:In my opinion it should definitely be as the original game.
Right, I disabled all options whose name starts with "FIX_".
Do ALLOW_CROUCH_AFTER_CLIMBING and DISABLE_TIME_DURING_END_MUSIC also count as fixes?
I disabled them anyway.
I added a kill-switch to disable all gameplay tweaks in SDLPoP.ini: setting the topmost option (disable_all_fixes) to 'true' restores the exact original behavior. In this way, everyone should have full control I think?
Getting predictable behavior in replays then of course becomes an issue (when people use different options), but fortunately this is easily solved. The configuration gets remembered when you record a replay - therefore, viewing replays that were originally recorded with a different set-up should still work fine.
Norbert wrote:
- In the Makefile, replay.c should be replay.o.
- When compiling I see a warning about "missing braces around initializer" on line 133. This is probably a gcc
bug though.
I have fixed the Makefile and also added options.o (options.c contains the code to load the options from SDLPoP.ini).
I think I did made a mistake with the braces earlier - I used a union type with a struct embedded, so I think that's why the compiler expects double braces around the zero initializer.
Here is the text I proposed in Readme.txt:
[...]
Since version 1.16, you can turn gameplay fixes on or off in SDLPoP.ini.
To simply get the exact behavior of the original game, set the first option (disable_all_fixes) to 'true'.
However, you can also toggle individual fixes.
[...]
REPLAYS
=======
Q: How do replays work?
A:
Starting from version 1.16, you can capture or view replays in SDLPoP.
To start recording, press Ctrl+Tab while in game. To stop recording, press Ctrl+Tab again.
Your replays get saved in the SDLPoP folder as files with a .P1R extension (REPLAY_001.P1R, REPLAY_002.P1R, and so on).
To view a replay, you can press Tab while on the title screen.
The game then looks for replays with the REPLAY_XXX.P1R pattern and plays those in order (you can cycle by pressing Tab again).
You can also double-click on a replay file (and tell the OS that the file needs to be opened with the SDLPoP executable).
SDLPoP will then immediately play that replay. Dragging and dropping onto the executable also works.
Your settings specified in SDLPoP.ini (including whether you are playing with bugfixes on or off) are remembered in the replay.
It shouldn't matter how SDLPoP.ini is set up when you are viewing the replay later.
Note that any cheats you use do not get saved as part of the replay.
If you want to start recording on a specific level, you can use the command "prince.exe record <lvl_number>",
where <lvl_number> is the level on which you want to start.
Also beware that the format of the replay files is not yet final and may change in the future!
So it is possible that replays you record now will not work well in future versions.
Is this an acceptable way for the replay feature to work? Same for the options?
David, could you take a look at the
pull requests on GitHub?
Also, do you want to include the shrunk music files with the official download? They do not take up as much space as they did before.