diff --git a/include/animation_table.h b/include/animation_table.h deleted file mode 100644 index 41a95cd8..00000000 --- a/include/animation_table.h +++ /dev/null @@ -1,634 +0,0 @@ -#pragma once -#include "align_asset_macro.h" - -#define BIND_MARIO_ANIMATION(id) gAnimation##id - -#define dgAnimation00 "assets/anims/anim_00" -static const ALIGN_ASSET(2) char gAnimation00[] = dgAnimation00; - -#define dgAnimation01 "assets/anims/anim_01" -static const ALIGN_ASSET(2) char gAnimation01[] = dgAnimation01; - -#define dgAnimation02 "assets/anims/anim_02" -static const ALIGN_ASSET(2) char gAnimation02[] = dgAnimation02; - -#define dgAnimation03 "assets/anims/anim_03" -static const ALIGN_ASSET(2) char gAnimation03[] = dgAnimation03; - -#define dgAnimation04 "assets/anims/anim_04" -static const ALIGN_ASSET(2) char gAnimation04[] = dgAnimation04; - -#define dgAnimation05 "assets/anims/anim_05" -static const ALIGN_ASSET(2) char gAnimation05[] = dgAnimation05; - -#define dgAnimation06 "assets/anims/anim_06" -static const ALIGN_ASSET(2) char gAnimation06[] = dgAnimation06; - -#define dgAnimation07 "assets/anims/anim_07" -static const ALIGN_ASSET(2) char gAnimation07[] = dgAnimation07; - -#define dgAnimation08 "assets/anims/anim_08" -static const ALIGN_ASSET(2) char gAnimation08[] = dgAnimation08; - -#define dgAnimation09 "assets/anims/anim_09" -static const ALIGN_ASSET(2) char gAnimation09[] = dgAnimation09; - -#define dgAnimation0A "assets/anims/anim_0A" -static const ALIGN_ASSET(2) char gAnimation0A[] = dgAnimation0A; - -#define dgAnimation0B "assets/anims/anim_0B" -static const ALIGN_ASSET(2) char gAnimation0B[] = dgAnimation0B; - -#define dgAnimation0C "assets/anims/anim_0C" -static const ALIGN_ASSET(2) char gAnimation0C[] = dgAnimation0C; - -#define dgAnimation0D "assets/anims/anim_0D" -static const ALIGN_ASSET(2) char gAnimation0D[] = dgAnimation0D; - -#define dgAnimation0E "assets/anims/anim_0E" -static const ALIGN_ASSET(2) char gAnimation0E[] = dgAnimation0E; - -#define dgAnimation0F "assets/anims/anim_0F" -static const ALIGN_ASSET(2) char gAnimation0F[] = dgAnimation0F; - -#define dgAnimation10 "assets/anims/anim_10" -static const ALIGN_ASSET(2) char gAnimation10[] = dgAnimation10; - -#define dgAnimation11 "assets/anims/anim_11" -static const ALIGN_ASSET(2) char gAnimation11[] = dgAnimation11; - -#define dgAnimation12 "assets/anims/anim_12" -static const ALIGN_ASSET(2) char gAnimation12[] = dgAnimation12; - -#define dgAnimation13 "assets/anims/anim_13" -static const ALIGN_ASSET(2) char gAnimation13[] = dgAnimation13; - -#define dgAnimation14 "assets/anims/anim_14" -static const ALIGN_ASSET(2) char gAnimation14[] = dgAnimation14; - -#define dgAnimation15 "assets/anims/anim_15" -static const ALIGN_ASSET(2) char gAnimation15[] = dgAnimation15; - -#define dgAnimation16 "assets/anims/anim_16" -static const ALIGN_ASSET(2) char gAnimation16[] = dgAnimation16; - -#define dgAnimation17 "assets/anims/anim_17" -static const ALIGN_ASSET(2) char gAnimation17[] = dgAnimation17; - -#define dgAnimation18 "assets/anims/anim_18" -static const ALIGN_ASSET(2) char gAnimation18[] = dgAnimation18; - -#define dgAnimation19 "assets/anims/anim_19" -static const ALIGN_ASSET(2) char gAnimation19[] = dgAnimation19; - -#define dgAnimation1A "assets/anims/anim_1A" -static const ALIGN_ASSET(2) char gAnimation1A[] = dgAnimation1A; - -#define dgAnimation1B "assets/anims/anim_1B" -static const ALIGN_ASSET(2) char gAnimation1B[] = dgAnimation1B; - -#define dgAnimation1C "assets/anims/anim_1C" -static const ALIGN_ASSET(2) char gAnimation1C[] = dgAnimation1C; - -#define dgAnimation1D "assets/anims/anim_1D" -static const ALIGN_ASSET(2) char gAnimation1D[] = dgAnimation1D; - -#define dgAnimation1E "assets/anims/anim_1E" -static const ALIGN_ASSET(2) char gAnimation1E[] = dgAnimation1E; - -#define dgAnimation1F "assets/anims/anim_1F" -static const ALIGN_ASSET(2) char gAnimation1F[] = dgAnimation1F; - -#define dgAnimation20 "assets/anims/anim_20" -static const ALIGN_ASSET(2) char gAnimation20[] = dgAnimation20; - -#define dgAnimation21 "assets/anims/anim_21" -static const ALIGN_ASSET(2) char gAnimation21[] = dgAnimation21; - -#define dgAnimation22 "assets/anims/anim_22" -static const ALIGN_ASSET(2) char gAnimation22[] = dgAnimation22; - -#define dgAnimation23 "assets/anims/anim_23" -static const ALIGN_ASSET(2) char gAnimation23[] = dgAnimation23; - -#define dgAnimation24 "assets/anims/anim_24" -static const ALIGN_ASSET(2) char gAnimation24[] = dgAnimation24; - -#define dgAnimation25 "assets/anims/anim_25" -static const ALIGN_ASSET(2) char gAnimation25[] = dgAnimation25; - -#define dgAnimation26 "assets/anims/anim_26" -static const ALIGN_ASSET(2) char gAnimation26[] = dgAnimation26; - -#define dgAnimation27 "assets/anims/anim_27" -static const ALIGN_ASSET(2) char gAnimation27[] = dgAnimation27; - -#define dgAnimation28 "assets/anims/anim_28" -static const ALIGN_ASSET(2) char gAnimation28[] = dgAnimation28; - -#define dgAnimation29 "assets/anims/anim_29" -static const ALIGN_ASSET(2) char gAnimation29[] = dgAnimation29; - -#define dgAnimation2A "assets/anims/anim_2A" -static const ALIGN_ASSET(2) char gAnimation2A[] = dgAnimation2A; - -#define dgAnimation2B "assets/anims/anim_2B" -static const ALIGN_ASSET(2) char gAnimation2B[] = dgAnimation2B; - -#define dgAnimation2C "assets/anims/anim_2C" -static const ALIGN_ASSET(2) char gAnimation2C[] = dgAnimation2C; - -#define dgAnimation2D "assets/anims/anim_2D" -static const ALIGN_ASSET(2) char gAnimation2D[] = dgAnimation2D; - -#define dgAnimation2E "assets/anims/anim_2E" -static const ALIGN_ASSET(2) char gAnimation2E[] = dgAnimation2E; - -#define dgAnimation2F "assets/anims/anim_2F" -static const ALIGN_ASSET(2) char gAnimation2F[] = dgAnimation2F; - -#define dgAnimation30 "assets/anims/anim_30" -static const ALIGN_ASSET(2) char gAnimation30[] = dgAnimation30; - -#define dgAnimation31 "assets/anims/anim_31" -static const ALIGN_ASSET(2) char gAnimation31[] = dgAnimation31; - -#define dgAnimation32 "assets/anims/anim_32" -static const ALIGN_ASSET(2) char gAnimation32[] = dgAnimation32; - -#define dgAnimation33 "assets/anims/anim_33" -static const ALIGN_ASSET(2) char gAnimation33[] = dgAnimation33; - -#define dgAnimation34 "assets/anims/anim_34" -static const ALIGN_ASSET(2) char gAnimation34[] = dgAnimation34; - -#define dgAnimation35 "assets/anims/anim_35" -static const ALIGN_ASSET(2) char gAnimation35[] = dgAnimation35; - -#define dgAnimation36 "assets/anims/anim_36" -static const ALIGN_ASSET(2) char gAnimation36[] = dgAnimation36; - -#define dgAnimation37 "assets/anims/anim_37" -static const ALIGN_ASSET(2) char gAnimation37[] = dgAnimation37; - -#define dgAnimation38 "assets/anims/anim_38" -static const ALIGN_ASSET(2) char gAnimation38[] = dgAnimation38; - -#define dgAnimation39 "assets/anims/anim_39" -static const ALIGN_ASSET(2) char gAnimation39[] = dgAnimation39; - -#define dgAnimation3A "assets/anims/anim_3A" -static const ALIGN_ASSET(2) char gAnimation3A[] = dgAnimation3A; - -#define dgAnimation3B "assets/anims/anim_3B" -static const ALIGN_ASSET(2) char gAnimation3B[] = dgAnimation3B; - -#define dgAnimation3C "assets/anims/anim_3C" -static const ALIGN_ASSET(2) char gAnimation3C[] = dgAnimation3C; - -#define dgAnimation3D "assets/anims/anim_3D" -static const ALIGN_ASSET(2) char gAnimation3D[] = dgAnimation3D; - -#define dgAnimation3E "assets/anims/anim_3E" -static const ALIGN_ASSET(2) char gAnimation3E[] = dgAnimation3E; - -#define dgAnimation3F "assets/anims/anim_3F" -static const ALIGN_ASSET(2) char gAnimation3F[] = dgAnimation3F; - -#define dgAnimation40 "assets/anims/anim_40" -static const ALIGN_ASSET(2) char gAnimation40[] = dgAnimation40; - -#define dgAnimation41 "assets/anims/anim_41" -static const ALIGN_ASSET(2) char gAnimation41[] = dgAnimation41; - -#define dgAnimation42 "assets/anims/anim_42" -static const ALIGN_ASSET(2) char gAnimation42[] = dgAnimation42; - -#define dgAnimation43 "assets/anims/anim_43" -static const ALIGN_ASSET(2) char gAnimation43[] = dgAnimation43; - -#define dgAnimation44 "assets/anims/anim_44" -static const ALIGN_ASSET(2) char gAnimation44[] = dgAnimation44; - -#define dgAnimation45 "assets/anims/anim_45" -static const ALIGN_ASSET(2) char gAnimation45[] = dgAnimation45; - -#define dgAnimation46 "assets/anims/anim_46" -static const ALIGN_ASSET(2) char gAnimation46[] = dgAnimation46; - -#define dgAnimation47 "assets/anims/anim_47" -static const ALIGN_ASSET(2) char gAnimation47[] = dgAnimation47; - -#define dgAnimation48 "assets/anims/anim_48" -static const ALIGN_ASSET(2) char gAnimation48[] = dgAnimation48; - -#define dgAnimation49 "assets/anims/anim_49" -static const ALIGN_ASSET(2) char gAnimation49[] = dgAnimation49; - -#define dgAnimation4A "assets/anims/anim_4A" -static const ALIGN_ASSET(2) char gAnimation4A[] = dgAnimation4A; - -#define dgAnimation4B "assets/anims/anim_4B" -static const ALIGN_ASSET(2) char gAnimation4B[] = dgAnimation4B; - -#define dgAnimation4C "assets/anims/anim_4C" -static const ALIGN_ASSET(2) char gAnimation4C[] = dgAnimation4C; - -#define dgAnimation4D "assets/anims/anim_4D" -static const ALIGN_ASSET(2) char gAnimation4D[] = dgAnimation4D; - -#define dgAnimation4E "assets/anims/anim_4E" -static const ALIGN_ASSET(2) char gAnimation4E[] = dgAnimation4E; - -#define dgAnimation4F "assets/anims/anim_4F" -static const ALIGN_ASSET(2) char gAnimation4F[] = dgAnimation4F; - -#define dgAnimation50 "assets/anims/anim_50" -static const ALIGN_ASSET(2) char gAnimation50[] = dgAnimation50; - -#define dgAnimation51 "assets/anims/anim_51" -static const ALIGN_ASSET(2) char gAnimation51[] = dgAnimation51; - -#define dgAnimation52 "assets/anims/anim_52" -static const ALIGN_ASSET(2) char gAnimation52[] = dgAnimation52; - -#define dgAnimation53 "assets/anims/anim_53" -static const ALIGN_ASSET(2) char gAnimation53[] = dgAnimation53; - -#define dgAnimation54 "assets/anims/anim_54" -static const ALIGN_ASSET(2) char gAnimation54[] = dgAnimation54; - -#define dgAnimation55 "assets/anims/anim_55" -static const ALIGN_ASSET(2) char gAnimation55[] = dgAnimation55; - -#define dgAnimation56 "assets/anims/anim_56" -static const ALIGN_ASSET(2) char gAnimation56[] = dgAnimation56; - -#define dgAnimation57 "assets/anims/anim_57" -static const ALIGN_ASSET(2) char gAnimation57[] = dgAnimation57; - -#define dgAnimation58 "assets/anims/anim_58" -static const ALIGN_ASSET(2) char gAnimation58[] = dgAnimation58; - -#define dgAnimation59 "assets/anims/anim_59" -static const ALIGN_ASSET(2) char gAnimation59[] = dgAnimation59; - -#define dgAnimation5A "assets/anims/anim_5A" -static const ALIGN_ASSET(2) char gAnimation5A[] = dgAnimation5A; - -#define dgAnimation5B "assets/anims/anim_5B" -static const ALIGN_ASSET(2) char gAnimation5B[] = dgAnimation5B; - -#define dgAnimation5C "assets/anims/anim_5C" -static const ALIGN_ASSET(2) char gAnimation5C[] = dgAnimation5C; - -#define dgAnimation5D "assets/anims/anim_5D" -static const ALIGN_ASSET(2) char gAnimation5D[] = dgAnimation5D; - -#define dgAnimation5E "assets/anims/anim_5E" -static const ALIGN_ASSET(2) char gAnimation5E[] = dgAnimation5E; - -#define dgAnimation5F "assets/anims/anim_5F" -static const ALIGN_ASSET(2) char gAnimation5F[] = dgAnimation5F; - -#define dgAnimation60 "assets/anims/anim_60" -static const ALIGN_ASSET(2) char gAnimation60[] = dgAnimation60; - -#define dgAnimation61 "assets/anims/anim_61" -static const ALIGN_ASSET(2) char gAnimation61[] = dgAnimation61; - -#define dgAnimation62 "assets/anims/anim_62" -static const ALIGN_ASSET(2) char gAnimation62[] = dgAnimation62; - -#define dgAnimation63 "assets/anims/anim_63" -static const ALIGN_ASSET(2) char gAnimation63[] = dgAnimation63; - -#define dgAnimation64 "assets/anims/anim_64" -static const ALIGN_ASSET(2) char gAnimation64[] = dgAnimation64; - -#define dgAnimation65 "assets/anims/anim_65" -static const ALIGN_ASSET(2) char gAnimation65[] = dgAnimation65; - -#define dgAnimation66 "assets/anims/anim_66" -static const ALIGN_ASSET(2) char gAnimation66[] = dgAnimation66; - -#define dgAnimation67 "assets/anims/anim_67" -static const ALIGN_ASSET(2) char gAnimation67[] = dgAnimation67; - -#define dgAnimation68 "assets/anims/anim_68" -static const ALIGN_ASSET(2) char gAnimation68[] = dgAnimation68; - -#define dgAnimation69 "assets/anims/anim_69" -static const ALIGN_ASSET(2) char gAnimation69[] = dgAnimation69; - -#define dgAnimation6A "assets/anims/anim_6A" -static const ALIGN_ASSET(2) char gAnimation6A[] = dgAnimation6A; - -#define dgAnimation6B "assets/anims/anim_6B" -static const ALIGN_ASSET(2) char gAnimation6B[] = dgAnimation6B; - -#define dgAnimation6C "assets/anims/anim_6C" -static const ALIGN_ASSET(2) char gAnimation6C[] = dgAnimation6C; - -#define dgAnimation6D "assets/anims/anim_6D" -static const ALIGN_ASSET(2) char gAnimation6D[] = dgAnimation6D; - -#define dgAnimation6E "assets/anims/anim_6E" -static const ALIGN_ASSET(2) char gAnimation6E[] = dgAnimation6E; - -#define dgAnimation6F "assets/anims/anim_6F" -static const ALIGN_ASSET(2) char gAnimation6F[] = dgAnimation6F; - -#define dgAnimation70 "assets/anims/anim_70" -static const ALIGN_ASSET(2) char gAnimation70[] = dgAnimation70; - -#define dgAnimation71 "assets/anims/anim_71" -static const ALIGN_ASSET(2) char gAnimation71[] = dgAnimation71; - -#define dgAnimation72 "assets/anims/anim_72" -static const ALIGN_ASSET(2) char gAnimation72[] = dgAnimation72; - -#define dgAnimation73 "assets/anims/anim_73" -static const ALIGN_ASSET(2) char gAnimation73[] = dgAnimation73; - -#define dgAnimation74 "assets/anims/anim_74" -static const ALIGN_ASSET(2) char gAnimation74[] = dgAnimation74; - -#define dgAnimation75 "assets/anims/anim_75" -static const ALIGN_ASSET(2) char gAnimation75[] = dgAnimation75; - -#define dgAnimation76 "assets/anims/anim_76" -static const ALIGN_ASSET(2) char gAnimation76[] = dgAnimation76; - -#define dgAnimation77 "assets/anims/anim_77" -static const ALIGN_ASSET(2) char gAnimation77[] = dgAnimation77; - -#define dgAnimation78 "assets/anims/anim_78" -static const ALIGN_ASSET(2) char gAnimation78[] = dgAnimation78; - -#define dgAnimation79 "assets/anims/anim_79" -static const ALIGN_ASSET(2) char gAnimation79[] = dgAnimation79; - -#define dgAnimation7A "assets/anims/anim_7A" -static const ALIGN_ASSET(2) char gAnimation7A[] = dgAnimation7A; - -#define dgAnimation7B "assets/anims/anim_7B" -static const ALIGN_ASSET(2) char gAnimation7B[] = dgAnimation7B; - -#define dgAnimation7C "assets/anims/anim_7C" -static const ALIGN_ASSET(2) char gAnimation7C[] = dgAnimation7C; - -#define dgAnimation7D "assets/anims/anim_7D" -static const ALIGN_ASSET(2) char gAnimation7D[] = dgAnimation7D; - -#define dgAnimation7E "assets/anims/anim_7E" -static const ALIGN_ASSET(2) char gAnimation7E[] = dgAnimation7E; - -#define dgAnimation7F "assets/anims/anim_7F" -static const ALIGN_ASSET(2) char gAnimation7F[] = dgAnimation7F; - -#define dgAnimation80 "assets/anims/anim_80" -static const ALIGN_ASSET(2) char gAnimation80[] = dgAnimation80; - -#define dgAnimation81 "assets/anims/anim_81" -static const ALIGN_ASSET(2) char gAnimation81[] = dgAnimation81; - -#define dgAnimation82 "assets/anims/anim_82" -static const ALIGN_ASSET(2) char gAnimation82[] = dgAnimation82; - -#define dgAnimation83 "assets/anims/anim_83" -static const ALIGN_ASSET(2) char gAnimation83[] = dgAnimation83; - -#define dgAnimation84 "assets/anims/anim_84" -static const ALIGN_ASSET(2) char gAnimation84[] = dgAnimation84; - -#define dgAnimation85 "assets/anims/anim_85" -static const ALIGN_ASSET(2) char gAnimation85[] = dgAnimation85; - -#define dgAnimation86 "assets/anims/anim_86" -static const ALIGN_ASSET(2) char gAnimation86[] = dgAnimation86; - -#define dgAnimation87 "assets/anims/anim_87" -static const ALIGN_ASSET(2) char gAnimation87[] = dgAnimation87; - -#define dgAnimation88 "assets/anims/anim_88" -static const ALIGN_ASSET(2) char gAnimation88[] = dgAnimation88; - -#define dgAnimation89 "assets/anims/anim_89" -static const ALIGN_ASSET(2) char gAnimation89[] = dgAnimation89; - -#define dgAnimation8A "assets/anims/anim_8A" -static const ALIGN_ASSET(2) char gAnimation8A[] = dgAnimation8A; - -#define dgAnimation8B "assets/anims/anim_8B" -static const ALIGN_ASSET(2) char gAnimation8B[] = dgAnimation8B; - -#define dgAnimation8C "assets/anims/anim_8C" -static const ALIGN_ASSET(2) char gAnimation8C[] = dgAnimation8C; - -#define dgAnimation8D "assets/anims/anim_8D" -static const ALIGN_ASSET(2) char gAnimation8D[] = dgAnimation8D; - -#define dgAnimation8E "assets/anims/anim_8E" -static const ALIGN_ASSET(2) char gAnimation8E[] = dgAnimation8E; - -#define dgAnimation8F "assets/anims/anim_8F" -static const ALIGN_ASSET(2) char gAnimation8F[] = dgAnimation8F; - -#define dgAnimation90 "assets/anims/anim_90" -static const ALIGN_ASSET(2) char gAnimation90[] = dgAnimation90; - -#define dgAnimation91 "assets/anims/anim_91" -static const ALIGN_ASSET(2) char gAnimation91[] = dgAnimation91; - -#define dgAnimation92 "assets/anims/anim_92" -static const ALIGN_ASSET(2) char gAnimation92[] = dgAnimation92; - -#define dgAnimation93 "assets/anims/anim_93" -static const ALIGN_ASSET(2) char gAnimation93[] = dgAnimation93; - -#define dgAnimation94 "assets/anims/anim_94" -static const ALIGN_ASSET(2) char gAnimation94[] = dgAnimation94; - -#define dgAnimation95 "assets/anims/anim_95" -static const ALIGN_ASSET(2) char gAnimation95[] = dgAnimation95; - -#define dgAnimation96 "assets/anims/anim_96" -static const ALIGN_ASSET(2) char gAnimation96[] = dgAnimation96; - -#define dgAnimation97 "assets/anims/anim_97" -static const ALIGN_ASSET(2) char gAnimation97[] = dgAnimation97; - -#define dgAnimation98 "assets/anims/anim_98" -static const ALIGN_ASSET(2) char gAnimation98[] = dgAnimation98; - -#define dgAnimation99 "assets/anims/anim_99" -static const ALIGN_ASSET(2) char gAnimation99[] = dgAnimation99; - -#define dgAnimation9A "assets/anims/anim_9A" -static const ALIGN_ASSET(2) char gAnimation9A[] = dgAnimation9A; - -#define dgAnimation9B "assets/anims/anim_9B" -static const ALIGN_ASSET(2) char gAnimation9B[] = dgAnimation9B; - -#define dgAnimation9C "assets/anims/anim_9C" -static const ALIGN_ASSET(2) char gAnimation9C[] = dgAnimation9C; - -#define dgAnimation9D "assets/anims/anim_9D" -static const ALIGN_ASSET(2) char gAnimation9D[] = dgAnimation9D; - -#define dgAnimation9E "assets/anims/anim_9E" -static const ALIGN_ASSET(2) char gAnimation9E[] = dgAnimation9E; - -#define dgAnimation9F "assets/anims/anim_9F" -static const ALIGN_ASSET(2) char gAnimation9F[] = dgAnimation9F; - -#define dgAnimationA0 "assets/anims/anim_A0" -static const ALIGN_ASSET(2) char gAnimationA0[] = dgAnimationA0; - -#define dgAnimationA1 "assets/anims/anim_A1" -static const ALIGN_ASSET(2) char gAnimationA1[] = dgAnimationA1; - -#define dgAnimationA2 "assets/anims/anim_A2" -static const ALIGN_ASSET(2) char gAnimationA2[] = dgAnimationA2; - -#define dgAnimationA3 "assets/anims/anim_A3" -static const ALIGN_ASSET(2) char gAnimationA3[] = dgAnimationA3; - -#define dgAnimationA4 "assets/anims/anim_A4" -static const ALIGN_ASSET(2) char gAnimationA4[] = dgAnimationA4; - -#define dgAnimationA5 "assets/anims/anim_A5" -static const ALIGN_ASSET(2) char gAnimationA5[] = dgAnimationA5; - -#define dgAnimationA6 "assets/anims/anim_A6" -static const ALIGN_ASSET(2) char gAnimationA6[] = dgAnimationA6; - -#define dgAnimationA7 "assets/anims/anim_A7" -static const ALIGN_ASSET(2) char gAnimationA7[] = dgAnimationA7; - -#define dgAnimationA8 "assets/anims/anim_A8" -static const ALIGN_ASSET(2) char gAnimationA8[] = dgAnimationA8; - -#define dgAnimationA9 "assets/anims/anim_A9" -static const ALIGN_ASSET(2) char gAnimationA9[] = dgAnimationA9; - -#define dgAnimationAA "assets/anims/anim_AA" -static const ALIGN_ASSET(2) char gAnimationAA[] = dgAnimationAA; - -#define dgAnimationAB "assets/anims/anim_AB" -static const ALIGN_ASSET(2) char gAnimationAB[] = dgAnimationAB; - -#define dgAnimationAC "assets/anims/anim_AC" -static const ALIGN_ASSET(2) char gAnimationAC[] = dgAnimationAC; - -#define dgAnimationAD "assets/anims/anim_AD" -static const ALIGN_ASSET(2) char gAnimationAD[] = dgAnimationAD; - -#define dgAnimationAE "assets/anims/anim_AE" -static const ALIGN_ASSET(2) char gAnimationAE[] = dgAnimationAE; - -#define dgAnimationAF "assets/anims/anim_AF" -static const ALIGN_ASSET(2) char gAnimationAF[] = dgAnimationAF; - -#define dgAnimationB0 "assets/anims/anim_B0" -static const ALIGN_ASSET(2) char gAnimationB0[] = dgAnimationB0; - -#define dgAnimationB1 "assets/anims/anim_B1" -static const ALIGN_ASSET(2) char gAnimationB1[] = dgAnimationB1; - -#define dgAnimationB2 "assets/anims/anim_B2" -static const ALIGN_ASSET(2) char gAnimationB2[] = dgAnimationB2; - -#define dgAnimationB3 "assets/anims/anim_B3" -static const ALIGN_ASSET(2) char gAnimationB3[] = dgAnimationB3; - -#define dgAnimationB4 "assets/anims/anim_B4" -static const ALIGN_ASSET(2) char gAnimationB4[] = dgAnimationB4; - -#define dgAnimationB5 "assets/anims/anim_B5" -static const ALIGN_ASSET(2) char gAnimationB5[] = dgAnimationB5; - -#define dgAnimationB6 "assets/anims/anim_B6" -static const ALIGN_ASSET(2) char gAnimationB6[] = dgAnimationB6; - -#define dgAnimationB7 "assets/anims/anim_B7" -static const ALIGN_ASSET(2) char gAnimationB7[] = dgAnimationB7; - -#define dgAnimationB8 "assets/anims/anim_B8" -static const ALIGN_ASSET(2) char gAnimationB8[] = dgAnimationB8; - -#define dgAnimationB9 "assets/anims/anim_B9" -static const ALIGN_ASSET(2) char gAnimationB9[] = dgAnimationB9; - -#define dgAnimationBA "assets/anims/anim_BA" -static const ALIGN_ASSET(2) char gAnimationBA[] = dgAnimationBA; - -#define dgAnimationBB "assets/anims/anim_BB" -static const ALIGN_ASSET(2) char gAnimationBB[] = dgAnimationBB; - -#define dgAnimationBC "assets/anims/anim_BC" -static const ALIGN_ASSET(2) char gAnimationBC[] = dgAnimationBC; - -#define dgAnimationBD "assets/anims/anim_BD" -static const ALIGN_ASSET(2) char gAnimationBD[] = dgAnimationBD; - -#define dgAnimationBE "assets/anims/anim_BE" -static const ALIGN_ASSET(2) char gAnimationBE[] = dgAnimationBE; - -#define dgAnimationBF "assets/anims/anim_BF" -static const ALIGN_ASSET(2) char gAnimationBF[] = dgAnimationBF; - -#define dgAnimationC0 "assets/anims/anim_C0" -static const ALIGN_ASSET(2) char gAnimationC0[] = dgAnimationC0; - -#define dgAnimationC1 "assets/anims/anim_C1" -static const ALIGN_ASSET(2) char gAnimationC1[] = dgAnimationC1; - -#define dgAnimationC2 "assets/anims/anim_C2" -static const ALIGN_ASSET(2) char gAnimationC2[] = dgAnimationC2; - -#define dgAnimationC3 "assets/anims/anim_C3" -static const ALIGN_ASSET(2) char gAnimationC3[] = dgAnimationC3; - -#define dgAnimationC4 "assets/anims/anim_C4" -static const ALIGN_ASSET(2) char gAnimationC4[] = dgAnimationC4; - -#define dgAnimationC5 "assets/anims/anim_C5" -static const ALIGN_ASSET(2) char gAnimationC5[] = dgAnimationC5; - -#define dgAnimationC6 "assets/anims/anim_C6" -static const ALIGN_ASSET(2) char gAnimationC6[] = dgAnimationC6; - -#define dgAnimationC7 "assets/anims/anim_C7" -static const ALIGN_ASSET(2) char gAnimationC7[] = dgAnimationC7; - -#define dgAnimationC8 "assets/anims/anim_C8" -static const ALIGN_ASSET(2) char gAnimationC8[] = dgAnimationC8; - -#define dgAnimationC9 "assets/anims/anim_C9" -static const ALIGN_ASSET(2) char gAnimationC9[] = dgAnimationC9; - -#define dgAnimationCA "assets/anims/anim_CA" -static const ALIGN_ASSET(2) char gAnimationCA[] = dgAnimationCA; - -#define dgAnimationCB "assets/anims/anim_CB" -static const ALIGN_ASSET(2) char gAnimationCB[] = dgAnimationCB; - -#define dgAnimationCC "assets/anims/anim_CC" -static const ALIGN_ASSET(2) char gAnimationCC[] = dgAnimationCC; - -#define dgAnimationCD "assets/anims/anim_CD" -static const ALIGN_ASSET(2) char gAnimationCD[] = dgAnimationCD; - -#define dgAnimationCE "assets/anims/anim_CE" -static const ALIGN_ASSET(2) char gAnimationCE[] = dgAnimationCE; - -#define dgAnimationCF "assets/anims/anim_CF" -static const ALIGN_ASSET(2) char gAnimationCF[] = dgAnimationCF; - -#define dgAnimationD0 "assets/anims/anim_D0" -static const ALIGN_ASSET(2) char gAnimationD0[] = dgAnimationD0; - -#define dgAnimationRoot "assets/anims/anim_%02X" -static const ALIGN_ASSET(2) char gAnimationRoot[] = dgAnimationRoot; \ No newline at end of file diff --git a/src/game/mario.c b/src/game/mario.c index 8224f5e0..5dc87fed 100644 --- a/src/game/mario.c +++ b/src/game/mario.c @@ -33,7 +33,6 @@ #include "save_file.h" #include "sound_init.h" #include "rumble_init.h" -#include "animation_table.h" #include "port/Enhancements/game-interactor/GameInteractor_Hooks.h" @@ -68,10 +67,7 @@ s32 is_anim_past_end(struct MarioState *m) { s16 set_mario_animation(struct MarioState *m, s32 targetAnimID) { struct Object *o = m->marioObj; - char gAnimationData[sizeof(gAnimationRoot) / sizeof(gAnimationRoot[0]) + 1]; - sprintf(gAnimationData, gAnimationRoot, targetAnimID); - - struct Animation *targetAnim = ResourceGetDataByName(gAnimationData); + struct Animation *targetAnim = GameEngine_LoadAnimation(targetAnimID); if (o->header.gfx.animInfo.animID != targetAnimID) { o->header.gfx.animInfo.animID = targetAnimID; @@ -99,10 +95,7 @@ s16 set_mario_animation(struct MarioState *m, s32 targetAnimID) { */ s16 set_mario_anim_with_accel(struct MarioState *m, s32 targetAnimID, s32 accel) { struct Object *o = m->marioObj; - char gAnimationData[sizeof(gAnimationRoot) / sizeof(gAnimationRoot[0]) + 1]; - sprintf(gAnimationData, gAnimationRoot, targetAnimID); - - struct Animation *targetAnim = ResourceGetDataByName(gAnimationData); + struct Animation *targetAnim = GameEngine_LoadAnimation(targetAnimID); if (o->header.gfx.animInfo.animID != targetAnimID) { o->header.gfx.animInfo.animID = targetAnimID; diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index 88ef9fbe..5a18a4d6 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -61,6 +61,7 @@ GameEngine::GameEngine(): dictionary(nullptr) { {0xFF2B5A63, 0xE3DAA4E}, 3); auto wnd = std::dynamic_pointer_cast(Ship::Context::GetInstance()->GetWindow()); + wnd->SetTargetFps(60); wnd->SetMaximumFrameLatency(1); wnd->SetRendererUCode(ucode_f3d); @@ -88,6 +89,7 @@ void GameEngine::Create(){ GameUI::SetupGuiElements(); instance->AudioInit(); instance->LoadDictionary(); + instance->LoadPlayerAnims(); } void GameEngine::Destroy(){ @@ -180,6 +182,10 @@ void GameEngine::AudioInit() { const auto banksFiles = resourceMgr->GetArchiveManager()->ListFiles("sound/banks/*"); const auto sequences_files = resourceMgr->GetArchiveManager()->ListFiles("sound/sequences/*"); + Instance->sequenceTable.resize(512); + Instance->audioSequenceTable.resize(512); + Instance->banksTable.resize(512); + for(auto& bank : *banksFiles){ auto path = "__OTR__" + bank; const auto ctl = static_cast(ResourceGetDataByName(path.c_str())); @@ -189,7 +195,7 @@ void GameEngine::AudioInit() { for( auto& sequence : *sequences_files){ auto path = "__OTR__" + sequence; auto seq = static_cast(ResourceGetDataByName(path.c_str())); - this->sequencesMapTable[seq->id] = path; + Instance->sequenceTable[seq->id] = path; } if (!audio.running) { @@ -213,10 +219,21 @@ void GameEngine::LoadDictionary() { this->dictionary = static_cast> *>(ResourceGetDataByName("__OTR__texts/strings/global")); } +void GameEngine::LoadPlayerAnims() { + auto resourceMgr = Ship::Context::GetInstance()->GetResourceManager(); + auto archiveMgr = resourceMgr->GetArchiveManager(); + auto anims = archiveMgr->ListFiles("assets/anims/*"); + this->animationsTable.resize(anims->size()); + + for(auto& anim : *anims){ + const auto id = std::stoi(anim.substr(anim.find('_') + 1, anim.length()), nullptr, 16); + this->animationsTable[id] = static_cast(ResourceGetDataByName(anim.c_str())); + } +} + uint8_t GameEngine::GetBankIdByName(const std::string& name) { - auto engine = GameEngine::Instance; - if(engine->bankMapTable.contains(name)){ - return engine->bankMapTable[name]; + if(Instance->bankMapTable.contains(name)){ + return Instance->bankMapTable[name]; } return 0; } @@ -267,7 +284,7 @@ void GameEngine::ProcessGfxCommands(F3DGfx* commands) { while (time + original_fps <= next_original_frame) { time += original_fps; if (time != next_original_frame) { - gInterpolationStep = (float)time / next_original_frame; + gInterpolationStep = static_cast(time) / next_original_frame; } RunCommands(commands); PatchInterpolations(); @@ -310,83 +327,81 @@ extern "C" float GameEngine_GetAspectRatio() { return gfx_current_dimensions.aspect_ratio; } -extern "C" CtlEntry* GameEngine_LoadBank(uint8_t bankId) { - auto engine = GameEngine::Instance; +extern "C" CtlEntry* GameEngine_LoadBank(const uint8_t bankId) { + const auto engine = GameEngine::Instance; + if(bankId >= engine->bankMapTable.size()){ return nullptr; } - if(engine->banks.contains(bankId)){ - return engine->banks[bankId]; + + if(engine->banksTable[bankId] != nullptr){ + return engine->banksTable[bankId]; } + for(auto& bank : engine->bankMapTable){ if(bank.second == bankId){ const auto ctl = static_cast(ResourceGetDataByName(("__OTR__" + bank.first).c_str())); - engine->banks[bankId] = ctl; + engine->banksTable[bankId] = ctl; return ctl; } } return nullptr; } -extern "C" uint8_t GameEngine_IsBankLoaded(uint8_t bankId) { - auto engine = GameEngine::Instance; +extern "C" uint8_t GameEngine_IsBankLoaded(const uint8_t bankId) { + const auto engine = GameEngine::Instance; GameEngine_LoadBank(bankId); - return engine->banks.contains(bankId); + return engine->banksTable[bankId] != nullptr; } -extern "C" void GameEngine_UnloadBank(uint8_t bankId) { - auto engine = GameEngine::Instance; - if(engine->banks.contains(bankId)){ - engine->banks.erase(bankId); - } +extern "C" void GameEngine_UnloadBank(const uint8_t bankId) { + const auto engine = GameEngine::Instance; + engine->banksTable[bankId] = nullptr; } -extern "C" AudioSequenceData* GameEngine_LoadSequence(uint8_t seqId) { +extern "C" AudioSequenceData* GameEngine_LoadSequence(const uint8_t seqId) { auto engine = GameEngine::Instance; - if(!engine->sequencesMapTable.contains(seqId)){ + + if(engine->sequenceTable[seqId].empty()){ return nullptr; } - if(engine->sequences.contains(seqId)){ - return engine->sequences[seqId]; + if(engine->audioSequenceTable[seqId] != nullptr){ + return engine->audioSequenceTable[seqId]; } - auto sequences = static_cast(ResourceGetDataByName(engine->sequencesMapTable[seqId].c_str())); - engine->sequences[seqId] = sequences; + auto sequences = static_cast(ResourceGetDataByName(engine->sequenceTable[seqId].c_str())); + engine->audioSequenceTable[seqId] = sequences; return sequences; } extern "C" uint32_t GameEngine_GetSequenceCount(){ auto engine = GameEngine::Instance; - return engine->sequencesMapTable.size(); + return engine->sequenceTable.size(); } -extern "C" uint8_t GameEngine_IsSequenceLoaded(uint8_t seqId) { - const auto engine = GameEngine::Instance; - GameEngine_LoadSequence(seqId); - return engine->sequences.contains(seqId); +extern "C" uint8_t GameEngine_IsSequenceLoaded(const uint8_t seqId) { + return GameEngine_LoadSequence(seqId) != nullptr; } -extern "C" void GameEngine_UnloadSequence(uint8_t seqId) { +extern "C" void GameEngine_UnloadSequence(const uint8_t seqId) { const auto engine = GameEngine::Instance; - if(engine->sequences.contains(seqId)){ - engine->sequences.erase(seqId); - } + engine->audioSequenceTable[seqId] = nullptr; } extern "C" uint32_t GameEngine_GetGameVersion() { return Ship::Context::GetInstance()->GetResourceManager()->GetArchiveManager()->GetGameVersions()[0]; } -extern "C" uint8_t* GameEngine_LoadActName(uint32_t actId){ +extern "C" uint8_t* GameEngine_LoadActName(const uint32_t actId){ return static_cast(ResourceGetDataByName(StringHelper::Sprintf(gActRoot, actId).c_str())); } -extern "C" uint8_t* GameEngine_LoadLevelName(uint32_t courseId){ +extern "C" uint8_t* GameEngine_LoadLevelName(const uint32_t courseId){ return static_cast(ResourceGetDataByName(StringHelper::Sprintf(gCourseRoot, courseId).c_str())); } -extern "C" DialogEntry* GameEngine_LoadDialog(uint32_t dialogId){ +extern "C" DialogEntry* GameEngine_LoadDialog(const uint32_t dialogId){ auto dialog = static_cast(ResourceGetDataByName(StringHelper::Sprintf(gDialogRoot, dialogId).c_str())); return dialog; } @@ -403,4 +418,12 @@ extern "C" uint8_t* GameEngine_LoadTranslation(const char* key) { extern "C" int GameEngine_OTRSigCheck(const char* data) { return Ship::Context::GetInstance()->GetResourceManager()->OtrSignatureCheck(data); +} + +extern "C" Animation* GameEngine_LoadAnimation(const uint32_t animId) { + auto engine = GameEngine::Instance; + if(animId >= engine->animationsTable.size()){ + return nullptr; + } + return engine->animationsTable[animId]; } \ No newline at end of file diff --git a/src/port/Engine.h b/src/port/Engine.h index f9c65030..3411acd8 100644 --- a/src/port/Engine.h +++ b/src/port/Engine.h @@ -11,6 +11,7 @@ #define NUM_AUDIO_CHANNELS 2 #define SAMPLES_PER_FRAME (SAMPLES_HIGH * NUM_AUDIO_CHANNELS * 2) +struct Animation; struct CtlEntry; struct AudioBankSample; struct AudioSequenceData; @@ -20,10 +21,13 @@ class GameEngine { static GameEngine* Instance; std::shared_ptr context; - std::unordered_map banks; - std::unordered_map sequences; + std::vector animationsTable; + + std::vector banksTable; + std::vector sequenceTable; + std::vector audioSequenceTable; + std::unordered_map bankMapTable; - std::unordered_map sequencesMapTable; std::unordered_map>* dictionary; GameEngine(); @@ -40,7 +44,10 @@ class GameEngine { static void ProcessGfxCommands(F3DGfx* commands); static uint8_t GetBankIdByName(const std::string& name); void LoadDictionary(); - uint32_t GetGameVersion(); + + void LoadPlayerAnims(); + + static uint32_t GetGameVersion(); static void Destroy(); }; @@ -63,4 +70,5 @@ uint8_t* GameEngine_LoadLevelName(uint32_t levelId); struct DialogEntry* GameEngine_LoadDialog(uint32_t dialogId); uint8_t* GameEngine_LoadTranslation(const char* key); int GameEngine_OTRSigCheck(char* imgData); +struct Animation* GameEngine_LoadAnimation(uint32_t animId); #endif \ No newline at end of file