OpenDriver2 / REDRIVER2

Driver 2 Playstation game reverse engineering effort
MIT License
1.06k stars 61 forks source link

[Linux] Main menu items does not get displayed on builds other than Debug #63

Closed VinnyVynce closed 3 years ago

VinnyVynce commented 3 years ago

Describe the bug The main menu doesn't show up after the FMVs on the Release and Dev linux builds. The main menu actually show up with the debug executable. Dev can work if you use pass a -mission argument for example. My DRIVER2 directory works perfectly on the release build on Windows.

To Reproduce Steps to reproduce the behavior:

  1. Either Download the artifacts binaries or build it from source.
  2. Launch the game in either Release or Debug

Expected behavior I expect to see a main menu on all releases. I'm not sure what differs between debug and dev to actually show up the main menu.

Screenshots Release: image Dev: image Debug: image

Desktop (please complete the following information):

SoapyMan commented 3 years ago

@VinnyVynce can you provide debug messages from console? It should also have your video driver specs. Also, does this happening on this pull request build? https://ci.appveyor.com/project/SoapyMan/redriver2-10jm8/build/job/h9xgumrf0ejq2qbd

VinnyVynce commented 3 years ago

Release: (Not Working)

[Psy-X] Initialising Psy-X 1.500
[Psy-X] Build date: Dec 19 2020:22:42:10
[Psy-X] *Video adapter: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.39.0, 5.9.14-200.fc33.x86_64, LLVM 10.0.0) by X.Org
[Psy-X] *OpenGL version: 4.6 (Compatibility Profile) Mesa 20.0.8
[Psy-X] *GLSL version: 4.60
[Psy-X] [StopCallback] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
[Psy-X] [SetGraphDebug] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetCommonAttr] - Unimplemented!
found sound device: OpenAL Soft
[Psy-X] PSX SPU effects are supported and initialized
[Psy-X] [PadStartCom] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetReverbModeParam] - Unimplemented!
[Psy-X] [SpuSetReverbDepth] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [StopCallback] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [PadStartCom] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetReverbModeParam] - Unimplemented!
[Psy-X] [SpuSetReverbDepth] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
*---LSBD(): successful init---*

[Psy-X] [SpuIsTransferCompleted] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
AL lib: (EE) alc_cleanup: 1 device not closed

Dev: (Not Working)

[Psy-X] Initialising Psy-X 1.500
[Psy-X] Build date: Dec 19 2020:22:42:18
[Psy-X] *Video adapter: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.39.0, 5.9.14-200.fc33.x86_64, LLVM 10.0.0) by X.Org
[Psy-X] *OpenGL version: 4.6 (Compatibility Profile) Mesa 20.0.8
[Psy-X] *GLSL version: 4.60
[Psy-X] [StopCallback] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
[Psy-X] [SetGraphDebug] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetCommonAttr] - Unimplemented!
found sound device: OpenAL Soft
[Psy-X] PSX SPU effects are supported and initialized
[Psy-X] [PadStartCom] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetReverbModeParam] - Unimplemented!
[Psy-X] [SpuSetReverbDepth] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [StopCallback] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [PadStartCom] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetReverbModeParam] - Unimplemented!
[Psy-X] [SpuSetReverbDepth] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
*---LSBD(): successful init---*

[Psy-X] [SpuIsTransferCompleted] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
AL lib: (EE) alc_cleanup: 1 device not closed

Debug: (Working)

[Psy-X] Initialising Psy-X 1.500
[Psy-X] Build date: Dec 19 2020:22:42:05
[Psy-X] *Video adapter: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.39.0, 5.9.14-200.fc33.x86_64, LLVM 10.0.0) by X.Org
[Psy-X] *OpenGL version: 4.6 (Compatibility Profile) Mesa 20.0.8
[Psy-X] *GLSL version: 4.60
[Psy-X] [StopCallback] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
[Psy-X] [SetGraphDebug] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetCommonAttr] - Unimplemented!
found sound device: OpenAL Soft
[Psy-X] PSX SPU effects are supported and initialized
[Psy-X] [PadStartCom] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetReverbModeParam] - Unimplemented!
[Psy-X] [SpuSetReverbDepth] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [StopCallback] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [PadStartCom] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetReverbModeParam] - Unimplemented!
[Psy-X] [SpuSetReverbDepth] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
*---LSBD(): successful init---*

[Psy-X] [SpuIsTransferCompleted] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
AL lib: (EE) alc_cleanup: 1 device not closed

As for the pull request you asked, it was even worst for the release. No FMV (black screen with audio) and the main menu was still missing. Here's the log:

[Psy-X] Initialising Psy-X 1.500
[Psy-X] Build date: Dec 19 2020:15:58:34
[Psy-X] *Video adapter: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.39.0, 5.9.14-200.fc33.x86_64, LLVM 10.0.0) by X.Org
[Psy-X] *OpenGL version: 4.6 (Compatibility Profile) Mesa 20.0.8
[Psy-X] *GLSL version: 4.60
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet!
found sound device: OpenAL Soft
[Psy-X] PSX SPU effects are supported and initialized
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet!
*---LSBD(): successful init---*

AL lib: (EE) alc_cleanup: 1 device not closed

I'm using Wayland as my windowing system but I have the exact same issue on XOrg.

SoapyMan commented 3 years ago

Hmmm. Seems like OpenGL 3.1 context has less issues than 3.3. Also I can see you running on Mesa. Does this happen on propietary drivers?

SoapyMan commented 3 years ago

I suspect it is caused by code size optimization setting. @VinnyVynce can you test the new build from the same link?

VinnyVynce commented 3 years ago

image This dev build like the other lhave no video output at all during the FMV, the main menu still have the same issue. I also noticed another thing, if I wait in the main menu long enough for the demo and I wait or cancel it I get a segfault when I load back in the menu. Here's the log:

[Psy-X] Initialising Psy-X 1.500
[Psy-X] Build date: Dec 20 2020:10:46:35
[Psy-X] *Video adapter: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.39.0, 5.9.14-200.fc33.x86_64, LLVM 10.0.0) by X.Org
[Psy-X] *OpenGL version: 4.6 (Compatibility Profile) Mesa 20.0.8
[Psy-X] *GLSL version: 4.60
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet!
found sound device: OpenAL Soft
[Psy-X] PSX SPU effects are supported and initialized
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet!
*---LSBD(): successful init---*

malloc(4096) in GameInit, line 496. Malloc usage: 4096
malloc(1308) in LoadMission, line 697. Malloc usage: 5404
*---LSBD(): successful init---*

*---LSBD(): saved memtop---*

*---LSBD(): saved banktop 9---*
NewLevel in InitMusic()
malloc(26756) in InitMusic, line 1828. Malloc usage: 32160
[Psy-X] [CdControlB] - Unhandled command 0x0E!
LUMP_TEXTURENAMES: size: 7112
LUMP_TEXTUREINFO: size: 8360
LUMP_MODELNAMES: size: 2762
LUMP_PALLET: size: 15576
LUMP_MOTIONCAPTURE: size: 2450
malloc(2452) in ProcessMotionLump, line 461. Malloc usage: 48964
LUMP_MOTIONCAPTURE: size: 2594
malloc(2596) in ProcessMotionLump, line 461. Malloc usage: 51560
LUMP_MOTIONCAPTURE: size: 2450
malloc(2452) in ProcessMotionLump, line 461. Malloc usage: 54012
LUMP_MOTIONCAPTURE: size: 2450
malloc(2452) in ProcessMotionLump, line 461. Malloc usage: 56464
LUMP_MOTIONCAPTURE: size: 2450
malloc(2452) in ProcessMotionLump, line 461. Malloc usage: 58916
LUMP_MOTIONCAPTURE: size: 2450
malloc(2452) in ProcessMotionLump, line 461. Malloc usage: 61368
LUMP_MOTIONCAPTURE: size: 2882
malloc(2884) in ProcessMotionLump, line 461. Malloc usage: 64252
LUMP_MOTIONCAPTURE: size: 2594
malloc(2596) in ProcessMotionLump, line 461. Malloc usage: 66848
LUMP_MOTIONCAPTURE: size: 3840
malloc(3840) in ProcessMotionLump, line 461. Malloc usage: 70688
LUMP_MOTIONCAPTURE: size: 3840
malloc(3840) in ProcessMotionLump, line 461. Malloc usage: 74528
LUMP_MOTIONCAPTURE: size: 3840
malloc(3840) in ProcessMotionLump, line 461. Malloc usage: 78368
LUMP_MOTIONCAPTURE: size: 240
malloc(240) in ProcessMotionLump, line 461. Malloc usage: 78608
LUMP_MOTIONCAPTURE: size: 240
malloc(240) in ProcessMotionLump, line 461. Malloc usage: 78848
LUMP_MOTIONCAPTURE: size: 240
malloc(240) in ProcessMotionLump, line 461. Malloc usage: 79088
LUMP_CAR_MODELS: size: 123324
malloc(256000) in LoadGameLevel, line 440. Malloc usage: 335088
LUMP_MODELS: size: 172716
malloc(3990) in ProcessCarModelLump, line 226. Malloc usage: 339078
malloc(1054) in ProcessCarModelLump, line 234. Malloc usage: 340132
malloc(1334) in ProcessCarModelLump, line 242. Malloc usage: 341466
malloc(3942) in ProcessCarModelLump, line 226. Malloc usage: 345408
malloc(1046) in ProcessCarModelLump, line 234. Malloc usage: 346454
malloc(1270) in ProcessCarModelLump, line 242. Malloc usage: 347724
malloc(4086) in ProcessCarModelLump, line 226. Malloc usage: 351810
malloc(1078) in ProcessCarModelLump, line 234. Malloc usage: 352888
malloc(1326) in ProcessCarModelLump, line 242. Malloc usage: 354214
malloc(4038) in ProcessCarModelLump, line 226. Malloc usage: 358252
malloc(1062) in ProcessCarModelLump, line 234. Malloc usage: 359314
malloc(1630) in ProcessCarModelLump, line 242. Malloc usage: 360944
malloc(4054) in ProcessCarModelLump, line 226. Malloc usage: 364998
malloc(1086) in ProcessCarModelLump, line 234. Malloc usage: 366084
malloc(1654) in ProcessCarModelLump, line 242. Malloc usage: 367738
malloc(4974) in ProcessCarModelLump, line 250. Malloc usage: 372712
malloc(1936) in SetUpEvents, line 1408. Malloc usage: 374648
LUMP_SPOOLINFO: size: 3084
malloc(65536) in ProcessSpoolInfoLump, line 970. Malloc usage: 440184
malloc(38912) in ProcessSpoolInfoLump, line 1014. Malloc usage: 479096
malloc(38912) in ProcessSpoolInfoLump, line 1014. Malloc usage: 518008
malloc(40960) in ProcessSpoolInfoLump, line 1014. Malloc usage: 558968
malloc(40960) in ProcessSpoolInfoLump, line 1014. Malloc usage: 599928
malloc(172208) in InitCellData, line 71. Malloc usage: 772136
LUMP_STRAIGHTS2: size: 21816
LUMP_CURVES2: size: 4232
LUMP_JUNCTIONS2_NEW: size: 3028
LUMP_SUBDIVISION: size: 19392
LUMP_OVERLAYMAP: size: 21880
malloc(21880) in ProcessOverlayLump, line 414. Malloc usage: 794016
LUMP_CHAIR: size: 4092
LUMP_LOWDETAILTABLE: size: 4820
[Psy-X] [CdControlB] - Unhandled command 0x0E!
MR 0 command: ShowPlayerMessage(83, 2)
MR 0 command: StartThreadForPlayer(7)
*---LSBD(): successful init---*

Segmentation fault (core dumped)

Segfault in dmesg:

[48758.319114] perf: interrupt took too long (6232 > 6226), lowering kernel.perf_event_max_sample_rate to 32000
[50201.997079] i915 0000:00:02.0: cannot be used for peer-to-peer DMA as the client and provider (0000:06:00.0) do not share an upstream bridge or whitelisted host bridge
[50352.027477] REDRIVER2_dev_o[209383]: segfault at 2 ip 000000005666e54f sp 00000000ffe5c2f0 error 4 in REDRIVER2_dev_opengl[5662f000+fa000]
[50352.027483] Code: b7 44 24 1a c7 83 a8 28 04 00 00 00 00 00 83 c4 10 89 ab ac 28 04 00 66 89 83 b6 d2 03 00 b8 1b 00 00 00 66 89 83 b2 d2 03 00 <0f> b6 45 02 84 c0 74 61 83 ec 0c 6a 01 ff 94 83 34 1a 00 00 83 c4
[50434.208047] REDRIVER2_dev_o[209486]: segfault at 2 ip 000000005664d54f sp 00000000ffe8c550 error 4 in REDRIVER2_dev_opengl[5660e000+fa000]
[50434.208053] Code: b7 44 24 1a c7 83 a8 28 04 00 00 00 00 00 83 c4 10 89 ab ac 28 04 00 66 89 83 b6 d2 03 00 b8 1b 00 00 00 66 89 83 b2 d2 03 00 <0f> b6 45 02 84 c0 74 61 83 ec 0c 6a 01 ff 94 83 34 1a 00 00 83 c4
[50660.429723] REDRIVER2_dev_o[209601]: segfault at 2 ip 000000005661554f sp 00000000ffb798e0 error 4 in REDRIVER2_dev_opengl[565d6000+fa000]
[50660.429730] Code: b7 44 24 1a c7 83 a8 28 04 00 00 00 00 00 83 c4 10 89 ab ac 28 04 00 66 89 83 b6 d2 03 00 b8 1b 00 00 00 66 89 83 b2 d2 03 00 <0f> b6 45 02 84 c0 74 61 83 ec 0c 6a 01 ff 94 83 34 1a 00 00 83 c4
[50666.368483] pcieport 0000:00:1c.0: AER: Corrected error received: 0000:00:1c.0
[50666.368494] pcieport 0000:00:1c.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
[50666.368498] pcieport 0000:00:1c.0:   device [8086:9d10] error status/mask=00001000/00002000
[50666.368502] pcieport 0000:00:1c.0:    [12] Timeout  

All the dev/releases seems to react with the same segfault at the end of the demo. The Debug doesn't.

EDIT: I also tried to run it inside a virtual machine just to remove AMD/Mesa issues and I had the exact same issue with a VMware graphic adapter. I'll spend some time looking at the code if I can find why it's doing that.

SoapyMan commented 3 years ago

I ran it yesterday on XUbuntu and only had FMV not drawn. Main menu was visible :thonk:

VinnyVynce commented 3 years ago

What's your hardware and which release of Xubuntu did you use? I'll try it on my hardware again.

SoapyMan commented 3 years ago

@VinnyVynce I use Xubuntu 20.10. As for hardware I used propietary nvidia drivers, didn't tried to run on Mesa yet

SoapyMan commented 3 years ago

Fixed in 87621be I will close this issue for now but if problems still remain please reopen.

VinnyVynce commented 3 years ago

so @SoapyMan I've finally tried with new hardware. Ryzen 2700x, NVIDIA GTX 1660 /w proprietary drivers (nvidia-drivers 450.80.02) I've tried on Xubuntu 20.10, I first installed the packages.

sudo apt install g++-multilib libsdl2-2.0-0:i386 libsdl2-dev:i386 libopenal1:i386 libopenal-dev:i386 libjpeg-turbo8:i386 libjpeg-turbo8-dev:i386 -y

I first tried with the latest github release but still the same issue. Here's the game log:

[Psy-X] Initialising Psy-X 1.500
[Psy-X] Build date: Dec  2 2020:15:45:11
[Psy-X] *Video adapter: GeForce GTX 1660/PCIe/SSE2 by NVIDIA Corporation
[Psy-X] *OpenGL version: 3.1.0 NVIDIA 450.80.02
[Psy-X] *GLSL version: 1.40 NVIDIA via Cg compiler
[Psy-X] [StopCallback] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
[Psy-X] [SetGraphDebug] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetCommonAttr] - Unimplemented!
found sound device: OpenAL Soft
[Psy-X] PSX SPU effects are supported and initialized
[Psy-X] [PadStartCom] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetReverbModeParam] - Unimplemented!
[Psy-X] [SpuSetReverbDepth] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [StopCallback] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [PadStartCom] - Unimplemented!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet![Psy-X] [SpuSetReverbModeParam] - Unimplemented!
[Psy-X] [SpuSetReverbDepth] - Unimplemented!
[Psy-X] [SpuSetCommonAttr] - Unimplemented!
*---LSBD(): successful init---*

[Psy-X] [SpuIsTransferCompleted] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
[Psy-X] [ResetGraph] - Unimplemented!
AL lib: (EE) alc_cleanup: 1 device not closed

I've also built your branch just to see if it worked for me but it's still the same thing. Here's the log for this one.

[Psy-X] Initialising Psy-X 1.700
[Psy-X] Build date: Dec 24 2020:12:58:09
[Psy-X] *Video adapter: GeForce GTX 1660/PCIe/SSE2 by NVIDIA Corporation
[Psy-X] *OpenGL version: 4.6.0 NVIDIA 450.80.02
[Psy-X] *GLSL version: 4.60 NVIDIA
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet!
found sound device: OpenAL Soft
[Psy-X] PSX SPU effects are supported and initialized
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet!
[Psy-X] [ParseCueSheet] - Failed to open disc image file! IMAGE.CUE
[Psy-X] [CdInit] - Failed to read cue sheet!
*---LSBD(): successful init---*

AL lib: (EE) alc_cleanup: 1 device not closed

Edit: here's my list of packages for Xubuntu 20.10. This is coming from a clean install with new hardware so I'm really not sure what I should do next, I was kinda hoping it was related to MESA or i915 but it doesn't seems like it. Thanks a lot and sorry to bother you. I really like the project!

SoapyMan commented 3 years ago

@VinnyVynce I think i've fixed the bug. It was appearing on Windows as well (not on my dev PC as usual lol) and this time it was messing localization strings. But it was main menu related bug.

VinnyVynce commented 3 years ago

Oh that's really nice to hear @SoapyMan, I'll try the latest version later today if I can find the time. I took some time on the past few days looking at the code and I noticed my issue was related to optimization by the compiler, gcc and g++. Two files breaks the game for me under O3 optimization. Those files are FEMAIN.C; this one cause the menu to appear disappeared but in fact it's only the fonts not loading. Removing the Loadfile function for the fonts leads to a working menu for me. The other file with a O3 optimization issue is redriver2_psxpc.cpp, this one cause the chases to be buggy as hell. For example in mission 2, in the middle of the chase, they just hit the handbrake for no reason and go ape shit hitting every building in sight. I think it might due to poor initialization of variables for both of those since they both look like memory issues. I could "fix" the fonts in FEMAIN.C just by moving the feFont variable under the struct but it broke the debug build lol.

VinnyVynce commented 3 years ago

@SoapyMan I've tried your branch today and I can confirm the menu works perfectly fine. However bugs occur when anything past O0 optimization occur on redriver2_psxpc.cpp

VinnyVynce commented 3 years ago

Just want to give you an update on the linux build on my side, the latest changes you've done in your development branch fixed the issue! Good job! @SoapyMan