mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-03 18:36:06 -04:00
632 lines
23 KiB
C++
632 lines
23 KiB
C++
//
|
|
// Generated by dtk
|
|
// Translation Unit: c_dylink.o
|
|
//
|
|
|
|
#include "c/c_dylink.h"
|
|
#include "d/d_com_lib_game.h"
|
|
#include "d/d_procname.h"
|
|
#include "m_Do/m_Do_dvd_thread.h"
|
|
#include "m_Do/m_Do_ext.h"
|
|
#include "m_Do/m_Do_printf.h"
|
|
#include "JSystem/JUtility/JUTAssert.h"
|
|
#include "JSystem/JKernel/JKRFileCache.h"
|
|
#include "JSystem/JKernel/JKRExpHeap.h"
|
|
#include "JSystem/JKernel/JKRSolidHeap.h"
|
|
#include "DynamicLink.h"
|
|
#include "dolphin/OS/OS.h"
|
|
#include "MSL_C/string.h"
|
|
|
|
DynamicModuleControlBase * DMC[PROC_COUNT_e];
|
|
bool DMC_initialized = false;
|
|
BOOL cDyl_Initialized = false;
|
|
mDoDvdThd_callback_c * cDyl_DVD = NULL;
|
|
|
|
const DynamicNameTableEntry DynamicNameTable[] = {
|
|
{PROC_ALLDIE, "d_a_alldie"},
|
|
{PROC_TAG_EVSW, "d_a_tag_evsw"},
|
|
{PROC_Obj_Swpush, "d_a_obj_swpush"},
|
|
{PROC_Obj_Swheavy, "d_a_obj_swheavy"},
|
|
{PROC_Obj_Swflat, "d_a_obj_swflat"},
|
|
{PROC_Obj_Swlight, "d_a_obj_swlight"},
|
|
{PROC_Obj_Swhammer, "d_a_obj_swhammer"},
|
|
{PROC_Obj_Quake, "d_a_obj_quake"},
|
|
{PROC_Obj_Drift, "d_a_obj_drift"},
|
|
{PROC_Tag_Volcano, "d_a_tag_volcano"},
|
|
{PROC_TAG_SO, "d_a_tag_so"},
|
|
{PROC_Obj_Pbco, "d_a_obj_pbco"},
|
|
{PROC_SEATAG, "d_a_seatag"},
|
|
{PROC_Obj_Tide, "d_a_obj_tide"},
|
|
{PROC_Hmlif, "d_a_hmlif"},
|
|
{PROC_SCENECHG, "d_a_scene_change"},
|
|
{PROC_Obj_Magmarock, "d_a_obj_magmarock"},
|
|
{PROC_Obj_Movebox, "d_a_obj_movebox"},
|
|
{PROC_Obj_Tribox, "d_a_obj_tribox"},
|
|
{PROC_Obj_Shelf, "d_a_obj_shelf"},
|
|
{PROC_Obj_Hlift, "d_a_obj_hlift"},
|
|
{PROC_Obj_Hami2, "d_a_obj_hami2"},
|
|
{PROC_Obj_Hami3, "d_a_obj_hami3"},
|
|
{PROC_Obj_Hami4, "d_a_obj_hami4"},
|
|
{PROC_Obj_Hbrf1, "d_a_obj_hbrf1"},
|
|
{PROC_Obj_Volcano, "d_a_obj_volcano"},
|
|
{PROC_Obj_Vmc, "d_a_obj_vmc"},
|
|
{PROC_Obj_Usovmc, "d_a_obj_usovmc"},
|
|
{PROC_Obj_Vfan, "d_a_obj_vfan"},
|
|
{PROC_Obj_Iceisland, "d_a_obj_iceisland"},
|
|
{PROC_Obj_Dragonhead, "d_a_obj_dragonhead"},
|
|
{PROC_Obj_Pirateship, "d_a_obj_pirateship"},
|
|
{PROC_Obj_Tousekiki, "d_a_obj_tousekiki"},
|
|
{PROC_Tag_Ret, "d_a_tag_ret"},
|
|
{PROC_Kaji, "d_a_kaji"},
|
|
{PROC_Canon, "d_a_canon"},
|
|
{PROC_MGBOARD, "d_a_mgameboard"},
|
|
{PROC_OBJ_CANON, "d_a_obj_canon"},
|
|
{PROC_OBJ_OTBLE, "d_a_obj_otble"},
|
|
{PROC_OBJ_WARPT, "d_a_obj_warpt"},
|
|
{PROC_OBJ_TORIPOST, "d_a_obj_toripost"},
|
|
{PROC_OBJ_IKADA, "d_a_obj_ikada"},
|
|
{PROC_OBJ_MJDOOR, "d_a_obj_majyuu_door"},
|
|
{PROC_OBJ_PFALL, "d_a_obj_pfall"},
|
|
{PROC_OBJ_HOLE, "d_a_obj_hole"},
|
|
{PROC_Obj_Stair, "d_a_obj_stair"},
|
|
{PROC_Obj_Lpalm, "d_a_obj_lpalm"},
|
|
{PROC_Obj_Mtest, "d_a_obj_mtest"},
|
|
{PROC_Obj_Mkie, "d_a_obj_mkie"},
|
|
{PROC_Obj_Mkiek, "d_a_obj_mkiek"},
|
|
{PROC_Obj_MknjD, "d_a_obj_mknjd"},
|
|
{PROC_Obj_Msdan, "d_a_obj_msdan"},
|
|
{PROC_Obj_MsdanSub, "d_a_obj_msdan_sub"},
|
|
{PROC_Obj_Msdan2, "d_a_obj_msdan2"},
|
|
{PROC_Obj_MsdanSub2, "d_a_obj_msdan_sub2"},
|
|
{PROC_Obj_Nest, "d_a_obj_nest"},
|
|
{PROC_Obj_Ojtree, "d_a_obj_ojtree"},
|
|
{PROC_Obj_Ospbox, "d_a_obj_ospbox"},
|
|
{PROC_Obj_Ladder, "d_a_obj_ladder"},
|
|
{PROC_Obj_Smplbg, "d_a_obj_smplbg"},
|
|
{PROC_Obj_Akabe, "d_a_obj_akabe"},
|
|
{PROC_Obj_Ashut, "d_a_obj_ashut"},
|
|
{PROC_BRIDGE, "d_a_bridge"},
|
|
{PROC_MSW, "d_a_msw"},
|
|
{PROC_MFLFT, "d_a_mflft"},
|
|
{PROC_KLFT, "d_a_klft"},
|
|
{PROC_ICE_LIFT, "d_a_icelift"},
|
|
{PROC_AMI_PROP, "d_a_amiprop"},
|
|
{PROC_PEDESTAL, "d_a_pedestal"},
|
|
{PROC_FLOOR, "d_a_floor"},
|
|
{PROC_KITA, "d_a_kita"},
|
|
{PROC_KOKIIE, "d_a_kokiie"},
|
|
{PROC_SHAND, "d_a_shand"},
|
|
{PROC_BITA, "d_a_bita"},
|
|
{PROC_SK, "d_a_sk"},
|
|
{PROC_SK2, "d_a_sk2"},
|
|
{PROC_SSK, "d_a_ssk"},
|
|
{PROC_WARPFLOWER, "d_a_warpf"},
|
|
{PROC_WARPFOUT, "d_a_warpfout"},
|
|
{PROC_WARPLIGHT, "d_a_warpls"},
|
|
{PROC_WARPHYRULE, "d_a_warphr"},
|
|
{PROC_WARPDEMO20, "d_a_warpdm20"},
|
|
{PROC_WARPGANON, "d_a_warpgn"},
|
|
{PROC_WARPMAJYUU, "d_a_warpmj"},
|
|
{PROC_Balancelift, "d_a_obj_balancelift"},
|
|
{PROC_SHUTTER, "d_a_shutter"},
|
|
{PROC_SHUTTER2, "d_a_shutter2"},
|
|
{PROC_WINDMILL, "d_a_windmill"},
|
|
{PROC_MBDOOR, "d_a_mbdoor"},
|
|
{PROC_NPC_DE1, "d_a_npc_de1"},
|
|
{PROC_NPC_NZ, "d_a_npc_nz"},
|
|
{PROC_NPC_SO, "d_a_npc_so"},
|
|
{PROC_FM, "d_a_fm"},
|
|
{PROC_LEAF_LIFT, "d_a_leaflift"},
|
|
{PROC_Obj_Roten, "d_a_obj_roten"},
|
|
{PROC_TOGE, "d_a_toge"},
|
|
{PROC_Obj_Ferris, "d_a_obj_ferris"},
|
|
{PROC_Obj_Xfuta, "d_a_obj_xfuta"},
|
|
{PROC_Obj_Gaship, "d_a_obj_gaship"},
|
|
{PROC_Obj_Rforce, "d_a_obj_rforce"},
|
|
{PROC_Obj_Gaship2, "d_a_obj_gaship2"},
|
|
{PROC_Obj_Light, "d_a_obj_light"},
|
|
{PROC_Obj_Homen, "d_a_obj_homen"},
|
|
{PROC_Obj_Homensmk, "d_a_obj_homensmoke"},
|
|
{PROC_Obj_Ftree, "d_a_obj_ftree"},
|
|
{PROC_Obj_Vds, "d_a_obj_Vds"},
|
|
{PROC_Obj_Vyasi, "d_a_obj_vyasi"},
|
|
{PROC_Obj_Ajav, "d_a_obj_ajav"},
|
|
{PROC_Obj_Trap, "d_a_obj_trap"},
|
|
{PROC_Obj_Hha, "d_a_obj_hha"},
|
|
{PROC_Obj_Htetu1, "d_a_obj_htetu1"},
|
|
{PROC_Obj_Gnntakis, "d_a_obj_gnndemotakis"},
|
|
{PROC_Obj_Gnntakie, "d_a_obj_gnndemotakie"},
|
|
{PROC_Obj_Gnnbtaki, "d_a_obj_gnnbtltaki"},
|
|
{PROC_Obj_Rcloud, "d_a_obj_rcloud"},
|
|
{PROC_Obj_Gryw00, "d_a_obj_gryw00"},
|
|
{PROC_Obj_AjavW, "d_a_obj_AjavW"},
|
|
{PROC_Obj_Leaves, "d_a_obj_leaves"},
|
|
{PROC_Obj_YLzou, "d_a_obj_YLzou"},
|
|
{PROC_Obj_Gbed, "d_a_obj_ganonbed"},
|
|
{PROC_Obj_Vteng, "d_a_obj_Vteng"},
|
|
{PROC_Obj_Hfuck1, "d_a_obj_hfuck1"},
|
|
{PROC_Obj_Ohatch, "d_a_obj_ohatch"},
|
|
{PROC_Obj_Hcbh, "d_a_obj_hcbh"},
|
|
{PROC_Obj_Ygush00, "d_a_obj_Ygush00"},
|
|
{PROC_Obj_Bscurtain, "d_a_obj_bscurtain"},
|
|
{PROC_Obj_Shmrgrd, "d_a_obj_shmrgrd"},
|
|
{PROC_Obj_Eayogn, "d_a_obj_eayogn"},
|
|
{PROC_Obj_Vmsms, "d_a_obj_vmsms"},
|
|
{PROC_Obj_Vmsdz, "d_a_obj_vmsdz"},
|
|
{PROC_Ygcwp, "d_a_ygcwp"},
|
|
{PROC_Obj_Vgnfd, "d_a_obj_vgnfd"},
|
|
{PROC_Obj_Kanoke, "d_a_obj_kanoke"},
|
|
{PROC_Obj_Eskban, "d_a_obj_eskban"},
|
|
{PROC_Obj_Ekskz, "d_a_obj_ekskz"},
|
|
{PROC_Obj_Ebomzo, "d_a_obj_ebomzo"},
|
|
{PROC_Obj_Kanat, "d_a_obj_kanat"},
|
|
{PROC_Obj_Aygr, "d_a_obj_aygr"},
|
|
{PROC_SHIP, "d_a_ship"},
|
|
{PROC_Obj_Jump, "d_a_obj_jump"},
|
|
{PROC_NPC_MK, "d_a_npc_mk"},
|
|
{PROC_SAIL, "d_a_sail"},
|
|
{PROC_PIRATE_FLAG, "d_a_pirate_flag"},
|
|
{PROC_MAJUU_FLAG, "d_a_majuu_flag"},
|
|
{PROC_Tori_Flag, "d_a_tori_flag"},
|
|
{PROC_Sie_Flag, "d_a_sie_flag"},
|
|
{PROC_SYAN, "d_a_syan"},
|
|
{PROC_AYUSH, "d_a_ghostship"},
|
|
{PROC_OSHIP, "d_a_oship"},
|
|
{PROC_RECTANGLE, "d_a_rectangle"},
|
|
{PROC_BB, "d_a_bb"},
|
|
{PROC_KANBAN, "d_a_kanban"},
|
|
{PROC_HITOBJ, "d_a_hitobj"},
|
|
{PROC_KT, "d_a_kt"},
|
|
{PROC_EP, "d_a_ep"},
|
|
{PROC_LAMP, "d_a_lamp"},
|
|
{PROC_FF, "d_a_ff"},
|
|
{PROC_MO2, "d_a_mo2"},
|
|
{PROC_BK, "d_a_bk"},
|
|
{PROC_ST, "d_a_st"},
|
|
{PROC_TN, "d_a_tn"},
|
|
{PROC_MANT, "d_a_mant"},
|
|
{PROC_KANTERA, "d_a_kantera"},
|
|
{PROC_KAMOME, "d_a_kamome"},
|
|
{PROC_NPC_KAM, "d_a_npc_kamome"},
|
|
{PROC_WBIRD, "d_a_wbird"},
|
|
{PROC_DEMO_KMM, "d_a_demo_kmm"},
|
|
{PROC_NZ, "d_a_nz"},
|
|
{PROC_NZG, "d_a_nzg"},
|
|
{PROC_KN, "d_a_kn"},
|
|
{PROC_DEMO_DK, "d_a_demo_dk"},
|
|
{PROC_AM, "d_a_am"},
|
|
{PROC_AM2, "d_a_am2"},
|
|
{PROC_GM, "d_a_gm"},
|
|
{PROC_KS, "d_a_ks"},
|
|
{PROC_CC, "d_a_cc"},
|
|
{PROC_BL, "d_a_bl"},
|
|
{PROC_WZ, "d_a_wz"},
|
|
{PROC_PH, "d_a_ph"},
|
|
{PROC_PZ, "d_a_pz"},
|
|
{PROC_BPW, "d_a_bpw"},
|
|
{PROC_PW, "d_a_pw"},
|
|
{PROC_JBO, "d_a_jbo"},
|
|
{PROC_BO, "d_a_bo"},
|
|
{PROC_KI, "d_a_ki"},
|
|
{PROC_MT, "d_a_mt"},
|
|
{PROC_BWD, "d_a_bwd"},
|
|
{PROC_BWDS, "d_a_bwds"},
|
|
{PROC_BWDG, "d_a_bwdg"},
|
|
{PROC_KB, "d_a_kb"},
|
|
{PROC_DR, "d_a_dr"},
|
|
{PROC_DR2, "d_a_dr2"},
|
|
{PROC_RD, "d_a_rd"},
|
|
{PROC_DAIOCTA, "d_a_daiocta"},
|
|
{PROC_DAIOCTA_EYE, "d_a_daiocta_eye"},
|
|
{PROC_OQ, "d_a_oq"},
|
|
{PROC_GY, "d_a_gy"},
|
|
{PROC_GY_CTRL, "d_a_gy_ctrl"},
|
|
{PROC_GY_CTRLB, "d_a_gy_ctrl"},
|
|
{PROC_Hot_Floor, "d_a_hot_floor"},
|
|
{PROC_Beam, "d_a_beam"},
|
|
{PROC_Bemos, "d_a_obj_bemos"},
|
|
{PROC_BTD, "d_a_btd"},
|
|
{PROC_BMD, "d_a_bmd"},
|
|
{PROC_BMDHAND, "d_a_bmdhand"},
|
|
{PROC_BMDFOOT, "d_a_bmdfoot"},
|
|
{PROC_DK, "d_a_dk"},
|
|
{PROC_BDK, "d_a_bdk"},
|
|
{PROC_BDKOBJ, "d_a_bdkobj"},
|
|
{PROC_BST, "d_a_bst"},
|
|
{PROC_FGANON, "d_a_fganon"},
|
|
{PROC_FGMAHOU, "d_a_fgmahou"},
|
|
{PROC_BGN, "d_a_bgn"},
|
|
{PROC_BGN2, "d_a_bgn2"},
|
|
{PROC_BGN3, "d_a_bgn3"},
|
|
{PROC_GND, "d_a_gnd"},
|
|
{PROC_PT, "d_a_pt"},
|
|
{PROC_SWTDOOR, "d_a_swtdoor"},
|
|
{PROC_MOZO, "d_a_mozo"},
|
|
{PROC_KUI, "d_a_kui"},
|
|
{PROC_SS, "d_a_ss"},
|
|
{PROC_SSS, "d_a_sss"},
|
|
{PROC_SITEM, "d_a_sitem"},
|
|
{PROC_MACHINE, "d_a_machine"},
|
|
{PROC_BOSSITEM, "d_a_boss_item"},
|
|
{PROC_Demo_Item, "d_a_demo_item"},
|
|
{PROC_RACEITEM, "d_a_race_item"},
|
|
{PROC_ShopItem, "d_a_shop_item"},
|
|
{PROC_DEKU_ITEM, "d_a_deku_item"},
|
|
{PROC_Obj_Paper, "d_a_obj_paper"},
|
|
{PROC_Obj_Demo_Barrel,"d_a_obj_demo_barrel"},
|
|
{PROC_Obj_Dmgroom, "d_a_obj_dmgroom"},
|
|
{PROC_Obj_Doguu, "d_a_obj_doguu"},
|
|
{PROC_Obj_Wood, "d_a_obj_wood"},
|
|
{PROC_Obj_Flame, "d_a_obj_flame"},
|
|
{PROC_Obj_Buoyrace, "d_a_obj_buoyrace"},
|
|
{PROC_Obj_Coming, "d_a_obj_coming"},
|
|
{PROC_Coming2, "d_a_coming2"},
|
|
{PROC_Coming3, "d_a_coming3"},
|
|
{PROC_Obj_Mmrr, "d_a_obj_mmrr"},
|
|
{PROC_Obj_Pbka, "d_a_obj_pbka"},
|
|
{PROC_Obj_Plant, "d_a_obj_plant"},
|
|
{PROC_Obj_Gtaki, "d_a_obj_gtaki"},
|
|
{PROC_Obj_Yboil, "d_a_obj_Yboil"},
|
|
{PROC_Obj_Rflw, "d_a_obj_rflw"},
|
|
{PROC_Obj_Table, "d_a_obj_table"},
|
|
{PROC_Obj_Tenmado, "d_a_obj_tenmado"},
|
|
{PROC_Obj_Cafelmp, "d_a_obj_cafelmp"},
|
|
{PROC_Obj_Apzl, "d_a_obj_apzl"},
|
|
{PROC_Obj_Adnno, "d_a_obj_adnno"},
|
|
{PROC_Obj_Auzu, "d_a_obj_auzu"},
|
|
{PROC_Obj_Gong, "d_a_obj_gong"},
|
|
{PROC_Obj_Barrier, "d_a_obj_barrier"},
|
|
{PROC_Obj_Firewall, "d_a_obj_firewall"},
|
|
{PROC_Obj_TnTrap, "d_a_obj_tntrap"},
|
|
{PROC_Obj_Monument, "d_a_obj_monument"},
|
|
{PROC_Obj_Tapestry, "d_a_obj_tapestry"},
|
|
{PROC_Obj_HSH, "d_a_obj_hsehi1"},
|
|
{PROC_Goal_Flag, "d_a_goal_flag"},
|
|
{PROC_TBOX, "d_a_tbox"},
|
|
{PROC_SBOX, "d_a_sbox"},
|
|
{PROC_BOMB_FLOWER, "d_a_bflower"},
|
|
{PROC_ACORN_LEAF, "d_a_acorn_leaf"},
|
|
{PROC_SWC00, "d_a_swc00"},
|
|
{PROC_FAN, "d_a_fan"},
|
|
{PROC_DOOR10, "d_a_door10"},
|
|
{PROC_DOOR12, "d_a_door12"},
|
|
{PROC_ATDOOR, "d_a_atdoor"},
|
|
{PROC_MDOOR, "d_a_mdoor"},
|
|
{PROC_KDDOOR, "d_a_kddoor"},
|
|
{PROC_KNOB00, "d_a_knob00"},
|
|
{PROC_MTOGE, "d_a_mtoge"},
|
|
{PROC_ANDSW0, "d_a_andsw0"},
|
|
{PROC_ANDSW2, "d_a_andsw2"},
|
|
{PROC_DAI, "d_a_dai"},
|
|
{PROC_SW_ATTACK, "d_a_swattack"},
|
|
{PROC_SW_ITEM, "d_a_switem"},
|
|
{PROC_SW_TACT, "d_a_swtact"},
|
|
{PROC_NPC_OS, "d_a_npc_os"},
|
|
{PROC_NPC_YM1, "d_a_npc_ym1"},
|
|
{PROC_NPC_YM2, "d_a_npc_ym1"},
|
|
{PROC_NPC_YW1, "d_a_npc_yw1"},
|
|
{PROC_NPC_JI1, "d_a_npc_ji1"},
|
|
{PROC_NPC_KO1, "d_a_npc_ko1"},
|
|
{PROC_NPC_KO2, "d_a_npc_ko1"},
|
|
{PROC_NPC_LS1, "d_a_npc_ls1"},
|
|
{PROC_NPC_P1, "d_a_npc_p1"},
|
|
{PROC_NPC_P2, "d_a_npc_p2"},
|
|
{PROC_NPC_SARACE, "d_a_npc_sarace"},
|
|
{PROC_NPC_TC, "d_a_npc_tc"},
|
|
{PROC_NPC_BM1, "d_a_npc_bm1"},
|
|
{PROC_NPC_BM2, "d_a_npc_bm1"},
|
|
{PROC_NPC_BM3, "d_a_npc_bm1"},
|
|
{PROC_NPC_BM4, "d_a_npc_bm1"},
|
|
{PROC_NPC_BM5, "d_a_npc_bm1"},
|
|
{PROC_NPC_OB1, "d_a_npc_ob1"},
|
|
{PROC_NPC_AJ1, "d_a_npc_aj1"},
|
|
{PROC_NPC_KM1, "d_a_npc_km1"},
|
|
{PROC_NPC_CB1, "d_a_npc_cb1"},
|
|
{PROC_NPC_BA1, "d_a_npc_ba1"},
|
|
{PROC_NPC_BJ1, "d_a_npc_bj1"},
|
|
{PROC_NPC_BJ2, "d_a_npc_bj1"},
|
|
{PROC_NPC_BJ3, "d_a_npc_bj1"},
|
|
{PROC_NPC_BJ4, "d_a_npc_bj1"},
|
|
{PROC_NPC_BJ5, "d_a_npc_bj1"},
|
|
{PROC_NPC_BJ6, "d_a_npc_bj1"},
|
|
{PROC_NPC_BJ7, "d_a_npc_bj1"},
|
|
{PROC_NPC_BJ8, "d_a_npc_bj1"},
|
|
{PROC_NPC_BJ9, "d_a_npc_bj1"},
|
|
{PROC_NPC_BS1, "d_a_npc_bs1"},
|
|
{PROC_NPC_BMCON1, "d_a_npc_bmcon1"},
|
|
{PROC_NPC_BMS1, "d_a_npc_bms1"},
|
|
{PROC_NPC_BMSW, "d_a_npc_bmsw"},
|
|
{PROC_NPC_BTSW, "d_a_npc_btsw"},
|
|
{PROC_NPC_BTSW2, "d_a_npc_btsw2"},
|
|
{PROC_NPC_DS1, "d_a_npc_ds1"},
|
|
{PROC_NPC_RSH1, "d_a_npc_rsh1"},
|
|
{PROC_NPC_KK1, "d_a_npc_kk1"},
|
|
{PROC_NPC_PM1, "d_a_npc_pm1"},
|
|
{PROC_NPC_KP1, "d_a_npc_kp1"},
|
|
{PROC_NPC_PF1, "d_a_npc_pf1"},
|
|
{PROC_NPC_GP1, "d_a_npc_gp1"},
|
|
{PROC_NPC_JB1, "d_a_npc_jb1"},
|
|
{PROC_NPC_KF1, "d_a_npc_kf1"},
|
|
{PROC_NPC_AUCTION, "d_a_npc_auction"},
|
|
{PROC_NPC_KG1, "d_a_npc_kg1"},
|
|
{PROC_NPC_KG2, "d_a_npc_kg2"},
|
|
{PROC_NPC_TT, "d_a_npc_tt"},
|
|
{PROC_NPC_HR, "d_a_npc_hr"},
|
|
{PROC_NPC_HO, "d_a_npc_ho"},
|
|
{PROC_NPC_MD, "d_a_npc_md"},
|
|
{PROC_NPC_UK, "d_a_npc_uk"},
|
|
{PROC_BIGELF, "d_a_bigelf"},
|
|
{PROC_NPC_CO1, "d_a_npc_co1"},
|
|
{PROC_NPC_ZK1, "d_a_npc_zk1"},
|
|
{PROC_NPC_ROTEN, "d_a_npc_roten"},
|
|
{PROC_NPC_PEOPLE, "d_a_npc_people"},
|
|
{PROC_NPC_GK1, "d_a_npc_gk1"},
|
|
{PROC_NPC_PHOTO, "d_a_npc_photo"},
|
|
{PROC_NPC_AC1, "d_a_npc_ac1"},
|
|
{PROC_NPC_HI1, "d_a_npc_hi1"},
|
|
{PROC_NPC_SV, "d_a_npc_sv"},
|
|
{PROC_NPC_MT, "d_a_npc_mt"},
|
|
{PROC_NPC_MN, "d_a_npc_mn"},
|
|
{PROC_NPC_AH, "d_a_npc_ah"},
|
|
{PROC_AUCTION, "d_a_auction"},
|
|
{PROC_KYTAG00, "d_a_kytag00"},
|
|
{PROC_KYTAG01, "d_a_kytag01"},
|
|
{PROC_KYTAG02, "d_a_kytag02"},
|
|
{PROC_KYTAG03, "d_a_kytag03"},
|
|
{PROC_KYTAG04, "d_a_kytag04"},
|
|
{PROC_KYTAG05, "d_a_kytag05"},
|
|
{PROC_KYTAG06, "d_a_kytag06"},
|
|
{PROC_KYTAG07, "d_a_kytag07"},
|
|
{PROC_WindTag, "d_a_wind_tag"},
|
|
{PROC_YOUGAN, "d_a_yougan"},
|
|
{PROC_Mmusic, "d_a_mmusic"},
|
|
{PROC_Komore, "d_a_komore"},
|
|
{PROC_Tpota, "d_a_tpota"},
|
|
{PROC_Obj_Itnak, "d_a_obj_Itnak"},
|
|
{PROC_Obj_Zouk, "d_a_obj_zouK"},
|
|
{PROC_Ykgr, "d_a_ykgr"},
|
|
{PROC_SAKU, "d_a_saku"},
|
|
{PROC_Salvage, "d_a_salvage"},
|
|
{PROC_SALVAGE_TBOX, "d_a_salvage_tbox"},
|
|
{PROC_Kmon, "d_a_kmon"},
|
|
{PROC_OBJ_FIGURE, "d_a_obj_figure"},
|
|
{PROC_OBJ_HAT, "d_a_obj_hat"},
|
|
{PROC_Lwood, "d_a_lwood"},
|
|
{PROC_Dummy, "d_a_dummy"},
|
|
{PROC_TAG_EVENT, "d_a_tag_event"},
|
|
{PROC_TAG_HINT, "d_a_tag_hint"},
|
|
{PROC_TAG_MSG, "d_a_tag_msg"},
|
|
{PROC_TAG_ETC, "d_a_tag_etc"},
|
|
{PROC_TAG_ISLAND, "d_a_tag_island"},
|
|
{PROC_TAG_KF1, "d_a_tag_kf1"},
|
|
{PROC_TAG_KK1, "d_a_tag_kk1"},
|
|
{PROC_TAG_PHOTO, "d_a_tag_photo"},
|
|
{PROC_TAG_KB_ITEM, "d_a_tag_kb_item"},
|
|
{PROC_TAG_MK, "d_a_tag_mk"},
|
|
{PROC_TAG_MDCB, "d_a_tag_md_cb"},
|
|
{PROC_TAG_BA1, "d_a_tag_ba1"},
|
|
{PROC_TagRock, "d_a_fallrock_tag"},
|
|
{PROC_FallRock, "d_a_fallrock"},
|
|
{PROC_SteamTag, "d_a_steam_tag"},
|
|
{PROC_Fire, "d_a_fire"},
|
|
{PROC_BRANCH, "d_a_branch"},
|
|
{PROC_NPC_ZL1, "d_a_npc_zl1"},
|
|
{PROC_WATERFALL, "d_a_waterfall"},
|
|
{PROC_LIGHTBRIDGE, "d_a_lbridge"},
|
|
{PROC_LIGHTSTAIR, "d_a_lstair"},
|
|
{PROC_WALL, "d_a_wall"},
|
|
{PROC_SW_PROPELLER, "d_a_swpropeller"},
|
|
{PROC_IKARI, "d_a_ikari"},
|
|
{PROC_AGBSW0, "d_a_agbsw0"},
|
|
{PROC_MAGMA, "d_a_magma"},
|
|
{PROC_GRASS, "d_a_grass"},
|
|
{PROC_Obj_Tower, "d_a_obj_tower"},
|
|
{PROC_Obj_DoguuD, "d_a_obj_doguu_demo"},
|
|
{PROC_SPOTBOX, "d_a_spotbox"},
|
|
{PROC_TORNADO, "d_a_tornado"},
|
|
{PROC_TITLE, "d_a_title"},
|
|
{PROC_MP, "d_a_movie_player"},
|
|
{PROC_LODBG, "d_a_lod_bg"},
|
|
{PROC_HIMO3, "d_a_himo3"},
|
|
{PROC_ATT, "d_a_att"},
|
|
{PROC_Hys, "d_a_hys"},
|
|
{PROC_SWHIT0, "d_a_swhit0"},
|
|
{PROC_TAG_GSHIP, "d_a_tag_ghostship"},
|
|
{PROC_TSUBO, "d_a_tsubo"},
|
|
{PROC_STONE, "d_a_stone"},
|
|
{PROC_Stone2, "d_a_stone2"},
|
|
{PROC_Obj_Barrel, "d_a_obj_barrel"},
|
|
{PROC_Obj_Barrel2, "d_a_obj_barrel2"},
|
|
{PROC_Obj_Try, "d_a_obj_try"},
|
|
{PROC_Obj_Vtil, "d_a_obj_vtil"},
|
|
{PROC_Obj_Ice, "d_a_obj_ice"},
|
|
{PROC_Obj_Mshokki, "d_a_obj_mshokki"},
|
|
{PROC_BOKO, "d_a_boko"},
|
|
{PROC_TAMA, "d_a_tama"},
|
|
{PROC_Obj_Buoyflag, "d_a_obj_buoyflag"},
|
|
{PROC_Obj_Correct, "d_a_obj_correct"},
|
|
{PROC_Obj_Eff, "d_a_obj_eff"},
|
|
{PROC_Tag_Light, "d_a_tag_light"},
|
|
{PROC_Tag_Attention, "d_a_tag_attention"},
|
|
{PROC_Tag_Waterlevel, "d_a_tag_waterlevel"},
|
|
{PROC_ARROW_ICEEFF, "d_a_arrow_iceeff"},
|
|
{PROC_ARROW_LIGHTEFF, "d_a_arrow_lighteff"},
|
|
{PROC_Obj_Timer, "d_a_obj_timer"},
|
|
|
|
{0xFFFF, NULL},
|
|
};
|
|
|
|
/* 800227A0-800229E0 .text cCc_Init__Fv */
|
|
s32 cCc_Init() {
|
|
JUT_ASSERT(0x2a, !DMC_initialized);
|
|
|
|
JKRSolidHeap * pHeap = JKRSolidHeap::create(0x5648, mDoExt_getArchiveHeap(), false);
|
|
JKRHeap * pOldHeap = pHeap->becomeCurrentHeap();
|
|
memset(DMC, 0, sizeof(DMC));
|
|
|
|
for (int i = 0; i < ARRAY_SIZE(DynamicNameTable); i++) {
|
|
const DynamicNameTableEntry & d = DynamicNameTable[i];
|
|
if (d.name == NULL)
|
|
continue;
|
|
|
|
JUT_ASSERT(0x39, d.mKey < (sizeof(DMC) / sizeof(DMC[0])));
|
|
JUT_ASSERT(0x3a, DMC[d.mKey] == 0);
|
|
|
|
for (int j = 0; j < ARRAY_SIZE(DMC); j++) {
|
|
if (DMC[j] != NULL) {
|
|
if (!strcmp(d.name, DMC[j]->getModuleName())) {
|
|
DMC[d.mKey] = DMC[j];
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (DMC[d.mKey] == NULL)
|
|
DMC[d.mKey] = new DynamicModuleControl(d.name);
|
|
}
|
|
|
|
pHeap->adjustSize();
|
|
pOldHeap->becomeCurrentHeap();
|
|
DMC_initialized = TRUE;
|
|
return TRUE;
|
|
}
|
|
|
|
/* 800229E0-80022A80 .text cDyl_IsLinked__Fs */
|
|
s32 cDyl_IsLinked(s16 i_ProfName) {
|
|
JUT_ASSERT(0xae, cDyl_Initialized);
|
|
|
|
if (DMC[i_ProfName] != NULL)
|
|
return DMC[i_ProfName]->isLinked();
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
/* 80022A80-80022B58 .text cDyl_Unlink__Fs */
|
|
s32 cDyl_Unlink(s16 i_ProfName) {
|
|
JUT_ASSERT(0xc5, cDyl_Initialized);
|
|
JUT_ASSERT(0xc6, i_ProfName < (sizeof(DMC) / sizeof(DMC[0])));
|
|
|
|
if (DMC[i_ProfName] != NULL)
|
|
return DMC[i_ProfName]->unlink();
|
|
|
|
return 0;
|
|
}
|
|
|
|
static void dummy(s16 i_ProfName) {
|
|
OSReport_Error("cDyl_Link i_ProfName=%d\n", i_ProfName);
|
|
OSReport_Error("cDyl_LinkASync: リンクに失敗しました。諦めます\n");
|
|
}
|
|
|
|
/* 80022B58-80022CEC .text cDyl_LinkASync__Fs */
|
|
s32 cDyl_LinkASync(s16 i_ProfName) {
|
|
JUT_ASSERT(0x101, DMC_initialized);
|
|
|
|
if (!cDyl_Initialized)
|
|
return cPhs_INIT_e;
|
|
|
|
if (i_ProfName >= ARRAY_SIZE(DMC)) {
|
|
OSReport_Error("cDyl_Link i_ProfName=%d\n", i_ProfName);
|
|
return cPhs_ERROR_e;
|
|
}
|
|
|
|
JUT_ASSERT(0x111, i_ProfName < (sizeof(DMC) / sizeof(DMC[0])));
|
|
DynamicModuleControlBase * d = DMC[i_ProfName];
|
|
if (d != NULL) {
|
|
JUT_ASSERT(0x115, cDyl_Initialized);
|
|
if (d->load_async()) {
|
|
if (d->link()) {
|
|
return cPhs_COMPLEATE_e;
|
|
} else {
|
|
OSReport_Error("cDyl_LinkASync: リンクに失敗しました。諦めます\n");
|
|
return cPhs_ERROR_e;
|
|
}
|
|
}
|
|
|
|
return cPhs_INIT_e;
|
|
}
|
|
|
|
return cPhs_COMPLEATE_e;
|
|
}
|
|
|
|
/* 80022CEC-80022DF8 .text cDyl_InitCallback__FPv */
|
|
BOOL cDyl_InitCallback(void*) {
|
|
JUT_ASSERT(0x12f, !cDyl_Initialized);
|
|
JKRFileLoader * pFileLoader = JKRFileCache::mount("/", mDoExt_getArchiveHeap(), NULL);
|
|
DynamicModuleControl::initialize();
|
|
void * pData = JKRFileLoader::getGlbResource("/dvd/framework.str");
|
|
JKRFileLoader::detachResource(pData, pFileLoader);
|
|
pFileLoader->unmount();
|
|
OSSetStringTable(pData);
|
|
|
|
DynamicModuleControl dmc("f_pc_profile_lst");
|
|
dmc.link();
|
|
cDyl_Initialized = TRUE;
|
|
return TRUE;
|
|
}
|
|
|
|
/* 80022DF8-80022E70 .text cDyl_InitAsync__Fv */
|
|
void cDyl_InitAsync() {
|
|
cCc_Init();
|
|
|
|
JUT_ASSERT(0x145, cDyl_DVD == 0);
|
|
cDyl_DVD = mDoDvdThd_callback_c::create((mDoDvdThd_callback_func) cDyl_InitCallback, NULL);
|
|
}
|
|
|
|
/* 80022E70-80022EDC .text cDyl_InitAsyncIsDone__Fv */
|
|
int cDyl_InitAsyncIsDone() {
|
|
if (cDyl_DVD == NULL)
|
|
return TRUE;
|
|
|
|
if (cDyl_DVD->sync()) {
|
|
cDyl_DVD->destroy();
|
|
cDyl_DVD = NULL;
|
|
return TRUE;
|
|
}
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
/* 80022EDC-80022EE4 .text phase_01__7cDylPhsFPv */
|
|
int cDylPhs::phase_01(void*) {
|
|
return cPhs_NEXT_e;
|
|
}
|
|
|
|
/* 80022EE4-80022F1C .text phase_02__7cDylPhsFPs */
|
|
int cDylPhs::phase_02(s16* pProf) {
|
|
s32 ret = cDyl_LinkASync(*pProf);
|
|
return ret == cPhs_COMPLEATE_e ? cPhs_NEXT_e : ret;
|
|
}
|
|
|
|
/* 80022F1C-80022F24 .text phase_03__7cDylPhsFPv */
|
|
int cDylPhs::phase_03(void*) {
|
|
return cPhs_INIT_e;
|
|
}
|
|
|
|
/* 80022F24-80022F68 .text Link__7cDylPhsFP30request_of_phase_process_classs */
|
|
int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 profName) {
|
|
static cPhs__Handler l_method[] = {
|
|
(cPhs__Handler) &cDylPhs::phase_01,
|
|
(cPhs__Handler) &cDylPhs::phase_02,
|
|
(cPhs__Handler) &cDylPhs::phase_03,
|
|
};
|
|
|
|
if (i_phase->id == cPhs_NEXT_e)
|
|
return cPhs_COMPLEATE_e;
|
|
|
|
return dComLbG_PhaseHandler(i_phase, l_method, &profName);
|
|
}
|
|
|
|
/* 80022F68-80023004 .text Unlink__7cDylPhsFP30request_of_phase_process_classs */
|
|
int cDylPhs::Unlink(request_of_phase_process_class* i_phase, s16 profName) {
|
|
JUT_ASSERT(0x1a6, i_phase->id != 1);
|
|
|
|
s32 ret;
|
|
if (i_phase->id == cPhs_NEXT_e) {
|
|
ret = cDyl_Unlink(profName);
|
|
i_phase->id = cPhs_INIT_e;
|
|
} else {
|
|
ret = cPhs_INIT_e;
|
|
}
|
|
return ret;
|
|
}
|