Menu

#13 Quake2forge: Fix server video loading

closed-fixed
nobody
None
5
2012-01-30
2012-01-17
h3xx
No

There is a bug whereby, on some systems, when a command such as "map *ntro.cin+base1" (as it is when starting Quake2 vanilla, defined in default.cfg) is issued, the server gives the error that it can't find "maps/ntro.inn.bsp" even though "video/ntro.cin" exists. After hacking at this problem for a couple hours, I finally fixed it in two lines; the problem lies in how the strings are used.

I am unsure what caused this problem to surface in one of my machines and not the other (they both had exactly the same software), but this patch fixes the problem on the one that was having it, and doesn't affect the one that wasn't having it. Due to how I solved this problem, it would lead me to believe that this was a simple programming mistake.

Apply this patch to the git head and videos will work.

Example failure console output:

[[[[[ BEGIN ]]]]]
QuakeIIForge 0.3.1
Added packfile /usr/share/games/quake2/baseq2/pak0.pak(3307 files)
Added packfile /usr/share/games/quake2/baseq2/pak1.pak(279 files)
Added packfile /usr/share/games/quake2/baseq2/pak2.pak(2 files)
using /home/h3xx/.quake2/baseq2/ for writing
execing default.cfg
execing config.cfg
Console initialized.

------- sound initialization -------
loading sdl sound output driver, ok
jack_client_new: deprecated
Cannot lock down 82246176 byte memory area (Cannot allocate memory)
jack_client_new: deprecated
Cannot lock down 82246176 byte memory area (Cannot allocate memory)
sound sampling rate: 22050
------------------------------------
------- Loading ref_softsdl.so -------
LoadLibrary("ref_softsdl.so")
Cannot use real-time scheduling (RR/5)(1: Operation not permitted)
JackClient::AcquireSelfRealTime error
SDL Joystick not initialized, trying to init...
Trying to start-up joystick...
No joysticks available
setting mode 11: 1024 480
2024k surface cache
ref_soft version: SOFT 0.01
JackPosixSemaphore::TimedWait err = Interrupted system call
JackPosixSemaphore::TimedWait err = Interrupted system call
------------------------------------
JackPosixSemaphore::TimedWait err = Interrupted system call
JackPosixSemaphore::TimedWait err = Interrupted system call
CDAudio_Init: open of "/dev/cdrom" failed(2)
JackPosixSemaphore::TimedWait err = Interrupted system call
JackPosixSemaphore::TimedWait err = Interrupted system call
------- Loading game.so -------
==== InitGame ====
------- Server Initialization -------
0 entities inhibited
0 teams with 0 entities
-------------------------------------
====== Quake2 Initialized ======

0.0.0.0:0: client_connect

==== ShutdownGame ====
JackPosixSemaphore::TimedWait err = Interrupted system call
JackPosixSemaphore::TimedWait err = Interrupted system call
------- Loading game.so -------
==== InitGame ====
------- Server Initialization -------
********************
ERROR: Couldn't load maps/ntro.inn.bsp
********************
==== ShutdownGame ====
JackPosixSemaphore::TimedWait err = Interrupted system call
JackPosixSemaphore::TimedWait err = Interrupted system call
------- Loading game.so -------
==== InitGame ====
------- Server Initialization -------
0 entities inhibited
0 teams with 0 entities
-------------------------------------
0.0.0.0:0: client_connect
==== ShutdownGame ====
recursive shutdown
[[[[[ END ]]]]]

Discussion

  • h3xx

    h3xx - 2012-01-17

    quake2forge-git_fix_starred_map_command_fail.patch

     
  • Bill Currie

    Bill Currie - 2012-01-30
    • status: open --> closed-fixed
     
  • Bill Currie

    Bill Currie - 2012-01-30

    Thank you. git commit bbd69756d has your patch.

     

Log in to post a comment.