halpz/re3

"gta_vc.set" is not found!

Opened this issue · 6 comments

Describe the bug & To Reproduce*
This bug happens when I launch reVC , it fails to create a window. Then I cd to Grand Theft Auto Vice City's directory and launch it from there and I get this output. I'm currently on FreeBSD but this also happens on Mac OS as a friend tried to play it recently, and he had the same output.

Expected behavior
Launch and play the game normally.

Output

  • Gamer@BSD:~/Documents/GTAVC/GTAVC $ ./reVC
  • [DBG]: cdvd_stream: read info 0x51e6b865000
  • [DBG]: Using one streaming thread for all channels
  • [DBG]: size of matrix 80
  • [DBG]: size of matrix 80
  • [DBG]: size of placeable 80
  • [DBG]: size of entity 120
  • [DBG]: size of building 120
  • [DBG]: size of dummy 128
  • [DBG-2]: [../src/skel/glfw/glfw.cpp.psInitialize:484]: gGameState = GS_START_UP
  • casepath couldn't find dir/file "gta_vc.set", full path was gta_vc.set
  • Segmentation fault (core dumped)
  • Gamer@BSD:~/Documents/GTAVC/GTAVC $

Looks like this is the problem, it should create a setting if it doesn't find it but it doesn't. File: /src/skel/glfw

#ifdef LOAD_INI_SETTINGS
		// At this point InitDefaultControlConfigJoyPad must have set all bindings to default and ms_padButtonsInited to number of detected buttons.
		// We will load stored bindings below, but let's cache ms_padButtonsInited before LoadINIControllerSettings and LoadSettings clears it,
		// so we can add new joy bindings **on top of** stored bindings.
		int connectedPadButtons = ControlsManager.ms_padButtonsInited;
#endif

		int32 gta3set = CFileMgr::OpenFile("gta_vc.set", "r");
		
		if ( gta3set )
		{
			ControlsManager.LoadSettings(gta3set);
			CFileMgr::CloseFile(gta3set);
		}
		
		CFileMgr::SetDir("");

It might not be the problem. While looking at the output, I figured that the same output comes from GTA 3 as well, the error might be different..

From what I can see its causing a segmentation error after the part I said prior. Here it is

  • Gamer@BSD:~/Documents/GTAVC/GTAVC $ ./reVC
  • [DBG]: cdvd_stream: read info 0x101ed8c65000
  • [DBG]: Using one streaming thread for all channels
  • [DBG]: size of matrix 80
  • [DBG]: size of matrix 80
  • [DBG]: size of placeable 80
  • [DBG]: size of entity 120
  • [DBG]: size of building 120
  • [DBG]: size of dummy 128
  • [DBG-2]: [../src/skel/glfw/glfw.cpp.psInitialize:412]: gGameState = GS_START_UP
  • casepath couldn't find dir/file "gta_vc.set", full path was gta_vc.set
  • Segmentation fault (core dumped)

More details..


Gamer@BSD:~/Documents/GTAVC/GTAVC $ gdb ./reVC
GNU gdb (GDB) 14.1 [GDB v14.1 for FreeBSD]
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-portbld-freebsd14.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./reVC...
(gdb) run
Starting program: /home/Gamer/Documents/GTAVC/GTAVC/reVC 
warning: File "/usr/local/lib/gcc12/libstdc++.so.6.0.30-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
        add-auto-load-safe-path /usr/local/lib/gcc12/libstdc++.so.6.0.30-gdb.py
line to your configuration file "/home/Gamer/.config/gdb/gdbinit".
To completely disable this security protection add
        set auto-load safe-path /
line to your configuration file "/home/Gamer/.config/gdb/gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
        info "(gdb)Auto-loading safe path"
[DBG]: cdvd_stream: read info 0x801c65000
[DBG]: Using one streaming thread for all channels
[New LWP 124695 of process 41763]
[DBG]: Created cdstrea80
[DBG]: Created cdstrea80
[DBG]: size of placeable 80
[DBG]: size of entity 120
[DBG]: size of building 120
[DBG]: size of dummy 128
[DBG-2]: [../src/skel/glfw/glfw.cpp.psInitialize:412]: gGameState = GS_START_UP
casepath couldn't find dir/file "gta_vc.set", full path was gta_vc.set

Thread 1 received signal SIGSEGV, Segmentation fault.
Invalid permissions for mapped object.
0x0000000800d3d188 in vtable for __cxxabiv1::__si_class_type_info () from /lib/libcxxrt.so.1
(gdb) bt
#0  0x0000000800d3d188 in vtable for __cxxabiv1::__si_class_type_info () from /lib/libcxxrt.so.1
#1  0x0000000800ea6393 in __dynamic_cast () from /usr/local/lib/gcc12/libstdc++.so.6
#2  0x0000000800f329c5 in bool std::has_facet<std::codecvt<char, char, __mbstate_t> >(std::locale const&) () from /usr/local/lib/gcc12/libstdc++.so.6
#3  0x0000000800f19e3a in std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf() () from /usr/local/lib/gcc12/libstdc++.so.6


Fatal signal: Segmentation fault
----- Backtrace -----
0x135a421 ???
0x1479311 ???
0x1479a7f ???
0x83210f53e handle_signal
        /usr/src/lib/libthr/thread/thr_sig.c:301
0x83210eafa thr_sighandler
        /usr/src/lib/libthr/thread/thr_sig.c:244
0x823a112d2 ???
0x132af29 ???
0x13c7f10 ???
0x14bc5e0 ???
0x137cca9 ???
0x1819e59 ???
0x1768300 ???
0x1767aa0 ???
0x175fa08 ???
0x1766706 ???
0x138e2d5 ???
0x17ce7cf ???
0x1478aba ???
0x1478e45 ???
0x1478482 ???
0x8248164c2 ???
0x147988d ???
0x14780cc ???
0x1802a5f ???
0x1cab612 ???
0x1cab0e4 ???
0x157c819 ???
0x1579b20 ???
0x1259fb0 ???
0x831b5daf9 __libc_start1
        /usr/src/lib/libc/csu/libc_start1.c:157
0x1259e9f ???
---------------------
A fatal error internal to GDB has been detected, further
debugging is not possible.  GDB will now terminate.

This is a bug, please report it.  For instructions, see:
<https://www.gnu.org/software/gdb/bugs/>.

Segmentation fault (core dumped)
Gamer@BSD:~/Documents/GTAVC/GTAVC $ 

@Gamer100Dev Hey, I'm on Intel macOS and have the same trouble... Did you find a solution ?
I'm using prebuild binaries.
re3 works perfectly but reVC does not.

I wanted to try to fix it as I have some dev skills but I have errors with librw while building and even building librw alone don't work in my case...

I deleted everything and restarted from 0.

Not sure but I suspect my gta vc program files was currupt, during install, it never asked me the 2nd CD and there was probably missing data.

But it wasn't the only one reason:
Other thing that I can say is, the pre-built reVC I found on archive.org is still not working for me. It only worked with a fresh build with laster miami branch of this repo.