Skip to content

Commit

Permalink
Vita: merge v1.20 changes
Browse files Browse the repository at this point in the history
  • Loading branch information
usineur committed Oct 13, 2019
2 parents 9c9ba22 + 12942c0 commit 60e84de
Show file tree
Hide file tree
Showing 33 changed files with 333 additions and 98 deletions.
5 changes: 4 additions & 1 deletion SDLPoP.ini
Expand Up @@ -226,7 +226,7 @@ fix_exit_door = true
; Turn on customization options.
; Below, you can change individual options.
; NB. If use_custom_options is set to 'false', the options below are not used.
use_custom_options = false
use_custom_options = true

; Starting minutes left. (default = 60)
; To disable the time limit completely, set this to -1.
Expand Down Expand Up @@ -440,6 +440,9 @@ victory_stops_time_level = 13
win_level = 14
win_room = 5

; Number of ticks to wait before a loose floor falls. (default = 11)
loose_floor_delay = 11


; The following customization options can be used in all level sections:
; level_type = 0: dungeon, 1: palace
Expand Down
25 changes: 20 additions & 5 deletions doc/ChangeLog.txt
Expand Up @@ -3,20 +3,20 @@ For recent changes, look at GitHub: https://github.com/NagyD/SDLPoP/commits/mast

2012 July 28
============
Released disassembly of PoP1 DOS: http://forum.princed.org/viewtopic.php?p=11347#p11347
Released disassembly of PoP1 DOS: https://forum.princed.org/viewtopic.php?p=11347#p11347

2013 September 01
=================
I posted the room-drawing code (rewritten to C+SDL) in the forum.
http://forum.princed.org/viewtopic.php?f=68&t=3368
https://forum.princed.org/viewtopic.php?f=68&t=3368

2013 December
=============
Started rewriting the further parts of the disassembly to C.

2014 January 03
===============
Released disassembly: http://forum.princed.org/viewtopic.php?p=14291#p14291
Released disassembly: https://forum.princed.org/viewtopic.php?p=14291#p14291

2014 January
============
Expand All @@ -31,13 +31,13 @@ Made the code compatible with GNU/Linux.
2014 July 11
============
First public mention of the port.
http://forum.princed.org/viewtopic.php?p=14975#p14975
https://forum.princed.org/viewtopic.php?p=14975#p14975

2014 July 21
============
(version 1.00)
The first public release.
http://forum.princed.org/viewtopic.php?f=69&t=3512
https://forum.princed.org/viewtopic.php?f=69&t=3512

2014 July 22
============
Expand Down Expand Up @@ -524,3 +524,18 @@ FIXED: Made the exit door fix configurable.
DONE: Added support for PC speaker sounds. Use command-line parameter "stdsnd".
DONE: Added support for colored torch flames.
FIXED: Torches appearing in the leftmost column are now animated. (They are actually in the rightmost column of the left-side room.)

2019 October 13
=================
(version 1.20)

FIXED: Fixed crash on Linux when the prince fell out of the level while a guard was active.
FIXED: With start_in_blind_mode enabled, moving objects were not displayed until blind mode was toggled off+on.
FIXED: Fix upside-down screen when using PRINCE.EXE from v1.3 or v1.4.
FIXED: Tell Windows that SDLPoP is DPI aware to prevent unwanted stretching.
DONE: Added customization option for loose floor delay. (Used in Neon Persia.)
FIXED: Fix detection of "allow triggering any tile" hack.
DONE: Enable use_custom_options by default in the INI.
FIXED: Fix priorities of sword and spike sounds. (As in PoP 1.3.)
The "spiked" sound didn't interrupt the normal spikes sound when the prince ran into spikes.
With PoP 1.3 sounds, the "guard hurt" sound didn't play when you hit a guard directly after parrying.
2 changes: 1 addition & 1 deletion doc/README-SDL.txt
Expand Up @@ -9,5 +9,5 @@ The Simple DirectMedia Layer library source code is available from:
https://www.libsdl.org/

This library is distributed under the terms of the zlib license:
http://www.zlib.net/zlib_license.html
https://www.zlib.net/zlib_license.html

11 changes: 6 additions & 5 deletions doc/Readme.txt
Expand Up @@ -33,7 +33,7 @@ Contributors:
* usineur (faster music loading)
* yaqxsw (icon)

Forum board: http://forum.princed.org/viewforum.php?f=126
Forum board: https://forum.princed.org/viewforum.php?f=126
GitHub: https://github.com/NagyD/SDLPoP

GENERAL
Expand All @@ -44,14 +44,14 @@ A: This is an open-source port/conversion of the DOS game Prince of Persia.
It is based on the disassembly of the original PoP1 for DOS.

Q: Where can I download that disassembly?
A: Here: http://forum.princed.org/viewtopic.php?f=68&t=3423
A: Here: https://forum.princed.org/viewtopic.php?f=68&t=3423
Scroll down to the newest zip files.
The exact version is PoP 1.0, i.e. pop1_ida.zip .
(But I also added some features from later versions.)

Sources that helped in making the disassembly:
* Modifications to prince.exe (hex editing) topic in the PoPUW forum.
- That forum is down, you can find some saved posts here: http://forum.princed.org/viewtopic.php?f=73&t=661
- That forum is down, you can find some saved posts here: https://forum.princed.org/viewtopic.php?f=73&t=661
- HTamas posted the dungeon wall drawing algorithm in C-style pseudocode here, along with many hex-edit hacks.
- It was his work that prompted me to start the disassembly and later SDLPoP. Thank you!
* PoP1 Technical Information by Mechner: https://www.popot.org/documentation.php?doc=OldDocuments
Expand Down Expand Up @@ -83,7 +83,7 @@ Mac OS X:
Thanks to StaticReturn and Poirot for this!

eComStation (OS/2):
Unofficial binaries were posted here: http://forum.princed.org/viewtopic.php?p=18431#p18431
Unofficial binaries were posted here: https://forum.princed.org/viewtopic.php?p=18431#p18431
Alternate link: http://hobbes.nmsu.edu/h-search.php?key=sdlpop
Or you can compile for yourself using gcc, according to that post.
Thanks to digi@os2.snc.ru for the bugfixes!
Expand Down Expand Up @@ -120,6 +120,7 @@ Controlling the kid:
* shift+left/right: careful step
* home or up+left: jump left
* page up or up+right: jump right
* shift while falling: grab onto ledge
You can also use the numeric keypad.

Gamepad equivalents:
Expand Down Expand Up @@ -236,7 +237,7 @@ You can also enable or disable gameplay fixes through the in-game menu.
Furthermore, SDLPoP opens up new possibilities for mod making.
For example:
Falcury released a mod, called "Secrets of the Citadel" that "has been designed to be played using a modified version of SDLPoP".
Description and download: http://forum.princed.org/viewtopic.php?f=73&t=3664
Description and download: https://forum.princed.org/viewtopic.php?f=73&t=3664
Alternate link: https://www.popot.org/custom_levels.php?mod=0000153

Since version 1.16, there is support for fake tiles, for example walls that the prince can go through.
Expand Down
2 changes: 1 addition & 1 deletion doc/bugs.txt
Expand Up @@ -408,7 +408,7 @@ FIXED: Made compatible with 64-bit.
To be extra sure, I also added some compile time asserts about the sizes of all types that are used in the DAT files.
--- 2014-08-10
FIXED: If color 0 of a palette was not black, then it was not transparent.
For example, in Lost In The Forest ( http://www.popot.org/custom_levels.php?mod=0000082 ).
For example, in Lost In The Forest ( https://www.popot.org/custom_levels.php?mod=0000082 ).
FIXED: PNGs with alpha channel are drawn properly.
--- 2014-08-23
FIXED: make_loose_fall():
Expand Down
8 changes: 4 additions & 4 deletions doc/gpl-3.0.txt
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Expand Down Expand Up @@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

Expand All @@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.

The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
2 changes: 1 addition & 1 deletion src/CMakeLists.txt
Expand Up @@ -91,7 +91,7 @@ else()
# NOTE: Currently, the SDL2 and SDL2_image frameworks are not being correctly included/linked in the bundle!
# As long as this isn't fixed, these bundles will only work if SDL2 and SDL2_image are installed.

set (SDLPoP_VERSION "1.19")
set (SDLPoP_VERSION "1.20")
set (MACOSX_BUNDLE_INFO_STRING ${PROJECT_NAME})
set (MACOSX_BUNDLE_ICON_FILE "icon.icns")
set_source_files_properties(${MACOSX_BUNDLE_ICON_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
Expand Down
4 changes: 2 additions & 2 deletions src/GPLv3.h
Expand Up @@ -13,7 +13,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
The authors of this program may be contacted at http://forum.princed.org
The authors of this program may be contacted at https://forum.princed.org
*/
4 changes: 2 additions & 2 deletions src/common.h
Expand Up @@ -13,9 +13,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
The authors of this program may be contacted at http://forum.princed.org
The authors of this program may be contacted at https://forum.princed.org
*/

#ifndef COMMON_H
Expand Down
11 changes: 7 additions & 4 deletions src/config.h
Expand Up @@ -13,9 +13,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
The authors of this program may be contacted at http://forum.princed.org
The authors of this program may be contacted at https://forum.princed.org
*/

#ifndef CONFIG_H
Expand All @@ -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.19"
#define SDLPOP_VERSION "1.20"
#define WINDOW_TITLE "Prince of Persia (SDLPoP) v" SDLPOP_VERSION

// Enable or disable fading.
Expand Down Expand Up @@ -92,7 +92,7 @@ The authors of this program may be contacted at http://forum.princed.org

// Bugfixes:

// The mentioned tricks can be found here: http://www.popot.org/documentation.php?doc=Tricks
// The mentioned tricks can be found here: https://www.popot.org/documentation.php?doc=Tricks

// If a room is linked to itself on the left, the closing sounds of the gates in that room can't be heard.
#define FIX_GATE_SOUNDS
Expand Down Expand Up @@ -193,6 +193,9 @@ The authors of this program may be contacted at http://forum.princed.org
// By jumping towards one of the bottom corners of the room and grabbing a ledge, you can teleport to the room above.
#define FIX_HANG_ON_TELEPORT

// Fix priorities of sword and spike sounds. (As in PoP 1.3.)
#define FIX_SOUND_PRIORITIES


// Debug features:

Expand Down
4 changes: 2 additions & 2 deletions src/data.c
Expand Up @@ -13,9 +13,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
The authors of this program may be contacted at http://forum.princed.org
The authors of this program may be contacted at https://forum.princed.org
*/

#include "common.h"
Expand Down
66 changes: 63 additions & 3 deletions src/data.h
Expand Up @@ -13,9 +13,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
The authors of this program may be contacted at http://forum.princed.org
The authors of this program may be contacted at https://forum.princed.org
*/

#ifndef DATA_H
Expand Down Expand Up @@ -419,7 +419,66 @@ extern trob_type trobs[30];
// data:431A
extern short redraw_height;
// data:24DA
extern /*const*/ byte sound_interruptible[] INIT(= {0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0});
extern /*const*/ byte sound_interruptible[] INIT(= {
0, // sound_0_fell_to_death
1, // sound_1_falling
1, // sound_2_tile_crashing
1, // sound_3_button_pressed
1, // sound_4_gate_closing
1, // sound_5_gate_opening
0, // sound_6_gate_closing_fast
1, // sound_7_gate_stop
1, // sound_8_bumped
1, // sound_9_grab
1, // sound_10_sword_vs_sword
1, // sound_11_sword_moving
1, // sound_12_guard_hurt
1, // sound_13_kid_hurt
0, // sound_14_leveldoor_closing
0, // sound_15_leveldoor_sliding
1, // sound_16_medium_land
1, // sound_17_soft_land
0, // sound_18_drink
1, // sound_19_draw_sword
1, // sound_20_loose_shake_1
1, // sound_21_loose_shake_2
1, // sound_22_loose_shake_3
1, // sound_23_footstep
0, // sound_24_death_regular
0, // sound_25_presentation
0, // sound_26_embrace
0, // sound_27_cutscene_2_4_6_12
0, // sound_28_death_in_fight
1, // sound_29_meet_Jaffar
0, // sound_30_big_potion
0, // sound_31
0, // sound_32_shadow_music
0, // sound_33_small_potion
0, // sound_34
0, // sound_35_cutscene_8_9
0, // sound_36_out_of_time
0, // sound_37_victory
0, // sound_38_blink
0, // sound_39_low_weight
0, // sound_40_cutscene_12_short_time
0, // sound_41_end_level_music
0, // sound_42
0, // sound_43_victory_Jaffar
0, // sound_44_skel_alive
0, // sound_45_jump_through_mirror
0, // sound_46_chomped
1, // sound_47_chomper
0, // sound_48_spiked
0, // sound_49_spikes
0, // sound_50_story_2_princess
0, // sound_51_princess_door_opening
0, // sound_52_story_4_Jaffar_leaves
0, // sound_53_story_3_Jaffar_comes
0, // sound_54_intro_music
0, // sound_55_story_1_absence
0, // sound_56_ending_music
0
});
// data:42ED
extern byte curr_tilepos;
// data:432A
Expand Down Expand Up @@ -742,6 +801,7 @@ extern custom_options_type custom_defaults INIT(= {
.victory_stops_time_level = 13,
.win_level = 14,
.win_room = 5,
.loose_floor_delay = 11,
// data:02B2
.tbl_level_type = {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0},
// 1.3
Expand Down
4 changes: 2 additions & 2 deletions src/lighting.c
Expand Up @@ -13,9 +13,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
The authors of this program may be contacted at http://forum.princed.org
The authors of this program may be contacted at https://forum.princed.org
*/

#include "common.h"
Expand Down
4 changes: 2 additions & 2 deletions src/main.c
Expand Up @@ -13,9 +13,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
The authors of this program may be contacted at http://forum.princed.org
The authors of this program may be contacted at https://forum.princed.org
*/

#include "common.h"
Expand Down

0 comments on commit 60e84de

Please sign in to comment.