Page 2 of 3

Posted: Fri Jul 21, 2006 3:43 pm
by Graf Zahl
SDL for Windows is garbage because it amputates the keyboard. No more international support and other limitations because fullscreen mode forces exclusive DirectInput handling for the keyboard with a hard coded English mapping - bad, very bad! One thing I like about ZDoom is that the console uses the system's keyboard settings, not English everywhere. With SDL you'd lose that like in any other Doom port.

It is painfully obvious that SDL comes from Unix/Linux.

Posted: Fri Jul 21, 2006 3:47 pm
by randi
Building with MinGW:
  1. Install MinGW.
  2. Install the latest version of w32api.
  3. Install the minimal DirectX 8 headers from Allegro.
  4. Download the Platform SDK from Microsoft so you can grab dbghelp.h -or- use the version of i_crash.cpp in the repository. W32api still doesn't come with dbghelp.h.
  5. Unzip the ZDoom source somewhere.
  6. Edit the Makefile and set FMODDIR to the directory where you installed FMOD.
  7. From a command line (not MSYS), CD to the directory where you unzipped the ZDoom source.
  8. Type "mingw32-make" and watch it go.
  9. If you are lucky, you now have a zdoomgcc.exe. If you are unlucky, you will run into command line length limits when it comes time to link. If that happens, you can try using MSYS instead.
Graf Zahl wrote:One thing I like about ZDoom is that the console uses the system's keyboard settings, not English everywhere.
And that was a very deliberate decision on my part, since I use Dvorak.

Posted: Fri Jul 21, 2006 3:49 pm
by Graf Zahl
Ugh... You really can work with that? :?

Posted: Fri Jul 21, 2006 3:51 pm
by randi
But of course. It took a little time to get used to, but no longer than it took to learn Qwerty. And I find it much easier on my wrists when I'm typing for a while.

Posted: Fri Jul 21, 2006 3:53 pm
by Jim
Graf Zahl wrote:SDL for Windows is garbage because it amputates the keyboard. No more international support and other limitations because fullscreen mode forces exclusive DirectInput handling for the keyboard with a hard coded English mapping - bad, very bad! One thing I like about ZDoom is that the console uses the system's keyboard settings, not English everywhere. With SDL you'd lose that like in any other Doom port.

It is painfully obvious that SDL comes from Unix/Linux.
I don't think the same can be said for the in-development SDL 1.3. It only seems to build completely in Windows at the moment. :shock: You can build it without video, last I checked. That will, of course, be fixed before it's released, but they just brushed me off when I pointed this out.

Posted: Sat Jul 22, 2006 4:58 am
by Hirogen2
randy wrote:[*]From a command line (not MSYS), CD to the directory where you unzipped the ZDoom source.
Hm, why not msys? After all, it's just a bash in an rxvt.

Posted: Sat Jul 22, 2006 11:50 am
by Necromage
randy wrote:Building with MinGW:
  1. Install MinGW.
  2. Install the latest version of w32api.
  3. Install the minimal DirectX 8 headers from Allegro.
  4. Download the Platform SDK from Microsoft so you can grab dbghelp.h -or- use the version of i_crash.cpp in the repository. W32api still doesn't come with dbghelp.h.
  5. Unzip the ZDoom source somewhere.
  6. Edit the Makefile and set FMODDIR to the directory where you installed FMOD.
  7. From a command line (not MSYS), CD to the directory where you unzipped the ZDoom source.
  8. Type "mingw32-make" and watch it go.
  9. If you are lucky, you now have a zdoomgcc.exe. If you are unlucky, you will run into command line length limits when it comes time to link. If that happens, you can try using MSYS instead.
Okay, I followed steps 1-6 (i didn't do 2 because while doing step one it automattically installed win32api-3.7 and when i looked at stuff advailiable on the site linked in step 2 it only had versions up to 3.6). Now my problem is that I don't quite understand 7 and 8. Now, I know that CD is the change directory command in dos but I don't understand how I am supposed to do this in the windows command line.

Posted: Sat Jul 22, 2006 12:21 pm
by Krillancello
Necromage wrote:
randy wrote:Building with MinGW:
  1. Install MinGW.
  2. Install the latest version of w32api.
  3. Install the minimal DirectX 8 headers from Allegro.
  4. Download the Platform SDK from Microsoft so you can grab dbghelp.h -or- use the version of i_crash.cpp in the repository. W32api still doesn't come with dbghelp.h.
  5. Unzip the ZDoom source somewhere.
  6. Edit the Makefile and set FMODDIR to the directory where you installed FMOD.
  7. From a command line (not MSYS), CD to the directory where you unzipped the ZDoom source.
  8. Type "mingw32-make" and watch it go.
  9. If you are lucky, you now have a zdoomgcc.exe. If you are unlucky, you will run into command line length limits when it comes time to link. If that happens, you can try using MSYS instead.
Okay, I followed steps 1-6 (i didn't do 2 because while doing step one it automattically installed win32api-3.7 and when i looked at stuff advailiable on the site linked in step 2 it only had versions up to 3.6). Now my problem is that I don't quite understand 7 and 8. Now, I know that CD is the change directory command in dos but I don't understand how I am supposed to do this in the windows command line.
Layman's Step 7: Start > Run; type "cmd" and press [Enter]; type "cd" and the directory you unzipped the ZD sources to, separated by a space (e.g. "cd C:\ZDoom\source")

Posted: Sat Jul 22, 2006 12:56 pm
by Necromage
Okay, I got that (luckly I figured out that it was actually "command" that you had to put in and not "cmd") and so now I am in the directory and I type "mingw32-make" and I get a "bad command or file name" error. So just to make sure, I get the source off the svn so the directory I think I should be in is in \trunk, which has all the makefiles and the vc solution files.

Posted: Sat Jul 22, 2006 1:15 pm
by Necromage
I figured it out, I needed the whole path name for mingw32-make but instead of compiling I got these errors:

Code: Select all

ccdv-posix.c:5:22: sys/wait.h: no such file in directory
ccdv-posix.c: In function 'slurpProgress':
ccdv-posix.c:95: error: 'fd_set' undeclared (first use in this function)
ccdv-posix.c:95: error: (Each undelcared identifier is reported only once
ccdv-posix.c:95: error: for each function it appears in.)
ccdv-posix.c:95: error: syntax error before "ss"
ccdv-posix.c:110: error: 'ss2' undeclared (fisrt use in this fucntion)
ccdv-posix.c:128: error: 'ss' undeclared (first use in this function)
ccdv-posix.c: In function 'main':
ccdv-posix.c:415: warning: passing arg 2 of 'execvp' from incompatible pointer type

Posted: Sat Jul 22, 2006 4:34 pm
by randi
Meh. The Makefiles can't automatically detect you're using Windows when you only have Windows 98, so it tries to build the Linux version instead. Type this before making:

Code: Select all

set OS2=Windows_NT

Posted: Sat Jul 22, 2006 6:02 pm
by Krillancello
Necromage wrote:Okay, I got that (luckly I figured out that it was actually "command" that you had to put in and not "cmd") and so now I am in the directory and I type "mingw32-make" and I get a "bad command or file name" error. So just to make sure, I get the source off the svn so the directory I think I should be in is in \trunk, which has all the makefiles and the vc solution files.
Both "command" and "cmd" work... depending on the system. It's been a very long time since I used Win98, but the newer NT-based systems (2k, XP & 2k3), I believe, have both available. :P

Posted: Sun Jul 23, 2006 1:18 pm
by Necromage
randy wrote:Meh. The Makefiles can't automatically detect you're using Windows when you only have Windows 98, so it tries to build the Linux version instead. Type this before making:

Code: Select all

set OS2=Windows_NT
I wasn't a totaly sure on what you meant by this so I tried a number of different things. First I tried putting it in the command line but that didn't work. Then I tried putting it directly into the makefile and that didn't work and so I removed the 'set' and still nothing. So then I put "OS=WINDOS_NT" and all that did was get me as far as lemon with an error of some large negative number. So, I am not sure what to do now.

Posted: Sun Jul 23, 2006 2:48 pm
by Jim
It's a typo. He meant to enter

Code: Select all

set OS=Windows_NT
at the command line before you enter make.

Posted: Sun Jul 23, 2006 3:23 pm
by Necromage
I tried that before and it didn't work but I tried it agian and it still didn't work. Here is what I got:

Code: Select all

C:/MINGW/BIN/MINGW3~6.EXE -C tools/lemon
MINGW3~6.EXE[1]: Entering directory 'C:/Doom/zdoom source/zdoom/trunk/tools/lemon'
ccdv: CreatProcess: The operation completed successfully.

gcc -D_WIN32 -Os -Wall -Wno-implicit -fomit-frame-pointer -c -o -lemon.o -lemon.c
MINGW3~6.EXE[1]: *** [lemon.o] Error: -1073695936
MINGW3~6.EXE[1]: Leaving directory 'C:/Doom/zdoom source/zdoom/trunk/tools/lemon'
C:\MINGW\BIN\MINGW3~2.EXE: *** [basetools] Error 2