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. |