Battlezone Universe

Battlezone Universe => Battlezone 1 Patch Board => Topic started by: Ultraken on December 10, 2009, 02:54:31 AM

Title: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 02:54:31 AM
After a brief hiatus, it's time for another experimental build.  There aren't as many changes in this one.

The speed check might have been what was causing start-up problems for some people, but I don't know that for sure.  That's the big thing to check.  :)

Battlezone D3D9 (http://www.bzuniverse.com/~betadudes/unprotected/bzone_d3d9_2009-12-10.7z)

Usual reminders:
1. This build requires the Visual C++ 2008 SP1 Redstributable Package (http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en)
2. If using a retail install, rename the "splash" folder to "splash_" to disable Windows 7's compatibility layer
3. If running on Windows Vista or 7, make the install folder writable
4. If having trouble, try the DirectX End-User Runtime Web Installer (http://www.microsoft.com/downloads/details.aspx?FamilyID=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3&displaylang=en)
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 01:08:39 PM
Do you have a debugger file for us to try loading in visual stuido 2008 express?  I just download and installed it since I have the day off.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 01:35:10 PM
Yes: here (http://www.bzuniverse.com/~betadudes/Ultraken/bzone_d3d9_2009-12-10.pdb.7z)
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 01:39:12 PM
What exactly do we do with this pdb file?

I have Visual C++ 2008 express installed.  I tried opening up the .exe and the .pdb using 2008 express and got an error stating that those files could not be opened.

1.  I reinstalled bz1 into C:\Documents\Temp
2.  I updated said install to 1.4
3.  I added the new .exe after backing up the original
4.  I added the pdb file
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 01:41:22 PM
I tried opening both bzone.exe and bzone.exe.pdb with Visual C++ 2008 Express.  Neither will open.  The Exe's themselves won't open either.  I renamed the splash folder, but haven't touched the anim folder yet.

I think the 0CX00000005 error indicates the install is complete but won't load while the ANET.dll error I was getting was due to my install not completing, I could be wrong though.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 01:50:24 PM
You can't actually run BZ from Visual C++ without a project, so what you'll want to do is run BZ and then attach to its process with the debugger.  That should--in theory at least--give you a call stack so we can figure out where it's crashing if not why.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 01:54:42 PM
Debug file was no help.  GSH suggested that I try Dependency Walker, which I did.  I got these two files were missing.  GPSVC.DLL and IESHIMS.DLL both would not load because they could not be found.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 01:57:18 PM
Sorry, after looking in the output tab, I found the following.

'bzone.exe': Loaded 'C:\Windows\SysWOW64\SortServer2003Compat.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll'
The thread 'Win32 Thread' (0x11dc) has exited with code -1073741819 (0xc0000005).
The program '[5056] bzone.exe: Native' has exited with code -1073741819 (0xc0000005).
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 02:00:20 PM
That result from Dependency Walker is immensely helpful.  Now I just need to figure out what those are, where they come from, and why the application wants them.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 02:04:49 PM
Hopefully the VS Debug info will provide some additional insight.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 02:16:20 PM
I tried two different installs. 

C:\Users\Commando\Documents\Temp
C:\Program Files (x86)\Activision\Battlezone

Each produces the same error.  I even tried copying Temp to Program Files (X86) before installing another instance under that folder.  No luck, getting the same crash at startup.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 02:18:09 PM
I'm going to see if I can reproduce the problem on my work computer, which runs Vista 64-bit.

Update: I get the same crash on startup.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: sabrebattletank on December 10, 2009, 02:29:39 PM
Not exactly sure what to do with the .pdb file. Not sure if this is any help, but here's my output tab: [Edit: Just realized that this is with XP SP2 compat]

'bzone.exe': Loaded 'C:\Users\Bill\Desktop\Battlezone\Battlezone\bzone.exe'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll'
'bzone.exe': Loaded 'C:\Users\Bill\Desktop\Battlezone\Battlezone\ANET2.DLL', Binary was not built with debug information.
'bzone.exe': Loaded 'C:\Windows\SysWOW64\user32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\version.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\winmm.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\dsound.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\powrprof.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\d3d9.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\d3d8thk.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll'
'bzone.exe': Loaded 'C:\Users\Bill\Desktop\Battlezone\Battlezone\STRLKUP.DLL', Binary was not built with debug information.
'bzone.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16385_none_ebf82fc36c758ad5\comctl32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\comdlg32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\shell32.dll'
'bzone.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_508ed732bcbc0e5a\msvcp90.dll'
'bzone.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_508ed732bcbc0e5a\msvcr90.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\apphelp.dll'
'bzone.exe': Loaded 'C:\Windows\AppPatch\AcLayers.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\userenv.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\profapi.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\winspool.drv'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\mpr.dll'
'bzone.exe': Loaded 'C:\Windows\AppPatch\AcGenral.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\samcli.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\msacm32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\sfc.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\sfc_os.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\urlmon.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\crypt32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\msasn1.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\iertutil.dll'
'bzone.exe': Loaded 'C:\Windows\AppPatch\AcXtrnal.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\shunimpl.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\SortServer2003Compat.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll'
'bzone.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll'
The thread 'Win32 Thread' (0x31c) has exited with code -1073741819 (0xc0000005).
The program '[6852] bzone.exe: Native' has exited with code -1073741819 (0xc0000005).

Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 02:37:32 PM
Now that I can reproduce the crash at will, I can start trying to fix it.  Of course, randomized base address means I can't use the map file to figure out where it crashed...   :-P
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: sabrebattletank on December 10, 2009, 02:41:36 PM
Just out of curiosity's sake, how do I get to the dependency walker? Edit: Ah, I see, it's something else entirely.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: bb1 on December 10, 2009, 02:51:26 PM
That's the error code mine throws at startup as well.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 03:04:15 PM
Several people on the battlezone1.freeforums.com get it too.  It's the biggest issue right now.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: bb1 on December 10, 2009, 03:04:27 PM
My retail version came with no splash folder. It also came preloaded with 1.4, so I guess I can't really complain..

Edit: Your dload says I'm not allowed to be here.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 03:22:06 PM
Hm.  I put it on Betadudes, but you can also get it from my local network here (http://ultraken.dyndns.org/www/bzone_d3d9_2009-12-10.7z)
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: bb1 on December 10, 2009, 03:33:01 PM
Still getting

Unhandled exception at 0x00d3d238 in bzone.exe: 0xC0000005: Access violation.

How do I get to what commando was showing?
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 03:46:59 PM
I used two different programs.

1.  Dependency Walker which GSH informed me about and suggested that I try
2.  VIsual C++ 2008 Express, from Microsoft, which Ken suggested

Dependency Walker showed to two problematic files, VS C++ indicated where the 0000005 error occured.

Hopefully this will mean we will be able to play bz1 soon.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: bb1 on December 10, 2009, 04:25:44 PM
Good call.

Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

IESHIMS.DLL Error Opening File. The system cannot find the file specified (2).


FWIW
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 04:28:02 PM
That's what I get as well.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Red Devil on December 10, 2009, 07:51:35 PM
Do those having the problem have multiple cores?
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: sabrebattletank on December 10, 2009, 08:11:19 PM
Intel Core 2 Duo processor P8700 (2.53GHz 1066MHz 3MBL2)
Genuine Windows Vista Business 7 Professional 64
ATI Mobility Radeon 3470 with 256MB
4 GB PC3-8500 DDR3 SDRAM 1067MHz SODIMM Memory (2 DIMM)
UltraNav (TrackPoint and TouchPad) with Fingerprint Reader
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 09:21:22 PM
Looking into it further, there's a little hourglass next to the icon indicating that the DLL is a delayed load.  The 64-bit version of Dependency Walker gave me errors, but the 32-bit version just posted a warning.

It turns out that BZ does use SYSTEM32.DLL to send email in the network shell, so I wasn't able to get rid of it.  I did, however, remove some genuinely unused default dependencies.

I also turned off base address randomization so I'll be able to look up crash addresses in the map file when I try it at work tomorrow.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 09:45:25 PM
Cool, hopefully it will be usable to us Win 7 64bit users soon.

I have VS C++ 2008 Express installed if that would be helpful in debugging some issues tonight.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: sabrebattletank on December 10, 2009, 09:58:02 PM
Quote from: Commando on December 10, 2009, 09:45:25 PM
Cool, hopefully it will be usable to us Win 7 64bit users soon.

I have VS C++ 2008 Express installed if that would be helpful in debugging some issues tonight.

Word. As would I. I mean hell, it's got a name as scary as "Microsoft Visual Suite C++ 2008 Express Edition," might as well use it.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 10:07:33 PM
Sadly it's something I downloaded only to get an error code from bz1.  I doubt I will use it beyond that.  If I was a programmer, especially a bz2 mission programmer, it would be very useful.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 10, 2009, 10:08:53 PM
Ken a few changes that may be good

1.  Change bz1 so it saves user preferences and saves in the My Docs\My Games folder like bz2 does.  GSH made this change to bz2 to make it compatible with Vista.

2.  If possible, increase the number of saves.  Currently you are limited to 10, if my memory is correct.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 10, 2009, 10:39:15 PM
The preferences thing is definitely on the list of things to do.

The problem with the saves is the shell itself, which is not the easiest to modify.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Red Devil on December 11, 2009, 12:41:21 AM
Any plans for adding more sound channels or converting to 3D sound?
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 11, 2009, 12:59:41 AM
I may swipe Nathan's sound system from BZ2.   :-D
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 11, 2009, 09:33:53 AM
Lol, you know he did redo the graphics system too, right :).
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 11, 2009, 10:31:11 AM
BZ2's rendering system is so fundamentally different and deeply integrated with the rest of the engine that it would be almost impossible to use without performing a full "engine transplant".  It was easier to work within the existing system, and I learned a lot by doing it.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 11, 2009, 03:24:46 PM
Wouldn't the same apply to the sound system too?
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Ultraken on December 11, 2009, 03:36:59 PM
Unlike the rendering system, the sound system was relatively isolated and preserved mostly intact between BZ1 and BZ2.  While I haven't looked that closely, I got the impression that Nathan completely replaced its internal implementation but left its public interface alone.  If that's true, then it should be easy to drop right in.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: Commando on December 11, 2009, 03:47:06 PM
Cool, would be nice to have 128 sound channels in bz1.  The sound system may need some work, when I updated my sound drivers for my CL X-FI, bz2's sound system had issues releasing sound channels until sound failed completely.
Title: Re: Experimental D3D9 Build (2009-12-10)
Post by: bb1 on December 11, 2009, 04:31:32 PM
I have Visual Studio 08 (MSDN) for my programmnig classes... wondering if I can contribute anything in any way.