Duke4.net Forums: Problems with eduke32 and Windows 7 - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problems with eduke32 and Windows 7

#1

I have looked through the other threads in this forum and have not found anything quite like what I am seeing. I grabbed the latest eduke32 version (1671) and have been trying to get it to work for a good portion of the day. I will include a eduke32 log, dxdiag log, and visual studio log at the end.

When I click start in eduke32, one of three things randomly happen:

1: The game crashes before a window appears (Segfault right after enumerating attached game controllers)
2: A window appears momentarily then disappears along with my mouse cursor and the eduke32 process sits in the background
3: The game actually launches (has only happened a couple times and never back-to-back)

The times I got it to launch is when I was playing with compatibility mode. Sometimes right after I switched it to XP SP3 compatibility, it worked but would not work again after i closed it, deleted the files it created and tried again.

When eduke32 crashes, the windows crash log mentions ntdll.dll as the faulting module (I copied the error log into the attached crash_data file). I had Visual Studio 2010 installed and grabbed the source code to see if running it with a debugger would tell me anything. Eduke32 always breaks in the same spot in VS. It always breaks at line 1074 of winlayer.c which appears to be related to DirectInput. I attached the output from VS also (vs_output file). Could this be an issue with DirectX 11 not being fully backward compatible with DirectInput7 or an incompatible device in my machine? The attached input devices are listed in the dxdiag file.

My system specs and other directx info are in the attached dxdiag file.

*Update*
I did some more testing and found a way to get the game to run. If I comment out the small 'Enumerating attached game controllers' block of code in the winlayer.c file and have it return true right after, the game compiles and runs just fine.

Attached File(s)



This post has been edited by hackattack142: 17 July 2010 - 10:39 AM

0

#2

No one has any insight?

Would it be possible to add an option to make game controllers optional?
0

User is offline   TerminX 

  • el fundador

  #3

Weird problem. Your assertion that the issue could be with DX11 not being fully compatible with DirectInput7 (or more likely EDuke32 has a bug in it that was harmless on prior versions but now fucks everything up) or that you have an incompatible device may be correct. Can you try unplugging things and see what happens? :)
0

#4

Actually checking the devices is where this gets tricky which is why I found it easier to just comment out a little code. This machine is a laptop. The only actual external device I have connected is a four or more year old USB mouse. Now, if you look at the DirectInput device list in the dxdiag file, there are four Microsoft eHome Infrared Transceivers and one Bluetooth Remote Control Device in addition to the keyboard and mouse. I am a little concerned messing with the eHome devices because I am not sure exactly how they tie into my system. I think they are linked to the keyboard along with my touch panel keys and I am not sure how it would affect the system if I started disabling them. Beyond that, I am not sure I have a lot of options.
0

User is offline   Sangman 

#5

I too am having issues (using Windows 7 Home Premium 64-bit). I've made an empty dir, extracted the latest download for eduke_current.zip in it (july 5th if I'm not mistaken) and put Duke3D.grp in alongside it. I get either "eduke32 has stopped responding", a fatal error, it freezes, or it seems to start up very briefly but then instantly crashes to desktop. Basically the exact same issue as the OP.

The log shows, like in the OP, a fatal error after "enumerating game controllers" (everything before this bit is business as usual):

Quote

Initializing OSD...
Switching kb layout from 00000813 to D0010413
Initializing DirectInput...
- Enumerating attached game controllers
Fatal Signal caught: SIGSEGV. Bailing out.
g_errorLineNum: 0, g_tw: 0

Uninitializing DirectDraw...
Uninitializing DirectInput...


Pulling out my USB mouse doesn't make any difference either. I'm also using a laptop here. Too bad I can't check (or rather don't know how to check) with Visual Studio like the OP but my guess is we're both having the same problem. :)

edit:

Hey, oddly enough I too am using the M17x. Other people are not having this problem. Maybe there is something special about the M17x that causes it to fuck up here?


Is it possible that it is the same issue that presents itself again like it did here:
http://forums.duke4....?showtopic=1373

?

This post has been edited by Sangman: 21 July 2010 - 06:15 AM

0

#6

If you would like to verify that it is the same issue, you can try the attached eduke32. It is the July 5th build with the game controllers check code commented out.

If you are at all familiar with Visual Studio, you can get instructions for setting up the environment here: http://wiki.eduke32....ke32_on_Windows

*Removed attached file*

This post has been edited by hackattack142: 21 July 2010 - 03:28 PM

0

User is offline   Sangman 

#7

I am getting a DLL error (MSVCR100D.dll is missing?) with your EXE.
0

#8

My bad. You will probably need the Visual C++ 2010 runtime package to be able to run it. It is a small download and you can grab it here: http://www.microsoft.com/downloads/details...;displaylang=en
0

User is offline   Sangman 

#9

Nope, that doesn't fix anything.. Maybe try rearchiving your file, the ZIP file gave me trouble as well when trying to extract in a dir other than the one the file was saved in.

This post has been edited by Sangman: 21 July 2010 - 12:40 PM

0

#10

Strange, I will try uploading again. Also, you may need to restart after installing the runtimes if you didn't. You can check for the existence of that DLL file in Windows\System32 and Windows\SysWOW64. I have it in both locations but they are not the same size. If for whatever reason you still do not have the dll, you can grab it here: http://www.dll-files...shtml?msvcr100d

On a side note, I did some more debugging. It do not have code for the spot the crash is happening (somewhere in the dinput.dll apparently). Everything appears fine up until that call on line 1074 of winlayer.c. The InitDirectInput_enum function runs and returns fine but right after it returns is where the crash happens. Another interesting observation is the value of the inputdevices variable. On line 1073, it has a value of 3. When the crash happens, it has a value of 7.

Attached File(s)


0

User is offline   Sangman 

#11

Your EXE indeed launches properly. Nice job on figuring that out, now let's hope the Eduke32 developers can figure out the cause :)

edit:

The game controls nicely as well. It begs the question - is the "enumerating game controllers" bit necessary at all?

This post has been edited by Sangman: 21 July 2010 - 03:27 PM

0

#12

From looking at the code, it appears to be for people who want to use a joystick or gamepad with the game. That is why I suggested making it an optional check but that is more of a workaround than a fix.
0

User is offline   Sangman 

#13

Sure but if the workaround results in me being able to play Duke I'm all for it :)


What's that you say? There are other people in the world too? :)
0

#14

Is this being treated as a non-issue or will it be investigated further/add option to bypass it?

I have no problem changing and compiling it myself but others may not be so comfortable doing that.
0

User is offline   TerminX 

  • el fundador

  #15

A little bit of both. I kind of want to just remove DirectInput support altogether, implement XInput and require everyone without an Xbox 360 controller to use an XInput emulator or something, but I don't really have time to do it right now.
0

User is offline   Orangestar 

#16

This thread is completely confusing me that people are having trouble with eDuke. I have used eDuke with the shareware versions of Duke Nukem 1.3 and Duke Nukem HRP on a Win 7 Laptop Home Premium 64-bit, and the only problems I've had are having to manually set up the Axis on my Gamepad and mouse via the .ini file. but other than that, nothing.
0

#17

I apologize for the misleading title. When I opened this thread, I believed the crashing was linked to Windows 7/DirectX11. After further investigation debugging the source code myself, I believe that the problem lies in DirectInput7 not being able to handle certain newer DirectInput devices and the issue is not limited to Windows 7. I have a bunch of Microsoft eHome devices that control my keyboard and touch panel that came installed in my laptop. It appears that DirectInput7 does not like these devices or possibly certain combinations of devices and crashes when it tries to enumerate them. This creates the situation where eDuke is not able to run because of this crash and the only way around it currently is to obtain the source code and disable this DirectInput7 device enumeration. I am fine with doing the source code changes and recompiling myself but not everyone has the know-how or is comfortable dealing with code/coding tools. I realize that this issue is probably only affecting a small number of people at this point based on what I have seen on these forums but as new input devices are released, it could become more of a situation down the line.
0

User is offline   TerminX 

  • el fundador

  #18

You're lucky I rewrote the keyboard and mouse input handling earlier this year... before that, all of it ran on DirectInput. You'd be screwed. :)
0

User is offline   caduceusnz 

#19

View PostTX, on Jul 29 2010, 06:08 PM, said:

You're lucky I rewrote the keyboard and mouse input handling earlier this year... before that, all of it ran on DirectInput. You'd be screwed. :D

I've tried the above with interesting results. I can now consistently start the game. That's where the good news ends. My previous saved games load up but I'm frozen on the spot and have health almost or at zero (not what I saved it as!). I can start a new game but can't pick up ammo and can't fire (have checked keyboard/mouse maps). I always start with health in the hundreds (300-500+).

Any progress on this?
0

User is offline   TerminX 

  • el fundador

  #20

Both of those gameplay problems are caused by incompatible savegames being used. No progress on the DirectInput stuff.
0

User is offline   caduceusnz 

#21

View PostTX, on Sep 8 2010, 01:12 AM, said:

Both of those gameplay problems are caused by incompatible savegames being used. No progress on the DirectInput stuff.


Regarding the incompatible savegames: you mean I shouldn't have updated eduke32 from the one in March to July? How do I find the old eduke32 versions?
0

User is offline   Jojobeans 

#22

I also have this exact same issue. It crashes when coming to the DirectInput initialization. I only have a standard USB mouse and keyboard plugged in and no other devices. Here's a log from a fresh install, although it doesn't matter if I use my DukePlus folder with HRP/Polymer or not:

EDuke32 2.0.0devel 20100727
Using C:/eduke32_r1706/ for game data
Checking for updates...
Connecting to http://eduke32.sourceforge.net
Current version is 20100704... no updates available
Windows 7 (build 6.1.7600) 
Initializing DirectDraw...
Searching for game data...
 Checksumming DUKE3D.GRP... Done
Using 'duke3d.grp' as main game data file.
Compiling: GAME.CON (151190 bytes)
Including: DEFS.CON (35992 bytes)
Including: USER.CON (45482 bytes)
GAME.CON: In actor `ORGANTIC':
GAME.CON:3968: warning: found `else' with no `if'.
GAME.CON: In state `pigshootenemystate':
GAME.CON:5891: warning: found `else' with no `if'.
Found 2 warning(s), 0 error(s).
Resizing code buffer to 16187*4 bytes
Relocating compiled code from to 0x7e550014 to 0x4acb8b4
Script compiled in 14ms, 16179*4b, version 1.4+
1918/11264 labels, 321/2048 variables
125 quotes, 207 actors
Initialized 24.0M cache
RTS file DUKE.RTS was not found
Initializing OSD...
Initializing DirectInput...
  - Enumerating attached game controllers
Fatal Signal caught: SIGSEGV. Bailing out.
g_errorLineNum: 0, g_tw: 0
 
Uninitializing DirectDraw...


I've been able to get the game running and play it fine by using a modified version of eduke32 that was posted elsewhere, where I believe it skips Initilizating DirectInput or something. Of course that might preclude me from updating to a newer version in the future. Is there any plans to address that in the future, even though it may only affect a small number of people? I love Duke 3D and eduke32 and I'd hate to miss out on updates because of my silly, annoying incompatibility with DirectInput. :D

I guess it would be possible to disable that line of code/feature myself, too, but I'm afraid I don't know how to do that.
0

User is offline   Hank 

#23

I don't get it either, but when Mapster crashed, Visual Studio opens up and starts mouthing off!?! I learn something new every day. I haven't even got the source code yet. I was just looking at my own maps in Mapster and Visual Studio was not open. Is Mapster made in Visual Studio? I thought it's compiled with MingW?

Last sentence of the report:
Unhandled exception at 0x0046ddd3 in mapster32.exe: 0x80000001: Not implemented.

In plain English this is a stack lamentation, where in the code no idea. Anyways - if anyone is interested I can show the entire report. I have no immediate plans to get into programming. My plans are playing for a while, and playing and so on. Technically I am off-topic, but this was common around Dukeworld ;)
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options