25 m_isButtonDown =
FALSE;
36 m_isButtonDown =
TRUE;
44 m_isButtonDown =
FALSE;
59 m_isButtonDown =
TRUE;
67 m_isButtonDown =
FALSE;
[AI] Represents a 3D view for rendering and managing LEGO game objects in a 3D scene.
ViewROI * GetPointOfView()
[AI] Returns the current point-of-view object (the ViewROI the camera is following).
BOOL Moved(ViewROI &rROI)
[AI] Notifies the view that a ViewROI has moved.
[AI] Represents an entity that can be placed and managed in the LEGO Island world.
Mx3DPointFloat GetWorldDirection()
[AI] Gets the normalized world-space direction vector, optionally updating from ROI....
Mx3DPointFloat GetWorldUp()
[AI] Gets the normalized world-space up vector, optionally updating from ROI. [AI]
Mx3DPointFloat GetWorldPosition()
[AI] Gets the world-space position vector, optionally updating from ROI. [AI]
[AI] Handles mouse input relevant to camera or entity control.
virtual void RightUp(int, int)
[AI] Invoked when the right mouse button is released.
MxDouble GetButtonY()
[AI] Returns the Y coordinate where the last mouse button event occurred.
virtual void LeftUp(int, int)
[AI] Invoked when the left mouse button is released.
virtual void LeftDrag(int, int)
[AI] Invoked as the mouse drags while the left button is held.
BOOL GetIsButtonDown()
[AI] Returns whether any mouse button is currently in the 'down' state.
virtual void RightDrag(int, int)
[AI] Invoked as the mouse drags while the right button is held.
virtual void RightDown(int, int)
[AI] Invoked when the right mouse button is pressed.
virtual void LeftDown(int, int)
[AI] Invoked when the left mouse button is pressed.
MxDouble GetButtonX()
[AI] Returns the X coordinate where the last mouse button event occurred.
~LegoMouseController() override
[AI] Destructor for mouse controller. [AI]
[AI] Handles user navigation input (keyboard and joystick) and determines avatar movement and directi...
void SetTargets(int p_hPos, int p_vPos, MxBool p_accel)
[AI] Set the horizontal/vertical target positions from input and optionally apply acceleration/dynami...
void SetControlMax(int p_hMax, int p_vMax)
[AI] Set limits for horizontal and vertical input controls, typically reflecting window/screen size.
void SetTrackDefault(MxS32 p_trackDefault)
[AI] Marks the controller to track global/default navigation parameters rather than custom overrides.
MxBool CalculateNewPosDir(const Vector3 &p_curPos, const Vector3 &p_curDir, Vector3 &p_newPos, Vector3 &p_newDir, const Vector3 *p_und)
[AI] Calculates the new position and direction vectors based on input, current velocity,...
void SetNavController(LegoNavController *p_navController)
[AI] Sets the navigation controller.
static LegoOmni * GetInstance()
[AI] Returns the current LegoOmni singleton pointer, cast from MxOmni.
[AI] Controller that links mouse actions to manipulation of the user's point of view in the 3D scene.
virtual void SetEntity(LegoEntity *p_entity)
[AI] Assign the entity which this controller operates on, typically to associate the point of view wi...
LegoPointOfViewController()
[AI] Initializes state for coordinating mouse and point-of-view. [AI]
~LegoPointOfViewController() override
[AI] Destructor; cleans up any owned references. [AI]
void LeftDrag(int p_x, int p_y) override
[AI] Called when cursor moves with left mouse button held; typically drags the point of view.
LegoNavController * m_nav
[AI] Navigation controller used to translate input to navigation/camera changes. [AI]
LegoEntity * m_entity
[AI] The entity whose point of view this controller manipulates. [AI]
void AffectPointOfView()
[AI] Internal method to compute and apply the effect of user mouse input on the current point of view...
void LeftDown(int p_x, int p_y) override
[AI] Called when left mouse button is pressed; may start point-of-view manipulation.
MxResult Tickle() override
[AI] Called each frame (tick) to update the state of the point of view, potentially responding to inp...
MxDouble m_entityOffsetUp
[AI] Offset along the entity's upward vector (for perspective/camera alignment). [AI]
MxResult Create(Lego3DView *p_lego3DView)
[AI] Initializes the controller with a specific 3D view.
Lego3DView * m_lego3DView
[AI] The active 3D view that input actions are translated into. [AI]
void OnViewSize(int p_width, int p_height)
[AI] Updates the controller's internal state for a view size change, such as resizing the 3D viewport...
void UpdateListener(const float *p_position, const float *p_direction, const float *p_up, const float *p_velocity)
[AI] Updates the 3D sound listener properties in DirectSound, reflecting player/world changes.
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
virtual void UnregisterClient(MxCore *p_client)
[AI] Unregisters (marks for destruction) a previously registered client.
virtual void RegisterClient(MxCore *p_client, MxTime p_interval)
[AI] Registers an MxCore object to receive periodic tickles.
MxLong GetTime()
Returns the current timer value in ms, depending on running state.
const float * GetWorldUp() const
Returns a pointer to the world up vector from the transformation matrix.
const float * GetWorldPosition() const
Returns a pointer to the world position from the transformation matrix (translation row).
const float * GetWorldDirection() const
Returns a pointer to the world direction vector (forward axis) from the transformation matrix.
void WrappedSetLocalTransform(const Matrix4 &p_transform)
Wraps SetLocalTransform, for possible override or interface uniformity.
void FUN_100a5a30(const Vector3 &p_world_velocity)
Sets the world velocity to the provided vector.
const float * GetWorldVelocity() const override
Returns a pointer to the object's velocity vector in world space.
[AI] An extension of LegoROI that adds support for keeping and applying a base time reference (used f...
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
void Clear() override
[AI] Sets every coordinate (x, y, z) to zero.
[AI] ViewROI objects represent viewable and placeable objects in the scene, each holding their own tr...
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
LegoSoundManager * SoundManager()
[AI] Accessor for the game's LegoSoundManager subsystem from the global LegoOmni instance....
MxTimer * Timer()
[AI] Returns the global simulation timer.
MxTickleManager * TickleManager()
[AI] Provides access to the global tickle manager.
void CalcLocalTransform(const Vector3 &p_posVec, const Vector3 &p_dirVec, const Vector3 &p_upVec, Matrix4 &p_outMatrix)
[AI] Computes a transformation matrix based on a position, direction, and up vector.