It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
As everybody knows, when you leave Quake 2 running alone, demos of gameplay will show. The expansion packs have 3 of these instead of the 2 on "baseq2", and the last one from Ground Zero is very "particular", since it shows the player using a "defender sphere" but there is a textureless cube instead of the sphere, like if there are models missing / not loading in the game.

This has bothered me since I got this Mission Pack on Steam many years ago. I believed the Steam package was missing stuff (like with the music), and having it also missing here on GOG bothered my OCD. So I started investigating, and found out a tool called "Little Movie Processing Centre" by Uwe Girlich (http://demospecs.half-empty.de/lmpc-alpha/), which reads a demo file and translates the included in-game assets and actions into text.

First, I extracted the original demos/demo3.dm2 file from the Rogue pak0.pak file. Using LMPC, converted it to a text file.
Then, I recorded a demo of myself playing in rdm6, the same map of that demo, using a defender sphere, and also converted that to text.

Making a diff between both files, something came up. My demo had this:

packetentity {
entity 285;
modelindex 89; // models/items/defender/tris.md2
modelindex2 91; // models/items/shell/tris.md2
frame 1;
...

While the original 'glitched' demo had this:

packetentity {
entity 266;
modelindex 89; // models/items/defender/tris.md2
modelindex2 219;
frame 9;
...

Searching for the "modelindex 91" I found this in both files:

configstring {
index 123; // model[91]
string "models/items/shell/tris.md2";
}

This is the transparent shell that covers the sphere powerups in Ground Zero.
There was nothing on either file for a "modelindex 219", since "models" reach 126 on both files. Not even the tool found anything, since it adds the model it references to, to the comment at the right. Then, it is the demo file which was wrong, since it refers to an unexistent model. I assume this was a bug on the demo recording that was fixed after Ground Zero came up.

Replacing "219" to "91", and using LMPC to transform the text file back to a .dm2, makes the demo play as intended.

The following are xdelta3 patches for the original demo3.dm2, AND for the entire pak0.pak in the rogue directory:
[url]https://drive.google.com/drive/folders/1ij0qfrLpNfzM4oyxp4MRPLZuEzTVYv5m?usp=sharing[/url]
You don't have to apply both, it's one OR the other.
Note: the xdelta3 patches also changes the "CD track" from '1' to '2'. The demo plays music now.

All of this was tested using Yamagi. You may have some trouble with source ports that give priority to files inside the .pak file, but by changing its name and typing "demomap newname.dm2" you'll see it works.
I know this doesn't change anything and most people won't care... but I did, and wanted to leave the info at least for my future self. Or the guy who makes the remaster.
Both Steam and GOG have minor (for Steam) and major (GOG) issues.
For GOG, you should install (self-extract) official latest old retail 3.20-full-ctf update.
Then use GOGLauncher to start game or addons.

This is kinda unrelated to your topic, since im not sure about this demo. I clearly remeber im wathin them all, but not sure about any minor issues with them. I have clear GOG and clear+3.20update installed (as well as some source-port-modded) on my PC right now, so... it about 3rd demo in MP2 addon Ground Zero, right? Exactly third one demo?

UPD: watched it...
As i remebmer, demo show missing objects only if them missing in game file itself. And that be white cubes, not orange ones.
...
yeah, it changed-fixed now.
Post edited April 14, 2022 by QWEEDDYZ
avatar
QWEEDDYZ: so... it about 3rd demo in MP2 addon Ground Zero, right? Exactly third one demo?
Yes, the only demo that shows a multiplayer match.
It's funny: when people watches the demo, no one questions the orange, textureless cube on top of the player; it's assumed to be a new weird powerup. Anyway, no one watches the demo a second time to question what was it. Probably the reason why no one has fixed it in the many re-releases the game has had.

Regarding issues with the game, I've got less problems with the GOG version: at the very least, it includes the music. And since a while, Yamagi reads it in the GOG format, meaning you only need the "music" folder where the game is installed, and the base game and both expansion packs use it without trouble.
Well, anything i can add to all this. When game is ripped - there is white cubes instead of objects. Same appear during demos. So they not like video... well, they are demos, they always in any game dont have own content.

So this orange qube is present in game files as qunique object notpresent during gameplay. pre-release version of that sphere that still exist in game files.
If by that you mean there is an orange cube in the game files, that represent a pre-release version of the defender sphere, I guarantee you that there is no such thing. This is treated as when "there's no found content", like what you mention of ripped versions of the game.

The following is a video with all three demos of Ground Zero running in an old version of KMQuake2:
https://youtu.be/c-yRy8lA_6Y?t=146
Skip to 2:26 for the third demo. The defender sphere appears... but without the transparent shell, and with tridimensional, colored axes, representing "something" is supposed to be there.
If you run in software rendering, in both vanilla Q2 and Yamagi (or any that still supports SW), you also get the defender sphere without the shell, this time with nothing marking if there's something missing.
The cube only seems to appear in normal, unmodified OpenGL, and I'm certain it covers the actual defender sphere.

Messing around with the game's original source code, I found an interesting function, R_DrawNullModel(), in both OpenGL (ref_gl/gl_rmain.c) and software rendering (ref_soft/r_main.c). I know nothing of OpenGL, but I know enough to see what it does on software:

/*
** R_DrawNullModel
**
** IMPLEMENT THIS!
*/
void R_DrawNullModel( void )
{
}

Yeah, it never did nothing. That's why you can still see the sphere underneath in software rendering.
The little I understand about the code on the OpenGL side, I'm sure the shape drawn is affected by the surrounding lighting. So, I'm sure the "orange cube" is orange because it reflects what's going on around it. It was always white on its own.
Post edited April 14, 2022 by Protocultor
< It was always white on its own >
hmm... thanks to find that. That mean my theory is wrong...


But wait... wrong? Since this is a demo... its still use obj from installed game version, right? And not content from some indev recorded version? Its still something that appear as cube instead of sphere in actual game. For some reason. Right? If we put this demo as is to heavily modded game version every objects during demo gameplay will changed. Right?
You have to understand something: demo files in Quake games don't give a damn about consistency. They play out whatever was recorded, whether it makes sense or not, and they don't give a damn if the game assets exist or not. The following is my proof of concept:
https://drive.google.com/file/d/1m9ax7FWfC_hSexHM6AyLz7usiz0xcRws/view?usp=sharing
Unzip in rogue/demos/, go into Ground Zero, and run this with "demomap bonkers.md2"

Again, broken model reference = cube in OpenGL, skips rendering in software.

Anyway, I've just realized something when I saw the numbers of the models in binary:
01011011 = 91 (the correct model for the transparent shell)
11011011 = 219 (the number found in the demo, which points nowhere)
My new theory is that this was a "single event error" for the leftmost bit when doing the original master disc.
https://en.wikipedia.org/wiki/Single-event_upset