mirror of
https://github.com/zeldaret/botw
synced 2026-10-09 21:44:27 -04:00
950e78e940c8a35001c70d8da60dd6c17fd2f2d8
8 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
950e78e940 |
Action: rename 56 base classes to fit link order
Action TUs link in case-insensitive file-name order, so a guessed base name that does not sort into the slot where the class's TU sits is wrong. Each new name sorts between the neighbouring TUs below and is coined from the class's params, derived classes and code. | Old | New | Links between | TU start | |---|---|---|---| | GiantAttackWithAS | AttackWithAS | AttackPartBind – AvoidingCloseMoveActionBase | 0x71000adf4c | | BattleCloseMoveActionBase | AvoidingCloseMoveActionBase | AttackWithAS – AvoidingCloseMoveBase | 0x71000ae354 | | ForbidTag | BasicSignalForbidTag | BasicSignalEnemyNotice – BattleCloseDangerAvoidRun | 0x71000ba90c | | NeckSpinBeam | BeamNeckSpin | BeamMove – NeckSpin | 0x71000c1eb8 | | PlayerStoleOpenBase | BindPlayerNodeBase | BindParentAction – BindPlayerNodeEx | 0x71000c6300 | | PlayerStoleOpenEx | BindPlayerNodeEx | BindPlayerNodeBase – BirdEscape | 0x71000c68a8 | | KokkoCreateDropBase | CreateDropBase | CreateAndReplaceAssassin – CreateEpona | 0x71000e3500 | | MoveToTargetCurveBase | CurveMoveToTargetBase | CreateObjectsOfOwnedHorse – DamagedTurn | 0x71000e4f8c | | ApplyDamageForPlayer | DemoApplyDamageBase | DeletePorchItemIncludeEquip – DemoApplyDamageForPlayer | 0x71000e78fc | | WarpPlayerBase | DestPlayerWarpBase | DemoVisibleOn – DestPointMoveBase | 0x71000ec7c8 | | RailMoveBase | DestPointMoveBase | DestPlayerWarpBase – DgnObj_DLC_CogWheel_Rotate | 0x71000ecff8 | | ChuchuDissappearEscapeBase | DisappearAndEscapeBase | DisableAutoSavePausing – DisappearDeathCounter | 0x71000f04b4 | | AttackPowerExplode | EitherSideExplode | EatWithAS – ElectricAttack | 0x7100102b3c | | EnemyFortressChatTurnBase | EnemyFortressChatLookBase | EnemyFortressChatCall – EnemyFortressChatSpeak | 0x7100107860 | | HornUseBase | EquipHornUseBase | EquipedWithScale – Escape | 0x71001131f4 | | EventHoverNullASPlayBase | EventNullASPlayBase | EventMiniGameTimerWrite – EventOpenGetDemo | 0x710011c8c8 | | FireWoodBase | FireBurnBase | FallAttack – FireWood | 0x710012d258 | | AreaFireObserveBase | FireObserveBase | AreaRecreateActorAction – OwnedHorseObserveAction (Area) | 0x7100e23d88 | | FlyingCharacterDamageBase | FlyingActorDamageBase | FlowingDust – FlyingCharacterFreeFallBase | 0x7100130748 | | ForkDynActorNoTargetSelfBase | ForkEndByConditionBase | ForkEmitShockWaveByContact – ForkEndByDistance | 0x71001503b0 | | ForkSimpleGrabBase | ForkGrabBase | ForkGolemMaterialASPlay – ForkGravityScaleChange | 0x71001579b8 | | ForkHoverKeepRotateTurnBase | ForkKeepRotateTurn | ForkJumpToTargetOnDownEnd – ForkKnockBackNoRot | 0x7100159c08 | | ForkEmitChmField | ForkTrgEmitChmFieldBase | ForkTimerForceResetCondition – ForkTurnASHold | 0x7100167ea0 | | ChuchuPreAttackBase | GelJumpBase | GelEnemySystemHideChase – GelJumpTackle | 0x71001806dc | | GiantEnemyWalkWithVibration | GiantEnemyMoveWithVibration | GiantDownSwingAttack – GiantEnemyWalk | 0x71001892d4 | | GiantNavMeshWalkWithVibration | GiantNavMeshMoveWithVibration | GiantHandClapToTarget – GiantNavMeshWalk | 0x7100189c64 | | GuardianMoveTo | GuardianActionBase | GuardBreak – GuardianAimBeam | 0x71001926f4 | | AnimalFollowBase | HorseFollowBase | HorseFollow – HorseFreeze | 0x71001a082c | | HorseRide | HorseRideBase | HorseRideAttack – HorseRideCancelCommand | 0x71001ad7ac | | HorseRideCommandBase | HorseRideOneTimeCommandBase | HorseRideOneTimeASPlay – HorseRideOneTimeViewASPlay | 0x71001aff3c | | OctarockReloadWigBase | IgniteActorReloadBase | IceBroken – IgnitedThrown | 0x71001b5258 | | TakeHitImpactForce | KnockBackHitImpactForce | Kick* – KokkoCreateDrop* | 0x71001c9268 | | SiteBossSwordWhirlSlashChargeBase | LastBossSwordWhirlSlashChargeBase | LastBossStun – LastBossThunderAppear | 0x71001d8210 | | Move2HomePosBase | MoveHomePosBase | MoveByAnimeDrivenToTarget – MoveKeyFramed | 0x71001ea488 | | MultiVacuumRotScaleTimeByDistWithTgtBase | MultiVacuumBase | Msg2CameraResetNoConnect – MultiVacuumRotBase | 0x71001edb88 | | MultiVacuumRotScaleTimeByDistWithTgt | MultiVacuumRotBase | MultiVacuumBase – MultiVacuumRotScaleTimeByDist | 0x71001eec0c | | NavMeshAction | NavMeshMoveBase | NavMeshLiftWalk – NavMeshMoveWithAS | 0x71001f0518 | | BackWalkEx | NormalBackWalk | NoDeleteCurrentActor – Notice | 0x71001f2f78 | | GiantOneHandActionWithLegTurn | OneHandActionWithLegTurn | OnCorrect – OnEnterSwapActorBase | 0x7100211194 | | ForkOnEnterSwapDropTableActorBase | OnEnterSwapActorBase | OneHandActionWithLegTurn – OnEnterSwapDropTable | 0x71002117ec | | ForkOnEnterSwapDropTableActor | OnEnterSwapDropTable | OnEnterSwapActorBase – OnEnterSwapDropTableActor | 0x7100211d0c | | RegistedActorDeadCheckBase | RegistedActorAllDeadCheckBase | ReflectThrown – RegistedActorBroadCastMessage | 0x7100229a34 | | RegistedActorActionBase | RegistedActorSetActionBase | RegistedActorDeadCheck – ReloadArrow | 0x710022a3a8 | | SendPlayerNoticeMessageBase | SendNoticeMessageBase | SendMessageBroadCast – SendPlayerNoticeMessage | 0x7100243cf0 | | SendMessageToTargetActor | SendTargetActorMessageBase | SendSignalForSignalFlowAct – SendTargetActorRequestShareAwn | 0x710024487c | | SideWalkBase | SideMoveBase | ShutterOpenWait – SideStep | 0x71002525a0 | | SimpleGrabWithASBase | SimpleGrabBase | SilentKilled – SimpleGrabWithAS | 0x71002544d4 | | KnockBackShock | SimpleKnockBackShock | SimpleGrabWithAS – SimpleLineBeam | 0x7100254ac8 | | SlippedCircleWalkBase | SlippedCircleMoveBase | SlippedBackWalkBase – SlippedCircleWalk | 0x710026fe88 | | SlippedWalkBase | SlippedMoveBase | SlippedCircleWalk – SlippedWalk | 0x7100270b68 | | ActionWithPosAngReduce | StopBase | StopASPlay – StopCliffTongueAttack | 0x710027e328 | | AttackBase | StoppingAttackBase | StopOnObj – StorePlayerPosAndRotate | 0x7100280554 | | SwimEnemyAnmBackBlownOffBase | SwimEnemyBlownOffBase | SwimEnemyAnmBackBlownOffToPL – SwimGetUp | 0x71002890d0 | | LookAtObjectBase | TurnAndLookToObjBase | TurnAndLookAtToObjectNow – TurnAndLookToObject | 0x710029e794 | | GiantAttack | TurnGiantAttack | TurnBase – TurnIgnite | 0x71002a1738 | | WillBallAction | WillBallBase | WillBallAvoidCenterDist – WillBallParabolaAttack | 0x71002bb4ec | \* The nearest correctly placed neighbour; the TUs in between are still misnamed. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) |
||
|
|
6442a24670 |
eft: move the effect actions to KingSystem/Effect
Link order: FootStepCalcOn (0x7100da1968) lies in the KingSystem/Effect block. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) |
||
|
|
c4c7c00e85 |
aoc: Manager is ksys, the DLC managers stay game-side
aoc::Manager is created during engine start-up and called by gdt, map and StarterPackMgr; only game code uses HardModeManager and ChampionBalladManager. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) |
||
|
|
38905c8c07 |
AutoPlacement is game code: move it to Game/
It is created only from game code, no engine code calls it, and it hardcodes game actor names. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) |
||
|
|
34e57daf61 |
AI: merge the duplicate DummyAction into ksys
The action factory uses the single ksys ctor for both entries and DummyDropTable's ctor calls it too; deriving from it makes DummyDropTable's five functions match. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) |
||
|
|
a168b93bbc |
snd: move sound actions and AIs to KingSystem/Sound
They link with KingSystem/Sound (0x7100fe8b54-0x7101060ed4) as sorted Action/AI passes of their own. The three area tag actions keep their game base AreaTagAction, which links in the Game/Actor/Area block. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) |
||
|
|
b12306210c |
AI: rename misordered base classes
AI and Action TUs link in case-insensitive file-name order, so a guessed base name that breaks it is wrong. Each new name sorts into the slot where the class's TU sits (neighbouring TUs and an address in the TU below) and comes from the class's params, child states and derived classes. ai:: | Old | New | Links between | In TU | |---|---|---|---| | AddViewTargetPosBase | AddViewTarget | AddSwarmMove – AddViewTargetPos | 0x71002f9c68 | | AncientNecklaceBallBase | PlayASSwitch | PipeDrawing – PlayerSetTarget | 0x71004f6a78 | | AnimalRoamBase | AnimalRndMove | AnimalRangeKeepMoveWithLOS – AnimalRoam | 0x710030a6c0 | | AppearNearTarget | AppearFromTarget | AnimalTimelineAI – AppearFromTargetFrontAfterChase | 0x710030d868 | | AssassinFieldShooterBattleBase | AssassinShooterBattle | AssassinRoot – AssassinShooterJuniorAzitoRoot | 0x7100321dc4 | | AssassinMagicTgtSelect | TargetHeightAreaSelect | TargetExistSelect – TargetHomeDir | 0x71005bef5c | | AssassinNormal | GuardHomePosNormal | GuardFrequencySelect – GuardianAI | 0x710040cd68 | | BeamExplodeBase | SimpleBeamExplode | SimpleASBridge – SimpleEnemyNormal | 0x710056c5fc | | ChildFavoriteSelectorBase | ChildSelector | ChildHaveSelect – ChmCheck | 0x710034aad0 | | DragonRootBase | ControlRailRoot | ConditionMoveActionSelect – CookPotRoot | 0x7100356664 | | EnemyChemTargetActionBase | EnemyTargetAction | EnemySyncAttack – EnemyTargetGearSelect | 0x71003bf75c | | FlyingEnemyKeepMove | FlyingEnemyDistanceKeepMove | FlyingEnemyDiagonallyKeepMove – FlyingEnemyFindPlayer | 0x71003d1694 | | GoronCannonBase | BigCannon | BezierRailMove – BirdDead | 0x710032cd80 | | GuardNearTarget | InvincibleNearTargetBase | InvincibleNearTarget – InvisibleKorokRailMove | 0x710044c6b8 | | GuardianBeamAttackBase | GuardianCommonBeamAttack | GuardianCloseBattle – GuardianDown | 0x7100411da0 | | HorseCheckLineOfSightSelectorBase | CheckLineOfSightSelector | ChaseSound – ChemicalEnemyFindPlayer | 0x7100346868 | | LargeEnemyFindPlayer | GiantEnemyFindPlayer | GiantEarthReleaseAttack – GiantEscapeFromDamageWater | 0x71003f69c8 | | MimicCliffStopEnemyNormalBase | CliffStopEnemyNormal | CliffDistanceSelectThreeAction – CloseSmallAttackBase | 0x71003522f4 | | MiniBeamAttack | GuideBeamAttackEnemyBattle | GuardianWait – GyroActivateTerminal | 0x710042cae8 | | MotorcycleRootBase | HorseRiddenStatusSelector | HorseRiddenByNPC – HorseRideChargeAttack | 0x710043ea88 | | NPCTravelBase | NPCScheduleMove | NPCRunaway – NPCSearch | 0x71004df66c | | NonPlayerHorseRide | RideHorseNonPlayer | RideHorseAI – WildHorseDefWanderAI (Horse) | 0x7100e60178 | | OctarockEscape | OctarockHideEscapeBase | OctarockHideEscape – OctarockOptionRoot | 0x71004ec368 | | OctarockRootBase | VacuumEnemyRoot | VacuumedBombDamageSelect – VehicleSelector | 0x71005e3348 | | OneMemoryMagicBattleBase | MagicBattle | LynelWarp – MagneGearRoot | 0x710049d0d8 | | PriestBossMode | PriestBoss | PreyStun – PriestBossActorCloneRoot | 0x7100505b7c | | RailMove | BezierRailMove | BeeSwarmRoot – BigCannon | 0x710032bbf0 | | RangeSelect | NewRangeSelect | NewMannequinRoot – NormalHumanEquipableShield | 0x71004bc0e8 | | RegistedActorNumTwoSelectBase | RegistedActor | ReflectableThrown – RegistedActorNumTwoSelect | 0x710053dfcc | | RemainElectricCannonRootBase | LargeCannonRoot | LargeCannonAttackRoot – LastAttackerSelect | 0x71004741e4 | | SandwormNormalBase | AwnSeal | AwarenessScale – BackAttackEnemyBattle | 0x71003258b4 | | SeqTwoLineReachableTargetActionBase | SeqTwoLineReachableTarget | SeqTwoAction – SeqTwoLineReachableTargetAction | 0x7100567460 | | SimpleWildlifeRoot | CapturedActorRoot | CapturedActorReactionChemical – CarryBox | 0x7100342690 | | SiteBossChemicalProjectile | GanonFlameBall | GanonFarAttackRootOnWall – GanonGrudgeNormal | 0x71003e996c | | SiteBossRecognizeRootBase | LastBossRecognizeRoot | LastBossRailWarpRoot – LastBossRoot | 0x7100478930 | | SpecialEnemySleep | SleepNormal | SleepBedRoot – SleepSelect | 0x710059a8c0 | | TargetAttackAttitudeTgtSelectBase | TargetAttackAttitudeTgt | TargetAngerSelect – TargetAttackAttitudeTgtSelect | 0x71005bb3ac | | TargetPosAI | TargetActorPos | TargetActorGrabAdapter – TargetAngerSelect | 0x71005bab4c | | TargetPosDynParamRot | TargetPosDynParamRotFromMyPos | TargetPosDynParamRotFromCtrPos – TargetPosLostCheck | 0x71005c4f8c | | TargetPosOffset | OffsetTargetPos | OctarockWaterWait – OnCliffEnemyBattle | 0x71004f16d8 | | TimedGuardNearTarget | InvincibleNearTarget | InvincibleHiddenOctarock – InvincibleNearTargetBase | 0x710044c1a4 | | UnarmedEnemySearch | NavMove | NavMeshTurnAwayFromHitPos – NavMoveNearTarget | 0x71004b5ec0 | | UnarmedEnemySearchWeapon | EnemySearch | EnemyRoot – EnemySearchHorse | 0x71003b6460 | | WholeDungeonRotateTag | DungeonRotateTagApp | DungeonRotateTag4WindApp – DungeonRotateTagCont | 0x7100379554 | action:: | Old | New | Links between | In TU | |---|---|---|---| | AirOctaFloatBase | AirOctaMoveBase | AirOctaMgr – AirOctaNoticeTurn | 0x71000880f8 | | AtkTackleMove | TackleAttack | SystemWarp – TackleMove | 0x71002910a4 | | BasicSignalEnemy | BasicSignalEnemyNotice | BasicSignalEnemyForceNotice – BattleCloseDangerAvoidRun* | 0x71000ba65c | | BattleCloseAction | AvoidingCloseMoveBase | AvoidingCloseMoveActionWithAcc – AwarenessShareOnePartsASPlay | 0x71000aed44 | | BattleCloseActionWithAcc | AvoidingCloseMoveActionWithAcc | AttackPartBind – AvoidingCloseMoveBase* | 0x71000ae8ec | | BattleCloseSlippedWalkBase | BattleCloseSlippedMoveBase | BattleCloseMoveAction – BattleCloseSlippedWalk | 0x71000becc8 | | CameraLockOnBase | CameraTrackBase | CameraTail – CameraWakeboard (Camera) | 0x71007850e4 | | ChargeAndShoot | ArrowChargeAndShoot | AreaRoot – ArrowShootHoming | 0x71000a17a4 | | ChemicalAttack | EmitAttackBase | ElectricParalysis – EmitElectricWaterBall | 0x7100104f54 | | ChemicalAttackBall | ChemicalAttack | CheckHorseCustomizeEdit – ChemicalElectricWaterBall | 0x71000db0e8 | | FlyingCharacterReaction | FlyingCharacterFreeFallBase | FlyingCharacterFreeFall – FlyingCharacterFreeFallDie | 0x7100132590 | | FollowChallenge | AppearFollowChallenge | AnimeDrivenTurn – AppearNumHeroSeal | 0x710004d0b4 | | ForkASTrgEmitShockWave | ForkEmitShockWave | ForkEmitExpandFieldWithCreate – ForkEmitShockWaveByContact | 0x710014f188 | | GolemThrowPartsToTargetBase | GolemThrowPartsBase | GolemRepairParts – GolemThrowPartsToTarget | 0x710018d678 | | HorseRideMoveCommand | HorseRideSetGearCommand | HorseRideSearch – HorseRideShoot | 0x71001b0828 | | OctarockBalloonBase | BalloonRopeBase | BalloonBase – BasicSignalBossAwakeSleep | 0x71000b8b9c | | PlayerGlide | PlayerParashawlGlideBase | PlayerParashawlGlide – PlayerPickUp (Player) | 0x710080352c | | PriestBossWarpOrVanish | PriestBossCloneFastWarp | PreJumpAttack – PriestBossClonesSpawn | 0x7100221304 | | RotateTurnToTarget | ASPlayRotateTurnToTarget | AscendingCurrentFixedSize – ASPlaySimpleAnmDriven | 0x71000a7bec | | SetGetFlagBase | SetFlag | SetExtraLifeOfPlayer – SetFrameASPlay | 0x7100247990 | | SimpleMessageDialogCtrl | ForkBasicMessageDialogCtrl | ForkAttackWithWeaponOrWithout – ForkBattleNodeForAttackGround | 0x71001471cc | | SiteBossBlowOff | LastBossBlowOff | LargeDamage – LastBossChemicalPillarAttack | 0x71001cf0ec | | SiteBossLswordAtk | SiteBossLswordAttack | SiteBossLswordAtkWithChemical – SiteBossLswordFireBall | 0x710025c470 | | WaitOnObjBase | StopOnObj | StopJump – StorePlayerPosAndRotate* | 0x710027f974 | | WaterUpDownMoveBase | WaterDepthMoveBase | WarpToStaticAnchor – WaterEmitter | 0x71002b33cc | Neighbours marked * are the nearest correctly placed TU; a TU that is itself still misnamed sits in between. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) |
||
|
|
f4cd38c43b |
Actor: move all AI code under Game/Actor
Link order shows one sorted actor tree, not a separate AI project: the Action/AI/Query folders and per-feature folders (Camera, Player, Horse, ...) come out of the same archive rounds as the actor classes. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) |