OpenGothic icon indicating copy to clipboard operation
OpenGothic copied to clipboard

Standard mod ini fails to start the game

Open versable opened this issue 1 year ago • 3 comments

In a clean installation, the issue described here (https://github.com/Try/OpenGothic/discussions/570) still persists.

The default GothicGame.ini

[INFO]
Title=Gothic II: Gold Edition
Version=2.7
Authors=Piranha Bytes
Webpage=http://www.piranha-bytes.com
Description=!<symlink>GothicGame.rtf
Icon=GothicStarter.exe

[FILES]
VDF=GothicGame.mod
Game=Content\Gothic
FightAI=Content\Fight
Menu=System\Menu
Camera=System\Camera
Music=System\Music
SoundEffects=System\SFX
ParticleEffects=System\ParticleFX
VisualEffects=System\VisualFX
OutputUnits=OU

[SETTINGS]
Player=PC_HERO
World=NewWorld\NewWorld.zen

[OPTIONS]
show_Info=0
show_InfoX=800
show_InfoY=7200
show_Version=1
show_VersionX=6500
show_VersionY=7200
show_Focus=1
show_FocusItm=1
show_FocusMob=1
show_FocusNpc=1
show_FocusBar=1
force_Subtitles=0
force_Parameters=

[OVERRIDES]
INTERNAL.extendedMenu=1

The offending lines:

Game=Content\Gothic
FightAI=Content\Fight

Output when trying to start a game:

OpenGothic v1.0 dev
no "SystemPack.ini" file in path - using default settings
Switching music provider to 'GothicKit'
GPU = Intel(R) Graphics (RPL-P)
Depth format = Depth32F Shadow format = Depth16
[dmusic] DmBand: Downloading instruments for band 'Ingame'
[dmusic] DmRiff: Chunk LIST:[adtl] not fully parsed, 16 bytes remaining
[dmusic] DmRiff: Chunk LIST:[adtl] not fully parsed, 16 bytes remaining
[dmusic] DmBand: Downloading instruments for band 'Ingame'
[dmusic] DmLoader: Automatic download of segment 'gamestart.sgt' succeeded
[dmusic] DmSegment: NULL passed to `DmSegment_release`
[dmusic] DmPerformance: Playing segment "Gamestart" (repeat 1/9999)
[dmusic] DmPerformance: Playing pattern 'part_1' (measure 1, length 8)
[dmusic] DmBand: Downloading instruments for band 'Ingame'
[dmusic] DmBand: Downloading instruments for band 'Ingame'
[dmusic] DmLoader: Automatic download of segment 'gamestart.sgt' succeeded
loading error: Failed to open /home/versable/drive_c/GOG Games/Gothic 2 Gold New/_work/Data/Scripts/_compiled/Content\Gothic.DAT
[dmusic] DmPerformance: Playing segment "Composed Transition" (repeat 1/1)
[dmusic] DmPerformance: Playing segment "Gamestart" (repeat 1/9999)
[dmusic] DmPerformance: Playing pattern 'part_1' (measure 1, length 8)

versable avatar Jan 30 '25 10:01 versable

Hi, @versable !

Yes, at the moment opengothic uses hard-coded paths to system scripts. For example:

// fightaidefinitions.cpp
FightAi::FightAi() {
  auto vm = Gothic::inst().createPhoenixVm("Fight.dat");

Try avatar Feb 02 '25 11:02 Try

@Try Would all these files be affected by mod INIs?

$ grep -Iir 'Gothic::inst().createPhoenixVm'
game/ui/menuroot.cpp:  vm     = Gothic::inst().createPhoenixVm("MENU.DAT", ScriptLang(vmLang));
game/game/definitions/sounddefinitions.cpp:  auto vm = Gothic::inst().createPhoenixVm("Sfx.dat");
game/game/definitions/visualfxdefinitions.cpp:  vm = Gothic::inst().createPhoenixVm("VisualFx.dat");
game/game/definitions/cameradefinitions.cpp:  auto vm = Gothic::inst().createPhoenixVm("Camera.dat");
game/game/definitions/musicdefinitions.cpp:  vm = Gothic::inst().createPhoenixVm("Music.dat");
game/game/definitions/particlesdefinitions.cpp:  vm = Gothic::inst().createPhoenixVm("ParticleFx.dat");
game/game/definitions/fightaidefinitions.cpp:  auto vm = Gothic::inst().createPhoenixVm("Fight.dat");

versable avatar Sep 11 '25 16:09 versable

Hi, @versable !

Actually... I don't know for sure. General assumption, that game suppose to pull "*.dat" files from virtual-file system and vdfs in gothic ignores full path.

Try avatar Sep 11 '25 18:09 Try