Quake3World.com
https://www.quake3world.com/forum/

Quake Live advertisement lump format specification
https://www.quake3world.com/forum/viewtopic.php?f=16&t=53740
Page 1 of 1

Author:  CZghost [ 01-02-2018 11:03 AM ]
Post subject:  Quake Live advertisement lump format specification

Hello. I found quite interesting page about Quake III Arena BSP file format specification: http://www.mralligator.com/q3/
According to this specification, Quake 3 has 17 different lumps.

Quake Live adds an 18th lump for advertisements. Google seems to be unable to find any informations about advertisements lump (or more generally Quake Live BSP file format). I've opened a testing map, which includes one advertisement billboard, in hexeditor. Knowing advertisements lump direntry being last (index 17, counting from 0), I've found offset value 113,588 and length value 128. When I looked up to the lump itself by accessing file address from the offset value (it's the very last lump in the file), I've found something that looks like bunch of integer values (32 integer numbers) for a single advertisement cell. First I've thought of a single integer being a cellId, identifying number for group of advertisements, but that implies 32 different advertisement billboards in the map. And there is just one.

Does anybody please know the advertisement lump cell specification? Could you please tell? It would help me at least partially understand the way advertisement boards work in Quake Live (and therefore specify best unique cellId values for each group of advertisement boards). I know that now when Quake Live migrated to Steam, the advertisement boards are obsolete, but it's kind of something I'm used to from Quake Live maps. And since I want to map for Quake 3 and Quake Live continuously, I need to identify Quake Live version from the original Quake 3 version of each map by these advertisement boards. All my maps will be in both Quake 3 and Quake Live version.

Author:  CZghost [ 01-02-2018 11:22 AM ]
Post subject:  Re: Quake Live advertisement lump format specification

Also, the effects lump cell contains, according to specification page, and unknown integer value, like defined here:
Code:
typedef struct {
   char[64] name;            // Effect shader
   int      brush;           // Brush that generated this effect
   int      unknown;         // Always 5, except in q3dm8, which has one effect with -1
} effect_t;

What does the unknown value do? Are there any other values than 5 or -1?

Author:  CZghost [ 01-23-2018 07:19 AM ]
Post subject:  Re: Quake Live advertisement lump format specification

So I've look into q3map2 source code and I've got this information:
Code:
// Advertisements lump
typedef struct {
    // Single advertisements lump cell (a single advertisement data)
    int       cellId;          // The cellId key/value pair defined in Radiant
    vec3_t    normal;          // Normal vector to the advertisement plane
    vec3_t[4] rect;         // Advertisement plane boundaries
    char[64]  model;           // Advertisement display model
} advertisement_t;


However, I can't figure out where is the vec3_t structure defined, so I can figure out the defined lump size from complete data. It is definitely not in q3map2.h file. But I may actually figured it out from previous definition based on the linked page. vector structures are probably defined like this:
Code:
typedef struct {
   float s, t;
} vec_t;

typedef struct {
   float x, y, z;
} vec3_t;

Page 1 of 1 All times are UTC - 8 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/