1#ifndef YAZE_APP_ZELDA3_OVERWORLD_ITEM_H_
2#define YAZE_APP_ZELDA3_OVERWORLD_ITEM_H_
37 int map_x = room_map_id - ((room_map_id / 8) * 8);
38 int map_y = room_map_id / 8;
40 game_x_ =
static_cast<uint8_t
>(std::abs(x - (map_x * 512)) / 16);
41 game_y_ =
static_cast<uint8_t
>(std::abs(y - (map_y * 512)) / 16);
54 game_x_ =
static_cast<uint8_t
>(std::abs(
x_ - (map_x * 512)) / 16);
55 game_y_ =
static_cast<uint8_t
>(std::abs(
y_ - (map_y * 512)) / 16);
68 const std::vector<OverworldItem>& items2) {
69 if (items1.size() != items2.size()) {
74 return a.
x_ == b.x_ && a.
y_ == b.y_ && a.
id_ == b.id_;
77 return std::all_of(items1.begin(), items1.end(),
79 return std::any_of(items2.begin(), items2.end(),
80 [&](const OverworldItem& other) {
81 return is_same_item(it, other);
Base class for all overworld and dungeon entities.
enum yaze::zelda3::GameEntity::EntityType entity_type_
void UpdateMapProperties(uint16_t room_map_id) override
OverworldItem(uint8_t id, uint16_t room_map_id, int x, int y, bool bg2)
constexpr int kOverworldItemsBank
bool CompareOverworldItems(const std::vector< OverworldItem > &items1, const std::vector< OverworldItem > &items2)
constexpr int kNumOverworldMapItemPointers
constexpr int kOverworldItemsAddress
constexpr int kOverworldItemsEndData
const std::vector< std::string > kSecretItemNames
constexpr int kOverworldItemsStartDataNew
constexpr int kOverworldItemsPointers
constexpr int kOverworldBombDoorItemLocationsNew
constexpr int kOverworldItemsPointersNew
Main namespace for the application.