diff --git a/CONFIG/MainDlg.cpp b/CONFIG/MainDlg.cpp index 9a99f121..7262aec1 100644 --- a/CONFIG/MainDlg.cpp +++ b/CONFIG/MainDlg.cpp @@ -66,7 +66,7 @@ BOOL CMainDialog::OnInitDialog() LegoDeviceEnumerate* info = currentConfigApp->m_dxInfo; assert(info); - info->FUN_1009d210(); + info->FilterSupportedDrivers(); m_modified = currentConfigApp->ReadRegisterSettings(); CListBox* list_3d_devices = (CListBox*) GetDlgItem(IDC_LIST_3DDEVICES); int driver_i = 0; diff --git a/CONFIG/config.cpp b/CONFIG/config.cpp index 9eac2dcb..0e823ae3 100644 --- a/CONFIG/config.cpp +++ b/CONFIG/config.cpp @@ -269,7 +269,7 @@ BOOL CConfigApp::ReadRegisterSettings() } if (r < 0) { - m_dxInfo->FUN_1009d210(); + m_dxInfo->FilterSupportedDrivers(); r = m_dxInfo->GetBestDevice(); is_modified = TRUE; assert(r >= 0); diff --git a/LEGO1/lego/legoomni/include/act3actors.h b/LEGO1/lego/legoomni/include/act3actors.h index 99c02776..4ffcdbb4 100644 --- a/LEGO1/lego/legoomni/include/act3actors.h +++ b/LEGO1/lego/legoomni/include/act3actors.h @@ -111,8 +111,8 @@ class Act3Cop : public Act3Actor { void SetUnknown0x20(MxFloat p_unk0x20) { m_unk0x20 = p_unk0x20; } - MxResult FUN_10040350(Act3Ammo& p_ammo, const Vector3&); - MxResult FUN_10040360(); + MxResult RespondToAmmoHit(Act3Ammo& p_ammo, const Vector3&); + MxResult ChooseCopDestination(); // SYNTHETIC: LEGO1 0x10043120 // Act3Cop::`scalar deleting destructor' @@ -153,14 +153,14 @@ class Act3Brickster : public Act3Actor { void SetUnknown0x24(MxFloat p_unk0x24) { m_unk0x24 = p_unk0x24; } void SetUnknown0x50(MxFloat p_unk0x50) { m_unk0x50 = p_unk0x50; } - MxResult FUN_100417a0(Act3Ammo& p_ammo, const Vector3&); - MxResult FUN_100417c0(); + MxResult RespondToAmmoHit(Act3Ammo& p_ammo, const Vector3&); + MxResult ChooseBricksterDestination(); // SYNTHETIC: LEGO1 0x10043250 // Act3Brickster::`scalar deleting destructor' private: - MxS32 FUN_10042300(); + MxS32 EvadeNearestCop(); MxFloat m_unk0x20; // 0x20 MxFloat m_unk0x24; // 0x24 diff --git a/LEGO1/lego/legoomni/include/helicopter.h b/LEGO1/lego/legoomni/include/helicopter.h index 9f161c7e..53c1a613 100644 --- a/LEGO1/lego/legoomni/include/helicopter.h +++ b/LEGO1/lego/legoomni/include/helicopter.h @@ -76,8 +76,8 @@ class Helicopter : public IslePathActor { void Exit() override; // vtable+0xe4 void CreateState(); - void FUN_10004640(const Matrix4& p_matrix); - void FUN_10004670(const Matrix4& p_matrix); + void StartGoodEndingFlight(const Matrix4& p_matrix); + void StartBadEndingFlight(const Matrix4& p_matrix); // SYNTHETIC: LEGO1 0x10003210 // Helicopter::`scalar deleting destructor' @@ -86,7 +86,7 @@ class Helicopter : public IslePathActor { friend class Act3; protected: - void FUN_100042a0(const Matrix4& p_matrix); + void PrepareEndingFlightTransform(const Matrix4& p_matrix); MxMatrix m_unk0x160; // 0x160 MxMatrix m_unk0x1a8; // 0x1a8 diff --git a/LEGO1/lego/legoomni/include/lego3dsound.h b/LEGO1/lego/legoomni/include/lego3dsound.h index dc7840a3..b0f1925e 100644 --- a/LEGO1/lego/legoomni/include/lego3dsound.h +++ b/LEGO1/lego/legoomni/include/lego3dsound.h @@ -20,7 +20,7 @@ class Lego3DSound { MxResult Create(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char* p_name, MxS32 p_volume); void Destroy(); MxU32 UpdatePosition(LPDIRECTSOUNDBUFFER p_directSoundBuffer); - void FUN_10011a60(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char* p_name); + void AttachToSoundTarget(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char* p_name); void Reset(); MxS32 SetDistance(MxS32 p_min, MxS32 p_max); diff --git a/LEGO1/lego/legoomni/include/legoanimationmanager.h b/LEGO1/lego/legoomni/include/legoanimationmanager.h index 19d4fb83..be2eb29f 100644 --- a/LEGO1/lego/legoomni/include/legoanimationmanager.h +++ b/LEGO1/lego/legoomni/include/legoanimationmanager.h @@ -160,19 +160,19 @@ class LegoAnimationManager : public MxCore { void Reset(MxBool p_und); void Suspend(); void Resume(); - void FUN_1005f6d0(MxBool p_unk0x400); + void EnableExtras(MxBool p_unk0x400); void EnableCamAnims(MxBool p_enableCamAnims); MxResult LoadWorldInfo(LegoOmni::World p_worldId); MxBool FindVehicle(const char* p_name, MxU32& p_index); MxResult ReadAnimInfo(LegoStorage* p_storage, AnimInfo* p_info); MxResult ReadModelInfo(LegoStorage* p_storage, ModelInfo* p_info); - void FUN_10060480(const LegoChar* p_characterNames[], MxU32 p_numCharacterNames); - void FUN_100604d0(MxBool p_unk0x08); - void FUN_100604f0(MxS32 p_objectIds[], MxU32 p_numObjectIds); - void FUN_10060540(MxBool p_unk0x29); - void FUN_10060570(MxBool p_unk0x1a); + void EnableCharactersByName(const LegoChar* p_characterNames[], MxU32 p_numCharacterNames); + void SetAllCharactersAnimationEnabled(MxBool p_unk0x08); + void EnableAnimationsByObjectId(MxS32 p_objectIds[], MxU32 p_numObjectIds); + void SetAllAnimationsEnabled(MxBool p_unk0x29); + void SetAutoPlayAnimations(MxBool p_unk0x1a); MxResult StartEntityAction(MxDSAction& p_dsAction, LegoEntity* p_entity); - MxResult FUN_10060dc0( + MxResult StartManagedAnimation( MxU32 p_objectId, MxMatrix* p_matrix, MxBool p_param3, @@ -184,17 +184,17 @@ class LegoAnimationManager : public MxCore { MxBool p_param9 ); void CameraTriggerFire(LegoPathActor* p_actor, MxBool, MxU32 p_location, MxBool p_bool); - void FUN_10061010(MxBool p_und); + void StopAnimations(MxBool p_und); LegoTranInfo* GetTranInfo(MxU32 p_index); - void FUN_10062770(); + void CacheTransitionSounds(); void PurgeExtra(MxBool p_und); void AddExtra(MxS32 p_location, MxBool p_und); - void FUN_10063270(LegoROIList* p_list, LegoAnimPresenter* p_presenter); - void FUN_10063780(LegoROIList* p_list); - MxResult FUN_10064670(Vector3* p_position); - MxResult FUN_10064740(Vector3* p_position); - MxResult FUN_10064880(const char* p_name, MxS32 p_unk0x0c, MxS32 p_unk0x10); - MxBool FUN_10064ee0(MxU32 p_objectId); + void ClaimExtraActorsFromPresenterList(LegoROIList* p_list, LegoAnimPresenter* p_presenter); + void StashPresenterActors(LegoROIList* p_list); + MxResult SpawnBricksterAtPoliceStation(Vector3* p_position); + MxResult SpawnParentsAtHospital(Vector3* p_position); + MxResult SetExtraActorTiming(const char* p_name, MxS32 p_unk0x0c, MxS32 p_unk0x10); + MxBool IsAnimationFinished(MxU32 p_objectId); static void configureLegoAnimationManager(MxS32 p_legoAnimationManagerConfig); @@ -203,7 +203,7 @@ class LegoAnimationManager : public MxCore { private: void Init(); - MxResult FUN_100605e0( + MxResult StartAnimationByIndex( MxU32 p_index, MxBool p_unk0x0a, MxMatrix* p_matrix, @@ -214,11 +214,11 @@ class LegoAnimationManager : public MxCore { MxBool p_bool4, MxBool p_bool5 ); - MxResult FUN_100609f0(MxU32 p_objectId, MxMatrix* p_matrix, MxBool p_und1, MxBool p_und2); + MxResult StartRawObjectAnimation(MxU32 p_objectId, MxMatrix* p_matrix, MxBool p_und1, MxBool p_und2); void DeleteAnimations(); - void FUN_10061530(); - MxResult FUN_100617c0(MxS32 p_unk0x08, MxU16& p_unk0x0e, MxU16& p_unk0x10); - MxU16 FUN_10062110( + void StopDeferredAnimations(); + MxResult GetAnimationRangeByLocation(MxS32 p_unk0x08, MxU16& p_unk0x0e, MxU16& p_unk0x10); + MxU16 FindAmbientAnimationForExtra( LegoROI* p_roi, Vector3& p_direction, Vector3& p_position, @@ -228,21 +228,21 @@ class LegoAnimationManager : public MxCore { MxBool p_unk0x14 ); MxS8 GetCharacterIndex(const char* p_name); - MxBool FUN_100623a0(AnimInfo& p_info); + MxBool IsAnimationBlockedByVisibleActor(AnimInfo& p_info); MxBool ModelExists(AnimInfo& p_info, const char* p_name); - void FUN_10062580(AnimInfo& p_info); - MxBool FUN_10062650(Mx3DPointFloat& p_position, float p_und, LegoROI* p_roi); - MxBool FUN_10062710(AnimInfo& p_info); - MxBool FUN_10062e20(LegoROI* p_roi, LegoAnimPresenter* p_presenter); - void FUN_10063950(LegoROI* p_roi); - void FUN_10063aa0(); - MxBool FUN_10063b90(LegoWorld* p_world, LegoExtraActor* p_actor, MxU8 p_mood, MxU32 p_characterId); - void FUN_10063d10(); - void FUN_10063e40(LegoAnimPresenter* p_presenter); - MxBool FUN_10063fb0(LegoLocation::Boundary* p_boundary, LegoWorld* p_world); - MxBool FUN_10064010(LegoPathBoundary* p_boundary, LegoOrientedEdge* p_edge, float p_destScale); - MxBool FUN_10064120(LegoLocation::Boundary* p_boundary, MxBool p_bool1, MxBool p_bool2); - MxResult FUN_10064380( + void DetachActorsUsedByAnimation(AnimInfo& p_info); + MxBool IsROIWithinSphere(Mx3DPointFloat& p_position, float p_und, LegoROI* p_roi); + MxBool IsAnimationRejectedForPlayer(AnimInfo& p_info); + MxBool PromoteROIToExtraActor(LegoROI* p_roi, LegoAnimPresenter* p_presenter); + void ReleaseStashedActor(LegoROI* p_roi); + void ReleaseAllStashedActors(); + MxBool BuildExtraActorCycles(LegoWorld* p_world, LegoExtraActor* p_actor, MxU8 p_mood, MxU32 p_characterId); + void UpdateExtraActorSpeeds(); + void FlushStashedActorsToWorld(LegoAnimPresenter* p_presenter); + MxBool IsLocationBoundarySpawnable(LegoLocation::Boundary* p_boundary, LegoWorld* p_world); + MxBool IsEdgeSpawnPointOffscreen(LegoPathBoundary* p_boundary, LegoOrientedEdge* p_edge, float p_destScale); + MxBool FindRandomSpawnBoundary(LegoLocation::Boundary* p_boundary, MxBool p_bool1, MxBool p_bool2); + MxResult PlaceNamedExtraActor( const char* p_name, const char* p_boundaryName, MxS32 p_src, @@ -255,8 +255,8 @@ class LegoAnimationManager : public MxCore { MxS32 p_unk0x10, float p_speed ); - void FUN_100648f0(LegoTranInfo* p_tranInfo, MxLong p_unk0x404); - void FUN_10064b50(MxLong p_time); + void BeginAnimationCameraTransition(LegoTranInfo* p_tranInfo, MxLong p_unk0x404); + void UpdateAnimationCameraTransition(MxLong p_time); LegoOmni::World m_worldId; // 0x08 MxU16 m_animCount; // 0x0c diff --git a/LEGO1/lego/legoomni/include/legoanimmmpresenter.h b/LEGO1/lego/legoomni/include/legoanimmmpresenter.h index cbd9232a..01dac699 100644 --- a/LEGO1/lego/legoomni/include/legoanimmmpresenter.h +++ b/LEGO1/lego/legoomni/include/legoanimmmpresenter.h @@ -65,23 +65,23 @@ class LegoAnimMMPresenter : public MxCompositePresenter { // SYNTHETIC: LEGO1 0x1004aa40 // LegoAnimMMPresenter::`scalar deleting destructor' - MxBool FUN_1004b830(); - void FUN_1004b840(); - MxBool FUN_1004b8b0(); - void FUN_1004b8c0(); + MxBool HasPassedPresenterStart(); + void StopAndFinishAnimation(); + MxBool UsesLocalActors(); + void ReleaseUserActor(); LegoAnimPresenter* GetPresenter() { return m_presenter; } private: - MxBool FUN_1004b450(); - MxBool FUN_1004b530(MxLong p_time); - MxBool FUN_1004b570(MxLong p_time); - MxBool FUN_1004b580(MxLong p_time); - MxBool FUN_1004b5b0(MxLong p_time); - MxBool FUN_1004b600(MxLong p_time); - MxBool FUN_1004b610(MxLong p_time); - MxBool FUN_1004b6b0(MxLong p_time); - MxBool FUN_1004b6d0(MxLong p_time); + MxBool RunStartupSequence(); + MxBool CaptureAnimationState(MxLong p_time); + MxBool WaitForPreRoll(MxLong p_time); + MxBool WaitForTransitionSound(MxLong p_time); + MxBool RestoreInitialTransforms(MxLong p_time); + MxBool PreparePresentersForStart(MxLong p_time); + MxBool StartChildPresenters(MxLong p_time); + MxBool WaitForAnimationPresenterIdle(MxLong p_time); + MxBool RestoreUserActorAfterAnimation(MxLong p_time); LegoAnimPresenter* m_presenter; // 0x4c MxLong m_unk0x50; // 0x50 diff --git a/LEGO1/lego/legoomni/include/legocachsound.h b/LEGO1/lego/legoomni/include/legocachsound.h index b7096533..f1428a3f 100644 --- a/LEGO1/lego/legoomni/include/legocachsound.h +++ b/LEGO1/lego/legoomni/include/legocachsound.h @@ -37,7 +37,7 @@ class LegoCacheSound : public MxCore { MxU32 p_dataSize ); // vtable+0x14 virtual void Destroy(); // vtable+0x18 - virtual void FUN_10006cd0(undefined4, undefined4); // vtable+0x1c + virtual void HandleSoundCallback(undefined4, undefined4); // vtable+0x1c const MxString& GetUnknown0x48() const { return m_unk0x48; } const MxBool GetUnknown0x58() const { return m_unk0x58; } @@ -45,7 +45,7 @@ class LegoCacheSound : public MxCore { LegoCacheSound* Clone(); MxResult Play(const char* p_name, MxBool p_looping); void Stop(); - void FUN_10006be0(); + void UpdatePlayback(); void SetDistance(MxS32 p_min, MxS32 p_max); void MuteSilence(MxBool p_muted); void MuteStop(MxBool p_mute); diff --git a/LEGO1/lego/legoomni/include/legocharactermanager.h b/LEGO1/lego/legoomni/include/legocharactermanager.h index d024e2e0..cba9711b 100644 --- a/LEGO1/lego/legoomni/include/legocharactermanager.h +++ b/LEGO1/lego/legoomni/include/legocharactermanager.h @@ -91,7 +91,7 @@ class LegoCharacterManager { MxU8 GetMood(LegoROI* p_roi); LegoROI* CreateAutoROI(const char* p_name, const char* p_lodName, MxBool p_createEntity); MxResult UpdateBoundingSphereAndBox(LegoROI* p_roi); - LegoROI* FUN_10085a80(const char* p_name, const char* p_lodName, MxBool p_createEntity); + LegoROI* CreateAutoROIWrapper(const char* p_name, const char* p_lodName, MxBool p_createEntity); static const char* GetCustomizeAnimFile() { return g_customizeAnimFile; } diff --git a/LEGO1/lego/legoomni/include/legoinputmanager.h b/LEGO1/lego/legoomni/include/legoinputmanager.h index cc6ca317..c6b53604 100644 --- a/LEGO1/lego/legoomni/include/legoinputmanager.h +++ b/LEGO1/lego/legoomni/include/legoinputmanager.h @@ -133,7 +133,7 @@ class LegoInputManager : public MxPresenter { void ProcessEvents(); MxBool ProcessOneEvent(LegoEventNotificationParam& p_param); - MxBool FUN_1005cdf0(LegoEventNotificationParam& p_param); + MxBool TranslateMouseEventToClickOrDrag(LegoEventNotificationParam& p_param); void GetKeyboardState(); MxResult GetNavigationKeyStates(MxU32& p_keyFlags); diff --git a/LEGO1/lego/legoomni/include/legoraceactor.h b/LEGO1/lego/legoomni/include/legoraceactor.h index a9ad5fc0..4e6d17cd 100644 --- a/LEGO1/lego/legoomni/include/legoraceactor.h +++ b/LEGO1/lego/legoomni/include/legoraceactor.h @@ -38,7 +38,7 @@ class LegoRaceActor : public virtual LegoAnimActor { MxU32 StepState(float p_time, Matrix4& p_matrix) override; // vtable+0x90 MxResult HitActor(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94 - virtual MxResult FUN_10014aa0(); + virtual MxResult OnRaceActorAction(); // SYNTHETIC: LEGO1 0x10012c10 // LegoRaceActor::`vbase destructor' diff --git a/LEGO1/lego/legoomni/include/legovideomanager.h b/LEGO1/lego/legoomni/include/legovideomanager.h index 0a451ca8..f548aa4e 100644 --- a/LEGO1/lego/legoomni/include/legovideomanager.h +++ b/LEGO1/lego/legoomni/include/legovideomanager.h @@ -50,7 +50,7 @@ class LegoVideoManager : public MxVideoManager { MxResult ResetPalette(MxBool p_ignoreSkyColor); MxPresenter* GetPresenterByActionObjectName(const char* p_char); - void FUN_1007c520(); + void PrepareCreditsScreen(); Tgl::Renderer* GetRenderer() { return m_renderer; } diff --git a/LEGO1/lego/legoomni/include/raceskel.h b/LEGO1/lego/legoomni/include/raceskel.h index 938316a8..726174af 100644 --- a/LEGO1/lego/legoomni/include/raceskel.h +++ b/LEGO1/lego/legoomni/include/raceskel.h @@ -17,7 +17,7 @@ class RaceSkel : public LegoAnimActor { MxResult AnimateWithTransform(float p_time, Matrix4& p_transform) override; - virtual void FUN_10071c80(Vector3& p_vec); + virtual void GetFixedRaceSkeletonPosition(Vector3& p_vec); void GetCurrentAnimData(float* p_outCurAnimPosition, float* p_outCurAnimDuration); diff --git a/LEGO1/lego/legoomni/src/actors/act3actors.cpp b/LEGO1/lego/legoomni/src/actors/act3actors.cpp index 56b2b378..76d86147 100644 --- a/LEGO1/lego/legoomni/src/actors/act3actors.cpp +++ b/LEGO1/lego/legoomni/src/actors/act3actors.cpp @@ -200,7 +200,7 @@ MxResult Act3Cop::HitActor(LegoPathActor* p_actor, MxBool p_bool) assert(SoundManager()->GetCacheSoundManager()); SoundManager()->GetCacheSoundManager()->Play("eatdn", NULL, FALSE); - FUN_10040360(); + ChooseCopDestination(); } else { if (((Act3*) m_world)->m_brickster->GetROI() != roi) { @@ -304,26 +304,26 @@ void Act3Cop::Animate(float p_time) if (distance < 25.0f) { brickster->SetActorState(c_disabled); - FUN_10040360(); + ChooseCopDestination(); return; } } if (m_grec == NULL) { - FUN_10040360(); + ChooseCopDestination(); } } // FUNCTION: LEGO1 0x10040350 // FUNCTION: BETA10 0x10018c4a -MxResult Act3Cop::FUN_10040350(Act3Ammo& p_ammo, const Vector3&) +MxResult Act3Cop::RespondToAmmoHit(Act3Ammo& p_ammo, const Vector3&) { - return FUN_10040360(); + return ChooseCopDestination(); } // FUNCTION: LEGO1 0x10040360 // FUNCTION: BETA10 0x10018c6a -MxResult Act3Cop::FUN_10040360() +MxResult Act3Cop::ChooseCopDestination() { LegoPathEdgeContainer* grec = NULL; Act3* a3 = (Act3*) m_world; @@ -514,7 +514,7 @@ MxResult Act3Cop::CalculateSpline() delete m_grec; m_grec = NULL; m_transformTime = Timer()->GetTime(); - FUN_10040360(); + ChooseCopDestination(); return SUCCESS; } @@ -585,7 +585,7 @@ void Act3Brickster::Animate(float p_time) switch (m_unk0x38) { case 1: - FUN_100417c0(); + ChooseBricksterDestination(); break; case 2: m_unk0x58++; @@ -601,7 +601,7 @@ void Act3Brickster::Animate(float p_time) SoundManager()->GetCacheSoundManager()->Play("eatpz", NULL, FALSE); } - FUN_100417c0(); + ChooseBricksterDestination(); break; case 3: assert(m_shootAnim && m_pInfo); @@ -614,7 +614,7 @@ void Act3Brickster::Animate(float p_time) assert(SoundManager()->GetCacheSoundManager()); SoundManager()->GetCacheSoundManager()->Play("thpt", NULL, FALSE); m_unk0x58 = 0; - FUN_100417c0(); + ChooseBricksterDestination(); } else { MxMatrix local70; @@ -659,7 +659,7 @@ void Act3Brickster::Animate(float p_time) } } - FUN_100417c0(); + ChooseBricksterDestination(); } else { MxMatrix locale4; @@ -700,7 +700,7 @@ void Act3Brickster::Animate(float p_time) SoundManager()->GetCacheSoundManager()->Play("xarrow", NULL, FALSE); } else { - FUN_10042300(); + EvadeNearestCop(); } break; case 6: @@ -714,12 +714,12 @@ void Act3Brickster::Animate(float p_time) m_unk0x3c = m_bInfo->m_entity->GetROI()->GetLocal2World()[3]; } else { - FUN_10042300(); + EvadeNearestCop(); } break; case 7: default: - FUN_10042300(); + EvadeNearestCop(); break; case 8: m_unk0x24 = p_time + 10000.0f; @@ -727,10 +727,10 @@ void Act3Brickster::Animate(float p_time) break; case 9: if (m_unk0x24 < p_time) { - FUN_100417c0(); + ChooseBricksterDestination(); } else if (m_unk0x24 - 9000.0f < p_time) { - FUN_10042300(); + EvadeNearestCop(); } break; } @@ -774,10 +774,10 @@ MxResult Act3Brickster::HitActor(LegoPathActor* p_actor, MxBool p_bool) // FUNCTION: LEGO1 0x100417a0 // FUNCTION: BETA10 0x1001a3cf -MxResult Act3Brickster::FUN_100417a0(Act3Ammo& p_ammo, const Vector3&) +MxResult Act3Brickster::RespondToAmmoHit(Act3Ammo& p_ammo, const Vector3&) { if (m_unk0x58 < 8) { - return FUN_100417c0(); + return ChooseBricksterDestination(); } return SUCCESS; @@ -785,7 +785,7 @@ MxResult Act3Brickster::FUN_100417a0(Act3Ammo& p_ammo, const Vector3&) // FUNCTION: LEGO1 0x100417c0 // FUNCTION: BETA10 0x1001a407 -MxResult Act3Brickster::FUN_100417c0() +MxResult Act3Brickster::ChooseBricksterDestination() { m_pInfo = NULL; m_bInfo = NULL; @@ -1010,7 +1010,7 @@ MxResult Act3Brickster::FUN_100417c0() // FUNCTION: LEGO1 0x10042300 // FUNCTION: BETA10 0x1001b017 -MxS32 Act3Brickster::FUN_10042300() +MxS32 Act3Brickster::EvadeNearestCop() { Act3* a3 = (Act3*) m_world; @@ -1058,7 +1058,7 @@ MxS32 Act3Brickster::FUN_10042300() LegoOrientedEdge* maxE = NULL; boundaries[0] = m_boundary; - if (m_destEdge->FUN_10048c40(local38)) { + if (m_destEdge->ContainsPointOnEdge(local38)) { boundaries[1] = (LegoPathBoundary*) m_destEdge->OtherFace(m_boundary); } else { diff --git a/LEGO1/lego/legoomni/src/actors/act3ammo.cpp b/LEGO1/lego/legoomni/src/actors/act3ammo.cpp index 045df491..6205b406 100644 --- a/LEGO1/lego/legoomni/src/actors/act3ammo.cpp +++ b/LEGO1/lego/legoomni/src/actors/act3ammo.cpp @@ -437,7 +437,7 @@ void Act3Ammo::Animate(float p_time) #else if (m_world->m_pizzas[index].IsValid() && !m_world->m_pizzas[index].IsSharkFood()) { m_world->EatPizza(index); - m_world->m_brickster->FUN_100417c0(); + m_world->m_brickster->ChooseBricksterDestination(); } #endif diff --git a/LEGO1/lego/legoomni/src/actors/ambulance.cpp b/LEGO1/lego/legoomni/src/actors/ambulance.cpp index 451aff60..92846db7 100644 --- a/LEGO1/lego/legoomni/src/actors/ambulance.cpp +++ b/LEGO1/lego/legoomni/src/actors/ambulance.cpp @@ -581,7 +581,7 @@ void Ambulance::Reset() m_atPoliceTask = 0; g_isleFlags |= Isle::c_playMusic; AnimationManager()->EnableCamAnims(TRUE); - AnimationManager()->FUN_1005f6d0(TRUE); + AnimationManager()->EnableExtras(TRUE); m_state->m_startTime = INT_MIN; m_state = NULL; } @@ -591,7 +591,7 @@ void Ambulance::Reset() void Ambulance::PlayAnimation(IsleScript::Script p_objectId) { AnimationManager() - ->FUN_10060dc0(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, FALSE, FALSE, TRUE); + ->StartManagedAnimation(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, FALSE, FALSE, TRUE); m_lastAnimation = p_objectId; } @@ -600,7 +600,7 @@ void Ambulance::PlayAnimation(IsleScript::Script p_objectId) void Ambulance::PlayFinalAnimation(IsleScript::Script p_objectId) { AnimationManager() - ->FUN_10060dc0(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk1, NULL, FALSE, FALSE, TRUE, TRUE); + ->StartManagedAnimation(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk1, NULL, FALSE, FALSE, TRUE, TRUE); m_lastAnimation = p_objectId; } diff --git a/LEGO1/lego/legoomni/src/actors/bike.cpp b/LEGO1/lego/legoomni/src/actors/bike.cpp index e3414254..d4da740d 100644 --- a/LEGO1/lego/legoomni/src/actors/bike.cpp +++ b/LEGO1/lego/legoomni/src/actors/bike.cpp @@ -68,8 +68,8 @@ MxLong Bike::HandleClick() GetCurrentAction().SetObjectId(-1); Vector3 position = m_roi->GetWorldPosition(); - AnimationManager()->FUN_10064670(&position); - AnimationManager()->FUN_10064740(&position); + AnimationManager()->SpawnBricksterAtPoliceStation(&position); + AnimationManager()->SpawnParentsAtHospital(&position); ControlManager()->Register(this); } @@ -117,7 +117,7 @@ void Bike::ActivateSceneActions() MxMatrix mat(UserActor()->GetROI()->GetLocal2World()); mat.TranslateBy(mat[2][0] * 2.5, mat[2][1] + 0.7, mat[2][2] * 2.5); - AnimationManager()->FUN_10060dc0( + AnimationManager()->StartManagedAnimation( IsleScript::c_sns006in_RunAnim, &mat, TRUE, diff --git a/LEGO1/lego/legoomni/src/actors/buildings.cpp b/LEGO1/lego/legoomni/src/actors/buildings.cpp index 989f1d99..83545034 100644 --- a/LEGO1/lego/legoomni/src/actors/buildings.cpp +++ b/LEGO1/lego/legoomni/src/actors/buildings.cpp @@ -72,7 +72,7 @@ MxLong InfoCenterEntity::HandleClick(LegoEventNotificationParam& p_param) break; } - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); return 1; } @@ -93,7 +93,7 @@ MxLong GasStationEntity::HandleClick(LegoEventNotificationParam& p_param) Isle* isle = (Isle*) FindWorld(*g_isleScript, IsleScript::c__Isle); isle->SetDestLocation(LegoGameState::Area::e_garage); - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); } } @@ -117,7 +117,7 @@ MxLong HospitalEntity::HandleClick(LegoEventNotificationParam& p_param) Isle* isle = (Isle*) FindWorld(*g_isleScript, IsleScript::c__Isle); isle->SetDestLocation(LegoGameState::Area::e_hospital); - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); } } @@ -141,7 +141,7 @@ MxLong PoliceEntity::HandleClick(LegoEventNotificationParam& p_param) Isle* isle = (Isle*) FindWorld(*g_isleScript, IsleScript::c__Isle); isle->SetDestLocation(LegoGameState::Area::e_police); - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); } } @@ -163,7 +163,7 @@ MxLong BeachHouseEntity::HandleClick(LegoEventNotificationParam& p_param) Isle* isle = (Isle*) FindWorld(*g_isleScript, IsleScript::c__Isle); isle->SetDestLocation(LegoGameState::Area::e_jetskibuild); - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); } @@ -184,7 +184,7 @@ MxLong RaceStandsEntity::HandleClick(LegoEventNotificationParam& p_param) Isle* isle = (Isle*) FindWorld(*g_isleScript, IsleScript::c__Isle); isle->SetDestLocation(LegoGameState::Area::e_racecarbuild); - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); } diff --git a/LEGO1/lego/legoomni/src/actors/dunebuggy.cpp b/LEGO1/lego/legoomni/src/actors/dunebuggy.cpp index 46b9df38..a519cf25 100644 --- a/LEGO1/lego/legoomni/src/actors/dunebuggy.cpp +++ b/LEGO1/lego/legoomni/src/actors/dunebuggy.cpp @@ -109,8 +109,8 @@ MxLong DuneBuggy::HandleClick() GetCurrentAction().SetObjectId(-1); Vector3 position = m_roi->GetWorldPosition(); - AnimationManager()->FUN_10064670(&position); - AnimationManager()->FUN_10064740(&position); + AnimationManager()->SpawnBricksterAtPoliceStation(&position); + AnimationManager()->SpawnParentsAtHospital(&position); Enter(); ControlManager()->Register(this); return 1; @@ -198,7 +198,7 @@ void DuneBuggy::ActivateSceneActions() MxMatrix mat(UserActor()->GetROI()->GetLocal2World()); mat.TranslateBy(mat[2][0] * 2.5, mat[2][1] + 0.7, mat[2][2] * 2.5); - AnimationManager()->FUN_10060dc0( + AnimationManager()->StartManagedAnimation( IsleScript::c_sns005in_RunAnim, &mat, TRUE, diff --git a/LEGO1/lego/legoomni/src/actors/helicopter.cpp b/LEGO1/lego/legoomni/src/actors/helicopter.cpp index 740e92fd..fe234bb1 100644 --- a/LEGO1/lego/legoomni/src/actors/helicopter.cpp +++ b/LEGO1/lego/legoomni/src/actors/helicopter.cpp @@ -113,7 +113,7 @@ void Helicopter::Exit() RemoveFromCurrentWorld(m_script, 0x1d); RemoveFromCurrentWorld(m_script, 0x1e); RemoveFromCurrentWorld(m_script, 0x1f); - AnimationManager()->FUN_1005f6d0(TRUE); + AnimationManager()->EnableExtras(TRUE); ControlManager()->Unregister(this); } @@ -130,7 +130,7 @@ MxLong Helicopter::HandleClick() assert(m_world); } - AnimationManager()->FUN_1005f6d0(FALSE); + AnimationManager()->EnableExtras(FALSE); if (UserActor()) { if (UserActor()->GetActorId() != GameState()->GetActorId()) { @@ -141,7 +141,7 @@ MxLong Helicopter::HandleClick() switch (GameState()->GetCurrentAct()) { case LegoGameState::e_act1: m_script = *g_isleScript; - AnimationManager()->FUN_10064670(NULL); + AnimationManager()->SpawnBricksterAtPoliceStation(NULL); SpawnPlayer( LegoGameState::e_helicopterLanded, TRUE, @@ -445,7 +445,7 @@ void Helicopter::Animate(float p_time) } // FUNCTION: LEGO1 0x100042a0 -void Helicopter::FUN_100042a0(const Matrix4& p_matrix) +void Helicopter::PrepareEndingFlightTransform(const Matrix4& p_matrix) { MxMatrix local48; MxMatrix local90; @@ -489,19 +489,19 @@ void Helicopter::FUN_100042a0(const Matrix4& p_matrix) } // FUNCTION: LEGO1 0x10004640 -void Helicopter::FUN_10004640(const Matrix4& p_matrix) +void Helicopter::StartGoodEndingFlight(const Matrix4& p_matrix) { if (m_state->m_unk0x08 != 4 && m_state->m_unk0x08 != 5) { m_state->m_unk0x08 = 4; - FUN_100042a0(p_matrix); + PrepareEndingFlightTransform(p_matrix); } } // FUNCTION: LEGO1 0x10004670 -void Helicopter::FUN_10004670(const Matrix4& p_matrix) +void Helicopter::StartBadEndingFlight(const Matrix4& p_matrix) { if (m_state->m_unk0x08 != 4 && m_state->m_unk0x08 != 5) { m_state->m_unk0x08 = 5; - FUN_100042a0(p_matrix); + PrepareEndingFlightTransform(p_matrix); } } diff --git a/LEGO1/lego/legoomni/src/actors/islepathactor.cpp b/LEGO1/lego/legoomni/src/actors/islepathactor.cpp index 53349c7b..ebc7b30b 100644 --- a/LEGO1/lego/legoomni/src/actors/islepathactor.cpp +++ b/LEGO1/lego/legoomni/src/actors/islepathactor.cpp @@ -84,7 +84,7 @@ void IslePathActor::Enter() } } - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); if (!m_cameraFlag) { ResetWorldTransform(TRUE); SetUserNavFlag(TRUE); @@ -585,7 +585,7 @@ void IslePathActor::SpawnPlayer(LegoGameState::Area p_area, MxBool p_enter, MxU8 if (state != NULL && state->m_finishedBuild && !state->m_playedExitScript) { if (AnimationManager() - ->FUN_10060dc0(anim, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, TRUE, TRUE, TRUE) == + ->StartManagedAnimation(anim, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, TRUE, TRUE, TRUE) == SUCCESS) { state->m_playedExitScript = TRUE; camAnim = FALSE; diff --git a/LEGO1/lego/legoomni/src/actors/jetski.cpp b/LEGO1/lego/legoomni/src/actors/jetski.cpp index fec78e10..fd233b8c 100644 --- a/LEGO1/lego/legoomni/src/actors/jetski.cpp +++ b/LEGO1/lego/legoomni/src/actors/jetski.cpp @@ -115,8 +115,8 @@ MxLong Jetski::HandleClick() #else GetCurrentAction().SetObjectId(-1); - AnimationManager()->FUN_1005f6d0(FALSE); - AnimationManager()->FUN_10064670(NULL); + AnimationManager()->EnableExtras(FALSE); + AnimationManager()->SpawnBricksterAtPoliceStation(NULL); Enter(); ControlManager()->Register(this); #endif @@ -174,7 +174,7 @@ void Jetski::ActivateSceneActions() MxMatrix mat(user->GetROI()->GetLocal2World()); mat.TranslateBy(mat[2][0] * 2.5, mat[2][1] + 0.6, mat[2][2] * 2.5); - AnimationManager()->FUN_10060dc0( + AnimationManager()->StartManagedAnimation( IsleScript::c_sjs007in_RunAnim, &mat, TRUE, diff --git a/LEGO1/lego/legoomni/src/actors/motorcycle.cpp b/LEGO1/lego/legoomni/src/actors/motorcycle.cpp index 743a0df0..3a3dc4fd 100644 --- a/LEGO1/lego/legoomni/src/actors/motorcycle.cpp +++ b/LEGO1/lego/legoomni/src/actors/motorcycle.cpp @@ -104,8 +104,8 @@ MxLong Motocycle::HandleClick() GetCurrentAction().SetObjectId(-1); Vector3 position = m_roi->GetWorldPosition(); - AnimationManager()->FUN_10064670(&position); - AnimationManager()->FUN_10064740(&position); + AnimationManager()->SpawnBricksterAtPoliceStation(&position); + AnimationManager()->SpawnParentsAtHospital(&position); ControlManager()->Register(this); return 1; } @@ -157,7 +157,7 @@ void Motocycle::ActivateSceneActions() MxMatrix mat(UserActor()->GetROI()->GetLocal2World()); mat.TranslateBy(mat[2][0] * 2.5, mat[2][1] + 0.7, mat[2][2] * 2.5); - AnimationManager()->FUN_10060dc0( + AnimationManager()->StartManagedAnimation( IsleScript::c_sns006in_RunAnim, &mat, TRUE, diff --git a/LEGO1/lego/legoomni/src/actors/pizza.cpp b/LEGO1/lego/legoomni/src/actors/pizza.cpp index 11b822ee..7bf9cedd 100644 --- a/LEGO1/lego/legoomni/src/actors/pizza.cpp +++ b/LEGO1/lego/legoomni/src/actors/pizza.cpp @@ -179,14 +179,14 @@ void Pizza::CreateState() // FUNCTION: BETA10 0x100edb81 void Pizza::Start(IsleScript::Script p_objectId) { - AnimationManager()->FUN_10064740(NULL); + AnimationManager()->SpawnParentsAtHospital(NULL); m_mission = m_state->GetMission(GameState()->GetActorId()); m_state->m_state = PizzaMissionState::e_introduction; m_act1state->m_state = Act1State::e_pizza; m_mission->m_startTime = INT_MIN; g_isleFlags &= ~Isle::c_playMusic; AnimationManager()->EnableCamAnims(FALSE); - AnimationManager()->FUN_1005f6d0(FALSE); + AnimationManager()->EnableExtras(FALSE); PlayAction(p_objectId, FALSE); m_speechAction = IsleScript::c_noneIsle; } @@ -205,7 +205,7 @@ void Pizza::Reset() UserActor()->SetActorState(LegoPathActor::c_initial); g_isleFlags |= Isle::c_playMusic; AnimationManager()->EnableCamAnims(TRUE); - AnimationManager()->FUN_1005f6d0(TRUE); + AnimationManager()->EnableExtras(TRUE); m_mission->m_startTime = INT_MIN; m_mission = NULL; m_playedLocationAnimation = FALSE; @@ -241,7 +241,7 @@ MxLong Pizza::HandleClick() m_state->m_state = PizzaMissionState::e_waitAcceptingQuest; m_mission->m_startTime = Timer()->GetTime(); TickleManager()->RegisterClient(this, 200); - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); } if (m_state->m_state == PizzaMissionState::e_waitAcceptingQuest) { @@ -430,7 +430,7 @@ MxResult Pizza::Tickle() TickleManager()->UnregisterClient(this); m_mission->UpdateScore(LegoState::e_grey); m_state->m_state = PizzaMissionState::e_timeoutAcceptingQuest; - AnimationManager()->FUN_1005f6d0(TRUE); + AnimationManager()->EnableExtras(TRUE); PlayAction(m_mission->GetUnknownFinishAction(), TRUE); MxTrace("Pizza mission: timeout, declining\n"); } @@ -587,7 +587,7 @@ void Pizza::PlayAction(MxU32 p_objectId, MxBool p_param7) } AnimationManager() - ->FUN_10060dc0(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, p_param7, TRUE, TRUE); + ->StartManagedAnimation(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, p_param7, TRUE, TRUE); } // FUNCTION: LEGO1 0x10039030 diff --git a/LEGO1/lego/legoomni/src/actors/pizzeria.cpp b/LEGO1/lego/legoomni/src/actors/pizzeria.cpp index b9aa6edc..ff935d25 100644 --- a/LEGO1/lego/legoomni/src/actors/pizzeria.cpp +++ b/LEGO1/lego/legoomni/src/actors/pizzeria.cpp @@ -76,7 +76,7 @@ MxLong Pizzeria::HandleClick() } } - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); Pizza* pizza = (Pizza*) CurrentWorld()->Find(*g_isleScript, IsleScript::c_Pizza_Actor); pizza->Start((IsleScript::Script) m_pizzeriaState->NextAction()); diff --git a/LEGO1/lego/legoomni/src/actors/skateboard.cpp b/LEGO1/lego/legoomni/src/actors/skateboard.cpp index 473bd87e..c0992071 100644 --- a/LEGO1/lego/legoomni/src/actors/skateboard.cpp +++ b/LEGO1/lego/legoomni/src/actors/skateboard.cpp @@ -100,8 +100,8 @@ MxLong SkateBoard::HandleClick() EnableScenePresentation(m_pizzaVisible); Vector3 position = m_roi->GetWorldPosition(); - AnimationManager()->FUN_10064670(&position); - AnimationManager()->FUN_10064740(&position); + AnimationManager()->SpawnBricksterAtPoliceStation(&position); + AnimationManager()->SpawnParentsAtHospital(&position); return 1; } @@ -157,7 +157,7 @@ void SkateBoard::ActivateSceneActions() MxMatrix mat(UserActor()->GetROI()->GetLocal2World()); mat.TranslateBy(mat[2][0] * 2.5, mat[2][1] + 0.2, mat[2][2] * 2.5); - AnimationManager()->FUN_10060dc0( + AnimationManager()->StartManagedAnimation( IsleScript::c_sns008in_RunAnim, &mat, TRUE, diff --git a/LEGO1/lego/legoomni/src/actors/towtrack.cpp b/LEGO1/lego/legoomni/src/actors/towtrack.cpp index e8e51060..145108ea 100644 --- a/LEGO1/lego/legoomni/src/actors/towtrack.cpp +++ b/LEGO1/lego/legoomni/src/actors/towtrack.cpp @@ -218,7 +218,7 @@ MxLong TowTrack::HandleEndAction(MxEndActionNotificationParam& p_param) m_state->UpdateScore(LegoState::e_red, m_actorId); - AnimationManager()->FUN_1005f6d0(TRUE); + AnimationManager()->EnableExtras(TRUE); g_isleFlags |= Isle::c_playMusic; AnimationManager()->EnableCamAnims(TRUE); } @@ -274,7 +274,7 @@ MxLong TowTrack::HandleEndAction(MxEndActionNotificationParam& p_param) } else if (objectId == IsleScript::c_wgs098nu_RunAnim || objectId == IsleScript::c_wgs099nu_RunAnim || objectId == IsleScript::c_wgs100nu_RunAnim || objectId == IsleScript::c_wgs101nu_RunAnim || objectId == IsleScript::c_wgs102nu_RunAnim || objectId == IsleScript::c_wgs085nu_RunAnim || objectId == IsleScript::c_wgs086nu_RunAnim || objectId == IsleScript::c_wgs087nu_RunAnim || objectId == IsleScript::c_wgs088nu_RunAnim || objectId == IsleScript::c_wgs089nu_RunAnim || objectId == IsleScript::c_wgs091nu_RunAnim || objectId == IsleScript::c_wgs092nu_RunAnim || objectId == IsleScript::c_wgs093nu_RunAnim || objectId == IsleScript::c_wgs094nu_RunAnim || objectId == IsleScript::c_wgs095nu_RunAnim) { ((Act1State*) GameState()->GetState("Act1State"))->m_state = Act1State::e_none; - AnimationManager()->FUN_1005f6d0(TRUE); + AnimationManager()->EnableExtras(TRUE); g_isleFlags |= Isle::c_playMusic; AnimationManager()->EnableCamAnims(TRUE); } @@ -554,7 +554,7 @@ void TowTrack::Reset() m_state->m_state = TowTrackMissionState::e_none; g_isleFlags |= Isle::c_playMusic; AnimationManager()->EnableCamAnims(TRUE); - AnimationManager()->FUN_1005f6d0(TRUE); + AnimationManager()->EnableExtras(TRUE); m_state->m_startTime = INT_MIN; m_state->m_takingTooLong = FALSE; m_state = NULL; @@ -567,16 +567,16 @@ void TowTrack::Reset() void TowTrack::PlayFinalAnimation(IsleScript::Script p_objectId) { AnimationManager() - ->FUN_10060dc0(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, FALSE, FALSE, TRUE); + ->StartManagedAnimation(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, FALSE, FALSE, TRUE); m_lastAnimation = p_objectId; } // FUNCTION: LEGO1 0x1004dcb0 void TowTrack::PlayActorAnimation(IsleScript::Script p_objectId) { - AnimationManager()->FUN_1005f6d0(TRUE); + AnimationManager()->EnableExtras(TRUE); AnimationManager() - ->FUN_10060dc0(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk1, NULL, FALSE, TRUE, TRUE, TRUE); + ->StartManagedAnimation(p_objectId, NULL, TRUE, LegoAnimationManager::e_unk1, NULL, FALSE, TRUE, TRUE, TRUE); m_lastAnimation = p_objectId; } diff --git a/LEGO1/lego/legoomni/src/audio/lego3dsound.cpp b/LEGO1/lego/legoomni/src/audio/lego3dsound.cpp index 7d4dc478..7adfa695 100644 --- a/LEGO1/lego/legoomni/src/audio/lego3dsound.cpp +++ b/LEGO1/lego/legoomni/src/audio/lego3dsound.cpp @@ -185,7 +185,7 @@ MxU32 Lego3DSound::UpdatePosition(LPDIRECTSOUNDBUFFER p_directSoundBuffer) // FUNCTION: LEGO1 0x10011a60 // FUNCTION: BETA10 0x10039d04 -void Lego3DSound::FUN_10011a60(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char* p_name) +void Lego3DSound::AttachToSoundTarget(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char* p_name) { assert(p_directSoundBuffer); diff --git a/LEGO1/lego/legoomni/src/audio/legocachesoundmanager.cpp b/LEGO1/lego/legoomni/src/audio/legocachesoundmanager.cpp index cd235b61..de7804a7 100644 --- a/LEGO1/lego/legoomni/src/audio/legocachesoundmanager.cpp +++ b/LEGO1/lego/legoomni/src/audio/legocachesoundmanager.cpp @@ -40,7 +40,7 @@ MxResult LegoCacheSoundManager::Tickle() #endif LegoCacheSound* sound = (*setIter).GetSound(); if (sound->GetUnknown0x58()) { - sound->FUN_10006be0(); + sound->UpdatePlayback(); } } @@ -49,7 +49,7 @@ MxResult LegoCacheSoundManager::Tickle() LegoCacheSound* sound = (*listIter).GetSound(); if (sound->GetUnknown0x58()) { - sound->FUN_10006be0(); + sound->UpdatePlayback(); listIter++; } else { diff --git a/LEGO1/lego/legoomni/src/audio/legocachsound.cpp b/LEGO1/lego/legoomni/src/audio/legocachsound.cpp index 2798369b..5afa177f 100644 --- a/LEGO1/lego/legoomni/src/audio/legocachsound.cpp +++ b/LEGO1/lego/legoomni/src/audio/legocachsound.cpp @@ -153,7 +153,7 @@ MxResult LegoCacheSound::Play(const char* p_name, MxBool p_looping) } m_unk0x6a = FALSE; - m_sound.FUN_10011a60(m_dsBuffer, p_name); + m_sound.AttachToSoundTarget(m_dsBuffer, p_name); if (p_name != NULL) { m_unk0x74 = p_name; @@ -227,7 +227,7 @@ void LegoCacheSound::Stop() // FUNCTION: LEGO1 0x10006be0 // FUNCTION: BETA10 0x10066d23 -void LegoCacheSound::FUN_10006be0() +void LegoCacheSound::UpdatePlayback() { if (!m_looping) { DWORD dwStatus; @@ -280,7 +280,7 @@ void LegoCacheSound::SetDistance(MxS32 p_min, MxS32 p_max) // FUNCTION: LEGO1 0x10006cd0 // FUNCTION: BETA10 0x10066eb0 -void LegoCacheSound::FUN_10006cd0(undefined4, undefined4) +void LegoCacheSound::HandleSoundCallback(undefined4, undefined4) { } diff --git a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp index 2ef2574e..898439b0 100644 --- a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp @@ -342,7 +342,7 @@ LegoAnimationManager::~LegoAnimationManager() { TickleManager()->UnregisterClient(this); - FUN_10061010(FALSE); + StopAnimations(FALSE); for (MxS32 i = 0; i < (MxS32) sizeOfArray(m_extras); i++) { LegoROI* roi = m_extras[i].m_roi; @@ -370,7 +370,7 @@ LegoAnimationManager::~LegoAnimationManager() DeleteAnimations(); if (m_unk0x424 != NULL) { - FUN_10063aa0(); + ReleaseAllStashedActors(); delete m_unk0x424; } @@ -427,7 +427,7 @@ void LegoAnimationManager::Suspend() m_unk0x42a = m_unk0x402; m_unk0x402 = FALSE; - FUN_10061010(FALSE); + StopAnimations(FALSE); MxS32 i; for (i = 0; i < (MxS32) sizeOfArray(m_extras); i++) { @@ -544,7 +544,7 @@ void LegoAnimationManager::Init() } if (m_unk0x424 != NULL) { - FUN_10063aa0(); + ReleaseAllStashedActors(); delete m_unk0x424; } @@ -553,7 +553,7 @@ void LegoAnimationManager::Init() // FUNCTION: LEGO1 0x1005f6d0 // FUNCTION: BETA10 0x100401e7 -void LegoAnimationManager::FUN_1005f6d0(MxBool p_unk0x400) +void LegoAnimationManager::EnableExtras(MxBool p_unk0x400) { if (m_suspended) { m_unk0x429 = p_unk0x400; @@ -713,7 +713,7 @@ MxResult LegoAnimationManager::LoadWorldInfo(LegoOmni::World p_worldId) m_tranInfoList = new LegoTranInfoList(); m_tranInfoList2 = new LegoTranInfoList(); - FUN_100617c0(-1, m_unk0x0e, m_unk0x10); + GetAnimationRangeByLocation(-1, m_unk0x0e, m_unk0x10); result = SUCCESS; m_unk0x402 = TRUE; @@ -881,7 +881,7 @@ void LegoAnimationManager::DeleteAnimations() // FUNCTION: LEGO1 0x10060480 // FUNCTION: BETA10 0x100412a9 -void LegoAnimationManager::FUN_10060480(const LegoChar* p_characterNames[], MxU32 p_numCharacterNames) +void LegoAnimationManager::EnableCharactersByName(const LegoChar* p_characterNames[], MxU32 p_numCharacterNames) { for (MxS32 i = 0; i < p_numCharacterNames; i++) { for (MxS32 j = 0; j < sizeOfArray(g_characters); j++) { @@ -894,7 +894,7 @@ void LegoAnimationManager::FUN_10060480(const LegoChar* p_characterNames[], MxU3 // FUNCTION: LEGO1 0x100604d0 // FUNCTION: BETA10 0x10041335 -void LegoAnimationManager::FUN_100604d0(MxBool p_unk0x08) +void LegoAnimationManager::SetAllCharactersAnimationEnabled(MxBool p_unk0x08) { for (MxS32 i = 0; i < (MxS32) sizeOfArray(g_characters); i++) { g_characters[i].m_unk0x08 = p_unk0x08; @@ -903,7 +903,7 @@ void LegoAnimationManager::FUN_100604d0(MxBool p_unk0x08) // FUNCTION: LEGO1 0x100604f0 // FUNCTION: BETA10 0x1004137b -void LegoAnimationManager::FUN_100604f0(MxS32 p_objectIds[], MxU32 p_numObjectIds) +void LegoAnimationManager::EnableAnimationsByObjectId(MxS32 p_objectIds[], MxU32 p_numObjectIds) { for (MxS32 i = 0; i < p_numObjectIds; i++) { for (MxS32 j = 0; j < m_animCount; j++) { @@ -916,7 +916,7 @@ void LegoAnimationManager::FUN_100604f0(MxS32 p_objectIds[], MxU32 p_numObjectId // FUNCTION: LEGO1 0x10060540 // FUNCTION: BETA10 0x1004140f -void LegoAnimationManager::FUN_10060540(MxBool p_unk0x29) +void LegoAnimationManager::SetAllAnimationsEnabled(MxBool p_unk0x29) { for (MxS32 i = 0; i < m_animCount; i++) { m_anims[i].m_unk0x29 = p_unk0x29; @@ -925,7 +925,7 @@ void LegoAnimationManager::FUN_10060540(MxBool p_unk0x29) // FUNCTION: LEGO1 0x10060570 // FUNCTION: BETA10 0x10041463 -void LegoAnimationManager::FUN_10060570(MxBool p_unk0x1a) +void LegoAnimationManager::SetAutoPlayAnimations(MxBool p_unk0x1a) { m_animRunning = FALSE; m_unk0x430 = FALSE; @@ -933,7 +933,7 @@ void LegoAnimationManager::FUN_10060570(MxBool p_unk0x1a) if (m_unk0x1a != p_unk0x1a && (m_unk0x1a = p_unk0x1a)) { do { - if (FUN_100605e0(m_unk0x18, TRUE, NULL, TRUE, NULL, FALSE, TRUE, TRUE, TRUE) != FAILURE) { + if (StartAnimationByIndex(m_unk0x18, TRUE, NULL, TRUE, NULL, FALSE, TRUE, TRUE, TRUE) != FAILURE) { return; } @@ -947,7 +947,7 @@ void LegoAnimationManager::FUN_10060570(MxBool p_unk0x1a) // FUNCTION: LEGO1 0x100605e0 // FUNCTION: BETA10 0x1004152b -MxResult LegoAnimationManager::FUN_100605e0( +MxResult LegoAnimationManager::StartAnimationByIndex( MxU32 p_index, MxBool p_unk0x0a, MxMatrix* p_matrix, @@ -963,7 +963,7 @@ MxResult LegoAnimationManager::FUN_100605e0( if (m_worldId != LegoOmni::e_undefined && p_index < m_animCount && m_tranInfoList != NULL) { PurgeExtra(FALSE); - FUN_10062770(); + CacheTransitionSounds(); MxDSAction action; AnimInfo& animInfo = m_anims[p_index]; @@ -973,16 +973,16 @@ MxResult LegoAnimationManager::FUN_100605e0( return FAILURE; } - if (FUN_100623a0(animInfo)) { + if (IsAnimationBlockedByVisibleActor(animInfo)) { return FAILURE; } - if (FUN_10062710(animInfo)) { + if (IsAnimationRejectedForPlayer(animInfo)) { return FAILURE; } } - FUN_10062580(animInfo); + DetachActorsUsedByAnimation(animInfo); LegoTranInfo* tranInfo = new LegoTranInfo(); tranInfo->m_animInfo = &animInfo; @@ -1022,7 +1022,7 @@ MxResult LegoAnimationManager::FUN_100605e0( m_unk0x404 = Timer()->GetTime(); if (p_bool5) { - FUN_100648f0(tranInfo, m_unk0x404); + BeginAnimationCameraTransition(tranInfo, m_unk0x404); } else if (p_unk0x0a) { LegoPathActor* actor = UserActor(); @@ -1043,7 +1043,7 @@ MxResult LegoAnimationManager::FUN_100605e0( // FUNCTION: LEGO1 0x100609f0 // FUNCTION: BETA10 0x10041a38 -MxResult LegoAnimationManager::FUN_100609f0(MxU32 p_objectId, MxMatrix* p_matrix, MxBool p_und1, MxBool p_und2) +MxResult LegoAnimationManager::StartRawObjectAnimation(MxU32 p_objectId, MxMatrix* p_matrix, MxBool p_und1, MxBool p_und2) { MxResult result = FAILURE; MxDSAction action; @@ -1063,7 +1063,7 @@ MxResult LegoAnimationManager::FUN_100609f0(MxU32 p_objectId, MxMatrix* p_matrix info->m_unk0x0c = new MxMatrix(*p_matrix); } - FUN_10062770(); + CacheTransitionSounds(); info->m_unk0x1c = m_unk0x28; info->m_unk0x20 = m_unk0x30; @@ -1134,7 +1134,7 @@ MxResult LegoAnimationManager::StartEntityAction(MxDSAction& p_dsAction, LegoEnt // FUNCTION: LEGO1 0x10060dc0 // FUNCTION: BETA10 0x10041f2c -MxResult LegoAnimationManager::FUN_10060dc0( +MxResult LegoAnimationManager::StartManagedAnimation( MxU32 p_objectId, MxMatrix* p_matrix, MxBool p_param3, @@ -1170,13 +1170,13 @@ MxResult LegoAnimationManager::FUN_10060dc0( break; } - result = FUN_100605e0(i, unk0x0a, p_matrix, p_param3, p_roi, p_param6, p_param7, p_param8, p_param9); + result = StartAnimationByIndex(i, unk0x0a, p_matrix, p_param3, p_roi, p_param6, p_param7, p_param8, p_param9); break; } } if (!found && p_param3 != FALSE) { - result = FUN_100609f0(p_objectId, p_matrix, p_param7, p_param8); + result = StartRawObjectAnimation(p_objectId, p_matrix, p_param7, p_param8); } return result; @@ -1200,7 +1200,7 @@ void LegoAnimationManager::CameraTriggerFire(LegoPathActor* p_actor, MxBool, MxU } MxU16 unk0x0e, unk0x10; - if (FUN_100617c0(p_location, unk0x0e, unk0x10) == SUCCESS) { + if (GetAnimationRangeByLocation(p_location, unk0x0e, unk0x10) == SUCCESS) { MxU16 index = unk0x0e; MxU32 unk0x22 = -1; MxBool success = FALSE; @@ -1208,7 +1208,7 @@ void LegoAnimationManager::CameraTriggerFire(LegoPathActor* p_actor, MxBool, MxU for (MxU16 i = unk0x0e; i <= unk0x10; i++) { AnimInfo& animInfo = m_anims[i]; - if ((p_bool || !FUN_100623a0(animInfo)) && !FUN_10062710(animInfo) && animInfo.m_unk0x29 && + if ((p_bool || !IsAnimationBlockedByVisibleActor(animInfo)) && !IsAnimationRejectedForPlayer(animInfo) && animInfo.m_unk0x29 && animInfo.m_unk0x22 < unk0x22 && (animInfo.m_unk0x22 == 0 || *animInfo.m_name != 'i') && *animInfo.m_name != 'I') { index = i; @@ -1218,7 +1218,7 @@ void LegoAnimationManager::CameraTriggerFire(LegoPathActor* p_actor, MxBool, MxU } if (success) { - FUN_100605e0(index, m_anims[index].m_unk0x0a, NULL, TRUE, NULL, FALSE, TRUE, TRUE, TRUE); + StartAnimationByIndex(index, m_anims[index].m_unk0x0a, NULL, TRUE, NULL, FALSE, TRUE, TRUE, TRUE); location->m_unk0x5c = TRUE; } } @@ -1227,9 +1227,9 @@ void LegoAnimationManager::CameraTriggerFire(LegoPathActor* p_actor, MxBool, MxU #ifdef BETA10 // FUNCTION: BETA10 0x100422cc -void LegoAnimationManager::FUN_10061010(MxBool p_und) +void LegoAnimationManager::StopAnimations(MxBool p_und) { - FUN_10064b50(-1); + UpdateAnimationCameraTransition(-1); if (m_tranInfoList != NULL) { LegoTranInfoListCursor cursor(m_tranInfoList); @@ -1240,7 +1240,7 @@ void LegoAnimationManager::FUN_10061010(MxBool p_und) MxTrace("Releasing user from %d\n", tranInfo->m_objectId); if (tranInfo->m_presenter != NULL) { - tranInfo->m_presenter->FUN_1004b8c0(); + tranInfo->m_presenter->ReleaseUserActor(); } tranInfo->m_unk0x14 = FALSE; @@ -1249,7 +1249,7 @@ void LegoAnimationManager::FUN_10061010(MxBool p_und) MxTrace("Stopping %d\n", tranInfo->m_objectId); if (tranInfo->m_presenter != NULL) { - tranInfo->m_presenter->FUN_1004b840(); + tranInfo->m_presenter->StopAndFinishAnimation(); } } } @@ -1260,10 +1260,10 @@ void LegoAnimationManager::FUN_10061010(MxBool p_und) } #else // FUNCTION: LEGO1 0x10061010 -void LegoAnimationManager::FUN_10061010(MxBool p_und) +void LegoAnimationManager::StopAnimations(MxBool p_und) { MxBool animRunning = FALSE; - FUN_10064b50(-1); + UpdateAnimationCameraTransition(-1); if (m_tranInfoList != NULL) { LegoTranInfoListCursor cursor(m_tranInfoList); @@ -1281,13 +1281,13 @@ void LegoAnimationManager::FUN_10061010(MxBool p_und) tranInfo->m_flags &= ~LegoTranInfo::c_bit2; } - tranInfo->m_presenter->FUN_1004b840(); + tranInfo->m_presenter->StopAndFinishAnimation(); tranInfo->m_unk0x14 = FALSE; } else { MxTrace("Releasing user from %d\n", tranInfo->m_objectId); // LINE: LEGO1 0x10061137 - tranInfo->m_presenter->FUN_1004b8c0(); + tranInfo->m_presenter->ReleaseUserActor(); animRunning = TRUE; tranInfo->m_unk0x14 = FALSE; } @@ -1300,7 +1300,7 @@ void LegoAnimationManager::FUN_10061010(MxBool p_und) } MxTrace("Stopping %d\n", tranInfo->m_objectId); - tranInfo->m_presenter->FUN_1004b840(); + tranInfo->m_presenter->StopAndFinishAnimation(); } } else { @@ -1324,7 +1324,7 @@ void LegoAnimationManager::FUN_10061010(MxBool p_und) #endif // FUNCTION: LEGO1 0x10061530 -void LegoAnimationManager::FUN_10061530() +void LegoAnimationManager::StopDeferredAnimations() { if (m_tranInfoList2 != NULL) { LegoTranInfoListCursor cursor(m_tranInfoList2); @@ -1340,7 +1340,7 @@ void LegoAnimationManager::FUN_10061530() tranInfo->m_flags &= ~LegoTranInfo::c_bit2; } - tranInfo->m_presenter->FUN_1004b840(); + tranInfo->m_presenter->StopAndFinishAnimation(); cursor.Detach(); } } @@ -1353,7 +1353,7 @@ void LegoAnimationManager::FUN_10061530() // FUNCTION: LEGO1 0x100617c0 // FUNCTION: BETA10 0x1004240b -MxResult LegoAnimationManager::FUN_100617c0(MxS32 p_location, MxU16& p_unk0x0e, MxU16& p_unk0x10) +MxResult LegoAnimationManager::GetAnimationRangeByLocation(MxS32 p_location, MxU16& p_unk0x0e, MxU16& p_unk0x10) { MxResult result = FAILURE; MxU16 unk0x0e = 0; @@ -1428,7 +1428,7 @@ MxLong LegoAnimationManager::Notify(MxParam& p_param) { if (((MxNotificationParam&) p_param).GetSender() == this) { if (((MxNotificationParam&) p_param).GetNotification() == c_notificationEndAnim) { - FUN_100605e0(m_unk0x18, TRUE, NULL, TRUE, NULL, FALSE, TRUE, TRUE, TRUE); + StartAnimationByIndex(m_unk0x18, TRUE, NULL, TRUE, NULL, FALSE, TRUE, TRUE, TRUE); } } else if (((MxNotificationParam&) p_param).GetNotification() == c_notificationEndAnim && m_tranInfoList != NULL) { @@ -1441,7 +1441,7 @@ MxLong LegoAnimationManager::Notify(MxParam& p_param) while (cursor.Next(tranInfo)) { if (tranInfo->m_index == index) { if (m_unk0x430 && m_unk0x42c == tranInfo) { - FUN_10064b50(-1); + UpdateAnimationCameraTransition(-1); } if (tranInfo->m_flags & LegoTranInfo::c_bit2) { @@ -1490,7 +1490,7 @@ MxLong LegoAnimationManager::Notify(MxParam& p_param) // FUNCTION: BETA10 0x1004293c MxResult LegoAnimationManager::Tickle() { - FUN_10061530(); + StopDeferredAnimations(); if (!m_unk0x402) { return SUCCESS; @@ -1546,7 +1546,7 @@ MxResult LegoAnimationManager::Tickle() MxLong time = Timer()->GetTime(); float speed = actor->GetWorldSpeed(); - FUN_10064b50(time); + UpdateAnimationCameraTransition(time); if (!m_animRunning && time - m_unk0x404 > 10000 && speed < g_unk0x100f74b0[0][0] && speed > g_unk0x100f74b0[5][0]) { LegoPathBoundary* boundary = actor->GetBoundary(); @@ -1565,13 +1565,13 @@ MxResult LegoAnimationManager::Tickle() LegoROI* roi = m_extras[i].m_roi; if (roi != NULL) { - MxU16 result = FUN_10062110(roi, direction, position, boundary, speed, unk0x0c, m_extras[i].m_unk0x14); + MxU16 result = FindAmbientAnimationForExtra(roi, direction, position, boundary, speed, unk0x0c, m_extras[i].m_unk0x14); if (result) { MxMatrix mat; mat = roi->GetLocal2World(); - if (FUN_100605e0(result & USHRT_MAX, FALSE, &mat, TRUE, roi, FALSE, TRUE, TRUE, TRUE) == SUCCESS) { + if (StartAnimationByIndex(result & USHRT_MAX, FALSE, &mat, TRUE, roi, FALSE, TRUE, TRUE, TRUE) == SUCCESS) { m_unk0x404 = time; return SUCCESS; } @@ -1581,7 +1581,7 @@ MxResult LegoAnimationManager::Tickle() } if (time - m_unk0x40c > 1000) { - FUN_10063d10(); + UpdateExtraActorSpeeds(); m_unk0x40c = time; } @@ -1614,7 +1614,7 @@ MxResult LegoAnimationManager::Tickle() // FUNCTION: LEGO1 0x10062110 // FUNCTION: BETA10 0x10042f41 -MxU16 LegoAnimationManager::FUN_10062110( +MxU16 LegoAnimationManager::FindAmbientAnimationForExtra( LegoROI* p_roi, Vector3& p_direction, Vector3& p_position, @@ -1706,7 +1706,7 @@ MxS8 LegoAnimationManager::GetCharacterIndex(const char* p_name) // FUNCTION: LEGO1 0x100623a0 // FUNCTION: BETA10 0x10043342 -MxBool LegoAnimationManager::FUN_100623a0(AnimInfo& p_info) +MxBool LegoAnimationManager::IsAnimationBlockedByVisibleActor(AnimInfo& p_info) { LegoWorld* world = CurrentWorld(); @@ -1725,7 +1725,7 @@ MxBool LegoAnimationManager::FUN_100623a0(AnimInfo& p_info) if (entity != actor && entity->IsA("LegoPathActor")) { LegoROI* roi = entity->GetROI(); - if (roi->GetVisibility() && FUN_10062650(position, und, roi)) { + if (roi->GetVisibility() && IsROIWithinSphere(position, und, roi)) { if (!ModelExists(p_info, roi->GetName())) { return TRUE; } @@ -1758,7 +1758,7 @@ MxBool LegoAnimationManager::ModelExists(AnimInfo& p_info, const char* p_name) // FUNCTION: LEGO1 0x10062580 // FUNCTION: BETA10 0x10043552 -void LegoAnimationManager::FUN_10062580(AnimInfo& p_info) +void LegoAnimationManager::DetachActorsUsedByAnimation(AnimInfo& p_info) { ModelInfo* models = p_info.m_models; MxU8 modelCount = p_info.m_modelCount; @@ -1794,7 +1794,7 @@ void LegoAnimationManager::FUN_10062580(AnimInfo& p_info) // FUNCTION: LEGO1 0x10062650 // FUNCTION: BETA10 0x100436e2 -MxBool LegoAnimationManager::FUN_10062650(Mx3DPointFloat& p_position, float p_und, LegoROI* p_roi) +MxBool LegoAnimationManager::IsROIWithinSphere(Mx3DPointFloat& p_position, float p_und, LegoROI* p_roi) { if (p_roi != NULL) { Mx3DPointFloat position(p_position); @@ -1816,7 +1816,7 @@ MxBool LegoAnimationManager::FUN_10062650(Mx3DPointFloat& p_position, float p_un // FUNCTION: LEGO1 0x10062710 // FUNCTION: BETA10 0x10043787 -MxBool LegoAnimationManager::FUN_10062710(AnimInfo& p_info) +MxBool LegoAnimationManager::IsAnimationRejectedForPlayer(AnimInfo& p_info) { MxU8 und = 0; MxU8 actorId = GameState()->GetActorId(); @@ -1838,7 +1838,7 @@ MxBool LegoAnimationManager::FUN_10062710(AnimInfo& p_info) // FUNCTION: LEGO1 0x10062770 // FUNCTION: BETA10 0x1004381a -void LegoAnimationManager::FUN_10062770() +void LegoAnimationManager::CacheTransitionSounds() { if (!m_unk0x38) { LegoWorld* world = CurrentWorld(); @@ -1948,7 +1948,7 @@ void LegoAnimationManager::AddExtra(MxS32 p_location, MxBool p_und) if (p_location < 0) { boundary = new LegoLocation::Boundary; - if (!FUN_10064120(boundary, pathWalkingMode == 2, bool2)) { + if (!FindRandomSpawnBoundary(boundary, pathWalkingMode == 2, bool2)) { delete boundary; boundary = NULL; } @@ -1957,10 +1957,10 @@ void LegoAnimationManager::AddExtra(MxS32 p_location, MxBool p_und) LegoLocation* location = LegoNavController::GetLocation(p_location); if (location != NULL) { - if (location->m_boundaryA.m_unk0x10 || FUN_10063fb0(&location->m_boundaryA, world)) { + if (location->m_boundaryA.m_unk0x10 || IsLocationBoundarySpawnable(&location->m_boundaryA, world)) { boundary = &location->m_boundaryA; } - else if (location->m_boundaryB.m_unk0x10 || FUN_10063fb0(&location->m_boundaryB, world)) { + else if (location->m_boundaryB.m_unk0x10 || IsLocationBoundarySpawnable(&location->m_boundaryB, world)) { boundary = &location->m_boundaryB; } } @@ -2032,7 +2032,7 @@ void LegoAnimationManager::AddExtra(MxS32 p_location, MxBool p_und) rand() % 100 < g_characters[m_lastExtraCharacterId].m_unk0x15; } - if (FUN_10063b90( + if (BuildExtraActorCycles( world, actor, CharacterManager()->GetMood(m_extras[i].m_roi), @@ -2093,7 +2093,7 @@ void LegoAnimationManager::AddExtra(MxS32 p_location, MxBool p_und) // FUNCTION: LEGO1 0x10062e20 // FUNCTION: BETA10 0x100444cb -MxBool LegoAnimationManager::FUN_10062e20(LegoROI* p_roi, LegoAnimPresenter* p_presenter) +MxBool LegoAnimationManager::PromoteROIToExtraActor(LegoROI* p_roi, LegoAnimPresenter* p_presenter) { LegoWorld* world = CurrentWorld(); @@ -2213,7 +2213,7 @@ MxBool LegoAnimationManager::FUN_10062e20(LegoROI* p_roi, LegoAnimPresenter* p_p actor->ClearMaps(); } - if (FUN_10063b90(world, actor, CharacterManager()->GetMood(p_roi), characterId)) { + if (BuildExtraActorCycles(world, actor, CharacterManager()->GetMood(p_roi), characterId)) { m_extras[i].m_unk0x14 = TRUE; } else { @@ -2250,7 +2250,7 @@ MxBool LegoAnimationManager::FUN_10062e20(LegoROI* p_roi, LegoAnimPresenter* p_p // FUNCTION: LEGO1 0x10063270 // FUNCTION: BETA10 0x10044b9a -void LegoAnimationManager::FUN_10063270(LegoROIList* p_list, LegoAnimPresenter* p_presenter) +void LegoAnimationManager::ClaimExtraActorsFromPresenterList(LegoROIList* p_list, LegoAnimPresenter* p_presenter) { if (p_list != NULL) { LegoWorld* world = CurrentWorld(); @@ -2273,9 +2273,9 @@ void LegoAnimationManager::FUN_10063270(LegoROIList* p_list, LegoAnimPresenter* LegoROIListCursor cursor(p_list); while (cursor.Next(roi)) { - if (roi->GetVisibility() && FUN_10062e20(roi, p_presenter)) { + if (roi->GetVisibility() && PromoteROIToExtraActor(roi, p_presenter)) { cursor.Detach(); - FUN_10063950(roi); + ReleaseStashedActor(roi); } else { LegoExtraActor* actor = CharacterManager()->GetExtraActor(roi->GetName()); @@ -2315,7 +2315,7 @@ void LegoAnimationManager::FUN_10063270(LegoROIList* p_list, LegoAnimPresenter* } } - FUN_10063e40(p_presenter); + FlushStashedActorsToWorld(p_presenter); for (i = 0; i < sizeOfArray(g_vehicles); i++) { if (!g_vehicles[i].m_unk0x05) { @@ -2330,7 +2330,7 @@ void LegoAnimationManager::FUN_10063270(LegoROIList* p_list, LegoAnimPresenter* } // FUNCTION: LEGO1 0x10063780 -void LegoAnimationManager::FUN_10063780(LegoROIList* p_list) +void LegoAnimationManager::StashPresenterActors(LegoROIList* p_list) { if (p_list != NULL && m_unk0x424 != NULL) { LegoROIListCursor cursor(p_list); @@ -2348,7 +2348,7 @@ void LegoAnimationManager::FUN_10063780(LegoROIList* p_list) } // FUNCTION: LEGO1 0x10063950 -void LegoAnimationManager::FUN_10063950(LegoROI* p_roi) +void LegoAnimationManager::ReleaseStashedActor(LegoROI* p_roi) { if (m_unk0x424 != NULL) { LegoROIListCursor cursor(m_unk0x424); @@ -2361,7 +2361,7 @@ void LegoAnimationManager::FUN_10063950(LegoROI* p_roi) } // FUNCTION: LEGO1 0x10063aa0 -void LegoAnimationManager::FUN_10063aa0() +void LegoAnimationManager::ReleaseAllStashedActors() { LegoROIListCursor cursor(m_unk0x424); LegoROI* roi; @@ -2373,7 +2373,7 @@ void LegoAnimationManager::FUN_10063aa0() // FUNCTION: LEGO1 0x10063b90 // FUNCTION: BETA10 0x10044d46 -MxBool LegoAnimationManager::FUN_10063b90(LegoWorld* p_world, LegoExtraActor* p_actor, MxU8 p_mood, MxU32 p_characterId) +MxBool LegoAnimationManager::BuildExtraActorCycles(LegoWorld* p_world, LegoExtraActor* p_actor, MxU8 p_mood, MxU32 p_characterId) { const char** cycles = g_cycles[g_characters[p_characterId].m_unk0x16]; const char* vehicleWC; @@ -2433,7 +2433,7 @@ MxBool LegoAnimationManager::FUN_10063b90(LegoWorld* p_world, LegoExtraActor* p_ // FUNCTION: LEGO1 0x10063d10 // FUNCTION: BETA10 0x10045034 -void LegoAnimationManager::FUN_10063d10() +void LegoAnimationManager::UpdateExtraActorSpeeds() { if (CurrentWorld() != NULL) { MxLong time = Timer()->GetTime(); @@ -2475,14 +2475,14 @@ void LegoAnimationManager::FUN_10063d10() } // FUNCTION: LEGO1 0x10063e40 -void LegoAnimationManager::FUN_10063e40(LegoAnimPresenter* p_presenter) +void LegoAnimationManager::FlushStashedActorsToWorld(LegoAnimPresenter* p_presenter) { if (m_unk0x424 != NULL) { LegoROIListCursor cursor(m_unk0x424); LegoROI* roi; while (cursor.Next(roi)) { - if (!FUN_10062e20(roi, p_presenter)) { + if (!PromoteROIToExtraActor(roi, p_presenter)) { CharacterManager()->ReleaseActor(roi); } @@ -2493,13 +2493,13 @@ void LegoAnimationManager::FUN_10063e40(LegoAnimPresenter* p_presenter) // FUNCTION: LEGO1 0x10063fb0 // FUNCTION: BETA10 0x100452a7 -MxBool LegoAnimationManager::FUN_10063fb0(LegoLocation::Boundary* p_boundary, LegoWorld* p_world) +MxBool LegoAnimationManager::IsLocationBoundarySpawnable(LegoLocation::Boundary* p_boundary, LegoWorld* p_world) { if (p_boundary->m_name != NULL) { Mx3DPointFloat vec; LegoPathBoundary* boundary = p_world->FindPathBoundary(p_boundary->m_name); LegoOrientedEdge* pSrcE = (LegoOrientedEdge*) boundary->GetEdges()[p_boundary->m_src]; - return FUN_10064010(boundary, pSrcE, p_boundary->m_srcScale); + return IsEdgeSpawnPointOffscreen(boundary, pSrcE, p_boundary->m_srcScale); } return FALSE; @@ -2507,7 +2507,7 @@ MxBool LegoAnimationManager::FUN_10063fb0(LegoLocation::Boundary* p_boundary, Le // FUNCTION: LEGO1 0x10064010 // FUNCTION: BETA10 0x100453a5 -MxBool LegoAnimationManager::FUN_10064010(LegoPathBoundary* p_boundary, LegoOrientedEdge* p_edge, float p_destScale) +MxBool LegoAnimationManager::IsEdgeSpawnPointOffscreen(LegoPathBoundary* p_boundary, LegoOrientedEdge* p_edge, float p_destScale) { Mx3DPointFloat p1; Vector3* v1 = p_edge->CWVertex(*p_boundary); @@ -2537,7 +2537,7 @@ MxBool LegoAnimationManager::FUN_10064010(LegoPathBoundary* p_boundary, LegoOrie // FUNCTION: LEGO1 0x10064120 // FUNCTION: BETA10 0x100454f5 -MxBool LegoAnimationManager::FUN_10064120(LegoLocation::Boundary* p_boundary, MxBool p_bool1, MxBool p_bool2) +MxBool LegoAnimationManager::FindRandomSpawnBoundary(LegoLocation::Boundary* p_boundary, MxBool p_bool1, MxBool p_bool2) { MxU32 local2c = 12; float destScale = ((rand() * 0.5) / RAND_MAX) + 0.25; @@ -2589,8 +2589,8 @@ MxBool LegoAnimationManager::FUN_10064120(LegoLocation::Boundary* p_boundary, Mx while (local2c--) { if (local34 != NULL) { - if (local34->BETA_1004a830(*boundary, LegoWEGEdge::c_bit1) && FUN_10064010(boundary, local34, destScale) && - (!p_bool2 || FUN_10064010(boundary, local8, destScale))) { + if (local34->BETA_1004a830(*boundary, LegoWEGEdge::c_bit1) && IsEdgeSpawnPointOffscreen(boundary, local34, destScale) && + (!p_bool2 || IsEdgeSpawnPointOffscreen(boundary, local8, destScale))) { p_boundary->m_srcScale = p_boundary->m_destScale = destScale; p_boundary->m_name = boundary->GetName(); numEdges = boundary->GetNumEdges(); @@ -2633,7 +2633,7 @@ MxBool LegoAnimationManager::FUN_10064120(LegoLocation::Boundary* p_boundary, Mx // FUNCTION: LEGO1 0x10064380 // FUNCTION: BETA10 0x1004583a -MxResult LegoAnimationManager::FUN_10064380( +MxResult LegoAnimationManager::PlaceNamedExtraActor( const char* p_name, const char* p_boundaryName, MxS32 p_src, @@ -2734,7 +2734,7 @@ MxResult LegoAnimationManager::FUN_10064380( } // FUNCTION: LEGO1 0x10064670 -MxResult LegoAnimationManager::FUN_10064670(Vector3* p_position) +MxResult LegoAnimationManager::SpawnBricksterAtPoliceStation(Vector3* p_position) { MxBool success = FALSE; @@ -2751,14 +2751,14 @@ MxResult LegoAnimationManager::FUN_10064670(Vector3* p_position) } if (success) { - return FUN_10064380("brickstr", "EDG02_95", 1, 0.5f, 3, 0.5f, rand() % 3 + 14, -1, rand() % 3, -1, 0.5f); + return PlaceNamedExtraActor("brickstr", "EDG02_95", 1, 0.5f, 3, 0.5f, rand() % 3 + 14, -1, rand() % 3, -1, 0.5f); } return FAILURE; } // FUNCTION: LEGO1 0x10064740 -MxResult LegoAnimationManager::FUN_10064740(Vector3* p_position) +MxResult LegoAnimationManager::SpawnParentsAtHospital(Vector3* p_position) { MxBool success = FALSE; @@ -2776,11 +2776,11 @@ MxResult LegoAnimationManager::FUN_10064740(Vector3* p_position) if (success) { if (GameState()->GetActorId() != LegoActor::c_mama) { - FUN_10064380("mama", "USR00_47", 1, 0.43f, 3, 0.84f, rand() % 3 + 13, -1, rand() % 3, -1, 0.7f); + PlaceNamedExtraActor("mama", "USR00_47", 1, 0.43f, 3, 0.84f, rand() % 3 + 13, -1, rand() % 3, -1, 0.7f); } if (GameState()->GetActorId() != LegoActor::c_papa) { - FUN_10064380("papa", "USR00_193", 3, 0.55f, 1, 0.4f, rand() % 3 + 13, -1, rand() % 3, -1, 0.9f); + PlaceNamedExtraActor("papa", "USR00_193", 3, 0.55f, 1, 0.4f, rand() % 3 + 13, -1, rand() % 3, -1, 0.9f); } return SUCCESS; @@ -2791,7 +2791,7 @@ MxResult LegoAnimationManager::FUN_10064740(Vector3* p_position) // FUNCTION: LEGO1 0x10064880 // FUNCTION: BETA10 0x10045d02 -MxResult LegoAnimationManager::FUN_10064880(const char* p_name, MxS32 p_unk0x0c, MxS32 p_unk0x10) +MxResult LegoAnimationManager::SetExtraActorTiming(const char* p_name, MxS32 p_unk0x0c, MxS32 p_unk0x10) { for (MxS32 i = 0; i < (MxS32) sizeOfArray(m_extras); i++) { LegoROI* roi = m_extras[i].m_roi; @@ -2810,7 +2810,7 @@ MxResult LegoAnimationManager::FUN_10064880(const char* p_name, MxS32 p_unk0x0c, // FUNCTION: LEGO1 0x100648f0 // FUNCTION: BETA10 0x10045daf -void LegoAnimationManager::FUN_100648f0(LegoTranInfo* p_tranInfo, MxLong p_unk0x404) +void LegoAnimationManager::BeginAnimationCameraTransition(LegoTranInfo* p_tranInfo, MxLong p_unk0x404) { if ( #ifndef BETA10 @@ -2854,7 +2854,7 @@ void LegoAnimationManager::FUN_100648f0(LegoTranInfo* p_tranInfo, MxLong p_unk0x // FUNCTION: LEGO1 0x10064b50 // FUNCTION: BETA10 0x10045f14 -void LegoAnimationManager::FUN_10064b50(MxLong p_time) +void LegoAnimationManager::UpdateAnimationCameraTransition(MxLong p_time) { if (m_unk0x430 && m_unk0x42c != NULL) { MxMatrix mat; @@ -2893,7 +2893,7 @@ void LegoAnimationManager::FUN_10064b50(MxLong p_time) } // FUNCTION: LEGO1 0x10064ee0 -MxBool LegoAnimationManager::FUN_10064ee0(MxU32 p_objectId) +MxBool LegoAnimationManager::IsAnimationFinished(MxU32 p_objectId) { if (m_tranInfoList != NULL) { LegoTranInfoListCursor cursor(m_tranInfoList); @@ -2902,7 +2902,7 @@ MxBool LegoAnimationManager::FUN_10064ee0(MxU32 p_objectId) while (cursor.Next(tranInfo)) { if (tranInfo->m_animInfo->m_objectId == p_objectId) { if (tranInfo->m_presenter) { - return tranInfo->m_presenter->FUN_1004b830(); + return tranInfo->m_presenter->HasPassedPresenterStart(); } else { return FALSE; diff --git a/LEGO1/lego/legoomni/src/common/legoanimmmpresenter.cpp b/LEGO1/lego/legoomni/src/common/legoanimmmpresenter.cpp index 3512727e..2349dd04 100644 --- a/LEGO1/lego/legoomni/src/common/legoanimmmpresenter.cpp +++ b/LEGO1/lego/legoomni/src/common/legoanimmmpresenter.cpp @@ -180,7 +180,7 @@ void LegoAnimMMPresenter::StartingTickle() // FUNCTION: BETA10 0x1004c372 void LegoAnimMMPresenter::StreamingTickle() { - if (FUN_1004b450()) { + if (RunStartupSequence()) { ProgressTickleState(e_repeating); } } @@ -262,49 +262,49 @@ void LegoAnimMMPresenter::ParseExtra() // FUNCTION: LEGO1 0x1004b450 // FUNCTION: BETA10 0x1004c71d -MxBool LegoAnimMMPresenter::FUN_1004b450() +MxBool LegoAnimMMPresenter::RunStartupSequence() { MxBool result = FALSE; MxLong time = Timer()->GetTime() - m_unk0x50; switch (m_unk0x58) { case e_unk0: - if (!FUN_1004b530(time)) { + if (!CaptureAnimationState(time)) { break; } m_unk0x58 = e_unk1; case e_unk1: - if (!FUN_1004b570(time)) { + if (!WaitForPreRoll(time)) { break; } m_unk0x58 = e_unk2; case e_unk2: - if (!FUN_1004b580(time)) { + if (!WaitForTransitionSound(time)) { break; } m_unk0x58 = e_unk3; case e_unk3: - if (!FUN_1004b5b0(time)) { + if (!RestoreInitialTransforms(time)) { break; } m_unk0x58 = e_unk4; case e_unk4: - if (!FUN_1004b600(time)) { + if (!PreparePresentersForStart(time)) { break; } m_unk0x58 = e_unk5; case e_unk5: - if (!FUN_1004b610(time)) { + if (!StartChildPresenters(time)) { break; } m_unk0x58 = e_unk6; case e_unk6: - if (!FUN_1004b6b0(time)) { + if (!WaitForAnimationPresenterIdle(time)) { break; } m_unk0x58 = e_unk7; case e_unk7: - FUN_1004b6d0(time); + RestoreUserActorAfterAnimation(time); result = TRUE; } @@ -313,7 +313,7 @@ MxBool LegoAnimMMPresenter::FUN_1004b450() // FUNCTION: LEGO1 0x1004b530 // FUNCTION: BETA10 0x1004c8c4 -MxBool LegoAnimMMPresenter::FUN_1004b530(MxLong p_time) +MxBool LegoAnimMMPresenter::CaptureAnimationState(MxLong p_time) { if (m_presenter != NULL) { m_presenter->GetTransforms(m_unk0x68, 0); @@ -326,14 +326,14 @@ MxBool LegoAnimMMPresenter::FUN_1004b530(MxLong p_time) // FUNCTION: LEGO1 0x1004b570 // FUNCTION: BETA10 0x1004c9cc -MxBool LegoAnimMMPresenter::FUN_1004b570(MxLong p_time) +MxBool LegoAnimMMPresenter::WaitForPreRoll(MxLong p_time) { return TRUE; } // FUNCTION: LEGO1 0x1004b580 // FUNCTION: BETA10 0x1004ca3f -MxBool LegoAnimMMPresenter::FUN_1004b580(MxLong p_time) +MxBool LegoAnimMMPresenter::WaitForTransitionSound(MxLong p_time) { switch (m_unk0x59) { case 0: @@ -355,7 +355,7 @@ MxBool LegoAnimMMPresenter::FUN_1004b580(MxLong p_time) // FUNCTION: LEGO1 0x1004b5b0 // FUNCTION: BETA10 0x1004cb09 -MxBool LegoAnimMMPresenter::FUN_1004b5b0(MxLong p_time) +MxBool LegoAnimMMPresenter::RestoreInitialTransforms(MxLong p_time) { switch (m_unk0x59) { case 0: @@ -382,14 +382,14 @@ MxBool LegoAnimMMPresenter::FUN_1004b5b0(MxLong p_time) // FUNCTION: LEGO1 0x1004b600 // FUNCTION: BETA10 0x1004cbfb -MxBool LegoAnimMMPresenter::FUN_1004b600(MxLong p_time) +MxBool LegoAnimMMPresenter::PreparePresentersForStart(MxLong p_time) { return TRUE; } // FUNCTION: LEGO1 0x1004b610 // FUNCTION: BETA10 0x1004cc6e -MxBool LegoAnimMMPresenter::FUN_1004b610(MxLong p_time) +MxBool LegoAnimMMPresenter::StartChildPresenters(MxLong p_time) { for (MxCompositePresenterList::iterator it = m_list.begin(); it != m_list.end(); it++) { if ((*it)->IsA("LegoAnimPresenter") || (*it)->IsA("LegoLoopingAnimPresenter")) { @@ -411,7 +411,7 @@ MxBool LegoAnimMMPresenter::FUN_1004b610(MxLong p_time) // FUNCTION: LEGO1 0x1004b6b0 // FUNCTION: BETA10 0x1004cdc5 -MxBool LegoAnimMMPresenter::FUN_1004b6b0(MxLong p_time) +MxBool LegoAnimMMPresenter::WaitForAnimationPresenterIdle(MxLong p_time) { if (m_presenter != NULL && m_presenter->GetCurrentTickleState() != e_idle) { return FALSE; @@ -423,7 +423,7 @@ MxBool LegoAnimMMPresenter::FUN_1004b6b0(MxLong p_time) // FUNCTION: LEGO1 0x1004b6d0 // FUNCTION: BETA10 0x1004ce18 -MxBool LegoAnimMMPresenter::FUN_1004b6d0(MxLong p_time) +MxBool LegoAnimMMPresenter::RestoreUserActorAfterAnimation(MxLong p_time) { #ifdef BETA10 switch (m_unk0x58) { @@ -486,14 +486,14 @@ MxBool LegoAnimMMPresenter::FUN_1004b6d0(MxLong p_time) } // FUNCTION: LEGO1 0x1004b830 -MxBool LegoAnimMMPresenter::FUN_1004b830() +MxBool LegoAnimMMPresenter::HasPassedPresenterStart() { return m_unk0x58 >= e_unk6; } // FUNCTION: LEGO1 0x1004b840 // FUNCTION: BETA10 0x1004d033 -void LegoAnimMMPresenter::FUN_1004b840() +void LegoAnimMMPresenter::StopAndFinishAnimation() { MxDSAction* action = m_action; @@ -507,26 +507,26 @@ void LegoAnimMMPresenter::FUN_1004b840() } } - FUN_1004b6d0(0); + RestoreUserActorAfterAnimation(0); EndAction(); #ifndef BETA10 if (action != NULL) { - Streamer()->FUN_100b98f0(action); + Streamer()->StopDiskAction(action); } #endif } // FUNCTION: LEGO1 0x1004b8b0 // FUNCTION: BETA10 0x1004d104 -MxBool LegoAnimMMPresenter::FUN_1004b8b0() +MxBool LegoAnimMMPresenter::UsesLocalActors() { return m_tranInfo != NULL ? m_tranInfo->m_unk0x28 : TRUE; } // FUNCTION: LEGO1 0x1004b8c0 // FUNCTION: BETA10 0x1004d13d -void LegoAnimMMPresenter::FUN_1004b8c0() +void LegoAnimMMPresenter::ReleaseUserActor() { - FUN_1004b6d0(0); + RestoreUserActorAfterAnimation(0); } diff --git a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp index 496bf844..27d5fb5d 100644 --- a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp @@ -1084,7 +1084,7 @@ MxResult LegoCharacterManager::UpdateBoundingSphereAndBox(LegoROI* p_roi) } // FUNCTION: LEGO1 0x10085a80 -LegoROI* LegoCharacterManager::FUN_10085a80(const char* p_name, const char* p_lodName, MxBool p_createEntity) +LegoROI* LegoCharacterManager::CreateAutoROIWrapper(const char* p_name, const char* p_lodName, MxBool p_createEntity) { return CreateAutoROI(p_name, p_lodName, p_createEntity); } diff --git a/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp b/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp index 1a873331..9e8ba621 100644 --- a/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp @@ -127,7 +127,7 @@ void LegoPlantManager::Reset(LegoOmni::World p_worldId) // FUNCTION: BETA10 0x100c50e9 MxResult LegoPlantManager::DetermineBoundaries() { - // similar to LegoBuildingManager::FUN_10030630() + // similar to LegoBuildingManager::DetermineBoundaries() LegoWorld* world = CurrentWorld(); diff --git a/LEGO1/lego/legoomni/src/common/legoutils.cpp b/LEGO1/lego/legoomni/src/common/legoutils.cpp index 7d37af7f..4fbcda47 100644 --- a/LEGO1/lego/legoomni/src/common/legoutils.cpp +++ b/LEGO1/lego/legoomni/src/common/legoutils.cpp @@ -564,9 +564,9 @@ void EnableAnimations(MxBool p_enable) AnimationManager()->Resume(); } - AnimationManager()->FUN_1005f6d0(p_enable); - AnimationManager()->FUN_10060540(p_enable); - AnimationManager()->FUN_100604d0(p_enable); + AnimationManager()->EnableExtras(p_enable); + AnimationManager()->SetAllAnimationsEnabled(p_enable); + AnimationManager()->SetAllCharactersAnimationEnabled(p_enable); } // FUNCTION: LEGO1 0x1003ef40 diff --git a/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp b/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp index 20719e5d..0f777f48 100644 --- a/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp +++ b/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp @@ -675,7 +675,7 @@ MxLong LegoNavController::Notify(MxParam& p_param) break; } case VK_SPACE: // Interrupt/end animations or free navigation - AnimationManager()->FUN_10061010(TRUE); + AnimationManager()->StopAnimations(TRUE); break; case 'Z': { // Make nearby plants "dance" LegoOmni* omni = Lego(); @@ -815,7 +815,7 @@ MxLong LegoNavController::Notify(MxParam& p_param) // Add to animation object ID offset g_nextAnimation += key - '0'; g_animationCalcStep = 0; - AnimationManager()->FUN_10060dc0( + AnimationManager()->StartManagedAnimation( g_nextAnimation, NULL, TRUE, @@ -897,7 +897,7 @@ MxLong LegoNavController::Notify(MxParam& p_param) case 'A': if (g_animationCalcStep == 1) { Lego()->m_initialized = TRUE; - AnimationManager()->FUN_10060570(TRUE); + AnimationManager()->SetAutoPlayAnimations(TRUE); g_animationCalcStep = 0; } else { @@ -984,7 +984,7 @@ MxLong LegoNavController::Notify(MxParam& p_param) break; case 'V': if (g_nextAnimation > 0 && g_animationCalcStep == 0) { - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); } if (g_animationCalcStep != 0) { diff --git a/LEGO1/lego/legoomni/src/entity/legoworld.cpp b/LEGO1/lego/legoomni/src/entity/legoworld.cpp index 8cdff940..32d36996 100644 --- a/LEGO1/lego/legoomni/src/entity/legoworld.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoworld.cpp @@ -691,7 +691,7 @@ void LegoWorld::Enable(MxBool p_enable) return; } if (CurrentWorld()) { - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); CurrentWorld()->Enable(FALSE); LegoEntityListCursor cursor(m_entityList); diff --git a/LEGO1/lego/legoomni/src/input/legoinputmanager.cpp b/LEGO1/lego/legoomni/src/input/legoinputmanager.cpp index 1b3d3fc8..b8127677 100644 --- a/LEGO1/lego/legoomni/src/input/legoinputmanager.cpp +++ b/LEGO1/lego/legoomni/src/input/legoinputmanager.cpp @@ -457,7 +457,7 @@ MxBool LegoInputManager::ProcessOneEvent(LegoEventNotificationParam& p_param) } } - if (FUN_1005cdf0(p_param)) { + if (TranslateMouseEventToClickOrDrag(p_param)) { if (processRoi && p_param.GetNotification() == c_notificationClick) { LegoROI* roi = PickROI(p_param.GetX(), p_param.GetY()); p_param.SetROI(roi); @@ -486,7 +486,7 @@ MxBool LegoInputManager::ProcessOneEvent(LegoEventNotificationParam& p_param) // FUNCTION: LEGO1 0x1005cdf0 // FUNCTION: BETA10 0x10089cc1 -MxBool LegoInputManager::FUN_1005cdf0(LegoEventNotificationParam& p_param) +MxBool LegoInputManager::TranslateMouseEventToClickOrDrag(LegoEventNotificationParam& p_param) { MxBool result = FALSE; diff --git a/LEGO1/lego/legoomni/src/main/legomain.cpp b/LEGO1/lego/legoomni/src/main/legomain.cpp index 530d4f0f..861328b7 100644 --- a/LEGO1/lego/legoomni/src/main/legomain.cpp +++ b/LEGO1/lego/legoomni/src/main/legomain.cpp @@ -456,7 +456,7 @@ void LegoOmni::DeleteObject(MxDSAction& p_dsAction) m_currentWorld->Remove(entity); if (entity->IsA("MxPresenter")) { - Streamer()->FUN_100b98f0(((MxPresenter*) entity)->GetAction()); + Streamer()->StopDiskAction(((MxPresenter*) entity)->GetAction()); ((MxPresenter*) entity)->EndAction(); } else { diff --git a/LEGO1/lego/legoomni/src/paths/legopathboundary.cpp b/LEGO1/lego/legoomni/src/paths/legopathboundary.cpp index 45bfd9b1..b7eebd44 100644 --- a/LEGO1/lego/legoomni/src/paths/legopathboundary.cpp +++ b/LEGO1/lego/legoomni/src/paths/legopathboundary.cpp @@ -356,7 +356,7 @@ MxU32 LegoPathBoundary::AddPresenterIfInRange(LegoAnimPresenter* p_presenter) // TODO: This only seems to match if the type is not the same as the type of the // key value of the set. Figure out which type the set (or parameter) actually uses. - // Also see call to .find in LegoPathController::FUN_10046050 + // Also see call to .find in LegoPathController::PlaceActorWithPresenter m_presenters.insert(static_cast(p_presenter)); return 1; } @@ -368,7 +368,7 @@ MxU32 LegoPathBoundary::RemovePresenter(LegoAnimPresenter* p_presenter) if (p_presenter != NULL) { // TODO: This only seems to match if the type is not the same as the type of the // key value of the set. Figure out which type the set (or parameter) actually uses. - // Also see call to .find in LegoPathController::FUN_10046050 + // Also see call to .find in LegoPathController::PlaceActorWithPresenter if (m_presenters.find(static_cast(p_presenter)) != m_presenters.end()) { m_presenters.erase(static_cast(p_presenter)); return 1; diff --git a/LEGO1/lego/legoomni/src/paths/legopathcontroller.cpp b/LEGO1/lego/legoomni/src/paths/legopathcontroller.cpp index f56f7e49..6b1fe041 100644 --- a/LEGO1/lego/legoomni/src/paths/legopathcontroller.cpp +++ b/LEGO1/lego/legoomni/src/paths/legopathcontroller.cpp @@ -926,7 +926,7 @@ MxResult LegoPathController::FindPath( if (p_grec->size() > 0) { LegoPathCtrlEdge* edge = p_grec->front().m_edge; - if (edge->FUN_10048c40(p_oldPosition)) { + if (edge->ContainsPointOnEdge(p_oldPosition)) { p_grec->pop_front(); } } @@ -934,7 +934,7 @@ MxResult LegoPathController::FindPath( if (p_grec->size() > 0) { LegoPathCtrlEdge* edge = p_grec->back().m_edge; - if (edge->FUN_10048c40(p_newPosition)) { + if (edge->ContainsPointOnEdge(p_newPosition)) { if (edge->OtherFace(p_grec->back().m_boundary) != NULL && edge->OtherFace(p_grec->back().m_boundary)->IsEqual(p_newBoundary)) { p_grec->m_boundary = p_grec->back().m_boundary; diff --git a/LEGO1/lego/legoomni/src/race/carrace.cpp b/LEGO1/lego/legoomni/src/race/carrace.cpp index 9e479e29..439a1287 100644 --- a/LEGO1/lego/legoomni/src/race/carrace.cpp +++ b/LEGO1/lego/legoomni/src/race/carrace.cpp @@ -130,7 +130,7 @@ void CarRace::ReadyWorld() m_introAnimation = g_introAnimations[rand() & 7]; AnimationManager() - ->FUN_10060dc0(m_introAnimation, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, TRUE, FALSE, TRUE); + ->StartManagedAnimation(m_introAnimation, NULL, TRUE, LegoAnimationManager::e_unk0, NULL, FALSE, TRUE, FALSE, TRUE); m_opponent1Locator = (MxStillPresenter*) Find("MxPresenter", "CarLocator2"); m_opponent1Locator->SetPosition(m_progressBarRect.GetLeft(), m_progressBarRect.GetTop()); @@ -163,7 +163,7 @@ MxLong CarRace::HandleEndAction(MxEndActionNotificationParam& p_param) result = 1; } else if (m_firstFinishAnimation == objectId) { - AnimationManager()->FUN_10060dc0( + AnimationManager()->StartManagedAnimation( m_secondFinishAnimation, NULL, TRUE, @@ -268,7 +268,7 @@ MxLong CarRace::HandlePathStruct(LegoPathStructNotificationParam& p_param) raceState->m_score = score; } - AnimationManager()->FUN_10060dc0( + AnimationManager()->StartManagedAnimation( m_firstFinishAnimation, NULL, TRUE, @@ -426,7 +426,7 @@ MxBool CarRace::Escape() { InvokeAction(Extra::e_stop, *g_carraceScript, CarraceScript::c_irtx08ra_PlayWav, NULL); - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); DeleteObjects(&m_atomId, 500, 999); m_act1State->m_state = Act1State::e_none; VariableTable()->SetVariable(g_strHIT_WALL_SOUND, ""); diff --git a/LEGO1/lego/legoomni/src/race/jetskirace.cpp b/LEGO1/lego/legoomni/src/race/jetskirace.cpp index 239882ba..f85be295 100644 --- a/LEGO1/lego/legoomni/src/race/jetskirace.cpp +++ b/LEGO1/lego/legoomni/src/race/jetskirace.cpp @@ -292,7 +292,7 @@ void JetskiRace::SetProgressPosition(MxS32 p_actorId, MxS16 p_progress) // FUNCTION: LEGO1 0x10016a10 MxBool JetskiRace::Escape() { - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); DeleteObjects(&m_atomId, 500, 999); m_act1State->m_state = Act1State::e_none; VariableTable()->SetVariable(g_raceState, ""); diff --git a/LEGO1/lego/legoomni/src/race/legoraceactor.cpp b/LEGO1/lego/legoomni/src/race/legoraceactor.cpp index d76bc21f..815f6fc6 100644 --- a/LEGO1/lego/legoomni/src/race/legoraceactor.cpp +++ b/LEGO1/lego/legoomni/src/race/legoraceactor.cpp @@ -120,7 +120,7 @@ MxResult LegoRaceActor::HitActor(LegoPathActor* p_actor, MxBool p_bool) // FUNCTION: LEGO1 0x10014aa0 // FUNCTION: BETA10 0x100ca038 -MxResult LegoRaceActor::FUN_10014aa0() +MxResult LegoRaceActor::OnRaceActorAction() { return SUCCESS; } diff --git a/LEGO1/lego/legoomni/src/race/raceskel.cpp b/LEGO1/lego/legoomni/src/race/raceskel.cpp index 2a4f937e..f931cd32 100644 --- a/LEGO1/lego/legoomni/src/race/raceskel.cpp +++ b/LEGO1/lego/legoomni/src/race/raceskel.cpp @@ -52,7 +52,7 @@ void RaceSkel::ParseAction(char* p_extra) // FUNCTION: LEGO1 0x10071c80 // FUNCTION: BETA10 0x100f1531 -void RaceSkel::FUN_10071c80(Vector3& p_vec) +void RaceSkel::GetFixedRaceSkeletonPosition(Vector3& p_vec) { p_vec[0] = -630.0f; p_vec[1] = -4.688f; diff --git a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp index 138fc51e..eee73a62 100644 --- a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp @@ -250,7 +250,7 @@ void LegoAnimPresenter::CreateManagedActors() strlwr(baseName); LegoChar* roiName = GetActorName(str); - roi = CharacterManager()->FUN_10085a80(roiName, baseName, TRUE); + roi = CharacterManager()->CreateAutoROIWrapper(roiName, baseName, TRUE); if (roi != NULL) { roi->SetVisibility(FALSE); @@ -547,10 +547,10 @@ void LegoAnimPresenter::ReleaseManagedActors() void LegoAnimPresenter::AppendManagedActors() { if (m_localActors) { - AnimationManager()->FUN_10063270(m_managedActors, this); + AnimationManager()->ClaimExtraActorsFromPresenterList(m_managedActors, this); } else { - AnimationManager()->FUN_10063780(m_managedActors); + AnimationManager()->StashPresenterActors(m_managedActors); } } @@ -829,7 +829,7 @@ void LegoAnimPresenter::StartingTickle() ProgressTickleState(e_streaming); if (m_compositePresenter && m_compositePresenter->IsA("LegoAnimMMPresenter")) { - m_localActors = ((LegoAnimMMPresenter*) m_compositePresenter)->FUN_1004b8b0(); + m_localActors = ((LegoAnimMMPresenter*) m_compositePresenter)->UsesLocalActors(); m_compositePresenter->AdvanceSerialAction(this); } diff --git a/LEGO1/lego/legoomni/src/video/legovideomanager.cpp b/LEGO1/lego/legoomni/src/video/legovideomanager.cpp index b06add15..2899704e 100644 --- a/LEGO1/lego/legoomni/src/video/legovideomanager.cpp +++ b/LEGO1/lego/legoomni/src/video/legovideomanager.cpp @@ -119,7 +119,7 @@ MxResult LegoVideoManager::Create(MxVideoParam& p_videoParam, MxU32 p_frequencyM } if (deviceNum < 0) { - deviceEnumerate.FUN_1009d210(); + deviceEnumerate.FilterSupportedDrivers(); deviceNum = deviceEnumerate.GetBestDevice(); deviceNum = deviceEnumerate.GetDevice(deviceNum, driver, device); } @@ -424,7 +424,7 @@ void LegoVideoManager::DrawFPS() GetTextExtentPoint(dc, zeros, strlen(zeros), &m_fpsSize); ReleaseDC(NULL, dc); - m_unk0x528 = m_displaySurface->FUN_100bc8b0(m_fpsSize.cx, m_fpsSize.cy); + m_unk0x528 = m_displaySurface->Create16BitOffscreenSurface(m_fpsSize.cx, m_fpsSize.cy); SetRect(&m_fpsRect, 0, 0, m_fpsSize.cx, m_fpsSize.cy); if (m_unk0x528 == NULL) { @@ -674,7 +674,7 @@ void LegoVideoManager::UpdateView(MxU32 p_x, MxU32 p_y, MxU32 p_width, MxU32 p_h } // FUNCTION: LEGO1 0x1007c520 -void LegoVideoManager::FUN_1007c520() +void LegoVideoManager::PrepareCreditsScreen() { m_unk0xe5 = TRUE; m_render3d = FALSE; diff --git a/LEGO1/lego/legoomni/src/worlds/act3.cpp b/LEGO1/lego/legoomni/src/worlds/act3.cpp index 2f7638ba..67b32be9 100644 --- a/LEGO1/lego/legoomni/src/worlds/act3.cpp +++ b/LEGO1/lego/legoomni/src/worlds/act3.cpp @@ -578,7 +578,7 @@ MxLong Act3::Notify(MxParam& p_param) action.SetObjectId(Act3Script::c_pzhitdn_PlayWav); BackgroundAudioManager()->PlayMusic(action, 5, MxPresenter::e_repeating); - m_brickster->FUN_100417c0(); + m_brickster->ChooseBricksterDestination(); m_cop1->SetActorState(LegoPathActor::c_initial); m_cop1->SetWorldSpeed(2.0f); @@ -633,7 +633,7 @@ MxLong Act3::Notify(MxParam& p_param) } case c_notificationKeyPress: if (m_state->m_state == Act3State::e_ready && ((LegoEventNotificationParam&) p_param).GetKey() == ' ') { - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); return 1; } break; @@ -679,11 +679,11 @@ void Act3::ReadyWorld() { PlantManager()->SetInitialCounters(); BuildingManager()->SetInitialCounters(); - AnimationManager()->FUN_1005f6d0(FALSE); + AnimationManager()->EnableExtras(FALSE); VideoManager()->Get3DManager()->SetFrustrum(90.0f, 0.1f, 125.0f); m_explanationAnimation = g_explanationAnimations[rand() % 3]; - AnimationManager()->FUN_10060dc0( + AnimationManager()->StartManagedAnimation( m_explanationAnimation, NULL, TRUE, @@ -707,7 +707,7 @@ MxResult Act3::Tickle() } if (m_explanationAnimation != (Act3Script::Script) 0) { - if (AnimationManager()->FUN_10064ee0(m_explanationAnimation)) { + if (AnimationManager()->IsAnimationFinished(m_explanationAnimation)) { Disable(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen); TickleManager()->UnregisterClient(this); m_explanationAnimation = (Act3Script::Script) 0; @@ -722,7 +722,7 @@ MxResult Act3::Tickle() MxResult Act3::HitBrickster(Act3Ammo& p_ammo, const Vector3& p_param2) { assert(m_brickster); - m_brickster->FUN_100417a0(p_ammo, p_param2); + m_brickster->RespondToAmmoHit(p_ammo, p_param2); TriggerHitSound(1); return SUCCESS; } @@ -734,10 +734,10 @@ MxResult Act3::HitCop(Act3Ammo& p_ammo, const Vector3& p_param2) assert(m_cop1 && m_cop2); if (!(g_copSelector & 1)) { - m_cop1->FUN_10040350(p_ammo, p_param2); + m_cop1->RespondToAmmoHit(p_ammo, p_param2); } else { - m_cop2->FUN_10040350(p_ammo, p_param2); + m_cop2->RespondToAmmoHit(p_ammo, p_param2); } TriggerHitSound(3); @@ -792,7 +792,7 @@ void Act3::GoodEnding(const Matrix4& p_destination) #ifndef BETA10 m_soundList.Clear(); - m_copter->FUN_10004640(p_destination); + m_copter->StartGoodEndingFlight(p_destination); DebugPrintf("In Good Ending..."); DebugCopter( @@ -875,7 +875,7 @@ void Act3::BadEnding(const Matrix4& p_destination) m_brickster->SetActorState(LegoPathActor::c_disabled); m_soundList.Clear(); - m_copter->FUN_10004670(p_destination); + m_copter->StartBadEndingFlight(p_destination); DebugPrintf("In Bad Ending..."); DebugCopter( @@ -985,7 +985,7 @@ void Act3::VTable0x60() MxBool Act3::Escape() { BackgroundAudioManager()->Stop(); - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); DeleteObjects(&m_atomId, Act3Script::c_tlp053in_RunAnim, 999); m_destLocation = LegoGameState::e_infomain; return TRUE; diff --git a/LEGO1/lego/legoomni/src/worlds/infocenter.cpp b/LEGO1/lego/legoomni/src/worlds/infocenter.cpp index 15007f72..7848f4a5 100644 --- a/LEGO1/lego/legoomni/src/worlds/infocenter.cpp +++ b/LEGO1/lego/legoomni/src/worlds/infocenter.cpp @@ -1483,7 +1483,7 @@ void Infocenter::StartCredits() i++; } while (i < m_infocenterState->GetMaxNameLength()); - VideoManager()->FUN_1007c520(); + VideoManager()->PrepareCreditsScreen(); GetViewManager()->RemoveAll(NULL); InvokeAction(Extra::e_opendisk, *g_creditsScript, CreditsScript::c_LegoCredits, NULL); diff --git a/LEGO1/lego/legoomni/src/worlds/isle.cpp b/LEGO1/lego/legoomni/src/worlds/isle.cpp index 373befa0..bcb8fd11 100644 --- a/LEGO1/lego/legoomni/src/worlds/isle.cpp +++ b/LEGO1/lego/legoomni/src/worlds/isle.cpp @@ -494,22 +494,22 @@ MxLong Isle::HandlePathStruct(LegoPathStructNotificationParam& p_param) // These values correspond to certain paths on the island switch (p_param.GetData()) { case 0x12c: - AnimationManager()->FUN_10064670(NULL); + AnimationManager()->SpawnBricksterAtPoliceStation(NULL); result = 1; break; case 0x12d: - AnimationManager()->FUN_10064880("brickstr", 0, 20000); + AnimationManager()->SetExtraActorTiming("brickstr", 0, 20000); result = 1; break; case 0x131: if (m_act1state->m_state != Act1State::e_ambulance) { - AnimationManager()->FUN_10064740(NULL); + AnimationManager()->SpawnParentsAtHospital(NULL); } result = 1; break; case 0x132: - AnimationManager()->FUN_10064880("mama", 0, 20000); - AnimationManager()->FUN_10064880("papa", 0, 20000); + AnimationManager()->SetExtraActorTiming("mama", 0, 20000); + AnimationManager()->SetExtraActorTiming("papa", 0, 20000); result = 1; break; case 0x136: @@ -710,7 +710,7 @@ void Isle::Enable(MxBool p_enable) m_act1state->m_state = Act1State::e_none; if (GameState()->m_currentArea == LegoGameState::e_pizzeriaExterior) { - AnimationManager()->FUN_10064740(NULL); + AnimationManager()->SpawnParentsAtHospital(NULL); } else if (GameState()->m_currentArea == LegoGameState::e_vehicleExited) { Mx3DPointFloat position(UserActor()->GetROI()->GetWorldPosition()); @@ -718,13 +718,13 @@ void Isle::Enable(MxBool p_enable) Mx3DPointFloat sub(-21.375f, 0.0f, -41.75f); sub -= position; if (sub.LenSquared() < 1024.0f) { - AnimationManager()->FUN_10064740(NULL); + AnimationManager()->SpawnParentsAtHospital(NULL); } Mx3DPointFloat sub2(98.874992f, 0.0f, -46.156292f); sub2 -= position; if (sub2.LenSquared() < 1024.0f) { - AnimationManager()->FUN_10064670(NULL); + AnimationManager()->SpawnBricksterAtPoliceStation(NULL); } } break; @@ -753,12 +753,12 @@ void Isle::Enable(MxBool p_enable) } AnimationManager() - ->FUN_10060dc0(script, NULL, TRUE, LegoAnimationManager::e_unk1, NULL, FALSE, FALSE, TRUE, FALSE); + ->StartManagedAnimation(script, NULL, TRUE, LegoAnimationManager::e_unk1, NULL, FALSE, FALSE, TRUE, FALSE); } m_act1state->m_state = Act1State::e_none; EnableAnimations(FALSE); - AnimationManager()->FUN_10064670(NULL); + AnimationManager()->SpawnBricksterAtPoliceStation(NULL); break; } case Act1State::e_transitionToRacecar: { @@ -787,7 +787,7 @@ void Isle::Enable(MxBool p_enable) } AnimationManager() - ->FUN_10060dc0(script, NULL, TRUE, LegoAnimationManager::e_unk1, NULL, FALSE, FALSE, TRUE, FALSE); + ->StartManagedAnimation(script, NULL, TRUE, LegoAnimationManager::e_unk1, NULL, FALSE, FALSE, TRUE, FALSE); } m_act1state->m_state = Act1State::e_none; @@ -797,7 +797,7 @@ void Isle::Enable(MxBool p_enable) case Act1State::e_transitionToTowtrack: m_act1state->m_state = Act1State::e_towtrack; - AnimationManager()->FUN_1005f6d0(FALSE); + AnimationManager()->EnableExtras(FALSE); AnimationManager()->EnableCamAnims(FALSE); g_isleFlags &= ~c_playMusic; @@ -806,7 +806,7 @@ void Isle::Enable(MxBool p_enable) case Act1State::e_transitionToAmbulance: m_act1state->m_state = Act1State::e_ambulance; - AnimationManager()->FUN_1005f6d0(FALSE); + AnimationManager()->EnableExtras(FALSE); AnimationManager()->EnableCamAnims(FALSE); g_isleFlags &= ~c_playMusic; @@ -1237,7 +1237,7 @@ MxBool Isle::Escape() m_act1state->m_elevFloor = Act1State::c_floor1; - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); DeleteObjects(&m_atomId, IsleScript::c_sba001bu_RunAnim, IsleScript::c_FNS018EN_Wav_518); if (UserActor()) { @@ -1284,7 +1284,7 @@ void Isle::SwitchToInfocenter() } } - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); if (UserActor()) { if (UserActor()->GetActorId() != GameState()->GetActorId()) { diff --git a/LEGO1/lego/legoomni/src/worlds/legoact2.cpp b/LEGO1/lego/legoomni/src/worlds/legoact2.cpp index 46f54b10..06959fc0 100644 --- a/LEGO1/lego/legoomni/src/worlds/legoact2.cpp +++ b/LEGO1/lego/legoomni/src/worlds/legoact2.cpp @@ -191,7 +191,7 @@ MxResult LegoAct2::Tickle() break; case LegoAct2::e_holdingSpeech: if (g_bricksterSpeech) { - if (AnimationManager()->FUN_10064ee0(g_bricksterSpeech)) { + if (AnimationManager()->IsAnimationFinished(g_bricksterSpeech)) { Disable(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen); g_bricksterSpeech = (Act2mainScript::Script) 0; } @@ -206,9 +206,9 @@ MxResult LegoAct2::Tickle() StartAction(Act2mainScript::c_tja009ni_RunAnim, TRUE, TRUE, NULL, NULL, NULL); AnimationManager()->EnableCamAnims(TRUE); - AnimationManager()->FUN_1005f6d0(TRUE); - AnimationManager()->FUN_100604f0(g_animationsBricksterIsLoose, sizeOfArray(g_animationsBricksterIsLoose)); - AnimationManager()->FUN_10060480(g_charactersBricksterIsLoose, sizeOfArray(g_charactersBricksterIsLoose)); + AnimationManager()->EnableExtras(TRUE); + AnimationManager()->EnableAnimationsByObjectId(g_animationsBricksterIsLoose, sizeOfArray(g_animationsBricksterIsLoose)); + AnimationManager()->EnableCharactersByName(g_charactersBricksterIsLoose, sizeOfArray(g_charactersBricksterIsLoose)); break; case LegoAct2::e_explaining: m_timeSinceLastStage += 50; @@ -413,9 +413,9 @@ MxLong LegoAct2::HandleEndAction(MxEndActionNotificationParam& p_param) StartAction(Act2mainScript::c_tra045la_RunAnim, TRUE, TRUE, NULL, NULL, NULL); ((LegoPathActor*) m_pepper->GetEntity())->SetActorState(LegoPathActor::c_disabled); AnimationManager()->EnableCamAnims(TRUE); - AnimationManager()->FUN_1005f6d0(TRUE); - AnimationManager()->FUN_100604f0(g_animationsAfterChase, sizeOfArray(g_animationsAfterChase)); - AnimationManager()->FUN_10060480(g_charactersAfterChase, sizeOfArray(g_charactersAfterChase)); + AnimationManager()->EnableExtras(TRUE); + AnimationManager()->EnableAnimationsByObjectId(g_animationsAfterChase, sizeOfArray(g_animationsAfterChase)); + AnimationManager()->EnableCharactersByName(g_charactersAfterChase, sizeOfArray(g_charactersAfterChase)); break; case LegoAct2::e_distributeRemainingBricks: { LegoROI* roi; @@ -713,10 +713,10 @@ void LegoAct2::DisableAnimations() if (AnimationManager()) { AnimationManager()->Suspend(); AnimationManager()->Resume(); - AnimationManager()->FUN_10060540(FALSE); - AnimationManager()->FUN_100604d0(FALSE); + AnimationManager()->SetAllAnimationsEnabled(FALSE); + AnimationManager()->SetAllCharactersAnimationEnabled(FALSE); AnimationManager()->EnableCamAnims(FALSE); - AnimationManager()->FUN_1005f6d0(FALSE); + AnimationManager()->EnableExtras(FALSE); } } @@ -754,7 +754,7 @@ void LegoAct2::VTable0x60() MxBool LegoAct2::Escape() { BackgroundAudioManager()->Stop(); - AnimationManager()->FUN_10061010(FALSE); + AnimationManager()->StopAnimations(FALSE); DeleteObjects(&m_atomId, Act2mainScript::c_snsx50bu_RunAnim, 999); if (UserActor() != NULL) { @@ -1162,7 +1162,7 @@ MxResult LegoAct2::StartAction( MxResult result; if (p_objectId == Act2mainScript::c_tja009ni_RunAnim) { - result = AnimationManager()->FUN_10060dc0( + result = AnimationManager()->StartManagedAnimation( p_objectId, pmatrix, TRUE, @@ -1175,7 +1175,7 @@ MxResult LegoAct2::StartAction( ); } else { - result = AnimationManager()->FUN_10060dc0( + result = AnimationManager()->StartManagedAnimation( p_objectId, pmatrix, TRUE, diff --git a/LEGO1/lego/sources/geom/legoorientededge.h b/LEGO1/lego/sources/geom/legoorientededge.h index 05cd8009..ff36fded 100644 --- a/LEGO1/lego/sources/geom/legoorientededge.h +++ b/LEGO1/lego/sources/geom/legoorientededge.h @@ -97,7 +97,7 @@ struct LegoOrientedEdge : public LegoEdge { // FUNCTION: BETA10 0x101841b0 void SetFlags(LegoU16 p_flags) { m_flags = p_flags; } - inline LegoU32 FUN_10048c40(const Vector3& p_position); + inline LegoU32 ContainsPointOnEdge(const Vector3& p_position); // SYNTHETIC: LEGO1 0x1009a6c0 // SYNTHETIC: BETA10 0x101840f0 @@ -113,7 +113,7 @@ struct LegoOrientedEdge : public LegoEdge { // FUNCTION: LEGO1 0x10048c40 // FUNCTION: BETA10 0x1001cc90 -inline LegoU32 LegoOrientedEdge::FUN_10048c40(const Vector3& p_position) +inline LegoU32 LegoOrientedEdge::ContainsPointOnEdge(const Vector3& p_position) { LegoFloat localc, local10; LegoU32 result = FALSE; diff --git a/LEGO1/mxdirectx/legodxinfo.cpp b/LEGO1/mxdirectx/legodxinfo.cpp index 35c98dec..fe0f1462 100644 --- a/LEGO1/mxdirectx/legodxinfo.cpp +++ b/LEGO1/mxdirectx/legodxinfo.cpp @@ -291,7 +291,7 @@ int LegoDeviceEnumerate::SupportsCPUID() // FUNCTION: CONFIG 0x004029a0 // FUNCTION: LEGO1 0x1009d210 // FUNCTION: BETA10 0x1011cfc4 -int LegoDeviceEnumerate::FUN_1009d210() +int LegoDeviceEnumerate::FilterSupportedDrivers() { if (!IsInitialized()) { return -1; @@ -306,7 +306,7 @@ int LegoDeviceEnumerate::FUN_1009d210() MxDriver& driver = *it; for (list::iterator it2 = driver.m_devices.begin(); it2 != driver.m_devices.end();) { - if (!FUN_1009d3d0(*it2)) { + if (!DeviceSupportsRequiredCaps(*it2)) { driver.m_devices.erase(it2++); } else { @@ -349,7 +349,7 @@ unsigned char LegoDeviceEnumerate::DriverSupportsRequiredDisplayMode(MxDriver& p // FUNCTION: CONFIG 0x00402b60 // FUNCTION: LEGO1 0x1009d3d0 // FUNCTION: BETA10 0x1011d235 -unsigned char LegoDeviceEnumerate::FUN_1009d3d0(Direct3DDeviceInfo& p_device) +unsigned char LegoDeviceEnumerate::DeviceSupportsRequiredCaps(Direct3DDeviceInfo& p_device) { if (m_ddInfo.size() <= 0) { return FALSE; diff --git a/LEGO1/mxdirectx/legodxinfo.h b/LEGO1/mxdirectx/legodxinfo.h index dcd204cd..518dc32d 100644 --- a/LEGO1/mxdirectx/legodxinfo.h +++ b/LEGO1/mxdirectx/legodxinfo.h @@ -17,9 +17,9 @@ class LegoDeviceEnumerate : public MxDeviceEnumerate { int GetBestDevice(); static int SupportsMMX(); static int SupportsCPUID(); - int FUN_1009d210(); + int FilterSupportedDrivers(); unsigned char DriverSupportsRequiredDisplayMode(MxDriver& p_driver); - unsigned char FUN_1009d3d0(Direct3DDeviceInfo& p_device); + unsigned char DeviceSupportsRequiredCaps(Direct3DDeviceInfo& p_device); // SYNTHETIC: BETA10 0x100d8d10 // LegoDeviceEnumerate::LegoDeviceEnumerate diff --git a/LEGO1/mxdirectx/mxdirect3d.cpp b/LEGO1/mxdirectx/mxdirect3d.cpp index 5a3d9ff6..4b0e5c59 100644 --- a/LEGO1/mxdirectx/mxdirect3d.cpp +++ b/LEGO1/mxdirectx/mxdirect3d.cpp @@ -71,7 +71,7 @@ BOOL MxDirect3D::Create( done: if (!success) { - FUN_1009d920(); + RestoreDisplayMode(); } return success; diff --git a/LEGO1/mxdirectx/mxdirectdraw.cpp b/LEGO1/mxdirectx/mxdirectdraw.cpp index 86910dde..ba8bfc27 100644 --- a/LEGO1/mxdirectx/mxdirectdraw.cpp +++ b/LEGO1/mxdirectx/mxdirectdraw.cpp @@ -208,7 +208,7 @@ void MxDirectDraw::Destroy() { DestroyButNotDirectDraw(); - FUN_1009d920(); + RestoreDisplayMode(); RELEASE(m_pDirectDraw); @@ -244,7 +244,7 @@ void MxDirectDraw::DestroyButNotDirectDraw() // FUNCTION: LEGO1 0x1009d920 // FUNCTION: BETA10 0x10120b9e -void MxDirectDraw::FUN_1009d920() +void MxDirectDraw::RestoreDisplayMode() { RestoreOriginalPaletteEntries(); if (m_pDirectDraw != NULL) { diff --git a/LEGO1/mxdirectx/mxdirectdraw.h b/LEGO1/mxdirectx/mxdirectdraw.h index dd16f2e8..a4b2b931 100644 --- a/LEGO1/mxdirectx/mxdirectdraw.h +++ b/LEGO1/mxdirectx/mxdirectdraw.h @@ -80,7 +80,7 @@ class MxDirectDraw { BOOL RecreateDirectDraw(GUID** a2); void ClearBackBuffers(); - void FUN_1009d920(); + void RestoreDisplayMode(); // SYNTHETIC: LEGO1 0x1009d510 // SYNTHETIC: BETA10 0x10122f80 diff --git a/LEGO1/omni/include/mxdiskstreamcontroller.h b/LEGO1/omni/include/mxdiskstreamcontroller.h index 6bf7c418..532f3230 100644 --- a/LEGO1/omni/include/mxdiskstreamcontroller.h +++ b/LEGO1/omni/include/mxdiskstreamcontroller.h @@ -45,12 +45,12 @@ class MxDiskStreamController : public MxStreamController { MxBool GetUnk0xc4() const { return m_unk0xc4; } - MxResult FUN_100c7890(MxDSStreamingAction* p_action); - void FUN_100c7cb0(MxDSStreamingAction* p_action); - void FUN_100c7f40(MxDSStreamingAction* p_streamingaction); - void FUN_100c8120(MxDSAction* p_action); + MxResult QueueReadAheadAction(MxDSStreamingAction* p_action); + void DeleteStreamingAction(MxDSStreamingAction* p_action); + void QueueCompletedRead(MxDSStreamingAction* p_streamingaction); + void CancelDiskAction(MxDSAction* p_action); void InsertToList74(MxDSBuffer* p_buffer); - void FUN_100c8670(MxDSStreamingAction* p_streamingAction); + void QueueActionForDeletion(MxDSStreamingAction* p_streamingAction); private: MxDSObjectList m_list0x64; // 0x64 @@ -63,14 +63,14 @@ class MxDiskStreamController : public MxStreamController { MxDSObjectList m_list0xb8; // 0xb8 MxBool m_unk0xc4; // 0xc4 - void FUN_100c7970(); - void FUN_100c7ce0(MxDSBuffer* p_buffer); - MxResult FUN_100c7d10(); - void FUN_100c7980(); - MxDSStreamingAction* FUN_100c7db0(); - MxResult FUN_100c8360(MxDSStreamingAction* p_action); - void FUN_100c8540(); - void FUN_100c8720(); + void OnReadAheadQueued(); + void ReleaseStreamBuffer(MxDSBuffer* p_buffer); + MxResult ProcessNextCachedRead(); + void ScheduleNextDiskRead(); + MxDSStreamingAction* PopReadyStreamingAction(); + MxResult ConsumeStreamBuffer(MxDSStreamingAction* p_action); + void PurgeReleasedBuffers(); + void DeleteQueuedActions(); }; // TEMPLATE: LEGO1 0x100c14d0 diff --git a/LEGO1/omni/include/mxdiskstreamprovider.h b/LEGO1/omni/include/mxdiskstreamprovider.h index f379ea00..6c472df8 100644 --- a/LEGO1/omni/include/mxdiskstreamprovider.h +++ b/LEGO1/omni/include/mxdiskstreamprovider.h @@ -44,10 +44,10 @@ class MxDiskStreamProvider : public MxStreamProvider { } MxResult WaitForWorkToComplete(); - MxResult FUN_100d1780(MxDSStreamingAction* p_action); + MxResult QueueDiskRead(MxDSStreamingAction* p_action); void PerformWork(); - static MxBool FUN_100d1af0(MxDSStreamingAction* p_action); - MxResult FUN_100d1b20(MxDSStreamingAction* p_action); + static MxBool CanStartReadNow(MxDSStreamingAction* p_action); + MxResult StitchSplitStreamBuffer(MxDSStreamingAction* p_action); MxResult SetResourceToGet(MxStreamController* p_resource) override; // vtable+0x14 MxU32 GetFileSize() override; // vtable+0x18 diff --git a/LEGO1/omni/include/mxdisplaysurface.h b/LEGO1/omni/include/mxdisplaysurface.h index 290950f2..b9ce7b56 100644 --- a/LEGO1/omni/include/mxdisplaysurface.h +++ b/LEGO1/omni/include/mxdisplaysurface.h @@ -109,7 +109,7 @@ class MxDisplaySurface : public MxCore { MxU8 p_bpp ); - LPDIRECTDRAWSURFACE FUN_100bc8b0(MxS32 p_width, MxS32 p_height); + LPDIRECTDRAWSURFACE Create16BitOffscreenSurface(MxS32 p_width, MxS32 p_height); private: MxU8 CountTotalBitsSetTo1(MxU32 p_param); diff --git a/LEGO1/omni/include/mxdsbuffer.h b/LEGO1/omni/include/mxdsbuffer.h index a988ca57..772b2e36 100644 --- a/LEGO1/omni/include/mxdsbuffer.h +++ b/LEGO1/omni/include/mxdsbuffer.h @@ -35,7 +35,7 @@ class MxDSBuffer : public MxCore { MxResult AllocateBuffer(MxU32 p_bufferSize, Type p_mode); MxResult SetBufferPointer(MxU8* p_buffer, MxU32 p_size); - MxResult FUN_100c67b0( + MxResult ParseDataChunks( MxStreamController* p_controller, MxDSAction* p_action, MxDSStreamingAction** p_streamingAction @@ -58,9 +58,9 @@ class MxDSBuffer : public MxCore { MxU8 ReleaseRef(MxDSChunk*); void AddRef(MxDSChunk* p_chunk); MxResult CalcBytesRemaining(MxU8* p_data); - void FUN_100c6f80(MxU32 p_writeOffset); - MxU8* FUN_100c6fa0(MxU8* p_data); - MxResult FUN_100c7090(MxDSBuffer* p_buf); + void SeekBufferCursor(MxU32 p_writeOffset); + MxU8* FindNextChunk(MxU8* p_data); + MxResult CopyBufferStateFrom(MxDSBuffer* p_buf); static MxCore* ReadChunk(MxDSBuffer* p_buffer, MxU32* p_chunkData, MxU16 p_flags); static MxResult Append(MxU8* p_buffer1, MxU8* p_buffer2); diff --git a/LEGO1/omni/include/mxdsstreamingaction.h b/LEGO1/omni/include/mxdsstreamingaction.h index 22ccd62d..d82255ae 100644 --- a/LEGO1/omni/include/mxdsstreamingaction.h +++ b/LEGO1/omni/include/mxdsstreamingaction.h @@ -20,7 +20,7 @@ class MxDSStreamingAction : public MxDSAction { void Init(); void SetInternalAction(MxDSAction* p_dsAction); - void FUN_100cd2d0(); + void AdvanceLoopPlaybackWindow(); // FUNCTION: BETA10 0x10156530 MxU32 GetUnknown94() { return m_unk0x94; } diff --git a/LEGO1/omni/include/mxstreamcontroller.h b/LEGO1/omni/include/mxstreamcontroller.h index 907b99f8..1ad5e660 100644 --- a/LEGO1/omni/include/mxstreamcontroller.h +++ b/LEGO1/omni/include/mxstreamcontroller.h @@ -62,10 +62,10 @@ class MxStreamController : public MxCore { void AddSubscriber(MxDSSubscriber* p_subscriber); void RemoveSubscriber(MxDSSubscriber* p_subscriber); - MxResult FUN_100c1800(MxDSAction* p_action, MxU32 p_val); - MxResult FUN_100c1a00(MxDSAction* p_action, MxU32 p_offset); - MxPresenter* FUN_100c1e70(MxDSAction& p_action); - MxResult FUN_100c1f00(MxDSAction* p_action); + MxResult QueueNextActionDataStart(MxDSAction* p_action, MxU32 p_val); + MxResult CreateStreamingAction(MxDSAction* p_action, MxU32 p_offset); + MxPresenter* FindPresenterForAction(MxDSAction& p_action); + MxResult SendEndOfStreamChunk(MxDSAction* p_action); MxBool IsStoped(MxDSObject* p_obj); MxResult InsertActionToList54(MxDSAction* p_action); MxNextActionDataStart* FindNextActionDataStartFromStreamingAction(MxDSStreamingAction* p_action); diff --git a/LEGO1/omni/include/mxstreamer.h b/LEGO1/omni/include/mxstreamer.h index 1b5a7082..0f7dec1b 100644 --- a/LEGO1/omni/include/mxstreamer.h +++ b/LEGO1/omni/include/mxstreamer.h @@ -72,11 +72,11 @@ class MxStreamer : public MxCore { virtual MxResult Create(); // vtable+0x14 - MxBool FUN_100b9b30(MxDSObject& p_dsObject); + MxBool IsObjectStopped(MxDSObject& p_dsObject); MxStreamController* GetOpenStream(const char* p_name); - void FUN_100b98f0(MxDSAction* p_action); + void StopDiskAction(MxDSAction* p_action); MxResult AddStreamControllerToOpenList(MxStreamController* p_stream); - MxResult FUN_100b99b0(MxDSAction* p_action); + MxResult StartObjectStreaming(MxDSAction* p_action); MxResult DeleteObject(MxDSAction* p_dsAction); // FUNCTION: BETA10 0x10158db0 diff --git a/LEGO1/omni/src/action/mxdsstreamingaction.cpp b/LEGO1/omni/src/action/mxdsstreamingaction.cpp index 939cd5e3..9ccdcbab 100644 --- a/LEGO1/omni/src/action/mxdsstreamingaction.cpp +++ b/LEGO1/omni/src/action/mxdsstreamingaction.cpp @@ -87,7 +87,7 @@ void MxDSStreamingAction::SetInternalAction(MxDSAction* p_dsAction) } // FUNCTION: LEGO1 0x100cd2d0 -void MxDSStreamingAction::FUN_100cd2d0() +void MxDSStreamingAction::AdvanceLoopPlaybackWindow() { if (m_duration == -1) { return; diff --git a/LEGO1/omni/src/main/mxmain.cpp b/LEGO1/omni/src/main/mxmain.cpp index 530154ec..eb739937 100644 --- a/LEGO1/omni/src/main/mxmain.cpp +++ b/LEGO1/omni/src/main/mxmain.cpp @@ -232,7 +232,7 @@ MxResult MxOmni::Start(MxDSAction* p_dsAction) { MxResult result = FAILURE; if (p_dsAction->GetAtomId().GetInternal() != NULL && p_dsAction->GetObjectId() != -1 && m_streamer != NULL) { - result = m_streamer->FUN_100b99b0(p_dsAction); + result = m_streamer->StartObjectStreaming(p_dsAction); } return result; @@ -259,7 +259,7 @@ MxResult MxOmni::CreatePresenter(MxStreamController* p_controller, MxDSAction& p if (object->AddToManager() == SUCCESS) { MxPresenter* sender = p_action.GetUnknown28(); if (!sender) { - sender = p_controller->FUN_100c1e70(p_action); + sender = p_controller->FindPresenterForAction(p_action); } if (sender) { @@ -407,7 +407,7 @@ void MxOmni::SetSound3D(MxBool p_use3dSound) // FUNCTION: BETA10 0x101309f5 MxBool MxOmni::DoesEntityExist(MxDSAction& p_dsAction) { - if (m_streamer->FUN_100b9b30(p_dsAction)) { + if (m_streamer->IsObjectStopped(p_dsAction)) { MxNotificationPtrList* notifications = m_notificationManager->GetQueue(); if (!notifications || notifications->size() == 0) { diff --git a/LEGO1/omni/src/stream/mxdiskstreamcontroller.cpp b/LEGO1/omni/src/stream/mxdiskstreamcontroller.cpp index 04f06b63..622250c0 100644 --- a/LEGO1/omni/src/stream/mxdiskstreamcontroller.cpp +++ b/LEGO1/omni/src/stream/mxdiskstreamcontroller.cpp @@ -50,20 +50,20 @@ MxDiskStreamController::~MxDiskStreamController() m_provider = NULL; } - FUN_100c8720(); + DeleteQueuedActions(); while (m_list0x80.PopFront(object)) { - FUN_100c7cb0((MxDSStreamingAction*) object); + DeleteStreamingAction((MxDSStreamingAction*) object); } while (m_list0x64.PopFront(object)) { - FUN_100c7cb0((MxDSStreamingAction*) object); + DeleteStreamingAction((MxDSStreamingAction*) object); } while (!m_list0x74.empty()) { MxDSBuffer* buffer = m_list0x74.front(); m_list0x74.pop_front(); - FUN_100c7ce0(buffer); + ReleaseStreamBuffer(buffer); } TickleManager()->UnregisterClient(this); @@ -107,7 +107,7 @@ MxResult MxDiskStreamController::VTable0x18(undefined4, undefined4) // FUNCTION: LEGO1 0x100c7890 // FUNCTION: BETA10 0x101543bb -MxResult MxDiskStreamController::FUN_100c7890(MxDSStreamingAction* p_action) +MxResult MxDiskStreamController::QueueReadAheadAction(MxDSStreamingAction* p_action) { AUTOLOCK(m_criticalSection); if (p_action == NULL) { @@ -115,7 +115,7 @@ MxResult MxDiskStreamController::FUN_100c7890(MxDSStreamingAction* p_action) } m_list0x80.PushBack(p_action); - FUN_100c7970(); + OnReadAheadQueued(); return SUCCESS; } @@ -126,14 +126,14 @@ MxResult MxDiskStreamController::VTable0x34(undefined4) } // FUNCTION: LEGO1 0x100c7970 -void MxDiskStreamController::FUN_100c7970() +void MxDiskStreamController::OnReadAheadQueued() { // Empty } // FUNCTION: LEGO1 0x100c7980 // FUNCTION: BETA10 0x10154848 -void MxDiskStreamController::FUN_100c7980() +void MxDiskStreamController::ScheduleNextDiskRead() { MxDSBuffer* buffer; MxDSStreamingAction* action = NULL; @@ -165,7 +165,7 @@ void MxDiskStreamController::FUN_100c7980() } if (action) { - ((MxDiskStreamProvider*) m_provider)->FUN_100d1780(action); + ((MxDiskStreamProvider*) m_provider)->QueueDiskRead(action); } } @@ -211,7 +211,7 @@ MxResult MxDiskStreamController::VTable0x30(MxDSAction* p_action) if (item == NULL) { break; } - FUN_100c7cb0(item); + DeleteStreamingAction(item); } while (TRUE) { @@ -219,24 +219,24 @@ MxResult MxDiskStreamController::VTable0x30(MxDSAction* p_action) if (item == NULL) { break; } - FUN_100c7cb0(item); + DeleteStreamingAction(item); } return result; } // FUNCTION: LEGO1 0x100c7cb0 -void MxDiskStreamController::FUN_100c7cb0(MxDSStreamingAction* p_action) +void MxDiskStreamController::DeleteStreamingAction(MxDSStreamingAction* p_action) { if (p_action->GetUnknowna0()) { - FUN_100c7ce0(p_action->GetUnknowna0()); + ReleaseStreamBuffer(p_action->GetUnknowna0()); } p_action->SetUnknowna0(NULL); delete p_action; } // FUNCTION: LEGO1 0x100c7ce0 -void MxDiskStreamController::FUN_100c7ce0(MxDSBuffer* p_buffer) +void MxDiskStreamController::ReleaseStreamBuffer(MxDSBuffer* p_buffer) { switch (p_buffer->GetMode()) { case MxDSBuffer::e_chunk: @@ -249,18 +249,18 @@ void MxDiskStreamController::FUN_100c7ce0(MxDSBuffer* p_buffer) } // FUNCTION: LEGO1 0x100c7d10 -MxResult MxDiskStreamController::FUN_100c7d10() +MxResult MxDiskStreamController::ProcessNextCachedRead() { AUTOLOCK(m_criticalSection); - MxDSStreamingAction* action = FUN_100c7db0(); + MxDSStreamingAction* action = PopReadyStreamingAction(); if (!action) { return FAILURE; } - if (FUN_100c8360(action) != SUCCESS) { + if (ConsumeStreamBuffer(action) != SUCCESS) { VTable0x24(action); - FUN_100c7cb0(action); + DeleteStreamingAction(action); return FAILURE; } @@ -269,7 +269,7 @@ MxResult MxDiskStreamController::FUN_100c7d10() // FUNCTION: LEGO1 0x100c7db0 // FUNCTION: BETA10 0x101551d0 -MxDSStreamingAction* MxDiskStreamController::FUN_100c7db0() +MxDSStreamingAction* MxDiskStreamController::PopReadyStreamingAction() { AUTOLOCK(m_criticalSection); @@ -298,7 +298,7 @@ MxDSStreamingAction* MxDiskStreamController::FUN_100c7db0() // FUNCTION: LEGO1 0x100c7f40 // FUNCTION: BETA10 0x101553e0 -void MxDiskStreamController::FUN_100c7f40(MxDSStreamingAction* p_streamingaction) +void MxDiskStreamController::QueueCompletedRead(MxDSStreamingAction* p_streamingaction) { AUTOLOCK(m_criticalSection); if (p_streamingaction) { @@ -320,7 +320,7 @@ MxResult MxDiskStreamController::VTable0x20(MxDSAction* p_action) action->SetOrigin(entry->GetOrigin()); action->SetUnknowna0(entry->GetUnknowna4()); - FUN_100c7f40(action); + QueueCompletedRead(action); if (VTable0x2c(p_action, entry->GetUnknown94()) != SUCCESS) { return FAILURE; @@ -336,7 +336,7 @@ MxResult MxDiskStreamController::VTable0x20(MxDSAction* p_action) } // FUNCTION: LEGO1 0x100c8120 -void MxDiskStreamController::FUN_100c8120(MxDSAction* p_action) +void MxDiskStreamController::CancelDiskAction(MxDSAction* p_action) { VTable0x30(p_action); @@ -389,13 +389,13 @@ MxResult MxDiskStreamController::VTable0x24(MxDSAction* p_action) } // FUNCTION: LEGO1 0x100c8360 -MxResult MxDiskStreamController::FUN_100c8360(MxDSStreamingAction* p_action) +MxResult MxDiskStreamController::ConsumeStreamBuffer(MxDSStreamingAction* p_action) { AUTOLOCK(m_criticalSection); MxDSBuffer* buffer = p_action->GetUnknowna0(); MxDSStreamingAction* action2 = (MxDSStreamingAction*) m_list0x90.FindAndErase(p_action); - buffer->FUN_100c6f80(p_action->GetUnknown94() - p_action->GetBufferOffset()); - buffer->FUN_100c67b0(this, p_action, &action2); + buffer->SeekBufferCursor(p_action->GetUnknown94() - p_action->GetBufferOffset()); + buffer->ParseDataChunks(this, p_action, &action2); if (buffer->GetRefCount()) { p_action->SetUnknowna0(NULL); @@ -404,7 +404,7 @@ MxResult MxDiskStreamController::FUN_100c8360(MxDSStreamingAction* p_action) if (action2) { if (action2->GetUnknowna0() == NULL) { - FUN_100c7cb0(action2); + DeleteStreamingAction(action2); } else { if (action2->GetObjectId() == -1) { @@ -415,7 +415,7 @@ MxResult MxDiskStreamController::FUN_100c8360(MxDSStreamingAction* p_action) } } - FUN_100c7cb0(p_action); + DeleteStreamingAction(p_action); return SUCCESS; } @@ -428,14 +428,14 @@ void MxDiskStreamController::InsertToList74(MxDSBuffer* p_buffer) // FUNCTION: LEGO1 0x100c8540 // FUNCTION: BETA10 0x10155a05 -void MxDiskStreamController::FUN_100c8540() +void MxDiskStreamController::PurgeReleasedBuffers() { AUTOLOCK(m_criticalSection); for (list::iterator it = m_list0x74.begin(); it != m_list0x74.end();) { MxDSBuffer* buf = *it; if (buf->GetRefCount() == 0) { m_list0x74.erase(it++); - FUN_100c7ce0(buf); + ReleaseStreamBuffer(buf); } else { it++; @@ -446,7 +446,7 @@ void MxDiskStreamController::FUN_100c8540() while (!m_list0x64.empty()) { MxDSStreamingAction* action = (MxDSStreamingAction*) m_list0x64.front(); m_list0x64.pop_front(); - FUN_100c7cb0(action); + DeleteStreamingAction(action); } } } @@ -456,28 +456,28 @@ void MxDiskStreamController::FUN_100c8540() MxResult MxDiskStreamController::Tickle() { if (m_unk0xc4) { - FUN_100c7d10(); + ProcessNextCachedRead(); } - FUN_100c8540(); - FUN_100c8720(); + PurgeReleasedBuffers(); + DeleteQueuedActions(); if (m_unk0x70) { - FUN_100c7980(); + ScheduleNextDiskRead(); } return SUCCESS; } // FUNCTION: LEGO1 0x100c8670 -void MxDiskStreamController::FUN_100c8670(MxDSStreamingAction* p_streamingAction) +void MxDiskStreamController::QueueActionForDeletion(MxDSStreamingAction* p_streamingAction) { AUTOLOCK(m_critical9c); m_list0xb8.push_back(p_streamingAction); } // FUNCTION: LEGO1 0x100c8720 -void MxDiskStreamController::FUN_100c8720() +void MxDiskStreamController::DeleteQueuedActions() { AUTOLOCK(m_critical9c); @@ -485,6 +485,6 @@ void MxDiskStreamController::FUN_100c8720() while (!m_list0xb8.empty()) { action = (MxDSStreamingAction*) m_list0xb8.front(); m_list0xb8.pop_front(); - FUN_100c7cb0(action); + DeleteStreamingAction(action); } } diff --git a/LEGO1/omni/src/stream/mxdiskstreamprovider.cpp b/LEGO1/omni/src/stream/mxdiskstreamprovider.cpp index de16f38c..d40e9b3a 100644 --- a/LEGO1/omni/src/stream/mxdiskstreamprovider.cpp +++ b/LEGO1/omni/src/stream/mxdiskstreamprovider.cpp @@ -65,7 +65,7 @@ MxDiskStreamProvider::~MxDiskStreamProvider() g_unk0x10102878--; } - ((MxDiskStreamController*) m_pLookup)->FUN_100c8670((MxDSStreamingAction*) action); + ((MxDiskStreamController*) m_pLookup)->QueueActionForDeletion((MxDSStreamingAction*) action); } while (action); if (m_remainingWork) { @@ -137,7 +137,7 @@ void MxDiskStreamProvider::VTable0x20(MxDSAction* p_action) g_unk0x10102878--; } - ((MxDiskStreamController*) m_pLookup)->FUN_100c8670((MxDSStreamingAction*) action); + ((MxDiskStreamController*) m_pLookup)->QueueActionForDeletion((MxDSStreamingAction*) action); } while (action); } else { @@ -155,7 +155,7 @@ void MxDiskStreamProvider::VTable0x20(MxDSAction* p_action) g_unk0x10102878--; } - ((MxDiskStreamController*) m_pLookup)->FUN_100c8670((MxDSStreamingAction*) action); + ((MxDiskStreamController*) m_pLookup)->QueueActionForDeletion((MxDSStreamingAction*) action); } while (action); } } @@ -175,7 +175,7 @@ MxResult MxDiskStreamProvider::WaitForWorkToComplete() } // FUNCTION: LEGO1 0x100d1780 -MxResult MxDiskStreamProvider::FUN_100d1780(MxDSStreamingAction* p_action) +MxResult MxDiskStreamProvider::QueueDiskRead(MxDSStreamingAction* p_action) { if (!m_remainingWork) { return FAILURE; @@ -221,7 +221,7 @@ void MxDiskStreamProvider::PerformWork() if (!m_list.empty()) { streamingAction = m_list.front(); - if (streamingAction && !FUN_100d1af0((MxDSStreamingAction*) streamingAction)) { + if (streamingAction && !CanStartReadNow((MxDSStreamingAction*) streamingAction)) { m_thread.Sleep(500); m_busySemaphore.Release(1); return; @@ -253,14 +253,14 @@ void MxDiskStreamProvider::PerformWork() buffer->SetUnknown1c(m_pFile->GetPosition()); if (((MxDSStreamingAction*) streamingAction)->GetUnknown9c() > 0) { - FUN_100d1b20(((MxDSStreamingAction*) streamingAction)); + StitchSplitStreamBuffer(((MxDSStreamingAction*) streamingAction)); } else { if (m_pLookup == NULL || !((MxDiskStreamController*) m_pLookup)->GetUnk0xc4()) { - controller->FUN_100c8670(((MxDSStreamingAction*) streamingAction)); + controller->QueueActionForDeletion(((MxDSStreamingAction*) streamingAction)); } else { - controller->FUN_100c7f40(((MxDSStreamingAction*) streamingAction)); + controller->QueueCompletedRead(((MxDSStreamingAction*) streamingAction)); } } @@ -270,14 +270,14 @@ void MxDiskStreamProvider::PerformWork() done: if (streamingAction) { - controller->FUN_100c8670(((MxDSStreamingAction*) streamingAction)); + controller->QueueActionForDeletion(((MxDSStreamingAction*) streamingAction)); } m_thread.Sleep(0); } // FUNCTION: LEGO1 0x100d1af0 -MxBool MxDiskStreamProvider::FUN_100d1af0(MxDSStreamingAction* p_action) +MxBool MxDiskStreamProvider::CanStartReadNow(MxDSStreamingAction* p_action) { if (p_action->GetUnknowna0()->GetWriteOffset() == 0x20000) { return g_unk0x10102878 == 0; @@ -288,7 +288,7 @@ MxBool MxDiskStreamProvider::FUN_100d1af0(MxDSStreamingAction* p_action) // FUNCTION: LEGO1 0x100d1b20 // FUNCTION: BETA10 0x10163712 -MxResult MxDiskStreamProvider::FUN_100d1b20(MxDSStreamingAction* p_action) +MxResult MxDiskStreamProvider::StitchSplitStreamBuffer(MxDSStreamingAction* p_action) { MxDSBuffer* buffer = new MxDSBuffer(); @@ -307,7 +307,7 @@ MxResult MxDiskStreamProvider::FUN_100d1b20(MxDSStreamingAction* p_action) MxU8* data; if (p_action->GetUnknowna4()) { - buffer->FUN_100c7090(p_action->GetUnknowna4()); + buffer->CopyBufferStateFrom(p_action->GetUnknowna4()); data = buffer->GetBuffer() + p_action->GetUnknowna4()->GetWriteOffset(); memcpy(data, p_action->GetUnknowna0()->GetBuffer(), p_action->GetUnknowna0()->GetWriteOffset()); @@ -362,16 +362,16 @@ MxResult MxDiskStreamProvider::FUN_100d1b20(MxDSStreamingAction* p_action) p_action->SetBufferOffset(p_action->GetUnknowna0()->GetUnknown14()); delete p_action->GetUnknowna0(); p_action->ClearUnknowna0(); - ((MxDiskStreamController*) m_pLookup)->FUN_100c7890(p_action); + ((MxDiskStreamController*) m_pLookup)->QueueReadAheadAction(p_action); return SUCCESS; } - data = buffer->FUN_100c6fa0(data); + data = buffer->FindNextChunk(data); } p_action->SetUnknown94(GetFileSize() + p_action->GetBufferOffset()); p_action->SetBufferOffset(GetFileSize() + p_action->GetBufferOffset()); - FUN_100d1780(p_action); + QueueDiskRead(p_action); return SUCCESS; #undef IntoType diff --git a/LEGO1/omni/src/stream/mxdsbuffer.cpp b/LEGO1/omni/src/stream/mxdsbuffer.cpp index aecb55d6..0bf59e03 100644 --- a/LEGO1/omni/src/stream/mxdsbuffer.cpp +++ b/LEGO1/omni/src/stream/mxdsbuffer.cpp @@ -99,7 +99,7 @@ MxResult MxDSBuffer::SetBufferPointer(MxU8* p_buffer, MxU32 p_size) // FUNCTION: LEGO1 0x100c67b0 // FUNCTION: BETA10 0x10157295 -MxResult MxDSBuffer::FUN_100c67b0( +MxResult MxDSBuffer::ParseDataChunks( MxStreamController* p_controller, MxDSAction* p_action, MxDSStreamingAction** p_streamingAction @@ -132,7 +132,7 @@ MxResult MxDSBuffer::FUN_100c67b0( (*p_streamingAction)->ClearUnknowna0(); } - ((MxDiskStreamController*) p_controller)->FUN_100c7cb0(*p_streamingAction); + ((MxDiskStreamController*) p_controller)->DeleteStreamingAction(*p_streamingAction); *p_streamingAction = NULL; } else { @@ -291,7 +291,7 @@ MxResult MxDSBuffer::ParseChunk( data->SetData(m_unk0x30->GetBufferOffset()); } - m_unk0x30->FUN_100cd2d0(); + m_unk0x30->AdvanceLoopPlaybackWindow(); } delete p_header; @@ -447,7 +447,7 @@ MxResult MxDSBuffer::CalcBytesRemaining(MxU8* p_data) } // FUNCTION: LEGO1 0x100c6f80 -void MxDSBuffer::FUN_100c6f80(MxU32 p_writeOffset) +void MxDSBuffer::SeekBufferCursor(MxU32 p_writeOffset) { if (p_writeOffset < m_writeOffset) { m_pIntoBuffer2 = m_pBuffer + p_writeOffset; @@ -457,7 +457,7 @@ void MxDSBuffer::FUN_100c6f80(MxU32 p_writeOffset) // FUNCTION: LEGO1 0x100c6fa0 // FUNCTION: BETA10 0x101582f2 -MxU8* MxDSBuffer::FUN_100c6fa0(MxU8* p_data) +MxU8* MxDSBuffer::FindNextChunk(MxU8* p_data) { MxU8* volatile current = p_data ? p_data : m_pBuffer; @@ -495,7 +495,7 @@ MxU8* MxDSBuffer::FUN_100c6fa0(MxU8* p_data) // FUNCTION: LEGO1 0x100c7090 // FUNCTION: BETA10 0x1015842d -MxResult MxDSBuffer::FUN_100c7090(MxDSBuffer* p_buf) +MxResult MxDSBuffer::CopyBufferStateFrom(MxDSBuffer* p_buf) { MxResult result = FAILURE; diff --git a/LEGO1/omni/src/stream/mxramstreamcontroller.cpp b/LEGO1/omni/src/stream/mxramstreamcontroller.cpp index c856d695..51d19e76 100644 --- a/LEGO1/omni/src/stream/mxramstreamcontroller.cpp +++ b/LEGO1/omni/src/stream/mxramstreamcontroller.cpp @@ -86,9 +86,9 @@ MxResult MxRAMStreamController::DeserializeObject(MxDSStreamingAction& p_action) MxDSStreamingAction* value = NULL; do { - m_buffer.FUN_100c6f80(p_action.GetUnknown94()); + m_buffer.SeekBufferCursor(p_action.GetUnknown94()); // Probably not MxResult, see below - result = m_buffer.FUN_100c67b0(this, &p_action, &value); + result = m_buffer.ParseDataChunks(this, &p_action, &value); } while (m_unk0x3c.Find(&p_action) != NULL); return result == SUCCESS ? SUCCESS : FAILURE; diff --git a/LEGO1/omni/src/stream/mxstreamcontroller.cpp b/LEGO1/omni/src/stream/mxstreamcontroller.cpp index 8c3cf079..9db4dbe1 100644 --- a/LEGO1/omni/src/stream/mxstreamcontroller.cpp +++ b/LEGO1/omni/src/stream/mxstreamcontroller.cpp @@ -129,13 +129,13 @@ MxResult MxStreamController::VTable0x24(MxDSAction* p_action) else { p_action->SetUnknown24(m_action0x60->GetUnknown24()); p_action->SetObjectId(m_action0x60->GetObjectId()); - return FUN_100c1f00(m_action0x60); + return SendEndOfStreamChunk(m_action0x60); } } // FUNCTION: LEGO1 0x100c1800 // FUNCTION: BETA10 0x1014ea36 -MxResult MxStreamController::FUN_100c1800(MxDSAction* p_action, MxU32 p_val) +MxResult MxStreamController::QueueNextActionDataStart(MxDSAction* p_action, MxU32 p_val) { MxNextActionDataStart* dataActionStart = new MxNextActionDataStart(p_action->GetObjectId(), p_action->GetUnknown24(), p_val); @@ -149,7 +149,7 @@ MxResult MxStreamController::FUN_100c1800(MxDSAction* p_action, MxU32 p_val) // FUNCTION: LEGO1 0x100c1a00 // FUNCTION: BETA10 0x1014eb04 -MxResult MxStreamController::FUN_100c1a00(MxDSAction* p_action, MxU32 p_offset) +MxResult MxStreamController::CreateStreamingAction(MxDSAction* p_action, MxU32 p_offset) { if (p_action->GetUnknown24() == -1) { MxS16 newUnknown24 = -1; @@ -214,11 +214,11 @@ MxResult MxStreamController::VTable0x2c(MxDSAction* p_action, MxU32 p_bufferval) { AUTOLOCK(m_criticalSection); - if (FUN_100c1a00(p_action, p_bufferval) != SUCCESS) { + if (CreateStreamingAction(p_action, p_bufferval) != SUCCESS) { return FAILURE; } - return FUN_100c1800(p_action, (p_bufferval / m_provider->GetFileSize()) * m_provider->GetFileSize()); + return QueueNextActionDataStart(p_action, (p_bufferval / m_provider->GetFileSize()) * m_provider->GetFileSize()); } // FUNCTION: LEGO1 0x100c1ce0 @@ -257,7 +257,7 @@ MxResult MxStreamController::InsertActionToList54(MxDSAction* p_action) // FUNCTION: LEGO1 0x100c1e70 // FUNCTION: BETA10 0x1014f0a1 -MxPresenter* MxStreamController::FUN_100c1e70(MxDSAction& p_action) +MxPresenter* MxStreamController::FindPresenterForAction(MxDSAction& p_action) { AUTOLOCK(m_criticalSection); MxPresenter* result = NULL; @@ -274,7 +274,7 @@ MxPresenter* MxStreamController::FUN_100c1e70(MxDSAction& p_action) // FUNCTION: LEGO1 0x100c1f00 // FUNCTION: BETA10 0x1014f162 -MxResult MxStreamController::FUN_100c1f00(MxDSAction* p_action) +MxResult MxStreamController::SendEndOfStreamChunk(MxDSAction* p_action) { AUTOLOCK(m_criticalSection); @@ -298,7 +298,7 @@ MxResult MxStreamController::FUN_100c1f00(MxDSAction* p_action) MxDSAction* action; while (cursor.Next(action)) { - if (FUN_100c1f00(action) != SUCCESS) { + if (SendEndOfStreamChunk(action) != SUCCESS) { return FAILURE; } } diff --git a/LEGO1/omni/src/stream/mxstreamer.cpp b/LEGO1/omni/src/stream/mxstreamer.cpp index bb5f1cb5..5a1e935b 100644 --- a/LEGO1/omni/src/stream/mxstreamer.cpp +++ b/LEGO1/omni/src/stream/mxstreamer.cpp @@ -141,11 +141,11 @@ MxStreamController* MxStreamer::GetOpenStream(const char* p_name) } // FUNCTION: LEGO1 0x100b98f0 -void MxStreamer::FUN_100b98f0(MxDSAction* p_action) +void MxStreamer::StopDiskAction(MxDSAction* p_action) { MxStreamController* controller = GetOpenStream(p_action->GetAtomId().GetInternal()); if (controller && controller->IsA("MxDiskStreamController")) { - ((MxDiskStreamController*) controller)->FUN_100c8120(p_action); + ((MxDiskStreamController*) controller)->CancelDiskAction(p_action); } } @@ -168,7 +168,7 @@ MxResult MxStreamer::AddStreamControllerToOpenList(MxStreamController* p_stream) // FUNCTION: LEGO1 0x100b99b0 // FUNCTION: BETA10 0x101459ad -MxResult MxStreamer::FUN_100b99b0(MxDSAction* p_action) +MxResult MxStreamer::StartObjectStreaming(MxDSAction* p_action) { // TODO: MxAtomId operator== used here for NULL test. BETA10 0x1007dc20 if (p_action == NULL || p_action->GetAtomId().GetInternal() == NULL || p_action->GetObjectId() == -1) { @@ -212,7 +212,7 @@ MxResult MxStreamer::DeleteObject(MxDSAction* p_dsAction) // FUNCTION: LEGO1 0x100b9b30 // FUNCTION: BETA10 0x10145d01 -MxBool MxStreamer::FUN_100b9b30(MxDSObject& p_dsObject) +MxBool MxStreamer::IsObjectStopped(MxDSObject& p_dsObject) { MxStreamController* controller = GetOpenStream(p_dsObject.GetAtomId().GetInternal()); if (controller) { diff --git a/LEGO1/omni/src/video/mxdisplaysurface.cpp b/LEGO1/omni/src/video/mxdisplaysurface.cpp index 8200f478..515fb09d 100644 --- a/LEGO1/omni/src/video/mxdisplaysurface.cpp +++ b/LEGO1/omni/src/video/mxdisplaysurface.cpp @@ -1371,7 +1371,7 @@ void MxDisplaySurface::VTable0x2c( } // FUNCTION: LEGO1 0x100bc8b0 -LPDIRECTDRAWSURFACE MxDisplaySurface::FUN_100bc8b0(MxS32 p_width, MxS32 p_height) +LPDIRECTDRAWSURFACE MxDisplaySurface::Create16BitOffscreenSurface(MxS32 p_width, MxS32 p_height) { LPDIRECTDRAWSURFACE surface = NULL;