Merge pull request #283 from CecilArmitais/decomp-actor-globals

[CLAUDE] Decomp special-actor setters; identify SPECIAL_ACTORS (_020B0B08)
This commit is contained in:
AnonymousRandomPerson
2026-07-25 15:44:16 -04:00
committed by GitHub
9 changed files with 6545 additions and 6108 deletions

View File

@@ -1,4 +1,114 @@
#pragma once
.public ARM9_UNKNOWN_TABLE__NA_20A68BC
.public AlreadyHasSimilarMission
.public AppendStandardStringToMission
.public BitstreamDebug
.public CAFE_MISSION_REWARD_TYPE_WEIGHTS
.public CHALLENGE_NORMAL_FIXED_ROOM_IDS
.public Copy16BitsFrom
.public Copy16BitsTo
.public CopyBitsFrom
.public CopyBitsTo
.public CopyColorToPaletteDataRgba
.public DEFAULT_MISSION_REWARD_TYPE_WEIGHTS
.public Debug_GetDebugFlag
.public Debug_Print0
.public DexNumbersEqual
.public DirectoryFileMngr_OpenDirectoryFile
.public DrawTextInWindow
.public DungeonGoesUp
.public DungeonSwapIdToIdx
.public ENTITIES
.public EVENTS
.public EnqueueRender3dTiling
.public FemaleToMaleForm
.public FillPaletteDataRgba
.public GetAdventureNpcIds
.public GetAppointedLeaderMemberIdx
.public GetBaseForm
.public GetBaseFormBurmyWormadamShellosGastrodonCherrim
.public GetDungeonMode
.public GetExclusiveItem
.public GetFirstMatchingMemberIdx
.public GetHero
.public GetHeroMemberIdx
.public GetMainCharacter1
.public GetMainCharacter1MemberIdx
.public GetMainCharacter2
.public GetMainCharacter2MemberIdx
.public GetMainCharacter3
.public GetMainCharacter3MemberIdx
.public GetMaxMembersAllowed
.public GetMaxReachedFloor
.public GetMissionRank__0204FAE0
.public GetNameString
.public GetNbFloors
.public GetPartner
.public GetPartnerMemberIdx
.public GetPartyMembers
.public GetRank
.public GetRecruitMentryIdBySpecies
.public GetResolvedPerformanceProgressFlag
.public GetScenarioBalance
.public GetSecondFormIfValid
.public GetStringFromFileVeneer
.public GetType
.public GetUnitNpcIds
.public HandleSir0TranslationVeneer
.public HasMonsterBeenAttackedInDungeons
.public ITEM_DELIVERY_TABLE
.public InitBitstreamForRead
.public InitBitstreamForWrite
.public InitPreprocessorArgs
.public IsForbiddenFloor
.public IsItemAvailableInDungeonGroup
.public IsItemInBag
.public IsItemInTimeDarkness
.public IsItemInTreasureBoxes
.public IsMissionTypeSpecialEpisode
.public IsMonsterValid
.public IsSpecialEpisodeBeaten
.public IsStoryBeforePoint
.public LoadFileFromRom
.public LoadScriptVariableValue
.public MISSION_BANNED_MONSTERS
.public MISSION_BANNED_STORY_MONSTERS
.public MISSION_DELIVER_LIST_PTR
.public MISSION_DUNGEON_UNLOCK_TABLE
.public MISSION_MENU_STRING_IDS_1
.public MISSION_MENU_STRING_IDS_2
.public MISSION_RANK_POINTS
.public MISSION_STRING_IDS
.public MISSION_VALIDATION_FUNCTION_LIST
.public MarkPaletteDataAsNeedingUpdate
.public MaybeGetFormattedItemName
.public MemAlloc
.public MemFree
.public MemZero
.public MemcpySimple
.public MissionToWonderMailPassword
.public MultiplyByFixedPoint
.public NO_SEND_ITEM_TABLE
.public OUTLAW_HIDEOUT_FIXED_ROOM_IDS
.public OUTLAW_MISSION_REWARD_TYPE_WEIGHTS
.public OverlayIsLoaded
.public PreprocessString
.public PreprocessStringFromId
.public RANK_STRING_PTR_TABLE
.public REMOTE_STRING_PTR_TABLE
.public RESCUE_BIN_UNPACK
.public Rand16Bit
.public RandInt
.public RandIntSafe
.public RandRangeSafe
.public RemoveFirstUnequippedItemOfType
.public RetrieveFromItemList2
.public SPECIAL_ACTORS
.public StringFromId
.public StrncpySimpleNoPadSafe
.public TEAM_MEMBER_TABLE_PTR
.public TREASURE_MEMO_FIXED_ROOM_IDS
.public UnloadFile
.public _020A3CA0
.public _020A3CAD
.public _020A3CBC
@@ -14,244 +124,17 @@
.public _020A46B0
.public _020A46D0
.public _020A5490
.public _020A68CA
.public _020A9208
.public _020A9268
.public _020A9278
.public _020A9288
.public _020A9298
.public _020A92A8
.public _020A92EC
.public _020A9304
.public _020A931C
.public _020A9334
.public _020A9364
.public _020A937C
.public _020A9394
.public _020A93B4
.public _020AFC70
.public _020B0A54
.public _020B0AFC
.public _020B0B04
.public _020B0B08
.public _020B0B24
.public _020B0B2C
.public _020B0B2D
.public _020B0B2E
.public _020B0B2F
.public _020B0B30
.public _020B0B31
.public _020B0B32
.public _020B0B33
.public _020B0B34
.public _020B0B35
.public _020B0B36
.public _020B0B37
.public _020B0B38
.public _020B0B39
.public _020B0B3A
.public _020B0B3B
.public _020B0B3C
.public _020B0B3D
.public _020B0B3E
.public _020B0B3F
.public _020B0B44
.public _020B0B48
.public _022B7310
.public _022B7320
.public _s32_div_f
.public AlreadyHasSimilarMission
.public AlreadyHaveMission
.public AppendStandardStringToMission
.public ARM9_UNKNOWN_TABLE__NA_20A68BC
.public BitstreamDebug
.public BulkItemToItem
.public CAFE_MISSION_REWARD_TYPE_WEIGHTS
.public CHALLENGE_NORMAL_FIXED_ROOM_IDS
.public CloseCollectionMenu
.public ClosePortraitBox
.public Copy16BitsFrom
.public Copy16BitsTo
.public CopyBitsFrom
.public CopyBitsTo
.public CopyColorToPaletteDataRgba
.public CopyFrameTypeOption
.public CountJobListMissions
.public CreateCollectionMenu
.public CreatePortraitBox
.public Debug_GetDebugFlag
.public Debug_Print0
.public DEFAULT_MISSION_REWARD_TYPE_WEIGHTS
.public DEMO_TEAMS
.public DexNumbersEqual
.public DirectoryFileMngr_ExtractAllDirectoryFiles
.public DirectoryFileMngr_OpenDirectoryFile
.public DrawTextInWindow
.public DungeonGoesUp
.public DungeonSwapIdToIdx
.public EnqueueRender3dTiling
.public ENTITIES
.public EVENTS
.public ExplorersOfSkyMain
.public FemaleToMaleForm
.public FillPaletteDataRgba
.public GetAdventureLogDungeonFloor
.public GetAdventureNpcIds
.public GetAppointedLeaderMemberIdx
.public GetBaseForm
.public GetBaseFormBurmyWormadamShellosGastrodonCherrim
.public GetDebugSpecialEpisodeNumber
.public GetDungeonMode
.public GetExclusiveItem
.public GetFirstMatchingMemberIdx
.public GetHero
.public GetHeroMemberIdx
.public GetLanguageType
.public GetMainCharacter1
.public GetMainCharacter1MemberIdx
.public GetMainCharacter2
.public GetMainCharacter2MemberIdx
.public GetMainCharacter3
.public GetMainCharacter3MemberIdx
.public GetMainTeamNameWithCheck
.public GetMaxMembersAllowed
.public GetMaxReachedFloor
.public GetMissionRank__0204FAE0
.public GetNameString
.public GetNbFloors
.public GetPartner
.public GetPartnerMemberIdx
.public GetPartyMembers
.public GetRank
.public GetRecruitMentryIdBySpecies
.public GetResolvedPerformanceProgressFlag
.public GetScenarioBalance
.public GetSecondFormIfValid
.public GetSosMailCount
.public GetSpecialEpisodeType
.public GetStringFromFileVeneer
.public GetType
.public GetUnitNpcIds
.public GetWindowIdSelectedMenuItemIdx
.public GlobalProgressAlloc
.public HandleSir0TranslationVeneer
.public HasMonsterBeenAttackedInDungeons
.public InitBitstreamForRead
.public InitBitstreamForWrite
.public InitKaomadoStream
.public InitObjGraphicsControls
.public InitOptionsVeneer
.public InitPreprocessorArgs
.public InitScriptVariableValues
.public InitSpecialEpisodeHero
.public InitWanTable
.public IsCollectionMenuActive
.public IsForbiddenFloor
.public IsItemAvailableInDungeonGroup
.public IsItemInBag
.public IsItemInTimeDarkness
.public IsItemInTreasureBoxes
.public IsMissionTypeSpecialEpisode
.public IsMonsterValid
.public IsSpecialEpisodeBeaten
.public IsSpecialEpisodeOpen
.public IsStoryBeforePoint
.public ITEM_DELIVERY_TABLE
.public JOB_MENU_ITEMS_1
.public JOB_MENU_ITEMS_10
.public JOB_MENU_ITEMS_11
.public JOB_MENU_ITEMS_12
.public JOB_MENU_ITEMS_13
.public JOB_MENU_ITEMS_2
.public JOB_MENU_ITEMS_3
.public JOB_MENU_ITEMS_4
.public JOB_MENU_ITEMS_5
.public JOB_MENU_ITEMS_6
.public JOB_MENU_ITEMS_7
.public JOB_MENU_ITEMS_8
.public JOB_MENU_ITEMS_9
.public JOB_WINDOW_PARAMS_1
.public JOB_WINDOW_PARAMS_2
.public KeyWaitInit
.public LoadFileFromRom
.public LoadOverlay
.public LoadScriptVariableValue
.public LoadTblTalk
.public LoadWazaP
.public MainGame
.public MarkPaletteDataAsNeedingUpdate
.public MaybeGetFormattedItemName
.public MemAlloc
.public MemcpySimple
.public MemFree
.public MemZero
.public MISSION_BANNED_MONSTERS
.public MISSION_BANNED_STORY_MONSTERS
.public MISSION_DELIVER_LIST_PTR
.public MISSION_DUNGEON_UNLOCK_TABLE
.public MISSION_MENU_STRING_IDS_1
.public MISSION_MENU_STRING_IDS_2
.public MISSION_RANK_POINTS
.public MISSION_STRING_IDS
.public MISSION_VALIDATION_FUNCTION_LIST
.public MissionToWonderMailPassword
.public MultiplyByFixedPoint
.public NO_SEND_ITEM_TABLE
.public NoteLoadBase
.public NoteSaveBase
.public OUTLAW_HIDEOUT_FIXED_ROOM_IDS
.public OUTLAW_MISSION_REWARD_TYPE_WEIGHTS
.public ov00_022BE0C8
.public ov01_02337B3C
.public ov01_02337B68
.public ov01_02337BA0
.public ov01_02337C54
.public ov01_02337E0C
.public ov03_0233CAA8
.public ov03_0233CAD8
.public ov03_0233CB10
.public ov03_0233CB3C
.public ov03_0233CDC8
.public ov03_0233CDD8
.public ov03_0233CDE4
.public ov11_022E82CC
.public ov11_022E96E4
.public OverlayIsLoaded
.public PlaySeVolumeWrapper
.public PreprocessString
.public PreprocessStringFromId
.public Rand16Bit
.public RandInt
.public RandIntSafe
.public RandRangeSafe
.public RANK_STRING_PTR_TABLE
.public ReadSaveHeader
.public REMOTE_STRING_PTR_TABLE
.public RemoveFirstUnequippedItemOfType
.public RESCUE_BIN_UNPACK
.public RetrieveFromItemList2
.public SaveScriptVariableValue
.public SetAdventureLogStructLocation
.public SetBothScreensWindowsColor
.public SetCollectionMenuField0x1B2
.public SetGameMode
.public SetQuestionMarks
.public SetScenarioProgressScriptVar
.public SetSpecialEpisodeOpen
.public SetSpecialEpisodeType
.public ShowPortraitInPortraitBox
.public strcat
.public strcpy
.public StringFromId
.public strncat
.public StrncpySimple
.public StrncpySimpleNoPadSafe
.public sub_02001AB0
.public sub_020022C4
.public sub_020022D0
.public sub_020024A0
.public sub_02003B94
.public sub_02003BC8
.public sub_020090A0
.public sub_020090C0
.public sub_020090F4
@@ -265,95 +148,19 @@
.public sub_0200B330
.public sub_0200B3FC
.public sub_0200C020
.public sub_0200CA8C
.public sub_0201D7A8
.public sub_0201DD90
.public sub_0201E050
.public sub_0201E380
.public sub_0201F208
.public sub_020205E4
.public sub_020205F8
.public sub_020251F0
.public sub_0202568C
.public sub_02025AD8
.public sub_020264F8
.public sub_02026E78
.public sub_02027180
.public sub_0202836C
.public sub_02029F88
.public sub_02029FBC
.public sub_0202C620
.public sub_0202C654
.public sub_0202C6F0
.public sub_0202C75C
.public sub_0202D07C
.public sub_020346C0
.public sub_020469BC
.public sub_020469E8
.public sub_02046A20
.public sub_02046A9C
.public sub_02046B04
.public sub_02046BA0
.public sub_02046BB4
.public sub_02046BE8
.public sub_02046C30
.public sub_02046C78
.public sub_02046D20
.public sub_02046D2C
.public sub_0204707C
.public sub_020470D0
.public sub_02047148
.public sub_02047150
.public sub_02047188
.public sub_020474A0
.public sub_02048420
.public sub_02048430
.public sub_02048454
.public sub_020484C0
.public sub_020485C4
.public sub_020485D8
.public sub_02048624
.public sub_02048644
.public sub_0204872C
.public sub_0204A1A4
.public sub_0204D018
.public sub_0204E210
.public sub_0204F1B4
.public sub_0204F9B8
.public sub_02052C3C
.public sub_02052E2C
.public sub_02055410
.public sub_02055474
.public sub_020554D8
.public sub_02056914
.public sub_0205B44C
.public sub_0205B77C
.public sub_0205BD40
.public sub_0205BD5C
.public sub_0205C73C
.public sub_0205C870
.public sub_0205C8E0
.public sub_0205D1F4
.public sub_0205E090
.public sub_0205E3F8
.public sub_0205E48C
.public sub_0205E50C
.public sub_0205E954
.public sub_0205E970
.public sub_0205E984
.public sub_0205EAC8
.public sub_0205EAE8
.public sub_0205EB00
.public sub_0205EBD8
.public sub_0205EBF0
.public sub_0205EC38
.public sub_0205EC50
.public sub_0205ECF4
.public TEAM_MEMBER_TABLE_PTR
.public TREASURE_MEMO_FIXED_ROOM_IDS
.public UnloadFile
.public UnloadOverlay
.public UpdateWindow
.public vsprintf
.public WAN_TABLE
.public ZeroInitScriptVariable

View File

@@ -0,0 +1,230 @@
#pragma once
.public AddMissionToJobList
.public AlreadyHaveMission
.public BulkItemToItem
.public CanDungeonBeUsedForMission
.public CanSendItem
.public CheckAcceptedMissionByTypeAndDungeon
.public CheckDungeonMissionUnlockConditions
.public CloseCollectionMenu
.public ClosePortraitBox
.public CopyFrameTypeOption
.public CountJobListMissions
.public CreateCollectionMenu
.public CreatePortraitBox
.public DEMO_TEAMS
.public Debug_Print0
.public DirectoryFileMngr_ExtractAllDirectoryFiles
.public DrawTextInWindow
.public DungeonRequestsDoneWrapper
.public DungeonSwapIdToIdx
.public ExplorersOfSkyMain
.public FormatMissionHeader
.public FormatSpecialEpisodeMissionHeader
.public GenerateMissionDetailsStruct
.public GetAcceptedMission
.public GetAdventureLogDungeonFloor
.public GetDebugSpecialEpisodeNumber
.public GetDungeonMode
.public GetLanguageType
.public GetMainTeamNameWithCheck
.public GetRank
.public GetResolvedPerformanceProgressFlag
.public GetScenarioBalance
.public GetSosMailCount
.public GetSpecialEpisodeType
.public GetStringFromFileVeneer
.public GetWindowIdSelectedMenuItemIdx
.public GlobalProgressAlloc
.public InitKaomadoStream
.public InitObjGraphicsControls
.public InitOptionsVeneer
.public InitPreprocessorArgs
.public InitScriptVariableValues
.public InitSpecialEpisodeHero
.public InitWanTable
.public IsAcceptedMissionSlotEmpty
.public IsCollectionMenuActive
.public IsMissionTypeSpecialEpisode
.public IsSpecialEpisodeBeaten
.public IsSpecialEpisodeOpen
.public JOB_MENU_ITEMS_1
.public JOB_MENU_ITEMS_10
.public JOB_MENU_ITEMS_11
.public JOB_MENU_ITEMS_12
.public JOB_MENU_ITEMS_13
.public JOB_MENU_ITEMS_2
.public JOB_MENU_ITEMS_3
.public JOB_MENU_ITEMS_4
.public JOB_MENU_ITEMS_5
.public JOB_MENU_ITEMS_6
.public JOB_MENU_ITEMS_7
.public JOB_MENU_ITEMS_8
.public JOB_MENU_ITEMS_9
.public JOB_WINDOW_PARAMS_1
.public JOB_WINDOW_PARAMS_2
.public KeyWaitInit
.public LoadOverlay
.public LoadTblTalk
.public LoadWazaP
.public MainGame
.public MakeMissionDetails
.public MakeSpecialEpisodeMissionDetails
.public MemAlloc
.public MemFree
.public MemZero
.public NoteLoadBase
.public NoteSaveBase
.public OverlayIsLoaded
.public PlaySeVolumeWrapper
.public PreprocessStringFromId
.public RandInt
.public ReadSaveHeader
.public SPECIAL_ACTORS
.public SetAdventureLogStructLocation
.public SetBothScreensWindowsColor
.public SetCollectionMenuField0x1B2
.public SetGameMode
.public SetQuestionMarks
.public SetScenarioProgressScriptVar
.public SetSpecialEpisodeOpen
.public SetSpecialEpisodeType
.public ShowPortraitInPortraitBox
.public StrncpySimple
.public StrncpySimpleNoPadSafe
.public UnloadOverlay
.public UpdateWindow
.public WAN_TABLE
.public ZeroInitScriptVariable
.public _020A68CA
.public _020A9208
.public _020A9268
.public _020A9278
.public _020A9288
.public _020A9298
.public _020A92A8
.public _020A92EC
.public _020A9304
.public _020A931C
.public _020A9334
.public _020A9364
.public _020A937C
.public _020A9394
.public _020A93B4
.public _020B0A54
.public _020B0B24
.public _020B0B2C
.public _020B0B2D
.public _020B0B2E
.public _020B0B2F
.public _020B0B30
.public _020B0B31
.public _020B0B32
.public _020B0B33
.public _020B0B34
.public _020B0B35
.public _020B0B36
.public _020B0B37
.public _020B0B38
.public _020B0B39
.public _020B0B3A
.public _020B0B3B
.public _020B0B3C
.public _020B0B3D
.public _020B0B3E
.public _020B0B3F
.public _020B0B44
.public _020B0B48
.public _022B7310
.public _022B7320
.public ov00_022BE0C8
.public ov01_02337B3C
.public ov01_02337B68
.public ov01_02337BA0
.public ov01_02337C54
.public ov01_02337E0C
.public ov03_0233CAA8
.public ov03_0233CAD8
.public ov03_0233CB10
.public ov03_0233CB3C
.public ov03_0233CDC8
.public ov03_0233CDD8
.public ov03_0233CDE4
.public ov11_022E82CC
.public sub_020024A0
.public sub_02003B94
.public sub_02003BC8
.public sub_0200CA8C
.public sub_0201D7A8
.public sub_0201DD90
.public sub_0201F208
.public sub_020205E4
.public sub_020205F8
.public sub_02025AD8
.public sub_02026E78
.public sub_02027180
.public sub_0202836C
.public sub_02029F88
.public sub_02029FBC
.public sub_0202C620
.public sub_0202C654
.public sub_0202C6F0
.public sub_0202C75C
.public sub_0202D07C
.public sub_020346C0
.public sub_020469BC
.public sub_020469E8
.public sub_02046A20
.public sub_02046A9C
.public sub_02046B04
.public sub_02046BA0
.public sub_02046BB4
.public sub_02046BE8
.public sub_02046C30
.public sub_02046C78
.public sub_02046D20
.public sub_02046D2C
.public sub_0204707C
.public sub_020470D0
.public sub_02047148
.public sub_02047150
.public sub_02047188
.public sub_020474A0
.public sub_02048420
.public sub_02048430
.public sub_02048454
.public sub_020484C0
.public sub_020485C4
.public sub_020485D8
.public sub_02048624
.public sub_02048644
.public sub_0204872C
.public sub_0204A1A4
.public sub_0204D018
.public sub_0204E210
.public sub_0204F1B4
.public sub_0204F9B8
.public sub_02052C3C
.public sub_0205B44C
.public sub_0205B77C
.public sub_0205BD40
.public sub_0205C73C
.public sub_0205C870
.public sub_0205C8E0
.public sub_0205D1F4
.public sub_0205E954
.public sub_0205E970
.public sub_0205E984
.public sub_0205EAC8
.public sub_0205EAE8
.public sub_0205EB00
.public sub_0205EBD8
.public sub_0205EBF0
.public sub_0205EC38
.public sub_0205EC50
.public sub_0205ECF4
.public sub_0205F588
.public sub_0205F5A8
.public sub_0205F710
.public sub_0205FA38
.public sub_0206276C

File diff suppressed because it is too large Load Diff

5713
asm/main_02065BD8.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -12921,8 +12921,8 @@ _020B0AFC:
.global _020B0B04
_020B0B04:
.byte 0x00, 0x00, 0x00, 0x00
.global _020B0B08
_020B0B08:
.global SPECIAL_ACTORS
SPECIAL_ACTORS:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3C, 0x00, 0x00, 0x00
.global _020B0B24

View File

@@ -2015,6 +2015,396 @@ enum monster_id {
};
#undef _MONSTER_ID_GENDERED
// Script entity IDs. While a few script entities differ between versions, the IDs are the same.
enum script_entity_id {
ENTITY_PLAYER = 0,
ENTITY_PLAYER_HERO = 1,
ENTITY_PLAYER_PARTNER = 2,
ENTITY_PLAYER_PARTNER2 = 3,
ENTITY_PLAYER_APPOINT = 4,
ENTITY_PLAYER_BIPPA = 5, // Bidoof
ENTITY_PLAYER_PUPURIN = 6, // Igglybuff
ENTITY_PLAYER_KIMAWARI = 7, // Sunflora
ENTITY_PLAYER_FUTURE = 8, // Grovyle
ENTITY_PLAYER_CHARMS = 9, // Lopunny
ENTITY_ATTENDANT1 = 10,
ENTITY_ATTENDANT2 = 11,
ENTITY_ATTENDANT_HERO = 12,
ENTITY_ATTENDANT_PARTNER = 13,
ENTITY_ATTENDANT_PARTNER2 = 14,
ENTITY_ATTENDANT_APPOINT = 15,
ENTITY_ATTENDANT_BIPPA = 16, // Bidoof
ENTITY_ATTENDANT_PUPURIN = 17, // Igglybuff
ENTITY_ATTENDANT_KIMAWARI = 18, // Sunflora
ENTITY_ATTENDANT_FUTURE = 19, // Grovyle
ENTITY_ATTENDANT_CHARMS = 20, // Lopunny
ENTITY_ATTENDANT_MANAFI = 21, // Manaphy
ENTITY_UNIT_NPC1 = 22,
ENTITY_UNIT_NPC2 = 23,
ENTITY_UNIT_NPC3 = 24,
ENTITY_UNIT_NPC4 = 25,
ENTITY_ADVENTURE_NPC1 = 26,
ENTITY_ADVENTURE_NPC2 = 27,
ENTITY_ADVENTURE_NPC3 = 28,
ENTITY_ADVENTURE_NPC4 = 29,
ENTITY_FRIEND_NPC1 = 30,
ENTITY_FRIEND_NPC2 = 31,
ENTITY_FRIEND_NPC3 = 32,
ENTITY_FRIEND_NPC4 = 33,
ENTITY_FRIEND_NPC5 = 34,
ENTITY_FRIEND_NPC6 = 35,
ENTITY_FRIEND_NPC7 = 36,
ENTITY_FRIEND_NPC8 = 37,
ENTITY_FRIEND_NPC9 = 38,
ENTITY_FRIEND_NPC10 = 39,
ENTITY_FRIEND_NPC11 = 40,
ENTITY_FRIEND_NPC12 = 41,
ENTITY_FRIEND_NPC13 = 42,
ENTITY_FRIEND_NPC14 = 43,
ENTITY_FRIEND_NPC15 = 44,
ENTITY_FRIEND_NPC16 = 45,
ENTITY_TALK_MAIN = 46,
ENTITY_TALK_SUB = 47,
ENTITY_EVENT_NPC_MAIN = 48,
ENTITY_EVENT_NPC_SUB = 49,
ENTITY_RANDOM_REQUEST_NPC01 = 50,
ENTITY_RANDOM_REQUEST_NPC02 = 51,
ENTITY_RANDOM_REQUEST_NPC03 = 52,
ENTITY_EVENT_NPC01 = 53,
ENTITY_EVENT_NPC02 = 54,
ENTITY_EVENT_NPC03 = 55,
ENTITY_EVENT_NPC04 = 56,
ENTITY_NPC_NEW_FRIEND = 57,
ENTITY_NPC_DEMO_HERO = 58,
ENTITY_NPC_DEMO_PARTNER = 59,
ENTITY_NPC_HERO = 60,
ENTITY_NPC_PARTNER = 61,
ENTITY_NPC_PARTNER2 = 62,
ENTITY_NPC_APPOINT = 63,
ENTITY_NPC_HERO_REAL = 64,
ENTITY_NPC_PARTNER_REAL = 65,
ENTITY_NPC_HERO_FIRST = 66,
ENTITY_NPC_PARTNER_FIRST = 67,
ENTITY_NPC_DEBUG = 68,
ENTITY_NPC_TEST001 = 69,
ENTITY_NPC_TEST002 = 70,
ENTITY_NPC_TEST003 = 71,
ENTITY_NPC_TEST004 = 72,
ENTITY_NPC_TEST005 = 73,
ENTITY_NPC_TEST006 = 74,
ENTITY_NPC_TEST007 = 75,
ENTITY_NPC_TEST008 = 76,
ENTITY_NPC_TEST009 = 77,
ENTITY_NPC_TEST010 = 78,
ENTITY_NPC_PUKURIN = 79, // Wigglytuff
ENTITY_NPC_ZUBATTO = 80, // Zubat
ENTITY_NPC_DIGUDA = 81, // Diglett
ENTITY_NPC_DAGUTORIO = 82, // Dugtrio
ENTITY_NPC_MANKII = 83, // Mankey
ENTITY_NPC_OKORIZARU = 84, // Primeape
ENTITY_NPC_KOIRU = 85, // Magnemite
ENTITY_NPC_SURIIPU = 86, // Drowzee
ENTITY_NPC_KURABU = 87, // Krabby
ENTITY_NPC_GARAGARA = 88, // Marowak
ENTITY_NPC_DOGAASU = 89, // Koffing
ENTITY_NPC_RAKKII = 90, // Chansey
ENTITY_NPC_GARUURA = 91, // Kangaskhan
ENTITY_NPC_GYARADOSU = 92, // Gyarados
ENTITY_NPC_RAPURASU = 93, // Lapras
ENTITY_NPC_OMUSUTAA = 94, // Omastar
ENTITY_NPC_OMUSUTAA2 = 95, // Omastar 2
ENTITY_NPC_KABUTOPUSU = 96, // Kabutops
ENTITY_NPC_NEITYIO = 97, // Xatu
ENTITY_NPC_DENRYUU = 98, // Ampharos
ENTITY_NPC_MARIRU = 99, // Marill
ENTITY_NPC_USOKKII = 100, // Sudowoodo
ENTITY_NPC_KIMAWARI = 101, // Sunflora
ENTITY_NPC_HIMEGUMA = 102, // Teddiursa
ENTITY_NPC_RINGUMA = 103, // Ursaring
ENTITY_NPC_SEREBII = 104, // Celebi
ENTITY_NPC_JUPUTORU = 105, // Grovyle
ENTITY_NPC_PERIPPAA1 = 106, // Pelipper 1
ENTITY_NPC_PERIPPAA2 = 107, // Pelipper 2
ENTITY_NPC_YARUKIMONO = 108, // Vigoroth
ENTITY_NPC_DOGOOMU = 109, // Loudred
ENTITY_NPC_RURIRI = 110, // Azurill
ENTITY_NPC_YAMIRAMI = 111, // Sableye
ENTITY_NPC_CHAAREMU = 112, // Medicham
ENTITY_NPC_KOOTASU = 113, // Torkoal
ENTITY_NPC_BANEBUU = 114, // Spoink
ENTITY_NPC_HEIGANI = 115, // Corphish
ENTITY_NPC_KAKUREON1 = 116, // Kecleon 1
ENTITY_NPC_KAKUREON2 = 117, // Kecleon 2
ENTITY_NPC_YOMAWARU = 118, // Duskull
ENTITY_NPC_CHIRIIN = 119, // Chimecho
ENTITY_NPC_REJIROKKU = 120, // Regirock
ENTITY_NPC_REJIAISU = 121, // Regice
ENTITY_NPC_REJISUCHIRU = 122, // Registeel
ENTITY_NPC_GURAADON = 123, // Groudon
ENTITY_NPC_BIPPA = 124, // Bidoof
ENTITY_NPC_RUKUSHIO1 = 125, // Luxio 1
ENTITY_NPC_RUKUSHIO2 = 126, // Luxio 2
ENTITY_NPC_RENTORAA = 127, // Luxray
ENTITY_NPC_MIMIROPPU = 128, // Lopunny
ENTITY_NPC_SUKATANKU = 129, // Skuntank
ENTITY_NPC_MANENE = 130, // Mime Jr.
ENTITY_NPC_PERAPPU = 131, // Chatot
ENTITY_NPC_MIKARUGE = 132, // Spiritomb
ENTITY_NPC_GUREGGURU = 133, // Croagunk
ENTITY_NPC_JIBAKOIRU = 134, // Magnezone
ENTITY_NPC_EREKIBURU = 135, // Electivire
ENTITY_NPC_YONOWAARU = 136, // Dusknoir
ENTITY_NPC_YUKUSHII = 137, // Uxie
ENTITY_NPC_EMURITTO = 138, // Mesprit
ENTITY_NPC_AGUNOMU = 139, // Azelf
ENTITY_NPC_DIARUGA = 140, // Dialga
ENTITY_NPC_PARUKIA = 141, // Palkia
ENTITY_NPC_REJIGIGASU = 142, // Regigigas
ENTITY_NPC_GIRATYINA = 143, // Giratina
ENTITY_NPC_KURESERIA = 144, // Cresselia
ENTITY_NPC_FIONE1 = 145, // Phione 1
ENTITY_NPC_FIONE2 = 146, // Phione 2
ENTITY_NPC_FIONE3 = 147, // Phione 3
ENTITY_NPC_FIONE4 = 148, // Phione 4
ENTITY_NPC_FIONE5 = 149, // Phione 5
ENTITY_NPC_FIONE6 = 150, // Phione 6
ENTITY_NPC_FIONE7 = 151, // Phione 7
ENTITY_NPC_FIONE8 = 152, // Phione 8
ENTITY_NPC_MANAFI = 153, // Manaphy
ENTITY_NPC_DAAKURAI = 154, // Darkrai
ENTITY_OBJECT001 = 155,
ENTITY_OBJECT002 = 156,
ENTITY_NPC_KOIRU2 = 157, // Magnemite 2
ENTITY_NPC_POPPO = 158, // Pidgey
ENTITY_NPC_TANEBOO = 159, // Seedot
ENTITY_NPC_OOSUBAME = 160, // Swellow
ENTITY_NPC_KEMUSSO = 161, // Wurmple
ENTITY_NPC_BURAKKII = 162, // Umbreon
ENTITY_NPC_KAGEBOUZU = 163, // Shuppet
ENTITY_NPC_YAMIKARASU = 164, // Murkrow
ENTITY_NPC_POCHIENA_A = 165, // Poochyena A
ENTITY_NPC_POCHIENA_B = 166, // Poochyena B
ENTITY_NPC_POCHIENA_C = 167, // Poochyena C
ENTITY_NPC_ZANGUUSU = 168, // Zangoose
ENTITY_NPC_SUTORAIKU = 169, // Scyther
ENTITY_NPC_SANDOPAN = 170, // Sandslash
ENTITY_NPC_PONIITA = 171, // Ponyta
ENTITY_NPC_BAKUUDA = 172, // Camerupt
ENTITY_NPC_MADATSUBOMI = 173, // Bellsprout
ENTITY_NPC_TOGEPII = 174, // Togepi
ENTITY_NPC_NYOROTONO = 175, // Politoed
ENTITY_NPC_REDIBA = 176, // Ledyba
ENTITY_NPC_YADON = 177, // Slowpoke
ENTITY_NPC_NAMAKERO = 178, // Slakoth
ENTITY_NPC_ERUREIDO = 179, // Gallade
ENTITY_NPC_ROZUREIDO = 180, // Roserade
ENTITY_NPC_DOSAIDON = 181, // Rhyperior
ENTITY_NPC_MANYUURA = 182, // Weavile
ENTITY_NPC_AABOKKU = 183, // Arbok
ENTITY_NPC_DORAPION = 184, // Drapion
ENTITY_NPC_BASHAAMO = 185, // Blaziken
ENTITY_NPC_ENPERUTO = 186, // Empoleon
ENTITY_NPC_HERAKUROSU = 187, // Heracross
ENTITY_NPC_DERUBIRU_A = 188, // Houndour A
ENTITY_NPC_DERUBIRU_B = 189, // Houndour B
ENTITY_NPC_DERUBIRU_C = 190, // Houndour C
ENTITY_NPC_SAANAITO = 191, // Gardevoir
ENTITY_NPC_TODOZERUGA = 192, // Walrein
ENTITY_NPC_HASSAMU = 193, // Scizor
ENTITY_NPC_BARIYAADO = 194, // Mr. Mime
ENTITY_NPC_FURIIZAA = 195, // Articuno
ENTITY_NPC_YUKIMENOKO = 196, // Froslass
ENTITY_NPC_RINGUMA2 = 197, // Ursaring 2
ENTITY_NPC_YAMIRAMI2 = 198, // Sableye 2
ENTITY_NPC_YAMIRAMI3 = 199, // Sableye 3
ENTITY_NPC_YAMIRAMI4 = 200, // Sableye 4
ENTITY_NPC_YAMIRAMI5 = 201, // Sableye 5
ENTITY_NPC_YAMIRAMI6 = 202, // Sableye 6
ENTITY_NPC_RUKUSHIO3 = 203, // Luxio 3
ENTITY_NPC_RUKUSHIO4 = 204, // Luxio 4
ENTITY_NPC_RUKUSHIO5 = 205, // Luxio 5
ENTITY_NPC_RUKUSHIO6 = 206, // Luxio 6
ENTITY_NPC_RUKUSHIO7 = 207, // Luxio 7
ENTITY_NPC_RUKUSHIO8 = 208, // Luxio 8
ENTITY_NPC_HIIDORAN = 209, // Heatran
ENTITY_NPC_RUGIA = 210, // Lugia
ENTITY_NPC_MYUU = 211, // Mew
ENTITY_NPC_HOUOU = 212, // Ho-Oh
ENTITY_NPC_S_CHIRIIN = 213, // Chimecho
ENTITY_NPC_S_PUKURIN = 214, // Wigglytuff
ENTITY_NPC_S_YUKUSHII = 215, // Uxie
ENTITY_NPC_S_AGUNOMU = 216, // Azelf
ENTITY_NPC_S_EMURITTO = 217, // Mesprit
ENTITY_NPC_S_KIMAWARI = 218, // Sunflora
ENTITY_NPC_S_DIGUDA = 219, // Diglett
ENTITY_NPC_S_DAGUTORIO = 220, // Dugtrio
ENTITY_NPC_S_HEIGANI = 221, // Corphish
ENTITY_NPC_S_DOGOOMU = 222, // Loudred
ENTITY_NPC_S_BIPPA = 223, // Bidoof
ENTITY_NPC_S_PERAPPU = 224, // Chatot
ENTITY_NPC_S_JUPUTORU = 225, // Grovyle
ENTITY_NPC_S_YONOWAARU = 226, // Dusknoir
ENTITY_NPC_S_YAMIRAMI1 = 227, // Sableye 1
ENTITY_NPC_S_YAMIRAMI2 = 228, // Sableye 2
ENTITY_NPC_DARK_PUKURIN = 229, // Wigglytuff
ENTITY_OBJ_IMAGE_REJIGIGASU = 230, // Regigigas
ENTITY_NPC_DOOTAKUN1 = 231, // Bronzong 1
ENTITY_NPC_DOOTAKUN2 = 232, // Bronzong 2
ENTITY_NPC_DOOTAKUN3 = 233, // Bronzong 3
ENTITY_NPC_DOOTAKUN4 = 234, // Bronzong 4
ENTITY_NPC_DOOTAKUN5 = 235, // Bronzong 5
ENTITY_NPC_DOOTAKUN6 = 236, // Bronzong 6
ENTITY_OBJ_IMAGE_DOOTAKUN = 237, // Bronzong
ENTITY_OBJ_IMAGE_DOOTAKUN2 = 238, // Bronzong 2
ENTITY_OBJ_IMAGE_DOOTAKUN3 = 239, // Bronzong 3
ENTITY_OBJ_IMAGE_DOOTAKUN4 = 240, // Bronzong 4
ENTITY_OBJ_IMAGE_DOOTAKUN5 = 241, // Bronzong 5
ENTITY_OBJ_IMAGE_DOOTAKUN6 = 242, // Bronzong 6
ENTITY_NPC_SAWAMURAA1 = 243, // Hitmonlee 1
ENTITY_NPC_SAWAMURAA2 = 244, // Hitmonlee 2
ENTITY_NPC_SAWAMURAA3 = 245, // Hitmonlee 3
ENTITY_NPC_SAWAMURAA4 = 246, // Hitmonlee 4
ENTITY_NPC_SAWAMURAA5 = 247, // Hitmonlee 5
ENTITY_NPC_SAWAMURAA6 = 248, // Hitmonlee 6
ENTITY_OBJ_IMAGE_SAWAMURAA = 249, // Hitmonlee
ENTITY_OBJ_IMAGE_SAWAMURAA2 = 250, // Hitmonlee 2
ENTITY_OBJ_IMAGE_SAWAMURAA3 = 251, // Hitmonlee 3
ENTITY_OBJ_IMAGE_SAWAMURAA4 = 252, // Hitmonlee 4
ENTITY_OBJ_IMAGE_SAWAMURAA5 = 253, // Hitmonlee 5
ENTITY_OBJ_IMAGE_SAWAMURAA6 = 254, // Hitmonlee 6
ENTITY_NPC_DARK_DIARUGA = 255, // Primal Dialga
ENTITY_NPC_SHADOW_DAAKURAI = 256, // Darkrai
ENTITY_NPC_KURESERIA2 = 257, // Cresselia 2
ENTITY_NPC_BOSUGODORA = 258, // Aggron
ENTITY_NPC_MAGUKARUGO = 259, // Magcargo
ENTITY_NPC_BUUBAAN = 260, // Magmortar
ENTITY_NPC_MUUMAAJI = 261, // Mismagius
ENTITY_NPC_BARUBIITO1 = 262, // Volbeat 1
ENTITY_NPC_BARUBIITO2 = 263, // Volbeat 2
ENTITY_NPC_BARUBIITO3 = 264, // Volbeat 3
ENTITY_NPC_BARUBIITO4 = 265, // Volbeat 4
ENTITY_NPC_IRUMIIZE1 = 266, // Illumise 1
ENTITY_NPC_IRUMIIZE2 = 267, // Illumise 2
ENTITY_NPC_IRUMIIZE3 = 268, // Illumise 3
ENTITY_NPC_IRUMIIZE4 = 269, // Illumise 4
ENTITY_NPC_GABAITO = 270, // Gabite
ENTITY_NPC_REKKUUZA = 271, // Rayquaza
ENTITY_NPC_KAIOOGA = 272, // Kyogre
ENTITY_NPC_JIRAACHI = 273, // Jirachi
ENTITY_NPC_BIIDARU = 274, // Bibarel
ENTITY_NPC_BIPPA_BRO = 275, // Bidoof brother
ENTITY_NPC_BIPPA_SIS = 276, // Bidoof sister
ENTITY_NPC_GURAIGAA = 277, // Gligar
ENTITY_NPC_TATSUBEI = 278, // Bagon
ENTITY_NPC_YUKIKABURI = 279, // Snover
ENTITY_NPC_MANMUU = 280, // Mamoswine
ENTITY_NPC_ONIGOORI = 281, // Glalie
ENTITY_NPC_ONIGOORI2 = 282, // Glalie 2
ENTITY_NPC_ONIGOORI3 = 283, // Glalie 3
ENTITY_NPC_ONIGOORI4 = 284, // Glalie 4
ENTITY_NPC_PORIGON = 285, // Porygon
ENTITY_NPC_PORIGON2 = 286, // Porygon2
ENTITY_NPC_YUKIWARASHI = 287, // Snorunt
ENTITY_NPC_YUKIWARASHI2 = 288, // Snorunt 2
ENTITY_NPC_YUKIWARASHI3 = 289, // Snorunt 3
ENTITY_NPC_YUKIWARASHI4 = 290, // Snorunt 4
ENTITY_NPC_JUPETTA = 291, // Banette
ENTITY_NPC_SUKORUPI = 292, // Skorupi
ENTITY_NPC_AAMARUDO = 293, // Armaldo
ENTITY_NPC_PUKURIN_PAPA = 294, // Wigglytuff Papa
ENTITY_NPC_PUKURIN_MAMA = 295, // Wigglytuff Mama
ENTITY_NPC_UPAA = 296, // Wooper
ENTITY_NPC_MUCHUURU = 297, // Smoochum
ENTITY_NPC_SUBOMII = 298, // Budew
ENTITY_NPC_NIDOKINGU = 299, // Nidoking
ENTITY_NPC_SOONANO = 300, // Wynaut
ENTITY_NPC_SOONANSU = 301, // Wobbuffet
ENTITY_NPC_PATCHIIRU = 302, // Spinda
ENTITY_NPC_OKUTAN = 303, // Octillery
ENTITY_NPC_TSUBOTSUBO = 304, // Shuckle
ENTITY_NPC_RUNPAPPA = 305, // Ludicolo
ENTITY_NPC_RUNPAPPA2 = 306, // Ludicolo 2
ENTITY_NPC_RUNPAPPA3 = 307, // Ludicolo 3
ENTITY_NPC_RUNPAPPA4 = 308, // Ludicolo 4
ENTITY_NPC_RUNPAPPA5 = 309, // Ludicolo 5
ENTITY_NPC_NASSHII = 310, // Exeggutor
ENTITY_NPC_SHEIMI = 311, // Shaymin
ENTITY_NPC_SHEIMI1 = 312, // Shaymin 1
ENTITY_NPC_SHEIMI2 = 313, // Shaymin 2
ENTITY_NPC_SHEIMI3 = 314, // Shaymin 3
ENTITY_NPC_SHEIMI4 = 315, // Shaymin 4
ENTITY_NPC_SHEIMI5 = 316, // Shaymin 5
ENTITY_NPC_GOORIKII = 317, // Machoke
ENTITY_NPC_KINOGASSA = 318, // Breloom
ENTITY_NPC_KUCHIITO = 319, // Mawile
ENTITY_NPC_NYUURA = 320, // Sneasel
ENTITY_NPC_KOIKINGU = 321, // Magikarp
ENTITY_NPC_HINBASU = 322, // Feebas
ENTITY_NPC_FUWARAIDO = 323, // Drifblim
ENTITY_NPC_TAMATAMA = 324, // Exeggcute
ENTITY_NPC_JIGUZAGUMA = 325, // Zigzagoon
ENTITY_NPC_MASUKIPPA = 326, // Carnivine
ENTITY_NPC_MASUKIPPA2 = 327, // Carnivine 2
ENTITY_NPC_MASUKIPPA3 = 328, // Carnivine 3
ENTITY_NPC_MASUKIPPA4 = 329, // Carnivine 4
ENTITY_NPC_MASUKIPPA5 = 330, // Carnivine 5
ENTITY_NPC_MASUKIPPA6 = 331, // Carnivine 6
ENTITY_NPC_BETOBETAA = 332, // Grimer
ENTITY_NPC_BETOBETAA2 = 333, // Grimer 2
ENTITY_NPC_BETOBETAA3 = 334, // Grimer 3
ENTITY_NPC_BETOBETAA4 = 335, // Grimer 4
ENTITY_NPC_BETOBETAA5 = 336, // Grimer 5
ENTITY_NPC_BETOBETON = 337, // Muk
ENTITY_NPC_BETOBETON2 = 338, // Muk 2
ENTITY_NPC_BETOBETON3 = 339, // Muk 3
ENTITY_NPC_DERIBAADO = 340, // Delibird
ENTITY_NPC_MERIIPU = 341, // Mareep
ENTITY_NPC_WATAKKO = 342, // Jumpluff
ENTITY_NPC_DONMERU = 343, // Numel
ENTITY_NPC_PACHIRISU = 344, // Pachirisu
ENTITY_NPC_KIREIHANA = 345, // Bellossom
ENTITY_NPC_KIREIHANA2 = 346, // Bellossom 2
ENTITY_NPC_KIREIHANA3 = 347, // Bellossom 3
ENTITY_NPC_KIREIHANA4 = 348, // Bellossom 4
ENTITY_NPC_KODORA = 349, // Lairon 1
ENTITY_NPC_KODORA2 = 350, // Lairon 2
ENTITY_NPC_KODORA3 = 351, // Lairon 3
ENTITY_NPC_KODORA4 = 352, // Lairon 4
ENTITY_NPC_KODORA5 = 353, // Lairon 5
ENTITY_NPC_KODORA6 = 354, // Lairon 6
ENTITY_NPC_METAMON = 355, // Ditto
ENTITY_NPC_GOROON = 356, // Graveler
ENTITY_NPC_OTACHI = 357, // Sentret
ENTITY_NPC_HERUGAA = 358, // Houndoom
ENTITY_NPC_NOKUTASU = 359, // Cacturne
ENTITY_NPC_NOKOTCHI = 360, // Dunsparse
ENTITY_NPC_GOOSUTO = 361, // Haunter
ENTITY_NPC_GOOSUTO2 = 362, // Haunter 2
ENTITY_NPC_GOOSUTO3 = 363, // Haunter 3
ENTITY_NPC_MAGUMAGGU = 364, // Slugma
ENTITY_NPC_MAGUMAGGU2 = 365, // Slugma 2
ENTITY_NPC_SHEIMI_FC = 366, // Shaymin Sky Forme
ENTITY_NPC_RAIBORUTO = 367, // Manectric
ENTITY_NPC_RAKURAI = 368, // Electrike
ENTITY_NPC_RAKURAI2 = 369, // Electrike 2
ENTITY_NPC_RAKURAI3 = 370, // Electrike 3
ENTITY_NPC_RAKURAI4 = 371, // Electrike 4
ENTITY_NPC_RAKURAI5 = 372, // Electrike 5
ENTITY_NPC_RAKURAI6 = 373, // Electrike 6
ENTITY_NPC_RAKURAI7 = 374, // Electrike 7
ENTITY_NPC_RAKURAI8 = 375, // Electrike 8
ENTITY_NPC_YONOWAARU_N8 = 376, // Dusknoir
ENTITY_NPC_YONOWAARU_N9 = 377, // Dusknoir
ENTITY_NPC_METAMON_OTACHI = 378, // Ditto Sentret
ENTITY_NPC_METAMON_KIREIHANA = 379, // Ditto Bellossom
ENTITY_NPC_BIIKUIN = 380, // Vespiquen
ENTITY_NPC_DAINOOZU = 381, // Probopass
ENTITY_NPC_BAKUONGU = 382, // Exploud
ENTITY_NPC_NENDOORU = 383, // Claydol
ENTITY_NPC_MEGAYANMA = 384, // Yanmega
ENTITY_NPC_PINPUKU = 385, // Happiny
};
// Actions that a monster can take on its turn
enum action {
ACTION_NOTHING = 0, // 0x0

35
include/main_02065B3C.h Normal file
View File

@@ -0,0 +1,35 @@
#ifndef PMDSKY_MAIN_02065B3C_H
#define PMDSKY_MAIN_02065B3C_H
#include "enums.h"
//The earlier fields in this were changed from script_entity_id to monster_id based on how they are handled; if evidence suggests they can handle both, they should be converted into a union.
struct special_actors {
enum monster_id event_npc02;
enum monster_id event_npc01;
enum monster_id demo_partner;
enum monster_id event_npc04;
enum monster_id event_npc03;
enum monster_id demo_hero;
enum monster_id new_friend;
enum monster_id random_request_npc02;
enum monster_id random_request_npc01;
enum script_entity_id event_npc_sub;
enum script_entity_id event_npc_main;
enum script_entity_id talk_sub;
enum script_entity_id talk_main;
u8 padding[2];
};
extern struct special_actors SPECIAL_ACTORS;
void SetActorTalkMainAndActorTalkSub(enum script_entity_id talk_main, enum script_entity_id talk_sub);
void SetActorTalkMain(enum script_entity_id talk_main);
void SetActorTalkSub(enum script_entity_id talk_sub);
void SetActorEventMain(enum script_entity_id event_npc_main);
void SetRandomRequestNpcs1And2(enum monster_id random_request_npc01, enum monster_id random_request_npc02);
void SetRandomRequestNpc03KindVar(enum monster_id kind);
void SetAllEventNpcs(enum monster_id event_npc01, enum monster_id event_npc02, enum monster_id event_npc03, enum monster_id event_npc04);
void SetNewFriendActor(enum monster_id new_friend);
#endif

View File

@@ -213,6 +213,8 @@ Static main
Object asm/main_0205EC98.o
Object src/main_0205ED84.o
Object asm/main_0205EDA4.o
Object src/main_02065B3C.o
Object asm/main_02065BD8.o
Object src/dungeon_init_2.o
Object asm/main_0206A750.o
Object src/main_0206A84C.o

48
src/main_02065B3C.c Normal file
View File

@@ -0,0 +1,48 @@
#include "enums.h"
#include "main_02065B3C.h"
#include "script_variable.h"
void SetActorTalkMainAndActorTalkSub(enum script_entity_id talk_main, enum script_entity_id talk_sub)
{
SPECIAL_ACTORS.talk_main = talk_main;
SPECIAL_ACTORS.talk_sub = talk_sub;
}
void SetActorTalkMain(enum script_entity_id talk_main)
{
SPECIAL_ACTORS.talk_main = talk_main;
}
void SetActorTalkSub(enum script_entity_id talk_sub)
{
SPECIAL_ACTORS.talk_sub = talk_sub;
}
void SetActorEventMain(enum script_entity_id event_npc_main)
{
SPECIAL_ACTORS.event_npc_main = event_npc_main;
}
void SetRandomRequestNpcs1And2(enum monster_id random_request_npc01, enum monster_id random_request_npc02)
{
SPECIAL_ACTORS.random_request_npc01 = random_request_npc01;
SPECIAL_ACTORS.random_request_npc02 = random_request_npc02;
}
void SetRandomRequestNpc03KindVar(enum monster_id kind)
{
SaveScriptVariableValue(0, VAR_RANDOM_REQUEST_NPC03_KIND, kind);
}
void SetAllEventNpcs(enum monster_id event_npc01, enum monster_id event_npc02, enum monster_id event_npc03, enum monster_id event_npc04)
{
SPECIAL_ACTORS.event_npc01 = event_npc01;
SPECIAL_ACTORS.event_npc02 = event_npc02;
SPECIAL_ACTORS.event_npc03 = event_npc03;
SPECIAL_ACTORS.event_npc04 = event_npc04;
}
void SetNewFriendActor(enum monster_id new_friend)
{
SPECIAL_ACTORS.new_friend = new_friend;
}