mirror of https://github.com/libAthena/athena.git
219 lines
4.4 KiB
C++
219 lines
4.4 KiB
C++
// This file is part of libAthena.
|
|
//
|
|
// libAthena is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// libAthena is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with libAthena. If not, see <http://www.gnu.org/licenses/>
|
|
|
|
#ifndef __ALTTP_STRUCTS_HPP__
|
|
#define __ALTTP_STRUCTS_HPP__
|
|
|
|
#ifndef __DOXYGEN_IGNORE__
|
|
|
|
#include <string>
|
|
#include "Athena/Types.hpp"
|
|
|
|
namespace Athena
|
|
{
|
|
|
|
struct ALTTPRoomFlags
|
|
{
|
|
bool Chest1:1;
|
|
bool Chest2:1;
|
|
bool Chest3:1;
|
|
bool Chest4:1;
|
|
bool Quadrant1:1;
|
|
bool Quadrant2:1;
|
|
bool Quadrant3:1;
|
|
bool Quadrant4:1;
|
|
bool Door1:1;
|
|
bool Door2:1;
|
|
bool Door3:1;
|
|
bool Door4:1;
|
|
bool BossBattleWon:1;
|
|
bool Key:1;
|
|
bool KeyOrChest:1;
|
|
bool ChestOrTile:1;
|
|
};
|
|
|
|
struct ALTTPOverworldEvent
|
|
{
|
|
bool Unused1:1;
|
|
bool HeartPiece:1;
|
|
bool Overlay:1;
|
|
bool Unused2:1;
|
|
bool Unused3:1;
|
|
bool Unused4:1;
|
|
bool Set:1;
|
|
bool Unused5:1;
|
|
};
|
|
|
|
struct ALTTPInventory
|
|
{
|
|
char Bow;
|
|
char Boomerang;
|
|
bool Hookshot;
|
|
char Bombs; // Bomb count
|
|
char Magic;
|
|
bool FireRod;
|
|
bool IceRod;
|
|
bool Bombos;
|
|
bool Ether;
|
|
bool Quake;
|
|
bool Torch;
|
|
bool Hammer;
|
|
char Flute;
|
|
bool BugNet;
|
|
bool Book;
|
|
bool Bottles;
|
|
bool Somaria;
|
|
bool Byrna;
|
|
bool MagicCape;
|
|
char MagicMirror;
|
|
char Gloves;
|
|
char Boots;
|
|
bool Flippers;
|
|
bool MoonPearl;
|
|
char Unused; //?
|
|
char Sword;
|
|
char Shield;
|
|
char Armor;
|
|
char BottleTypes[4];
|
|
};
|
|
|
|
/*! \struct ALTTPLightDarkWorldIndicator
|
|
*/
|
|
struct ALTTPLightDarkWorldIndicator
|
|
{
|
|
bool Unused1:1;
|
|
bool Unused2:1;
|
|
bool Unused3:1;
|
|
bool Unused4:1;
|
|
bool Unused5:1;
|
|
bool Unused6:1;
|
|
bool IsDarkWorld:1;
|
|
bool Unused7:1;
|
|
};
|
|
|
|
|
|
struct ALTTPDungeonItemFlags
|
|
{
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
bool Unused1:1;
|
|
bool Unused2:1;
|
|
bool GanonsTower:1;
|
|
bool TurtleRock:1;
|
|
bool GargoylesDomain:1;
|
|
bool TowerOfHera:1;
|
|
bool IcePalace:1;
|
|
bool SkullWoods:1;
|
|
};
|
|
atUint8 flags1;
|
|
};
|
|
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
bool MiseryMire:1;
|
|
bool DarkPalace:1;
|
|
bool SwampPalace:1;
|
|
bool HyruleCastle2:1; // unused in orignal game
|
|
bool DesertPalace:1;
|
|
bool EasternPalace:1;
|
|
bool HyruleCastle:1; // unused exist in original game
|
|
bool SewerPassage:1; // unused exist in original game
|
|
};
|
|
atUint8 flags2;
|
|
};
|
|
};
|
|
|
|
struct ALTTPPendants
|
|
{
|
|
bool Courage:1;
|
|
bool Wisdom:1;
|
|
bool Power:1;
|
|
bool Unused1:1;
|
|
bool Unused2:1;
|
|
bool Unused3:1;
|
|
bool Unused4:1;
|
|
bool Unused5:1;
|
|
};
|
|
|
|
struct ALTTPAbilities
|
|
{
|
|
bool Nothing:1; //?
|
|
bool Swim:1;
|
|
bool Dash:1;
|
|
bool Pull:1;
|
|
bool Unknown1:1; //---
|
|
bool Talk:1;
|
|
bool Read:1;
|
|
bool Unknown2:1; //---
|
|
};
|
|
|
|
struct ALTTPCrystals
|
|
{
|
|
bool MiseryMire:1;
|
|
bool DarkPalace:1;
|
|
bool IcePalace:1;
|
|
bool TurtleRock:1;
|
|
bool SwampPalace:1;
|
|
bool GargoyleDomain:1;
|
|
bool SkullWoods:1;
|
|
};
|
|
|
|
struct ALTTPMagicUsage
|
|
{
|
|
bool Normal:1;
|
|
bool Half:1;
|
|
bool Quarter:1;
|
|
bool Unused1:1;
|
|
bool Unused2:1;
|
|
bool Unused3:1;
|
|
bool Unused4:1;
|
|
bool Unused5:1;
|
|
};
|
|
|
|
|
|
struct ALTTPProgressFlags1
|
|
{
|
|
bool UncleSecretPassage:1;
|
|
bool DyingPriest:1; //?
|
|
bool ZeldaSanctuary:1; //?
|
|
bool Unused1:1;
|
|
bool UncleLeftHouse:1;
|
|
bool BookOfMudora:1;//? Math says it's a guess need to investigate
|
|
bool DwarfPartner:1; //?
|
|
bool Unused2:1;
|
|
};
|
|
|
|
|
|
struct ALTTPProgressFlags2
|
|
{
|
|
bool BottleFromBum:1;
|
|
bool BottleFromSalesMen:1;
|
|
bool Unused1:1; //?
|
|
bool FluteBoy:1;
|
|
bool ThiefsChest:1;
|
|
bool SavedSmithPartner:1;
|
|
bool Unused2:1; //?
|
|
bool SmithsHaveSword:1;
|
|
};
|
|
|
|
}
|
|
|
|
#endif // __DOXYGEN_IGNORE__
|
|
#endif // __ALTTP_STRUCTS_HPP__
|