Hi,
thanks to much help from its author, Jeff Lait, POWDER successfully builds on Haiku.
The game is roguelike in nature and uses SDL on platforms like Windows/Mac/Linux/BeOS.
Running the binary from the source folder will give you these error messages you can safely ignore.
GCC4 nightlies need no change to source code and game is flawless.
Regular GCC2 users need to change the following files:
bmp2c.cpp in support/bmp2c
Change
is.open(name, ios_base::in | ios_base::binary);
to
is.open(name);
map2c.cpp in support/map2c
Add
#include <cctype>
to includes
buf.cpp in root folder
Change
int OURvsnprintf(char *str, size_t size, const char *format, va_list ap) { int result; #ifdef WIN32 result = _vsnprintf(str, size, format, ap); #else va_list ap_copy; // Apparently va_list can't be reused on modern compilers. Same // compilers require support for va_copy which older compilers // lack. *sigh* va_copy(ap_copy, ap); result = vsnprintf(str, size, format, ap_copy); va_end(ap_copy); #endif return result; }
to
int OURvsnprintf(char *str, size_t size, const char *format, va_list ap) { #ifdef WIN32 return _vsnprintf(str, size, format, ap); #else #ifdef USING_SDL int result; va_list ap_copy; // Apparently va_list can't be reused on modern compilers. Same // compilers require support for va_copy which older compilers // lack. *sigh* va_copy(ap_copy, ap); result = vsnprintf(str, size, format, ap_copy); va_end(ap_copy); return result; #else return vsnprintf(str, size, format, ap); #endif #endif }
The game has an annoying bug on GCC2: players, for now, cannot engage in melee action.
And that’s bad. Unless you decide to be an archer or wizard with plenty of magic missiles.
The likely culprit is action.cpp, actionBump() which is supposed to
fall through to actionAttack() in these cases. Might want to add some
formatAndReport() calls to track what code path it is taking…
Source code is available from the homepage.