Ep3 NTE battles checkpoint 1

This commit is contained in:
Martin Michelsen
2024-02-03 18:03:09 -08:00
parent adb79e8a41
commit 4c735d055e
31 changed files with 1137 additions and 747 deletions
+32 -12
View File
@@ -10,8 +10,8 @@
namespace Episode3 {
struct MapState {
/* 0000 */ le_uint16_t width;
/* 0002 */ le_uint16_t height;
/* 0000 */ le_uint16_t width = 0;
/* 0002 */ le_uint16_t height = 0;
/* 0004 */ parray<parray<uint8_t, 0x10>, 0x10> tiles;
/* 0104 */ parray<parray<uint8_t, 6>, 2> start_tile_definitions;
/* 0110 */
@@ -24,16 +24,16 @@ struct MapState {
struct MapAndRulesState {
/* 0000 */ MapState map;
/* 0110 */ uint8_t num_players;
/* 0111 */ uint8_t unused1;
/* 0112 */ uint8_t environment_number;
/* 0113 */ uint8_t num_players_per_team;
/* 0114 */ uint8_t num_team0_players;
/* 0115 */ uint8_t unused2;
/* 0116 */ le_uint16_t start_facing_directions;
/* 0118 */ uint32_t unused3;
/* 011C */ le_uint32_t map_number;
/* 0120 */ uint32_t unused4;
/* 0110 */ uint8_t num_players = 0;
/* 0111 */ uint8_t unused1 = 0;
/* 0112 */ uint8_t environment_number = 0;
/* 0113 */ uint8_t num_players_per_team = 0;
/* 0114 */ uint8_t num_team0_players = 0;
/* 0115 */ uint8_t unused2 = 0;
/* 0116 */ le_uint16_t start_facing_directions = 0;
/* 0118 */ be_uint32_t unused3 = 0;
/* 011C */ le_uint32_t map_number = 0;
/* 0120 */ be_uint32_t unused4 = 0;
/* 0124 */ Rules rules;
/* 0138 */
@@ -47,6 +47,26 @@ struct MapAndRulesState {
void clear_occupied_bit_for_tile(uint8_t x, uint8_t y);
} __attribute__((packed));
struct MapAndRulesStateTrial {
/* 0000 */ MapState map;
/* 0110 */ uint8_t num_players = 0;
/* 0111 */ uint8_t unused1 = 0;
/* 0112 */ uint8_t environment_number = 0;
/* 0113 */ uint8_t num_players_per_team = 0;
/* 0114 */ uint8_t num_team0_players = 0;
/* 0115 */ uint8_t unused2 = 0;
/* 0116 */ le_uint16_t unused5 = 0;
/* 0118 */ be_uint32_t unknown_a3 = 0;
/* 011C */ le_uint32_t map_number = 0;
/* 0120 */ be_uint32_t unused4 = 0;
/* 0124 */ RulesTrial rules;
/* 0130 */
MapAndRulesStateTrial() = default;
MapAndRulesStateTrial(const MapAndRulesState& state);
operator MapAndRulesState() const;
} __attribute__((packed));
struct OverlayState {
parray<parray<uint8_t, 0x10>, 0x10> tiles;
parray<le_uint32_t, 5> unused1;