SNMetamorph / PrimeXT

Modern Half-Life 1 SDK for Xash3D FWGS engine, has enhanced graphics and physics and a lot of new features for mod-makers. Crossplatform, supports Windows/Linux. Based on XashXT and Spirit Of Half-Life.
https://snmetamorph.github.io/PrimeXT/
107 stars 31 forks source link

Linux FilesystemManager crash #182

Closed Zorik99 closed 6 months ago

Zorik99 commented 11 months ago

On Linux, selecting New game or Hazard course causes crash with next error: game_shared/filesystem_manager.cpp:30: bool fs::CFilesystemManager::Initialize(): Assertion 'm_pFileSystem == nullptr' failed. Manualy loding into a map with NPCs also crashes when their AI activates: Thread 1 "xash3d" received signal SIGSEGV, Segmentation fault. 0x00007ffff4c1cb7d in CGraph::FindNearestNode(Vector const&, int) () from primext/dlls/hl_amd64.so

a1batross commented 11 months ago

Related to engine bug: https://github.com/FWGS/xash3d-fwgs/issues/947

a1batross commented 11 months ago

primext/dlls/hl_amd64.so

Also, this path is incorrect, in PrimeXT it must be primext/bin/server_amd64.so, according to gameinfo.txt.

I don't know how you can "manually load into a map", without having a working server DLL.

SNMetamorph commented 11 months ago

Also I recommend to try use engine build: https://github.com/FWGS/xash3d-fwgs/releases/tag/continuous-disable-server-unload It has some fixes that may be the reason of this issue.

Zorik99 commented 11 months ago

Also I recommend to try use engine build: https://github.com/FWGS/xash3d-fwgs/releases/tag/continuous-disable-server-unload It has some fixes that may be the reason of this issue.

Works better, but still crashes with CGraph::FindNearestNode.

SNMetamorph commented 11 months ago

Also I recommend to try use engine build: https://github.com/FWGS/xash3d-fwgs/releases/tag/continuous-disable-server-unload It has some fixes that may be the reason of this issue.

Works better, but still crashes with CGraph::FindNearestNode.

Attach your engine.log file. To enable engine to create it, pass in -dev 2 startup argument.

Zorik99 commented 11 months ago

engine.log

SNMetamorph commented 11 months ago

Try to remove all .nod files inside your game directory

Zorik99 commented 11 months ago

Try to remove all .nod files inside your game directory

That helped. The only issue that I now encounter is game freezing forever on trigger_changelevel.

[2023:09:28|00:29:11] CHANGE LEVEL: c0a0a c0a0toa
[2023:09:28|00:29:11] Spawn Server: c0a0a [c0a0toa]
[2023:09:28|00:29:12] loading maps/c0a0a.bsp
[2023:09:28|00:29:12] Warning: FS_LoadImage: couldn't load "alpha_sky"
[2023:09:28|00:29:12] Warning: FS_LoadImage: couldn't load "solid_sky"
[2023:09:28|00:29:12] lighting: colored
[2023:09:28|00:29:12] Mod_LoadWorld: c0a0a
[2023:09:28|00:29:12] GL_LoadGPUBinaryShader: loaded "forward/scene_bmodel" from "cache/glsl/44A4FD7C.bin"
[2023:09:28|00:29:12] Loading game from save/c0a0a.HL1...
[2023:09:28|00:29:12] Error: Couldn't open save data file save/c0a0a.HL1.
[2023:09:28|00:29:12] 
GAME SKILL LEVEL:1
[2023:09:28|00:29:12] loading models/woodgibs.mdl
[2023:09:28|00:29:12] loading sprites/plasma.spr
[2023:09:28|00:29:12] 
0 entities inhibited
[2023:09:28|00:29:12] Loading game from save/c0a0.HL1...
a1batross commented 11 months ago

Sounds like it's generating the nodes?

Actually, I don't know whether node file format in PrimeXT is compatible with the Half-Life, so regenerating them is the only way.

But if it's not, and PrimeXT didn't break the file format, it might be a good idea to look up into hlsdk-portable repository and add the fixes for node files compatibility between 32-bit platforms and 64-bit.

Zorik99 commented 11 months ago

All Half-Life node files were deleted. Adding mentioned fixes from hlsdk-portable hasn't changed anything. Game still either freezes forever on trigger_changelevel, without generating any node files, or spawns player at (0, 0, 0) coordinate with camera tilted like on death. Happens both when nodes are generated or not for destination level. In few rare cases, game crashes instead. I have also noticed that PrimeXT for some reason places .nrp in maps/ folder, not maps/graphs/.

SNMetamorph commented 6 months ago

Try to remove all .nod files inside your game directory

That helped. The only issue that I now encounter is game freezing forever on trigger_changelevel.

[2023:09:28|00:29:11] CHANGE LEVEL: c0a0a c0a0toa
[2023:09:28|00:29:11] Spawn Server: c0a0a [c0a0toa]
[2023:09:28|00:29:12] loading maps/c0a0a.bsp
[2023:09:28|00:29:12] Warning: FS_LoadImage: couldn't load "alpha_sky"
[2023:09:28|00:29:12] Warning: FS_LoadImage: couldn't load "solid_sky"
[2023:09:28|00:29:12] lighting: colored
[2023:09:28|00:29:12] Mod_LoadWorld: c0a0a
[2023:09:28|00:29:12] GL_LoadGPUBinaryShader: loaded "forward/scene_bmodel" from "cache/glsl/44A4FD7C.bin"
[2023:09:28|00:29:12] Loading game from save/c0a0a.HL1...
[2023:09:28|00:29:12] Error: Couldn't open save data file save/c0a0a.HL1.
[2023:09:28|00:29:12] 
GAME SKILL LEVEL:1
[2023:09:28|00:29:12] loading models/woodgibs.mdl
[2023:09:28|00:29:12] loading sprites/plasma.spr
[2023:09:28|00:29:12] 
0 entities inhibited
[2023:09:28|00:29:12] Loading game from save/c0a0.HL1...

Looks like that there was issue with broken sav-files loading on non-debug builds. You can recheck it on latest PrimeXT builds.