mm/tools/bootstrap_actors.py
Zelllll fb1ed529ad
Add OoT actor structs and enums (#55)
* add oot structs

* revert formatting

* fix comment thing

* fix accidental renames

* slight fix

* naviEnemyId -> hintId

* fix headers
2021-02-28 22:52:12 -05:00

2643 lines
61 KiB
Python

#!/usr/bin/env python3
import argparse, os, struct, collections, re
actor_names = [
"ACTOR_EN_TEST",
"ACTOR_EN_GIRLA",
"ACTOR_EN_PART",
"ACTOR_EN_LIGHT",
"ACTOR_EN_DOOR",
"ACTOR_EN_BOX",
"ACTOR_EN_PAMETFROG",
"ACTOR_EN_OKUTA",
"ACTOR_EN_BOM",
"ACTOR_EN_WALLMAS",
"ACTOR_EN_DODONGO",
"ACTOR_EN_FIREFLY",
"ACTOR_EN_HORSE",
"ACTOR_EN_ARROW",
"ACTOR_EN_ELF",
"ACTOR_EN_NIW",
"ACTOR_EN_TITE",
"ACTOR_EN_PEEHAT",
"ACTOR_EN_BUTTE",
"ACTOR_EN_INSECT",
"ACTOR_EN_FISH",
"ACTOR_EN_HOLL",
"ACTOR_EN_DINOFOS",
"ACTOR_EN_HATA",
"ACTOR_EN_ZL1",
"ACTOR_EN_VIEWER",
"ACTOR_EN_BUBBLE",
"ACTOR_DOOR_SHUTTER",
"ACTOR_EN_BOOM",
"ACTOR_EN_TORCH2",
"ACTOR_EN_MINIFROG",
"ACTOR_EN_ST",
"ACTOR_OBJ_WTURN",
"ACTOR_EN_RIVER_SOUND",
"ACTOR_EN_OSSAN",
"ACTOR_EN_FAMOS",
"ACTOR_EN_BOMBF",
"ACTOR_EN_AM",
"ACTOR_EN_DEKUBABA",
"ACTOR_EN_M_FIRE1",
"ACTOR_EN_M_THUNDER",
"ACTOR_BG_BREAKWALL",
"ACTOR_DOOR_WARP1",
"ACTOR_OBJ_SYOKUDAI",
"ACTOR_ITEM_B_HEART",
"ACTOR_EN_DEKUNUTS",
"ACTOR_EN_BBFALL",
"ACTOR_ARMS_HOOK",
"ACTOR_EN_BB",
"ACTOR_BG_KEIKOKU_SPR",
"ACTOR_EN_WOOD02",
"ACTOR_EN_DEATH",
"ACTOR_EN_MINIDEATH",
"ACTOR_EN_VM",
"ACTOR_DEMO_EFFECT",
"ACTOR_DEMO_KANKYO",
"ACTOR_EN_FLOORMAS",
"ACTOR_EN_RD",
"ACTOR_BG_F40_FLIFT",
"ACTOR_OBJ_MURE",
"ACTOR_EN_SW",
"ACTOR_OBJECT_KANKYO",
"ACTOR_EN_HORSE_LINK_CHILD",
"ACTOR_DOOR_ANA",
"ACTOR_EN_ENCOUNT1",
"ACTOR_DEMO_TRE_LGT",
"ACTOR_EN_ENCOUNT2",
"ACTOR_EN_FIRE_ROCK",
"ACTOR_BG_CTOWER_ROT",
"ACTOR_MIR_RAY",
"ACTOR_EN_SB",
"ACTOR_EN_BIGSLIME",
"ACTOR_EN_KAREBABA",
"ACTOR_EN_IN",
"ACTOR_EN_RU",
"ACTOR_EN_BOM_CHU",
"ACTOR_EN_HORSE_GAME_CHECK",
"ACTOR_EN_RR",
"ACTOR_EN_FR",
"ACTOR_OBJ_OSHIHIKI",
"ACTOR_EFF_DUST",
"ACTOR_BG_UMAJUMP",
"ACTOR_ARROW_FIRE",
"ACTOR_ARROW_ICE",
"ACTOR_ARROW_LIGHT",
"ACTOR_ITEM_ETCETERA",
"ACTOR_OBJ_KIBAKO",
"ACTOR_OBJ_TSUBO",
"ACTOR_EN_IK",
"ACTOR_DEMO_SHD",
"ACTOR_EN_DNS",
"ACTOR_ELF_MSG",
"ACTOR_EN_HONOTRAP",
"ACTOR_EN_TUBO_TRAP",
"ACTOR_OBJ_ICE_POLY",
"ACTOR_EN_FZ",
"ACTOR_EN_KUSA",
"ACTOR_OBJ_BEAN",
"ACTOR_OBJ_BOMBIWA",
"ACTOR_OBJ_SWITCH",
"ACTOR_OBJ_LIFT",
"ACTOR_OBJ_HSBLOCK",
"ACTOR_EN_OKARINA_TAG",
"ACTOR_EN_GOROIWA",
"ACTOR_EN_DAIKU",
"ACTOR_EN_NWC",
"ACTOR_ITEM_INBOX",
"ACTOR_EN_GE1",
"ACTOR_OBJ_BLOCKSTOP",
"ACTOR_EN_SDA",
"ACTOR_EN_CLEAR_TAG",
"ACTOR_EN_GM",
"ACTOR_EN_MS",
"ACTOR_EN_HS",
"ACTOR_BG_INGATE",
"ACTOR_EN_KANBAN",
"ACTOR_EN_ATTACK_NIW",
"ACTOR_EN_MK",
"ACTOR_EN_OWL",
"ACTOR_EN_ISHI",
"ACTOR_OBJ_HANA",
"ACTOR_OBJ_LIGHTSWITCH",
"ACTOR_OBJ_MURE2",
"ACTOR_EN_FU",
"ACTOR_EN_STREAM",
"ACTOR_EN_MM",
"ACTOR_EN_WEATHER_TAG",
"ACTOR_EN_ANI",
"ACTOR_EN_JS",
"ACTOR_EN_OKARINA_EFFECT",
"ACTOR_EN_MAG",
"ACTOR_ELF_MSG2",
"ACTOR_BG_F40_SWLIFT",
"ACTOR_EN_KAKASI",
"ACTOR_OBJ_MAKEOSHIHIKI",
"ACTOR_OCEFF_SPOT",
"ACTOR_EN_TORCH",
"ACTOR_SHOT_SUN",
"ACTOR_OBJ_ROOMTIMER",
"ACTOR_EN_SSH",
"ACTOR_OCEFF_WIPE",
"ACTOR_OCEFF_STORM",
"ACTOR_OBJ_DEMO",
"ACTOR_EN_MINISLIME",
"ACTOR_EN_NUTSBALL",
"ACTOR_OCEFF_WIPE2",
"ACTOR_OCEFF_WIPE3",
"ACTOR_EN_DG",
"ACTOR_EN_SI",
"ACTOR_OBJ_COMB",
"ACTOR_OBJ_KIBAKO2",
"ACTOR_EN_HS2",
"ACTOR_OBJ_MURE3",
"ACTOR_EN_TG",
"ACTOR_EN_WF",
"ACTOR_EN_SKB",
"ACTOR_EN_GS",
"ACTOR_OBJ_SOUND",
"ACTOR_EN_CROW",
"ACTOR_EN_COW",
"ACTOR_OCEFF_WIPE4",
"ACTOR_EN_ZO",
"ACTOR_OBJ_MAKEKINSUTA",
"ACTOR_EN_GE3",
"ACTOR_OBJ_HAMISHI",
"ACTOR_EN_ZL4",
"ACTOR_EN_MM2",
"ACTOR_DOOR_SPIRAL",
"ACTOR_OBJ_PZLBLOCK",
"ACTOR_OBJ_TOGE",
"ACTOR_OBJ_ARMOS",
"ACTOR_OBJ_BOYO",
"ACTOR_EN_GRASSHOPPER",
"ACTOR_OBJ_GRASS",
"ACTOR_OBJ_GRASS_CARRY",
"ACTOR_OBJ_GRASS_UNIT",
"ACTOR_BG_FIRE_WALL",
"ACTOR_EN_BU",
"ACTOR_EN_ENCOUNT3",
"ACTOR_EN_JSO",
"ACTOR_OBJ_CHIKUWA",
"ACTOR_EN_KNIGHT",
"ACTOR_EN_WARP_TAG",
"ACTOR_EN_AOB_01",
"ACTOR_EN_BOJ_01",
"ACTOR_EN_BOJ_02",
"ACTOR_EN_BOJ_03",
"ACTOR_EN_ENCOUNT4",
"ACTOR_EN_BOM_BOWL_MAN",
"ACTOR_EN_SYATEKI_MAN",
"ACTOR_BG_ICICLE",
"ACTOR_EN_SYATEKI_CROW",
"ACTOR_EN_BOJ_04",
"ACTOR_EN_CNE_01",
"ACTOR_EN_BBA_01",
"ACTOR_EN_BJI_01",
"ACTOR_BG_SPDWEB",
"ACTOR_EN_MT_TAG",
"ACTOR_BOSS_01",
"ACTOR_BOSS_02",
"ACTOR_BOSS_03",
"ACTOR_BOSS_04",
"ACTOR_BOSS_05",
"ACTOR_BOSS_06",
"ACTOR_BOSS_07",
"ACTOR_BG_DY_YOSEIZO",
"ACTOR_EN_BOJ_05",
"ACTOR_EN_SOB1",
"ACTOR_EN_GO",
"ACTOR_EN_RAF",
"ACTOR_OBJ_FUNEN",
"ACTOR_OBJ_RAILLIFT",
"ACTOR_BG_NUMA_HANA",
"ACTOR_OBJ_FLOWERPOT",
"ACTOR_OBJ_SPINYROLL",
"ACTOR_DM_HINA",
"ACTOR_EN_SYATEKI_WF",
"ACTOR_OBJ_SKATEBLOCK",
"ACTOR_OBJ_ICEBLOCK",
"ACTOR_EN_BIGPAMET",
"ACTOR_EN_SYATEKI_DEKUNUTS",
"ACTOR_ELF_MSG3",
"ACTOR_EN_FG",
"ACTOR_DM_RAVINE",
"ACTOR_DM_SA",
"ACTOR_EN_SLIME",
"ACTOR_EN_PR",
"ACTOR_OBJ_TOUDAI",
"ACTOR_OBJ_ENTOTU",
"ACTOR_OBJ_BELL",
"ACTOR_EN_SYATEKI_OKUTA",
"ACTOR_OBJ_SHUTTER",
"ACTOR_DM_ZL",
"ACTOR_EN_ELFGRP",
"ACTOR_DM_TSG",
"ACTOR_EN_BAGUO",
"ACTOR_OBJ_VSPINYROLL",
"ACTOR_OBJ_SMORK",
"ACTOR_EN_TEST2",
"ACTOR_EN_TEST3",
"ACTOR_EN_TEST4",
"ACTOR_EN_BAT",
"ACTOR_EN_SEKIHI",
"ACTOR_EN_WIZ",
"ACTOR_EN_WIZ_BROCK",
"ACTOR_EN_WIZ_FIRE",
"ACTOR_EFF_CHANGE",
"ACTOR_DM_STATUE",
"ACTOR_OBJ_FIRESHIELD",
"ACTOR_BG_LADDER",
"ACTOR_EN_MKK",
"ACTOR_DEMO_GETITEM",
"ACTOR_EN_DNB",
"ACTOR_EN_DNH",
"ACTOR_EN_DNK",
"ACTOR_EN_DNQ",
"ACTOR_BG_KEIKOKU_SAKU",
"ACTOR_OBJ_HUGEBOMBIWA",
"ACTOR_EN_FIREFLY2",
"ACTOR_EN_RAT",
"ACTOR_EN_WATER_EFFECT",
"ACTOR_EN_KUSA2",
"ACTOR_BG_SPOUT_FIRE",
"ACTOR_BG_DBLUE_MOVEBG",
"ACTOR_EN_DY_EXTRA",
"ACTOR_EN_BAL",
"ACTOR_EN_GINKO_MAN",
"ACTOR_EN_WARP_UZU",
"ACTOR_OBJ_DRIFTICE",
"ACTOR_EN_LOOK_NUTS",
"ACTOR_EN_MUSHI2",
"ACTOR_EN_FALL",
"ACTOR_EN_MM3",
"ACTOR_BG_CRACE_MOVEBG",
"ACTOR_EN_DNO",
"ACTOR_EN_PR2",
"ACTOR_EN_PRZ",
"ACTOR_EN_JSO2",
"ACTOR_OBJ_ETCETERA",
"ACTOR_EN_EGOL",
"ACTOR_OBJ_MINE",
"ACTOR_OBJ_PURIFY",
"ACTOR_EN_TRU",
"ACTOR_EN_TRT",
"ACTOR_EN_TEST5",
"ACTOR_EN_TEST6",
"ACTOR_EN_AZ",
"ACTOR_EN_ESTONE",
"ACTOR_BG_HAKUGIN_POST",
"ACTOR_DM_OPSTAGE",
"ACTOR_DM_STK",
"ACTOR_DM_CHAR00",
"ACTOR_DM_CHAR01",
"ACTOR_DM_CHAR02",
"ACTOR_DM_CHAR03",
"ACTOR_DM_CHAR04",
"ACTOR_DM_CHAR05",
"ACTOR_DM_CHAR06",
"ACTOR_DM_CHAR07",
"ACTOR_DM_CHAR08",
"ACTOR_DM_CHAR09",
"ACTOR_OBJ_TOKEIDAI",
"ACTOR_EN_MNK",
"ACTOR_EN_EGBLOCK",
"ACTOR_EN_GUARD_NUTS",
"ACTOR_BG_HAKUGIN_BOMBWALL",
"ACTOR_OBJ_TOKEI_TOBIRA",
"ACTOR_BG_HAKUGIN_ELVPOLE",
"ACTOR_EN_MA4",
"ACTOR_EN_TWIG",
"ACTOR_EN_PO_FUSEN",
"ACTOR_EN_DOOR_ETC",
"ACTOR_EN_BIGOKUTA",
"ACTOR_BG_ICEFLOE",
"ACTOR_OBJ_OCARINALIFT",
"ACTOR_EN_TIME_TAG",
"ACTOR_BG_OPEN_SHUTTER",
"ACTOR_BG_OPEN_SPOT",
"ACTOR_BG_FU_KAITEN",
"ACTOR_OBJ_AQUA",
"ACTOR_EN_ELFORG",
"ACTOR_EN_ELFBUB",
"ACTOR_EN_FU_MATO",
"ACTOR_EN_FU_KAGO",
"ACTOR_EN_OSN",
"ACTOR_BG_CTOWER_GEAR",
"ACTOR_EN_TRT2",
"ACTOR_OBJ_TOKEI_STEP",
"ACTOR_BG_LOTUS",
"ACTOR_EN_KAME",
"ACTOR_OBJ_TAKARAYA_WALL",
"ACTOR_BG_FU_MIZU",
"ACTOR_EN_SELLNUTS",
"ACTOR_BG_DKJAIL_IVY",
"ACTOR_OBJ_VISIBLOCK",
"ACTOR_EN_TAKARAYA",
"ACTOR_EN_TSN",
"ACTOR_EN_DS2N",
"ACTOR_EN_FSN",
"ACTOR_EN_SHN",
"ACTOR_EN_STOP_HEISHI",
"ACTOR_OBJ_BIGICICLE",
"ACTOR_EN_LIFT_NUTS",
"ACTOR_EN_TK",
"ACTOR_BG_MARKET_STEP",
"ACTOR_OBJ_LUPYGAMELIFT",
"ACTOR_EN_TEST7",
"ACTOR_OBJ_LIGHTBLOCK",
"ACTOR_MIR_RAY2",
"ACTOR_EN_WDHAND",
"ACTOR_EN_GAMELUPY",
"ACTOR_BG_DANPEI_MOVEBG",
"ACTOR_EN_SNOWWD",
"ACTOR_EN_PM",
"ACTOR_EN_GAKUFU",
"ACTOR_ELF_MSG4",
"ACTOR_ELF_MSG5",
"ACTOR_EN_COL_MAN",
"ACTOR_EN_TALK_GIBUD",
"ACTOR_EN_GIANT",
"ACTOR_OBJ_SNOWBALL",
"ACTOR_BOSS_HAKUGIN",
"ACTOR_EN_GB2",
"ACTOR_EN_ONPUMAN",
"ACTOR_BG_TOBIRA01",
"ACTOR_EN_TAG_OBJ",
"ACTOR_OBJ_DHOUSE",
"ACTOR_OBJ_HAKAISI",
"ACTOR_BG_HAKUGIN_SWITCH",
"ACTOR_EN_SNOWMAN",
"ACTOR_TG_SW",
"ACTOR_EN_PO_SISTERS",
"ACTOR_EN_PP",
"ACTOR_EN_HAKUROCK",
"ACTOR_EN_HANABI",
"ACTOR_OBJ_DOWSING",
"ACTOR_OBJ_WIND",
"ACTOR_EN_RACEDOG",
"ACTOR_EN_KENDO_JS",
"ACTOR_BG_BOTIHASIRA",
"ACTOR_EN_FISH2",
"ACTOR_EN_PST",
"ACTOR_EN_POH",
"ACTOR_OBJ_SPIDERTENT",
"ACTOR_EN_ZORAEGG",
"ACTOR_EN_KBT",
"ACTOR_EN_GG",
"ACTOR_EN_MARUTA",
"ACTOR_OBJ_SNOWBALL2",
"ACTOR_EN_GG2",
"ACTOR_OBJ_GHAKA",
"ACTOR_EN_DNP",
"ACTOR_EN_DAI",
"ACTOR_BG_GORON_OYU",
"ACTOR_EN_KGY",
"ACTOR_EN_INVADEPOH",
"ACTOR_EN_GK",
"ACTOR_EN_AN",
"ACTOR_EN_BEE",
"ACTOR_EN_OT",
"ACTOR_EN_DRAGON",
"ACTOR_OBJ_DORA",
"ACTOR_EN_BIGPO",
"ACTOR_OBJ_KENDO_KANBAN",
"ACTOR_OBJ_HARIKO",
"ACTOR_EN_STH",
"ACTOR_BG_SINKAI_KABE",
"ACTOR_BG_HAKA_CURTAIN",
"ACTOR_BG_KIN2_BOMBWALL",
"ACTOR_BG_KIN2_FENCE",
"ACTOR_BG_KIN2_PICTURE",
"ACTOR_BG_KIN2_SHELF",
"ACTOR_EN_RAIL_SKB",
"ACTOR_EN_JG",
"ACTOR_EN_TRU_MT",
"ACTOR_OBJ_UM",
"ACTOR_EN_NEO_REEBA",
"ACTOR_BG_MBAR_CHAIR",
"ACTOR_BG_IKANA_BLOCK",
"ACTOR_BG_IKANA_MIRROR",
"ACTOR_BG_IKANA_ROTARYROOM",
"ACTOR_BG_DBLUE_BALANCE",
"ACTOR_BG_DBLUE_WATERFALL",
"ACTOR_EN_KAIZOKU",
"ACTOR_EN_GE2",
"ACTOR_EN_MA_YTS",
"ACTOR_EN_MA_YTO",
"ACTOR_OBJ_TOKEI_TURRET",
"ACTOR_BG_DBLUE_ELEVATOR",
"ACTOR_OBJ_WARPSTONE",
"ACTOR_EN_ZOG",
"ACTOR_OBJ_ROTLIFT",
"ACTOR_OBJ_JG_GAKKI",
"ACTOR_BG_INIBS_MOVEBG",
"ACTOR_EN_ZOT",
"ACTOR_OBJ_TREE",
"ACTOR_OBJ_Y2LIFT",
"ACTOR_OBJ_Y2SHUTTER",
"ACTOR_OBJ_BOAT",
"ACTOR_OBJ_TARU",
"ACTOR_OBJ_HUNSUI",
"ACTOR_EN_JC_MATO",
"ACTOR_MIR_RAY3",
"ACTOR_EN_ZOB",
"ACTOR_ELF_MSG6",
"ACTOR_OBJ_NOZOKI",
"ACTOR_EN_TOTO",
"ACTOR_EN_RAILGIBUD",
"ACTOR_EN_BABA",
"ACTOR_EN_SUTTARI",
"ACTOR_EN_ZOD",
"ACTOR_EN_KUJIYA",
"ACTOR_EN_GEG",
"ACTOR_OBJ_KINOKO",
"ACTOR_OBJ_YASI",
"ACTOR_EN_TANRON1",
"ACTOR_EN_TANRON2",
"ACTOR_EN_TANRON3",
"ACTOR_OBJ_CHAN",
"ACTOR_EN_ZOS",
"ACTOR_EN_S_GORO",
"ACTOR_EN_NB",
"ACTOR_EN_JA",
"ACTOR_BG_F40_BLOCK",
"ACTOR_BG_F40_SWITCH",
"ACTOR_EN_PO_COMPOSER",
"ACTOR_EN_GURUGURU",
"ACTOR_OCEFF_WIPE5",
"ACTOR_EN_STONE_HEISHI",
"ACTOR_OCEFF_WIPE6",
"ACTOR_EN_SCOPENUTS",
"ACTOR_EN_SCOPECROW",
"ACTOR_OCEFF_WIPE7",
"ACTOR_EFF_KAMEJIMA_WAVE",
"ACTOR_EN_HG",
"ACTOR_EN_HGO",
"ACTOR_EN_ZOV",
"ACTOR_EN_AH",
"ACTOR_OBJ_HGDOOR",
"ACTOR_BG_IKANA_BOMBWALL",
"ACTOR_BG_IKANA_RAY",
"ACTOR_BG_IKANA_SHUTTER",
"ACTOR_BG_HAKA_BOMBWALL",
"ACTOR_BG_HAKA_TOMB",
"ACTOR_EN_SC_RUPPE",
"ACTOR_BG_IKNV_DOUKUTU",
"ACTOR_BG_IKNV_OBJ",
"ACTOR_EN_PAMERA",
"ACTOR_OBJ_HSSTUMP",
"ACTOR_EN_HIDDEN_NUTS",
"ACTOR_EN_ZOW",
"ACTOR_EN_TALK",
"ACTOR_EN_AL",
"ACTOR_EN_TAB",
"ACTOR_EN_NIMOTSU",
"ACTOR_EN_HIT_TAG",
"ACTOR_EN_RUPPECROW",
"ACTOR_EN_TANRON4",
"ACTOR_EN_TANRON5",
"ACTOR_EN_TANRON6",
"ACTOR_EN_DAIKU2",
"ACTOR_EN_MUTO",
"ACTOR_EN_BAISEN",
"ACTOR_EN_HEISHI",
"ACTOR_EN_DEMO_HEISHI",
"ACTOR_EN_DT",
"ACTOR_EN_CHA",
"ACTOR_OBJ_DINNER",
"ACTOR_EFF_LASTDAY",
"ACTOR_BG_IKANA_DHARMA",
"ACTOR_EN_AKINDONUTS",
"ACTOR_EFF_STK",
"ACTOR_EN_IG",
"ACTOR_EN_RG",
"ACTOR_EN_OSK",
"ACTOR_EN_STH2",
"ACTOR_EN_YB",
"ACTOR_EN_RZ",
"ACTOR_EN_SCOPECOIN",
"ACTOR_EN_BJT",
"ACTOR_EN_BOMJIMA",
"ACTOR_EN_BOMJIMB",
"ACTOR_EN_BOMBERS",
"ACTOR_EN_BOMBERS2",
"ACTOR_EN_BOMBAL",
"ACTOR_OBJ_MOON_STONE",
"ACTOR_OBJ_MU_PICT",
"ACTOR_BG_IKNINSIDE",
"ACTOR_EFF_ZORABAND",
"ACTOR_OBJ_KEPN_KOYA",
"ACTOR_OBJ_USIYANE",
"ACTOR_EN_NNH",
"ACTOR_OBJ_KZSAKU",
"ACTOR_OBJ_MILK_BIN",
"ACTOR_EN_KITAN",
"ACTOR_BG_ASTR_BOMBWALL",
"ACTOR_BG_IKNIN_SUSCEIL",
"ACTOR_EN_BSB",
"ACTOR_EN_RECEPGIRL",
"ACTOR_EN_THIEFBIRD",
"ACTOR_EN_JGAME_TSN",
"ACTOR_OBJ_JGAME_LIGHT",
"ACTOR_OBJ_YADO",
"ACTOR_DEMO_SYOTEN",
"ACTOR_DEMO_MOONEND",
"ACTOR_BG_LBFSHOT",
"ACTOR_BG_LAST_BWALL",
"ACTOR_EN_AND",
"ACTOR_EN_INVADEPOH_DEMO",
"ACTOR_OBJ_DANPEILIFT",
"ACTOR_EN_FALL2",
"ACTOR_DM_AL",
"ACTOR_DM_AN",
"ACTOR_DM_AH",
"ACTOR_DM_NB",
"ACTOR_EN_DRS",
"ACTOR_EN_ENDING_HERO",
"ACTOR_DM_BAL",
"ACTOR_EN_PAPER",
"ACTOR_EN_HINT_SKB",
"ACTOR_DM_TAG",
"ACTOR_EN_BH",
"ACTOR_EN_ENDING_HERO2",
"ACTOR_EN_ENDING_HERO3",
"ACTOR_EN_ENDING_HERO4",
"ACTOR_EN_ENDING_HERO5",
"ACTOR_EN_ENDING_HERO6",
"ACTOR_DM_GM",
"ACTOR_OBJ_SWPRIZE",
"ACTOR_EN_INVISIBLE_RUPPE",
"ACTOR_OBJ_ENDING",
"ACTOR_EN_RSN",
]
overlay_names = [
"ovl_En_Test",
"ovl_En_GirlA",
"ovl_En_Part",
"ovl_En_Light",
"ovl_En_Door",
"ovl_En_Box",
"ovl_En_Pametfrog",
"ovl_En_Okuta",
"ovl_En_Bom",
"ovl_En_Wallmas",
"ovl_En_Dodongo",
"ovl_En_Firefly",
"ovl_En_Horse",
"ovl_En_Arrow",
"ovl_En_Elf",
"ovl_En_Niw",
"ovl_En_Tite",
"ovl_En_Peehat",
"ovl_En_Butte",
"ovl_En_Insect",
"ovl_En_Fish",
"ovl_En_Holl",
"ovl_En_Dinofos",
"ovl_En_Hata",
"ovl_En_Zl1",
"ovl_En_Viewer",
"ovl_En_Bubble",
"ovl_Door_Shutter",
"ovl_En_Boom",
"ovl_En_Torch2",
"ovl_En_Minifrog",
"ovl_En_St",
"ovl_Obj_Wturn",
"ovl_En_River_Sound",
"ovl_En_Ossan",
"ovl_En_Famos",
"ovl_En_Bombf",
"ovl_En_Am",
"ovl_En_Dekubaba",
"ovl_En_M_Fire1",
"ovl_En_M_Thunder",
"ovl_Bg_Breakwall",
"ovl_Door_Warp1",
"ovl_Obj_Syokudai",
"ovl_Item_B_Heart",
"ovl_En_Dekunuts",
"ovl_En_Bbfall",
"ovl_Arms_Hook",
"ovl_En_Bb",
"ovl_Bg_Keikoku_Spr",
"ovl_En_Wood02",
"ovl_En_Death",
"ovl_En_Minideath",
"ovl_En_Vm",
"ovl_Demo_Effect",
"ovl_Demo_Kankyo",
"ovl_En_Floormas",
"ovl_En_Rd",
"ovl_Bg_F40_Flift",
"ovl_Obj_Mure",
"ovl_En_Sw",
"ovl_Object_Kankyo",
"ovl_En_Horse_Link_Child",
"ovl_Door_Ana",
"ovl_En_Encount1",
"ovl_Demo_Tre_Lgt",
"ovl_En_Encount2",
"ovl_En_Fire_Rock",
"ovl_Bg_Ctower_Rot",
"ovl_Mir_Ray",
"ovl_En_Sb",
"ovl_En_Bigslime",
"ovl_En_Karebaba",
"ovl_En_In",
"ovl_En_Ru",
"ovl_En_Bom_Chu",
"ovl_En_Horse_Game_Check",
"ovl_En_Rr",
"ovl_En_Fr",
"ovl_Obj_Oshihiki",
"ovl_Eff_Dust",
"ovl_Bg_Umajump",
"ovl_Arrow_Fire",
"ovl_Arrow_Ice",
"ovl_Arrow_Light",
"ovl_Item_Etcetera",
"ovl_Obj_Kibako",
"ovl_Obj_Tsubo",
"ovl_En_Ik",
"ovl_Demo_Shd",
"ovl_En_Dns",
"ovl_Elf_Msg",
"ovl_En_Honotrap",
"ovl_En_Tubo_Trap",
"ovl_Obj_Ice_Poly",
"ovl_En_Fz",
"ovl_En_Kusa",
"ovl_Obj_Bean",
"ovl_Obj_Bombiwa",
"ovl_Obj_Switch",
"ovl_Obj_Lift",
"ovl_Obj_Hsblock",
"ovl_En_Okarina_Tag",
"ovl_En_Goroiwa",
"ovl_En_Daiku",
"ovl_En_Nwc",
"ovl_Item_Inbox",
"ovl_En_Ge1",
"ovl_Obj_Blockstop",
"ovl_En_Sda",
"ovl_En_Clear_Tag",
"ovl_En_Gm",
"ovl_En_Ms",
"ovl_En_Hs",
"ovl_Bg_Ingate",
"ovl_En_Kanban",
"ovl_En_Attack_Niw",
"ovl_En_Mk",
"ovl_En_Owl",
"ovl_En_Ishi",
"ovl_Obj_Hana",
"ovl_Obj_Lightswitch",
"ovl_Obj_Mure2",
"ovl_En_Fu",
"ovl_En_Stream",
"ovl_En_Mm",
"ovl_En_Weather_Tag",
"ovl_En_Ani",
"ovl_En_Js",
"ovl_En_Okarina_Effect",
"ovl_En_Mag",
"ovl_Elf_Msg2",
"ovl_Bg_F40_Swlift",
"ovl_En_Kakasi",
"ovl_Obj_Makeoshihiki",
"ovl_Oceff_Spot",
"ovl_En_Torch",
"ovl_Shot_Sun",
"ovl_Obj_Roomtimer",
"ovl_En_Ssh",
"ovl_Oceff_Wipe",
"ovl_Oceff_Storm",
"ovl_Obj_Demo",
"ovl_En_Minislime",
"ovl_En_Nutsball",
"ovl_Oceff_Wipe2",
"ovl_Oceff_Wipe3",
"ovl_En_Dg",
"ovl_En_Si",
"ovl_Obj_Comb",
"ovl_Obj_Kibako2",
"ovl_En_Hs2",
"ovl_Obj_Mure3",
"ovl_En_Tg",
"ovl_En_Wf",
"ovl_En_Skb",
"ovl_En_Gs",
"ovl_Obj_Sound",
"ovl_En_Crow",
"ovl_En_Cow",
"ovl_Oceff_Wipe4",
"ovl_En_Zo",
"ovl_Obj_Makekinsuta",
"ovl_En_Ge3",
"ovl_Obj_Hamishi",
"ovl_En_Zl4",
"ovl_En_Mm2",
"ovl_Door_Spiral",
"ovl_Obj_Pzlblock",
"ovl_Obj_Toge",
"ovl_Obj_Armos",
"ovl_Obj_Boyo",
"ovl_En_Grasshopper",
"ovl_Obj_Grass",
"ovl_Obj_Grass_Carry",
"ovl_Obj_Grass_Unit",
"ovl_Bg_Fire_Wall",
"ovl_En_Bu",
"ovl_En_Encount3",
"ovl_En_Jso",
"ovl_Obj_Chikuwa",
"ovl_En_Knight",
"ovl_En_Warp_tag",
"ovl_En_Aob_01",
"ovl_En_Boj_01",
"ovl_En_Boj_02",
"ovl_En_Boj_03",
"ovl_En_Encount4",
"ovl_En_Bom_Bowl_Man",
"ovl_En_Syateki_Man",
"ovl_Bg_Icicle",
"ovl_En_Syateki_Crow",
"ovl_En_Boj_04",
"ovl_En_Cne_01",
"ovl_En_Bba_01",
"ovl_En_Bji_01",
"ovl_Bg_Spdweb",
"ovl_En_Mt_tag",
"ovl_Boss_01",
"ovl_Boss_02",
"ovl_Boss_03",
"ovl_Boss_04",
"ovl_Boss_05",
"ovl_Boss_06",
"ovl_Boss_07",
"ovl_Bg_Dy_Yoseizo",
"ovl_En_Boj_05",
"ovl_En_Sob1",
"ovl_En_Go",
"ovl_En_Raf",
"ovl_Obj_Funen",
"ovl_Obj_Raillift",
"ovl_Bg_Numa_Hana",
"ovl_Obj_Flowerpot",
"ovl_Obj_Spinyroll",
"ovl_Dm_Hina",
"ovl_En_Syateki_Wf",
"ovl_Obj_Skateblock",
"ovl_Obj_Iceblock",
"ovl_En_Bigpamet",
"ovl_En_Syateki_Dekunuts",
"ovl_Elf_Msg3",
"ovl_En_Fg",
"ovl_Dm_Ravine",
"ovl_Dm_Sa",
"ovl_En_Slime",
"ovl_En_Pr",
"ovl_Obj_Toudai",
"ovl_Obj_Entotu",
"ovl_Obj_Bell",
"ovl_En_Syateki_Okuta",
"ovl_Obj_Shutter",
"ovl_Dm_Zl",
"ovl_En_Elfgrp",
"ovl_Dm_Tsg",
"ovl_En_Baguo",
"ovl_Obj_Vspinyroll",
"ovl_Obj_Smork",
"ovl_En_Test2",
"ovl_En_Test3",
"ovl_En_Test4",
"ovl_En_Bat",
"ovl_En_Sekihi",
"ovl_En_Wiz",
"ovl_En_Wiz_Brock",
"ovl_En_Wiz_Fire",
"ovl_Eff_Change",
"ovl_Dm_Statue",
"ovl_Obj_Fireshield",
"ovl_Bg_Ladder",
"ovl_En_Mkk",
"ovl_Demo_Getitem",
"ovl_En_Dnb",
"ovl_En_Dnh",
"ovl_En_Dnk",
"ovl_En_Dnq",
"ovl_Bg_Keikoku_Saku",
"ovl_Obj_Hugebombiwa",
"ovl_En_Firefly2",
"ovl_En_Rat",
"ovl_En_Water_Effect",
"ovl_En_Kusa2",
"ovl_Bg_Spout_Fire",
"ovl_Bg_Dblue_Movebg",
"ovl_En_Dy_Extra",
"ovl_En_Bal",
"ovl_En_Ginko_Man",
"ovl_En_Warp_Uzu",
"ovl_Obj_Driftice",
"ovl_En_Look_Nuts",
"ovl_En_Mushi2",
"ovl_En_Fall",
"ovl_En_Mm3",
"ovl_Bg_Crace_Movebg",
"ovl_En_Dno",
"ovl_En_Pr2",
"ovl_En_Prz",
"ovl_En_Jso2",
"ovl_Obj_Etcetera",
"ovl_En_Egol",
"ovl_Obj_Mine",
"ovl_Obj_Purify",
"ovl_En_Tru",
"ovl_En_Trt",
"ovl_En_Test5",
"ovl_En_Test6",
"ovl_En_Az",
"ovl_En_Estone",
"ovl_Bg_Hakugin_Post",
"ovl_Dm_Opstage",
"ovl_Dm_Stk",
"ovl_Dm_Char00",
"ovl_Dm_Char01",
"ovl_Dm_Char02",
"ovl_Dm_Char03",
"ovl_Dm_Char04",
"ovl_Dm_Char05",
"ovl_Dm_Char06",
"ovl_Dm_Char07",
"ovl_Dm_Char08",
"ovl_Dm_Char09",
"ovl_Obj_Tokeidai",
"ovl_En_Mnk",
"ovl_En_Egblock",
"ovl_En_Guard_Nuts",
"ovl_Bg_Hakugin_Bombwall",
"ovl_Obj_Tokei_Tobira",
"ovl_Bg_Hakugin_Elvpole",
"ovl_En_Ma4",
"ovl_En_Twig",
"ovl_En_Po_Fusen",
"ovl_En_Door_Etc",
"ovl_En_Bigokuta",
"ovl_Bg_Icefloe",
"ovl_Obj_Ocarinalift",
"ovl_En_Time_Tag",
"ovl_Bg_Open_Shutter",
"ovl_Bg_Open_Spot",
"ovl_Bg_Fu_Kaiten",
"ovl_Obj_Aqua",
"ovl_En_Elforg",
"ovl_En_Elfbub",
"ovl_En_Fu_Mato",
"ovl_En_Fu_Kago",
"ovl_En_Osn",
"ovl_Bg_Ctower_Gear",
"ovl_En_Trt2",
"ovl_Obj_Tokei_Step",
"ovl_Bg_Lotus",
"ovl_En_Kame",
"ovl_Obj_Takaraya_Wall",
"ovl_Bg_Fu_Mizu",
"ovl_En_Sellnuts",
"ovl_Bg_Dkjail_Ivy",
"ovl_Obj_Visiblock",
"ovl_En_Takaraya",
"ovl_En_Tsn",
"ovl_En_Ds2n",
"ovl_En_Fsn",
"ovl_En_Shn",
"ovl_En_Stop_heishi",
"ovl_Obj_Bigicicle",
"ovl_En_Lift_Nuts",
"ovl_En_Tk",
"ovl_Bg_Market_Step",
"ovl_Obj_Lupygamelift",
"ovl_En_Test7",
"ovl_Obj_Lightblock",
"ovl_Mir_Ray2",
"ovl_En_Wdhand",
"ovl_En_Gamelupy",
"ovl_Bg_Danpei_Movebg",
"ovl_En_Snowwd",
"ovl_En_Pm",
"ovl_En_Gakufu",
"ovl_Elf_Msg4",
"ovl_Elf_Msg5",
"ovl_En_Col_Man",
"ovl_En_Talk_Gibud",
"ovl_En_Giant",
"ovl_Obj_Snowball",
"ovl_Boss_Hakugin",
"ovl_En_Gb2",
"ovl_En_Onpuman",
"ovl_Bg_Tobira01",
"ovl_En_Tag_Obj",
"ovl_Obj_Dhouse",
"ovl_Obj_Hakaisi",
"ovl_Bg_Hakugin_Switch",
"ovl_En_Snowman",
"ovl_TG_Sw",
"ovl_En_Po_Sisters",
"ovl_En_Pp",
"ovl_En_Hakurock",
"ovl_En_Hanabi",
"ovl_Obj_Dowsing",
"ovl_Obj_Wind",
"ovl_En_Racedog",
"ovl_En_Kendo_Js",
"ovl_Bg_Botihasira",
"ovl_En_Fish2",
"ovl_En_Pst",
"ovl_En_Poh",
"ovl_Obj_Spidertent",
"ovl_En_Zoraegg",
"ovl_En_Kbt",
"ovl_En_Gg",
"ovl_En_Maruta",
"ovl_Obj_Snowball2",
"ovl_En_Gg2",
"ovl_Obj_Ghaka",
"ovl_En_Dnp",
"ovl_En_Dai",
"ovl_Bg_Goron_Oyu",
"ovl_En_Kgy",
"ovl_En_Invadepoh",
"ovl_En_Gk",
"ovl_En_An",
"ovl_En_Bee",
"ovl_En_Ot",
"ovl_En_Dragon",
"ovl_Obj_Dora",
"ovl_En_Bigpo",
"ovl_Obj_Kendo_Kanban",
"ovl_Obj_Hariko",
"ovl_En_Sth",
"ovl_Bg_Sinkai_Kabe",
"ovl_Bg_Haka_Curtain",
"ovl_Bg_Kin2_Bombwall",
"ovl_Bg_Kin2_Fence",
"ovl_Bg_Kin2_Picture",
"ovl_Bg_Kin2_Shelf",
"ovl_En_Rail_Skb",
"ovl_En_Jg",
"ovl_En_Tru_Mt",
"ovl_Obj_Um",
"ovl_En_Neo_Reeba",
"ovl_Bg_Mbar_Chair",
"ovl_Bg_Ikana_Block",
"ovl_Bg_Ikana_Mirror",
"ovl_Bg_Ikana_Rotaryroom",
"ovl_Bg_Dblue_Balance",
"ovl_Bg_Dblue_Waterfall",
"ovl_En_Kaizoku",
"ovl_En_Ge2",
"ovl_En_Ma_Yts",
"ovl_En_Ma_Yto",
"ovl_Obj_Tokei_Turret",
"ovl_Bg_Dblue_Elevator",
"ovl_Obj_Warpstone",
"ovl_En_Zog",
"ovl_Obj_Rotlift",
"ovl_Obj_Jg_Gakki",
"ovl_Bg_Inibs_Movebg",
"ovl_En_Zot",
"ovl_Obj_Tree",
"ovl_Obj_Y2lift",
"ovl_Obj_Y2shutter",
"ovl_Obj_Boat",
"ovl_Obj_Taru",
"ovl_Obj_Hunsui",
"ovl_En_Jc_Mato",
"ovl_Mir_Ray3",
"ovl_En_Zob",
"ovl_Elf_Msg6",
"ovl_Obj_Nozoki",
"ovl_En_Toto",
"ovl_En_Railgibud",
"ovl_En_Baba",
"ovl_En_Suttari",
"ovl_En_Zod",
"ovl_En_Kujiya",
"ovl_En_Geg",
"ovl_Obj_Kinoko",
"ovl_Obj_Yasi",
"ovl_En_Tanron1",
"ovl_En_Tanron2",
"ovl_En_Tanron3",
"ovl_Obj_Chan",
"ovl_En_Zos",
"ovl_En_S_Goro",
"ovl_En_Nb",
"ovl_En_Ja",
"ovl_Bg_F40_Block",
"ovl_Bg_F40_Switch",
"ovl_En_Po_Composer",
"ovl_En_Guruguru",
"ovl_Oceff_Wipe5",
"ovl_En_Stone_heishi",
"ovl_Oceff_Wipe6",
"ovl_En_Scopenuts",
"ovl_En_Scopecrow",
"ovl_Oceff_Wipe7",
"ovl_Eff_Kamejima_Wave",
"ovl_En_Hg",
"ovl_En_Hgo",
"ovl_En_Zov",
"ovl_En_Ah",
"ovl_Obj_Hgdoor",
"ovl_Bg_Ikana_Bombwall",
"ovl_Bg_Ikana_Ray",
"ovl_Bg_Ikana_Shutter",
"ovl_Bg_Haka_Bombwall",
"ovl_Bg_Haka_Tomb",
"ovl_En_Sc_Ruppe",
"ovl_Bg_Iknv_Doukutu",
"ovl_Bg_Iknv_Obj",
"ovl_En_Pamera",
"ovl_Obj_HsStump",
"ovl_En_Hidden_Nuts",
"ovl_En_Zow",
"ovl_En_Talk",
"ovl_En_Al",
"ovl_En_Tab",
"ovl_En_Nimotsu",
"ovl_En_Hit_Tag",
"ovl_En_Ruppecrow",
"ovl_En_Tanron4",
"ovl_En_Tanron5",
"ovl_En_Tanron6",
"ovl_En_Daiku2",
"ovl_En_Muto",
"ovl_En_Baisen",
"ovl_En_Heishi",
"ovl_En_Demo_heishi",
"ovl_En_Dt",
"ovl_En_Cha",
"ovl_Obj_Dinner",
"ovl_Eff_Lastday",
"ovl_Bg_Ikana_Dharma",
"ovl_En_Akindonuts",
"ovl_Eff_Stk",
"ovl_En_Ig",
"ovl_En_Rg",
"ovl_En_Osk",
"ovl_En_Sth2",
"ovl_En_Yb",
"ovl_En_Rz",
"ovl_En_Scopecoin",
"ovl_En_Bjt",
"ovl_En_Bomjima",
"ovl_En_Bomjimb",
"ovl_En_Bombers",
"ovl_En_Bombers2",
"ovl_En_Bombal",
"ovl_Obj_Moon_Stone",
"ovl_Obj_Mu_Pict",
"ovl_Bg_Ikninside",
"ovl_Eff_Zoraband",
"ovl_Obj_Kepn_Koya",
"ovl_Obj_Usiyane",
"ovl_En_Nnh",
"ovl_Obj_Kzsaku",
"ovl_Obj_Milk_Bin",
"ovl_En_Kitan",
"ovl_Bg_Astr_Bombwall",
"ovl_Bg_Iknin_Susceil",
"ovl_En_Bsb",
"ovl_En_Recepgirl",
"ovl_En_Thiefbird",
"ovl_En_Jgame_Tsn",
"ovl_Obj_Jgame_Light",
"ovl_Obj_Yado",
"ovl_Demo_Syoten",
"ovl_Demo_Moonend",
"ovl_Bg_Lbfshot",
"ovl_Bg_Last_Bwall",
"ovl_En_And",
"ovl_En_Invadepoh_Demo",
"ovl_Obj_Danpeilift",
"ovl_En_Fall2",
"ovl_Dm_Al",
"ovl_Dm_An",
"ovl_Dm_Ah",
"ovl_Dm_Nb",
"ovl_En_Drs",
"ovl_En_Ending_Hero",
"ovl_Dm_Bal",
"ovl_En_Paper",
"ovl_En_Hint_Skb",
"ovl_Dm_Tag",
"ovl_En_Bh",
"ovl_En_Ending_Hero2",
"ovl_En_Ending_Hero3",
"ovl_En_Ending_Hero4",
"ovl_En_Ending_Hero5",
"ovl_En_Ending_Hero6",
"ovl_Dm_Gm",
"ovl_Obj_Swprize",
"ovl_En_Invisible_Ruppe",
"ovl_Obj_Ending",
"ovl_En_Rsn",
]
actor_type_enum = [
"ACTORCAT_SWITCH",
"ACTORCAT_BG",
"ACTORCAT_PLAYER",
"ACTORCAT_EXPLOSIVES",
"ACTORCAT_NPC",
"ACTORCAT_ENEMY",
"ACTORCAT_PROP",
"ACTORCAT_ITEMACTION",
"ACTORCAT_MISC",
"ACTORCAT_BOSS",
"ACTORCAT_DOOR",
"ACTORCAT_CHEST"
]
actor_enum = [
"ACTOR_PLAYER",
"ACTOR_EN_TEST",
"ACTOR_EN_GIRLA",
"ACTOR_EN_PART",
"ACTOR_EN_LIGHT",
"ACTOR_EN_DOOR",
"ACTOR_EN_BOX",
"ACTOR_EN_PAMETFROG",
"ACTOR_EN_OKUTA",
"ACTOR_EN_BOM",
"ACTOR_EN_WALLMAS",
"ACTOR_EN_DODONGO",
"ACTOR_EN_FIREFLY",
"ACTOR_EN_HORSE",
"ACTOR_EN_ITEM00",
"ACTOR_EN_ARROW",
"ACTOR_EN_ELF",
"ACTOR_EN_NIW",
"ACTOR_EN_TITE",
"ACTOR_UNSET_13",
"ACTOR_EN_PEEHAT",
"ACTOR_EN_BUTTE",
"ACTOR_EN_INSECT",
"ACTOR_EN_FISH",
"ACTOR_EN_HOLL",
"ACTOR_EN_DINOFOS",
"ACTOR_EN_HATA",
"ACTOR_EN_ZL1",
"ACTOR_EN_VIEWER",
"ACTOR_EN_BUBBLE",
"ACTOR_DOOR_SHUTTER",
"ACTOR_UNSET_1F",
"ACTOR_EN_BOOM",
"ACTOR_EN_TORCH2",
"ACTOR_EN_MINIFROG",
"ACTOR_UNSET_23",
"ACTOR_EN_ST",
"ACTOR_UNSET_25",
"ACTOR_EN_A_OBJ",
"ACTOR_OBJ_WTURN",
"ACTOR_EN_RIVER_SOUND",
"ACTOR_UNSET_29",
"ACTOR_EN_OSSAN",
"ACTOR_UNSET_2B",
"ACTOR_UNSET_2C",
"ACTOR_EN_FAMOS",
"ACTOR_UNSET_2E",
"ACTOR_EN_BOMBF",
"ACTOR_UNSET_30",
"ACTOR_UNSET_31",
"ACTOR_EN_AM",
"ACTOR_EN_DEKUBABA",
"ACTOR_EN_M_FIRE1",
"ACTOR_EN_M_THUNDER",
"ACTOR_BG_BREAKWALL",
"ACTOR_UNSET_37",
"ACTOR_DOOR_WARP1",
"ACTOR_OBJ_SYOKUDAI",
"ACTOR_ITEM_B_HEART",
"ACTOR_EN_DEKUNUTS",
"ACTOR_EN_BBFALL",
"ACTOR_ARMS_HOOK",
"ACTOR_EN_BB",
"ACTOR_BG_KEIKOKU_SPR",
"ACTOR_UNSET_40",
"ACTOR_EN_WOOD02",
"ACTOR_UNSET_42",
"ACTOR_EN_DEATH",
"ACTOR_EN_MINIDEATH",
"ACTOR_UNSET_45",
"ACTOR_UNSET_46",
"ACTOR_EN_VM",
"ACTOR_DEMO_EFFECT",
"ACTOR_DEMO_KANKYO",
"ACTOR_EN_FLOORMAS",
"ACTOR_UNSET_4B",
"ACTOR_EN_RD",
"ACTOR_BG_F40_FLIFT",
"ACTOR_UNSET_4E",
"ACTOR_OBJ_MURE",
"ACTOR_EN_SW",
"ACTOR_OBJECT_KANKYO",
"ACTOR_UNSET_52",
"ACTOR_UNSET_53",
"ACTOR_EN_HORSE_LINK_CHILD",
"ACTOR_DOOR_ANA",
"ACTOR_UNSET_56",
"ACTOR_UNSET_57",
"ACTOR_UNSET_58",
"ACTOR_UNSET_59",
"ACTOR_UNSET_5A",
"ACTOR_EN_ENCOUNT1",
"ACTOR_DEMO_TRE_LGT",
"ACTOR_UNSET_5D",
"ACTOR_UNSET_5E",
"ACTOR_EN_ENCOUNT2",
"ACTOR_EN_FIRE_ROCK",
"ACTOR_BG_CTOWER_ROT",
"ACTOR_MIR_RAY",
"ACTOR_UNSET_63",
"ACTOR_EN_SB",
"ACTOR_EN_BIGSLIME",
"ACTOR_EN_KAREBABA",
"ACTOR_EN_IN",
"ACTOR_UNSET_68",
"ACTOR_EN_RU",
"ACTOR_EN_BOM_CHU",
"ACTOR_EN_HORSE_GAME_CHECK",
"ACTOR_EN_RR",
"ACTOR_UNSET_6D",
"ACTOR_UNSET_6E",
"ACTOR_UNSET_6F",
"ACTOR_UNSET_70",
"ACTOR_UNSET_71",
"ACTOR_UNSET_72",
"ACTOR_EN_FR",
"ACTOR_UNSET_74",
"ACTOR_UNSET_75",
"ACTOR_UNSET_76",
"ACTOR_UNSET_77",
"ACTOR_UNSET_78",
"ACTOR_UNSET_79",
"ACTOR_OBJ_OSHIHIKI",
"ACTOR_EFF_DUST",
"ACTOR_BG_UMAJUMP",
"ACTOR_ARROW_FIRE",
"ACTOR_ARROW_ICE",
"ACTOR_ARROW_LIGHT",
"ACTOR_ITEM_ETCETERA",
"ACTOR_OBJ_KIBAKO",
"ACTOR_OBJ_TSUBO",
"ACTOR_UNSET_83",
"ACTOR_EN_IK",
"ACTOR_UNSET_85",
"ACTOR_UNSET_86",
"ACTOR_UNSET_87",
"ACTOR_UNSET_88",
"ACTOR_DEMO_SHD",
"ACTOR_EN_DNS",
"ACTOR_ELF_MSG",
"ACTOR_EN_HONOTRAP",
"ACTOR_EN_TUBO_TRAP",
"ACTOR_OBJ_ICE_POLY",
"ACTOR_EN_FZ",
"ACTOR_EN_KUSA",
"ACTOR_OBJ_BEAN",
"ACTOR_OBJ_BOMBIWA",
"ACTOR_OBJ_SWITCH",
"ACTOR_UNSET_94",
"ACTOR_OBJ_LIFT",
"ACTOR_OBJ_HSBLOCK",
"ACTOR_EN_OKARINA_TAG",
"ACTOR_UNSET_98",
"ACTOR_EN_GOROIWA",
"ACTOR_UNSET_9A",
"ACTOR_UNSET_9B",
"ACTOR_EN_DAIKU",
"ACTOR_EN_NWC",
"ACTOR_ITEM_INBOX",
"ACTOR_EN_GE1",
"ACTOR_OBJ_BLOCKSTOP",
"ACTOR_EN_SDA",
"ACTOR_EN_CLEAR_TAG",
"ACTOR_UNSET_A3",
"ACTOR_EN_GM",
"ACTOR_EN_MS",
"ACTOR_EN_HS",
"ACTOR_BG_INGATE",
"ACTOR_EN_KANBAN",
"ACTOR_UNSET_A9",
"ACTOR_EN_ATTACK_NIW",
"ACTOR_UNSET_AB",
"ACTOR_UNSET_AC",
"ACTOR_UNSET_AD",
"ACTOR_EN_MK",
"ACTOR_EN_OWL",
"ACTOR_EN_ISHI",
"ACTOR_OBJ_HANA",
"ACTOR_OBJ_LIGHTSWITCH",
"ACTOR_OBJ_MURE2",
"ACTOR_UNSET_B4",
"ACTOR_EN_FU",
"ACTOR_UNSET_B6",
"ACTOR_UNSET_B7",
"ACTOR_EN_STREAM",
"ACTOR_EN_MM",
"ACTOR_UNSET_BA",
"ACTOR_UNSET_BB",
"ACTOR_EN_WEATHER_TAG",
"ACTOR_EN_ANI",
"ACTOR_UNSET_BE",
"ACTOR_EN_JS",
"ACTOR_UNSET_C0",
"ACTOR_UNSET_C1",
"ACTOR_UNSET_C2",
"ACTOR_UNSET_C3",
"ACTOR_EN_OKARINA_EFFECT",
"ACTOR_EN_MAG",
"ACTOR_ELF_MSG2",
"ACTOR_BG_F40_SWLIFT",
"ACTOR_UNSET_C8",
"ACTOR_UNSET_C9",
"ACTOR_EN_KAKASI",
"ACTOR_OBJ_MAKEOSHIHIKI",
"ACTOR_OCEFF_SPOT",
"ACTOR_UNSET_CD",
"ACTOR_EN_TORCH",
"ACTOR_UNSET_CF",
"ACTOR_SHOT_SUN",
"ACTOR_UNSET_D1",
"ACTOR_UNSET_D2",
"ACTOR_OBJ_ROOMTIMER",
"ACTOR_EN_SSH",
"ACTOR_UNSET_D5",
"ACTOR_OCEFF_WIPE",
"ACTOR_OCEFF_STORM",
"ACTOR_OBJ_DEMO",
"ACTOR_EN_MINISLIME",
"ACTOR_EN_NUTSBALL",
"ACTOR_UNSET_DB",
"ACTOR_UNSET_DC",
"ACTOR_UNSET_DD",
"ACTOR_UNSET_DE",
"ACTOR_OCEFF_WIPE2",
"ACTOR_OCEFF_WIPE3",
"ACTOR_UNSET_E1",
"ACTOR_EN_DG",
"ACTOR_EN_SI",
"ACTOR_OBJ_COMB",
"ACTOR_OBJ_KIBAKO2",
"ACTOR_UNSET_E6",
"ACTOR_EN_HS2",
"ACTOR_OBJ_MURE3",
"ACTOR_EN_TG",
"ACTOR_UNSET_EA",
"ACTOR_UNSET_EB",
"ACTOR_EN_WF",
"ACTOR_EN_SKB",
"ACTOR_UNSET_EE",
"ACTOR_EN_GS",
"ACTOR_OBJ_SOUND",
"ACTOR_EN_CROW",
"ACTOR_UNSET_F2",
"ACTOR_EN_COW",
"ACTOR_UNSET_F4",
"ACTOR_UNSET_F5",
"ACTOR_OCEFF_WIPE4",
"ACTOR_UNSET_F7",
"ACTOR_EN_ZO",
"ACTOR_OBJ_MAKEKINSUTA",
"ACTOR_EN_GE3",
"ACTOR_UNSET_FB",
"ACTOR_OBJ_HAMISHI",
"ACTOR_EN_ZL4",
"ACTOR_EN_MM2",
"ACTOR_UNSET_FF",
"ACTOR_DOOR_SPIRAL",
"ACTOR_UNSET_101",
"ACTOR_OBJ_PZLBLOCK",
"ACTOR_OBJ_TOGE",
"ACTOR_UNSET_104",
"ACTOR_OBJ_ARMOS",
"ACTOR_OBJ_BOYO",
"ACTOR_UNSET_107",
"ACTOR_UNSET_108",
"ACTOR_EN_GRASSHOPPER",
"ACTOR_UNSET_10A",
"ACTOR_OBJ_GRASS",
"ACTOR_OBJ_GRASS_CARRY",
"ACTOR_OBJ_GRASS_UNIT",
"ACTOR_UNSET_10E",
"ACTOR_UNSET_10F",
"ACTOR_BG_FIRE_WALL",
"ACTOR_EN_BU",
"ACTOR_EN_ENCOUNT3",
"ACTOR_EN_JSO",
"ACTOR_OBJ_CHIKUWA",
"ACTOR_EN_KNIGHT",
"ACTOR_EN_WARP_TAG",
"ACTOR_EN_AOB_01",
"ACTOR_EN_BOJ_01",
"ACTOR_EN_BOJ_02",
"ACTOR_EN_BOJ_03",
"ACTOR_EN_ENCOUNT4",
"ACTOR_EN_BOM_BOWL_MAN",
"ACTOR_EN_SYATEKI_MAN",
"ACTOR_UNSET_11E",
"ACTOR_BG_ICICLE",
"ACTOR_EN_SYATEKI_CROW",
"ACTOR_EN_BOJ_04",
"ACTOR_EN_CNE_01",
"ACTOR_EN_BBA_01",
"ACTOR_EN_BJI_01",
"ACTOR_BG_SPDWEB",
"ACTOR_UNSET_126",
"ACTOR_UNSET_127",
"ACTOR_EN_MT_TAG",
"ACTOR_BOSS_01",
"ACTOR_BOSS_02",
"ACTOR_BOSS_03",
"ACTOR_BOSS_04",
"ACTOR_BOSS_05",
"ACTOR_BOSS_06",
"ACTOR_BOSS_07",
"ACTOR_BG_DY_YOSEIZO",
"ACTOR_UNSET_131",
"ACTOR_EN_BOJ_05",
"ACTOR_UNSET_133",
"ACTOR_UNSET_134",
"ACTOR_EN_SOB1",
"ACTOR_UNSET_136",
"ACTOR_UNSET_137",
"ACTOR_EN_GO",
"ACTOR_UNSET_139",
"ACTOR_EN_RAF",
"ACTOR_OBJ_FUNEN",
"ACTOR_OBJ_RAILLIFT",
"ACTOR_BG_NUMA_HANA",
"ACTOR_OBJ_FLOWERPOT",
"ACTOR_OBJ_SPINYROLL",
"ACTOR_DM_HINA",
"ACTOR_EN_SYATEKI_WF",
"ACTOR_OBJ_SKATEBLOCK",
"ACTOR_OBJ_ICEBLOCK",
"ACTOR_EN_BIGPAMET",
"ACTOR_EN_SYATEKI_DEKUNUTS",
"ACTOR_ELF_MSG3",
"ACTOR_EN_FG",
"ACTOR_DM_RAVINE",
"ACTOR_DM_SA",
"ACTOR_EN_SLIME",
"ACTOR_EN_PR",
"ACTOR_OBJ_TOUDAI",
"ACTOR_OBJ_ENTOTU",
"ACTOR_OBJ_BELL",
"ACTOR_EN_SYATEKI_OKUTA",
"ACTOR_UNSET_150",
"ACTOR_OBJ_SHUTTER",
"ACTOR_DM_ZL",
"ACTOR_EN_ELFGRP",
"ACTOR_DM_TSG",
"ACTOR_EN_BAGUO",
"ACTOR_OBJ_VSPINYROLL",
"ACTOR_OBJ_SMORK",
"ACTOR_EN_TEST2",
"ACTOR_EN_TEST3",
"ACTOR_EN_TEST4",
"ACTOR_EN_BAT",
"ACTOR_EN_SEKIHI",
"ACTOR_EN_WIZ",
"ACTOR_EN_WIZ_BROCK",
"ACTOR_EN_WIZ_FIRE",
"ACTOR_EFF_CHANGE",
"ACTOR_DM_STATUE",
"ACTOR_OBJ_FIRESHIELD",
"ACTOR_BG_LADDER",
"ACTOR_EN_MKK",
"ACTOR_DEMO_GETITEM",
"ACTOR_UNSET_166",
"ACTOR_EN_DNB",
"ACTOR_EN_DNH",
"ACTOR_EN_DNK",
"ACTOR_EN_DNQ",
"ACTOR_UNSET_16B",
"ACTOR_BG_KEIKOKU_SAKU",
"ACTOR_OBJ_HUGEBOMBIWA",
"ACTOR_EN_FIREFLY2",
"ACTOR_EN_RAT",
"ACTOR_EN_WATER_EFFECT",
"ACTOR_EN_KUSA2",
"ACTOR_BG_SPOUT_FIRE",
"ACTOR_UNSET_173",
"ACTOR_BG_DBLUE_MOVEBG",
"ACTOR_EN_DY_EXTRA",
"ACTOR_EN_BAL",
"ACTOR_EN_GINKO_MAN",
"ACTOR_EN_WARP_UZU",
"ACTOR_OBJ_DRIFTICE",
"ACTOR_EN_LOOK_NUTS",
"ACTOR_EN_MUSHI2",
"ACTOR_EN_FALL",
"ACTOR_EN_MM3",
"ACTOR_BG_CRACE_MOVEBG",
"ACTOR_EN_DNO",
"ACTOR_EN_PR2",
"ACTOR_EN_PRZ",
"ACTOR_EN_JSO2",
"ACTOR_OBJ_ETCETERA",
"ACTOR_EN_EGOL",
"ACTOR_OBJ_MINE",
"ACTOR_OBJ_PURIFY",
"ACTOR_EN_TRU",
"ACTOR_EN_TRT",
"ACTOR_UNSET_189",
"ACTOR_UNSET_18A",
"ACTOR_EN_TEST5",
"ACTOR_EN_TEST6",
"ACTOR_EN_AZ",
"ACTOR_EN_ESTONE",
"ACTOR_BG_HAKUGIN_POST",
"ACTOR_DM_OPSTAGE",
"ACTOR_DM_STK",
"ACTOR_DM_CHAR00",
"ACTOR_DM_CHAR01",
"ACTOR_DM_CHAR02",
"ACTOR_DM_CHAR03",
"ACTOR_DM_CHAR04",
"ACTOR_DM_CHAR05",
"ACTOR_DM_CHAR06",
"ACTOR_DM_CHAR07",
"ACTOR_DM_CHAR08",
"ACTOR_DM_CHAR09",
"ACTOR_OBJ_TOKEIDAI",
"ACTOR_UNSET_19D",
"ACTOR_EN_MNK",
"ACTOR_EN_EGBLOCK",
"ACTOR_EN_GUARD_NUTS",
"ACTOR_BG_HAKUGIN_BOMBWALL",
"ACTOR_OBJ_TOKEI_TOBIRA",
"ACTOR_BG_HAKUGIN_ELVPOLE",
"ACTOR_EN_MA4",
"ACTOR_EN_TWIG",
"ACTOR_EN_PO_FUSEN",
"ACTOR_EN_DOOR_ETC",
"ACTOR_EN_BIGOKUTA",
"ACTOR_BG_ICEFLOE",
"ACTOR_OBJ_OCARINALIFT",
"ACTOR_EN_TIME_TAG",
"ACTOR_BG_OPEN_SHUTTER",
"ACTOR_BG_OPEN_SPOT",
"ACTOR_BG_FU_KAITEN",
"ACTOR_OBJ_AQUA",
"ACTOR_EN_ELFORG",
"ACTOR_EN_ELFBUB",
"ACTOR_UNSET_1B2",
"ACTOR_EN_FU_MATO",
"ACTOR_EN_FU_KAGO",
"ACTOR_EN_OSN",
"ACTOR_BG_CTOWER_GEAR",
"ACTOR_EN_TRT2",
"ACTOR_OBJ_TOKEI_STEP",
"ACTOR_BG_LOTUS",
"ACTOR_EN_KAME",
"ACTOR_OBJ_TAKARAYA_WALL",
"ACTOR_BG_FU_MIZU",
"ACTOR_EN_SELLNUTS",
"ACTOR_BG_DKJAIL_IVY",
"ACTOR_UNSET_1BF",
"ACTOR_OBJ_VISIBLOCK",
"ACTOR_EN_TAKARAYA",
"ACTOR_EN_TSN",
"ACTOR_EN_DS2N",
"ACTOR_EN_FSN",
"ACTOR_EN_SHN",
"ACTOR_UNSET_1C6",
"ACTOR_EN_STOP_HEISHI",
"ACTOR_OBJ_BIGICICLE",
"ACTOR_EN_LIFT_NUTS",
"ACTOR_EN_TK",
"ACTOR_UNSET_1CB",
"ACTOR_BG_MARKET_STEP",
"ACTOR_OBJ_LUPYGAMELIFT",
"ACTOR_EN_TEST7",
"ACTOR_OBJ_LIGHTBLOCK",
"ACTOR_MIR_RAY2",
"ACTOR_EN_WDHAND",
"ACTOR_EN_GAMELUPY",
"ACTOR_BG_DANPEI_MOVEBG",
"ACTOR_EN_SNOWWD",
"ACTOR_EN_PM",
"ACTOR_EN_GAKUFU",
"ACTOR_ELF_MSG4",
"ACTOR_ELF_MSG5",
"ACTOR_EN_COL_MAN",
"ACTOR_EN_TALK_GIBUD",
"ACTOR_EN_GIANT",
"ACTOR_OBJ_SNOWBALL",
"ACTOR_BOSS_HAKUGIN",
"ACTOR_EN_GB2",
"ACTOR_EN_ONPUMAN",
"ACTOR_BG_TOBIRA01",
"ACTOR_EN_TAG_OBJ",
"ACTOR_OBJ_DHOUSE",
"ACTOR_OBJ_HAKAISI",
"ACTOR_BG_HAKUGIN_SWITCH",
"ACTOR_UNSET_1E5",
"ACTOR_EN_SNOWMAN",
"ACTOR_TG_SW",
"ACTOR_EN_PO_SISTERS",
"ACTOR_EN_PP",
"ACTOR_EN_HAKUROCK",
"ACTOR_EN_HANABI",
"ACTOR_OBJ_DOWSING",
"ACTOR_OBJ_WIND",
"ACTOR_EN_RACEDOG",
"ACTOR_EN_KENDO_JS",
"ACTOR_BG_BOTIHASIRA",
"ACTOR_EN_FISH2",
"ACTOR_EN_PST",
"ACTOR_EN_POH",
"ACTOR_OBJ_SPIDERTENT",
"ACTOR_EN_ZORAEGG",
"ACTOR_EN_KBT",
"ACTOR_EN_GG",
"ACTOR_EN_MARUTA",
"ACTOR_OBJ_SNOWBALL2",
"ACTOR_EN_GG2",
"ACTOR_OBJ_GHAKA",
"ACTOR_EN_DNP",
"ACTOR_EN_DAI",
"ACTOR_BG_GORON_OYU",
"ACTOR_EN_KGY",
"ACTOR_EN_INVADEPOH",
"ACTOR_EN_GK",
"ACTOR_EN_AN",
"ACTOR_UNSET_203",
"ACTOR_EN_BEE",
"ACTOR_EN_OT",
"ACTOR_EN_DRAGON",
"ACTOR_OBJ_DORA",
"ACTOR_EN_BIGPO",
"ACTOR_OBJ_KENDO_KANBAN",
"ACTOR_OBJ_HARIKO",
"ACTOR_EN_STH",
"ACTOR_BG_SINKAI_KABE",
"ACTOR_BG_HAKA_CURTAIN",
"ACTOR_BG_KIN2_BOMBWALL",
"ACTOR_BG_KIN2_FENCE",
"ACTOR_BG_KIN2_PICTURE",
"ACTOR_BG_KIN2_SHELF",
"ACTOR_EN_RAIL_SKB",
"ACTOR_EN_JG",
"ACTOR_EN_TRU_MT",
"ACTOR_OBJ_UM",
"ACTOR_EN_NEO_REEBA",
"ACTOR_BG_MBAR_CHAIR",
"ACTOR_BG_IKANA_BLOCK",
"ACTOR_BG_IKANA_MIRROR",
"ACTOR_BG_IKANA_ROTARYROOM",
"ACTOR_BG_DBLUE_BALANCE",
"ACTOR_BG_DBLUE_WATERFALL",
"ACTOR_EN_KAIZOKU",
"ACTOR_EN_GE2",
"ACTOR_EN_MA_YTS",
"ACTOR_EN_MA_YTO",
"ACTOR_OBJ_TOKEI_TURRET",
"ACTOR_BG_DBLUE_ELEVATOR",
"ACTOR_OBJ_WARPSTONE",
"ACTOR_EN_ZOG",
"ACTOR_OBJ_ROTLIFT",
"ACTOR_OBJ_JG_GAKKI",
"ACTOR_BG_INIBS_MOVEBG",
"ACTOR_EN_ZOT",
"ACTOR_OBJ_TREE",
"ACTOR_OBJ_Y2LIFT",
"ACTOR_OBJ_Y2SHUTTER",
"ACTOR_OBJ_BOAT",
"ACTOR_OBJ_TARU",
"ACTOR_OBJ_HUNSUI",
"ACTOR_EN_JC_MATO",
"ACTOR_MIR_RAY3",
"ACTOR_EN_ZOB",
"ACTOR_ELF_MSG6",
"ACTOR_OBJ_NOZOKI",
"ACTOR_EN_TOTO",
"ACTOR_EN_RAILGIBUD",
"ACTOR_EN_BABA",
"ACTOR_EN_SUTTARI",
"ACTOR_EN_ZOD",
"ACTOR_EN_KUJIYA",
"ACTOR_EN_GEG",
"ACTOR_OBJ_KINOKO",
"ACTOR_OBJ_YASI",
"ACTOR_EN_TANRON1",
"ACTOR_EN_TANRON2",
"ACTOR_EN_TANRON3",
"ACTOR_OBJ_CHAN",
"ACTOR_EN_ZOS",
"ACTOR_EN_S_GORO",
"ACTOR_EN_NB",
"ACTOR_EN_JA",
"ACTOR_BG_F40_BLOCK",
"ACTOR_BG_F40_SWITCH",
"ACTOR_EN_PO_COMPOSER",
"ACTOR_EN_GURUGURU",
"ACTOR_OCEFF_WIPE5",
"ACTOR_EN_STONE_HEISHI",
"ACTOR_OCEFF_WIPE6",
"ACTOR_EN_SCOPENUTS",
"ACTOR_EN_SCOPECROW",
"ACTOR_OCEFF_WIPE7",
"ACTOR_EFF_KAMEJIMA_WAVE",
"ACTOR_EN_HG",
"ACTOR_EN_HGO",
"ACTOR_EN_ZOV",
"ACTOR_EN_AH",
"ACTOR_OBJ_HGDOOR",
"ACTOR_BG_IKANA_BOMBWALL",
"ACTOR_BG_IKANA_RAY",
"ACTOR_BG_IKANA_SHUTTER",
"ACTOR_BG_HAKA_BOMBWALL",
"ACTOR_BG_HAKA_TOMB",
"ACTOR_EN_SC_RUPPE",
"ACTOR_BG_IKNV_DOUKUTU",
"ACTOR_BG_IKNV_OBJ",
"ACTOR_EN_PAMERA",
"ACTOR_OBJ_HSSTUMP",
"ACTOR_EN_HIDDEN_NUTS",
"ACTOR_EN_ZOW",
"ACTOR_EN_TALK",
"ACTOR_EN_AL",
"ACTOR_EN_TAB",
"ACTOR_EN_NIMOTSU",
"ACTOR_EN_HIT_TAG",
"ACTOR_EN_RUPPECROW",
"ACTOR_EN_TANRON4",
"ACTOR_EN_TANRON5",
"ACTOR_EN_TANRON6",
"ACTOR_EN_DAIKU2",
"ACTOR_EN_MUTO",
"ACTOR_EN_BAISEN",
"ACTOR_EN_HEISHI",
"ACTOR_EN_DEMO_HEISHI",
"ACTOR_EN_DT",
"ACTOR_EN_CHA",
"ACTOR_OBJ_DINNER",
"ACTOR_EFF_LASTDAY",
"ACTOR_BG_IKANA_DHARMA",
"ACTOR_EN_AKINDONUTS",
"ACTOR_EFF_STK",
"ACTOR_EN_IG",
"ACTOR_EN_RG",
"ACTOR_EN_OSK",
"ACTOR_EN_STH2",
"ACTOR_EN_YB",
"ACTOR_EN_RZ",
"ACTOR_EN_SCOPECOIN",
"ACTOR_EN_BJT",
"ACTOR_EN_BOMJIMA",
"ACTOR_EN_BOMJIMB",
"ACTOR_EN_BOMBERS",
"ACTOR_EN_BOMBERS2",
"ACTOR_EN_BOMBAL",
"ACTOR_OBJ_MOON_STONE",
"ACTOR_OBJ_MU_PICT",
"ACTOR_BG_IKNINSIDE",
"ACTOR_EFF_ZORABAND",
"ACTOR_OBJ_KEPN_KOYA",
"ACTOR_OBJ_USIYANE",
"ACTOR_EN_NNH",
"ACTOR_OBJ_KZSAKU",
"ACTOR_OBJ_MILK_BIN",
"ACTOR_EN_KITAN",
"ACTOR_BG_ASTR_BOMBWALL",
"ACTOR_BG_IKNIN_SUSCEIL",
"ACTOR_EN_BSB",
"ACTOR_EN_RECEPGIRL",
"ACTOR_EN_THIEFBIRD",
"ACTOR_EN_JGAME_TSN",
"ACTOR_OBJ_JGAME_LIGHT",
"ACTOR_OBJ_YADO",
"ACTOR_DEMO_SYOTEN",
"ACTOR_DEMO_MOONEND",
"ACTOR_BG_LBFSHOT",
"ACTOR_BG_LAST_BWALL",
"ACTOR_EN_AND",
"ACTOR_EN_INVADEPOH_DEMO",
"ACTOR_OBJ_DANPEILIFT",
"ACTOR_EN_FALL2",
"ACTOR_DM_AL",
"ACTOR_DM_AN",
"ACTOR_DM_AH",
"ACTOR_DM_NB",
"ACTOR_EN_DRS",
"ACTOR_EN_ENDING_HERO",
"ACTOR_DM_BAL",
"ACTOR_EN_PAPER",
"ACTOR_EN_HINT_SKB",
"ACTOR_DM_TAG",
"ACTOR_EN_BH",
"ACTOR_EN_ENDING_HERO2",
"ACTOR_EN_ENDING_HERO3",
"ACTOR_EN_ENDING_HERO4",
"ACTOR_EN_ENDING_HERO5",
"ACTOR_EN_ENDING_HERO6",
"ACTOR_DM_GM",
"ACTOR_OBJ_SWPRIZE",
"ACTOR_EN_INVISIBLE_RUPPE",
"ACTOR_OBJ_ENDING",
"ACTOR_EN_RSN"
]
object_enum = [
"OBJECT_UNSET_0",
"GAMEPLAY_KEEP",
"GAMEPLAY_FIELD_KEEP",
"GAMEPLAY_DANGEON_KEEP",
"OBJECT_NB",
"OBJECT_OKUTA",
"OBJECT_CROW",
"OBJECT_AH",
"OBJECT_DY_OBJ",
"OBJECT_WALLMASTER",
"OBJECT_DODONGO",
"OBJECT_FIREFLY",
"OBJECT_BOX",
"OBJECT_AL",
"OBJECT_BUBBLE",
"OBJECT_NIW",
"OBJECT_LINK_BOY",
"OBJECT_LINK_CHILD",
"OBJECT_TITE",
"OBJECT_TAB",
"OBJECT_PH",
"OBJECT_AND",
"OBJECT_MSMO",
"OBJECT_DINOFOS",
"OBJECT_DRS",
"OBJECT_ZL1",
"OBJECT_AN4",
"OBJECT_UNSET_1B",
"OBJECT_TEST3",
"OBJECT_FAMOS",
"OBJECT_UNSET_1E",
"OBJECT_UNSET_1F",
"OBJECT_ST",
"OBJECT_UNSET_21",
"OBJECT_THIEFBIRD",
"OBJECT_UNSET_23",
"OBJECT_UNSET_24",
"OBJECT_UNSET_25",
"OBJECT_UNSET_26",
"OBJECT_UNSET_27",
"OBJECT_UNSET_28",
"OBJECT_UNSET_29",
"OBJECT_BOMBF",
"OBJECT_UNSET_2B",
"OBJECT_UNSET_2C",
"OBJECT_UNSET_2D",
"OBJECT_UNSET_2E",
"OBJECT_UNSET_2F",
"OBJECT_AM",
"OBJECT_DEKUBABA",
"OBJECT_UNSET_32",
"OBJECT_UNSET_33",
"OBJECT_UNSET_34",
"OBJECT_UNSET_35",
"OBJECT_UNSET_36",
"OBJECT_UNSET_37",
"OBJECT_UNSET_38",
"OBJECT_UNSET_39",
"OBJECT_UNSET_3A",
"OBJECT_UNSET_3B",
"OBJECT_UNSET_3C",
"OBJECT_UNSET_3D",
"OBJECT_WARP1",
"OBJECT_B_HEART",
"OBJECT_DEKUNUTS",
"OBJECT_UNSET_41",
"OBJECT_UNSET_42",
"OBJECT_UNSET_43",
"OBJECT_UNSET_44",
"OBJECT_UNSET_45",
"OBJECT_UNSET_46",
"OBJECT_UNSET_47",
"OBJECT_UNSET_48",
"OBJECT_UNSET_49",
"OBJECT_UNSET_4A",
"OBJECT_UNSET_4B",
"OBJECT_UNSET_4C",
"OBJECT_UNSET_4D",
"OBJECT_UNSET_4E",
"OBJECT_UNSET_4F",
"OBJECT_UNSET_50",
"OBJECT_BB",
"OBJECT_DEATH",
"OBJECT_UNSET_53",
"OBJECT_UNSET_54",
"OBJECT_UNSET_55",
"OBJECT_UNSET_56",
"OBJECT_UNSET_57",
"OBJECT_UNSET_58",
"OBJECT_UNSET_59",
"OBJECT_UNSET_5A",
"OBJECT_UNSET_5B",
"OBJECT_F40_OBJ",
"OBJECT_PO_COMPOSER",
"OBJECT_UNSET_5E",
"OBJECT_HATA",
"OBJECT_UNSET_60",
"OBJECT_WOOD02",
"OBJECT_UNSET_62",
"OBJECT_UNSET_63",
"OBJECT_TRAP",
"OBJECT_UNSET_65",
"OBJECT_UNSET_66",
"OBJECT_UNSET_67",
"OBJECT_UNSET_68",
"OBJECT_UNSET_69",
"OBJECT_VM",
"OBJECT_UNSET_6B",
"OBJECT_UNSET_6C",
"OBJECT_UNSET_6D",
"OBJECT_UNSET_6E",
"OBJECT_UNSET_6F",
"OBJECT_EFC_STAR_FIELD",
"OBJECT_UNSET_71",
"OBJECT_UNSET_72",
"OBJECT_UNSET_73",
"OBJECT_UNSET_74",
"OBJECT_RD",
"OBJECT_YUKIMURA_OBJ",
"OBJECT_HEAVY_OBJECT",
"OBJECT_UNSET_78",
"OBJECT_UNSET_79",
"OBJECT_UNSET_7A",
"OBJECT_UNSET_7B",
"OBJECT_UNSET_7C",
"OBJECT_HORSE_LINK_CHILD",
"OBJECT_UNSET_7E",
"OBJECT_UNSET_7F",
"OBJECT_SYOKUDAI",
"OBJECT_UNSET_81",
"OBJECT_UNSET_82",
"OBJECT_UNSET_83",
"OBJECT_EFC_TW",
"OBJECT_UNSET_85",
"OBJECT_GI_KEY",
"OBJECT_MIR_RAY",
"OBJECT_CTOWER_ROT",
"OBJECT_UNSET_89",
"OBJECT_BDOOR",
"OBJECT_UNSET_8B",
"OBJECT_UNSET_8C",
"OBJECT_UNSET_8D",
"OBJECT_SB",
"OBJECT_GI_MELODY",
"OBJECT_GI_HEART",
"OBJECT_GI_COMPASS",
"OBJECT_GI_BOSSKEY",
"OBJECT_UNSET_93",
"OBJECT_GI_NUTS",
"OBJECT_UNSET_95",
"OBJECT_GI_HEARTS",
"OBJECT_GI_ARROWCASE",
"OBJECT_GI_BOMBPOUCH",
"OBJECT_IN",
"OBJECT_UNSET_9A",
"OBJECT_UNSET_9B",
"OBJECT_UNSET_9C",
"OBJECT_OS_ANIME",
"OBJECT_GI_BOTTLE",
"OBJECT_GI_STICK",
"OBJECT_GI_MAP",
"OBJECT_OF1D_MAP",
"OBJECT_RU2",
"OBJECT_UNSET_A3",
"OBJECT_GI_MAGICPOT",
"OBJECT_GI_BOMB_1",
"OBJECT_UNSET_A6",
"OBJECT_MA2",
"OBJECT_GI_PURSE",
"OBJECT_UNSET_A9",
"OBJECT_UNSET_AA",
"OBJECT_RR",
"OBJECT_UNSET_AC",
"OBJECT_UNSET_AD",
"OBJECT_UNSET_AE",
"OBJECT_GI_ARROW",
"OBJECT_GI_BOMB_2",
"OBJECT_UNSET_B1",
"OBJECT_UNSET_B2",
"OBJECT_GI_SHIELD_2",
"OBJECT_GI_HOOKSHOT",
"OBJECT_GI_OCARINA",
"OBJECT_GI_MILK",
"OBJECT_MA1",
"OBJECT_UNSET_B8",
"OBJECT_UNSET_B9",
"OBJECT_UNSET_BA",
"OBJECT_NY",
"OBJECT_FR",
"OBJECT_UNSET_BD",
"OBJECT_UNSET_BE",
"OBJECT_GI_BOW",
"OBJECT_GI_GLASSES",
"OBJECT_GI_LIQUID",
"OBJECT_ANI",
"OBJECT_GI_SHIELD_3",
"OBJECT_UNSET_C4",
"OBJECT_UNSET_C5",
"OBJECT_GI_BEAN",
"OBJECT_GI_FISH",
"OBJECT_UNSET_C8",
"OBJECT_UNSET_C9",
"OBJECT_UNSET_CA",
"OBJECT_GI_LONGSWORD",
"OBJECT_UNSET_CC",
"OBJECT_UNSET_CD",
"OBJECT_UNSET_CE",
"OBJECT_UNSET_CF",
"OBJECT_ZO",
"OBJECT_UNSET_D1",
"OBJECT_UMAJUMP",
"OBJECT_UNSET_D3",
"OBJECT_UNSET_D4",
"OBJECT_MASTERGOLON",
"OBJECT_MASTERZOORA",
"OBJECT_AOB",
"OBJECT_IK",
"OBJECT_AHG",
"OBJECT_CNE",
"OBJECT_UNSET_DB",
"OBJECT_UNSET_DC",
"OBJECT_AN3",
"OBJECT_BJI",
"OBJECT_BBA",
"OBJECT_AN2",
"OBJECT_UNSET_E1",
"OBJECT_AN1",
"OBJECT_BOJ",
"OBJECT_FZ",
"OBJECT_BOB",
"OBJECT_GE1",
"OBJECT_YABUSAME_POINT",
"OBJECT_UNSET_E8",
"OBJECT_UNSET_E9",
"OBJECT_UNSET_EA",
"OBJECT_UNSET_EB",
"OBJECT_D_HSBLOCK",
"OBJECT_D_LIFT",
"OBJECT_MAMENOKI",
"OBJECT_GOROIWA",
"OBJECT_TORYO",
"OBJECT_DAIKU",
"OBJECT_NWC",
"OBJECT_GM",
"OBJECT_MS",
"OBJECT_HS",
"OBJECT_UNSET_F6",
"OBJECT_LIGHTSWITCH",
"OBJECT_KUSA",
"OBJECT_TSUBO",
"OBJECT_UNSET_FA",
"OBJECT_UNSET_FB",
"OBJECT_KANBAN",
"OBJECT_OWL",
"OBJECT_MK",
"OBJECT_FU",
"OBJECT_GI_KI_TAN_MASK",
"OBJECT_UNSET_101",
"OBJECT_GI_MASK18",
"OBJECT_GI_RABIT_MASK",
"OBJECT_GI_TRUTH_MASK",
"OBJECT_UNSET_105",
"OBJECT_STREAM",
"OBJECT_MM",
"OBJECT_UNSET_108",
"OBJECT_UNSET_109",
"OBJECT_UNSET_10A",
"OBJECT_UNSET_10B",
"OBJECT_UNSET_10C",
"OBJECT_UNSET_10D",
"OBJECT_UNSET_10E",
"OBJECT_JS",
"OBJECT_CS",
"OBJECT_UNSET_111",
"OBJECT_UNSET_112",
"OBJECT_GI_SOLDOUT",
"OBJECT_UNSET_114",
"OBJECT_MAG",
"OBJECT_UNSET_116",
"OBJECT_UNSET_117",
"OBJECT_UNSET_118",
"OBJECT_GI_GOLONMASK",
"OBJECT_GI_ZORAMASK",
"OBJECT_UNSET_11B",
"OBJECT_UNSET_11C",
"OBJECT_KA",
"OBJECT_UNSET_11E",
"OBJECT_ZG",
"OBJECT_UNSET_120",
"OBJECT_GI_M_ARROW",
"OBJECT_DS2",
"OBJECT_UNSET_123",
"OBJECT_FISH",
"OBJECT_GI_SUTARU",
"OBJECT_UNSET_126",
"OBJECT_SSH",
"OBJECT_BIGSLIME",
"OBJECT_BG",
"OBJECT_BOMBIWA",
"OBJECT_HINTNUTS",
"OBJECT_RS",
"OBJECT_UNSET_12D",
"OBJECT_GLA",
"OBJECT_UNSET_12F",
"OBJECT_GELDB",
"OBJECT_UNSET_131",
"OBJECT_DOG",
"OBJECT_KIBAKO2",
"OBJECT_DNS",
"OBJECT_DNK",
"OBJECT_UNSET_136",
"OBJECT_GI_INSECT",
"OBJECT_UNSET_138",
"OBJECT_GI_GHOST",
"OBJECT_GI_SOUL",
"OBJECT_UNSET_13B",
"OBJECT_UNSET_13C",
"OBJECT_UNSET_13D",
"OBJECT_UNSET_13E",
"OBJECT_GI_RUPY",
"OBJECT_MU",
"OBJECT_WF",
"OBJECT_SKB",
"OBJECT_GS",
"OBJECT_PS",
"OBJECT_OMOYA_OBJ",
"OBJECT_COW",
"OBJECT_UNSET_147",
"OBJECT_GI_SWORD_1",
"OBJECT_UNSET_149",
"OBJECT_UNSET_14A",
"OBJECT_ZL4",
"OBJECT_LINK_GORON",
"OBJECT_LINK_ZORA",
"OBJECT_GRASSHOPPER",
"OBJECT_BOYO",
"OBJECT_UNSET_150",
"OBJECT_UNSET_151",
"OBJECT_UNSET_152",
"OBJECT_FWALL",
"OBJECT_LINK_NUTS",
"OBJECT_JSO",
"OBJECT_KNIGHT",
"OBJECT_ICICLE",
"OBJECT_SPDWEB",
"OBJECT_UNSET_159",
"OBJECT_BOSS01",
"OBJECT_BOSS02",
"OBJECT_BOSS03",
"OBJECT_BOSS04",
"OBJECT_BOSS05",
"OBJECT_BOSS06",
"OBJECT_BOSS07",
"OBJECT_RAF",
"OBJECT_FUNEN",
"OBJECT_RAILLIFT",
"OBJECT_NUMA_OBJ",
"OBJECT_FLOWERPOT",
"OBJECT_SPINYROLL",
"OBJECT_ICE_BLOCK",
"OBJECT_UNSET_168",
"OBJECT_KEIKOKU_DEMO",
"OBJECT_SLIME",
"OBJECT_PR",
"OBJECT_F52_OBJ",
"OBJECT_F53_OBJ",
"OBJECT_UNSET_16E",
"OBJECT_KIBAKO",
"OBJECT_SEK",
"OBJECT_GMO",
"OBJECT_BAT",
"OBJECT_SEKIHIL",
"OBJECT_SEKIHIG",
"OBJECT_SEKIHIN",
"OBJECT_SEKIHIZ",
"OBJECT_UNSET_177",
"OBJECT_WIZ",
"OBJECT_LADDER",
"OBJECT_MKK",
"OBJECT_UNSET_17B",
"OBJECT_UNSET_17C",
"OBJECT_UNSET_17D",
"OBJECT_KEIKOKU_OBJ",
"OBJECT_SICHITAI_OBJ",
"OBJECT_DEKUCITY_ANA_OBJ",
"OBJECT_RAT",
"OBJECT_WATER_EFFECT",
"OBJECT_UNSET_183",
"OBJECT_DBLUE_OBJECT",
"OBJECT_BAL",
"OBJECT_WARP_UZU",
"OBJECT_DRIFTICE",
"OBJECT_FALL",
"OBJECT_HANAREYAMA_OBJ",
"OBJECT_CRACE_OBJECT",
"OBJECT_DNQ",
"OBJECT_OBJECT_UNSET_TOKEIDAI",
"OBJECT_EG",
"OBJECT_TRU",
"OBJECT_TRT",
"OBJECT_HAKUGIN_OBJ",
"OBJECT_HORSE_GAME_CHECK",
"OBJECT_STK",
"OBJECT_UNSET_193",
"OBJECT_UNSET_194",
"OBJECT_MNK",
"OBJECT_GI_BOTTLE_RED",
"OBJECT_TOKEI_TOBIRA",
"OBJECT_AZ",
"OBJECT_TWIG",
"OBJECT_DEKUCITY_OBJ",
"OBJECT_PO_FUSEN",
"OBJECT_RACETSUBO",
"OBJECT_HA",
"OBJECT_BIGOKUTA",
"OBJECT_OPEN_OBJ",
"OBJECT_FU_KAITEN",
"OBJECT_FU_MATO",
"OBJECT_MTORIDE",
"OBJECT_OSN",
"OBJECT_TOKEI_STEP",
"OBJECT_LOTUS",
"OBJECT_TL",
"OBJECT_DKJAIL_OBJ",
"OBJECT_VISIBLOCK",
"OBJECT_TSN",
"OBJECT_DS2N",
"OBJECT_FSN",
"OBJECT_SHN",
"OBJECT_BIGICICLE",
"OBJECT_GI_BOTTLE_15",
"OBJECT_TK",
"OBJECT_MARKET_OBJ",
"OBJECT_GI_RESERVE00",
"OBJECT_GI_RESERVE01",
"OBJECT_LIGHTBLOCK",
"OBJECT_TAKARAYA_OBJECTS",
"OBJECT_WDHAND",
"OBJECT_SDN",
"OBJECT_SNOWWD",
"OBJECT_GIANT",
"OBJECT_COMB",
"OBJECT_HANA",
"OBJECT_BOSS_HAKUGIN",
"OBJECT_MEGANEANA_OBJ",
"OBJECT_GI_NUTSMASK",
"OBJECT_STK2",
"OBJECT_SPOT11_OBJ",
"OBJECT_DANPEI_OBJECT",
"OBJECT_DHOUSE",
"OBJECT_HAKAISI",
"OBJECT_PO",
"OBJECT_SNOWMAN",
"OBJECT_PO_SISTERS",
"OBJECT_PP",
"OBJECT_GORONSWITCH",
"OBJECT_DELF",
"OBJECT_BOTIHASIRA",
"OBJECT_GI_BIGBOMB",
"OBJECT_PST",
"OBJECT_BSMASK",
"OBJECT_SPIDERTENT",
"OBJECT_ZORAEGG",
"OBJECT_KBT",
"OBJECT_GG",
"OBJECT_MARUTA",
"OBJECT_GHAKA",
"OBJECT_OYU",
"OBJECT_DNP",
"OBJECT_DAI",
"OBJECT_KGY",
"OBJECT_FB",
"OBJECT_TAISOU",
"OBJECT_MASK_BU_SAN",
"OBJECT_MASK_KI_TAN",
"OBJECT_MASK_RABIT",
"OBJECT_MASK_SKJ",
"OBJECT_MASK_BAKURETU",
"OBJECT_MASK_TRUTH",
"OBJECT_GK",
"OBJECT_HAKA_OBJ",
"OBJECT_MASK_GORON",
"OBJECT_MASK_ZORA",
"OBJECT_MASK_NUTS",
"OBJECT_MASK_BOY",
"OBJECT_DNT",
"OBJECT_YUKIYAMA",
"OBJECT_ICEFLOE",
"OBJECT_GI_GOLD_DUST",
"OBJECT_GI_BOTTLE_16",
"OBJECT_GI_BOTTLE_22",
"OBJECT_BEE",
"OBJECT_OT",
"OBJECT_UTUBO",
"OBJECT_DORA",
"OBJECT_GI_LOACH",
"OBJECT_GI_SEAHORSE",
"OBJECT_BIGPO",
"OBJECT_HARIKO",
"OBJECT_DNO",
"OBJECT_SINKAI_KABE",
"OBJECT_KIN2_OBJ",
"OBJECT_ISHI",
"OBJECT_HAKUGIN_DEMO",
"OBJECT_JG",
"OBJECT_GI_SWORD_2",
"OBJECT_GI_SWORD_3",
"OBJECT_GI_SWORD_4",
"OBJECT_UM",
"OBJECT_MASK_GIBUDO",
"OBJECT_MASK_JSON",
"OBJECT_MASK_KERFAY",
"OBJECT_MASK_BIGELF",
"OBJECT_RB",
"OBJECT_MBAR_OBJ",
"OBJECT_IKANA_OBJ",
"OBJECT_KZ",
"OBJECT_TOKEI_TURRET",
"OBJECT_ZOG",
"OBJECT_ROTLIFT",
"OBJECT_POSTHOUSE_OBJ",
"OBJECT_GI_MASK09",
"OBJECT_GI_MASK14",
"OBJECT_GI_MASK15",
"OBJECT_INIBS_OBJECT",
"OBJECT_TREE",
"OBJECT_KAIZOKU_OBJ",
"OBJECT_GI_RESERVE_B_00",
"OBJECT_GI_RESERVE_C_00",
"OBJECT_ZOB",
"OBJECT_MILKBAR",
"OBJECT_DMASK",
"OBJECT_MASK_KYOJIN",
"OBJECT_GI_RESERVE_C_01",
"OBJECT_ZOD",
"OBJECT_KUMO30",
"OBJECT_OBJECT_UNSET_YASI",
"OBJECT_MASK_ROMERNY",
"OBJECT_TANRON1",
"OBJECT_TANRON2",
"OBJECT_TANRON3",
"OBJECT_GI_MAGICMUSHROOM",
"OBJECT_OBJECT_UNSET_CHAN",
"OBJECT_GI_MASK10",
"OBJECT_ZOS",
"OBJECT_MASK_POSTHAT",
"OBJECT_F40_SWITCH",
"OBJECT_LODMOON",
"OBJECT_TRO",
"OBJECT_GI_MASK12",
"OBJECT_GI_MASK23",
"OBJECT_GI_BOTTLE_21",
"OBJECT_GI_CAMERA",
"OBJECT_KAMEJIMA",
"OBJECT_HARFGIBUD",
"OBJECT_ZOV",
"OBJECT_HGDOOR",
"OBJECT_UNSET_22D",
"OBJECT_UNSET_22E",
"OBJECT_UNSET_22F",
"OBJECT_DOR01",
"OBJECT_DOR02",
"OBJECT_DOR03",
"OBJECT_DOR04",
"OBJECT_LAST_OBJ",
"OBJECT_REDEAD_OBJ",
"OBJECT_IKNINSIDE_OBJ",
"OBJECT_IKNV_OBJ",
"OBJECT_PAMERA",
"OBJECT_HSSTUMP",
"OBJECT_ZM",
"OBJECT_BIG_FWALL",
"OBJECT_SECOM_OBJ",
"OBJECT_HUNSUI",
"OBJECT_UCH",
"OBJECT_TANRON4",
"OBJECT_TANRON5",
"OBJECT_DT",
"OBJECT_GI_MASK03",
"OBJECT_CHA",
"OBJECT_OBJECT_UNSET_DINNER",
"OBJECT_GI_RESERVE_B_01",
"OBJECT_LASTDAY",
"OBJECT_BAI",
"OBJECT_IN2",
"OBJECT_IKN_DEMO",
"OBJECT_YB",
"OBJECT_RZ",
"OBJECT_MASK_ZACHO",
"OBJECT_GI_FIELDMAP",
"OBJECT_MASK_STONE",
"OBJECT_BJT",
"OBJECT_TARU",
"OBJECT_MOONSTON",
"OBJECT_MASK_BREE",
"OBJECT_GI_SCHEDULE",
"OBJECT_GI_STONEMASK",
"OBJECT_ZORABAND",
"OBJECT_KEPN_KOYA",
"OBJECT_OBJECT_UNSET_USIYANE",
"OBJECT_GI_MASK05",
"OBJECT_GI_MASK11",
"OBJECT_GI_MASK20",
"OBJECT_NNH",
"OBJECT_MASK_GERO",
"OBJECT_MASK_YOFUKASI",
"OBJECT_MASK_MEOTO",
"OBJECT_MASK_DANCER",
"OBJECT_KZSAKU",
"OBJECT_OBJECT_UNSET_MILK_BIN",
"OBJECT_RANDOM_OBJ",
"OBJECT_KUJIYA",
"OBJECT_KITAN",
"OBJECT_GI_MASK06",
"OBJECT_GI_MASK16",
"OBJECT_ASTR_OBJ",
"OBJECT_BSB",
"OBJECT_FALL2",
"OBJECT_STH",
"OBJECT_GI_MSSA",
"OBJECT_SMTOWER",
"OBJECT_GI_MASK21",
"OBJECT_YADO_OBJ",
"OBJECT_SYOTEN",
"OBJECT_MOONEND",
"OBJECT_OB",
"OBJECT_GI_BOTTLE_04",
"OBJECT_OBJECT_UNSET_DANPEILIFT",
"OBJECT_WDOR01",
"OBJECT_WDOR02",
"OBJECT_WDOR03",
"OBJECT_STK3",
"OBJECT_KINSTA1_OBJ",
"OBJECT_KINSTA2_OBJ",
"OBJECT_BH",
"OBJECT_WDOR04",
"OBJECT_WDOR05",
"OBJECT_GI_MASK17",
"OBJECT_GI_MASK22",
"OBJECT_LBFSHOT",
"OBJECT_FUSEN",
"OBJECT_ENDING_OBJ",
"OBJECT_GI_MASK13"
]
asm_files = []
def read_file(name):
file_data=[]
try:
with open(name, 'rb') as f:
file_data = f.read()
except IOError:
print('failed to read file ' + name)
return file_data
def read_uint32_be(file_data, offset):
return struct.unpack('>I', file_data[offset:offset+4])[0]
def read_uint16_be(file_data, offset):
return struct.unpack('>H', file_data[offset:offset+2])[0]
def read_uint8(file_data, offset):
return struct.unpack('B', file_data[offset:offset+1])[0]
def read_actor_init(file_data, offset):
init = collections.namedtuple('ActorInit',
'''actor_id actor_type flags object_id instance_size init destroy update draw''')
return init._make(struct.unpack('>hBxIhxx5I', file_data[offset:offset+32]))
def make_func_name(actor, offset, name):
if offset == 0:
return "NULL"
elif offset < 0x80800000:
return "func_{:08X}".format(offset)
else:
return actor + "_" + name
for dirpath, dirnames, files in os.walk(os.path.abspath(os.curdir + "/asm/")):
asm_files = files
break
for actor, overlay in zip(actor_names, overlay_names):
#print(actor + " " + overlay)
file_data = read_file("decomp/" + overlay)
folder_name = "overlays/actors/" + overlay + "/"
os.makedirs(folder_name, exist_ok=True)
actor_code_file = "z_" + overlay[4:].lower() + ".c"
actor_header_file = "z_" + overlay[4:].lower() + ".h"
asm_file = [x for x in asm_files if (overlay + "_0x80") in x and "data" not in x][0]
#print(overlay + " " + str(actor_code_file))
with open(folder_name + "/overlay.cfg", 'w') as f:
f.write(overlay + "\n")
f.write(actor_code_file + "\n")
struct_name = overlay[4:].replace("_", "")
#print(overlay + " " + struct_name)
with open("asm/" + overlay + "_data.asm", "r") as f:
data = f.read()
init_data_re = re.search("/\* (\d*) .* \*/ \.word " + struct_name + "_Init", data)
offset = (int(init_data_re.group(1)) - 4) * 4
actor_init = read_actor_init(file_data, offset)
#print(overlay + " " + str(actor_init))
with open(folder_name + actor_header_file, 'w') as f:
header_guard = "Z_" + actor[6:] + "_H"
instance_size_extra = actor_init.instance_size - 0x144
f.write("#ifndef " + header_guard + "\n")
f.write("#define " + header_guard + "\n\n")
f.write("#include <global.h>\n\n")
f.write("struct " + struct_name + ";\n\n")
size_len_base16 = len("{:X}".format(actor_init.instance_size))
f.write("typedef struct " + struct_name + " {\n")
f.write(" /* 0x{num:0{width}} */ Actor actor;\n".format(num = 0, width = size_len_base16))
if instance_size_extra != 0:
f.write(" /* 0x{num:0{width}X} */ char unk_{num:0{width}X}[0x{extra:X}];\n".format(num = 0x144, width = size_len_base16, extra = instance_size_extra))
f.write("} " + struct_name + "; // size = 0x{:X}\n\n".format(actor_init.instance_size))
f.write("extern const ActorInit " + (overlay[4:] + "_InitVars") + ";\n\n")
f.write("#endif // " + header_guard + "\n")
with open(folder_name + actor_code_file, 'w') as f:
init_name = make_func_name(struct_name, actor_init.init, "Init")
destroy_name = make_func_name(struct_name, actor_init.destroy, "Destroy")
update_name = make_func_name(struct_name, actor_init.update, "Update")
draw_name = make_func_name(struct_name, actor_init.draw, "Draw")
f.write("#include \"" + actor_header_file + "\"\n\n")
f.write("#define FLAGS 0x{:08X}\n\n".format(actor_init.flags))
f.write("#define THIS ((" + struct_name + "*)thisx)\n\n")
if actor_init.init >= 0x80800000:
f.write("void " + init_name + "(Actor* thisx, GlobalContext* globalCtx);\n")
if actor_init.destroy >= 0x80800000:
f.write("void " + destroy_name + "(Actor* thisx, GlobalContext* globalCtx);\n")
if actor_init.update >= 0x80800000:
f.write("void " + update_name + "(Actor* thisx, GlobalContext* globalCtx);\n")
if actor_init.draw >= 0x80800000:
f.write("void " + draw_name + "(Actor* thisx, GlobalContext* globalCtx);\n")
f.write("\n")
f.write("/*\n")
f.write("const ActorInit " + (overlay[4:] + "_InitVars") + " = {\n")
f.write(" " + actor_enum[actor_init.actor_id] + ",\n")
f.write(" " + actor_type_enum[actor_init.actor_type] + ",\n")
f.write(" FLAGS,\n")
f.write(" " + object_enum[actor_init.object_id] + ",\n")
f.write(" sizeof(" + struct_name + "),\n")
f.write(" (ActorFunc)" + init_name + ",\n")
f.write(" (ActorFunc)" + destroy_name + ",\n")
f.write(" (ActorFunc)" + update_name + ",\n")
f.write(" (ActorFunc)" + draw_name + "\n")
f.write("};\n")
f.write("*/\n")
func_names = []
with open("asm/" + asm_file, "r") as asm:
lines = asm.readlines()
for line in lines:
if line.startswith("glabel") and not line.startswith("glabel .L"):
func_name = line.split()[1]
assert(func_name != "")
file_name = "asm/non_matchings/" + asm_file[:-4] + "/" + func_name + ".asm"
func_names.append(file_name)
for name in func_names:
f.write("\n#pragma GLOBAL_ASM(\"{}\")\n".format(name))