add zelda3::music namespace, update documentation

This commit is contained in:
scawful
2024-04-14 13:46:23 -05:00
parent 512f349e62
commit e72b08eae4
9 changed files with 93 additions and 17 deletions

View File

@@ -28,7 +28,7 @@ namespace zelda3 {
namespace {
void AddSPCReloc(SongSPCBlock *sbl, short addr) {
void AddSPCReloc(music::SongSPCBlock *sbl, short addr) {
sbl->relocs[sbl->relnum++] = addr;
if (sbl->relnum == sbl->relsz) {
sbl->relsz += 16;
@@ -38,8 +38,7 @@ void AddSPCReloc(SongSPCBlock *sbl, short addr) {
} // namespace
// =============================================================================
namespace music {
SongSPCBlock *Tracker::AllocSPCBlock(int len, int bank) {
SongSPCBlock *sbl;
if (!len) {
@@ -1337,8 +1336,7 @@ void Tracker::NewSR(ROM &rom, int bank) {
EditTrack(rom, sr->first);
}
// =============================================================================
} // namespace music
} // namespace zelda3
} // namespace app
} // namespace yaze

View File

@@ -17,6 +17,14 @@
namespace yaze {
namespace app {
namespace zelda3 {
/**
* @namespace yaze::app::zelda3::music
* @brief Contains classes and functions for handling music data in Zelda 3.
*
* Based off of the HyruleMagic tracker code.
*/
namespace music {
// bank 19, 1A, 1B
// iirc 1A is OW, 1B is dungeon
@@ -84,7 +92,7 @@ using Song = struct {
short numparts;
short lopst;
unsigned short addr;
bool in_use; // true
bool in_use; // true
};
// =============================================================================
@@ -252,6 +260,7 @@ class Tracker {
// =============================================================================
} // namespace music
} // namespace zelda3
} // namespace app
} // namespace yaze

View File

@@ -468,6 +468,12 @@ struct MapData {
std::vector<uint8_t> lowData;
};
/**
* @brief Represents the full Overworld data, light and dark world.
*
* This class is responsible for loading and saving the overworld data,
* as well as creating the tilesets and tilemaps for the overworld.
*/
class Overworld : public SharedROM, public core::ExperimentFlags {
public:
OWBlockset &GetMapTiles(int world_type);