Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1 | pmbaty | 1 | Change log and history. |
| 2 | For recent changes, look at GitHub: https://github.com/NagyD/SDLPoP/commits/master |
||
| 3 | |||
| 4 | 2012 July 28 |
||
| 5 | ============ |
||
| 6 | Released disassembly of PoP1 DOS: http://forum.princed.org/viewtopic.php?p=11347#p11347 |
||
| 7 | |||
| 8 | 2013 September 01 |
||
| 9 | ================= |
||
| 10 | I posted the room-drawing code (rewritten to C+SDL) in the forum. |
||
| 11 | http://forum.princed.org/viewtopic.php?f=68&t=3368 |
||
| 12 | |||
| 13 | 2013 December |
||
| 14 | ============= |
||
| 15 | Started rewriting the further parts of the disassembly to C. |
||
| 16 | |||
| 17 | 2014 January 03 |
||
| 18 | =============== |
||
| 19 | Released disassembly: http://forum.princed.org/viewtopic.php?p=14291#p14291 |
||
| 20 | |||
| 21 | 2014 January |
||
| 22 | ============ |
||
| 23 | Most rewriting is done. |
||
| 24 | I started to find and fix the (many!) bugs. |
||
| 25 | Most of them resulted from the mis-reading of the disassembly. |
||
| 26 | |||
| 27 | 2014 May 29 |
||
| 28 | =========== |
||
| 29 | Made the code compatible with GNU/Linux. |
||
| 30 | |||
| 31 | 2014 July 11 |
||
| 32 | ============ |
||
| 33 | First public mention of the port. |
||
| 34 | http://forum.princed.org/viewtopic.php?p=14975#p14975 |
||
| 35 | |||
| 36 | 2014 July 21 |
||
| 37 | ============ |
||
| 38 | (version 1.00) |
||
| 39 | The first public release. |
||
| 40 | http://forum.princed.org/viewtopic.php?f=69&t=3512 |
||
| 41 | |||
| 42 | 2014 July 22 |
||
| 43 | ============ |
||
| 44 | (version 1.01) |
||
| 45 | Fixed bugs: |
||
| 46 | FIXED: Game is too fast for a short time after switching rooms. (Or restarting the level) |
||
| 47 | FIXED: Cutscenes fade too fast without COMPAT_TIMER |
||
| 48 | FIXED: Andrew: "New rooms take quite some time to be drawn, with the screen being blank in-between" |
||
| 49 | FIXED: If the mouse cursor leaves/enters the window, the game does as if the pressed keys were released. |
||
| 50 | New feature: |
||
| 51 | DONE: Hide cursor in fullscreen. |
||
| 52 | |||
| 53 | 2014 July 23 |
||
| 54 | ============ |
||
| 55 | Fixed bugs: |
||
| 56 | FIXED: Keys did not repeat themselves. |
||
| 57 | Needed for keys like "+" and "-". |
||
| 58 | FIXED: Starting a new game after winning a previous one makes all texts in the game blue instead of white. |
||
| 59 | |||
| 60 | 2014 July 24 |
||
| 61 | ============ |
||
| 62 | Fixed bugs: |
||
| 63 | FIXED: When the screen is flashing, there may be black rectangles around the moving objects. |
||
| 64 | FIXED: Can't do level 7 trick. |
||
| 65 | |||
| 66 | 2014 August 01 |
||
| 67 | ============== |
||
| 68 | New feature: |
||
| 69 | DONE: Support LEVELS.DAT |
||
| 70 | |||
| 71 | 2014 August 04 |
||
| 72 | ============== |
||
| 73 | Fixed bugs: |
||
| 74 | FIXED: Can't interrupt fading of title screen. |
||
| 75 | FIXED: (Micro Palace, level 12) If kid is on the very left (in bottom row), then shadow is in wrong direction (looking left), and is constantly turning around. |
||
| 76 | |||
| 77 | 2014 August 05 |
||
| 78 | ============== |
||
| 79 | (version 1.02) |
||
| 80 | (Contains all fixes listed above) |
||
| 81 | |||
| 82 | 2014 August 06 |
||
| 83 | ============== |
||
| 84 | FIXED: (Micro Palace, level 4) After kid enters exit door, chomper bites kid. |
||
| 85 | FIXED: shadow is partially green when he is looking to the right |
||
| 86 | FIXED: (Prince of Wateria, level 5 room 3) (palace) Empty potion has red bubbles. |
||
| 87 | DONE: Support all .DAT files |
||
| 88 | |||
| 89 | 2014 August 07 |
||
| 90 | ============== |
||
| 91 | (version 1.03) |
||
| 92 | (Contains all fixes listed above) |
||
| 93 | |||
| 94 | 2014 August 08 |
||
| 95 | ============== |
||
| 96 | (version 1.04) |
||
| 97 | FIXED: Made compatible with 64-bit. |
||
| 98 | |||
| 99 | 2014 August 10 |
||
| 100 | ============== |
||
| 101 | FIXED: If color 0 of a palette was not black, then it was not transparent. |
||
| 102 | FIXED: PNGs with alpha channel are drawn properly. |
||
| 103 | |||
| 104 | 2014 August 11 |
||
| 105 | ============== |
||
| 106 | (version 1.05) |
||
| 107 | (Contains all fixes listed above) |
||
| 108 | |||
| 109 | 2014 August 23 |
||
| 110 | ============== |
||
| 111 | FIXED: When fighting, parry-attack-parry-attack-... sequences stop when the guard attacks. |
||
| 112 | |||
| 113 | 2014 August 24 |
||
| 114 | ============== |
||
| 115 | (version 1.06) |
||
| 116 | DONE: Sound timing (slow-fall and intro needs this) |
||
| 117 | DONE: Background color of texts in intro and ending |
||
| 118 | FIXED: prandom(): initialize from current time |
||
| 119 | |||
| 120 | 2014 August 28 |
||
| 121 | ============== |
||
| 122 | (version 1.07) |
||
| 123 | FIXED: Under Linux, the game hanged randomly, because the main timer sometimes didn't generate its event. |
||
| 124 | FIXED: Removed the "Would play sound", "length =", "set_char_collision" and "Loading chtab" messages. |
||
| 125 | Those were annoying and possibly slowed the game down. |
||
| 126 | FIXED: Level 12: If I enter the last room while the music is still "playing", then the game does not advance to level 13. |
||
| 127 | And quits with error: Tried to load cutscene for level 26, not in 0..15 |
||
| 128 | FIXED: Level 12->13 transition should not restore full HP or show level number. |
||
| 129 | FIXED: Displaying text is visibly slow on some systems. |
||
| 130 | |||
| 131 | 2014 September 05 |
||
| 132 | ================= |
||
| 133 | FIXED: Pressing "K" on a skeleton crashes the game. |
||
| 134 | |||
| 135 | 2014 September 22 |
||
| 136 | ================= |
||
| 137 | (version 1.08) |
||
| 138 | DONE: Digi sounds (only from DAT) |
||
| 139 | |||
| 140 | 2014 September 23 |
||
| 141 | ================= |
||
| 142 | FIXED: The game quits in the intro, when Jaffar opens the door. |
||
| 143 | |||
| 144 | 2014 September 25 |
||
| 145 | ================= |
||
| 146 | FIXED: When doing the level 5 trick (backing through the gate), the kid appears in the room to the *right* instead of left. |
||
| 147 | FIXED: Level 5: If you back out from the room where the guard is originally (but the screen is not switched), the kid might fall through the floor at the level door. |
||
| 148 | |||
| 149 | 2014 September 28 |
||
| 150 | ================= |
||
| 151 | (version 1.09) |
||
| 152 | (Contains all fixes listed above) |
||
| 153 | Renamed the project to SDLPoP. |
||
| 154 | DONE: Added version number to the window title. |
||
| 155 | |||
| 156 | 2014 October 11 |
||
| 157 | =============== |
||
| 158 | (version 1.10) |
||
| 159 | FIXED: Made the game compatible with Mac OS X, based on the suggestions by StaticReturn (from the Princed forum). |
||
| 160 | CHANGE: Now cheats are disabled by default unless the game is compiled in debug mode. |
||
| 161 | |||
| 162 | 2014 October 27 |
||
| 163 | =============== |
||
| 164 | CHANGE: Added a font inside the exe. So the game can start without the data/font/ folder. |
||
| 165 | CHANGE: Changed project type to GUI. This means that the (empty) console window won't appear under Windows. |
||
| 166 | CHANGE: Changed "SDL" to "SDLPoP" in the window title. |
||
| 167 | |||
| 168 | 2014 October 28 |
||
| 169 | =============== |
||
| 170 | (version 1.11) |
||
| 171 | (Contains all changes listed above) |
||
| 172 | |||
| 173 | 2014 December 3 |
||
| 174 | =============== |
||
| 175 | FIXED: When doing Trick 95, the kid might bounce back from the wall a bit. |
||
| 176 | |||
| 177 | 2014 December 20 |
||
| 178 | ================ |
||
| 179 | (version 1.12) |
||
| 180 | FIXED: Don't quit if there is no sound device available. |
||
| 181 | Instead, just disable digi sound. |
||
| 182 | This can happen, for example, on a Raspberry PI emulator (QEMU). |
||
| 183 | |||
| 184 | 2015 February 13 |
||
| 185 | ================ |
||
| 186 | (version 1.13) |
||
| 187 | Added support for music. |
||
| 188 | Fixed some memory leaks. |
||
| 189 | |||
| 190 | 2015 February 16 |
||
| 191 | ================ |
||
| 192 | (version 1.14) |
||
| 193 | FIXED: Changed project type to GUI in the "release" project, too. |
||
| 194 | FIXED: Ctrl-S did not turn off mixer sounds. |
||
| 195 | FIXED: Ctrl-S did not stop currently playing sounds. |
||
| 196 | DONE: Toggle fullscreen with alt-enter. |
||
| 197 | FIXED: If the game is in full screen, and I switch away (alt-tab) and back, most of the screen will be black, until it is redrawn. |
||
| 198 | |||
| 199 | 2015 August 3 |
||
| 200 | ============= |
||
| 201 | (version 1.15) |
||
| 202 | |||
| 203 | General changes: |
||
| 204 | DONE: Migration from SDL1 to SDL2. |
||
| 205 | DONE: Game is now displayed at full resolution in fullscreen mode. |
||
| 206 | DONE: Window can now be resized. |
||
| 207 | DONE: Basic joystick support added. |
||
| 208 | DONE: Music files (*.ogg) are now bundled with the release. |
||
| 209 | CHANGE: Window is now displayed at 640 by 400 pixels by default. |
||
| 210 | CHANGE: Cleaned up harmless sound load errors. |
||
| 211 | CHANGE: Sound names are now read from file only once when sounds are loaded. |
||
| 212 | CHANGE: During loading of DAT files, read failures are now checked and reported. |
||
| 213 | CHANGE: More cleanly handle failures to read/write HOF file. |
||
| 214 | CHANGE: Improved reporting for known-failing loads. |
||
| 215 | CHANGE: Pass size of resource area instead of letting it get overridden. |
||
| 216 | CHANGE: The screen is now updated less frequently. |
||
| 217 | CHANGE: Tweaked timer behaviour. The game now attempts to correct for timer-related overhead somewhat, preventing screen updates lagging behind the monitor's refresh rate. |
||
| 218 | FIXED: Flashes are now displayed with a more consistent duration. |
||
| 219 | FIXED: Shift+L skipping cutscenes immediately is now prevented by a short delay timer. |
||
| 220 | FIXED: Fixed bug with flashes not repainting the screen upside down in flipped mode. |
||
| 221 | FIXED: Hardcoded font (hc_font) appeared as white rectangles. |
||
| 222 | |||
| 223 | New game additions and bug fixes: |
||
| 224 | DONE: Added quicksaving and quickloading (F6 to quicksave anywhere in a level, F9 to quickload). |
||
| 225 | - Also quicksave/quickload when shift is pressed |
||
| 226 | - Do not even attempt to quicksave after the kid has died |
||
| 227 | - Deny quicksave during the feather fall effect |
||
| 228 | - Allow quickloading from the title screen |
||
| 229 | FIXED: Prevented index to redraw_frames_above[] going out of bounds in set_redraw2(), triggered by loose tiles dropping out of the room from the rightmost column. This caused unpredictable behaviour, depending on the compiler. |
||
| 230 | FIXED: Fixed a bug where level doors would continue to open infinitely far when the global variable leveldoor_open has been modified due to special events or due to another level door being already open. |
||
| 231 | FIXED: Fixed the kid being able to enter closed level doors when there is another one open. |
||
| 232 | FIXED: Fixed a graphical bug occurring when the level start door is raised from the same room. |
||
| 233 | FIXED: Added optional fixes for a few gameplay quirks: |
||
| 234 | - Fix kid falling off the ledge when jumping after climbing two floors |
||
| 235 | - Fix "teleporting" four pixels further than necessary when climbing from firm ground while not in front of a wall |
||
| 236 | - Fix being able to survive lethal falls by jumping on top of a guard |
||
| 237 | - Fix triggering loose floors below by bumping into the wall above |
||
| 238 | - Enable the earlier fixes FIX_GATE_SOUNDS, FIX_TWO_COLL_BUG and FIX_INFINITE_DOWN_BUG. |
||
| 239 | - Fix temporarily standing on thin air when standing up on a falling loose tile |
||
| 240 | - Fix being able to press buttons through closed gates (Trick 1) |
||
| 241 | - Fix being able to grab ledges two stories down by bumping into a wall first |
||
| 242 | - Fix blood appearing on chompers when a skeleton is chomped |
||
| 243 | - Fix controls not being released during the drinking animation, causing unintended movement |
||
| 244 | - Add a way to crouch after climbing up (instead of climbing down again) by pressing down + forward |
||
| 245 | DONE: Increase the number of supported potion types to 32 |
||
| 246 | - Quickloading is cancelled when a version string saved in QUICKSAVE.SAV does not match. |
||
| 247 | - Added rem_min and rem_tick to the quicksaved variables. The proposed penalty for quickloading is one minute subtracted from the saved remaining time. |
||
| 248 | FIXED: A drawing bug occurs when a loose tile is placed to the left of a potion (or sword). |
||
| 249 | - Fix guards following through closed gates |
||
| 250 | - Freeze time during the end level music |
||
| 251 | - Add option for debug cheats |
||
| 252 | |||
| 253 | Build changes: |
||
| 254 | DONE: Source code of the project has been added to GitHub. |
||
| 255 | CHANGE: Cleaned up and updated Makefile. |
||
| 256 | CHANGE: Added CMakeLists.txt for building using a CMake-based project model. |
||
| 257 | CHANGE: Added main.cpp and "extern C" declarations to allow compilation with a C++ compiler. |
||
| 258 | FIXED: Resolved warnings about multi-string literals by using an enum instead. |
||
| 259 | |||
| 260 | Refactorings: |
||
| 261 | CHANGE: Lots of things have changed with the switch to SDL2. To read about game migration from SDL1 to SDL2 in general, the SDL wiki provides a good overview at https://wiki.libsdl.org/MigrationGuide |
||
| 262 | CHANGE: The key_states[] array now has a size of SDL_NUM_SCANCODES and is indexed by SDL scancodes. |
||
| 263 | CHANGE: Modifier keys are now handled cleanly. |
||
| 264 | CHANGE: Removed unnecessary stuff (leftovers from the disassembly, or debug statements) |
||
| 265 | CHANGE: Many identifiers have been changed to better ones. |
||
| 266 | CHANGE: Added named enums for sound IDs, char_type.sword, timer IDs, colors, character frames and sequences. |
||
| 267 | CHANGE: Replaced a number of magic numbers in the code with their enum equivalents. |
||
| 268 | CHANGE: Sequence table deobfuscation. |
||
| 269 | - Fix seqtbl not compiling correctly in release mode |
||
| 270 | |||
| 271 | License: |
||
| 272 | Added GPLv3 license (2015 June 27). |
||
| 273 | |||
| 274 | 2016 January 1 |
||
| 275 | ================ |
||
| 276 | (version 1.16) |
||
| 277 | |||
| 278 | DONE: Added ability to view or record replays. (See Readme.txt for information on how to use) |
||
| 279 | DONE: Added changing options without recompiling: use SDLPoP.ini to configure various options. |
||
| 280 | DONE: The game now prompts whether to enable game fixes and enhancements. (See Readme.txt or the forum topic for further details) |
||
| 281 | DONE: Gameplay fix added for safe landing on spikes (Trick 65). |
||
| 282 | DONE: Demo mode can now be used (use the command-line parameter "demo"): in this mode, only the first two levels will be playable, and quotes from magazine reviews will be displayed. |
||
| 283 | DONE: Added ability to draw fake and invisible walls/floors. (See forum topic for details) |
||
| 284 | DONE: Added support for 1.3-format wave sounds. |
||
| 285 | DONE: Added support for alternate level colors. (1.3) |
||
| 286 | DONE: Added the dialog box in the copy protection level. |
||
| 287 | CHANGE: Changed joystick cutoff point to 30000. |
||
| 288 | CHANGE: Added index and NULL checks to chtab reads. |
||
| 289 | CHANGE: Improved the gameplay fix for guards following through closed gates by checking for can_guard_see_kid == 2. Also added a test level. |
||
| 290 | CHANGE: Added collision data, Char and Opp to the list of quicksaved variables. |
||
| 291 | CHANGE: Removed Makefile.win from the Git repository. |
||
| 292 | CHANGE: Added !=NULL to check_param() calls. |
||
| 293 | CHANGE: Build fixes. |
||
| 294 | FIXED: Fixed crash upon drawing characters that have no glyphs, such as newline/carriage return. |
||
| 295 | FIXED: The open potion now gets placed correctly in the copy protection level. |
||
| 296 | FIXED: Fixed interrupting of fades and the speed of fading in cutscenes. |
||
| 297 | FIXED: Changed vertical centering of text to match the original. |
||
| 298 | FIXED: Fixed the order of numbers in the Shift+C cheat. |
||
| 299 | FIXED: Fixed the demo quotes disappearing too soon. |
||
| 300 | DONE: Added option to start fullscreen, change window dimensions in the INI file. |
||
| 301 | DONE: Better INI processing & new custom gameplay options. |
||
| 302 | FIXED: Fixed wall connections not working for fake tiles. |
||
| 303 | DONE: New options: max hitpoints, first & last level where saving is allowed. |
||
| 304 | DONE: Added per-level settings to INI and INI processing. |
||
| 305 | DONE: Added support for named values in the INI file. |
||
| 306 | DONE: Improved gamepad support. |
||
| 307 | DONE: Added support for displaying the game with the original 4:3 aspect ratio. |
||
| 308 | |||
| 309 | 2017 February 5 |
||
| 310 | ================= |
||
| 311 | (version 1.17) |
||
| 312 | |||
| 313 | General changes: |
||
| 314 | CHANGE: Moved source to src/. (That is, merged the with-folders branch into master.) |
||
| 315 | DONE: Moved OSX documentation to Readme.txt. Upgraded information there. Removed TODO text for the SDL2 port. |
||
| 316 | DONE: Added sources and fake tiles to Readme. |
||
| 317 | DONE: Added Markus installation method with brew install for OSX to the readme. |
||
| 318 | CHANGE: Updated OSX make command in Readme. |
||
| 319 | DONE: Updated forum link in Readme. |
||
| 320 | DONE: Added some contributors and thanks to the Readme. |
||
| 321 | DONE: Removed some old unneeded files. |
||
| 322 | DONE: Added comments to explain the available options in SDLPoP.ini |
||
| 323 | DONE: Add info on the "mod" command line option to doc/Readme.txt |
||
| 324 | DONE: Allow opening DAT files from the data/ directory as well; Moved DAT files to data/ to clean up the main folder. |
||
| 325 | CHANGE: Folders in the data/ directory no longer have the .DAT extension, so they can coexist with .DAT files. |
||
| 326 | FIXED: Removed Dev-C++ note from Linux Makefile. |
||
| 327 | FIXED: Use Mix_Music instead of Mix_Chunk to play music files. This reduces loading time. (contributed by @usineur) |
||
| 328 | FIXED: Fixed Dávid's name in the header comments. |
||
| 329 | DONE: Added an icon. |
||
| 330 | |||
| 331 | Miscellaneous game additions, changes, bug fixes: |
||
| 332 | CHANGE: Let time just run when quickloading immediately after quicksave |
||
| 333 | FIXED: Changed the RGB/BGR hack: check whether SDL2 bug occurs before applying RGB24 workaround. |
||
| 334 | FIXED: Fixed fake tiles randomly appeared in place of the disappearing sword. |
||
| 335 | FIXED: Fixed crashing on certain custom DAT files. |
||
| 336 | FIXED: Don't crash if some (or all) data files are missing. |
||
| 337 | CHANGE: Increased sound buffer size to remove noise. |
||
| 338 | CHANGE: Increased sound output settings to CD quality. (That is: 44100 Hz, 16-bit, Stereo.) |
||
| 339 | FIXED: Audio: Changed 16-bit to signed. (@vanfanel wrote this is needed on the Raspberry PI.) |
||
| 340 | FIXED: Fixed bug (and compiler warning) in redraw_at_cur_mob(). (Reported by @petervas.) |
||
| 341 | CHANGE: Change default of use_fixes_and_enhancements to false |
||
| 342 | FIXED: Don't repeat Alt+Enter. |
||
| 343 | FIXED: Alt+Enter should not un-pause the game. |
||
| 344 | CHANGE: Debug timer: display in top left corner, toggle with T |
||
| 345 | FIXED: Added a way to enable debug cheats: use command-line parameter "debug" |
||
| 346 | FIXED: Do not accept filenames as valid command-line parameters in check_param() |
||
| 347 | FIXED: Reduced flickering when text is drawn. |
||
| 348 | DONE: Added info screen shown at startup, with some explanation about SDLPoP. |
||
| 349 | FIXED: Fixed quickload penalty being applied even after time has stopped (after Jaffar has been killed) |
||
| 350 | FIXED: Fixed guards sometimes turning around immediately after quickloading (because is_guard_notice is not set to zero) |
||
| 351 | FIXED: Silenced warnings being printed about image 255, after entering an exit door. |
||
| 352 | FIXED: Fixed graphics bug with SDL 2.0.5 (contributed by @zaps166) |
||
| 353 | DONE: Added command-line parameter --version, -v: Display SDLPoP version and quit. |
||
| 354 | DONE: Added command-line parameter --help, -h: Display help and quit (points to the Readme). |
||
| 355 | DONE: Added command-line parameter seed=number: Set initial random seed, for testing. |
||
| 356 | |||
| 357 | Improved controller support: |
||
| 358 | DONE: Improved controller support; migrated to SDL_GameController API (reported by @EndeavourAccuracy). |
||
| 359 | DONE: Implemented two settings for joystick control: horizontal-only (default; idea and original implementation by @EndeavourAccuracy) and all-directional. |
||
| 360 | CHANGE: Controller: Remapped Quit to Start (was B). |
||
| 361 | DONE: Added haptic feedback (when the kid is hurt) for controllers with a rumble motor. |
||
| 362 | |||
| 363 | Support for playing mods/custom levelsets: |
||
| 364 | DONE: Added ability to organise mods into their own directories |
||
| 365 | DONE: Use a custom configuration file (mod.ini) for each mod |
||
| 366 | DONE: Allow choosing a levelset from the command line; usage: prince mod "Mod Name" |
||
| 367 | CHANGE: Use a separate Hall of Fame file when playing a custom levelset |
||
| 368 | CHANGE: Use a separate QUICKSAVE.SAV / PRINCE.SAV when playing a custom levelset |
||
| 369 | |||
| 370 | New customization/modding features: |
||
| 371 | DONE: CusPop option: start upside down |
||
| 372 | DONE: CusPop option: start in blind mode (slightly buggy) |
||
| 373 | DONE: CusPop option: set level before which the copy protection level appears |
||
| 374 | DONE: CusPop option: set up edges of the level |
||
| 375 | DONE: CusPop option: enable dungeon WDA in palace environment |
||
| 376 | DONE: Allow disabling the time limit completely (by setting 'start_minutes_left' to -1 in SDLPoP.ini) |
||
| 377 | DONE: When time is unlimited, show how much time has passed instead of how much time is remaining |
||
| 378 | DONE: CusPop option: change the hard-coded color palette |
||
| 379 | DONE: CusPop option: change the first level (starting level) |
||
| 380 | DONE: CusPop option: skip title sequence |
||
| 381 | DONE: CusPop option: set up effect of Shift+L in non-cheat mode |
||
| 382 | DONE: CusPop option: set up cutscenes |
||
| 383 | |||
| 384 | Replay improvements: |
||
| 385 | CHANGE: Replays get saved to the replays/ directory, have more recognizable names, and are played back in reverse creation order. |
||
| 386 | DONE: Allow changing the folder where replays are kept. |
||
| 387 | CHANGE: The replay format was changed -- older replays will no longer work! |
||
| 388 | CHANGE: Replay format: added magic number 0x50 0x31 0x52 ("P1R") |
||
| 389 | CHANGE: Replay format: replaced version strings with class, version and deprecation numbers that can be used to determine whether a replay is compatible. |
||
| 390 | CHANGE: Replay format: added the time of the recording (Unix time) to the replay format. |
||
| 391 | CHANGE: Replay format: added the name of the program that created the replay to the replay format. |
||
| 392 | CHANGE: Replay format: stored replay options are now split up into several sections. |
||
| 393 | CHANGE: Replay format: use 32-bit sizes independent of platform (32 or 64 bits). |
||
| 394 | CHANGE: Gameplay options are now stored differently in replays. |
||
| 395 | FIXED: Incompatible replays will be skipped in the cycle order. |
||
| 396 | FIXED: Added more informative error messages if a replay is incompatible. |
||
| 397 | FIXED: Fixed being unable to unpause while replaying. |
||
| 398 | FIXED: Fixed replays running out of sync when the end of a temporary effect is triggered by the music stopping (level 1 start, feather fall). |
||
| 399 | FIXED: Fixed several bugs that could cause crashes when a replay file is loaded. |
||
| 400 | DONE: Replay: show error message in a dialog box if replay loading failed. |
||
| 401 | DONE: Replay: stop the replay upon reaching the Princess room. |
||
| 402 | CHANGE: Don't play end level music while recording or replaying. (Reduces waiting time and improves reproducibility.) |
||
| 403 | DONE: Added a save dialog for replays. This replaces the automatically generated filenames for replays. Pressing Escape discards a replay. |
||
| 404 | DONE: Replay: start recording immediately if Ctrl+Tab pressed on the title screen. |
||
| 405 | DONE: When trying to quickload while recording, show the 'save replay' dialog. |
||
| 406 | FIXED: Fixed replay reproducibility across multiple levels. (Preserve the random seed to prevent going out-of-sync.) |
||
| 407 | DONE: Press F or Shift+F to skip forward through replays (F: skip to next room, Shift+F: skip to next level). |
||
| 408 | DONE: Added command-line option for validating replays, usage: prince validate "replays/replay.p1r" |
||
| 409 | |||
| 410 | Fixes for gameplay and drawing bugs, that are also present in the original Prince of Persia for DOS: |
||
| 411 | DONE: Added remembering guard hitpoints. (optional fix/enhancement) |
||
| 412 | FIXED: Fixed the kid being able to glide sideways through the top sections of walls/tapestries while in freefall. |
||
| 413 | FIXED: Fixed the kid dropping through tiles when dropping down from a tapestry. |
||
| 414 | FIXED: Fixed the landing animation aborting when landing against a gate or tapestry+floor instead of a wall. |
||
| 415 | FIXED: Fixed crashing from guards on level 14. |
||
| 416 | FIXED: Improved fix for "standing on thin air" bug. |
||
| 417 | FIXED: Fixed new falling bug caused by "glide through wall" fix, as well as a second wall glitch. |
||
| 418 | FIXED: Fixed unintended sword strike immediately after drawing sword. |
||
| 419 | FIXED: Fixed retreating out of a room without the room actually changing. |
||
| 420 | FIXED: Fixed running jump through tapestry. |
||
| 421 | DONE: Added test level for jumping through tapestry. |
||
| 422 | FIXED: Fixed guards being pushed into walls. |
||
| 423 | FIXED: Fixed jumping through a wall above a closed gate. |
||
| 424 | FIXED: Alternate fix for drawing bug when gates are stacked on top of each other. |
||
| 425 | FIXED: Alternate fix for drawing bug when climbing up to a floot with a big pillar top behind. |
||
| 426 | FIXED: Fixed chompers not starting when grabbing a ledge. |
||
| 427 | FIXED: Fixed offscreen guards not reappearing in adjacent rooms. |
||
| 428 | FIXED: Fixed feather fall effect being interrupted by a level door opening. |
||
| 429 | FIXED: Removed audible 'click' after the swinging sword sound. (contributed by @zaps166) |
||
| 430 | FIXED: Fixed unintended movement after putting the sword away (because controls do not get released properly). |
||
| 431 | |||
| 432 | Build changes, source code, refactoring: |
||
| 433 | DONE: OSX port upgraded from SDL to SDL2. Mixer library added in makefile and documentation. Tested. |
||
| 434 | DONE: Merged both makefiles. Now make is fully portable. |
||
| 435 | CHANGE: Updated CMakeLists.txt |
||
| 436 | FIXED: Removed duplicate const to avoid warnings in default gcc settings on OSX. Commented an always-true if. |
||
| 437 | DONE: Removed unneeded libraries from Dev-C++ projects. |
||
| 438 | DONE: Add OSX build configuration for CMake |
||
| 439 | FIXED: config: compile with USE_MIXER undefined |
||
| 440 | FIXED: Added extern to all variables in data.h. |
||
| 441 | FIXED: Removed duplicate definition of timer_stopped. |
||
| 442 | DONE: Also changed 0 to timer_0 where appropriate. |
||
| 443 | DONE: Visual C++ (NMake) support |
||
| 444 | CHANGE: Changed COUNT to sizeof in memset. |
||
| 445 | DONE: Added missing color ids, using the color names of the default EGA palette |
||
| 446 | CHANGE: Set minimum CMake version required to 2.8 |
||
| 447 | DONE: Added some comments in land(). |
||
| 448 | FIXED: Added range checks in load_frame(). |
||
| 449 | FIXED: Added newline at the end of error messages that didn't already have one. |
||
| 450 | FIXED: Make NMakefile and unistd_win.h non-executable |
||
| 451 | DONE: Add optimization level (O2) to Makefile, silence uninitialized warning |
||
| 452 | DONE: Remove CMakeLists.txt in root directory |
||
| 453 | DONE: Added optimization (-O2) to Dev-C++ release project as well. |
||
| 454 | DONE: Add .editorconfig |
||
| 455 | DONE: Added maximum path length macro POP_MAX_PATH set to 256 |
||
| 456 | CHANGE: Refactor so that HOF path is obtained from get_hof_path() |
||
| 457 | CHANGE: Refactor: removed options_type (replacement: options are stored using SDL_RWops streams). |
||
| 458 | DONE: Added new exceptions to .gitignore. |
||
| 459 | FIXED: Ignore replay options in SDLPoP.ini if USE_REPLAY is not defined |
||
| 460 | DONE: Added -std=gnu99 to the Dev-C++ project files. |
||
| 461 | |||
| 462 | (no release date yet) |
||
| 463 | ================= |
||
| 464 | (upcoming version) |
||
| 465 | |||
| 466 | FIXED: Fixed allow_triggering_any_tile hack to work with stuck-closed chompers. |
||
| 467 | DONE: Linux: Added .desktop file and make install/uninstall. |
||
| 468 | DONE: Added option to enable lighting. |
||
| 469 | ADDED: You can make screenshots, both manually with a key or automatically from the command line. |
||
| 470 | ADDED: You can also make screenshots of the whole level. |
||
| 471 | ADDED: Whole-level screenshots can optionally show extra info, like door events. |
||
| 472 | ADDED: You can also start level 0 (demo) and level 15 (potions) from the command line. |
||
| 473 | ADDED: Automatically switch to keyboard or joystick/gamepad mode if there is input from that device. |
||
| 474 | FIXED: Fixed indentation (use tabs) and alignment (use spaces). |
||
| 475 | FIXED: Fixed compiling with MSVC and improve build scripts. |
||
| 476 | FIXED: On Windows, use Unicode/UTF-8 (instead of the current codepage) for replay filenames and directory names. |
||
| 477 | FIXED: Fixed the quicksave note in the splash: save = F6, load = F9. |
||
| 478 | FIXED: Ctrl+S now also mutes music. |
||
| 479 | FIXED: Fixed implicit-function-declaration warnings. (implemented by @Rondom) |
||
| 480 | DONE: Use 8-bit audio samples as a workaround if using older (buggy) SDL2 versions (older than 2.0.4). |
||
| 481 | FIXED: Removed redefinition of SDL_COMPILE_TIME_ASSERT. |
||
| 482 | FIXED: Add (back) SDL_Joystick interface because not all joysticks are SDL_Controller compatible. (implemented by @vanfanel) |
||
| 483 | DONE: Convert waves to mixer sounds when they are loaded, not when they are first played. (suggested by @vanfanel) |
||
| 484 | FIXED: Updated Readme.txt - fix macOS instructions. |
||
| 485 | DONE: Added option to force pixel perfect scaling (integer scale factors). |
||
| 486 | FIXED: Show level number when cycling between replays with Tab. |