An average offroad racing game, which has a surprising amount of unused content.
James Cameron Rules
A developer message found at 0x113D9F in OFFROAD3.EXE. This message can also be found in Hydro Thunder which was developed by the same team.
Present at the beginning of the credits file are some developer notes.
# Credits tag file for Offroad Thunder # # Everything must be preceeded by a valid (case-insensitive) tag # Valid tags are: # # - Obviously, a comment tag # Text - This is followed by a line of text, using the current parameters # Color - followed by four parameters, r, g, b, and a, whose range is [0, 255] # Size - This is followed by a floating point number, where .5 is the default size # Speed - This is followed by integer speed in ticks to get from bottom to top(You only set this once - It's global!) # Separation - This is followed by an integer number of pixels to seperate the next text from the previous text # Signal - This is a programmer defined signal. It is an integer followed by a floating point number # End - This should be the last thing in the file # Currently, all text is centered. I might add a justification tag later, but probably not # All white space is ignored, except inside for the the Text tag after the first text character # Remember to always set the speed first - you'll get weird text effects otherwise # Signal that the following text is to stay on screen
actsys_Work: immdToDwobFunc returned NULL! Postponing conversion actsys_Work: No sector to put intermediate object into! Postponing conversion Glide Init in progress Glide HW Query in progress Glide Sst Select in progress Glide Open in progress Glide close in progress Allocated %i bytes for mesh3d caches Wireframe mesh3d_AddLight: Invalid light type %d at (%d, %d, %d) WARNING: More than %d dynamic lights lighting an object TWWWHTWAL10 Xlucent: Bin too small setting to 0 Obsys: LoadInterrupt reassignment __PROGRAM__ >>> Object %s doesn't exist in R2 GIABLINKR13 >>> Object %s references non-existant object %s WARNING: Not enough texture memory to load '%s' Particle: Unable to allocate WorldOb for object-to-object collision >>> A Path Sector pNext was NULL and required correction >>> A Path Sector pPrev was NULL and required correction !! Could not find TrackEndPathSector !! puddle_Add: Not enough memory to allocate Puddle_t puddle_Add: Not enough memory to allocate texture animation Puddle: wavegen has 0 intensity! puddle_Add: Not enough memory to allocate sector intersection Puddle: Not enough mem for saving TCs, animation aborted >>> Unsupported R2 version: %i >>> Unsupported R2 header size: %i >>> Invalid R2 header signature: '%s' >>> Error reading R2 directory No report filename given ERROR: Trouble opening report file '%s' "%s","%s","%s","%c" "%s","%s","%d","%d" "%s","%s","%d","%d","%c" "%s","%s","%d" Sound: Cannot initialize due to dsound failure Sample: Attempt to add sample without initializing module Sample: Insufficient Sample_t resources to load sample Sample: Error initializing dsound buffer for %s. Sample will be tagged unavailable Sample: Error locking dsound buffer for %s.Sample will be tagged unavailable Sample: Attempt to remove sample without initializing module Warning: General bank sound unload ASSERT!!!!!!: Attempt to unload sample 0x%08x (%s) while still playing Sample: Error releasing dsound buffer for %s Sample: Attempt to load sample file without initializing module Sample: Attempt to unload sample file without initializing module BEGIN_RECORD SAMPLE_FULL_PATH SAMPLE_DESCRIPTION SAMPLE_ID SAMPLE_SIZE SAMPLE_RATE SAMPLE_FLAGS SAMPLE_LOOP_POINT Invalid Shadow name! %s Sound: Cannot initialize due to dsound failure Unknown modifier Sound: Loop point error %d, sample %08x Sound: Sound sequence can not include infinitely looped sound Sound: Couldn't allocate a modifier Warning: Too many sounds playing Warning: LARGE number of sounds instantiated in 1 frame %d/%d/%d Sound: *** Music put to sleep! *** Sound: *** Player engine put to sleep! *** Sound: Stop() called on sound that already had stop called! Stop sequence Sound: Play() called on nonexistant sound: 0x%08x Sound: Warning -- nSoundBlockMask at 0. No sounds will be spawned D_SOUNDSYS stream_bytesLeft == 0 in stream! stream_eventHandle == 0 in stream! stream_file != 0 in stream! syscoll_Init: Object Id %s (%d) Missing collision spheres Collisions disabled for this object Error: Couldn't load a texture! No memory! %s WARNING: 2MB texture boundary crossed in TMU %i %i bytes wasted Allocated %i bytes for TWS Intersect pool WARNING: Waterfall too wide. Truncated Allocated %i bytes for sector cache World: Sector skip occurred, tripwires missed! %d bytes remaining after Sector Data build Not enough memory for terrain light objects Allocated %i bytes for World Light pool Not enough memory for World Object lights error! noexist event! Error: Couldn't load particle ID 82! Unable to play a sound! announce_Announce: sampleID doesn't exist! In demo: %s Attract cycle: %d Race_nAbortAndLaunchAttract = %d, Race_nLaunchAttractArg = %d offroad%d OpenMovie() %d Attract:Error playing movie Start movie() Hey! Invalid mode from master: %d, %d!!!!!!!!!! Defaulting to 0 Exiting demo _attract_nWhoIsInAttract > _attract_nEveryoneInDemo Gave up on slaves, cnt=%d ** Weird: I'm the master and forced unblock ** Gave up on master, cnt=%d Exiting demo gamenet_WhoIsInMode(GAMENET_STATE_JOIN, -1) SetNextMode(%d, %d) Calling set on unrealized mode! Hey! Invalid mode: %d, %d!!!!!!!!!! Defaulting to 0 SetMode(%d, %d) but I expected: %d In Movie: %s Error: Text not built! Attract: Failed to load asset %d (%s) Attract: Invalid asset referenced %d Attract: Uninitalized asset referenced: %d (%s) Demo script: Invalid trigger frame. Signal ignored Attract script: No available signals! Initiating high score exchange ERROR: Null table for track index %d %2d%c %s %06d %2d%c %s %02d:%02d:%02d Hey! Text already exists carAI: Local Games Won: %f carAI: Local Games Played: %f carAI: ExciteScale: %f carAI: Current Win Percentage: %f carAI: Giving Advantage carAI: Taking Advantage carAI: carAI_curScoreScale: %f AutoDrive percent complete: Done! AutoDrive percent complete: %d AutoDrive HUH!?! Texture %s not found - Using basic blah Clock: Unable to allocate alarm ** Audits.c: Something went wrong. Trying second file ** Audits.c: Something is very wrong. Using default values Error writing '%s'! 10.%d %d %d %d Separation Destruct: Not enough sysmem for connection map! Warning: Destructible object collision sphere map table exceeds 64 entries Destruct: Not enough sysmem for sphere id lookup table! Destruct: Unable to locate particle type %d Warning: Destr. Obj Collision sphere is multiply mapped - retaining first assignment Destruct: Failed to allocate new DWOB Destruct: Failed to alloc instance data Destruct: Failed to alloc motion data Invalid destructible object descriptor table index (worldob args) Worldob has no destructible object instance data Invalid destructible object descriptor table index (worldob 'args') General collision object type %s requires motion data, removing collision Missing or unknown game collision type %s, removing collision Unknown game collision type %s, removing collision General collision object type %d requires motion data, removing collision Missing or unknown game collision type %d, removing collision Unknown game collision type %d, removing collision Gameinit: Unable to load game settings data Game module init failure in module %s! gameinit_SetFPUMode() FPU Mode Change DID NOT STICK !!!!! Gameloop started Gameloop exited Gamenet: Physics checksum failed unit %d (frame=%d) Drone disagreement with unit %d, #%d. Him: %d, Me:%d Received high score message, track %d(%d). Insertions=%d Gamenet: Track disagreement with unit %d, will use %s(%d) other unit's track this unit's track Gamenet: Game disagreement with unit %d, will use %s(%d) other unit's Game this unit's Game Reason: Received drop messge Reason: Rollcall timeout Gamenet: Unrecognized net message: %d Gamenet: Unit %d dropped $Revision: 215 $ [%04d] OP=%02x, OU=%02x, CO=%02x, Dr=%02x, UF=%02x, CF=%d St=%d/%d, SW=%02x, RL=%02x, T=%f, MS=%d, MR=%d, MF=%d Warning: GenAnim mesh %s is missing lower LOD '%c' XGA file! Disabling lower LODs of previous mesh! genanim_TW_EntryPoint: unknown genanim id in setFrame genanim_TW_EntryPoint: out of range setFrame genanim_TW_EntryPoint: unknown id in loopCount genanim_TW_EntryPoint: unknown id in setFrameLow genanim_TW_EntryPoint: out of range setFrameLow genanim_TW_EntryPoint: unknown id in setFrameHigh genanim_TW_EntryPoint: out of range setFrameHigh genanim_TW_EntryPoint: unknown id in setRate genanim_TW_EntryPoint: out of range setRate genanim: Unknown tripwire sub function! Forced Halt: File %s Line %i ************************** Assertion Halt: ** highscore.c: Something is very wrong. Using default values > highscore_Write: WriteFile() failed! Hud: Failed to load asset %d (%s) HUD: Asset(s) failed to load HUD: Failed to alloc string. Place gauge disabled 10 Racers ahead HUD: Unknown item movement type 10:12:23 %02d:%02d.%02d %d %s ahead Initials: Unable to load 3d letter mesh %d Initials: Unable to load other geometry Initials: Unable to init lights Wrapper: Failed to load asset %d (%s) INITIALS: Attempt to load non-texure asset initials: Invalid asset referenced %d initials_: Uninitialized asset referenced: %d (%s) ERROR: Null table for track index %d MARQUIS: Could not locate texture. Marquis disabld MARQUIS: New() failed. No memory Warning: decoderInitFunc failed Warning: decoderInitFunc didn't grab all avail data Warning: Stream data type decoder not found Warning: decoderPerBlockFunc didn't grab all avail data Unable to load sky file -- reverting to #define array sky: Missing sun texture %s, sun disabled sky: Missing lens flare texture %s, lens flare disabled sky: Missing mesh %s sky: Missing texture %s Unable to alloc verts Obstruct_Create: Illegal obstruct type index %d Obstruct_Create: Not enough memory to init phys data obstruct_SetPhysicsInfo: Illegal obstruct type index %d ** operator.c: Something went wrong. Trying second file ** operator.c: Something is very wrong. Using default values ** operator.c: Error writing '%s'! Physcoll_HitWall: Surface %s has missing impact sound %d -------- Memory at race_Launch --------- Mem: %d TMU0: %d TMU1: %d Race: Unable to load racer tags Unable to init start marquis Got checkpoint idx %d on lap %d at %d Load failure on %s checkpoint info! RACE: Control thread not released in master init No grid! GameMaster exitting! 0000 ENOUGH SPACE Game started at frame %d %02d:%02d:%02d Don't have coords for start banner DFAULT%d Racecam: Invalid camera slot $Revision: 329 $ Racer: Invalid altgame Track chrome texture %s not found in R2! Racer: Failed to init windgen object Racer: NULL windgen cookie Pickup failed to find ground at destination! RaceStat: Got RaceStart RaceStat: Current win count: %d RaceStat: Current race count: %d RaceStat: Got AddLap RaceStat: Got RaceDone RaceStat: Player Won RaceStat: Player Lost Racer nitro sound failed on truck %d RSOUND Warning: Local racer engine sound put to sleep Strobe_Init: Not enough memory to init data Surface type: %d Surface: Particle type not found Track init function failure! Loaded track '%s': %i bytes >> The track + objects used %2.2f texture pages Instance id %d has no instToImmdFunc: skipping Instance id %d has no immdToDWOBFunc: skipping Instance id %d has no dwobToImmdFunc: skipping Out of range object id %d, skipping terrain_LoadInstance: Mesh has no collision sphere list, making static terrain_LoadInstance: Dynamic object is not in world, making static !!!!!! NO TRACK LOADED !!!!!! !!!!!! NO STARTS SET UP IN TRACK !!!!!! Error creating frame to load new font Error loading raw font data Unable to alloc workspace to process font Gametext: ?? MaxStringLength ?? Text/Infogrid: Invalid size Text/Infogrid: Space alloc failed Text/Infogrid: Reallocating string space Grid=0x%08x, row=%d, col=%d, string=%s Text/Infogrid: Discarding string Text/Infogrid: Realloc string Unrecognized accent escape sequence Double '^' escape sequence in string. Ignoring Rendering unknown accent mark! ERROR! tripwire function was invalid!! trucks_ClearSound: Failed mem alloc! trucks gametag read error -- no truck pointer trucks gametag read error -- too many categories %d Error allocaing memory for TSTableEntry Index error line %d file %s Trucks: Invalid sounds file name for truck %s Couldn't alloc space for sound categories Trucks load sounds: Gametag failure! Error generating drone list: Invalid truck index %d. Assuming drone Error generating drone list: Invalid truck index %d. Assuming human truck 0 Warning: Allocated vehicle texture space consumed by human players. Drones will be duplicates! Error generating drone list: Couldn't resolve constraints Weather: Too many animating trees Weather: Couldn't load rain texture Weather: Error %d Not enough memory to alloc ortho cloud Weather: Nonexistant cloud object Wrapper: Invalid state %d Something very odd happened. _nLaunchGameCountdown = %d Bad assert game selection value Wrapper: Invalid asset referenced %d Wrapper: Uninitialized asset referenced: %d (%s) Wrapper: No available rect fan menu entries Wrapper: Failed to load asset %d (%s) Wrapper: Couldn't load wrapper info %s Error: Invalid game selection Error: Non-local human in non-linked game Error generating drone list!! This line should be long enough to accomodate any single line of text CAUTION!!!!! Network: Invalid unit to count Network: Unable to initialize link Network: Error releasing send socket from broadcast: %s Network: Error closing send socket: %s Network: Error releasing receive socket from broadcast: %s Network: Error closing receive socket: %s Network: Unrecognized WSACleanup() return value: 0x%08x Network: Unable to cleanup Winsock..Network: Winsock driver not found Network: Incorrect version of WinSock (%d.%d) Network: Unable to get host name Network: Networking disabled Network: Error getting local address Network: Error creating send socket: %s Network: Error binding send socket: %s Network: Error setting send socket to broadcast: %s Network: Error creating receive socket: %s Network: Error setting receive socket to broadcast: %s Network: Error binding receive socket: %s Network: Error enabling 'nonblocking' for receive socket: %s Network: Send() called on uninitialized unit Network Send(): Invalid message length (%d bytes) Network: Send() error: %s Network: Receive() error: %s Network: Received HEREIAM packed from unit %d with non-matching CODE checksum(%d) Invalid message origination unit: %d. Message ignored Network: Message sent to invalid unit Rollcall set: 0x%04x, %f sec Network: Unit %d dropped Network: Unit %d in danger of being dropped. Time remaining=%f Network: Issuing drop command, unit %d nvram2_GrowListByOne: alloc failed! nvram2_GrowListByN: alloc failed! ** WARNING! nvram2_AddType() called before ModuleInit()!!! nvram2_AddType: Type name '%s' already exists in database nvram2_AddField: GrowListByOne failed! nvram2_AddField: Field no added?? TYPE %ld: '%s', VERSION: %ld %ld fields: FIELD %ld: UNKNOWN TYPE %ld Offset = 0x%lx, StartVersion = %ld, EndVersion = %ld nvram2_ReadFileIntoBuffer: Header name invalid! nvram2_ReadFileIntoBuffer: Ooops! Different file version! nvram2_ReadFileIntoBuffer: malloc failed! nvram2_ReadFileIntoBuffer: data read failed!! nvram2_ReadFileIntoBuffer: CRCs do not match!! nvram2_Close: Error writing NVRM header name! nvram2_Close: Error writing header info! nvram2_Close: Error writing buffered data to disk! BASLUS-00000 nvram2_OpenForWriting: Could not open nvram2_OpenForReading: Could not open nvram2_WriteTypeArray: File not open for writing! nvram2_WriteTypeArray: pArrayType is NULL! nvram2_WriteTypeArray: pStructureArray is NULL! nvram2_WriteTypeElement: No file open for writing! nvram2_WriteTypeElement: Invalid structure or no file open yet! nvram2_WriteTypeElement: Type '%s' has no field list! nvram2_WriteTypeElement: Bad field offset %ld for field %ld! nvram2_WriteType: NVRAM2_TYPE_ARRAY name is invalid! nvram2_WriteType: Unknown type %ld! nvram2_ReadFile: Module not initialized! nvram2_ReadTypeArray: File not open for reading! nvram2_ReadTypeArray: Expecting type %s, filling in default values nvram2_ReadTypeArray: Couldn't find type '%s' (version %ld), using defaults nvram2_ReadTypeArray: Warning! Type '%s': Array item counts differ! nvram2_ReadType: Invalid structure or no file open yet! nvram2_ReadType: Type has no field list! nvram2_ReadTypeElement: Unknown Field Type %ld! WSAEINTR: Interrupted function call WSAEBADF: Bad file number WSAEACCES: Permission denied WSAEFAULT: Address fault WSAEINVAL: Invalid argument WSAEMFILE: Too many open files WSAEWOULDBLOCK: Resource temporarily unavailable (Would block) WSAEINPROGRESS: Operation now in progress WSAEALREADY: Operation already in progress WSAENOTSOCK: Socket operation on non-socket WSAEDESTADDRREQ: Destination address required WSAEMSGSIZE: Message too long WSAEPROTOTYPE: Protocol wrong type for socket WSAENOPROTOOPT: Bad protocol option WSAEPROTONOSUPPORT: Protocol not supported WSAESOCKTNOSUPPORT: Socket type not supported WSAEOPNOTSUPP: Operation not supported WSAEPFNOSUPPORT: Protocol family not supported WSAEAFNOSUPPORT: Address family not supported by protocol family WSAEADDRINUSE: Address already in use WSAEADDRNOTAVAIL: Cannot assign requested address WSAENETDOWN: Network is down WSAENETUNREACH: Network is unreachable WSAENETRESET: Network dropped connection on reset WSAECONNABORTED: Software caused connection abort WSAECONNRESET: Connection reset by peer WSAENOBUFS: No buffer space available WSAEISCONN: Socket is already connected WSAENOTCONN: Socket is not connected WSAESHUTDOWN: Cannot send after socket shutdown WSAETOOMANYREFS: Too many references WSAETIMEDOUT: Connection timed out WSAECONNREFUSED: Connection refused WSAELOOP: Loop WSAENAMETOOLONG: Name too long WSAEHOSTDOWN: Host is down WSAEHOSTUNREACH: No route to host WSAENOTEMPTY: Directory not empty WSAEPROCLIM: Too many processes WSAEUSERS: Too many users WSAEDQUOT: Disk quota WSAESTALE: Stale WSAEREMOTE: Remote WSASYSNOTREADY: Network subsystem is unavailable WSAVERNOTSUPPORTED: WINSOCK.DLL version out of range WSANOTINITIALISED: Successful WSAStartup() not yet performed WSAEDISCON: Graceful shutdown in progress WSAHOST_NOT_FOUND: Host not found WSATRY_AGAIN: Non-authoritative host not found WSANO_RECOVERY: Non-recoverable error WSANO_DATA: Valid name, no data record of requested type
A couple of early textures for the Bad Omen vehicle. Originally it was going to be a van but was changed into a semi truck.
A couple of unused textures for a vehicle known as Firebug, which doesn't appear in the final game. It may have been an early version of the Stinger vehicle.
A very early texture for the Snake Eyes vehicle.
A very early texture for an unknown vehicle.
Small icons for each of the vehicles in the game, including some icons for vehicles that don't appear or are based on earlier designs.
Early track icons, including ones for tracks that don't appear in the final game like 8 Bowl, Cutting Corners, Diesel Dome, and Split Second.
Early checkpoint and winner graphics.
A coming soon and a locked graphic likely left over from a demo version of the game.
Placeholder menu icons.
An early nitro gauge.
Five maps along with a placeholder. The first one seems to be an early version of the Tunnel Vision track and the rest of them don't match up with any of the tracks in the final game. The final game doesn't display a map of the track.
Present among the textures for the Carnie O' Chaos track is an image of somebody holding a rubber chicken.
An unused sky texture.
Early player icons.
An unused Winners Don't Do Drugs spoof. It's likely a developer joke since the final game doesn't display a Winners Don't Do Drugs screen.
A funny, distracting monkey.
An unused tip about steering.
An early title screen.
Under the beach area of the Airtime track is some out of bounds level geometry.
A test track known as AI Test exists. Unfortunately, it crashes when accessed.
|The Thunder series|
|Arcade||Hydro Thunder • Offroad Thunder • Arctic Thunder|
|Nintendo 64||Hydro Thunder|
|Dreamcast||Hydro Thunder • 4 Wheel Thunder|
|PlayStation 2||Arctic Thunder|
|Xbox 360||Hydro Thunder Hurricane|
|Windows||Hydro Thunder Hurricane|