We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Offroad Thunder

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Offroad Thunder

Developer: Midway Games
Publisher: Midway Games
Platform: Arcade (Midway Quicksilver II)
Released in US: September 21, 1999
Released in EU: 1999


AreasIcon.png This game has unused areas.
DevMessageIcon.png This game has a hidden developer message.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.


An average offroad racing game, which has a surprising amount of unused content.

Unused Text

Developer Message

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.

Developer Notes

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

Debugging Text

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


(Source: Ferrox)

Unused Graphics

OffRoadThunder-badomenearly1.pngOffRoadThunder-badomenearly2.png

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.


OffRoadThunder-firebug.pngOffRoadThunder-firebug2.png

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.


OffRoadThunder-snakeeyesearly.png

A very early texture for the Snake Eyes vehicle.


OffRoadThunder-unusedvehicletexture.png

A very early texture for an unknown vehicle.


OffRoadThunder-earlyvehicle1.pngOffRoadThunder-earlyvehicle2.pngOffRoadThunder-earlyvehicle3.pngOffRoadThunder-earlyvehicle4.pngOffRoadThunder-earlyvehicle5.pngOffRoadThunder-earlyvehicle6.pngOffRoadThunder-earlyvehicle7.pngOffRoadThunder-earlyvehicle8.pngOffRoadThunder-earlyvehicle9.pngOffRoadThunder-earlyvehicle10.pngOffRoadThunder-earlyvehicle11.png

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.


OffRoadThunder-checkpoint.pngOffRoadThunder-earlywinner.png

Early checkpoint and winner graphics.


OffRoadThunder-comingsoon.pngOffRoadThunder-earlylocked.png

A coming soon and a locked graphic likely left over from a demo version of the game.


OffRoadThunder-hal.pngOffRoadThunder-hotpotato.pngOffRoadThunder-mashmode.pngOffRoadThunder-slamcam.png

Placeholder menu icons.


OffRoadThunder-earlynitro.png

An early nitro gauge.


OffRoadThunder-map1.pngOffRoadThunder-map2.pngOffRoadThunder-map3.pngOffRoadThunder-map4.pngOffRoadThunder-map5.pngOffRoadThunder-mapplaceholder.png

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.


OffRoadThunder-chicken.png

Present among the textures for the Carnie O' Chaos track is an image of somebody holding a rubber chicken.


OffRoadThunder-test.png

An unused sky texture.


OffRoadThunder-earlyindicators.png

Early player icons.


OffRoadThunder-mcgruff.png

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.


OffRoadThunder-monkey.png

A funny, distracting monkey.


OffRoadThunder-tip.png

An unused tip about steering.


OffRoadThunder-title2.png

An early title screen.


(Source: Ferrox)

Hidden Geometry

OffRoadThunder-hiddenrock.png

Under the beach area of the Airtime track is some out of bounds level geometry.


(Source: Ferrox)

Test Track

A test track known as AI Test exists. Unfortunately, it crashes when accessed.


(Source: Ferrox)