Isle
Loading...
Searching...
No Matches
carrace.cpp
Go to the documentation of this file.
1#include "carrace.h"
2
3#include "carrace_actions.h"
4#include "dunebuggy.h"
5#include "isle.h"
6#include "jukebox_actions.h"
10#include "legomain.h"
11#include "legonavcontroller.h"
12#include "legopathstruct.h"
13#include "legoracers.h"
14#include "legoutils.h"
15#include "misc.h"
18#include "mxmisc.h"
20#include "mxstillpresenter.h"
21#include "mxtransitionmanager.h"
22#include "mxvariabletable.h"
23#include "scripts.h"
24
26
27// GLOBAL: LEGO1 0x100d5d10
28MxS32 CarRace::g_unk0x100d5d10[] = {
37};
38
39// GLOBAL: LEGO1 0x100d5d30
40MxS32 CarRace::g_unk0x100d5d30[] = {
45};
46
47// GLOBAL: LEGO1 0x100d5d40
48MxS32 CarRace::g_unk0x100d5d40[] =
50
51// GLOBAL: LEGO1 0x100d5d50
52MxS32 CarRace::g_unk0x100d5d50[] =
54
55// GLOBAL: LEGO1 0x100d5d60
56MxS32 CarRace::g_unk0x100d5d60[] =
58
59// GLOBAL: LEGO1 0x100f0c70
60// STRING: LEGO1 0x100f0c48
61const LegoChar* g_strCRCFRNTY6 = "C_RCFRNTY6";
62
63// GLOBAL: LEGO1 0x100f0c74
64// STRING: LEGO1 0x100f0c3c
65const LegoChar* g_strCRCEDGEY0 = "C_RCEDGEY0";
66
67// GLOBAL: LEGO1 0x100f0c7c
69
70// FUNCTION: LEGO1 0x10016a90
72{
73 m_skeleton = NULL;
74 m_unk0x130 = MxRect32(0x16c, 0x154, 0x1ec, 0x15e);
75}
76
77// FUNCTION: LEGO1 0x10016ce0
78// FUNCTION: BETA10 0x100c8364
80{
81 MxResult result = LegoRace::Create(p_dsAction);
82
87
88 LegoGameState* state = GameState();
89
90 RaceState* raceState = (RaceState*) state->GetState("CarRaceState");
91
92 if (!raceState) {
93 raceState = (RaceState*) state->CreateState("CarRaceState");
94 }
95
96 m_raceState = raceState;
97
99 m_unk0x144 = -1;
100 m_unk0x148 = -1;
101 m_unk0x14c = -1;
102
104
105 MxS32 streamId =
109
110 return result;
111}
112
113// FUNCTION: LEGO1 0x10016dd0
114// FUNCTION: BETA10 0x100c8490
116{
117 assert(m_hideAnim);
120
121 MxDSAction action;
122 action.SetAtomId(*g_jukeboxScript);
124
128
129 m_unk0x144 = g_unk0x100d5d10[rand() & 7];
130
133
134 m_unk0x128 = (MxStillPresenter*) Find("MxPresenter", "CarLocator2");
136
137 m_unk0x12c = (MxStillPresenter*) Find("MxPresenter", "CarLocator3");
139 VariableTable()->SetVariable("DISTANCE", "0.036");
140}
141
142// FUNCTION: LEGO1 0x10016f60
143// FUNCTION: BETA10 0x100c85eb
145{
146 MxLong result = 0;
147
148 if (p_param.GetAction()) {
149 MxDSAction* action = p_param.GetAction();
150 MxU32 objectId = action->GetObjectId();
151
152 if (m_unk0x144 == objectId) {
154 result = 1;
155 }
157 m_maps[0]->Mute(FALSE);
158 m_maps[1]->Mute(FALSE);
159 m_maps[2]->Mute(FALSE);
160
162 result = 1;
163 }
164 else if (m_unk0x148 == objectId) {
167 }
168 else if (m_unk0x14c == objectId) {
170 }
171 }
172
173 return result;
174}
175
176// FUNCTION: LEGO1 0x100170e0
177// FUNCTION: BETA10 0x100c87ac
179{
180 MxLong result = 0;
181
182 if (p_param.GetTrigger() == 68) {
183 MxEntity* sender = (MxEntity*) p_param.GetSender();
184 MxS32 paramData = p_param.GetData();
185
186 switch (sender->GetEntityId()) {
187 case 10:
188 if (paramData <= m_unk0x104 || paramData >= m_unk0x104 + 5) {
189 break;
190 }
191
192 m_unk0x104 = paramData;
193 LegoChar buffer[20];
194 sprintf(buffer, "%g", 0.036 + 0.928 * (m_unk0xf8 * 20.0 + m_unk0x104) / (g_unk0x100f0c7c * 20.0));
195 VariableTable()->SetVariable("DISTANCE", buffer);
196
197 if (m_unk0x104 == 0x14) {
198 m_unk0x104 = 0;
199 m_unk0xf8++;
200
201 if (g_unk0x100f0c7c == m_unk0xf8) {
203
204 m_maps[0]->Mute(TRUE);
205 m_maps[1]->Mute(TRUE);
206 m_maps[2]->Mute(TRUE);
207
208 m_maps[0]->SetMaxLinearVel(-1.0);
209 m_maps[1]->SetMaxLinearVel(-1.0);
210 m_maps[2]->SetMaxLinearVel(-1.0);
211
213 m_maps[1]->ClearMaps();
214
216 m_maps[2]->ClearMaps();
217
218 MxS32 position;
219
221 position = 3;
222 m_unk0x148 = g_unk0x100d5d40[rand() % 3];
223 m_unk0x14c = g_unk0x100d5d60[rand() % 3];
224 }
225 else if (m_unk0xfc < m_unk0xf8 || m_unk0x100 < m_unk0xf8) {
226 position = 2;
227 if (m_unk0xfc == g_unk0x100f0c7c) {
228 m_unk0x148 = g_unk0x100d5d30[rand() % 4];
229 m_unk0x14c = g_unk0x100d5d60[rand() % 3];
230 }
231 else {
232 m_unk0x148 = g_unk0x100d5d50[rand() % 3];
233 m_unk0x14c = g_unk0x100d5d40[rand() % 3];
234 }
235 }
236 else {
237 position = 1;
238 m_unk0x148 = g_unk0x100d5d30[rand() % 4];
239 m_unk0x14c = g_unk0x100d5d50[rand() % 3];
240 }
241
245 NavController()->SetDeadZone(NavController()->GetDefaultDeadZone());
249
250 RaceState::Entry* raceState = m_raceState->GetState(GameState()->GetActorId());
251 raceState->m_unk0x02 = position;
252
253 if (raceState->m_score < (MxS16) position) {
254 raceState->m_score = position;
255 }
256
258 m_unk0x148,
259 NULL,
260 TRUE,
262 NULL,
263 FALSE,
264 TRUE,
265 FALSE,
266 TRUE
267 );
268 }
269
270 result = 1;
271 }
272
273 break;
274 case 11:
275 if (paramData <= m_unk0x108 || paramData >= m_unk0x108 + 5) {
276 break;
277 }
278
279 FUN_10017820(11, paramData);
280 m_unk0x108 = paramData;
281
282 if (m_unk0x108 == 0x14) {
283 m_unk0x108 = 0;
284 m_unk0xfc++;
285
286 if (g_unk0x100f0c7c == m_unk0xfc) {
287 m_maps[1]->SetMaxLinearVel(-1.0);
289 m_maps[1]->ClearMaps();
291
292 LegoROI* roi = FindROI("rcblack");
293
294 if (roi) {
295 roi->SetVisibility(FALSE);
296 }
297 }
298 }
299
300 break;
301 case 12:
302 if (paramData <= m_unk0x10c || paramData >= m_unk0x10c + 5) {
303 break;
304 }
305
306 FUN_10017820(12, paramData);
307
308 m_unk0x10c = paramData;
309
310 if (m_unk0x10c == 0x14) {
311 m_unk0x10c = 0;
312 m_unk0x100++;
313
315 m_maps[2]->SetMaxLinearVel(-1.0);
317 m_maps[2]->ClearMaps();
319
320 LegoROI* roi = FindROI("rcgreen");
321
322 if (roi) {
323 roi->SetVisibility(FALSE);
324 }
325 }
326 }
327
328 break;
329 }
330 }
331
332 return result;
333}
334
335// FUNCTION: LEGO1 0x10017650
337{
339
340 if (param->m_unk0x28 == 1) {
341 switch (param->m_clickedObjectId) {
342 case 3:
347 NavController()->SetDeadZone(NavController()->GetDefaultDeadZone());
353 break;
354 case 98:
359 NavController()->SetDeadZone(NavController()->GetDefaultDeadZone());
365 break;
366 default:
367 break;
368 }
369 }
370 return 1;
371}
372
373// FUNCTION: LEGO1 0x100177e0
374// FUNCTION: BETA10 0x100c8f59
376{
377 if (m_raceState->m_unk0x28 == 2) {
380 }
381
382 return 1;
383}
384
385// FUNCTION: LEGO1 0x10017820
386void CarRace::FUN_10017820(MxS32 p_param1, MxS16 p_param2)
387{
388 MxS32 local4;
389 MxStillPresenter* presenter;
390 MxS32 x, y;
391
392 if (p_param1 == 11) {
393 presenter = m_unk0x128;
394 local4 = m_unk0xfc;
395 }
396 else if (p_param1 == 12) {
397 presenter = m_unk0x12c;
398 local4 = m_unk0x100;
399 }
400
401 if (presenter) {
402 x = m_unk0x130.GetLeft() + 0.5 +
403 (m_unk0x130.GetRight() - m_unk0x130.GetLeft() + 1) * (local4 * 20.0 + p_param2) / (g_unk0x100f0c7c * 20.0);
404 y = m_unk0x130.GetTop() + 0.5 +
405 (m_unk0x130.GetBottom() - m_unk0x130.GetTop() + 1) * (local4 * 20.0 + p_param2) / (g_unk0x100f0c7c * 20.0);
406
407 presenter->SetPosition(x, y);
408 }
409}
410
411// FUNCTION: LEGO1 0x10017900
413{
415
417 DeleteObjects(&m_atomId, 500, 999);
420
422 NavController()->SetDeadZone(NavController()->GetDefaultDeadZone());
423
426
429 return TRUE;
430}
const LegoChar * g_strCRCEDGEY0
Definition: carrace.cpp:65
const LegoChar * g_strCRCFRNTY6
Definition: carrace.cpp:61
MxS32 g_unk0x100f0c7c
Definition: carrace.cpp:68
MxU32 m_unk0x018
[AI] Internal gameplay state variable; see Get/SetUnknown18 for usage. [AI]
Definition: isle.h:92
Implements the LEGO Island car race game mode.
Definition: carrace.h:53
MxLong HandleClick(LegoEventNotificationParam &) override
Handles click input in the context of the car race UI (such as quit buttons).
Definition: carrace.cpp:336
MxLong HandlePathStruct(LegoPathStructNotificationParam &) override
Handles race progress triggers from path segments.
Definition: carrace.cpp:178
MxLong HandleType0Notification(MxNotificationParam &) override
Handles notifications of an unclassified ("type 0") game event in this game mode.
Definition: carrace.cpp:375
MxResult Create(MxDSAction &p_dsAction) override
Initializes the car racing game mode and underlying state based on the supplied DSAction.
Definition: carrace.cpp:79
MxLong HandleEndAction(MxEndActionNotificationParam &) override
Handles the ending of scripted race actions.
Definition: carrace.cpp:144
CarRace()
Constructs a CarRace instance and initializes member variables.
Definition: carrace.cpp:71
void FUN_10017820(MxS32 p_param1, MxS16 p_param2)
Updates the location of still presenters for UI progress based on race advancement.
Definition: carrace.cpp:386
void ReadyWorld() override
Prepares the car race world and all interactive actors, UI, and animations.
Definition: carrace.cpp:115
MxBool Escape() override
Handles the user-initiated escape/action to quit or exit the car race mini-game.
Definition: carrace.cpp:412
static MxS32 GetColorOffset(const char *p_variable)
[AI] Determines the color offset index for the dune buggy dashboard based on a variable.
Definition: dunebuggy.cpp:161
void Mute(MxBool p_muted)
[AI] Mutes or unmutes the actor's current sound.
Definition: legoactor.cpp:144
virtual void ClearMaps()
[AI] Deallocates all animation map structures and selects no animation; resets current animation inde...
MxResult FUN_10060dc0(MxU32 p_objectId, MxMatrix *p_matrix, MxBool p_param3, MxU8 p_param4, LegoROI *p_roi, MxBool p_param6, MxBool p_param7, MxBool p_param8, MxBool p_param9)
[AI] Helper for starting a specific animation, including world matrix and camera settings.
void FUN_10061010(MxBool p_und)
[AI] Cancels all camera/transition animations and resets camera after completion.
@ e_unk0
[AI] Unknown/unspecified play mode
void Resume()
[AI] Resumes animation manager from suspension, restoring all previously suspended state.
void SetValue(const char *p_colorString) override
Sets the value of the background color using a command string.
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
MxS32 m_clickedObjectId
[AI] Object ID of the clicked control/presenter (or -1 if not set). [AI]
MxS16 m_unk0x28
[AI] Undetermined; settable via SetUnknown0x28. [AI]
LegoROI * GetROI()
[AI] Gets the ROI (Realtime Object Instance) associated with this entity. [AI]
Definition: legoentity.h:161
Notification parameter class for LEGO event notifications such as mouse events and modifier keys.
Comprehensive persistent game state manager: handles save/load, player selection, area switching,...
Definition: legogamestate.h:78
Area m_currentArea
Area/world the player is presently in. [AI].
LegoState * CreateState(const char *p_stateName)
Creates an instance of given state, registers it, and returns pointer.
LegoBackgroundColor * GetBackgroundColor()
Gets the main background color variable object. [AI].
void StopArea(Area p_area)
Calls cleanup logic for the specified area (removes actors, VMs, closes handles, etc....
LegoState * GetState(const char *p_stateName)
Find an existing state (LegoState-derived) object by its registered script/class name.
@ e_infomain
Information Center, main screen. [AI].
Definition: legogamestate.h:96
@ e_carrace
Car race (track, main). [AI].
@ e_undefined
Undefined or unset area. [AI].
Definition: legogamestate.h:93
@ e_unk21
Unknown [AI].
@ e_carraceExterior
Car race exterior/transition. [AI].
void FUN_1006db40(LegoTime p_time)
[AI] Traverses the animation node hierarchy starting at the root and synchronizes visibility flags fo...
void SetUnknown336(MxBool p_unk0x336)
[AI] Enables accepting input only for space-bar events (used in special UI states).
void DisableInputProcessing()
[AI] Block most input processing, allowing only button-down and space events (UI modal input blocking...
void SetDeadZone(MxS32 p_deadZone)
[AI] Sets the deadzone radius for input processing (region within which inputs are ignored).
void SetTrackDefault(MxS32 p_trackDefault)
[AI] Marks the controller to track global/default navigation parameters rather than custom overrides.
@ c_clearScreen
[AI] When set, clears the display surface. [AI]
Definition: legomain.h:49
@ c_disable3d
[AI] When set, disables 3D rendering. [AI]
Definition: legomain.h:48
@ c_disableInput
[AI] When set, disables input processing. [AI]
Definition: legomain.h:47
virtual void SetMaxLinearVel(MxFloat p_maxLinearVel)
[AI] Sets the maximum linear velocity for actor navigation.
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
MxS16 GetData()
[AI] Retrieves the supplemental data associated with the notification.
MxU8 GetTrigger()
[AI] Returns the trigger type associated with this notification.
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
Definition: legoroi.h:43
static void InitSoundIndices()
[AI] Initializes sound playback array indices for collision sounds to randomized values.
Definition: legoracers.cpp:214
static void FUN_10012de0()
[AI] Resets static sound state variables for the car (last sound time, stopped flag,...
Definition: legoracers.cpp:204
MxStillPresenter * m_unk0x128
[AI] Unknown, likely for presenting stills during race transitions or cutscenes.
Definition: legorace.h:274
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates and initializes LegoRace world/logic for a DS action.
Definition: legorace.cpp:40
MxS32 m_unk0x104
[AI] Unknown (race-specific state/control variable).
Definition: legorace.h:267
MxS32 m_unk0x10c
[AI] Unknown (race-specific state/control variable).
Definition: legorace.h:269
RaceState * m_raceState
[AI] Stores persistent race state/results for the race world instance.
Definition: legorace.h:277
MxS32 m_unk0xfc
[AI] Unknown (race-specific state/control variable).
Definition: legorace.h:265
LegoGameState::Area m_destLocation
[AI] Destination location (area to switch to after race/transition).
Definition: legorace.h:271
MxRect32 m_unk0x130
[AI] Unknown 32-bit rectangle, possible HUD/viewport region.
Definition: legorace.h:276
LegoRaceMap * m_maps[3]
[AI] Map objects used by this race (main, alternate, or lap variants).
Definition: legorace.h:270
Act1State * m_act1State
[AI] Pointer to Act1State (first act/sequence logic).
Definition: legorace.h:273
MxStillPresenter * m_unk0x12c
[AI] Unknown, likely for presenting stills during race transitions or cutscenes.
Definition: legorace.h:275
MxS32 m_unk0x100
[AI] Unknown (race-specific state/control variable).
Definition: legorace.h:266
MxS32 m_unk0x108
[AI] Unknown (race-specific state/control variable).
Definition: legorace.h:268
MxS32 m_unk0xf8
[AI] Unknown (race-specific state/control variable).
Definition: legorace.h:264
virtual void ReadyWorld()
Called when the world is ready to be used—typically for custom scene setup after startup.
Definition: legoworld.cpp:874
LegoHideAnimPresenter * m_hideAnim
Animation presenter for ROI hide (vanish, fade, etc.) sequences.
Definition: legoworld.h:378
MxCore * Find(const char *p_class, const char *p_name)
Finds an object of a given class and name in the world.
Definition: legoworld.cpp:573
void RemoveActor(LegoPathActor *p_actor)
Removes an actor from all known path controllers.
Definition: legoworld.cpp:325
MxDSAction * GetAction()
[AI] Direct access to the underlying action.
MxResult PlayMusic(MxDSAction &p_action, undefined4 p_speed, MxPresenter::TickleState p_tickleState)
[AI] Initiates playback of a new background music action with specified speed and target tickle state...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
virtual void SetAtomId(MxAtomId p_atomId)
[AI] Sets the atom id for this object instance, used for indexing or lookup.
Definition: mxdsobject.h:118
void SetObjectId(MxU32 p_objectId)
[AI] Sets the object id (for serialization or lookup).
Definition: mxdsobject.h:147
MxU32 GetObjectId()
[AI] Returns the object id numeric value.
Definition: mxdsobject.h:130
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
MxEntity is a base class for game entities which are uniquely identified by an integer ID and an Atom...
Definition: mxentity.h:22
MxS32 GetEntityId()
Returns the current entity ID.
Definition: mxentity.h:93
MxAtomId m_atomId
The AtomId associated with this entity, used for resource and script identification.
Definition: mxentity.h:124
MxResult Send(MxCore *p_listener, const MxNotificationParam &p_param)
[AI] Queues a notification to be sent to a specific registered listener.
[AI] Parameter object representing a single notification or event, carrying an identifier and sender ...
MxCore * GetSender() const
[AI] Retrieves the sender pointer associated with this notification.
@ e_repeating
[AI] Presentation is repeating (e.g., looping media).
Definition: mxpresenter.h:28
[AI] Rectangle using 32-bit signed integer coordinates.
Definition: mxgeometry.h:706
T GetTop() const
[AI] Get the top edge.
Definition: mxgeometry.h:231
T GetRight() const
[AI] Get the right edge.
Definition: mxgeometry.h:241
T GetLeft() const
[AI] Get the left edge.
Definition: mxgeometry.h:221
T GetBottom() const
[AI] Get the bottom edge.
Definition: mxgeometry.h:251
[AI] Presenter for single still image/bitmap media sources in the game.
virtual void SetPosition(MxS32 p_x, MxS32 p_y)
[AI] Sets the pixel-based position of the presented image.
MxResult StartTransition(TransitionType p_animationType, MxS32 p_speed, MxBool p_doCopy, MxBool p_playMusicInAnim)
[AI] Begins a new transition animation of type p_animationType at the specified speed,...
@ e_mosaic
[AI] Complex mosaic block-out effect.
void SetVariable(const char *p_key, const char *p_value)
Sets a variable by key and value, replacing or updating if it exists.
void SetVisibility(unsigned char p_visible)
[AI] Sets the visibility flag to the provided value.
Definition: roi.h:235
[AI] Maintains persistent information about race progress, results, and high scores for up to five ra...
Definition: legorace.h:28
undefined4 m_unk0x28
[AI] Unknown extra field, always initialized to zero.
Definition: legorace.h:138
Entry * GetState(MxU8 p_id)
[AI] Fetches a race state entry matching the given entry ID, or NULL if not found in the array.
Definition: legorace.cpp:151
#define TRUE
Definition: d3drmdef.h:28
#define FALSE
Definition: d3drmdef.h:27
#define DECOMP_SIZE_ASSERT(T, S)
Definition: decomp.h:19
const char * g_strHIT_WALL_SOUND
[AI] Variable table name for the wall hit sound [AI]
const char * g_raceState
[AI] Global variable storing the name of the race state variable (used for checking or setting state ...
const char * g_racing
[AI] Global variable storing the name of the racing state (used to check if the race is currently ong...
#define NULL
[AI] Null pointer value (C/C++ semantics).
Definition: legotypes.h:26
char LegoChar
[AI] Alias for char, for use in character/byte data and string handling.
Definition: legotypes.h:83
void InvokeAction(Extra::ActionType p_actionId, const MxAtomId &p_pAtom, MxS32 p_streamId, LegoEntity *p_sender)
[AI] Dispatches and triggers a game action on the given script or object.
Definition: legoutils.cpp:271
LegoGameState * GameState()
[AI] Accessor for the game's central game state controller. [AI]
Definition: misc.cpp:61
LegoAnimationManager * AnimationManager()
[AI] Accessor for the animation manager, which controls Lego character/world animation state....
Definition: misc.cpp:69
void DeleteObjects(MxAtomId *p_id, MxS32 p_first, MxS32 p_last)
[AI] Batch deletes objects, given by atom id, and within the entity id range [p_first,...
Definition: misc.cpp:237
MxTransitionManager * TransitionManager()
[AI] Accessor for the MxTransitionManager, handling level transitions, fades, and world changes....
Definition: misc.cpp:208
MxBackgroundAudioManager * BackgroundAudioManager()
[AI] Accessor for the background audio manager. Used for background music and ambient sounds....
Definition: misc.cpp:37
void FUN_10015820(MxBool p_disable, MxU16 p_flags)
[AI] Utility for enabling or disabling functionality in LegoOmni based on certain flags.
Definition: misc.cpp:143
LegoNavController * NavController()
[AI] Accessor for the navigation controller, managing player/camera navigation. [AI]
Definition: misc.cpp:77
LegoInputManager * InputManager()
[AI] Accessor for the input manager, which handles keyboard, mouse, and controller input....
Definition: misc.cpp:45
LegoROI * FindROI(const char *p_name)
[AI] Looks up a LegoROI (Real-time Object Instance) by name in the current world or global registry.
Definition: misc.cpp:151
MxVariableTable * VariableTable()
[AI] Returns the variable table used for script variables and global key/value state.
Definition: mxmisc.cpp:73
MxNotificationManager * NotificationManager()
[AI] Returns the notification manager for system-wide state/update notifications.
Definition: mxmisc.cpp:17
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
int MxLong
[AI]
Definition: mxtypes.h:83
signed short MxS16
[AI]
Definition: mxtypes.h:26
signed int MxS32
[AI]
Definition: mxtypes.h:38
unsigned int MxU32
[AI]
Definition: mxtypes.h:32
@ c_srt013sl_RunAnim
[AI] Action to run animation for SRT013SL.
@ c_srt005sl_RunAnim
[AI] Action to run animation for SRT005SL.
@ c_srt009rh_RunAnim
[AI] Action to run animation for SRT009RH.
@ c_srt003rh_RunAnim
[AI] Action to run animation for SRT003RH.
@ c_srt010rh_RunAnim
[AI] Action to run animation for SRT010RH.
@ c_srt012sl_RunAnim
[AI] Action to run animation for SRT012SL.
@ c_srt011rh_RunAnim
[AI] Action to run animation for SRT011RH.
@ c_srt008rh_RunAnim
[AI] Action to run animation for SRT008RH.
@ c_srt001sl_RunAnim
[AI] Action to run animation for SRT001SL.
@ c_srt003sl_RunAnim
[AI] Action to run animation for SRT003SL.
@ c_srt012rh_RunAnim
[AI] Action to run animation for SRT012RH.
@ c_srt016sl_RunAnim
[AI] Action to run animation for SRT016SL.
@ c_srt001rh_RunAnim
[AI] Action to run animation for SRT001RH.
@ c_srt002sl_RunAnim
[AI] Action to run animation for SRT002SL.
@ c_irtx08ra_PlayWav
[AI] Embedded script object to play a WAV sound, associated with the irtx08ra marker.
@ c_srt011sl_RunAnim
[AI] Action to run animation for SRT011SL.
@ c_srt015sl_RunAnim
[AI] Action to run animation for SRT015SL.
@ c_srt007rh_RunAnim
[AI] Action to run animation for SRT007RH.
@ c_RaceCarDashboard
[AI] General dashboard for race car.
@ c_srt004sl_RunAnim
[AI] Action to run animation for SRT004SL.
@ c_srt014sl_RunAnim
[AI] Action to run animation for SRT014SL.
@ c_srt017sl_RunAnim
[AI] Action to run animation for SRT017SL.
@ c_srt002rh_RunAnim
[AI] Action to run animation for SRT002RH.
@ c_RaceTrackRoad_Music
[AI] Music for the racetrack roads.
[AI] Contains global script AtomId pointers and utility functions for managing script AtomIds in LEGO...
MxAtomId * g_jukeboxScript
[AI] Script AtomId for the Jukebox entity/event script.
Definition: scripts.cpp:70
MxAtomId * g_carraceScript
[AI] Script AtomId for the car racing event script.
Definition: scripts.cpp:19
@ e_stop
[AI] Stop an activity or playback [AI]
Definition: extra.h:31
@ e_start
[AI] Start an activity or playback [AI]
Definition: extra.h:30
[AI] Entry for an individual race event/state, holding its identifier, unknown field,...
Definition: legorace.h:35
MxS16 m_unk0x02
[AI] Unknown field (usage unclear).
Definition: legorace.h:85
MxS16 m_score
[AI] High score for this race/entry.
Definition: legorace.h:86