yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
zelda.h
Go to the documentation of this file.
1#ifndef ZELDA_H
2#define ZELDA_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include <stdint.h>
9
14 US = 1, // US version
15 JP = 2, // JP version
16 SD = 3, // Super Donkey Proto (Experimental)
17 RANDO = 4, // Randomizer (Unimplemented)
18};
19
43
44const static zelda3_version_pointers zelda3_us_pointers = {
45 0x10275, // kGfxAnimatedPointer
46 0x5D97, // kOverworldGfxGroups1
47 0x6073, // kOverworldGfxGroups2
48 0x1794D, // kCompressedAllMap32PointersHigh
49 0x17B2D, // kCompressedAllMap32PointersLow
50 0x75504, // kOverworldMapPaletteGroup
51 0x77664, // kOverlayPointers
52 0x0E, // kOverlayPointersBank
53 0x71459, // kOverworldTilesType
54 0x4F80, // kOverworldGfxPtr1
55 0x505F, // kOverworldGfxPtr2
56 0x513E, // kOverworldGfxPtr3
57 0x18000, // kMap32TileTL
58 0x1B400, // kMap32TileTR
59 0x20000, // kMap32TileBL
60 0x23400, // kMap32TileBR
61 0x5B57, // kSpriteBlocksetPointer
62 0x75460, // kDungeonPalettesGroups
63};
64
65const static zelda3_version_pointers zelda3_jp_pointers = {
66 0x10624, // kGfxAnimatedPointer
67 0x5DD7, // kOverworldGfxGroups1
68 0x60B3, // kOverworldGfxGroups2
69 0x176B1, // kCompressedAllMap32PointersHigh
70 0x17891, // kCompressedAllMap32PointersLow
71 0x67E74, // kOverworldMapPaletteGroup
72 0x3FAF4, // kOverlayPointers
73 0x07, // kOverlayPointersBank
74 0x7FD94, // kOverworldTilesType
75 0x4FC0, // kOverworldGfxPtr1
76 0x509F, // kOverworldGfxPtr2
77 0x517E, // kOverworldGfxPtr3
78 0x18000, // kMap32TileTL
79 0x1B3C0, // kMap32TileTR
80 0x20000, // kMap32TileBL
81 0x233C0, // kMap32TileBR
82 0x5B97, // kSpriteBlocksetPointer
83 0x67DD0, // kDungeonPalettesGroups
84};
85
86typedef struct zelda3_rom {
87 const char* filename;
88 const uint8_t* data;
89 size_t size;
90 void* impl; // yaze::Rom*
92
93zelda3_rom* yaze_load_rom(const char* filename);
95void yaze_save_rom(zelda3_rom* rom, const char* filename);
96
97#ifdef __cplusplus
98}
99#endif
100
101#endif // ZELDA_H
const char * filename
Definition zelda.h:87
size_t size
Definition zelda.h:89
void * impl
Definition zelda.h:90
const uint8_t * data
Definition zelda.h:88
Pointers for each version of the game.
Definition zelda.h:23
uint32_t kOverworldMapPaletteGroup
Definition zelda.h:29
uint32_t kOverlayPointers
Definition zelda.h:30
uint32_t kOverworldTilesType
Definition zelda.h:32
uint32_t kMap32TileTR
Definition zelda.h:37
uint32_t kCompressedAllMap32PointersHigh
Definition zelda.h:27
uint32_t kGfxAnimatedPointer
Definition zelda.h:24
uint32_t kOverworldGfxGroups1
Definition zelda.h:25
uint32_t kMap32TileTL
Definition zelda.h:36
uint32_t kOverworldGfxPtr1
Definition zelda.h:33
uint32_t kOverworldGfxPtr2
Definition zelda.h:34
uint32_t kMap32TileBL
Definition zelda.h:38
uint32_t kSpriteBlocksetPointer
Definition zelda.h:40
uint32_t kOverworldGfxGroups2
Definition zelda.h:26
uint32_t kOverworldGfxPtr3
Definition zelda.h:35
uint32_t kMap32TileBR
Definition zelda.h:39
uint32_t kCompressedAllMap32PointersLow
Definition zelda.h:28
uint32_t kOverlayPointersBank
Definition zelda.h:31
uint32_t kDungeonPalettesGroups
Definition zelda.h:41
void yaze_unload_rom(zelda3_rom *rom)
Definition yaze.cc:69
zelda3_version
Different versions of the game supported by yaze.
Definition zelda.h:13
@ US
Definition zelda.h:14
@ SD
Definition zelda.h:16
@ RANDO
Definition zelda.h:17
@ JP
Definition zelda.h:15
zelda3_rom * yaze_load_rom(const char *filename)
Definition yaze.cc:53
void yaze_save_rom(zelda3_rom *rom, const char *filename)
Definition yaze.cc:79