Author Topic: Single Player Bug in R1Q2 b8012, Cause and Workaround  (Read 7264 times)

Offline QwazyWabbit

  • Carpal Tunnel Member
  • ******
  • Posts: 1372
    • View Profile
  • Rated:
Single Player Bug in R1Q2 b8012, Cause and Workaround
« on: October 02, 2011, 03:37:09 PM »
Release b8012 is confirmed not to load SP mode in a system with the full commercial version of Q2 installed. The program insists that single player data is missing. This appears to be a malfunction in the StartGame function in the new version. It checks to see if base1 will load. There is a bug introduced in this version as a result of StartGame calling the CM_MapWillLoad function which looks for two files, base1.bsp and base1.override. This function gets called twice, first by StartGame looking in the Quake2 root folder for both of these files and the second time by SV_GameMap_f looking for them in the maps folder. BOTH tests must pass, indicating that one or the other file exists or the game will fail to start. Since base.bsp is properly stored in the maps folder of pak0.pak it never exists in the quake2 root. The result is that the first call, by GameStart doesn't find base1.bsp or base1.override in the root and announces the failure, preventing SP mode.

You can work around this bug by putting an empty base1.override file into your Quake2\baseq2 folder.

Once that file exists and you restart r1q2, the empty override file will be found in the root, passing the first test and base1.bsp will be found in the maps folder of pak0.pak on the second pass and you will be able to play single player.

« Last Edit: October 02, 2011, 05:37:12 PM by QwazyWabbit »
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline Sgt. Dick

  • Loquaciously Multiloquent Member
  • ****
  • Posts: 5158
    • View Profile
  • Rated:
Re: Single Player Bug in R1Q2 b8012, Cause and Workaround
« Reply #1 on: October 02, 2011, 06:19:37 PM »
Where can I find the base1 override  :?:
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
aka IOU

Offline Zeppelin

  • Carpal Tunnel Member
  • ******
  • Posts: 1129
  • aka Cajmere
    • View Profile
  • Rated:
Re: Single Player Bug in R1Q2 b8012, Cause and Workaround
« Reply #2 on: October 02, 2011, 06:35:56 PM »
i just typed "deathmatch 0" and "map base1" and the SP mode worked well!
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline QwazyWabbit

  • Carpal Tunnel Member
  • ******
  • Posts: 1372
    • View Profile
  • Rated:
Re: Single Player Bug in R1Q2 b8012, Cause and Workaround
« Reply #3 on: October 02, 2011, 07:16:19 PM »
Yes, simply creating an empty text file and renaming it is exactly what I did.

It looks like the test for the files is premature. I don't know why r1ch decided to add this, I think it's pointless and should never have been added to a "final" release.
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline Sgt. Dick

  • Loquaciously Multiloquent Member
  • ****
  • Posts: 5158
    • View Profile
  • Rated:
Re: Single Player Bug in R1Q2 b8012, Cause and Workaround
« Reply #4 on: October 03, 2011, 03:48:23 AM »
Thanks, I will do that.   :bananaw00t:
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
aka IOU

Offline X7

  • Sr. Member
  • ****
  • Posts: 447
  • Quake II
    • View Profile
  • Rated:
Re: Single Player Bug in R1Q2 b8012, Cause and Workaround
« Reply #5 on: November 03, 2011, 07:16:41 AM »
Why would you use the R1Q2 client to play single player game? R1Q2 does not load the cin files that part of the game.

As far as I know R1Q2 was make for the DM game that why the default deathmatch = 1


X7  :exqueezeme:
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
Quake II

Offline QwazyWabbit

  • Carpal Tunnel Member
  • ******
  • Posts: 1372
    • View Profile
  • Rated:
Re: Single Player Bug in R1Q2 b8012, Cause and Workaround
« Reply #6 on: November 03, 2011, 02:04:06 PM »
Why would you use the R1Q2 client to play single player game? R1Q2 does not load the cin files that part of the game.

As far as I know R1Q2 was make for the DM game that why the default deathmatch = 1


X7  :exqueezeme:

I didn't attempt to debug it deeply in DM mode. The same code gets executed in DM, so it could potentially stop a DM server also if it doesn't have all the paks present. Part of what I observed was that the Quake2 file system had not completely initialized the first time CM_MapWillLoad was called, therefore the lookup of base1.bsp failed because the paks had not been loaded yet and/or the /maps folder had not been fully populated. I will look at it more closely but I just don't understand why r1ch would put that check into the code at this late stage of life of Q2 and r1q2, especially if he wanted to avoid adding a regression bug to the code.

Basically, the intent appears to be to prevent someone from playing SP or hosting a server if you don't have the original retail idSoftware paks installed. Something idSoftware didn't put into their code, so why would anyone else put it in a derivative? Furthermore, the check is incomplete since one could grab base1.bsp from just about anywhere or even create a fake base1.bsp and put it in the maps folder. There are better ways to check for the "authentic" maps if that is what you wanted to do.

r1q2 does NOT default deathmatch = 1 unless it's in the default config somewhere, the default in the source code is deathmatch = 0. (g_save.c, line 176)

As far as cinematics are concerned, I thought that was fixed and it did play the cin files, but I can't remember which version fixed it or whether it just went from map to map in SP mode without cinematics.

I will double check the SP and DM modes in a week or two and get a better handle on the bug but my workload these days is so bad I don't have much time for fun coding right now.
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline X7

  • Sr. Member
  • ****
  • Posts: 447
  • Quake II
    • View Profile
  • Rated:
Re: Single Player Bug in R1Q2 b8012, Cause and Workaround
« Reply #7 on: November 14, 2011, 05:58:55 AM »
I see the error

[2011-11-14 08:47] ********************
[2011-11-14 08:47] ERROR: Disconnected from server
[2011-11-14 08:47] ********************
[2011-11-14 08:47] ==== ShutdownGame ====
[2011-11-14 08:47] ERROR: Your Quake II installation is missing the single player data, you cannot start a single player game.
[2011-11-14 08:47] Wrote ./coop/scrnshot/quake998.jpg


cinematics never did work with R1Q2, thats ok, because I did all the overrides and remove the cinematic links for the TS coop servers.


X7  :afro:
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
Quake II

 

El Box de Shoutamente

Last 10 Shouts:

Costigan_Q2

November 11, 2024, 06:41:06 AM
"Stay cozy folks.

Everything is gonna be fine."

There'll be no excuses for having TDS after January 20th, there'll be no excuses AT ALL!!!
 

|iR|Focalor

November 06, 2024, 03:28:50 AM
 

RailWolf

November 05, 2024, 03:13:44 PM
Nice :)

Tom Servo

November 04, 2024, 05:05:24 PM
The Joe Rogan Experience episode 223 that dropped a couple hours ago with Musk, they're talking about Quake lol.

Costigan_Q2

November 04, 2024, 03:37:55 PM
Stay cozy folks.

Everything is gonna be fine.
 

|iR|Focalor

October 31, 2024, 08:56:37 PM

Costigan_Q2

October 17, 2024, 06:31:53 PM
Not activated your account yet?

Activate it now! join in the fun!

Tom Servo

October 11, 2024, 03:35:36 PM
HAHAHAHAHAHA
 

|iR|Focalor

October 10, 2024, 12:19:41 PM
I don't worship the devil. Jesus is Lord, friend. He died for your sins. He will forgive you if you just ask.
 

rikwad

October 09, 2024, 07:57:21 PM
Sorry, I couldn't resist my inner asshole.

Show 50 latest
Welcome, Guest. Please login or register.
November 22, 2024, 01:24:13 AM

Login with username, password and session length