jdolan / quetoo

Quetoo ("Q2") is a free first person shooter based on id Tech2. GPL v2 license.
http://quetoo.org
204 stars 28 forks source link

pdcurses vs ncurses #155

Closed smanolloff closed 8 years ago

smanolloff commented 8 years ago

Hi,

in order to compile this on OSX 10.8.2, I had to manually replace -lpdcurses with -lncurses in the below files:

./src/.libs/libconsole.la
./src/client/.libs/libclient.la
./src/client/libclient.la
./src/libconsole.la
./src/net/.libs/libnet.la
./src/net/libnet.la
./src/server/.libs/libserver.la
./src/server/libserver.la

I initially tried compiling pdcurses from here, but it only compiles for sdl1 and quetoo's make gave me ~10 errors (Symbol not found: _AudioUnitInitialize, etc -- stuff from sdl1 that got removed in sdl2)

Also, just as a note (it is caused by glibtoolize's hard-coded SED path): autoreconf -i had to be ran with SED=<path_to_gnu_sed> ....

After it, all went fine -- game runs very smoothly, nice work!

jdolan commented 8 years ago

Hi,

Wow, good find: https://github.com/jdolan/quetoo/blob/master/configure.ac#L132

If I had to guess, I'd wager that I hacked pdcurses in there for MinGW, and forgot to conditionalize it or something. I'm on OS X myself, but surprisingly, this hasn't broken my build.

Glad you like the game! You may want to checkout the nuclear-option branch to see the new menus that are in development. It'll require that you install:

And btw, do you have any interest in helping out with development? We're perpetually desperate for additional help ;) Find us in #quetoo on Freenode if so.

smanolloff commented 8 years ago

Glad I was able to help, I will give the nuclear-option it a try this week! Unfortunately, I do not code in C and I can't really help you with the dev part :/ I'd be more helpful as a "user", and I will do my best in this regard :)

jdolan commented 8 years ago

👍

jdolan commented 8 years ago

In looking at this more closely, I see that the check for pdcurses only takes place if the check for ncurses fails:

dnl -----------------
dnl Check for curses
dnl -----------------

PKG_CHECK_MODULES([CURSES], [ncurses >= 5.0],, [
    AC_CHECK_HEADER(curses.h,
        CURSES_LIBS="-lpdcurses",
        [AC_MSG_ERROR([Could not find curses.h, please install curses])]
    )
])

Your version of ncurses must not provide a pkg-config file. Is it from Homebrew? Mine is from Macports. Maybe that's the difference.

smanolloff commented 8 years ago

Yes, its from Homebrew, I don't use Macports.

jdolan commented 8 years ago

Yea, brew is definitely easier for most things. I only use Macports because it makes creating distributable builds simpler. Anyway, I'm going to close this out of that's okay.

smanolloff commented 8 years ago

👍 a small note in the readme would be great