mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-02 22:14:33 +00:00
[headers] Create gfxalloc.h
, map.h
, move protos to gfx.h
, z64{player,view}.h
(#2233)
* [headers] Create gfxalloc.h, map.h, move protos to z64{actor,player,view}.h * oops * bss * comment on player_lib protos & format * format map.h * Move SCREEN_{WIDTH,HEIGHT} and SET_FULLSCREEN_VIEWPORT to z64view.h * bss * revert move screen_width/height * bss
This commit is contained in:
parent
d80e538370
commit
fbf797f1e2
16 changed files with 212 additions and 185 deletions
|
@ -59,12 +59,14 @@
|
|||
#include "padmgr.h"
|
||||
#include "sched.h"
|
||||
#include "rumble.h"
|
||||
#include "map.h"
|
||||
#include "mempak.h"
|
||||
#include "tha.h"
|
||||
#include "thga.h"
|
||||
#include "speedmeter.h"
|
||||
#include "gfx.h"
|
||||
#include "gfx_setupdl.h"
|
||||
#include "gfxalloc.h"
|
||||
#include "jpeg.h"
|
||||
#include "prerender.h"
|
||||
#include "rand.h"
|
||||
|
@ -323,68 +325,6 @@ typedef struct PreNMIState {
|
|||
/* 0xA8 */ UNK_TYPE4 unk_A8;
|
||||
} PreNMIState; // size = 0xAC
|
||||
|
||||
typedef enum FloorID {
|
||||
/* 1 */ F_8F = 1,
|
||||
/* 2 */ F_7F,
|
||||
/* 3 */ F_6F,
|
||||
/* 4 */ F_5F,
|
||||
/* 5 */ F_4F,
|
||||
/* 6 */ F_3F,
|
||||
/* 7 */ F_2F,
|
||||
/* 8 */ F_1F,
|
||||
/* 9 */ F_B1,
|
||||
/* 10 */ F_B2,
|
||||
/* 11 */ F_B3,
|
||||
/* 12 */ F_B4,
|
||||
/* 13 */ F_B5,
|
||||
/* 14 */ F_B6,
|
||||
/* 15 */ F_B7,
|
||||
/* 16 */ F_B8
|
||||
} FloorID;
|
||||
|
||||
// All arrays pointed in this struct are indexed by "map indices"
|
||||
// In dungeons, the map index corresponds to the dungeon index (which also indexes keys, items, etc)
|
||||
// In overworld areas, the map index corresponds to the overworld area index (spot 00, 01, etc)
|
||||
typedef struct MapData {
|
||||
/* 0x00 */ s16 (*floorTexIndexOffset)[8]; // dungeon texture index offset by floor
|
||||
/* 0x04 */ s16* bossFloor; // floor the boss is on
|
||||
/* 0x08 */ s16 (*roomPalette)[32]; // map palette by room
|
||||
/* 0x0C */ s16* maxPaletteCount; // max number of palettes in a same floor
|
||||
/* 0x10 */ s16 (*paletteRoom)[8][14]; // room by palette by floor
|
||||
/* 0x14 */ s16 (*roomCompassOffsetX)[44]; // dungeon compass icon X offset by room
|
||||
/* 0x18 */ s16 (*roomCompassOffsetY)[44]; // dungeon compass icon Y offset by room
|
||||
/* 0x1C */ u8* dgnMinimapCount; // number of room minimaps
|
||||
/* 0x20 */ u16* dgnMinimapTexIndexOffset; // dungeon minimap texture index offset
|
||||
/* 0x24 */ u16* owMinimapTexSize;
|
||||
/* 0x28 */ u16* owMinimapTexOffset;
|
||||
/* 0x2C */ s16* owMinimapPosX;
|
||||
/* 0x30 */ s16* owMinimapPosY;
|
||||
/* 0x34 */ s16 (*owCompassInfo)[4]; // [X scale, Y scale, X offset, Y offset]
|
||||
/* 0x38 */ s16* dgnTexIndexBase; // dungeon texture index base
|
||||
/* 0x3C */ s16 (*dgnCompassInfo)[4]; // [X scale, Y scale, X offset, Y offset]
|
||||
/* 0x40 */ s16* owMinimapWidth;
|
||||
/* 0x44 */ s16* owMinimapHeight;
|
||||
/* 0x48 */ s16* owEntranceIconPosX; // "dungeon entrance" icon X pos
|
||||
/* 0x4C */ s16* owEntranceIconPosY; // "dungeon entrance" icon Y pos
|
||||
/* 0x50 */ u16* owEntranceFlag; // flag in inf_table[26] based on which entrance icons are shown (0xFFFF = always shown)
|
||||
/* 0x54 */ f32 (*floorCoordY)[8]; // Y coordinate of each floor
|
||||
/* 0x58 */ u16* switchEntryCount; // number of "room switch" entries, which correspond to the next 3 arrays
|
||||
/* 0x5C */ u8 (*switchFromRoom)[51]; // room to come from
|
||||
/* 0x60 */ u8 (*switchFromFloor)[51]; // floor to come from
|
||||
/* 0x64 */ u8 (*switchToRoom)[51]; // room to go to
|
||||
/* 0x68 */ u8 (*floorID)[8];
|
||||
/* 0x6C */ s16* skullFloorIconY; // dungeon big skull icon Y pos
|
||||
} MapData; // size = 0x70
|
||||
|
||||
// TODO get these properties from the textures themselves
|
||||
#define MAP_I_TEX_WIDTH 96
|
||||
#define MAP_I_TEX_HEIGHT 85
|
||||
#define MAP_I_TEX_SIZE ((MAP_I_TEX_WIDTH * MAP_I_TEX_HEIGHT) / 2) // 96x85 I4 texture
|
||||
|
||||
#define MAP_48x85_TEX_WIDTH 48
|
||||
#define MAP_48x85_TEX_HEIGHT 85
|
||||
#define MAP_48x85_TEX_SIZE ((MAP_48x85_TEX_WIDTH * MAP_48x85_TEX_HEIGHT) / 2) // 48x85 CI4 texture
|
||||
|
||||
typedef struct DebugDispObject {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3s rot;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue