#!/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 = [
    "ACTORTYPE_SWITCH",
    "ACTORTYPE_BG",
    "ACTORTYPE_PLAYER",
    "ACTORTYPE_EXPLOSIVES",
    "ACTORTYPE_NPC",
    "ACTORTYPE_ENEMY",
    "ACTORTYPE_PROP",
    "ACTORTYPE_ITEMACTION",
    "ACTORTYPE_MISC",
    "ACTORTYPE_BOSS",
    "ACTORTYPE_DOOR",
    "ACTORTYPE_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("\nGLOBAL_ASM(\"{}\")\n".format(name))
