29 HandleTrigger(p_actor, p_direction, p_data,
TRUE);
38 MxBool bool2 = p_bool ? !p_direction : p_direction;
71 if (presenter !=
NULL) {
78 PlayMusic(p_direction, p_data);
86 if (world->
Notify(param) != 0) {
110void LegoPathStruct::FUN_1001bc40(
const char* p_name,
MxU32 p_data,
MxBool p_bool)
128void LegoPathStruct::PlayMusic(
MxBool p_direction,
MxU32 p_data)
152 MxS16 triggersReff[24][2] = {{11, 10}, {6, 10}, {3, 1}, {4, 1}, {1, 4}, {1, 4}, {13, 2}, {13, 2},
153 {13, 2}, {4, 10}, {11, 9}, {9, 7}, {8, 7}, {8, 5}, {5, 2}, {2, 4},
154 {4, 2}, {4, 5}, {11, 4}, {12, 10}, {10, 12}, {10, 12}, {14, 2}, {14, 2}};
161 action.
SetObjectId(music[triggersReff[p_data - 1][p_direction ==
FALSE] - 1]);
@ c_playMusic
[AI] If set, background music plays.
@ c_playCamAnims
[AI] If set, enables camera animation sequences.
[AI] Represents the music selection state for the Jukebox in the game.
MxU32 m_active
[AI] Flag indicating whether the Jukebox is currently active (1=active, 0=inactive)....
virtual void VTable0x58(MxFloat p_unk0x70)
[AI] Sets a floating point property, unknown usage (possibly animation or audio parameter).
MxLong Notify(MxParam &p_param) override
[AI] Handles event notification for the entity, most notably user clicks, using polymorphic dispatch.
MxBool GetCameraFlag()
[AI] Returns whether this entity is flagged as camera (affects world/camera synchronization)....
LegoState * GetState(const char *p_stateName)
Find an existing state (LegoState-derived) object by its registered script/class name.
[AI] Presenter class responsible for controlling animations that hide or show actors based on animati...
void FUN_1006db40(LegoTime p_time)
[AI] Traverses the animation node hierarchy starting at the root and synchronizes visibility flags fo...
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
[AI] Represents a trigger/control element in the LEGO world's path system, linked logically to the wo...
@ c_camAnim
[AI] Camera animation trigger.
@ c_music
[AI] Music control trigger.
@ c_s
[AI] State change trigger.
@ c_d
[AI] Door or passage transition trigger.
@ c_w
[AI] World notification trigger.
@ c_h
[AI] Hide animation trigger.
@ c_g
[AI] Generic placeholder trigger.
virtual void HandleTrigger(LegoPathActor *p_actor, MxBool p_direction, MxU32 p_data)
[AI] Main trigger handler; evaluates flags and name-based script to decide what action to take when a...
Represents the active 3D world, holding all entity, animation, sound, path, and ROI objects.
LegoHideAnimPresenter * GetHideAnimPresenter()
Gets the animation presenter responsible for hide animations in this world.
MxLong Notify(MxParam &p_param) override
Notification callback responding to registered events such as EndAction and NewPresenter.
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...
virtual void SetAtomId(MxAtomId p_atomId)
[AI] Sets the atom id for this object instance, used for indexing or lookup.
void SetUnknown24(MxS16 p_unk0x24)
[AI] Sets the unknown field at 0x24 (possibly version/state).
void SetObjectId(MxU32 p_objectId)
[AI] Sets the object id (for serialization or lookup).
MxU32 GetObjectId()
[AI] Returns the object id numeric value.
MxResult Send(MxCore *p_listener, const MxNotificationParam &p_param)
[AI] Queues a notification to be sent to a specific registered listener.
@ e_repeating
[AI] Presentation is repeating (e.g., looping media).
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
void PlayCamAnim(LegoPathActor *p_actor, MxBool p_unused, MxU32 p_location, MxBool p_bool)
[AI] Initiates a camera animation for a specific path actor, or falls back to default animation trigg...
LegoGameState * GameState()
[AI] Accessor for the game's central game state controller. [AI]
MxBackgroundAudioManager * BackgroundAudioManager()
[AI] Accessor for the background audio manager. Used for background music and ambient sounds....
LegoWorld * CurrentWorld()
[AI] Accessor for the currently active LegoWorld instance. [AI]
MxResult Start(MxDSAction *p_dsAction)
[AI] Schedules and initiates execution of a script action.
void DeleteObject(MxDSAction &p_dsAction)
[AI] Deletes the specified action object, removing it from the global action list.
MxNotificationManager * NotificationManager()
[AI] Returns the notification manager for system-wide state/update notifications.
@ c_notificationPathStruct
[AI] Data related to a path structure [AI]
@ c_Quiet_Audio
[AI] Quiet/ambient audio track, likely used to mute or dampen music.
@ c_BeachBlvd_Music
[AI] Music for Beach Boulevard.
@ c_Beach_Music
[AI] Ambient/area music for the beach.
@ c_Hospital_Music
[AI] Background music for the hospital.
@ c_Park_Music
[AI] Music for park environments.
@ c_ResidentalArea_Music
[AI] Music for the residential area environment.
@ c_InformationCenter_Music
[AI] Background music for the information center.
@ c_CentralNorthRoad_Music
[AI] Music for central northern roads.
@ c_PoliceStation_Music
[AI] Music played inside or near the police station.
@ c_Cave_Music
[AI] Music for cave locations.
@ c_RaceTrackRoad_Music
[AI] Music for the racetrack roads.
@ c_Jail_Music
[AI] Background music for the jail area.
@ c_CentralRoads_Music
[AI] Background music for LEGO Island central roads.
@ c_GarageArea_Music
[AI] Music in the garage or vehicle area.
[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.
[AI] Abstract base describing named, flag-based elements of the LEGO world path system.
MxU32 m_flags
[AI] Bitfield of state and trigger flags for fast matching in trigger logic.
char * m_name
[AI] Dynamically allocated name for this path struct instance (e.g., a label or trigger identifier).
@ c_bit2
[AI] Bitmask for actor direction/state.
@ c_bit7
[AI] Extra bit, typically used for advanced logic/filtering [AI].
@ c_bit4
[AI] Bitmask for extra control/state.
@ c_bit6
[AI] Bitmask for direction or branch 'false' (see HandleTrigger) [AI].
@ c_bit3
[AI] Bitmask for direction filter/type.
@ c_bit5
[AI] Bitmask for direction or branch 'true' (see HandleTrigger) [AI].
@ c_bit1
[AI] Bitmask for camera flag/actor trigger logic.