moritz-h / satisfactory-3d-map

A 3D map savegame tool for the game Satisfactory.
GNU General Public License v3.0
26 stars 1 forks source link

Error on loading Saved Game #3

Closed seffyroff closed 1 year ago

seffyroff commented 1 year ago

Hi there! Thanks for making this :)

I had a go at using it, and I'm sure I'm doing something basic wrong, my apologies. After setting the Game Dir, and loading a Save, it crashes. Here's the console output:

 Debug  .\Satisfactory3DMap.exe
[14:50:03.930] [I] [Satisfactory3DMap]
[14:50:03.932] [I] Version: 0.5.0 (Git: v0.5.1-1-g322b430cb3d9)
[14:50:03.933] [I] Read config file: D:\dev\satisfactory-3d-map\build\Debug\Satisfactory3DMap.cfg
[14:50:04.181] [I] GPU-Vendor: ATI Technologies Inc.
[14:50:04.181] [I] GPU-Renderer: AMD Radeon RX 6750 XT
[14:50:04.181] [I] GPU-OpenGL-Version: 4.5.0 Core Profile Context 23.2.2.230217
[14:50:04.182] [I] GPU-GLSL-Version: 4.60
[14:50:04.245] [I] PakManager init dir: D:\epicgames\SatisfactoryEarlyAccess
[14:50:05.669] [I] Search for pak files in Mods directory.
[14:50:14.461] [E] ERROR: 0:69: 'length' : does not operate on this type: layout( column_major std430 offset=0) readonly temp structure{layout( std430) global 4-component vector of float p0, layout( std430) global 4-component vector of float p1, layout( std430) global 4-component vector of float t0, layout( std430) global 4-component vector of float t1, layout( std430) global float length, layout( std430) global float _padding1_, layout( std430) global float _padding2_, layout( std430) global float _padding3_}
ERROR: 0:69: '>' :  wrong operand types: no operation '>' exists that takes a left-hand operand of type ' temp float' and a right operand of type 'layout( column_major std430 offset=0) readonly temp structure{layout( std430) global 4-component vector of float p0, layout( std430) global 4-component vector of float p1, layout( std430) global 4-component vector of float t0, layout( std430) global 4-component vector of float t1, layout( std430) global float length, layout( std430) global float _padding1_, layout( std430) global float _padding2_, layout( std430) global float _padding3_}' (or there is no acceptable conversion)
ERROR: 0:69: '' : compilation terminated
ERROR: 3 compilation errors.  No code generated.

[14:51:00.512] [W] Unknown struct name "GlobalColorPreset", try parsing as PropertyStruct.
[14:51:00.512] [W] Unknown struct name "GlobalColorPreset", try parsing as PropertyStruct.
[14:51:00.512] [W] Unknown struct name "GlobalColorPreset", try parsing as PropertyStruct.
[14:51:00.513] [W] Unknown struct name "GlobalColorPreset", try parsing as PropertyStruct.
[14:51:00.513] [W] Unknown struct name "GlobalColorPreset", try parsing as PropertyStruct.
[14:51:00.817] [W] Unknown struct name "HighlightedMarkerPair", try parsing as PropertyStruct.
[14:51:00.817] [W] Unknown struct name "HighlightedMarkerPair", try parsing as PropertyStruct.
[14:51:00.818] [W] Unknown struct name "HighlightedMarkerPair", try parsing as PropertyStruct.
[14:51:00.869] [W] Unknown struct name "PlayerRules", try parsing as PropertyStruct.
[14:51:01.756] [W] Unknown struct name "PlayerRules", try parsing as PropertyStruct.
[14:51:02.149] [W] Unknown struct name "MapType;/Game/FactoryGame/Buildable/Factory/TruckStation/Build_TruckStation.Build_TruckStation_C;mDockingVehicleStatistics", try parsing as PropertyStruct.
[14:51:02.157] [W] Unknown struct name "MapType;/Game/FactoryGame/Buildable/Factory/TruckStation/Build_TruckStation.Build_TruckStation_C;mDockingVehicleStatistics", try parsing as PropertyStruct.
[14:51:09.417] [I] Savegame header:
Save Header Version:     10
Save Version:            36
Build Version:           211839
Map Name:                Persistent_Level
Map Options:             ?sessionName=Nerdery-1?startloc=Northern Forest?Visibility=SV_Private
Session Name:            Nerdery-1
Play Duration (seconds): 1061176 (294.771 h)
Save Date Time (ticks):  1678488365 (2023-03-10 14:46:05)
Session Visibility:      0
Editor Object Version:   40
Mod Metadata:
Is Modded Save:          0
Save Identifier:         NcRNEC5Jfjbv92mqiPSlYA

[14:51:09.621] [E] Cannot read BuildingMeshProxy: Game/FactoryGame/Buildable/Building/Ladder/Build_Ladder.uasset
 philm   Debug   master≡                                                                 in pwsh at 14:51:14
moritz-h commented 1 year ago

It seems newer versions of the AMD graphics driver do not like the word length as member name of a struct in GLSL. It seems the AMD driver now is using glslang for shader compilation, so the basic problem would probably be this issue: https://github.com/KhronosGroup/glslang/issues/2750

Fixed in 7140a1840d4245ab11d90454a77b2ba2154291e4 by renaming the struct member. I will tag a new release as this should affect everyone with an up to date AMD driver trying to use this tool.

moritz-h commented 1 year ago

v0.5.2 is released with the fix.

Thanks for reporting this.

seffyroff commented 1 year ago

Thanks, this works great now!