Skip to content

Commit

Permalink
Vita: merge all fixes of 1.18.1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
usineur committed Mar 24, 2018
2 parents 370f7f2 + 7be3fdf commit a2a3013
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 14 deletions.
8 changes: 8 additions & 0 deletions doc/ChangeLog.txt
Expand Up @@ -499,3 +499,11 @@ DONE: Added most of the missing CusPop customization options.
DONE: Added support for MIDI music.
FIXED: Fixed teleporting to the room above by grabbing a ledge (integer overflow bug).
FIXED: When playing back a recording, Alt+Tabbing back to SDLPoP stops the replay if Alt is released before Tab.

2018 March 24
=================
(version 1.18.1)

FIXED: Fixed the bug with the level 3 checkpoint.
FIXED: Fixed the bug in "Fix hang on teleport bug".
FIXED: Fixed the removed loose floor on level 3.
2 changes: 1 addition & 1 deletion src/config.h
Expand Up @@ -30,7 +30,7 @@ The authors of this program may be contacted at http://forum.princed.org
#define POP_MAX_PATH 256
#define POP_MAX_OPTIONS_SIZE 256

#define SDLPOP_VERSION "1.18"
#define SDLPOP_VERSION "1.18.1"
#define WINDOW_TITLE "Prince of Persia (SDLPoP) v" SDLPOP_VERSION

// Enable or disable fading.
Expand Down
4 changes: 2 additions & 2 deletions src/data.h
Expand Up @@ -697,12 +697,12 @@ extern custom_options_type custom_defaults INIT(= {
.intro_music_level = 1,
.have_sword_from_level = 2,
.checkpoint_level = 3,
.checkpoint_respawn_dir = 5,
.checkpoint_respawn_dir = dir_FF_left,
.checkpoint_respawn_room = 2,
.checkpoint_respawn_tilepos = 6,
.checkpoint_clear_tile_room = 7,
.checkpoint_clear_tile_col = 4,
.checkpoint_clear_tile_row = 4,
.checkpoint_clear_tile_row = 0,
.skeleton_level = 3,
.skeleton_room = 1,
.skeleton_trigger_column_1 = 2,
Expand Down
2 changes: 1 addition & 1 deletion src/seg000.c
Expand Up @@ -421,7 +421,7 @@ int quick_load() {
// Subtract one minute from the remaining time (if it is above 5 minutes)
if (enable_quicksave_penalty &&
// don't apply the penalty after time has already stopped!
(current_level < 13 || (current_level == 13 && leveldoor_open < 2))
(current_level < /*13*/ custom->victory_stops_time_level || (current_level == /*13*/ custom->victory_stops_time_level && leveldoor_open < 2))
) {
int ticks_elapsed = 720 * (rem_min - old_rem_min) + (rem_tick - old_rem_tick);
// don't restore time at all if the elapsed time is between 0 and 1 minutes
Expand Down
14 changes: 7 additions & 7 deletions src/seg002.c
Expand Up @@ -302,7 +302,7 @@ void __pascal far exit_room() {
if (exit_room_timer != 0) {
--exit_room_timer;
#ifdef FIX_HANG_ON_TELEPORT
if (!(fixes->fix_hang_on_teleport && Char.y >= 211))
if (!(fixes->fix_hang_on_teleport && Char.y >= 211 && Char.curr_row >= 2))
#endif
return;
}
Expand Down Expand Up @@ -487,7 +487,7 @@ void __pascal far Jaffar_exit() {
// seg002:0665
void __pascal far level3_set_chkp() {
// Special event: set checkpoint
if (current_level == /*3*/ custom->checkpoint_level && Char.room == 7) {
if (current_level == /*3*/ custom->checkpoint_level && Char.room == 7 /* TODO: add a custom option */) {
checkpoint = 1;
hitp_beg_lev = hitp_max;
}
Expand Down Expand Up @@ -519,9 +519,9 @@ void __pascal far play_mirr_mus() {
if (
leveldoor_open != 0 &&
leveldoor_open != 0x4D && // was the music played already?
current_level == 4 &&
Char.curr_row == 0 &&
Char.room == 11
current_level == /*4*/ custom->mirror_level &&
Char.curr_row == /*0*/ custom->mirror_row &&
Char.room == 11 /* TODO: add a custom option */
) {
play_sound(sound_25_presentation); // presentation (level 4 mirror)
leveldoor_open = 0x4D;
Expand Down Expand Up @@ -1016,9 +1016,9 @@ void __pascal far check_skel() {
set_redraw_full(curr_tilepos, 1);
set_wipe(curr_tilepos, 1);
Char.room = drawn_room;
Char.curr_row = 1;
Char.curr_row = /*1*/ custom->skeleton_row;
Char.y = y_land[Char.curr_row + 1];
Char.curr_col = 5;
Char.curr_col = /*5*/ custom->skeleton_column;
Char.x = x_bump[Char.curr_col + 5] + 14;
Char.direction = dir_FF_left;
seqtbl_offset_char(seq_88_skel_wake_up); // skel wake up
Expand Down
4 changes: 2 additions & 2 deletions src/seg006.c
Expand Up @@ -1745,10 +1745,10 @@ void __pascal far on_guard_killed() {
// demo level: after killing Guard, run out of room
checkpoint = 1;
demo_index = demo_time = 0;
} else if (current_level == 13) {
} else if (current_level == /*13*/ custom->jaffar_victory_level) {
// Jaffar's level: flash
flash_color = color_15_brightwhite; // white
flash_time = 18;
flash_time = /*18*/ custom->jaffar_victory_flash_time;
is_show_time = 1;
leveldoor_open = 2;
play_sound(sound_43_victory_Jaffar); // Jaffar's death
Expand Down
2 changes: 1 addition & 1 deletion src/seg008.c
Expand Up @@ -1707,7 +1707,7 @@ void __pascal far show_time() {
(!(rem_min == INT16_MIN && rem_tick == 1)) &&
#endif
rem_min != 0 &&
(current_level < 13 || (current_level == 13 && leveldoor_open == 0)) &&
(current_level < /*13*/ custom->victory_stops_time_level || (current_level == /*13*/ custom->victory_stops_time_level && leveldoor_open == 0)) &&
current_level < 15
) {
// Time passes
Expand Down

0 comments on commit a2a3013

Please sign in to comment.