Gamestate: Difference between revisions

From Stunts Wiki
Cas (talk | contribs)
No edit summary
Cas (talk | contribs)
No edit summary
Line 2: Line 2:


The structure contains the following fields:
The structure contains the following fields:
 
<code>
{|
GAMESTATE struc
|-||game_longs1 dd 24 dup (?)||
game_longs1 dd 24 dup (?)
|-||game_longs2 dd 24 dup (?)||
game_longs2 dd 24 dup (?)
|-||game_longs3 dd 24 dup (?)||
game_longs3 dd 24 dup (?)
|-game_vec1 VECTOR <>
game_vec1 VECTOR <>
|-game_vec2 VECTOR <>
game_vec2 VECTOR <>
|-game_vec3 VECTOR <>
game_vec3 VECTOR <>
|-game_vec4 VECTOR <>
game_vec4 VECTOR <>
|-game_frame_in_sec dw ?
game_frame_in_sec dw ?
|-game_frames_per_sec dw ?
game_frames_per_sec dw ?
|-game_travDist dd ?
game_travDist dd ?
|-game_frame dw ?
game_frame dw ?
|-game_total_finish dw ?
game_total_finish dw ?
|-field_144 dw ?
field_144 dw ?
|-game_pEndFrame dw ?
game_pEndFrame dw ?
|-game_oEndFrame dw ?
game_oEndFrame dw ?
|-game_penalty dw ?
game_penalty dw ?
|-game_impactSpeed dw ?
game_impactSpeed dw ?
|-game_topSpeed dw ?
game_topSpeed dw ?
|-game_jumpCount dw ?
game_jumpCount dw ?
|-playerstate CARSTATE <>
playerstate CARSTATE <>
|-opponentstate CARSTATE <>
opponentstate CARSTATE <>
|-field_2F2 dw ?
field_2F2 dw ?
|-field_2F4 dw ?
field_2F4 dw ?
|-game_startcol dw ?
game_startcol dw ?
|-game_startcol2 dw ?
game_startcol2 dw ?
|-game_startrow dw ?
game_startrow dw ?
|-game_startrow2 dw ?
game_startrow2 dw ?
|-field_2FE dw 24 dup (?)
field_2FE dw 24 dup (?)
|-field_32E dw 24 dup (?)
field_32E dw 24 dup (?)
|-field_35E dw 24 dup (?)
field_35E dw 24 dup (?)
|-field_38E db 48 dup (?)
field_38E db 48 dup (?)
|-field_3BE db 48 dup (?)
field_3BE db 48 dup (?)
|-kevinseed db 6 dup (?)
kevinseed db 6 dup (?)
|-field_3F4 db ?
field_3F4 db ?
|-game_inputmode db ?
game_inputmode db ?
|-game_3F6autoLoadEvalFlag db ?
game_3F6autoLoadEvalFlag db ?
|-field_3F7 db 2 dup (?)
field_3F7 db 2 dup (?)
|-field_3F9 db ?
field_3F9 db ?
|-field_3FA db 48 dup (?)
field_3FA db 48 dup (?)
|-field_42A db ?
field_42A db ?
|-field_42B db 24 dup (?)
field_42B db 24 dup (?)
|-field_443 db 24 dup (?)
field_443 db 24 dup (?)
|-field_45B db ?
field_45B db ?
|-field_45C db ?
field_45C db ?
|-field_45D db ?
field_45D db ?
|-field_45E db ?
field_45E db ?
|-field_45F db ?
field_45F db ?
|}
GAMESTATE ends
</code>

Revision as of 01:07, 1 March 2025

GAMESTATE is a memory structure in Stunts, defined with comprehensive labels in structs.inc in Restunts, that holds information about the player's and opponent's cars that is dynamic during game play, such as car coordinates and orientation. It is the structure that Repldump stores in its binary output files and that's used by Cartography and the R5K engine to produce videos based on races.

The structure contains the following fields: GAMESTATE struc game_longs1 dd 24 dup (?) game_longs2 dd 24 dup (?) game_longs3 dd 24 dup (?) game_vec1 VECTOR <> game_vec2 VECTOR <> game_vec3 VECTOR <> game_vec4 VECTOR <> game_frame_in_sec dw ? game_frames_per_sec dw ? game_travDist dd ? game_frame dw ? game_total_finish dw ? field_144 dw ? game_pEndFrame dw ? game_oEndFrame dw ? game_penalty dw ? game_impactSpeed dw ? game_topSpeed dw ? game_jumpCount dw ? playerstate CARSTATE <> opponentstate CARSTATE <> field_2F2 dw ? field_2F4 dw ? game_startcol dw ? game_startcol2 dw ? game_startrow dw ? game_startrow2 dw ? field_2FE dw 24 dup (?) field_32E dw 24 dup (?) field_35E dw 24 dup (?) field_38E db 48 dup (?) field_3BE db 48 dup (?) kevinseed db 6 dup (?) field_3F4 db ? game_inputmode db ? game_3F6autoLoadEvalFlag db ? field_3F7 db 2 dup (?) field_3F9 db ? field_3FA db 48 dup (?) field_42A db ? field_42B db 24 dup (?) field_443 db 24 dup (?) field_45B db ? field_45C db ? field_45D db ? field_45E db ? field_45F db ? GAMESTATE ends