papermario/include/script_api/battle.h
2020-10-20 07:33:40 +01:00

335 lines
19 KiB
C

#ifndef _SCRIPT_API_BATTLE_H_
#define _SCRIPT_API_BATTLE_H_
#include "common_structs.h"
#include "si.h"
#include "script_api/common.h"
ApiStatus EnablePartnerBlur(ScriptInstance* script, s32 isInitialCall);
ApiStatus DisablePartnerBlur(ScriptInstance* script, s32 isInitialCall);
ApiStatus UseCamPreset(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetBattleCamTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetBattleCamOffsetZ(ScriptInstance* script, s32 isInitialCall);
ApiStatus AddBattleCamOffsetZ(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetBattleCamYaw(ScriptInstance* script, s32 isInitialCall);
ApiStatus BattleCamTargetActor(ScriptInstance* script, s32 isInitialCall);
ApiStatus MoveBattleCamOver(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetBattleCamZoom(ScriptInstance* script, s32 isInitialCall);
ApiStatus AddBattleCamZoom(ScriptInstance* script, s32 isInitialCall);
ApiStatus FreezeBattleCam(ScriptInstance* script, s32 isInitialCall);
ApiStatus close_action_command_instruction_popup(ScriptInstance* script, s32 isInitialCall);
ApiStatus ShowMessageBox(ScriptInstance* script, s32 isInitialCall);
ApiStatus ShowVariableMessageBox(ScriptInstance* script, s32 isInitialCall);
ApiStatus IsMessageBoxDisplayed(ScriptInstance* script, s32 isInitialCall);
ApiStatus WaitForMessageBoxDone(ScriptInstance* script, s32 isInitialCall);
ApiStatus ForceCloseMessageBox(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetMessageBoxDuration(ScriptInstance* script, s32 isInitialCall);
ApiStatus ItemDamageEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus ItemAfflictEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus ItemCheckHit(ScriptInstance* script, s32 isInitialCall);
ApiStatus ActorSpeak(ScriptInstance* script, s32 isInitialCall);
ApiStatus EndActorSpeech(ScriptInstance* script, s32 isInitialCall);
ApiStatus ShowBattleChoice(ScriptInstance* script, s32 isInitialCall);
ApiStatus OverrideBattleDmaDest(ScriptInstance* script, s32 isInitialCall);
ApiStatus LoadBattleDmaData(ScriptInstance* script, s32 isInitialCall);
ApiStatus PlaySoundAtActor(ScriptInstance* script, s32 isInitialCall);
ApiStatus PlaySoundAtPart(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetForegroundModelsVisibleUnchecked(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetForegroundModelsVisible(ScriptInstance* script, s32 isInitialCall);
ApiStatus MakeStatusField(ScriptInstance* script, s32 isInitialCall);
ApiStatus MultiplyByActorScale(ScriptInstance* script, s32 isInitialCall);
ApiStatus MultiplyVec2ByActorScale(ScriptInstance* script, s32 isInitialCall);
ApiStatus MultiplyVec3ByActorScale(ScriptInstance* script, s32 isInitialCall);
ApiStatus ApplyShrinkFromOwner(ScriptInstance* script, s32 isInitialCall);
ApiStatus StartRumble(ScriptInstance* script, s32 isInitialCall);
ApiStatus HasMerleeCastsLeft(ScriptInstance* script, s32 isInitialCall);
ApiStatus FXRecoverHP(ScriptInstance* script, s32 isInitialCall);
ApiStatus FXRecoverFP(ScriptInstance* script, s32 isInitialCall);
ApiStatus IncrementPlayerHP(ScriptInstance* script, s32 isInitialCall);
ApiStatus IncrementPlayerFP(ScriptInstance* script, s32 isInitialCall);
ApiStatus create_actor(ScriptInstance* script, s32 isInitialCall);
ApiStatus StartRumbleWithParams(ScriptInstance* script, s32 isInitialCall);
ApiStatus LoadItemScript(ScriptInstance* script, s32 isInitialCall);
ApiStatus LoadFreeItemScript(ScriptInstance* script, s32 isInitialCall);
ApiStatus LoadMoveScript(ScriptInstance* script, s32 isInitialCall);
ApiStatus LoadActionCommand(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActionSuccess(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActionSuccess(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActionSuccessCopy(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetBlockResult(ScriptInstance* script, s32 isInitialCall);
ApiStatus CloseActionCommandInfo(ScriptInstance* script, s32 isInitialCall);
ApiStatus LoadBattleSection(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetBattlePhase(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetLastElement(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetGoalToHome(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetIdleGoalToHome(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetGoalToIndex(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetIndexFromPos(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetIndexFromHome(ScriptInstance* script, s32 isInitialCall);
ApiStatus CountPlayerTargets(ScriptInstance* script, s32 isInitialCall);
ApiStatus ForceHomePos(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetHomePos(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetGoalToTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartGoalToTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetGoalToFirstTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetGoalPos(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetIdleGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus AddGoalPos(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetGoalPos(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetIdleGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorPos(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartOffset(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartPos(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetHomePos(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorPos(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartPos(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetEnemyTargetOffset(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetAnimation(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetAnimation(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetAnimationRate(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorYaw(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorYaw(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartYaw(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartYaw(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorJumpGravity(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorIdleJumpGravity(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorSpeed(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorIdleSpeed(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartJumpGravity(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartMoveSpeed(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetJumpAnimations(ScriptInstance* script, s32 isInitialCall);
ApiStatus AddActorPos(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorDispOffset(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartDispOffset(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartDispOffset(ScriptInstance* script, s32 isInitialCall);
ApiStatus AddPartDispOffset(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorVar(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorVar(ScriptInstance* script, s32 isInitialCall);
ApiStatus AddActorVar(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartMovementVar(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartMovementVar(ScriptInstance* script, s32 isInitialCall);
ApiStatus AddPartMovementVar(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorRotation(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorRotationOffset(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorRotation(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartRotation(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartRotationOffset(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartRotation(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorScale(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorScaleModifier(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorScale(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartScale(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartScale(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetBattleFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetBattleFlagBits(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetBattleFlags2(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetBattleFlagBits2(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorFlagBits(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartFlagBits(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartTargetFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartTargetFlagBits(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartTargetFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartEventFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartEventBits(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPartEventFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus HPBarToHome(ScriptInstance* script, s32 isInitialCall);
ApiStatus HPBarToCurrent(ScriptInstance* script, s32 isInitialCall);
ApiStatus SummonEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetOwnerID(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetOwnerID(ScriptInstance* script, s32 isInitialCall);
ApiStatus ActorExists(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetBattleInputMask(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetBattleInputButtons(ScriptInstance* script, s32 isInitialCall);
ApiStatus CheckButtonPress(ScriptInstance* script, s32 isInitialCall);
ApiStatus CheckButtonHeld(ScriptInstance* script, s32 isInitialCall);
ApiStatus CheckButtonDown(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetBattleState(ScriptInstance* script, s32 isInitialCall);
ApiStatus PlayerCreateTargetList(ScriptInstance* script, s32 isInitialCall);
ApiStatus EnemyCreateTargetList(ScriptInstance* script, s32 isInitialCall);
ApiStatus InitTargetIterator(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetOwnerTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus ChooseNextTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetTargetListLength(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetOwnerTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPlayerActorID(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetDistanceToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus AddActorDecoration(ScriptInstance* script, s32 isInitialCall);
ApiStatus RemoveActorDecoration(ScriptInstance* script, s32 isInitialCall);
ApiStatus ModifyActorDecoration(ScriptInstance* script, s32 isInitialCall);
ApiStatus UseIdleAnimation(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetStatusFlags(ScriptInstance* script, s32 isInitialCall);
ApiStatus RemovePlayerBuffs(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartAlpha(ScriptInstance* script, s32 isInitialCall);
ApiStatus CreatePartShadow(ScriptInstance* script, s32 isInitialCall);
ApiStatus RemovePartShadow(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetBattleVar(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetBattleVar(ScriptInstance* script, s32 isInitialCall);
ApiStatus ResetAllActorSounds(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorSounds(ScriptInstance* script, s32 isInitialCall);
ApiStatus ResetActorSounds(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartSounds(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorType(ScriptInstance* script, s32 isInitialCall);
ApiStatus ShowShockEffect(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorAttackBoost(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorDefenseBoost(ScriptInstance* script, s32 isInitialCall);
ApiStatus BoostAttack(ScriptInstance* script, s32 isInitialCall);
ApiStatus BoostDefense(ScriptInstance* script, s32 isInitialCall);
ApiStatus VanishActor(ScriptInstance* script, s32 isInitialCall);
ApiStatus ElectrifyActor(ScriptInstance* script, s32 isInitialCall);
ApiStatus HealActor(ScriptInstance* script, s32 isInitialCall);
ApiStatus WaitForBuffDone(ScriptInstance* script, s32 isInitialCall);
ApiStatus CopyBuffs(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetMenuSelection(ScriptInstance* script, s32 isInitialCall);
ApiStatus PlayerFallToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus PlayerLandJump(ScriptInstance* script, s32 isInitialCall);
ApiStatus PlayerRunToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus CancelablePlayerRunToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetPlayerHP(ScriptInstance* script, s32 isInitialCall);
ApiStatus PlayerDamageEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus PlayerPowerBounceEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus PlayerTestEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus DispatchDamagePlayerEvent(ScriptInstance* script, s32 isInitialCall);
ApiStatus EnablePlayerBlur(ScriptInstance* script, s32 isInitialCall);
ApiStatus DidActionSucceed(ScriptInstance* script, s32 isInitialCall);
ApiStatus BindTakeTurn(ScriptInstance* script, s32 isInitialCall);
ApiStatus PauseTakeTurn(ScriptInstance* script, s32 isInitialCall);
ApiStatus ResumeTakeTurn(ScriptInstance* script, s32 isInitialCall);
ApiStatus BindIdle(ScriptInstance* script, s32 isInitialCall);
ApiStatus EnableIdleScript(ScriptInstance* script, s32 isInitialCall);
ApiStatus BindHandleEvent(ScriptInstance* script, s32 isInitialCall);
ApiStatus BindNextTurn(ScriptInstance* script, s32 isInitialCall);
ApiStatus JumpToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus IdleJumpToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus JumpWithBounce(ScriptInstance* script, s32 isInitialCall);
ApiStatus LandJump(ScriptInstance* script, s32 isInitialCall);
ApiStatus FallToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus RunToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus IdleRunToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus JumpPartTo(ScriptInstance* script, s32 isInitialCall);
ApiStatus FallPartTo(ScriptInstance* script, s32 isInitialCall);
ApiStatus LandJumpPart(ScriptInstance* script, s32 isInitialCall);
ApiStatus RunPartTo(ScriptInstance* script, s32 isInitialCall);
ApiStatus FlyToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus IdleFlyToGoal(ScriptInstance* script, s32 isInitialCall);
ApiStatus FlyPartTo(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetLastEvent(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetTargetActor(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetEnemyHP(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorHP(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetEnemyMaxHP(ScriptInstance* script, s32 isInitialCall);
ApiStatus RemoveActor(ScriptInstance* script, s32 isInitialCall);
ApiStatus DropStarPoints(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetDefenseTable(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetStatusTable(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetIdleAnimations(ScriptInstance* script, s32 isInitialCall);
ApiStatus EnemyDamageTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus EnemyFollowupAfflictTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus EnemyTestTarget(ScriptInstance* script, s32 isInitialCall);
ApiStatus DispatchDamageEvent(ScriptInstance* script, s32 isInitialCall);
ApiStatus DispatchEvent(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetTargetOffset(ScriptInstance* script, s32 isInitialCall);
ApiStatus EnableActorBlur(ScriptInstance* script, s32 isInitialCall);
ApiStatus AfflictActor(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetEncounterState(ScriptInstance* script, s32 isInitialCall);
ApiStatus YieldTurn(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetActorSize(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorSize(ScriptInstance* script, s32 isInitialCall);
ApiStatus SetPartSize(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetOriginalActorType(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetCurrentActorType(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetLastDamage(ScriptInstance* script, s32 isInitialCall);
ApiStatus EnableActorGlow(ScriptInstance* script, s32 isInitialCall);
ApiStatus WasStatusInflicted(ScriptInstance* script, s32 isInitialCall);
ApiStatus CopyStatusEffects(ScriptInstance* script, s32 isInitialCall);
ApiStatus ClearStatusEffects(ScriptInstance* script, s32 isInitialCall);
ApiStatus MakeOwnerTargetIndex(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetActorLevel(ScriptInstance* script, s32 isInitialCall);
ApiStatus PartnerDamageEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus PartnerAfflictEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus PartnerPowerBounceEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus PartnerTestEnemy(ScriptInstance* script, s32 isInitialCall);
ApiStatus DeletePartner(ScriptInstance* script, s32 isInitialCall);
ApiStatus GetDamageIntensity(ScriptInstance* script, s32 isInitialCall);
ApiStatus ActorAddMovePos(ScriptInstance* script, s32 isInitialCall);
ApiStatus LoadStarPowerScript(ScriptInstance* script, s32 isInitialCall);
extern Script PlayerScriptDispatcher;
extern Script PeachScriptDispatcher;
extern Script ExecutePlayerAction;
extern Script ExecutePeachAction;
extern Script HandleEvent_Player;
extern Script BtlPutPartnerAway;
extern Script BtlBringPartnerOut;
extern Script MarioEnterStage;
extern Script PeachEnterStage;
extern Script PlayerFirstStrike;
extern Script StartDefend;
extern Script RunAwayStart;
extern Script RunAwayFail;
extern Script RunAwayReset;
extern Script PlayEatFX;
extern Script PlayDrinkFX;
extern Script UseLifeShroom;
extern Script MerleeRunOut;
extern Script MerleeAttackBonus;
extern Script MerleeDefenseBonus;
extern Script MerleeExpBonus;
extern Script PlayerHappy;
extern Script DoDizzyAttack;
extern Script RegainAbility;
extern Script UseMystery;
extern Script DoSleepHit;
extern Script DoDizzyHit;
extern Script DoParalyzeHit;
extern Script DoPoisonHit;
extern Script DoStopHit;
extern Script DoFreezeHit;
extern Script DoShinkHit;
extern Script ForceNextTarget;
extern Script DoNormalHit;
extern Script DoBurnHit;
extern Script DoShockHit;
extern Script DoImmune;
extern Script DoDeath;
extern Script Collapse;
extern Script DoScareAway;
extern Script DoSpinSmashHit;
extern Script DoJumpBack;
extern Script DoReturnHome;
extern Script DoRecover;
extern Script DoAirLift;
extern Script DoBlowAway;
extern Script Rumble_1;
extern Script Rumble_2;
extern Script Rumble_3;
extern Script Rumble_4;
extern Script Rumble_5;
extern Script Rumble_6;
extern Script Rumble_7;
extern Script Rumble_Unused_1;
extern Script Rumble_Unused_2;
extern Script Rumble_Unused_3;
extern Script Rumble_Unused_4;
extern Script CamPreset_A;
extern Script CamPreset_B;
extern Script CamPreset_C;
extern Script CamPreset_D;
extern Script CamPreset_E;
extern Script CamPreset_F;
extern Script CamPreset_G;
extern Script CamPreset_H;
extern Script CamPreset_I;
extern Script CamPreset_J;
extern Script CamPreset_K;
extern Script CamPreset_L;
extern Script CamPreset_M;
extern Script CamPreset_N;
#endif