Thanks for the responses. :) (I had to disable smileys to get this to post. I have no idea why, as I only had the one. How odd.)
At the time I was getting the errors, I was running on the OpenGL driver, as my system was unstable to the point that running the DirectX tests in dxdiag would give me a BSOD. After consulting with Microsoft Support, I completely reformatted and reinstalled - now I'm just getting something that's kind of like the Badger Badger flash animation, but with "Badger" substituted with "GPF".
It's almost as bad as UnrealEd.
I should probably point out that I've already successfully played through Deus Ex with not a GPF to be seen, but that was before I upgraded my processor (Athlon 64 3200+, socket 754). I've loaded Deus Ex intermittedly after this with no errors, but then again I also didn't have it loaded for long - usually only five minutes or so. Then I shut it down myself.
The Eidos tech FAQ recommends installing from the hard disk, but I really don't see how this could solve anything - it's the same files, after all.
I'm now using the DirectX renderer and getting yet more GPFs.
Here is a new log: this one looks a bit more interesting; it's got a whole column of "Critical".
Again, this is only the bottom half for the log.
Code:
Log: Startup time: 1.802163 seconds
DevMusic: Load music: Music Title_Music.Title_Music
Log: Loading: Package DXFonts
Log: Assigning Last Button Window to MenuUIMenuButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuMain0.MenuUIClientWindow0.MenuUIMenuButtonWindow3
Log: Assigning Last Button Window to MenuUIMenuButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuSettings0.MenuUIClientWindow1.MenuUIMenuButtonWindow15
Log: Assigning Last Button Window to MenuUIActionButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuScreenSound0.MenuUIActionButtonBarWindow0.MenuUIActionButtonWindow0
Log: Tried to remove lastbuttonwindow descendant. MenuUIActionButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuScreenSound0.MenuUIActionButtonBarWindow0.MenuUIActionButtonWindow0
Log: Assigning Last Button Window to MenuUIMenuButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuSettings0.MenuUIClientWindow1.MenuUIMenuButtonWindow16
Log: Tried to remove lastbuttonwindow descendant. MenuUIMenuButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuSettings0.MenuUIClientWindow1.MenuUIMenuButtonWindow16
Log: Assigning Last Button Window to MenuUIMenuButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuMain0.MenuUIClientWindow0.MenuUIMenuButtonWindow4
Log: Tried to remove lastbuttonwindow descendant. MenuUIMenuButtonWindow DX.JCDentonMale0.DeusExRootWindow0.MenuMain0.MenuUIClientWindow0.MenuUIMenuButtonWindow4
Log: Unloading: Package DX
Log: Export travel for: Player
Log: Browse: 00_Training?Name=Player?Class=DeusEx.JCDentonMale
Log: Doing load, not loadgame
Log: Current mission number is -2, next is 0
Log: Attempting to get player
Log: LoadMap: 00_Training?Name=Player?Class=DeusEx.JCDentonMale
DevAudio: Galaxy SetViewport: WindowsViewport0
Log: Loading: Package 00_Training
Log: Loading: Package CoreTexMetal
Log: Loading: Package CoreTexDetail
Log: Loading: Package UNATCO
Log: Loading: Package NYCBar
Log: Loading: Package CoreTexMisc
Log: Loading: Package CoreTexConcrete
Log: Loading: Package CoreTexGlass
Log: Loading: Package CoreTexStone
Log: Loading: Package Constructor
Log: Loading: Package HK_MJ12Lab
Log: Loading: Package NewYorkCity
Log: Loading: Package area51textures
Log: Loading: Package OceanLab
Log: Loading: Package CoreTexSky
Log: Loading: Package Cmd_tunnels
Log: Loading: Package Training_Music
Init: Shut down moving brush tracker for Level DX.MyLevel
Log: Collecting garbage
Log: Purging garbage
Log: Unloading: Package DXFonts
Log: Garbage: objects: 35223->35011; refs: 466315
Log: Game class is 'DeusExGameInfo'
Log: Bringing Level 00_Training.MyLevel up for play (0)...
ScriptLog: InitGame: ?Name=Player?Class=DeusEx.JCDentonMale
ScriptLog: Base Mutator is 00_Training.Mutator2
ScriptLog: DeusExLevelInfo - Spawned new mission script 'DeusEx.Mission00'
Log: Loading: Package DeusExConText
Log: Spawning new actor for Viewport WindowsViewport0
ScriptLog: Login: Player
Log: Possessed PlayerPawn: JCDentonMale 00_Training.JCDentonMale1
ScriptLog: All inventory from Player is accepted
Init: Initialized moving brush tracker for Level 00_Training.MyLevel
DevAudio: Galaxy SetViewport: WindowsViewport0
DevMusic: Unregister music: Music Title_Music.Title_Music
DevMusic: Load music: Music Training_Music.Training_Music
ScriptLog: **** InitStateMachine() - 00_Training.JCDentonMale1 started mission state machine for 00_TRAINING
Log: Loading: Package InfoPortraits
Log: Loading: Package DeusExConAudioMission00
Log: Assigning Last Button Window to HUDKeypadButton 00_Training.JCDentonMale1.DeusExRootWindow1.HUDKeypadWindow0.HUDKeypadButton10
Log: Assigning Last Button Window to HUDKeypadButton 00_Training.JCDentonMale1.DeusExRootWindow1.HUDKeypadWindow0.HUDKeypadButton0
Log: Assigning Last Button Window to HUDKeypadButton 00_Training.JCDentonMale1.DeusExRootWindow1.HUDKeypadWindow0.HUDKeypadButton1
Log: Tried to remove lastbuttonwindow descendant. HUDKeypadButton 00_Training.JCDentonMale1.DeusExRootWindow1.HUDKeypadWindow0.HUDKeypadButton1
Log: Assigning Last Button Window to PersonaActionButtonWindow 00_Training.JCDentonMale1.DeusExRootWindow1.HUDRechargeWindow0.PersonaButtonBarWindow0.PersonaActionButtonWindow1
Log: Assigning Last Button Window to PersonaActionButtonWindow 00_Training.JCDentonMale1.DeusExRootWindow1.HUDRechargeWindow0.PersonaButtonBarWindow0.PersonaActionButtonWindow0
Log: Tried to remove lastbuttonwindow descendant. PersonaActionButtonWindow 00_Training.JCDentonMale1.DeusExRootWindow1.HUDRechargeWindow0.PersonaButtonBarWindow0.PersonaActionButtonWindow0
Log: Assigning Last Button Window to PersonaActionButtonWindow 00_Training.JCDentonMale1.DeusExRootWindow1.HUDMedBotHealthScreen0.PersonaClientWindow0.PersonaButtonBarWindow3.PersonaActionButtonWindow2
Log: Assigning Last Button Window to PersonaNavButtonWindow 00_Training.JCDentonMale1.DeusExRootWindow1.HUDMedBotHealthScreen0.HUDMedBotNavBarWindow0.PersonaButtonBarWindow2.PersonaNavButtonWindow2
Log: Tried to remove lastbuttonwindow descendant. PersonaNavButtonWindow 00_Training.JCDentonMale1.DeusExRootWindow1.HUDMedBotHealthScreen0.HUDMedBotNavBarWindow0.PersonaButtonBarWindow2.PersonaNavButtonWindow2
Log: Export travel for: Player
Log: Browse: 00_TrainingCombat?Name=Player?Class=DeusEx.JCDentonMale#combat
Log: Doing load, not loadgame
Log: Current mission number is 0, next is 0
Log: Attempting to get player
Init: Shut down moving brush tracker for Level 00_Training.MyLevel
Log: Unloading: Package 00_Training
Log: Save=171.647942
Log: Moving '..\Save\Current\Save.tmp' to '..\Save\Current\00_training.dxs'
Init: Initialized moving brush tracker for Level 00_Training.MyLevel
Log: LoadMap: 00_TrainingCombat?Name=Player?Class=DeusEx.JCDentonMale#combat
DevAudio: Galaxy SetViewport: WindowsViewport0
Log: Loading: Package 00_TrainingCombat
Log: Loading: Package Rocket
Log: Loading: Package Paris
Log: Loading: Package Supertanker
Log: Loading: Package Catacombs
Log: Loading: Package CoreTexWood
Init: Shut down moving brush tracker for Level 00_Training.MyLevel
Log: Collecting garbage
Log: Purging garbage
Log: Unloading: Package DeusExConText
Log: Unloading: Package CoreTexSky
Log: Unloading: Package Constructor
Log: Unloading: Package OceanLab
Log: Unloading: Package HK_MJ12Lab
Log: Unloading: Package Cmd_tunnels
Log: Unloading: Package InfoPortraits
Log: Unloading: Package DeusExConAudioMission00
Log: Garbage: objects: 42568->34705; refs: 424347
Log: Game class is 'DeusExGameInfo'
Log: Bringing Level 00_TrainingCombat.MyLevel up for play (0)...
ScriptLog: InitGame: ?Name=Player?Class=DeusEx.JCDentonMale
ScriptLog: Base Mutator is 00_TrainingCombat.Mutator3
ScriptLog: DeusExLevelInfo - Spawned new mission script 'DeusEx.Mission00'
Log: Loading: Package DeusExConText
Log: Spawning new actor for Viewport WindowsViewport0
ScriptLog: Login: Player
Log: Possessed PlayerPawn: JCDentonMale 00_TrainingCombat.JCDentonMale2
ScriptLog: All inventory from Player is accepted
Init: Initialized moving brush tracker for Level 00_TrainingCombat.MyLevel
DevAudio: Galaxy SetViewport: WindowsViewport0
ScriptLog: **** InitStateMachine() - 00_TrainingCombat.JCDentonMale2 started mission state machine for 00_TRAININGCOMBAT
Log: Loading: Package InfoPortraits
Log: Loading: Package DeusExConAudioMission00
Critical: UD3DRenderDevice::SetTexture
Critical: UD3DRenderDevice::DrawComplexSurface
Critical: URender::DrawFrame
Log: Anomalous singularity in URender::DrawWorld
Critical: UD3DRenderDevice::DrawTile
Critical: UCanvas::DrawTile
Critical: XGC::DrawTile
Critical: XGC::DrawIconPattern
Critical: XGC::DrawTexture
Critical: UObject::ProcessEvent
Critical: (HUDHitDisplay 00_TrainingCombat.JCDentonMale2.DeusExRootWindow2.DeusExHUD2.HUDHitDisplay2, Function DeusEx.HUDHitDisplay.DrawWindow)
Critical: XWindow::ProcessScript
Critical: XWindow::Draw
Critical: XWindow::DrawTree
Critical: XWindow::DrawTree
Critical: XWindow::DrawTree
Critical: XRootWindow::PaintWindows
Critical: XRootWindow::PostRender
Critical: APlayerPawnExt::PostRenderWindows
Critical: UObject::ProcessEvent
Critical: (JCDentonMale 00_TrainingCombat.JCDentonMale2, Function Extension.PlayerPawnExt.PostRenderFlash)
Critical: UGameEngine::Draw
Critical: UWindowsViewport::Repaint
Critical: UWindowsClient::Tick
Critical: ClientTick
Critical: UGameEngine::Tick
Critical: XGameEngineExt::Tick
Critical: UpdateWorld
Critical: MainLoop
Exit: Executing UObject::StaticShutdownAfterError
Exit: Executing UWindowsClient::ShutdownAfterError
Exit: UGalaxyAudioSubsystem::ShutdownAfterError
Exit: UD3DRenderDevice::ShutdownAfterError
Critical: UnsetTextures
Critical: UD3DRenderDevice::Flush
Critical: UD3DRenderDevice::UnSetRes
Critical: UD3DRenderDevice::ShutdownAfterError
Exit: Double fault in object ShutdownAfterError
Exit: Exiting.
Uninitialized: Name subsystem shut down
Uninitialized: Log file closed, 07/06/05 19:14:38
Hmm... "anomalous singularity". Sounds deep.