SDLPoP; David's open-source port of PoP

Open-source port of PoP that runs natively on Windows, Linux, etc.

Moderator: English Moderator Team

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3072
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: SDLPoP; David's open-source port of PoP

Postby Norbert » March 2nd, 2017, 11:35 pm

I don't know about the blood on the chomper, but...

VGA wrote:I am trapped by a gate at the right


...just wait a while near the gate, and a mouse will come to help you. :)

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3072
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: SDLPoP; David's open-source port of PoP

Postby Norbert » March 14th, 2017, 8:25 pm

In episode 61 of The Retro Hour Podcast, they briefly mentioned SDLPoP and popot.org/our community. Starts at 18:54.
https://soundcloud.com/the-retro-hour/c ... -hour-ep61

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3072
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: SDLPoP; David's open-source port of PoP

Postby Norbert » August 9th, 2017, 8:30 pm

Hm... I suggest changing
"To quick load/save, press F6/F9 in-game."
to
"To quick save/load, press F6/F9 in-game."

Then the before/after matches, plus saving is the logical action before loading.

This is actually my bad, since I originally suggested the currently used line.

David
The Prince of Persia
The Prince of Persia
Posts: 1430
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: SDLPoP; David's open-source port of PoP

Postby David » August 12th, 2017, 9:40 am

Norbert wrote:Hm... I suggest changing
"To quick load/save, press F6/F9 in-game."
to
"To quick save/load, press F6/F9 in-game."

Then the before/after matches, plus saving is the logical action before loading.

Thanks, fixed: https://github.com/NagyD/SDLPoP/commit/19822f02c536f108ec170df1ea325692a139b3fd

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3072
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: SDLPoP; David's open-source port of PoP

Postby Norbert » September 5th, 2017, 7:31 pm

Not sure if it brings anything useful for SDLPoP, but there's now a prerelease of SDL 2.0.6:
https://discourse.libsdl.org/t/sdl-2-0-6-prerelease/

David
The Prince of Persia
The Prince of Persia
Posts: 1430
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: SDLPoP; David's open-source port of PoP

Postby David » September 9th, 2017, 10:30 am

Norbert wrote:Not sure if it brings anything useful for SDLPoP, but there's now a prerelease of SDL 2.0.6:
https://discourse.libsdl.org/t/sdl-2-0-6-prerelease/

I tried the new DLL, and at least there are no new bugs, like this one with SDL 2.0.4: viewtopic.php?p=18142#p18142
This is good, considering that a commenter wrote that SDL_mixer can't play anything with this new SDL.

Falcury
Wise Scribe
Wise Scribe
Posts: 309
Joined: June 25th, 2009, 10:01 pm

Re: SDLPoP; David's open-source port of PoP

Postby Falcury » September 12th, 2017, 6:32 pm

For me too the 2.0.6 pre-release seems to work well.
The DLL became a bit smaller as compared to 2.0.5, oddly.

Edit: Ran into the following problem when building SDLPoP with the new SDL version:

Code: Select all

In file included from C:\work\code\SDLPoP\src\common.h:38:0,
                 from C:\work\code\SDLPoP\src\seg000.c:21:
C:\work\code\SDLPoP\src\types.h:44:0: warning: "SDL_COMPILE_TIME_ASSERT" redefined
 #define SDL_COMPILE_TIME_ASSERT(name, x)               \
 
In file included from C:/work/libraries/SDL2-2.0.6/i686-w64-mingw32/include/SDL2/SDL_main.h:25:0,
                 from C:/work/libraries/SDL2-2.0.6/i686-w64-mingw32/include/SDL2/SDL.h:32,
                 from C:\work\code\SDLPoP\src\types.h:25,
                 from C:\work\code\SDLPoP\src\common.h:38,
                 from C:\work\code\SDLPoP\src\seg000.c:21:
C:/work/libraries/SDL2-2.0.6/i686-w64-mingw32/include/SDL2/SDL_stdinc.h:274:0: note: this is the location of the previous definition
 #define SDL_COMPILE_TIME_ASSERT(name, x)               \


At first I thought that the change from 2.0.5 to 2.0.6 must have been that they removed the #undef at the end of the header file where the SDL_COMPILE_TIME_ASSERT macro was defined. However, in the 2.0.5 headers, I also couldn't find the #undef anywhere.
So, I suspect that the #undef has been removed for some time now, and we haven't noticed up until now, because the C compiler silently accepts redefinitions.
The catch is, redefinitions are only accepted as long as the redefined macro stays exactly the same. And in SDL 2.0.6, the definition changed slightly:

Code: Select all

// SDL 2.0.5
#define SDL_COMPILE_TIME_ASSERT(name, x)               \
       typedef int SDL_dummy_ ## name[(x) * 2 - 1]
       
// SDL 2.0.6
#define SDL_COMPILE_TIME_ASSERT(name, x)               \
       typedef int SDL_compile_time_assert_ ## name[(x) * 2 - 1]


Suggested fix here:
https://github.com/NagyD/SDLPoP/pull/136

David
The Prince of Persia
The Prince of Persia
Posts: 1430
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: SDLPoP; David's open-source port of PoP

Postby David » September 17th, 2017, 9:45 am

Falcury wrote:Suggested fix here:
https://github.com/NagyD/SDLPoP/pull/136

I added some information about SDL_COMPILE_TIME_ASSERT in a comment.


Return to “SDLPoP”

Who is online

Users browsing this forum: No registered users and 1 guest