pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

SDLPoP: update to SDLPoP-1.18



Module Name:	pkgsrc-wip
Committed By:	Yorick Hardy <yorickhardy%gmail.com@localhost>
Pushed By:	yhardy
Date:		Sun Mar 18 16:37:49 2018 +0200
Changeset:	ce5f8ebd3a88d82b2b713b9aa6887492a1b99ebf

Modified Files:
	SDLPoP/Makefile
	SDLPoP/PLIST
	SDLPoP/distinfo
	SDLPoP/patches/patch-options.c
	SDLPoP/patches/patch-seg009.c

Log Message:
SDLPoP: update to SDLPoP-1.18

2018 March 17
=================
(version 1.18)

FIXED: Fixed allow_triggering_any_tile hack to work with stuck-closed chompers.
DONE: Linux: Added .desktop file and make install/uninstall.
DONE: Added option to enable lighting.
ADDED: You can make screenshots, both manually with a key or automatically from the command line.
ADDED: You can also make screenshots of the whole level.
ADDED: Whole-level screenshots can optionally show extra info, like door events.
ADDED: You can also start level 0 (demo) and level 15 (potions) from the command line.
ADDED: Automatically switch to keyboard or joystick/gamepad mode if there is input from that device.
FIXED: Fixed indentation (use tabs) and alignment (use spaces).
FIXED: Fixed compiling with MSVC and improve build scripts.
FIXED: On Windows, use Unicode/UTF-8 (instead of the current codepage) for replay filenames and directory names.
FIXED: Fixed the quicksave note in the splash: save = F6, load = F9.
FIXED: Ctrl+S now also mutes music.
FIXED: Fixed implicit-function-declaration warnings. (implemented by @Rondom)
DONE: Use 8-bit audio samples as a workaround if using older (buggy) SDL2 versions (older than 2.0.4).
FIXED: Removed redefinition of SDL_COMPILE_TIME_ASSERT.
FIXED: Add (back) SDL_Joystick interface because not all joysticks are SDL_Controller compatible. (implemented by @vanfanel)
DONE: Convert waves to mixer sounds when they are loaded, not when they are first played. (suggested by @vanfanel)
FIXED: Updated Readme.txt - fix macOS instructions.
DONE: Added option to force pixel perfect scaling (integer scale factors).
FIXED: Show level number when cycling between replays with Tab.
DONE: Added option to change scaling method (sharp, fuzzy, blurry).
FIXED: Improved the accuracy of timers.
DONE: The debug timer (press T while running with debug cheats on) is now drawn transparently.
DONE: The left-to-right animation in the intro now runs at a fixed speed (instead of being CPU limited).
DONE: Added in-game menu (press Escape or Backspace) with ability to change settings while in-game.
CHANGE: Removed the startup prompt to enable or disable fixes/enhancements (no longer needed).
FIXED: Fixed turning off music not working.
DONE: Added option for disabling and enabling all customization options at once.
DONE: Added option for changing the mods directory (where the game looks for custom levelsets).
DONE: Added fix for hidden floors in level 12 not appearing until after the flashing stops.
FIXED: Removed colored rectangles around hitpoints and the shadow, when using Brain's SNES graphics.
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.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=ce5f8ebd3a88d82b2b713b9aa6887492a1b99ebf

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 SDLPoP/Makefile                |  2 +-
 SDLPoP/PLIST                   | 26 +++--------------
 SDLPoP/distinfo                | 12 ++++----
 SDLPoP/patches/patch-options.c | 26 ++++++++---------
 SDLPoP/patches/patch-seg009.c  | 64 ++++++++++--------------------------------
 5 files changed, 39 insertions(+), 91 deletions(-)

diffs:
diff --git a/SDLPoP/Makefile b/SDLPoP/Makefile
index f6483a1ef2..56f608b6b5 100644
--- a/SDLPoP/Makefile
+++ b/SDLPoP/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-DISTNAME=	SDLPoP-1.17
+DISTNAME=	SDLPoP-1.18
 CATEGORIES=	games
 MASTER_SITES=	${MASTER_SITE_GITHUB:=NagyD/}
 GITHUB_TAG=	v${PKGVERSION_NOREV}
diff --git a/SDLPoP/PLIST b/SDLPoP/PLIST
index 0c2cba1a73..be5a1de284 100644
--- a/SDLPoP/PLIST
+++ b/SDLPoP/PLIST
@@ -373,6 +373,9 @@ share/sdlpop/data/LEVELS/res2012.bin
 share/sdlpop/data/LEVELS/res2013.bin
 share/sdlpop/data/LEVELS/res2014.bin
 share/sdlpop/data/LEVELS/res2015.bin
+share/sdlpop/data/MIDISND1.DAT
+share/sdlpop/data/MIDISND2.DAT
+share/sdlpop/data/PRINCE/res1.bin
 share/sdlpop/data/PRINCE/res10.bin
 share/sdlpop/data/PRINCE/res150.pal
 share/sdlpop/data/PRINCE/res151.png
@@ -1050,26 +1053,5 @@ share/sdlpop/data/levels-test/04-through-tapestry
 share/sdlpop/data/levels-test/05-stacked-gates
 share/sdlpop/data/levels-test/07-jump
 share/sdlpop/data/levels-test/12-shadow
-share/sdlpop/data/music/cutscene_before_2_4_6_12.ogg
-share/sdlpop/data/music/cutscene_before_8_9.ogg
-share/sdlpop/data/music/cutscene_not_much_time_left.ogg
-share/sdlpop/data/music/embrace.ogg
-share/sdlpop/data/music/end_level_4_and_killed_by_shadow.ogg
-share/sdlpop/data/music/fight_death.ogg
-share/sdlpop/data/music/find_mirror_and_find_shadow.ogg
-share/sdlpop/data/music/floating.ogg
-share/sdlpop/data/music/guard_death_and_obtaining_the_sword.ogg
-share/sdlpop/data/music/intro_theme.ogg
-share/sdlpop/data/music/killed_Jaffar.ogg
-share/sdlpop/data/music/life_potion.ogg
-share/sdlpop/data/music/meet_Jaffar.ogg
+share/sdlpop/data/light.png
 share/sdlpop/data/music/names.txt
-share/sdlpop/data/music/out_of_time.ogg
-share/sdlpop/data/music/potion.ogg
-share/sdlpop/data/music/regular_death.ogg
-share/sdlpop/data/music/story_1_absence.ogg
-share/sdlpop/data/music/story_2_princess.ogg
-share/sdlpop/data/music/story_3_Jaffar_enters.ogg
-share/sdlpop/data/music/story_4_Jaffar_leaves.ogg
-share/sdlpop/data/music/story_5_level_end_and_merge_with_shadow.ogg
-share/sdlpop/data/music/won.ogg
diff --git a/SDLPoP/distinfo b/SDLPoP/distinfo
index 80a168e28d..117f7742fc 100644
--- a/SDLPoP/distinfo
+++ b/SDLPoP/distinfo
@@ -1,8 +1,8 @@
 $NetBSD$
 
-SHA1 (SDLPoP-1.17.tar.gz) = 9d59aa14d65f1785705501bb6b2b3e47b77d35f8
-RMD160 (SDLPoP-1.17.tar.gz) = 5eb96831418bf95db75d095984a3674620b6fc94
-SHA512 (SDLPoP-1.17.tar.gz) = d5b401501bdb9e8e0c22cd25793a5e10bfe4788b2579d6a7d04b2fdca09e44de92290a1041856fa4b26940e1fc869e17a0bec434eba8a8122b5d0066bd6edf35
-Size (SDLPoP-1.17.tar.gz) = 3713129 bytes
-SHA1 (patch-options.c) = 900a69e65dce262a0635c1ea98b9432e069750d6
-SHA1 (patch-seg009.c) = 08f1bc7e897432174d91dcc7ea2a1c9fe3b35f58
+SHA1 (SDLPoP-1.18.tar.gz) = 6b55c8a755516b7b45bfef96c0a4b448dec10846
+RMD160 (SDLPoP-1.18.tar.gz) = 2fcf7f210439cdcd1eb61b215bf04c9191f359d0
+SHA512 (SDLPoP-1.18.tar.gz) = 87ce02d17da24382f0dab83ad813a0af6c484985074af0b33b1782b1c77f203e33a2827b4bbbda0230b716c98e27085fd9deb377901d638ddd83cc6dfb5afc62
+Size (SDLPoP-1.18.tar.gz) = 614607 bytes
+SHA1 (patch-options.c) = 4893d9e271587927bb449f23f976b98956cc653b
+SHA1 (patch-seg009.c) = 0ac07e6e004cb3fd4061c72b4bc3358456f0131c
diff --git a/SDLPoP/patches/patch-options.c b/SDLPoP/patches/patch-options.c
index 2856e4c9ac..d520ff26e6 100644
--- a/SDLPoP/patches/patch-options.c
+++ b/SDLPoP/patches/patch-options.c
@@ -3,24 +3,24 @@ $NetBSD$
 Use installed data path.
 Disable rumble/haptic support.
 
---- src/options.c.orig	2017-02-05 07:38:56.000000000 +0000
+--- src/options.c.orig	2018-03-17 16:33:14.000000000 +0000
 +++ src/options.c
-@@ -207,7 +207,8 @@ static int global_ini_callback(const cha
- 		process_word("pop_window_width", &pop_window_width, NULL);
- 		process_word("pop_window_height", &pop_window_height, NULL);
+@@ -185,7 +185,8 @@ static int global_ini_callback(const cha
  		process_boolean("use_correct_aspect_ratio", &use_correct_aspect_ratio);
--        process_boolean("enable_controller_rumble", &enable_controller_rumble);
-+        // process_boolean("enable_controller_rumble", &enable_controller_rumble);
-+        enable_controller_rumble = 0;
-         process_boolean("joystick_only_horizontal", &joystick_only_horizontal);
+ 		process_boolean("use_integer_scaling", &use_integer_scaling);
+ 		process_byte("scaling_type", &scaling_type, &scaling_type_names_list);
+-		process_boolean("enable_controller_rumble", &enable_controller_rumble);
++		// process_boolean("enable_controller_rumble", &enable_controller_rumble);
++		enable_controller_rumble = 0;
+ 		process_boolean("joystick_only_horizontal", &joystick_only_horizontal);
+ 		process_int("joystick_threshold", &joystick_threshold, NULL);
  
-         if (strcasecmp(name, "levelset") == 0) {
-@@ -369,7 +370,7 @@ static int mod_ini_callback(const char *
- }
+@@ -436,7 +437,7 @@ void set_options_to_default() {
  
  void load_global_options() {
--    ini_load("SDLPoP.ini", global_ini_callback); // global configuration
-+    ini_load(PKGSRC_DATA_PATH "SDLPoP.ini", global_ini_callback); // global configuration
+ 	set_options_to_default();
+-	ini_load(locate_file("SDLPoP.ini"), global_ini_callback); // global configuration
++	ini_load(PKGSRC_DATA_PATH "SDLPoP.ini", global_ini_callback); // global configuration
  }
  
  void check_mod_param() {
diff --git a/SDLPoP/patches/patch-seg009.c b/SDLPoP/patches/patch-seg009.c
index 3dd243a931..35b98b15ae 100644
--- a/SDLPoP/patches/patch-seg009.c
+++ b/SDLPoP/patches/patch-seg009.c
@@ -3,59 +3,25 @@ $NetBSD$
 Use installed data path.
 Disable rumble/haptic support.
 
---- src/seg009.c.orig	2017-02-05 07:38:56.000000000 +0000
+--- src/seg009.c.orig	2018-03-17 16:33:14.000000000 +0000
 +++ src/seg009.c
-@@ -152,7 +152,7 @@ static FILE* open_dat_from_root_or_data_
- 	// if failed, try if the DAT file can be opened in the data/ directory, instead of the main folder
- 	if (fp == NULL) {
- 		char data_path[POP_MAX_PATH];
--		snprintf(data_path, sizeof(data_path), "data/%s", filename);
-+		snprintf(data_path, sizeof(data_path), "%s/data/%s", PKGSRC_DATA_PATH, filename);
+@@ -34,8 +34,8 @@ void sdlperror(const char* header) {
+ 	//quit(1);
+ }
  
- 		// verify that this is a regular file and not a directory (otherwise, don't open)
- 		struct stat path_stat;
-@@ -1644,7 +1644,7 @@ const int max_sound_id = 58;
- char** sound_names = NULL;
+-char exe_dir[POP_MAX_PATH] = ".";
+-bool found_exe_dir = false;
++char *exe_dir = PKGSRC_DATA_PATH;
++bool found_exe_dir = true;
  
- void load_sound_names() {
--	const char* names_path = "data/music/names.txt";
-+	const char* names_path = PKGSRC_DATA_PATH "data/music/names.txt";
- 	if (sound_names != NULL) return;
- 	FILE* fp = fopen(names_path,"rt");
- 	if (fp==NULL) return;
-@@ -1692,7 +1692,7 @@ sound_buffer_type* load_sound(int index)
- 				const char* ext=exts[i];
- 				struct stat info;
- 
--				snprintf(filename, sizeof(filename), "data/music/%s.%s", sound_name(index), ext);
-+				snprintf(filename, sizeof(filename), "%s/data/music/%s.%s", PKGSRC_DATA_PATH, sound_name(index), ext);
- 				// Skip nonexistent files:
- 				if (stat(filename, &info))
- 					continue;
-@@ -1933,7 +1933,7 @@ int __pascal far check_sound_playing() {
- // seg009:38ED
- void __pascal far set_gr_mode(byte grmode) {
+ void find_exe_dir() {
+ 	if (found_exe_dir) return;
+@@ -2108,7 +2108,7 @@ void __pascal far set_gr_mode(byte grmod
+ 	SDL_SetHint(SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING, "1");
+ #endif
  	if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER | SDL_INIT_NOPARACHUTE |
--				 SDL_INIT_GAMECONTROLLER | SDL_INIT_HAPTIC ) != 0) {
-+				 SDL_INIT_GAMECONTROLLER ) != 0) {
+-	             SDL_INIT_GAMECONTROLLER | SDL_INIT_HAPTIC ) != 0) {
++	             SDL_INIT_GAMECONTROLLER ) != 0) {
  		sdlperror("SDL_Init");
  		quit(1);
  	}
-@@ -1957,7 +1957,7 @@ void __pascal far set_gr_mode(byte grmod
- 										  pop_window_width, pop_window_height, flags);
- 	renderer_ = SDL_CreateRenderer(window_, -1 , SDL_RENDERER_ACCELERATED );
- 
--	SDL_Surface* icon = IMG_Load("data/icon.png");
-+	SDL_Surface* icon = IMG_Load(PKGSRC_DATA_PATH "data/icon.png");
- 	if (icon == NULL) {
- 		sdlperror("Could not load icon");
- 	} else {
-@@ -2109,7 +2109,7 @@ void load_from_opendats_metadata(int res
- 			if (len >= 5 && filename_no_ext[len-4] == '.') {
- 				filename_no_ext[len-4] = '\0'; // terminate, so ".DAT" is deleted from the filename
- 			}
--			snprintf(image_filename,sizeof(image_filename),"data/%s/res%d.%s",filename_no_ext, resource_id, extension);
-+			snprintf(image_filename,sizeof(image_filename),"%s/data/%s/res%d.%s", PKGSRC_DATA_PATH, filename_no_ext, resource_id, extension);
- 			if (!use_custom_levelset) {
- 				//printf("loading (binary) %s",image_filename);
- 				fp = fopen(image_filename, "rb");


Home | Main Index | Thread Index | Old Index