// Space Taxi -- where each level's hook program keeps its tables. // // Every address is a byte in the level's shipped hook blob ($7D98..$7FFF, // StLevelT.hookData), so the same numbers serve the hook programs // (stHooks.c, reading through the live simulation) and the cel manifest // (stLevelCels.c, reading the level file alone -- the offline cel baker // has no simulation). One list, two readers. #ifndef ST_HOOK_TABLES_H #define ST_HOOK_TABLES_H // Level indices (0 = A). #define ST_LEVEL_E 4u #define ST_LEVEL_G 6u #define ST_LEVEL_H 7u #define ST_LEVEL_I 8u #define ST_LEVEL_J 9u #define ST_LEVEL_K 10u #define ST_LEVEL_L 11u #define ST_LEVEL_O 14u #define ST_LEVEL_P 15u #define ST_LEVEL_Q 16u #define ST_LEVEL_R 17u #define ST_LEVEL_S 18u #define ST_LEVEL_T 19u #define ST_LEVEL_U 20u #define ST_LEVEL_V 21u #define ST_LEVEL_W 22u #define ST_LEVEL_X 23u // Hardware sprites 3..7 are the hook sprites on every level that has any. #define ST_HOOK_FIRST_SPRITE 3u // ---- level G "TELEPORTS" ---- #define ST_HK_G_CEL 0x7DD4u // 6 cels the orbs cycle through #define ST_HK_G_CEL_PHASES 6u #define ST_HK_G_ORB_COL 0x7DDAu // per sprite: start column, msb, row #define ST_HK_G_ORB_MSB 0x7DE2u #define ST_HK_G_ORB_ROW 0x7DEAu #define ST_HK_G_SPOT_COL 0x7EF3u // 5 landing spots: column, msb, row #define ST_HK_G_SPOT_MSB 0x7EF8u #define ST_HK_G_SPOT_ROW 0x7EFDu #define ST_HK_G_SFX_HOP 0x7F03u #define ST_HK_G_ORB_COLOR 4u // ---- level H "PUZZLER" ---- #define ST_HK_H_CEL 0x80u // the one sprite cel #define ST_HK_H_COLOR_IDLE 0x01u #define ST_HK_H_COLOR_LIT 0x0Au #define ST_HK_H_COLOR_ACTIVE 0x05u // ---- level I "CROSSFIRE" ---- #define ST_HK_I_CEL_RISE 0x7DD8u // 5 cels #define ST_HK_I_RISE_PHASES 5u #define ST_HK_I_CEL_BURST 0x7DE5u // 8 cels #define ST_HK_I_BURST_PHASES 8u #define ST_HK_I_COLOR 0x7E7Fu // 3 colours #define ST_HK_I_COLORS 3u #define ST_HK_I_COLOR_IDLE 0x02u // ---- levels J "SHOOTING STARS" and P "BLIZZARD" (the falling hazards) ---- #define ST_HK_FALL_CEL 0x80u // falling: $80/$81 #define ST_HK_FALL_CEL_BURST 0x82u // then the burst run from the table #define ST_HK_J_CEL_BURST 0x7EC9u // phases 1..9 #define ST_HK_J_BURST_PHASES 10u #define ST_HK_J_COLOR 7u #define ST_HK_P_CEL_BURST 0x7F09u // phases 1..4 #define ST_HK_P_BURST_PHASES 5u #define ST_HK_P_COLOR 3u // ---- level L "BLACK HOLE" ---- #define ST_HK_L_CEL_FIRST 0x80u // $80..$82 spin #define ST_HK_L_CEL_END 0x83u #define ST_HK_L_COLOR 0u // ---- level Q "INTERFERENCE" ---- #define ST_HK_Q_CEL 0x7DF2u // 12 cels, multicolour #define ST_HK_Q_CEL_PHASES 12u #define ST_HK_Q_COLOR 6u // ---- level U "REBOUND" ---- #define ST_HK_U_CEL 0x7F4Bu // 4-entry walk over $80..$82 #define ST_HK_U_CEL_PHASES 4u #define ST_HK_U_COLOR 7u #endif // ST_HOOK_TABLES_H