mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-22 15:51:16 +00:00
Merge branch 'master' into experiment-entropy
This commit is contained in:
commit
866c370353
@ -155,7 +155,7 @@ class Act3 : public LegoWorld {
|
|||||||
const Matrix4& p_destination,
|
const Matrix4& p_destination,
|
||||||
const Matrix4& p_startPosition,
|
const Matrix4& p_startPosition,
|
||||||
const Matrix4& p_endPosition,
|
const Matrix4& p_endPosition,
|
||||||
const MxQuaternionTransformer& p_unk0x1f4
|
const MxQuaternionTransformer& p_quatTransform
|
||||||
);
|
);
|
||||||
|
|
||||||
Act3State* m_state; // 0xf8
|
Act3State* m_state; // 0xf8
|
||||||
|
|||||||
@ -51,15 +51,16 @@ class InfocenterState : public LegoState {
|
|||||||
return (InfomainScript::Script) m_leaveDialogue[GameState()->GetCurrentAct()].Next();
|
return (InfomainScript::Script) m_leaveDialogue[GameState()->GetCurrentAct()].Next();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FUNCTION: BETA10 0x10031ac0
|
||||||
|
InfomainScript::Script GetNextReturnDialogue()
|
||||||
|
{
|
||||||
|
return (InfomainScript::Script) m_returnDialogue[GameState()->GetCurrentAct()].Next();
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: These probably don't exist according to BETA
|
// TODO: These probably don't exist according to BETA
|
||||||
Playlist& GetExitDialogueAct1() { return m_exitDialogueAct1; }
|
Playlist& GetExitDialogueAct1() { return m_exitDialogueAct1; }
|
||||||
Playlist& GetExitDialogueAct23() { return m_exitDialogueAct23; }
|
Playlist& GetExitDialogueAct23() { return m_exitDialogueAct23; }
|
||||||
Playlist& GetReturnDialogue(LegoGameState::Act p_act) { return m_returnDialogue[p_act]; }
|
|
||||||
Playlist& GetLeaveDialogue(LegoGameState::Act p_act) { return m_leaveDialogue[p_act]; }
|
|
||||||
Playlist& GetBricksterDialogue() { return m_bricksterDialogue; }
|
Playlist& GetBricksterDialogue() { return m_bricksterDialogue; }
|
||||||
MxU32 GetUnknown0x74() { return m_unk0x74; }
|
|
||||||
|
|
||||||
void SetUnknown0x74(MxU32 p_unk0x74) { m_unk0x74 = p_unk0x74; }
|
|
||||||
|
|
||||||
// SYNTHETIC: LEGO1 0x10071900
|
// SYNTHETIC: LEGO1 0x10071900
|
||||||
// InfocenterState::`scalar deleting destructor'
|
// InfocenterState::`scalar deleting destructor'
|
||||||
@ -170,7 +171,7 @@ class Infocenter : public LegoWorld {
|
|||||||
LegoGameState::Area m_destLocation; // 0x104
|
LegoGameState::Area m_destLocation; // 0x104
|
||||||
Cutscene m_currentCutscene; // 0x108
|
Cutscene m_currentCutscene; // 0x108
|
||||||
Radio m_radio; // 0x10c
|
Radio m_radio; // 0x10c
|
||||||
MxStillPresenter* m_unk0x11c; // 0x11c
|
MxStillPresenter* m_dragPresenter; // 0x11c
|
||||||
InfocenterMapEntry m_glowInfo[7]; // 0x120
|
InfocenterMapEntry m_glowInfo[7]; // 0x120
|
||||||
MxS16 m_unk0x1c8; // 0x1c8
|
MxS16 m_unk0x1c8; // 0x1c8
|
||||||
MxStillPresenter* m_frame; // 0x1cc
|
MxStillPresenter* m_frame; // 0x1cc
|
||||||
|
|||||||
@ -93,7 +93,7 @@ class LegoAnimPresenter : public MxVideoPresenter {
|
|||||||
|
|
||||||
void SetCurrentWorld(LegoWorld* p_currentWorld) { m_currentWorld = p_currentWorld; }
|
void SetCurrentWorld(LegoWorld* p_currentWorld) { m_currentWorld = p_currentWorld; }
|
||||||
void SetUnknown0x0cTo1() { m_unk0x9c = 1; }
|
void SetUnknown0x0cTo1() { m_unk0x9c = 1; }
|
||||||
void SetUnknown0xa0(MxMatrix* p_unk0xa0) { m_unk0xa0 = p_unk0xa0; }
|
void SetUnknown0xa0(Matrix4* p_unk0xa0) { m_unk0xa0 = p_unk0xa0; }
|
||||||
|
|
||||||
LegoAnim* GetAnimation() { return m_anim; }
|
LegoAnim* GetAnimation() { return m_anim; }
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ class LegoAnimPresenter : public MxVideoPresenter {
|
|||||||
MxU32 m_roiMapSize; // 0x6c
|
MxU32 m_roiMapSize; // 0x6c
|
||||||
LegoROIList* m_unk0x70; // 0x70
|
LegoROIList* m_unk0x70; // 0x70
|
||||||
LegoROIList* m_unk0x74; // 0x74
|
LegoROIList* m_unk0x74; // 0x74
|
||||||
MxMatrix* m_unk0x78; // 0x78
|
Matrix4* m_unk0x78; // 0x78
|
||||||
MxU32 m_flags; // 0x7c
|
MxU32 m_flags; // 0x7c
|
||||||
LegoWorld* m_currentWorld; // 0x80
|
LegoWorld* m_currentWorld; // 0x80
|
||||||
MxAtomId m_worldAtom; // 0x84
|
MxAtomId m_worldAtom; // 0x84
|
||||||
@ -136,7 +136,7 @@ class LegoAnimPresenter : public MxVideoPresenter {
|
|||||||
undefined m_unk0x97; // 0x97
|
undefined m_unk0x97; // 0x97
|
||||||
LegoAnimSubstMap* m_substMap; // 0x98
|
LegoAnimSubstMap* m_substMap; // 0x98
|
||||||
MxS16 m_unk0x9c; // 0x9c
|
MxS16 m_unk0x9c; // 0x9c
|
||||||
MxMatrix* m_unk0xa0; // 0xa0
|
Matrix4* m_unk0xa0; // 0xa0
|
||||||
|
|
||||||
public:
|
public:
|
||||||
float m_unk0xa4; // 0xa4
|
float m_unk0xa4; // 0xa4
|
||||||
|
|||||||
@ -90,7 +90,7 @@ class LegoCarBuildAnimPresenter : public LegoAnimPresenter {
|
|||||||
void SetUnknown0xbc(undefined2 p_unk0xbc) { m_unk0xbc = p_unk0xbc; }
|
void SetUnknown0xbc(undefined2 p_unk0xbc) { m_unk0xbc = p_unk0xbc; }
|
||||||
|
|
||||||
// FUNCTION: BETA10 0x100703b0
|
// FUNCTION: BETA10 0x100703b0
|
||||||
MxMatrix& GetUnknown0xe0() { return m_unk0xe0; }
|
Matrix4& GetUnknown0xe0() { return m_unk0xe0; }
|
||||||
|
|
||||||
MxBool StringEndsOnW(LegoChar* p_param);
|
MxBool StringEndsOnW(LegoChar* p_param);
|
||||||
MxBool StringEndsOnYOrN(const LegoChar* p_string);
|
MxBool StringEndsOnYOrN(const LegoChar* p_string);
|
||||||
|
|||||||
@ -20,9 +20,7 @@ class LegoControlManagerNotificationParam : public LegoEventNotificationParam {
|
|||||||
|
|
||||||
// TODO: Most likely getters/setters are not used according to BETA.
|
// TODO: Most likely getters/setters are not used according to BETA.
|
||||||
|
|
||||||
MxS32 GetClickedObjectId() const { return m_clickedObjectId; }
|
|
||||||
const char* GetClickedAtom() const { return m_clickedAtom; }
|
const char* GetClickedAtom() const { return m_clickedAtom; }
|
||||||
MxS16 GetUnknown0x28() const { return m_unk0x28; }
|
|
||||||
|
|
||||||
void SetClickedObjectId(MxS32 p_clickedObjectId) { m_clickedObjectId = p_clickedObjectId; }
|
void SetClickedObjectId(MxS32 p_clickedObjectId) { m_clickedObjectId = p_clickedObjectId; }
|
||||||
void SetClickedAtom(const char* p_clickedAtom) { m_clickedAtom = p_clickedAtom; }
|
void SetClickedAtom(const char* p_clickedAtom) { m_clickedAtom = p_clickedAtom; }
|
||||||
|
|||||||
@ -215,7 +215,6 @@ class LegoGameState {
|
|||||||
void SetDirty(MxBool p_isDirty) { m_isDirty = p_isDirty; }
|
void SetDirty(MxBool p_isDirty) { m_isDirty = p_isDirty; }
|
||||||
void SetPreviousArea(Area p_previousArea) { m_previousArea = p_previousArea; }
|
void SetPreviousArea(Area p_previousArea) { m_previousArea = p_previousArea; }
|
||||||
void SetActorId(MxU8 p_actorId) { m_actorId = p_actorId; }
|
void SetActorId(MxU8 p_actorId) { m_actorId = p_actorId; }
|
||||||
void SetUnknown0x42c(Area p_unk0x42c) { m_unk0x42c = p_unk0x42c; }
|
|
||||||
Username* GetPlayersIndex(MxS32 p_index) { return &m_players[p_index]; }
|
Username* GetPlayersIndex(MxS32 p_index) { return &m_players[p_index]; }
|
||||||
MxS16 GetPlayerCount() { return m_playerCount; }
|
MxS16 GetPlayerCount() { return m_playerCount; }
|
||||||
LegoBackgroundColor* GetBackgroundColor() { return m_backgroundColor; }
|
LegoBackgroundColor* GetBackgroundColor() { return m_backgroundColor; }
|
||||||
|
|||||||
@ -77,8 +77,8 @@ class LegoPathActor : public LegoActor {
|
|||||||
float p_srcScale,
|
float p_srcScale,
|
||||||
LegoUnknown100db7f4& p_destEdge,
|
LegoUnknown100db7f4& p_destEdge,
|
||||||
float p_destScale
|
float p_destScale
|
||||||
); // vtable+0x88
|
); // vtable+0x88
|
||||||
virtual MxS32 VTable0x8c(float p_time, MxMatrix& p_transform); // vtable+0x8c
|
virtual MxS32 VTable0x8c(float p_time, Matrix4& p_transform); // vtable+0x8c
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10002d40
|
// FUNCTION: LEGO1 0x10002d40
|
||||||
virtual MxU32 VTable0x90(float, Matrix4&) { return FALSE; } // vtable+0x90
|
virtual MxU32 VTable0x90(float, Matrix4&) { return FALSE; } // vtable+0x90
|
||||||
|
|||||||
@ -437,8 +437,8 @@ MxLong Ambulance::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
{
|
{
|
||||||
MxLong result = 0;
|
MxLong result = 0;
|
||||||
|
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case IsleScript::c_AmbulanceArms_Ctl:
|
case IsleScript::c_AmbulanceArms_Ctl:
|
||||||
Exit();
|
Exit();
|
||||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||||
@ -454,7 +454,7 @@ MxLong Ambulance::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
case IsleScript::c_AmbulanceHorn_Ctl:
|
case IsleScript::c_AmbulanceHorn_Ctl:
|
||||||
MxSoundPresenter* presenter =
|
MxSoundPresenter* presenter =
|
||||||
(MxSoundPresenter*) CurrentWorld()->Find("MxSoundPresenter", "AmbulanceHorn_Sound");
|
(MxSoundPresenter*) CurrentWorld()->Find("MxSoundPresenter", "AmbulanceHorn_Sound");
|
||||||
presenter->Enable(p_param.GetUnknown0x28());
|
presenter->Enable(p_param.m_unk0x28);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,8 +81,8 @@ MxLong Bike::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
{
|
{
|
||||||
MxLong result = 0;
|
MxLong result = 0;
|
||||||
|
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case IsleScript::c_BikeArms_Ctl:
|
case IsleScript::c_BikeArms_Ctl:
|
||||||
Exit();
|
Exit();
|
||||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||||
@ -97,7 +97,7 @@ MxLong Bike::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
case IsleScript::c_BikeHorn_Ctl:
|
case IsleScript::c_BikeHorn_Ctl:
|
||||||
MxSoundPresenter* presenter =
|
MxSoundPresenter* presenter =
|
||||||
(MxSoundPresenter*) CurrentWorld()->Find("MxSoundPresenter", "BikeHorn_Sound");
|
(MxSoundPresenter*) CurrentWorld()->Find("MxSoundPresenter", "BikeHorn_Sound");
|
||||||
presenter->Enable(p_param.GetUnknown0x28());
|
presenter->Enable(p_param.m_unk0x28);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -121,8 +121,8 @@ MxLong DuneBuggy::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
{
|
{
|
||||||
MxLong result = 0;
|
MxLong result = 0;
|
||||||
|
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case IsleScript::c_DuneCarArms_Ctl:
|
case IsleScript::c_DuneCarArms_Ctl:
|
||||||
Exit();
|
Exit();
|
||||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||||
@ -137,7 +137,7 @@ MxLong DuneBuggy::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
case IsleScript::c_DuneCarHorn_Ctl:
|
case IsleScript::c_DuneCarHorn_Ctl:
|
||||||
MxSoundPresenter* presenter =
|
MxSoundPresenter* presenter =
|
||||||
(MxSoundPresenter*) CurrentWorld()->Find("MxSoundPresenter", "DuneCarHorn_Sound");
|
(MxSoundPresenter*) CurrentWorld()->Find("MxSoundPresenter", "DuneCarHorn_Sound");
|
||||||
presenter->Enable(p_param.GetUnknown0x28());
|
presenter->Enable(p_param.m_unk0x28);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -137,8 +137,8 @@ void Jetski::RemoveFromWorld()
|
|||||||
// FUNCTION: LEGO1 0x1007e8e0
|
// FUNCTION: LEGO1 0x1007e8e0
|
||||||
MxLong Jetski::HandleControl(LegoControlManagerNotificationParam& p_param)
|
MxLong Jetski::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
if (p_param.GetUnknown0x28() == 1 && CurrentWorld()->IsA("Isle")) {
|
if (p_param.m_unk0x28 == 1 && CurrentWorld()->IsA("Isle")) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case IsleScript::c_JetskiArms_Ctl:
|
case IsleScript::c_JetskiArms_Ctl:
|
||||||
Exit();
|
Exit();
|
||||||
((IslePathActor*) UserActor())
|
((IslePathActor*) UserActor())
|
||||||
|
|||||||
@ -115,8 +115,8 @@ MxLong Motocycle::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
{
|
{
|
||||||
MxLong result = 0;
|
MxLong result = 0;
|
||||||
|
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case IsleScript::c_MotoBikeArms_Ctl:
|
case IsleScript::c_MotoBikeArms_Ctl:
|
||||||
Exit();
|
Exit();
|
||||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||||
|
|||||||
@ -144,7 +144,7 @@ void Radio::Stop()
|
|||||||
MxLong Radio::HandleControl(LegoControlManagerNotificationParam& p_param)
|
MxLong Radio::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
MxDSAction action; // Unused
|
MxDSAction action; // Unused
|
||||||
MxS32 objectId = p_param.GetClickedObjectId();
|
MxS32 objectId = p_param.m_clickedObjectId;
|
||||||
|
|
||||||
if (objectId == IsleScript::c_Radio_Ctl) {
|
if (objectId == IsleScript::c_Radio_Ctl) {
|
||||||
if (m_state->IsActive()) {
|
if (m_state->IsActive()) {
|
||||||
|
|||||||
@ -110,7 +110,7 @@ MxLong SkateBoard::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
{
|
{
|
||||||
MxU32 result = 0;
|
MxU32 result = 0;
|
||||||
|
|
||||||
if (p_param.GetUnknown0x28() == 1 && p_param.GetClickedObjectId() == IsleScript::c_SkateArms_Ctl) {
|
if (p_param.m_unk0x28 == 1 && p_param.m_clickedObjectId == IsleScript::c_SkateArms_Ctl) {
|
||||||
Exit();
|
Exit();
|
||||||
GameState()->m_currentArea = LegoGameState::Area::e_unk66;
|
GameState()->m_currentArea = LegoGameState::Area::e_unk66;
|
||||||
result = 1;
|
result = 1;
|
||||||
|
|||||||
@ -482,8 +482,8 @@ MxLong TowTrack::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
{
|
{
|
||||||
MxLong result = 0;
|
MxLong result = 0;
|
||||||
|
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case IsleScript::c_TowTrackArms_Ctl:
|
case IsleScript::c_TowTrackArms_Ctl:
|
||||||
Exit();
|
Exit();
|
||||||
GameState()->m_currentArea = LegoGameState::e_unk66;
|
GameState()->m_currentArea = LegoGameState::e_unk66;
|
||||||
@ -498,7 +498,7 @@ MxLong TowTrack::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
break;
|
break;
|
||||||
case IsleScript::c_TowHorn_Ctl:
|
case IsleScript::c_TowHorn_Ctl:
|
||||||
MxSoundPresenter* presenter = (MxSoundPresenter*) CurrentWorld()->Find("MxSoundPresenter", "TowHorn_Sound");
|
MxSoundPresenter* presenter = (MxSoundPresenter*) CurrentWorld()->Find("MxSoundPresenter", "TowHorn_Sound");
|
||||||
presenter->Enable(p_param.GetUnknown0x28());
|
presenter->Enable(p_param.m_unk0x28);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -319,6 +319,7 @@ void MxBackgroundAudioManager::LowerVolume()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1007f5b0
|
// FUNCTION: LEGO1 0x1007f5b0
|
||||||
|
// FUNCTION: BETA10 0x100e9543
|
||||||
void MxBackgroundAudioManager::RaiseVolume()
|
void MxBackgroundAudioManager::RaiseVolume()
|
||||||
{
|
{
|
||||||
if (m_unk0x148 != 0) {
|
if (m_unk0x148 != 0) {
|
||||||
|
|||||||
@ -6,6 +6,7 @@ DECOMP_SIZE_ASSERT(LegoState, 0x08)
|
|||||||
DECOMP_SIZE_ASSERT(LegoState::Playlist, 0x0c)
|
DECOMP_SIZE_ASSERT(LegoState::Playlist, 0x0c)
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10014d00
|
// FUNCTION: LEGO1 0x10014d00
|
||||||
|
// FUNCTION: BETA10 0x10022580
|
||||||
MxU32 LegoState::Playlist::Next()
|
MxU32 LegoState::Playlist::Next()
|
||||||
{
|
{
|
||||||
MxU32 objectId;
|
MxU32 objectId;
|
||||||
|
|||||||
@ -185,7 +185,7 @@ MxBool LegoControlManager::FUN_10029630()
|
|||||||
|
|
||||||
while (cursor.Next(presenter)) {
|
while (cursor.Next(presenter)) {
|
||||||
if (((MxControlPresenter*) presenter)->FUN_10044480(&m_event, m_unk0x14)) {
|
if (((MxControlPresenter*) presenter)->FUN_10044480(&m_event, m_unk0x14)) {
|
||||||
g_unk0x100f31b0 = m_event.GetClickedObjectId();
|
g_unk0x100f31b0 = m_event.m_clickedObjectId;
|
||||||
g_unk0x100f31b4 = m_event.GetClickedAtom();
|
g_unk0x100f31b4 = m_event.GetClickedAtom();
|
||||||
FUN_100292e0();
|
FUN_100292e0();
|
||||||
m_unk0x08 = 1;
|
m_unk0x08 = 1;
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
DECOMP_SIZE_ASSERT(Act2Brick, 0x194)
|
DECOMP_SIZE_ASSERT(Act2Brick, 0x194)
|
||||||
|
|
||||||
// GLOBAL: LEGO1 0x100f7a38
|
// GLOBAL: LEGO1 0x100f7a38
|
||||||
|
// GLOBAL: BETA10 0x101dc480
|
||||||
const LegoChar* Act2Brick::g_lodNames[] =
|
const LegoChar* Act2Brick::g_lodNames[] =
|
||||||
{"xchbase1", "xchblad1", "xchseat1", "xchtail1", "xhback1", "xhljet1", "xhmidl1", "xhmotr1", "xhsidl1", "xhsidr1"};
|
{"xchbase1", "xchblad1", "xchseat1", "xchtail1", "xhback1", "xhljet1", "xhmidl1", "xhmotr1", "xhsidl1", "xhsidr1"};
|
||||||
|
|
||||||
@ -51,8 +52,12 @@ MxResult Act2Brick::Create(MxS32 p_index)
|
|||||||
sprintf(name, "chbrick%d", p_index);
|
sprintf(name, "chbrick%d", p_index);
|
||||||
|
|
||||||
m_roi = CharacterManager()->CreateAutoROI(name, g_lodNames[p_index], FALSE);
|
m_roi = CharacterManager()->CreateAutoROI(name, g_lodNames[p_index], FALSE);
|
||||||
|
assert(m_roi);
|
||||||
|
|
||||||
BoundingSphere sphere = m_roi->GetBoundingSphere();
|
#ifndef BETA10
|
||||||
|
BoundingSphere sphere;
|
||||||
|
|
||||||
|
sphere.Center() = m_roi->GetBoundingSphere().Center();
|
||||||
sphere.Center()[1] -= 0.3;
|
sphere.Center()[1] -= 0.3;
|
||||||
|
|
||||||
if (p_index < 6) {
|
if (p_index < 6) {
|
||||||
@ -63,6 +68,8 @@ MxResult Act2Brick::Create(MxS32 p_index)
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_roi->SetBoundingSphere(sphere);
|
m_roi->SetBoundingSphere(sphere);
|
||||||
|
#endif
|
||||||
|
|
||||||
m_roi->SetEntity(this);
|
m_roi->SetEntity(this);
|
||||||
CurrentWorld()->Add(this);
|
CurrentWorld()->Add(this);
|
||||||
m_unk0x164 = 1;
|
m_unk0x164 = 1;
|
||||||
|
|||||||
@ -630,6 +630,7 @@ MxCore* LegoWorld::Find(const char* p_class, const char* p_name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10021790
|
// FUNCTION: LEGO1 0x10021790
|
||||||
|
// FUNCTION: BETA10 0x100db3de
|
||||||
MxCore* LegoWorld::Find(const MxAtomId& p_atom, MxS32 p_entityId)
|
MxCore* LegoWorld::Find(const MxAtomId& p_atom, MxS32 p_entityId)
|
||||||
{
|
{
|
||||||
LegoEntityListCursor entityCursor(m_entityList);
|
LegoEntityListCursor entityCursor(m_entityList);
|
||||||
|
|||||||
@ -38,6 +38,7 @@ MxAtomId* g_elevbottScript = NULL;
|
|||||||
MxAtomId* g_infodoorScript = NULL;
|
MxAtomId* g_infodoorScript = NULL;
|
||||||
|
|
||||||
// GLOBAL: LEGO1 0x100f4548
|
// GLOBAL: LEGO1 0x100f4548
|
||||||
|
// GLOBAL: BETA10 0x102114dc
|
||||||
MxAtomId* g_infomainScript = NULL;
|
MxAtomId* g_infomainScript = NULL;
|
||||||
|
|
||||||
// GLOBAL: LEGO1 0x100f454c
|
// GLOBAL: LEGO1 0x100f454c
|
||||||
|
|||||||
@ -234,7 +234,7 @@ MxResult LegoPathActor::VTable0x84(
|
|||||||
|
|
||||||
// FUNCTION: LEGO1 0x1002e100
|
// FUNCTION: LEGO1 0x1002e100
|
||||||
// FUNCTION: BETA10 0x100b0520
|
// FUNCTION: BETA10 0x100b0520
|
||||||
MxS32 LegoPathActor::VTable0x8c(float p_time, MxMatrix& p_transform)
|
MxS32 LegoPathActor::VTable0x8c(float p_time, Matrix4& p_transform)
|
||||||
{
|
{
|
||||||
if (m_userNavFlag && m_actorState == c_initial) {
|
if (m_userNavFlag && m_actorState == c_initial) {
|
||||||
m_lastTime = p_time;
|
m_lastTime = p_time;
|
||||||
|
|||||||
@ -127,10 +127,9 @@ MxLong LegoRaceMap::Notify(MxParam& p_param)
|
|||||||
MxNotificationParam& param = (MxNotificationParam&) p_param;
|
MxNotificationParam& param = (MxNotificationParam&) p_param;
|
||||||
|
|
||||||
if (param.GetNotification() == c_notificationControl &&
|
if (param.GetNotification() == c_notificationControl &&
|
||||||
m_Map_Ctl->GetAction()->GetObjectId() ==
|
m_Map_Ctl->GetAction()->GetObjectId() == ((LegoControlManagerNotificationParam&) p_param).m_clickedObjectId) {
|
||||||
((LegoControlManagerNotificationParam&) p_param).GetClickedObjectId()) {
|
|
||||||
|
|
||||||
if (((LegoControlManagerNotificationParam&) p_param).GetUnknown0x28() == 1) {
|
if (((LegoControlManagerNotificationParam&) p_param).m_unk0x28 == 1) {
|
||||||
m_unk0x08 = TRUE;
|
m_unk0x08 = TRUE;
|
||||||
FUN_1005d4b0();
|
FUN_1005d4b0();
|
||||||
m_stillPresenter->Enable(TRUE);
|
m_stillPresenter->Enable(TRUE);
|
||||||
|
|||||||
@ -704,7 +704,9 @@ MxResult LegoAnimPresenter::FUN_1006b140(LegoROI* p_roi)
|
|||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
MxMatrix* mn = new MxMatrix();
|
Matrix4* mn = new MxMatrix();
|
||||||
|
assert(mn);
|
||||||
|
|
||||||
MxMatrix local58;
|
MxMatrix local58;
|
||||||
const Matrix4& local2world = p_roi->GetLocal2World();
|
const Matrix4& local2world = p_roi->GetLocal2World();
|
||||||
MxMatrix* local5c;
|
MxMatrix* local5c;
|
||||||
@ -725,7 +727,7 @@ MxResult LegoAnimPresenter::FUN_1006b140(LegoROI* p_roi)
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
((Matrix4*) mn)->Product(local58, local2world);
|
mn->Product(local58, local2world);
|
||||||
SetUnknown0xa0(mn);
|
SetUnknown0xa0(mn);
|
||||||
delete[] local5c;
|
delete[] local5c;
|
||||||
SetUnknown0x0cTo1();
|
SetUnknown0x0cTo1();
|
||||||
@ -734,7 +736,7 @@ MxResult LegoAnimPresenter::FUN_1006b140(LegoROI* p_roi)
|
|||||||
MxMatrix localf8;
|
MxMatrix localf8;
|
||||||
|
|
||||||
localf8.Product(local140, *m_unk0xa0);
|
localf8.Product(local140, *m_unk0xa0);
|
||||||
((Matrix4&) *m_unk0x78) = localf8;
|
*m_unk0x78 = localf8;
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -793,7 +793,7 @@ void Act3::DebugCopter(
|
|||||||
const Matrix4& p_destination,
|
const Matrix4& p_destination,
|
||||||
const Matrix4& p_startPosition,
|
const Matrix4& p_startPosition,
|
||||||
const Matrix4& p_endPosition,
|
const Matrix4& p_endPosition,
|
||||||
const MxQuaternionTransformer& p_unk0x1f4
|
const MxQuaternionTransformer& p_quatTransform
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
DebugPrintf("Copter matrix...\n\n");
|
DebugPrintf("Copter matrix...\n\n");
|
||||||
@ -823,19 +823,17 @@ void Act3::DebugCopter(
|
|||||||
DebugPrintf("\t%g, %g, %g, %g", EXPAND4(p_endPosition[2]));
|
DebugPrintf("\t%g, %g, %g, %g", EXPAND4(p_endPosition[2]));
|
||||||
DebugPrintf("\t%g, %g, %g, %g\n\n", EXPAND4(p_endPosition[3]));
|
DebugPrintf("\t%g, %g, %g, %g\n\n", EXPAND4(p_endPosition[3]));
|
||||||
|
|
||||||
Mx4DPointFloat unk0x00, unk0x18;
|
Mx4DPointFloat startQuat, endQuat;
|
||||||
|
|
||||||
if (p_unk0x1f4.GetFlags() != 0) {
|
if (p_quatTransform.GetFlags() != 0) {
|
||||||
// TODO: Match
|
p_quatTransform.GetQuat(startQuat, endQuat);
|
||||||
unk0x00 = p_unk0x1f4.GetStartQuat();
|
|
||||||
unk0x18 = p_unk0x1f4.GetEndQuat();
|
|
||||||
|
|
||||||
DebugPrintf("Source quaternion...");
|
DebugPrintf("Source quaternion...");
|
||||||
// STRING: LEGO1 0x100f7864
|
// STRING: LEGO1 0x100f7864
|
||||||
DebugPrintf("\t%g, %g, %g, %g\n", EXPAND4(unk0x00));
|
DebugPrintf("\t%g, %g, %g, %g\n", EXPAND4(startQuat));
|
||||||
|
|
||||||
DebugPrintf("Destination quaternion...");
|
DebugPrintf("Destination quaternion...");
|
||||||
DebugPrintf("\t%g, %g, %g, %g\n", EXPAND4(unk0x18));
|
DebugPrintf("\t%g, %g, %g, %g\n", EXPAND4(endQuat));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -87,8 +87,8 @@ MxLong ElevatorBottom::HandleControl(LegoControlManagerNotificationParam& p_para
|
|||||||
{
|
{
|
||||||
MxLong result = 0;
|
MxLong result = 0;
|
||||||
|
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case ElevbottScript::c_LeftArrow_Ctl:
|
case ElevbottScript::c_LeftArrow_Ctl:
|
||||||
m_destLocation = LegoGameState::e_infodoor;
|
m_destLocation = LegoGameState::e_infodoor;
|
||||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||||
|
|||||||
@ -387,10 +387,10 @@ MxLong GasStation::HandleButtonDown(LegoControlManagerNotificationParam& p_param
|
|||||||
// FUNCTION: BETA10 0x10029445
|
// FUNCTION: BETA10 0x10029445
|
||||||
MxLong GasStation::HandleControl(LegoControlManagerNotificationParam& p_param)
|
MxLong GasStation::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
MxDSAction action;
|
MxDSAction action;
|
||||||
|
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case GarageScript::c_LeftArrow_Ctl:
|
case GarageScript::c_LeftArrow_Ctl:
|
||||||
case GarageScript::c_RightArrow_Ctl:
|
case GarageScript::c_RightArrow_Ctl:
|
||||||
m_state->m_unk0x14 = 0;
|
m_state->m_unk0x14 = 0;
|
||||||
|
|||||||
@ -553,8 +553,8 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param)
|
|||||||
// FUNCTION: LEGO1 0x10075f90
|
// FUNCTION: LEGO1 0x10075f90
|
||||||
MxBool Hospital::HandleControl(LegoControlManagerNotificationParam& p_param)
|
MxBool Hospital::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case HospitalScript::c_Info_Ctl:
|
case HospitalScript::c_Info_Ctl:
|
||||||
BackgroundAudioManager()->RaiseVolume();
|
BackgroundAudioManager()->RaiseVolume();
|
||||||
DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim);
|
DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim);
|
||||||
|
|||||||
@ -129,7 +129,7 @@ InfomainScript::Script g_bricksterDialogue[2] = {
|
|||||||
Infocenter::Infocenter()
|
Infocenter::Infocenter()
|
||||||
{
|
{
|
||||||
m_selectedCharacter = e_noCharacter;
|
m_selectedCharacter = e_noCharacter;
|
||||||
m_unk0x11c = NULL;
|
m_dragPresenter = NULL;
|
||||||
m_infocenterState = NULL;
|
m_infocenterState = NULL;
|
||||||
m_frame = NULL;
|
m_frame = NULL;
|
||||||
m_destLocation = LegoGameState::e_undefined;
|
m_destLocation = LegoGameState::e_undefined;
|
||||||
@ -190,12 +190,12 @@ MxResult Infocenter::Create(MxDSAction& p_dsAction)
|
|||||||
m_infocenterState = (InfocenterState*) GameState()->GetState("InfocenterState");
|
m_infocenterState = (InfocenterState*) GameState()->GetState("InfocenterState");
|
||||||
if (!m_infocenterState) {
|
if (!m_infocenterState) {
|
||||||
m_infocenterState = (InfocenterState*) GameState()->CreateState("InfocenterState");
|
m_infocenterState = (InfocenterState*) GameState()->CreateState("InfocenterState");
|
||||||
m_infocenterState->SetUnknown0x74(3);
|
m_infocenterState->m_unk0x74 = 3;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (m_infocenterState->GetUnknown0x74() != 8 && m_infocenterState->GetUnknown0x74() != 4 &&
|
if (m_infocenterState->m_unk0x74 != 8 && m_infocenterState->m_unk0x74 != 4 &&
|
||||||
m_infocenterState->GetUnknown0x74() != 15) {
|
m_infocenterState->m_unk0x74 != 15) {
|
||||||
m_infocenterState->SetUnknown0x74(2);
|
m_infocenterState->m_unk0x74 = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
MxS16 count, i;
|
MxS16 count, i;
|
||||||
@ -217,7 +217,7 @@ MxResult Infocenter::Create(MxDSAction& p_dsAction)
|
|||||||
GameState()->m_currentArea = LegoGameState::e_infomain;
|
GameState()->m_currentArea = LegoGameState::e_infomain;
|
||||||
GameState()->StopArea(LegoGameState::e_previousArea);
|
GameState()->StopArea(LegoGameState::e_previousArea);
|
||||||
|
|
||||||
if (m_infocenterState->GetUnknown0x74() == 4) {
|
if (m_infocenterState->m_unk0x74 == 4) {
|
||||||
LegoGameState* state = GameState();
|
LegoGameState* state = GameState();
|
||||||
state->SetPreviousArea(GameState()->GetUnknown0x42c());
|
state->SetPreviousArea(GameState()->GetUnknown0x42c());
|
||||||
}
|
}
|
||||||
@ -266,9 +266,9 @@ MxLong Infocenter::Notify(MxParam& p_param)
|
|||||||
StopBookAnimation();
|
StopBookAnimation();
|
||||||
m_bookAnimationTimer = 0;
|
m_bookAnimationTimer = 0;
|
||||||
|
|
||||||
if (m_infocenterState->GetUnknown0x74() == 0x0c) {
|
if (m_infocenterState->m_unk0x74 == 0x0c) {
|
||||||
StartCredits();
|
StartCredits();
|
||||||
m_infocenterState->SetUnknown0x74(0xd);
|
m_infocenterState->m_unk0x74 = 0xd;
|
||||||
}
|
}
|
||||||
else if (m_destLocation != 0) {
|
else if (m_destLocation != 0) {
|
||||||
BackgroundAudioManager()->RaiseVolume();
|
BackgroundAudioManager()->RaiseVolume();
|
||||||
@ -339,7 +339,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
|
|||||||
m_unk0x1d6 = 0;
|
m_unk0x1d6 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (m_infocenterState->GetUnknown0x74()) {
|
switch (m_infocenterState->m_unk0x74) {
|
||||||
case 0:
|
case 0:
|
||||||
switch (m_currentCutscene) {
|
switch (m_currentCutscene) {
|
||||||
case e_legoMovie:
|
case e_legoMovie:
|
||||||
@ -350,13 +350,13 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
|
|||||||
return 1;
|
return 1;
|
||||||
case e_badEndMovie:
|
case e_badEndMovie:
|
||||||
StopCutscene();
|
StopCutscene();
|
||||||
m_infocenterState->SetUnknown0x74(11);
|
m_infocenterState->m_unk0x74 = 11;
|
||||||
PlayAction(InfomainScript::c_tic092in_RunAnim);
|
PlayAction(InfomainScript::c_tic092in_RunAnim);
|
||||||
m_currentCutscene = e_noIntro;
|
m_currentCutscene = e_noIntro;
|
||||||
return 1;
|
return 1;
|
||||||
case e_goodEndMovie:
|
case e_goodEndMovie:
|
||||||
StopCutscene();
|
StopCutscene();
|
||||||
m_infocenterState->SetUnknown0x74(11);
|
m_infocenterState->m_unk0x74 = 11;
|
||||||
PlayAction(InfomainScript::c_tic089in_RunAnim);
|
PlayAction(InfomainScript::c_tic089in_RunAnim);
|
||||||
m_currentCutscene = e_noIntro;
|
m_currentCutscene = e_noIntro;
|
||||||
return 1;
|
return 1;
|
||||||
@ -364,7 +364,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
|
|||||||
|
|
||||||
// default / 2nd case probably?
|
// default / 2nd case probably?
|
||||||
StopCutscene();
|
StopCutscene();
|
||||||
m_infocenterState->SetUnknown0x74(11);
|
m_infocenterState->m_unk0x74 = 11;
|
||||||
PlayAction(InfomainScript::c_iic001in_RunAnim);
|
PlayAction(InfomainScript::c_iic001in_RunAnim);
|
||||||
m_currentCutscene = e_noIntro;
|
m_currentCutscene = e_noIntro;
|
||||||
|
|
||||||
@ -374,7 +374,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
m_infocenterState->SetUnknown0x74(11);
|
m_infocenterState->m_unk0x74 = 11;
|
||||||
|
|
||||||
switch (m_currentCutscene) {
|
switch (m_currentCutscene) {
|
||||||
case e_badEndMovie:
|
case e_badEndMovie:
|
||||||
@ -398,7 +398,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
|
|||||||
if (action->GetObjectId() == InfomainScript::c_GoTo_RegBook ||
|
if (action->GetObjectId() == InfomainScript::c_GoTo_RegBook ||
|
||||||
action->GetObjectId() == InfomainScript::c_GoTo_RegBook_Red) {
|
action->GetObjectId() == InfomainScript::c_GoTo_RegBook_Red) {
|
||||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||||
m_infocenterState->SetUnknown0x74(14);
|
m_infocenterState->m_unk0x74 = 14;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -408,7 +408,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
|
|||||||
GameState()->SetActor(m_selectedCharacter);
|
GameState()->SetActor(m_selectedCharacter);
|
||||||
}
|
}
|
||||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||||
m_infocenterState->SetUnknown0x74(14);
|
m_infocenterState->m_unk0x74 = 14;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -422,7 +422,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
|
|||||||
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_infocenterState->SetUnknown0x74(2);
|
m_infocenterState->m_unk0x74 = 2;
|
||||||
SetROIVisible("infoman", TRUE);
|
SetROIVisible("infoman", TRUE);
|
||||||
return 1;
|
return 1;
|
||||||
case 12:
|
case 12:
|
||||||
@ -452,13 +452,13 @@ void Infocenter::ReadyWorld()
|
|||||||
bg->Enable(TRUE);
|
bg->Enable(TRUE);
|
||||||
InitializeBitmaps();
|
InitializeBitmaps();
|
||||||
|
|
||||||
switch (m_infocenterState->GetUnknown0x74()) {
|
switch (m_infocenterState->m_unk0x74) {
|
||||||
case 3:
|
case 3:
|
||||||
PlayCutscene(e_legoMovie, TRUE);
|
PlayCutscene(e_legoMovie, TRUE);
|
||||||
m_infocenterState->SetUnknown0x74(0);
|
m_infocenterState->m_unk0x74 = 0;
|
||||||
break;
|
return;
|
||||||
case 4:
|
case 4:
|
||||||
m_infocenterState->SetUnknown0x74(2);
|
m_infocenterState->m_unk0x74 = 2;
|
||||||
if (!m_infocenterState->HasRegistered()) {
|
if (!m_infocenterState->HasRegistered()) {
|
||||||
m_bookAnimationTimer = 1;
|
m_bookAnimationTimer = 1;
|
||||||
}
|
}
|
||||||
@ -466,13 +466,12 @@ void Infocenter::ReadyWorld()
|
|||||||
PlayAction(InfomainScript::c_iicx18in_RunAnim);
|
PlayAction(InfomainScript::c_iicx18in_RunAnim);
|
||||||
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
||||||
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
|
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
|
||||||
break;
|
return;
|
||||||
case 5:
|
case 5:
|
||||||
default: {
|
default: {
|
||||||
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
||||||
|
|
||||||
InfomainScript::Script script =
|
InfomainScript::Script script = m_infocenterState->GetNextReturnDialogue();
|
||||||
(InfomainScript::Script) m_infocenterState->GetReturnDialogue(GameState()->GetCurrentAct()).Next();
|
|
||||||
PlayAction(script);
|
PlayAction(script);
|
||||||
|
|
||||||
if (script == InfomainScript::c_iicx26in_RunAnim) {
|
if (script == InfomainScript::c_iicx26in_RunAnim) {
|
||||||
@ -485,17 +484,15 @@ void Infocenter::ReadyWorld()
|
|||||||
m_bookAnimationTimer = 1;
|
m_bookAnimationTimer = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_infocenterState->SetUnknown0x74(11);
|
|
||||||
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 8:
|
case 8:
|
||||||
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
||||||
PlayAction(InfomainScript::c_iic043in_RunAnim);
|
PlayAction(InfomainScript::c_iic043in_RunAnim);
|
||||||
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
|
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
|
||||||
break;
|
return;
|
||||||
case 0xf:
|
case 0xf:
|
||||||
m_infocenterState->SetUnknown0x74(2);
|
m_infocenterState->m_unk0x74 = 2;
|
||||||
if (!m_infocenterState->HasRegistered()) {
|
if (!m_infocenterState->HasRegistered()) {
|
||||||
m_bookAnimationTimer = 1;
|
m_bookAnimationTimer = 1;
|
||||||
}
|
}
|
||||||
@ -503,11 +500,11 @@ void Infocenter::ReadyWorld()
|
|||||||
PlayAction(InfomainScript::c_iicx17in_RunAnim);
|
PlayAction(InfomainScript::c_iicx17in_RunAnim);
|
||||||
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
||||||
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
|
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
return;
|
break;
|
||||||
case LegoGameState::e_act2: {
|
case LegoGameState::e_act2: {
|
||||||
if (m_infocenterState->GetUnknown0x74() == 8) {
|
if (m_infocenterState->m_unk0x74 == 8) {
|
||||||
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
||||||
bgRed->Enable(TRUE);
|
bgRed->Enable(TRUE);
|
||||||
PlayAction(InfomainScript::c_iic043in_RunAnim);
|
PlayAction(InfomainScript::c_iic043in_RunAnim);
|
||||||
@ -521,11 +518,11 @@ void Infocenter::ReadyWorld()
|
|||||||
if (state && state->GetUnknown0x08() == 0x68) {
|
if (state && state->GetUnknown0x08() == 0x68) {
|
||||||
bg->Enable(TRUE);
|
bg->Enable(TRUE);
|
||||||
PlayCutscene(e_badEndMovie, TRUE);
|
PlayCutscene(e_badEndMovie, TRUE);
|
||||||
m_infocenterState->SetUnknown0x74(0);
|
m_infocenterState->m_unk0x74 = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_infocenterState->GetUnknown0x74() == 4) {
|
if (m_infocenterState->m_unk0x74 == 4) {
|
||||||
bgRed->Enable(TRUE);
|
bgRed->Enable(TRUE);
|
||||||
|
|
||||||
if (GameState()->GetCurrentAct() == GameState()->GetLoadedAct()) {
|
if (GameState()->GetCurrentAct() == GameState()->GetLoadedAct()) {
|
||||||
@ -534,11 +531,10 @@ void Infocenter::ReadyWorld()
|
|||||||
GameState()->m_currentArea = LegoGameState::e_infomain;
|
GameState()->m_currentArea = LegoGameState::e_infomain;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_infocenterState->SetUnknown0x74(5);
|
m_infocenterState->m_unk0x74 = 5;
|
||||||
m_destLocation = LegoGameState::e_act2main;
|
m_destLocation = LegoGameState::e_act2main;
|
||||||
|
|
||||||
InfomainScript::Script script =
|
InfomainScript::Script script = m_infocenterState->GetNextReturnDialogue();
|
||||||
(InfomainScript::Script) m_infocenterState->GetReturnDialogue(GameState()->GetCurrentAct()).Next();
|
|
||||||
PlayAction(script);
|
PlayAction(script);
|
||||||
|
|
||||||
InputManager()->DisableInputProcessing();
|
InputManager()->DisableInputProcessing();
|
||||||
@ -547,14 +543,13 @@ void Infocenter::ReadyWorld()
|
|||||||
}
|
}
|
||||||
|
|
||||||
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
||||||
InfomainScript::Script script =
|
InfomainScript::Script script = m_infocenterState->GetNextReturnDialogue();
|
||||||
(InfomainScript::Script) m_infocenterState->GetReturnDialogue(GameState()->GetCurrentAct()).Next();
|
|
||||||
PlayAction(script);
|
PlayAction(script);
|
||||||
bgRed->Enable(TRUE);
|
bgRed->Enable(TRUE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case LegoGameState::e_act3: {
|
case LegoGameState::e_act3: {
|
||||||
if (m_infocenterState->GetUnknown0x74() == 8) {
|
if (m_infocenterState->m_unk0x74 == 8) {
|
||||||
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
||||||
bgRed->Enable(TRUE);
|
bgRed->Enable(TRUE);
|
||||||
PlayAction(InfomainScript::c_iic043in_RunAnim);
|
PlayAction(InfomainScript::c_iic043in_RunAnim);
|
||||||
@ -565,23 +560,21 @@ void Infocenter::ReadyWorld()
|
|||||||
Act3State* state = (Act3State*) GameState()->GetState("Act3State");
|
Act3State* state = (Act3State*) GameState()->GetState("Act3State");
|
||||||
GameState()->FindLoadedAct();
|
GameState()->FindLoadedAct();
|
||||||
|
|
||||||
if (state) {
|
if (state && state->GetUnknown0x08() == 3) {
|
||||||
if (state->GetUnknown0x08() == 3) {
|
bg->Enable(TRUE);
|
||||||
bg->Enable(TRUE);
|
PlayCutscene(e_badEndMovie, TRUE);
|
||||||
PlayCutscene(e_badEndMovie, TRUE);
|
m_infocenterState->m_unk0x74 = 0;
|
||||||
m_infocenterState->SetUnknown0x74(0);
|
return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (state && state->GetUnknown0x08() == 2) {
|
|
||||||
bg->Enable(TRUE);
|
|
||||||
PlayCutscene(e_goodEndMovie, TRUE);
|
|
||||||
m_infocenterState->SetUnknown0x74(0);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_infocenterState->GetUnknown0x74() == 4) {
|
if (state && state->GetUnknown0x08() == 2) {
|
||||||
|
bg->Enable(TRUE);
|
||||||
|
PlayCutscene(e_goodEndMovie, TRUE);
|
||||||
|
m_infocenterState->m_unk0x74 = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_infocenterState->m_unk0x74 == 4) {
|
||||||
bgRed->Enable(TRUE);
|
bgRed->Enable(TRUE);
|
||||||
|
|
||||||
if (GameState()->GetCurrentAct() == GameState()->GetLoadedAct()) {
|
if (GameState()->GetCurrentAct() == GameState()->GetLoadedAct()) {
|
||||||
@ -590,11 +583,10 @@ void Infocenter::ReadyWorld()
|
|||||||
GameState()->m_currentArea = LegoGameState::e_infomain;
|
GameState()->m_currentArea = LegoGameState::e_infomain;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_infocenterState->SetUnknown0x74(5);
|
m_infocenterState->m_unk0x74 = 5;
|
||||||
m_destLocation = LegoGameState::e_act3script;
|
m_destLocation = LegoGameState::e_act3script;
|
||||||
|
|
||||||
InfomainScript::Script script =
|
InfomainScript::Script script = m_infocenterState->GetNextReturnDialogue();
|
||||||
(InfomainScript::Script) m_infocenterState->GetReturnDialogue(GameState()->GetCurrentAct()).Next();
|
|
||||||
PlayAction(script);
|
PlayAction(script);
|
||||||
|
|
||||||
InputManager()->DisableInputProcessing();
|
InputManager()->DisableInputProcessing();
|
||||||
@ -603,15 +595,14 @@ void Infocenter::ReadyWorld()
|
|||||||
}
|
}
|
||||||
|
|
||||||
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
PlayMusic(JukeboxScript::c_InformationCenter_Music);
|
||||||
InfomainScript::Script script =
|
InfomainScript::Script script = m_infocenterState->GetNextReturnDialogue();
|
||||||
(InfomainScript::Script) m_infocenterState->GetReturnDialogue(GameState()->GetCurrentAct()).Next();
|
|
||||||
PlayAction(script);
|
PlayAction(script);
|
||||||
bgRed->Enable(TRUE);
|
bgRed->Enable(TRUE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_infocenterState->SetUnknown0x74(11);
|
m_infocenterState->m_unk0x74 = 11;
|
||||||
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
|
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -700,20 +691,21 @@ void Infocenter::InitializeBitmaps()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1006fd00
|
// FUNCTION: LEGO1 0x1006fd00
|
||||||
|
// FUNCTION: BETA10 0x1002f808
|
||||||
MxU8 Infocenter::HandleMouseMove(MxS32 p_x, MxS32 p_y)
|
MxU8 Infocenter::HandleMouseMove(MxS32 p_x, MxS32 p_y)
|
||||||
{
|
{
|
||||||
if (m_unk0x11c) {
|
if (m_dragPresenter) {
|
||||||
if (!m_unk0x11c->IsEnabled()) {
|
if (!m_dragPresenter->IsEnabled()) {
|
||||||
MxS32 oldDisplayZ = m_unk0x11c->GetDisplayZ();
|
MxS32 oldDisplayZ = m_dragPresenter->GetDisplayZ();
|
||||||
|
|
||||||
m_unk0x11c->SetDisplayZ(1000);
|
m_dragPresenter->SetDisplayZ(1000);
|
||||||
VideoManager()->SortPresenterList();
|
VideoManager()->SortPresenterList();
|
||||||
m_unk0x11c->Enable(TRUE);
|
m_dragPresenter->Enable(TRUE);
|
||||||
m_unk0x11c->SetPosition(p_x, p_y);
|
m_dragPresenter->SetPosition(p_x, p_y);
|
||||||
m_unk0x11c->SetDisplayZ(oldDisplayZ);
|
m_dragPresenter->SetDisplayZ(oldDisplayZ);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
m_unk0x11c->SetPosition(p_x, p_y);
|
m_dragPresenter->SetPosition(p_x, p_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
FUN_10070d10(p_x, p_y);
|
FUN_10070d10(p_x, p_y);
|
||||||
@ -775,10 +767,10 @@ MxLong Infocenter::HandleKeyPress(MxS8 p_key)
|
|||||||
// FUNCTION: BETA10 0x1002fa12
|
// FUNCTION: BETA10 0x1002fa12
|
||||||
MxU8 Infocenter::HandleButtonUp(MxS32 p_x, MxS32 p_y)
|
MxU8 Infocenter::HandleButtonUp(MxS32 p_x, MxS32 p_y)
|
||||||
{
|
{
|
||||||
if (m_unk0x11c) {
|
if (m_dragPresenter) {
|
||||||
MxControlPresenter* control = InputManager()->GetControlManager()->FUN_100294e0(p_x - 1, p_y - 1);
|
MxControlPresenter* control = InputManager()->GetControlManager()->FUN_100294e0(p_x - 1, p_y - 1);
|
||||||
|
|
||||||
switch (m_unk0x11c->GetAction()->GetObjectId()) {
|
switch (m_dragPresenter->GetAction()->GetObjectId()) {
|
||||||
case InfomainScript::c_PepperHot_Bitmap:
|
case InfomainScript::c_PepperHot_Bitmap:
|
||||||
m_selectedCharacter = e_pepper;
|
m_selectedCharacter = e_pepper;
|
||||||
break;
|
break;
|
||||||
@ -908,8 +900,8 @@ MxU8 Infocenter::HandleButtonUp(MxS32 p_x, MxS32 p_y)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_unk0x11c->Enable(FALSE);
|
m_dragPresenter->Enable(FALSE);
|
||||||
m_unk0x11c = NULL;
|
m_dragPresenter = NULL;
|
||||||
|
|
||||||
if (m_infocenterState->m_unk0x74 == 5) {
|
if (m_infocenterState->m_unk0x74 == 5) {
|
||||||
InfomainScript::Script dialogueToPlay;
|
InfomainScript::Script dialogueToPlay;
|
||||||
@ -967,9 +959,10 @@ MxU8 Infocenter::HandleButtonUp(MxS32 p_x, MxS32 p_y)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10070370
|
// FUNCTION: LEGO1 0x10070370
|
||||||
|
// FUNCTION: BETA10 0x1002ffd4
|
||||||
MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
m_infoManDialogueTimer = 0;
|
m_infoManDialogueTimer = 0;
|
||||||
|
|
||||||
InfomainScript::Script actionToPlay = InfomainScript::c_noneInfomain;
|
InfomainScript::Script actionToPlay = InfomainScript::c_noneInfomain;
|
||||||
@ -978,9 +971,9 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
|
|
||||||
LegoGameState* state = GameState();
|
LegoGameState* state = GameState();
|
||||||
|
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case InfomainScript::c_LeftArrow_Ctl:
|
case InfomainScript::c_LeftArrow_Ctl:
|
||||||
m_infocenterState->SetUnknown0x74(14);
|
m_infocenterState->m_unk0x74 = 14;
|
||||||
StopCurrentAction();
|
StopCurrentAction();
|
||||||
|
|
||||||
if (GameState()->GetCurrentAct() == LegoGameState::e_act1) {
|
if (GameState()->GetCurrentAct() == LegoGameState::e_act1) {
|
||||||
@ -995,7 +988,7 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
case InfomainScript::c_RightArrow_Ctl:
|
case InfomainScript::c_RightArrow_Ctl:
|
||||||
m_infocenterState->SetUnknown0x74(14);
|
m_infocenterState->m_unk0x74 = 14;
|
||||||
StopCurrentAction();
|
StopCurrentAction();
|
||||||
|
|
||||||
if (GameState()->GetCurrentAct() == LegoGameState::e_act1) {
|
if (GameState()->GetCurrentAct() == LegoGameState::e_act1) {
|
||||||
@ -1014,10 +1007,10 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
m_radio.Stop();
|
m_radio.Stop();
|
||||||
break;
|
break;
|
||||||
case InfomainScript::c_Door_Ctl:
|
case InfomainScript::c_Door_Ctl:
|
||||||
if (m_infocenterState->GetUnknown0x74() != 8) {
|
if (m_infocenterState->m_unk0x74 != 8) {
|
||||||
actionToPlay = InfomainScript::c_iic043in_RunAnim;
|
actionToPlay = InfomainScript::c_iic043in_RunAnim;
|
||||||
m_radio.Stop();
|
m_radio.Stop();
|
||||||
m_infocenterState->SetUnknown0x74(8);
|
m_infocenterState->m_unk0x74 = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -1048,52 +1041,56 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
case InfomainScript::c_BigInfo_Ctl:
|
case InfomainScript::c_BigInfo_Ctl:
|
||||||
switch (state->GetCurrentAct()) {
|
switch (state->GetCurrentAct()) {
|
||||||
case LegoGameState::e_act1:
|
case LegoGameState::e_act1:
|
||||||
switch (state->GetPreviousArea()) {
|
if (state->GetPreviousArea()) {
|
||||||
case LegoGameState::e_infodoor:
|
switch (state->GetPreviousArea()) {
|
||||||
case LegoGameState::e_regbook:
|
case LegoGameState::e_infodoor:
|
||||||
case LegoGameState::e_infoscor:
|
case LegoGameState::e_regbook:
|
||||||
m_infocenterState->SetUnknown0x74(5);
|
case LegoGameState::e_infoscor:
|
||||||
m_destLocation = state->GetPreviousArea();
|
m_infocenterState->m_unk0x74 = 5;
|
||||||
actionToPlay =
|
m_destLocation = state->GetPreviousArea();
|
||||||
(InfomainScript::Script) m_infocenterState->GetLeaveDialogue(GameState()->GetCurrentAct())
|
actionToPlay = (InfomainScript::Script) m_infocenterState->GetNextLeaveDialogue();
|
||||||
.Next();
|
m_radio.Stop();
|
||||||
m_radio.Stop();
|
InputManager()->DisableInputProcessing();
|
||||||
InputManager()->DisableInputProcessing();
|
InputManager()->SetUnknown336(TRUE);
|
||||||
InputManager()->SetUnknown336(TRUE);
|
break;
|
||||||
break;
|
case LegoGameState::e_elevbott:
|
||||||
case LegoGameState::e_unk4:
|
case LegoGameState::e_elevride:
|
||||||
if (state->GetActorId() != LegoActor::c_none) {
|
case LegoGameState::e_elevride2:
|
||||||
if (m_infocenterState->HasRegistered()) {
|
case LegoGameState::e_elevopen:
|
||||||
m_infocenterState->SetUnknown0x74(5);
|
case LegoGameState::e_seaview:
|
||||||
m_destLocation = state->GetPreviousArea();
|
case LegoGameState::e_observe:
|
||||||
actionToPlay = (InfomainScript::Script) m_infocenterState
|
case LegoGameState::e_elevdown:
|
||||||
->GetLeaveDialogue(GameState()->GetCurrentAct())
|
break;
|
||||||
.Next();
|
default:
|
||||||
m_radio.Stop();
|
if (state->GetActorId() != LegoActor::c_none) {
|
||||||
InputManager()->DisableInputProcessing();
|
if (!m_infocenterState->HasRegistered()) {
|
||||||
InputManager()->SetUnknown336(TRUE);
|
PlayAction(InfomainScript::c_iic007in_PlayWav);
|
||||||
}
|
m_infocenterState->m_unk0x74 = 2;
|
||||||
else {
|
}
|
||||||
PlayAction(InfomainScript::c_iic007in_PlayWav);
|
else {
|
||||||
m_infocenterState->SetUnknown0x74(2);
|
m_infocenterState->m_unk0x74 = 5;
|
||||||
|
m_destLocation = state->m_previousArea;
|
||||||
|
actionToPlay = (InfomainScript::Script) m_infocenterState->GetNextLeaveDialogue();
|
||||||
|
m_radio.Stop();
|
||||||
|
InputManager()->DisableInputProcessing();
|
||||||
|
InputManager()->SetUnknown336(TRUE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LegoGameState::e_act2:
|
case LegoGameState::e_act2:
|
||||||
m_infocenterState->SetUnknown0x74(5);
|
m_infocenterState->m_unk0x74 = 5;
|
||||||
m_destLocation = LegoGameState::e_act2main;
|
m_destLocation = LegoGameState::e_act2main;
|
||||||
actionToPlay =
|
actionToPlay = (InfomainScript::Script) m_infocenterState->GetNextLeaveDialogue();
|
||||||
(InfomainScript::Script) m_infocenterState->GetLeaveDialogue(GameState()->GetCurrentAct()).Next();
|
|
||||||
InputManager()->DisableInputProcessing();
|
InputManager()->DisableInputProcessing();
|
||||||
InputManager()->SetUnknown336(TRUE);
|
InputManager()->SetUnknown336(TRUE);
|
||||||
break;
|
break;
|
||||||
case LegoGameState::e_act3:
|
case LegoGameState::e_act3:
|
||||||
m_infocenterState->SetUnknown0x74(5);
|
m_infocenterState->m_unk0x74 = 5;
|
||||||
m_destLocation = LegoGameState::e_act3script;
|
m_destLocation = LegoGameState::e_act3script;
|
||||||
actionToPlay =
|
actionToPlay = (InfomainScript::Script) m_infocenterState->GetNextLeaveDialogue();
|
||||||
(InfomainScript::Script) m_infocenterState->GetLeaveDialogue(GameState()->GetCurrentAct()).Next();
|
|
||||||
InputManager()->DisableInputProcessing();
|
InputManager()->DisableInputProcessing();
|
||||||
InputManager()->SetUnknown336(TRUE);
|
InputManager()->SetUnknown336(TRUE);
|
||||||
break;
|
break;
|
||||||
@ -1101,11 +1098,11 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
break;
|
break;
|
||||||
case InfomainScript::c_Book_Ctl:
|
case InfomainScript::c_Book_Ctl:
|
||||||
m_destLocation = LegoGameState::e_regbook;
|
m_destLocation = LegoGameState::e_regbook;
|
||||||
m_infocenterState->SetUnknown0x74(4);
|
m_infocenterState->m_unk0x74 = 4;
|
||||||
actionToPlay = GameState()->GetCurrentAct() != LegoGameState::e_act1 ? InfomainScript::c_GoTo_RegBook_Red
|
actionToPlay = GameState()->GetCurrentAct() != LegoGameState::e_act1 ? InfomainScript::c_GoTo_RegBook_Red
|
||||||
: InfomainScript::c_GoTo_RegBook;
|
: InfomainScript::c_GoTo_RegBook;
|
||||||
m_radio.Stop();
|
m_radio.Stop();
|
||||||
GameState()->SetUnknown0x42c(GameState()->GetPreviousArea());
|
GameState()->m_unk0x42c = GameState()->GetPreviousArea();
|
||||||
InputManager()->DisableInputProcessing();
|
InputManager()->DisableInputProcessing();
|
||||||
break;
|
break;
|
||||||
case InfomainScript::c_Mama_Ctl:
|
case InfomainScript::c_Mama_Ctl:
|
||||||
@ -1135,7 +1132,8 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (characterBitmap != InfomainScript::c_noneInfomain) {
|
if (characterBitmap != InfomainScript::c_noneInfomain) {
|
||||||
m_unk0x11c = (MxStillPresenter*) Find(m_atomId, characterBitmap);
|
m_dragPresenter = (MxStillPresenter*) Find(m_atomId, characterBitmap);
|
||||||
|
assert(m_dragPresenter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1143,19 +1141,21 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10070870
|
// FUNCTION: LEGO1 0x10070870
|
||||||
|
// FUNCTION: BETA10 0x1003039e
|
||||||
MxLong Infocenter::HandleNotification0(MxNotificationParam& p_param)
|
MxLong Infocenter::HandleNotification0(MxNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
// MxLong result
|
// This function has changed significantly since BETA10
|
||||||
|
|
||||||
MxCore* sender = p_param.GetSender();
|
MxCore* sender = p_param.GetSender();
|
||||||
|
|
||||||
if (sender == NULL) {
|
if (sender == NULL) {
|
||||||
if (m_infocenterState->GetUnknown0x74() == 8) {
|
if (m_infocenterState->m_unk0x74 == 8) {
|
||||||
m_infoManDialogueTimer = 0;
|
m_infoManDialogueTimer = 0;
|
||||||
StopCutscene();
|
StopCutscene();
|
||||||
PlayAction(InfomainScript::c_iic043in_RunAnim);
|
PlayAction(InfomainScript::c_iic043in_RunAnim);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (sender->IsA("MxEntity") && m_infocenterState->GetUnknown0x74() != 5 && m_infocenterState->GetUnknown0x74() != 12) {
|
else if (sender->IsA("MxEntity") && m_infocenterState->m_unk0x74 != 5 && m_infocenterState->m_unk0x74 != 12) {
|
||||||
switch (((MxEntity*) sender)->GetEntityId()) {
|
switch (((MxEntity*) sender)->GetEntityId()) {
|
||||||
case 5: {
|
case 5: {
|
||||||
m_infoManDialogueTimer = 0;
|
m_infoManDialogueTimer = 0;
|
||||||
@ -1174,21 +1174,21 @@ MxLong Infocenter::HandleNotification0(MxNotificationParam& p_param)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
case 6:
|
case 6:
|
||||||
if (m_infocenterState->GetUnknown0x74() == 8) {
|
if (m_infocenterState->m_unk0x74 == 8) {
|
||||||
StopCurrentAction();
|
StopCurrentAction();
|
||||||
SetROIVisible(g_object2x4red, FALSE);
|
SetROIVisible(g_object2x4red, FALSE);
|
||||||
SetROIVisible(g_object2x4grn, FALSE);
|
SetROIVisible(g_object2x4grn, FALSE);
|
||||||
m_infocenterState->SetUnknown0x74(2);
|
m_infocenterState->m_unk0x74 = 2;
|
||||||
PlayAction(InfomainScript::c_iicb28in_RunAnim);
|
PlayAction(InfomainScript::c_iicb28in_RunAnim);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
case 7:
|
case 7:
|
||||||
if (m_infocenterState->GetUnknown0x74() == 8) {
|
if (m_infocenterState->m_unk0x74 == 8) {
|
||||||
if (m_infocenterState->HasRegistered()) {
|
if (m_infocenterState->HasRegistered()) {
|
||||||
GameState()->Save(0);
|
GameState()->Save(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_infocenterState->SetUnknown0x74(12);
|
m_infocenterState->m_unk0x74 = 12;
|
||||||
PlayAction(InfomainScript::c_iic046in_RunAnim);
|
PlayAction(InfomainScript::c_iic046in_RunAnim);
|
||||||
InputManager()->DisableInputProcessing();
|
InputManager()->DisableInputProcessing();
|
||||||
InputManager()->SetUnknown336(TRUE);
|
InputManager()->SetUnknown336(TRUE);
|
||||||
@ -1219,6 +1219,7 @@ MxLong Infocenter::HandleNotification0(MxNotificationParam& p_param)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10070aa0
|
// FUNCTION: LEGO1 0x10070aa0
|
||||||
|
// FUNCTION: BETA10 0x10030508
|
||||||
void Infocenter::Enable(MxBool p_enable)
|
void Infocenter::Enable(MxBool p_enable)
|
||||||
{
|
{
|
||||||
LegoWorld::Enable(p_enable);
|
LegoWorld::Enable(p_enable);
|
||||||
@ -1314,6 +1315,7 @@ MxBool Infocenter::VTable0x5c()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10070d10
|
// FUNCTION: LEGO1 0x10070d10
|
||||||
|
// FUNCTION: BETA10 0x100307d4
|
||||||
void Infocenter::FUN_10070d10(MxS32 p_x, MxS32 p_y)
|
void Infocenter::FUN_10070d10(MxS32 p_x, MxS32 p_y)
|
||||||
{
|
{
|
||||||
MxS16 i;
|
MxS16 i;
|
||||||
@ -1345,6 +1347,7 @@ void Infocenter::FUN_10070d10(MxS32 p_x, MxS32 p_y)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10070dc0
|
// FUNCTION: LEGO1 0x10070dc0
|
||||||
|
// FUNCTION: BETA10 0x10030911
|
||||||
void Infocenter::UpdateFrameHot(MxBool p_display)
|
void Infocenter::UpdateFrameHot(MxBool p_display)
|
||||||
{
|
{
|
||||||
if (p_display) {
|
if (p_display) {
|
||||||
@ -1409,7 +1412,7 @@ void Infocenter::Reset()
|
|||||||
CharacterManager()->ReleaseAllActors();
|
CharacterManager()->ReleaseAllActors();
|
||||||
GameState()->SetCurrentAct(LegoGameState::e_act1);
|
GameState()->SetCurrentAct(LegoGameState::e_act1);
|
||||||
GameState()->SetPreviousArea(LegoGameState::e_undefined);
|
GameState()->SetPreviousArea(LegoGameState::e_undefined);
|
||||||
GameState()->SetUnknown0x42c(LegoGameState::e_undefined);
|
GameState()->m_unk0x42c = LegoGameState::e_undefined;
|
||||||
|
|
||||||
InitializeBitmaps();
|
InitializeBitmaps();
|
||||||
m_selectedCharacter = e_pepper;
|
m_selectedCharacter = e_pepper;
|
||||||
@ -1427,17 +1430,17 @@ void Infocenter::Reset()
|
|||||||
MxBool Infocenter::Escape()
|
MxBool Infocenter::Escape()
|
||||||
{
|
{
|
||||||
if (m_infocenterState != NULL) {
|
if (m_infocenterState != NULL) {
|
||||||
MxU32 val = m_infocenterState->GetUnknown0x74();
|
MxU32 val = m_infocenterState->m_unk0x74;
|
||||||
|
|
||||||
if (val == 0) {
|
if (val == 0) {
|
||||||
StopCutscene();
|
StopCutscene();
|
||||||
m_infocenterState->SetUnknown0x74(1);
|
m_infocenterState->m_unk0x74 = 1;
|
||||||
}
|
}
|
||||||
else if (val == 13) {
|
else if (val == 13) {
|
||||||
StopCredits();
|
StopCredits();
|
||||||
}
|
}
|
||||||
else if (val != 8) {
|
else if (val != 8) {
|
||||||
m_infocenterState->SetUnknown0x74(8);
|
m_infocenterState->m_unk0x74 = 8;
|
||||||
|
|
||||||
#ifdef COMPAT_MODE
|
#ifdef COMPAT_MODE
|
||||||
{
|
{
|
||||||
@ -1517,6 +1520,7 @@ void Infocenter::StopCredits()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10071300
|
// FUNCTION: LEGO1 0x10071300
|
||||||
|
// FUNCTION: BETA10 0x1002ee8c
|
||||||
void Infocenter::PlayAction(InfomainScript::Script p_script)
|
void Infocenter::PlayAction(InfomainScript::Script p_script)
|
||||||
{
|
{
|
||||||
MxDSAction action;
|
MxDSAction action;
|
||||||
|
|||||||
@ -96,10 +96,10 @@ MxLong InfocenterDoor::HandleControl(LegoControlManagerNotificationParam& p_para
|
|||||||
{
|
{
|
||||||
MxLong result = 0;
|
MxLong result = 0;
|
||||||
|
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
DeleteObjects(&m_atomId, InfodoorScript::c_iic037in_PlayWav, 510);
|
DeleteObjects(&m_atomId, InfodoorScript::c_iic037in_PlayWav, 510);
|
||||||
|
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case InfodoorScript::c_LeftArrow_Ctl:
|
case InfodoorScript::c_LeftArrow_Ctl:
|
||||||
m_destLocation = LegoGameState::e_infoscor;
|
m_destLocation = LegoGameState::e_infoscor;
|
||||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||||
|
|||||||
@ -289,10 +289,10 @@ void Isle::ReadyWorld()
|
|||||||
// FUNCTION: LEGO1 0x10031030
|
// FUNCTION: LEGO1 0x10031030
|
||||||
MxLong Isle::HandleControl(LegoControlManagerNotificationParam& p_param)
|
MxLong Isle::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
MxDSAction action;
|
MxDSAction action;
|
||||||
|
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case IsleScript::c_ElevRide_Info_Ctl:
|
case IsleScript::c_ElevRide_Info_Ctl:
|
||||||
m_act1state->m_unk0x018 = 2;
|
m_act1state->m_unk0x018 = 2;
|
||||||
|
|
||||||
|
|||||||
@ -101,8 +101,8 @@ void Police::ReadyWorld()
|
|||||||
// FUNCTION: LEGO1 0x1005e550
|
// FUNCTION: LEGO1 0x1005e550
|
||||||
MxLong Police::HandleControl(LegoControlManagerNotificationParam& p_param)
|
MxLong Police::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
if (p_param.GetUnknown0x28() == 1) {
|
if (p_param.m_unk0x28 == 1) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case PoliceScript::c_LeftArrow_Ctl:
|
case PoliceScript::c_LeftArrow_Ctl:
|
||||||
case PoliceScript::c_RightArrow_Ctl:
|
case PoliceScript::c_RightArrow_Ctl:
|
||||||
if (m_policeState->GetUnknown0x0c() == 1) {
|
if (m_policeState->GetUnknown0x0c() == 1) {
|
||||||
|
|||||||
@ -226,18 +226,18 @@ MxLong RegistrationBook::HandleKeyPress(MxU8 p_key)
|
|||||||
// FUNCTION: LEGO1 0x100774a0
|
// FUNCTION: LEGO1 0x100774a0
|
||||||
MxLong RegistrationBook::HandleControl(LegoControlManagerNotificationParam& p_param)
|
MxLong RegistrationBook::HandleControl(LegoControlManagerNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
MxS16 unk0x28 = p_param.GetUnknown0x28();
|
MxS16 unk0x28 = p_param.m_unk0x28;
|
||||||
|
|
||||||
if (unk0x28 >= 1 && unk0x28 <= 28) {
|
if (unk0x28 >= 1 && unk0x28 <= 28) {
|
||||||
if (p_param.GetClickedObjectId() == RegbookScript::c_Alphabet_Ctl) {
|
if (p_param.m_clickedObjectId == RegbookScript::c_Alphabet_Ctl) {
|
||||||
if (unk0x28 == 28) {
|
if (unk0x28 == 28) {
|
||||||
DeleteObjects(&m_atomId, RegbookScript::c_iic006in_RunAnim, RegbookScript::c_iic008in_PlayWav);
|
DeleteObjects(&m_atomId, RegbookScript::c_iic006in_RunAnim, RegbookScript::c_iic008in_PlayWav);
|
||||||
|
|
||||||
if (GameState()->GetCurrentAct() == LegoGameState::e_act1) {
|
if (GameState()->GetCurrentAct() == LegoGameState::e_act1) {
|
||||||
m_infocenterState->SetUnknown0x74(15);
|
m_infocenterState->m_unk0x74 = 15;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
m_infocenterState->SetUnknown0x74(2);
|
m_infocenterState->m_unk0x74 = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||||
@ -256,7 +256,7 @@ MxLong RegistrationBook::HandleControl(LegoControlManagerNotificationParam& p_pa
|
|||||||
|
|
||||||
MxS16 i;
|
MxS16 i;
|
||||||
for (i = 0; i < 10; i++) {
|
for (i = 0; i < 10; i++) {
|
||||||
if (m_checkmark[i]->GetAction()->GetObjectId() == p_param.GetClickedObjectId()) {
|
if (m_checkmark[i]->GetAction()->GetObjectId() == p_param.m_clickedObjectId) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -318,7 +318,7 @@ void RegistrationBook::FUN_100775c0(MxS16 p_playerIndex)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_infocenterState->SetUnknown0x74(4);
|
m_infocenterState->m_unk0x74 = 4;
|
||||||
if (m_unk0x2b8 == 0 && !m_unk0x2c1) {
|
if (m_unk0x2b8 == 0 && !m_unk0x2c1) {
|
||||||
DeleteObjects(&m_atomId, RegbookScript::c_iic006in_RunAnim, RegbookScript::c_iic008in_PlayWav);
|
DeleteObjects(&m_atomId, RegbookScript::c_iic006in_RunAnim, RegbookScript::c_iic008in_PlayWav);
|
||||||
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
|
||||||
|
|||||||
@ -165,10 +165,10 @@ void Score::ReadyWorld()
|
|||||||
// FUNCTION: LEGO1 0x100016d0
|
// FUNCTION: LEGO1 0x100016d0
|
||||||
MxLong Score::FUN_100016d0(LegoControlManagerNotificationParam& p_param)
|
MxLong Score::FUN_100016d0(LegoControlManagerNotificationParam& p_param)
|
||||||
{
|
{
|
||||||
MxS16 unk0x28 = p_param.GetUnknown0x28();
|
MxS16 unk0x28 = p_param.m_unk0x28;
|
||||||
|
|
||||||
if (unk0x28 == 1 || p_param.GetClickedObjectId() == InfoscorScript::c_LegoBox_Ctl) {
|
if (unk0x28 == 1 || p_param.m_clickedObjectId == InfoscorScript::c_LegoBox_Ctl) {
|
||||||
switch (p_param.GetClickedObjectId()) {
|
switch (p_param.m_clickedObjectId) {
|
||||||
case InfoscorScript::c_LeftArrow_Ctl:
|
case InfoscorScript::c_LeftArrow_Ctl:
|
||||||
m_destLocation = LegoGameState::e_infomain;
|
m_destLocation = LegoGameState::e_infomain;
|
||||||
DeleteScript();
|
DeleteScript();
|
||||||
|
|||||||
@ -37,7 +37,7 @@ void LegoUnknown::FUN_1009a140(
|
|||||||
|
|
||||||
// FUNCTION: LEGO1 0x1009a1e0
|
// FUNCTION: LEGO1 0x1009a1e0
|
||||||
// FUNCTION: BETA10 0x10182d61
|
// FUNCTION: BETA10 0x10182d61
|
||||||
LegoResult LegoUnknown::FUN_1009a1e0(float p_f1, MxMatrix& p_mat, Vector3& p_v, LegoU32 p_und)
|
LegoResult LegoUnknown::FUN_1009a1e0(float p_f1, Matrix4& p_mat, Vector3& p_v, LegoU32 p_und)
|
||||||
{
|
{
|
||||||
Vector3 v1(p_mat[3]);
|
Vector3 v1(p_mat[3]);
|
||||||
Vector3 v2(p_mat[0]);
|
Vector3 v2(p_mat[0]);
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
#include "legotypes.h"
|
#include "legotypes.h"
|
||||||
#include "mxgeometry/mxgeometry3d.h"
|
#include "mxgeometry/mxgeometry3d.h"
|
||||||
|
|
||||||
class MxMatrix;
|
class Matrix4;
|
||||||
|
|
||||||
// SIZE 0x50
|
// SIZE 0x50
|
||||||
class LegoUnknown {
|
class LegoUnknown {
|
||||||
@ -18,7 +18,7 @@ class LegoUnknown {
|
|||||||
const Vector3& p_point3,
|
const Vector3& p_point3,
|
||||||
const Vector3& p_point4
|
const Vector3& p_point4
|
||||||
);
|
);
|
||||||
LegoResult FUN_1009a1e0(float p_f1, MxMatrix& p_mat, Vector3& p_v, LegoU32 p_und);
|
LegoResult FUN_1009a1e0(float p_f1, Matrix4& p_mat, Vector3& p_v, LegoU32 p_und);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Mx3DPointFloat m_unk0x00[4]; // 0x00
|
Mx3DPointFloat m_unk0x00[4]; // 0x00
|
||||||
|
|||||||
@ -736,6 +736,7 @@ TimeROI::TimeROI(Tgl::Renderer* p_renderer, ViewLODList* p_lodList, LegoTime p_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a9b40
|
// FUNCTION: LEGO1 0x100a9b40
|
||||||
|
// FUNCTION: BETA10 0x1018bbf0
|
||||||
void TimeROI::FUN_100a9b40(Matrix4& p_matrix, LegoTime p_time)
|
void TimeROI::FUN_100a9b40(Matrix4& p_matrix, LegoTime p_time)
|
||||||
{
|
{
|
||||||
LegoTime time = p_time - m_time;
|
LegoTime time = p_time - m_time;
|
||||||
@ -747,7 +748,7 @@ void TimeROI::FUN_100a9b40(Matrix4& p_matrix, LegoTime p_time)
|
|||||||
Vector3 vec(m_local2world[3]);
|
Vector3 vec(m_local2world[3]);
|
||||||
|
|
||||||
targetPosition -= vec;
|
targetPosition -= vec;
|
||||||
targetPosition /= time * 0.001;
|
targetPosition /= time / 1000.0;
|
||||||
|
|
||||||
FUN_100a5a30(targetPosition);
|
FUN_100a5a30(targetPosition);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -73,7 +73,9 @@ class LegoROI : public ViewROI {
|
|||||||
|
|
||||||
BoundingSphere& GetBoundingSphere() { return m_sphere; }
|
BoundingSphere& GetBoundingSphere() { return m_sphere; }
|
||||||
|
|
||||||
|
// FUNCTION: BETA10 0x10013400
|
||||||
void SetEntity(LegoEntity* p_entity) { m_entity = p_entity; }
|
void SetEntity(LegoEntity* p_entity) { m_entity = p_entity; }
|
||||||
|
|
||||||
void SetComp(CompoundObject* p_comp) { comp = p_comp; }
|
void SetComp(CompoundObject* p_comp) { comp = p_comp; }
|
||||||
void SetBoundingSphere(const BoundingSphere& p_sphere) { m_sphere = m_world_bounding_sphere = p_sphere; }
|
void SetBoundingSphere(const BoundingSphere& p_sphere) { m_sphere = m_world_bounding_sphere = p_sphere; }
|
||||||
void SetUnknown0x80(const BoundingBox& p_unk0x80) { m_unk0x80 = p_unk0x80; }
|
void SetUnknown0x80(const BoundingBox& p_unk0x80) { m_unk0x80 = p_unk0x80; }
|
||||||
|
|||||||
@ -22,7 +22,6 @@ class MxMatrix : public Matrix4 {
|
|||||||
// FUNCTION: BETA10 0x10010860
|
// FUNCTION: BETA10 0x10010860
|
||||||
float* operator[](int idx) { return m_data[idx]; }
|
float* operator[](int idx) { return m_data[idx]; }
|
||||||
|
|
||||||
// FUNCTION: BETA10 0x1001c670
|
|
||||||
const float* operator[](int idx) const { return m_data[idx]; }
|
const float* operator[](int idx) const { return m_data[idx]; }
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10002850
|
// FUNCTION: LEGO1 0x10002850
|
||||||
|
|||||||
@ -21,8 +21,12 @@ class MxQuaternionTransformer {
|
|||||||
inline void SetEnd(Vector4& p_v);
|
inline void SetEnd(Vector4& p_v);
|
||||||
inline int InterpolateToMatrix(Matrix4& p_matrix, float p_f);
|
inline int InterpolateToMatrix(Matrix4& p_matrix, float p_f);
|
||||||
|
|
||||||
const Vector4& GetStartQuat() const { return m_startQuat; }
|
void GetQuat(Vector4& p_startQuat, Vector4& p_endQuat) const
|
||||||
const Vector4& GetEndQuat() const { return m_endQuat; }
|
{
|
||||||
|
p_startQuat = m_startQuat;
|
||||||
|
p_endQuat = m_endQuat;
|
||||||
|
}
|
||||||
|
|
||||||
undefined4 GetFlags() const { return m_flags; }
|
undefined4 GetFlags() const { return m_flags; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -123,6 +123,8 @@ class MxPresenter : public MxCore {
|
|||||||
MxPoint32 GetLocation() const { return this->m_location; }
|
MxPoint32 GetLocation() const { return this->m_location; }
|
||||||
MxS32 GetX() const { return this->m_location.GetX(); }
|
MxS32 GetX() const { return this->m_location.GetX(); }
|
||||||
MxS32 GetY() const { return this->m_location.GetY(); }
|
MxS32 GetY() const { return this->m_location.GetY(); }
|
||||||
|
|
||||||
|
// FUNCTION: BETA10 0x10031b70
|
||||||
MxS32 GetDisplayZ() const { return this->m_displayZ; }
|
MxS32 GetDisplayZ() const { return this->m_displayZ; }
|
||||||
|
|
||||||
// FUNCTION: BETA10 0x10028430
|
// FUNCTION: BETA10 0x10028430
|
||||||
@ -135,6 +137,7 @@ class MxPresenter : public MxCore {
|
|||||||
m_compositePresenter = p_compositePresenter;
|
m_compositePresenter = p_compositePresenter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FUNCTION: BETA10 0x10031b40
|
||||||
void SetDisplayZ(MxS32 p_displayZ) { m_displayZ = p_displayZ; }
|
void SetDisplayZ(MxS32 p_displayZ) { m_displayZ = p_displayZ; }
|
||||||
|
|
||||||
// SYNTHETIC: LEGO1 0x1000c070
|
// SYNTHETIC: LEGO1 0x1000c070
|
||||||
|
|||||||
@ -96,6 +96,7 @@ void MxVideoManager::UpdateRegion()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100be440
|
// FUNCTION: LEGO1 0x100be440
|
||||||
|
// FUNCTION: BETA10 0x1012ce5e
|
||||||
void MxVideoManager::SortPresenterList()
|
void MxVideoManager::SortPresenterList()
|
||||||
{
|
{
|
||||||
if (this->m_presenters->GetCount() <= 1) {
|
if (this->m_presenters->GetCount() <= 1) {
|
||||||
|
|||||||
@ -48,6 +48,7 @@ class Matrix4 {
|
|||||||
inline int BETA_1005a590(Matrix4& p_mat);
|
inline int BETA_1005a590(Matrix4& p_mat);
|
||||||
inline void Swap(int p_d1, int p_d2);
|
inline void Swap(int p_d1, int p_d2);
|
||||||
|
|
||||||
|
// FUNCTION: BETA10 0x1001c670
|
||||||
float* operator[](int idx) { return m_data[idx]; }
|
float* operator[](int idx) { return m_data[idx]; }
|
||||||
|
|
||||||
// FUNCTION: BETA10 0x10017780
|
// FUNCTION: BETA10 0x10017780
|
||||||
|
|||||||
@ -292,8 +292,8 @@ int Matrix4::BETA_1005a590(Matrix4& p_mat)
|
|||||||
{
|
{
|
||||||
float local5c[4][4];
|
float local5c[4][4];
|
||||||
Matrix4 localc(local5c);
|
Matrix4 localc(local5c);
|
||||||
|
localc = *this;
|
||||||
|
|
||||||
((Matrix4&) localc) = *this;
|
|
||||||
p_mat.SetIdentity();
|
p_mat.SetIdentity();
|
||||||
|
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
|
|||||||
@ -68,6 +68,7 @@ void OrientableROI::WrappedVTable0x24(const Matrix4& p_transform)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a50a0
|
// FUNCTION: LEGO1 0x100a50a0
|
||||||
|
// FUNCTION: BETA10 0x1016601f
|
||||||
void OrientableROI::GetLocalTransform(Matrix4& p_transform)
|
void OrientableROI::GetLocalTransform(Matrix4& p_transform)
|
||||||
{
|
{
|
||||||
MxMatrix mat;
|
MxMatrix mat;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user