I have a problem with JFDuke, it would only start after a reboot, and only start once. If i had run any game/program that uses joystick/gamepad, including jfduke, it wont start until i reboot. Also, after running JFduke, the joystick will not work in any other game.
One solution I found is to disable joystick in control panel, and reenable it after playing jfduke. But is there a way to prevent jfduke from initializing joystick at all?
Here is my console.log
Duke Nukem 3D v1.999
Copyright (c) 1996 3D Realms Entertainment
Compiling: 'GAME.CON'.
Including: 'DEFS.CON'.
Including: 'USER.CON'.
Looks like Standard CON files.
Code Size:48520 bytes(1425 labels).
Initialising Windows DirectX/GDI system interface
Initialising DirectDraw...
- Loading DDRAW.DLL
- Enumerating display devices
* Primary Display Driver
- Creating DirectDraw object
Initialising DirectInput...
- Loading DINPUT.DLL
- Creating DirectInput object
- Enumerating attached input devices
* MOUSE: Mouse
* KEYBOARD: Keyboard
* GAMEPAD: Gravis Xterminator Digital GamePad (GamePort)
- Creating keyboard device
- Creating mouse device
- Creating joystick device
Joystick has 6 axes, 11 buttons, and 1 hat(s).
Joystick has these axes: X, Y, Z, RX, RZ, Slider 0
Awesoken at
Good news! The "joystick crash at initialization" bug has been found & fixed. It turned out to be a silly little bug with the text logging routine to the dialog box that you see at startup. You can either make this change and re-compile, or wait for JonoF's next public release:
In WINLAYER.C, Change:
p = (char *)Bmalloc( SendDlgItemMessage(startupdlg,102,LB_GETTEXTLEN,overwriteline,0) );
To:
p = (char *)Bmalloc( SendDlgItemMessage(startupdlg,102,LB_GETTEXTLEN,overwriteline,0)+1 );
och at
Would it be too much to ask for anyone who has recompiled the file to send me the binary? Och@aol.com
och at
BTW, winlayer.c does not seem to be in the source code...
TX at
och said
BTW, winlayer.c does not seem to be in the source code...
It's in the Build source, not the Duke source.
och at
Allright, recompiled JFbuild, got build.exe and game.exe, whats the next step?
och at
anyone?
ProAsm at
My Nostromo Gamepad still crashes, even with that line changed.
Since this release I remarked out line 551 in Winlayer.c and that solves my problem:
*** Edit ***
After a second compile it now works and I put the 551 line back.
Thanks Ken :)
och at
Can someone please explain me what to do after i changed winlayer.c and recompile jfbuild? I get game.exe and build.exe, whats next?
TX at
och said
Can someone please explain me what to do after i changed winlayer.c and recompile jfbuild? I get game.exe and build.exe, whats next?
Common sense dictates that you would proceed to build Duke3D rather than running around like a headless chicken asking what to do. ;)
I am certain that you could have figured out what to do in the five days since you first built the Build source, no? Take some initiative -- it is a simple task, and by having built the Build source you're already most of the way there.
och at
Well, perhaps so, however I still do not understand what would I do with the game.exe and build.exe i got by recompiling the build engine
JonoF at
If you run make in the Duke directory, it compiles its own copy of the engine for Duke specifically. The build.exe and game.exe you got from the jfbuild directory are only for Ken's test game and, for reasons which should be entirely obvious, won't work with Duke.
Jonathon
och at
In that case, how is chaning winlayer.c and recompiling build engine is gonna fix joystick problems in jfduke?
JonoF at
Recompiling Duke will recompile the engine that the Duke source links to, which will fix JFDuke3D.