mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Some OOT transfers, some renaming, etc (#75)
* Progress on various files * gfxprint stuff * split some rodata, add iconv for rodata string parsing * z_std_dma rodata * 2 nonmatchings in gfxprint * mtxuty-cvt ok * more * match a function in idle.c * progress * Cleanup * Rename BgPolygon to CollisionPoly * progress * some effect stuff * more effect progress * updates * made suggested changes * z_effect_soft_sprite_old_init mostly ok Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com> Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>
This commit is contained in:
co-authored by
Lucas Shaw
Rozelette
parent
fee7a49abc
commit
623b6d5318
@@ -102,6 +102,7 @@ UNCOMPRESSED_ROM_FILES := $(shell cat ./tables/makerom_uncompressed_files.txt)
|
||||
$(shell mkdir -p build/asm build/asm/boot build/asm/code build/asm/overlays build/baserom build/comp build/decomp $(foreach dir,$(SRC_DIRS),$(shell mkdir -p build/$(dir))))
|
||||
|
||||
build/src/libultra/os/%: OPTFLAGS := -O1
|
||||
build/src/libultra/voice/%: OPTFLAGS := -O2
|
||||
build/src/libultra/io/%: OPTFLAGS := -O2
|
||||
build/src/libultra/libc/%: OPTFLAGS := -O2
|
||||
build/src/libultra/libc/ll%: OPTFLAGS := -O1
|
||||
@@ -115,6 +116,8 @@ build/src/boot_O2_g3_trapuv/%: OPTFLAGS := -O2 -g3
|
||||
build/src/boot_O2_g3_trapuv/%: CFLAGS := $(CFLAGS) -trapuv
|
||||
|
||||
build/src/libultra/%: CC := $(CC_OLD)
|
||||
build/src/libultra/io/%: CC := ./tools/preprocess.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
build/src/libultra/voice/%: CC := ./tools/preprocess.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
CC := ./tools/preprocess.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
#ifndef _ULTRA64_HARDWARE_H_
|
||||
#define _ULTRA64_HARDWARE_H_
|
||||
|
||||
#define AI_DRAM_ADDR_REG 0x04500000
|
||||
#define AI_LEN_REG 0x04500004
|
||||
#define AI_CONTROL_REG 0x04500008
|
||||
#define AI_STATUS_REG 0x0450000C
|
||||
#define AI_STATUS_AI_FULL (1 << 31)
|
||||
#define AI_STATUS_AI_BUSY (1 << 30)
|
||||
#define AI_DACRATE_REG 0x04500010
|
||||
#define AI_BITRATE_REG 0x04500014
|
||||
|
||||
#define VI_STATUS_REG 0x04400000
|
||||
#define VI_CONTROL_REG 0x04400000
|
||||
#define VI_ORIGIN_REG 0x04400004
|
||||
#define VI_DRAM_ADDR_REG 0x04400004
|
||||
#define VI_WIDTH_REG 0x04400008
|
||||
#define VI_H_WIDTH_REG 0x04400008
|
||||
#define VI_INTR_REG 0x0440000C
|
||||
#define VI_V_INTER_REG 0x0440000C
|
||||
#define VI_CURRENT_REG 0x04400010
|
||||
#define VI_V_CURRENT_LINE_REG 0x04400010
|
||||
#define VI_BURST_REG 0x04400014
|
||||
#define VI_TIMING_REG 0x04400014
|
||||
#define VI_V_SYNC_REG 0x04400018 //VI vertical sync
|
||||
#define VI_H_SYNC_REG 0x0440001C //VI horizontal sync
|
||||
#define VI_LEAP_REG 0x04400020 //VI horizontal sync leap
|
||||
#define VI_H_SYNC_LEAP_REG 0x04400020
|
||||
#define VI_H_START_REG 0x04400024 //VI horizontal video
|
||||
#define VI_H_VIDEO_REG 0x04400024
|
||||
#define VI_V_START_REG 0x04400028 //VI vertical video
|
||||
#define VI_V_VIDEO_REG 0x04400028
|
||||
#define VI_V_BURST_REG 0x0440002C //VI vertical burst
|
||||
#define VI_X_SCALE_REG 0x04400030 //VI x-scale
|
||||
#define VI_Y_SCALE_REG 0x04400034 //VI y-scale
|
||||
|
||||
#define SP_IMEM_START 0x04001000
|
||||
#define SP_DMEM_START 0x04000000
|
||||
|
||||
#define SP_MEM_ADDR_REG 0x04040000
|
||||
#define SP_DRAM_ADDR_REG 0x04040004
|
||||
#define SP_RD_LEN_REG 0x04040008
|
||||
#define SP_WR_LEN_REG 0x0404000C
|
||||
#define SP_STATUS_REG 0x04040010
|
||||
#define SP_PC_REG 0x04080000
|
||||
|
||||
#define PI_DRAM_ADDR_REG 0x04600000 //PI DRAM address
|
||||
#define PI_CART_ADDR_REG 0x04600004 //PI pbus (cartridge) address
|
||||
#define PI_RD_LEN_REG 0x04600008 //PI read length
|
||||
#define PI_WR_LEN_REG 0x0460000C //PI write length
|
||||
#define PI_STATUS_REG 0x04600010 //PI status
|
||||
#define PI_BSD_DOM1_LAT_REG 0x04600014 //PI dom1 latency
|
||||
#define PI_DOMAIN1_REG 0x04600014
|
||||
#define PI_BSD_DOM1_PWD_REG 0x04600018 //PI dom1 pulse width
|
||||
#define PI_BSD_DOM1_PGS_REG 0x0460001C //PI dom1 page size
|
||||
#define PI_BSD_DOM1_RLS_REG 0x04600020 //PI dom1 release
|
||||
#define PI_BSD_DOM2_LAT_REG 0x04600024 //PI dom2 latency
|
||||
#define PI_DOMAIN2_REG 0x04600024
|
||||
#define PI_BSD_DOM2_PWD_REG 0x04600028 //PI dom2 pulse width
|
||||
#define PI_BSD_DOM2_PGS_REG 0x0460002C //PI dom2 page size
|
||||
#define PI_BSD_DOM2_RLS_REG 0x04600030 //PI dom2 release
|
||||
|
||||
#define PI_STATUS_BUSY 0x1
|
||||
#define PI_STATUS_IOBUSY 0x2
|
||||
#define PI_STATUS_ERROR 0x3
|
||||
|
||||
#define PI_STATUS_RESET_CONTROLLER 0x1
|
||||
#define PI_STATUS_CLEAR_INTR 0x2
|
||||
|
||||
#define SI_DRAM_ADDR_REG 0x04800000
|
||||
#define SI_PIF_ADDR_RD64B_REG 0x04800004
|
||||
#define SI_PIF_ADDR_WR64B_REG 0x04800010
|
||||
#define SI_STATUS_REG 0x04800018
|
||||
|
||||
#define SI_STATUS_DMA_BUSY 0x1
|
||||
#define SI_STATUS_IO_READ_BUSY 0x2
|
||||
#define SI_STATUS_DMA_ERROR 0x8
|
||||
#define SI_STATUS_INTERRUPT (1 << 12)
|
||||
|
||||
#define PIF_RAM_START 0x1FC007C0
|
||||
|
||||
#define MI_INIT_MODE_REG 0x04300000
|
||||
#define MI_MODE_REG MI_INIT_MODE_REG
|
||||
#define MI_VERSION_REG 0x04300004
|
||||
#define MI_INTR_REG 0x04300008
|
||||
#define MI_INTR_MASK_REG 0x0430000C
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,137 @@
|
||||
#ifndef _ULTRA64_PFS_H_
|
||||
#define _ULTRA64_PFS_H_
|
||||
|
||||
#include "global.h"
|
||||
|
||||
/* File System size */
|
||||
#define OS_PFS_VERSION 0x0200
|
||||
#define OS_PFS_VERSION_HI (OS_PFS_VERSION >> 8)
|
||||
#define OS_PFS_VERSION_LO (OS_PFS_VERSION & 255)
|
||||
|
||||
#define PFS_INODE_SIZE_PER_PAGE 128
|
||||
#define PFS_FILE_NAME_LEN 16
|
||||
#define PFS_FILE_EXT_LEN 4
|
||||
#define BLOCKSIZE 32
|
||||
#define PFS_ONE_PAGE 8
|
||||
#define PFS_MAX_BANKS 62
|
||||
|
||||
/* File System flag */
|
||||
|
||||
#define PFS_READ 0
|
||||
#define PFS_WRITE 1
|
||||
#define PFS_CREATE 2
|
||||
|
||||
/* File System status */
|
||||
#define PFS_INITIALIZED 0x1
|
||||
#define PFS_CORRUPTED 0x2
|
||||
#define PFS_ID_BROKEN 0x4
|
||||
#define PFS_MOTOR_INITIALIZED 0x8
|
||||
#define PFS_GBPAK_INITIALIZED 0x10
|
||||
|
||||
/* Definition for page usage */
|
||||
#define PFS_EOF 1
|
||||
#define PFS_PAGE_NOT_EXIST 2
|
||||
#define PFS_PAGE_NOT_USED 3
|
||||
|
||||
/* File System error number */
|
||||
|
||||
#define PFS_ERR_NOPACK 1 /* no memory card is plugged or */
|
||||
#define PFS_ERR_NEW_PACK 2 /* ram pack has been changed to a different one */
|
||||
#define PFS_ERR_INCONSISTENT 3 /* need to run Pfschecker*/
|
||||
#define PFS_ERR_CONTRFAIL CONT_OVERRUN_ERROR
|
||||
#define PFS_ERR_INVALID 5 /* invalid parameter or file not exist*/
|
||||
#define PFS_ERR_BAD_DATA 6 /* the data read from pack are bad*/
|
||||
#define PFS_DATA_FULL 7 /* no free pages on ram pack*/
|
||||
#define PFS_DIR_FULL 8 /* no free directories on ram pack*/
|
||||
#define PFS_ERR_EXIST 9 /* file exists*/
|
||||
#define PFS_ERR_ID_FATAL 10 /* dead ram pack */
|
||||
#define PFS_ERR_DEVICE 11 /* wrong device type*/
|
||||
#define PFS_ERR_NO_GBCART 12 /* no gb cartridge (64GB-PAK) */
|
||||
#define PFS_ERR_NEW_GBCART 13 /* gb cartridge may be changed */
|
||||
|
||||
/* Definition for bank */
|
||||
#define PFS_ID_BANK_256K 0
|
||||
#define PFS_ID_BANK_1M 4
|
||||
#define PFS_BANKS_256K 1
|
||||
|
||||
#define PFS_WRITTEN 2
|
||||
#define DEF_DIR_PAGES 2
|
||||
|
||||
#define PFS_ID_0AREA 1
|
||||
#define PFS_ID_1AREA 3
|
||||
#define PFS_ID_2AREA 4
|
||||
#define PFS_ID_3AREA 6
|
||||
#define PFS_LABEL_AREA 7
|
||||
#define PFS_ID_PAGE PFS_ONE_PAGE * 0
|
||||
|
||||
#define PFS_BANK_LAPPED_BY 8 /* => u8 */
|
||||
#define PFS_SECTOR_PER_BANK 32
|
||||
#define PFS_INODE_DIST_MAP (PFS_BANK_LAPPED_BY * PFS_SECTOR_PER_BANK)
|
||||
#define PFS_SECTOR_SIZE (PFS_INODE_SIZE_PER_PAGE/PFS_SECTOR_PER_BANK)
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 status;
|
||||
/* 0x04 */ OSMesgQueue* queue;
|
||||
/* 0x08 */ s32 channel;
|
||||
/* 0x0C */ u8 id[32];
|
||||
/* 0x2C */ u8 label[32];
|
||||
/* 0x4C */ s32 version;
|
||||
/* 0x50 */ s32 dir_size;
|
||||
/* 0x54 */ s32 inode_table; /* block location */
|
||||
/* 0x58 */ s32 minode_table; /* mirrioring inode_table */
|
||||
/* 0x5C */ s32 dir_table; /* block location */
|
||||
/* 0x60 */ s32 inodeStartPage; /* page # */
|
||||
/* 0x64 */ u8 banks;
|
||||
/* 0x65 */ u8 activebank;
|
||||
} OSPfs; // size = 0x68
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 file_size; /* bytes */
|
||||
/* 0x04 */ u32 game_code;
|
||||
/* 0x08 */ u16 company_code;
|
||||
/* 0x0C */ char ext_name[4];
|
||||
/* 0x10 */ char game_name[16];
|
||||
} OSPfsState; // size = 0x20
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
/* 0x00 */ u8 bank;
|
||||
/* 0x01 */ u8 page;
|
||||
} inode_t;
|
||||
/* 0x00 */ u16 ipage;
|
||||
} __OSInodeUnit; // size = 0x02
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ __OSInodeUnit inodePage[128];
|
||||
} __OSInode; // size = 0x100
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 game_code;
|
||||
/* 0x04 */ u16 company_code;
|
||||
/* 0x06 */ __OSInodeUnit start_page;
|
||||
/* 0x08 */ u8 status;
|
||||
/* 0x09 */ s8 reserved;
|
||||
/* 0x0A */ u16 data_sum;
|
||||
/* 0x0C */ u8 ext_name[PFS_FILE_EXT_LEN];
|
||||
/* 0x10 */ u8 game_name[PFS_FILE_NAME_LEN];
|
||||
} __OSDir; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 repaired;
|
||||
/* 0x04 */ u32 random;
|
||||
/* 0x08 */ u64 serialMid;
|
||||
/* 0x10 */ u64 serialLow;
|
||||
/* 0x18 */ u16 deviceid;
|
||||
/* 0x1A */ u8 banks;
|
||||
/* 0x1B */ u8 version;
|
||||
/* 0x1C */ u16 checksum;
|
||||
/* 0x1E */ u16 invertedChecksum;
|
||||
} __OSPackId; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ __OSInode inode;
|
||||
/* 0x100 */ u8 bank;
|
||||
/* 0x101 */ u8 map[PFS_INODE_DIST_MAP];
|
||||
} __OSInodeCache; // size = 0x202
|
||||
|
||||
#endif
|
||||
+210
-210
File diff suppressed because it is too large
Load Diff
+102
-16
@@ -2,6 +2,100 @@
|
||||
#define _CONTROLLER_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/pfs.h"
|
||||
|
||||
#define SIAccessQueueSize 2
|
||||
#define BLOCKSIZE 32
|
||||
#define MAXCONTROLLERS 4
|
||||
#define PFS_ONE_PAGE 8
|
||||
|
||||
#define PFS_PAGE_SIZE (BLOCKSIZE*PFS_ONE_PAGE)
|
||||
|
||||
#define CONT_CMD_REQUEST_STATUS 0
|
||||
#define CONT_CMD_READ_BUTTON 1
|
||||
#define CONT_CMD_READ_MEMPACK 2
|
||||
#define CONT_CMD_WRITE_MEMPACK 3
|
||||
#define CONT_CMD_READ_EEPROM 4
|
||||
#define CONT_CMD_WRITE_EEPROM 5
|
||||
#define CONT_CMD_RESET 0xFF
|
||||
|
||||
#define CONT_CMD_REQUEST_STATUS_TX 1
|
||||
#define CONT_CMD_READ_BUTTON_TX 1
|
||||
#define CONT_CMD_READ_MEMPACK_TX 3
|
||||
#define CONT_CMD_WRITE_MEMPACK_TX 35
|
||||
#define CONT_CMD_READ_EEPROM_TX 2
|
||||
#define CONT_CMD_WRITE_EEPROM_TX 10
|
||||
#define CONT_CMD_RESET_TX 1
|
||||
|
||||
#define CONT_CMD_REQUEST_STATUS_RX 3
|
||||
#define CONT_CMD_READ_BUTTON_RX 4
|
||||
#define CONT_CMD_READ_MEMPACK_RX 33
|
||||
#define CONT_CMD_WRITE_MEMPACK_RX 1
|
||||
#define CONT_CMD_READ_EEPROM_RX 8
|
||||
#define CONT_CMD_WRITE_EEPROM_RX 1
|
||||
#define CONT_CMD_RESET_RX 3
|
||||
|
||||
#define CONT_CMD_NOP 0xFF
|
||||
#define CONT_CMD_END 0xFE // Indicates end of a command
|
||||
#define CONT_CMD_EXE 1 // Set pif ram status byte to this to do a command
|
||||
|
||||
#define CONT_ERR_NO_CONTROLLER PFS_ERR_NOPACK /* 1 */
|
||||
#define CONT_ERR_CONTRFAIL CONT_OVERRUN_ERROR /* 4 */
|
||||
#define CONT_ERR_INVALID PFS_ERR_INVALID /* 5 */
|
||||
#define CONT_ERR_DEVICE PFS_ERR_DEVICE /* 11 */
|
||||
#define CONT_ERR_NOT_READY 12
|
||||
#define CONT_ERR_VOICE_MEMORY 13
|
||||
#define CONT_ERR_VOICE_WORD 14
|
||||
#define CONT_ERR_VOICE_NO_RESPONSE 15
|
||||
|
||||
|
||||
#define DIR_STATUS_EMPTY 0
|
||||
#define DIR_STATUS_UNKNOWN 1
|
||||
#define DIR_STATUS_OCCUPIED 2
|
||||
|
||||
#define PFS_FORCE 1
|
||||
#define PFS_DELETE 1
|
||||
|
||||
#define PFS_LABEL_AREA 7
|
||||
|
||||
#define PFS_ERR_NOPACK 1
|
||||
|
||||
/* controller errors */
|
||||
#define CONT_NO_RESPONSE_ERROR 0x8
|
||||
#define CONT_OVERRUN_ERROR 0x4
|
||||
|
||||
/* Controller type */
|
||||
#define CONT_ABSOLUTE 0x0001
|
||||
#define CONT_RELATIVE 0x0002
|
||||
#define CONT_JOYPORT 0x0004
|
||||
#define CONT_EEPROM 0x8000
|
||||
#define CONT_EEP16K 0x4000
|
||||
#define CONT_TYPE_MASK 0x1F07
|
||||
#define CONT_TYPE_NORMAL 0x0005
|
||||
#define CONT_TYPE_MOUSE 0x0002
|
||||
#define CONT_TYPE_VOICE 0x0100
|
||||
|
||||
/* Controller status */
|
||||
#define CONT_CARD_ON 0x01
|
||||
#define CONT_CARD_PULL 0x02
|
||||
#define CONT_ADDR_CRC_ER 0x04
|
||||
#define CONT_EEPROM_BUSY 0x80
|
||||
|
||||
/* Buttons */
|
||||
#define BTN_CRIGHT 0x0001
|
||||
#define BTN_CLEFT 0x0002
|
||||
#define BTN_CDOWN 0x0004
|
||||
#define BTN_CUP 0x0008
|
||||
#define BTN_R 0x0010
|
||||
#define BTN_L 0x0020
|
||||
#define BTN_DRIGHT 0x0100
|
||||
#define BTN_DLEFT 0x0200
|
||||
#define BTN_DDOWN 0x0400
|
||||
#define BTN_DUP 0x0800
|
||||
#define BTN_START 0x1000
|
||||
#define BTN_Z 0x2000
|
||||
#define BTN_B 0x4000
|
||||
#define BTN_A 0x8000
|
||||
|
||||
/* Buttons */
|
||||
#define BTN_CRIGHT 0x0001
|
||||
@@ -47,6 +141,14 @@ typedef struct {
|
||||
/* 0x7 */ u8 dummy1;
|
||||
} __OSContRequesFormat;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 txsize;
|
||||
/* 0x01 */ u8 rxsize;
|
||||
/* 0x02 */ u8 poll;
|
||||
/* 0x03 */ u8 typeh;
|
||||
/* 0x04 */ u8 typel;
|
||||
/* 0x05 */ u8 status;
|
||||
} __OSContRequestHeaderAligned; // size = 0x6
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 dummy;
|
||||
@@ -59,20 +161,4 @@ typedef struct {
|
||||
} __OSContRamReadFormat;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 company_code;
|
||||
/* 0x02 */ u16 game_code;
|
||||
/* 0x04 */ u8 start_page;
|
||||
/* 0x05 */ u8 status;
|
||||
/* 0x06 */ u16 data_sum;
|
||||
/* 0x08 */ unsigned char ext_name[4];
|
||||
/* 0x0C */ unsigned char game_name[16];
|
||||
/* 0x1C */ s32 reserved;
|
||||
} __OSDir;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 inode_page[256];
|
||||
} __OSInode;
|
||||
|
||||
#endif
|
||||
|
||||
+4
-1
@@ -6,11 +6,14 @@
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
#define ARRAY_COUNTU(arr) (u32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
#define HW_REG(reg, type) *(volatile type*)((reg) | 0xa0000000)
|
||||
|
||||
// UB: u32 casts here should be uintptr_t casts.
|
||||
// TODO: After uintptr_t cast change should have an AVOID_UB target that just toggles the KSEG0 bit in the address rather than add/sub 0x80000000
|
||||
#define PHYSICAL_TO_VIRTUAL(addr) ((u32)(addr) + 0x80000000)
|
||||
#define PHYSICAL_TO_VIRTUAL2(addr) ((u32)(addr) - 0x80000000)
|
||||
#define SEGMENTED_TO_VIRTUAL(addr) (void*)(PHYSICAL_TO_VIRTUAL(gRspSegmentPhysAddrs[SEGMENT_NUMBER(addr)]) + SEGMENT_OFFSET(addr))
|
||||
#define VIRTUAL_TO_PHYSICAL(addr) (u32)((u8*)(addr) - 0x80000000)
|
||||
#define SEGMENTED_TO_VIRTUAL(addr) (void*)(PHYSICAL_TO_VIRTUAL(gSegments[SEGMENT_NUMBER(addr)]) + SEGMENT_OFFSET(addr))
|
||||
|
||||
#define ALIGN16(val) (((val) + 0xF) & ~0xF)
|
||||
|
||||
|
||||
+10
-27
@@ -7,6 +7,9 @@ typedef s32 OSPri;
|
||||
|
||||
typedef s32 OSId;
|
||||
|
||||
#define OS_READ 0
|
||||
#define OS_WRITE 1
|
||||
|
||||
typedef union {
|
||||
/* 0x0 */ struct {
|
||||
/* 0x0 */ f32 f_odd;
|
||||
@@ -240,33 +243,6 @@ typedef struct {
|
||||
/* 0x26 */ u8 errno;
|
||||
} OSContRamIo;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ int status;
|
||||
/* 0x4 */ OSMesgQueue* queue;
|
||||
/* 0x8 */ int channel;
|
||||
/* 0xC */ u8 id[32];
|
||||
/* 0x4C */ u8 label[32];
|
||||
/* 0x6C */ int version;
|
||||
/* 0x70 */ int dir_size;
|
||||
/* 0x74 */ int inode_table;
|
||||
/* 0x78 */ int minode_table;
|
||||
/* 0x7C */ int dir_table;
|
||||
/* 0x80 */ int inode_start_page;
|
||||
/* 0x84 */ u8 banks;
|
||||
/* 0x88 */ u8 activebank;
|
||||
} OSPfs;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 file_size;
|
||||
/* 0x4 */ u16 company_code;
|
||||
/* 0x6 */ u16 game_code;
|
||||
/* 0x8 */ unsigned char ext_name[4];
|
||||
/* 0xC */ unsigned char game_name[16];
|
||||
} OSPfsState;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u16* histo_base;
|
||||
/* 0x4 */ u32 histo_size;
|
||||
@@ -274,4 +250,11 @@ typedef struct {
|
||||
/* 0xC */ u32* text_end;
|
||||
} OSProf;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ OSMesgQueue* mq;
|
||||
/* 0x4 */ s32 port; /* Controller port */
|
||||
/* 0x8 */ s32 mode;
|
||||
/* 0xC */ u8 status;
|
||||
} OSVoiceHandle; // size = 0x10
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
#ifndef _OS_INTERNAL_H_
|
||||
#define _OS_INTERNAL_H_
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ OSMesgQueue* queue;
|
||||
/* 0x04 */ OSMesg msg;
|
||||
} __osHwInt; // size = 0x08
|
||||
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -9,8 +9,8 @@
|
||||
#define REG_PER_PAGE 16
|
||||
#define REG_PER_GROUP REG_PAGES * REG_PER_PAGE
|
||||
|
||||
/* We probably want a better name for gStaticContext based on OoT discussions */
|
||||
#define BASE_REG(n, r) gStaticContext->data[n * REG_PER_GROUP + r]
|
||||
/* We probably want a better name for gGameInfo based on OoT discussions */
|
||||
#define BASE_REG(n, r) gGameInfo->data[n * REG_PER_GROUP + r]
|
||||
|
||||
#define REG(r) BASE_REG(0, r)
|
||||
#define SREG(r) BASE_REG(1, r)
|
||||
|
||||
@@ -31,6 +31,12 @@ extern UNK_PTR D_04062020[];
|
||||
extern UNK_PTR D_04062060[];
|
||||
extern UNK_PTR D_04062000[];
|
||||
extern Gfx D_040622C0[];
|
||||
extern Gfx D_04075A40[];
|
||||
|
||||
/* z_actor.c */
|
||||
extern Gfx D_04076BC0[];
|
||||
extern Gfx D_04077480[];
|
||||
extern Gfx D_04075B30[];
|
||||
|
||||
extern Gfx D_0501D980[];
|
||||
extern Gfx D_050219E0[];
|
||||
|
||||
+44
-44
@@ -28,30 +28,30 @@ extern u32 gViConfigFeatures;
|
||||
extern f32 gViConfigXScale;
|
||||
extern f32 gViConfigYScale;
|
||||
extern OSPiHandle* gCartHandle;
|
||||
extern UNK_TYPE4 sDmaMgrDmaBuffSize;
|
||||
extern u32 sDmaMgrDmaBuffSize;
|
||||
extern vs32 gIrqMgrResetStatus;
|
||||
extern volatile OSTime sIrqMgrResetTime;
|
||||
extern volatile OSTime sIrqMgrRetraceTime;
|
||||
extern s32 sIrqMgrRetraceCount;
|
||||
extern char* D_80096B80[18];
|
||||
extern char* D_80096BC8[6];
|
||||
extern char* sExceptionNames[6];
|
||||
extern FaultDrawer* sFaultDrawContext;
|
||||
extern FaultDrawer sFaultDrawerDefault;
|
||||
// extern UNK_TYPE4 D_80096C20;
|
||||
extern UNK_TYPE4 D_80096C30;
|
||||
extern StackEntry* sStackInfoListStart;
|
||||
extern StackEntry* sStackInfoListEnd;
|
||||
// extern UNK_TYPE1 D_80096C50;
|
||||
// extern UNK_TYPE1 D_80096CD0;
|
||||
// extern UNK_TYPE1 D_80096CF0;
|
||||
// extern UNK_TYPE1 D_80096CF8;
|
||||
// extern UNK_TYPE1 sGfxPrintFontTLUT;
|
||||
// extern UNK_TYPE1 sGfxPrintUnkTLUT;
|
||||
// extern UNK_TYPE1 sGfxPrintUnkData;
|
||||
// extern UNK_TYPE1 sGfxPrintFontData;
|
||||
// extern UNK_TYPE4 D_80097500;
|
||||
// extern UNK_TYPE4 D_80097524;
|
||||
extern u32 randSeed;
|
||||
extern u32 sRandInt;
|
||||
extern OSViMode osViModeNtscHpf1;
|
||||
extern OSViMode osViModePalLan1;
|
||||
extern s16 sintable[1024];
|
||||
// extern UNK_TYPE1 D_80097DE0;
|
||||
extern __osHwInt __osHwIntTable[];
|
||||
// extern UNK_TYPE1 D_80097DE4;
|
||||
// extern UNK_TYPE4 D_80097E08;
|
||||
extern OSThread* __osThreadTail;
|
||||
@@ -67,7 +67,7 @@ extern UNK_TYPE4 __osShutdown;
|
||||
extern UNK_TYPE4 __OSGlobalIntMask;
|
||||
extern OSDevMgr __osPiDevMgr;
|
||||
extern OSPiHandle* __osPiTable;
|
||||
extern UNK_PTR D_80097E90;
|
||||
extern OSPiHandle* __osCurrentHandle[];
|
||||
extern UNK_TYPE4 __osPiAccessQueueEnabled;
|
||||
extern OSViMode osViModeNtscHpn1;
|
||||
// extern UNK_TYPE4 D_80097F00;
|
||||
@@ -88,11 +88,11 @@ extern __OSViContext D_80098060[2];
|
||||
extern __OSViContext* __osViCurr;
|
||||
extern __OSViContext* __osViNext;
|
||||
// extern UNK_TYPE4 D_800980D0;
|
||||
extern OSViMode D_800980E0;
|
||||
extern OSViMode osViModeFpalLan1;
|
||||
extern char ldigs[];
|
||||
extern char udigs[];
|
||||
extern OSDevMgr __osViDevMgr;
|
||||
extern UNK_TYPE4 D_8009817C;
|
||||
extern UNK_TYPE4 __additional_scanline;
|
||||
// extern UNK_TYPE1 D_80098180;
|
||||
extern char bootThreadName[];
|
||||
extern char idleThreadName[];
|
||||
@@ -100,11 +100,11 @@ extern char irqmgrThreadName[];
|
||||
extern char mainThreadName[];
|
||||
extern f32 D_800981B0;
|
||||
extern char D_800981C0[];
|
||||
extern char dmamgrString800981C4[];
|
||||
extern char dmamgrString800981D4[];
|
||||
extern char dmamgrString800981E4[];
|
||||
extern char dmamgrString800981F4[];
|
||||
extern char dmamgrThreadName[];
|
||||
extern const char dmamgrString800981C4[];
|
||||
extern const char dmamgrString800981D4[];
|
||||
extern const char dmamgrString800981E4[];
|
||||
extern const char dmamgrString800981F4[];
|
||||
extern const char dmamgrThreadName[];
|
||||
extern char D_80098210[];
|
||||
extern char yaz0String80098220[];
|
||||
extern char yaz0String8009823C[];
|
||||
@@ -233,7 +233,7 @@ extern char D_80098C2C[];
|
||||
extern char D_80098C34[];
|
||||
extern char D_80098C38[];
|
||||
extern char D_80098C40[];
|
||||
extern u8 faultDrawFont[8][128];
|
||||
extern u8 sFaultDrawerFont[8][128];
|
||||
extern char D_80099050[];
|
||||
extern char D_80099054[];
|
||||
extern char D_8009905C[];
|
||||
@@ -290,22 +290,22 @@ extern OSThread sIdleThread;
|
||||
extern u8 sIdleThreadStack[1024];
|
||||
extern StackEntry sIdleThreadInfo;
|
||||
extern u8 sBootThreadStack[1024];
|
||||
extern IrqMgr irqmgrContext;
|
||||
extern u8 irqmgrStack[1280];
|
||||
extern StackEntry irqmgrStackEntry;
|
||||
extern OSThread mainOSThread;
|
||||
extern u8 mainStack[2304];
|
||||
extern StackEntry mainStackEntry;
|
||||
extern OSMesg D_8009B160[50];
|
||||
extern OSMesgQueue D_8009B228;
|
||||
extern OSViMode D_8009B240;
|
||||
extern IrqMgr gIrqMgr;
|
||||
extern u8 sIrqMgrStack[1280];
|
||||
extern StackEntry sIrqMgrStackInfo;
|
||||
extern OSThread gMainThread;
|
||||
extern u8 sMainStack[2304];
|
||||
extern StackEntry sMainStackInfo;
|
||||
extern OSMesg sPiMgrCmdBuff[50];
|
||||
extern OSMesgQueue gPiMgrCmdQ;
|
||||
extern OSViMode gViConfigMode;
|
||||
extern u8 D_8009B290;
|
||||
extern StackEntry dmamgrStackEntry;
|
||||
extern StackEntry sDmaMgrStackInfo;
|
||||
extern u16 numDmaEntries;
|
||||
extern OSMesgQueue dmamgrMsq;
|
||||
extern OSMesg dmamgrMsqMessages[32];
|
||||
extern OSThread dmamgrOSThread;
|
||||
extern u8 dmamgrStack[1280];
|
||||
extern OSMesgQueue sDmaMgrMsgQueue;
|
||||
extern OSMesg sDmaMgrMsgs[32];
|
||||
extern OSThread sDmaMgrThread;
|
||||
extern u8 sDmaMgrStack[1280];
|
||||
// extern UNK_TYPE1 D_8009BA08;
|
||||
extern u8 sYaz0DataBuffer[0x400];
|
||||
extern u8* sYaz0CurDataEnd;
|
||||
@@ -316,18 +316,18 @@ extern u8* D_8009BE20;
|
||||
extern UNK_TYPE4 D_8009BE30;
|
||||
extern UNK_TYPE4 D_8009BE34;
|
||||
extern FaultClient romInfoFaultClient;
|
||||
extern FaultThreadStruct* faultCtxt;
|
||||
extern FaultThreadStruct* sFaultContext;
|
||||
extern f32 D_8009BE54;
|
||||
extern u32 faultCustomOptions;
|
||||
extern u32 faultCopyToLog;
|
||||
extern u8 faultStack[1536];
|
||||
extern StackEntry faultStackEntry;
|
||||
extern FaultThreadStruct faultContextStruct;
|
||||
extern u8 sFaultStack[1536];
|
||||
extern StackEntry sFaultThreadInfo;
|
||||
extern FaultThreadStruct gFaultStruct;
|
||||
extern FaultDrawer sFaultDrawerStruct;
|
||||
// extern UNK_TYPE4 D_8009CD10;
|
||||
extern Arena startHeap;
|
||||
extern f32 randLast;
|
||||
// extern UNK_TYPE4 heapLockMessageBuffer;
|
||||
extern u32 sRandFloat;
|
||||
// extern UNK_TYPE4 sArenaLockMsg;
|
||||
extern OSTask tmp_task;
|
||||
// extern UNK_TYPE1 D_8009CDB0;
|
||||
extern OSMesg siAccessBuf[1];
|
||||
@@ -364,7 +364,7 @@ extern OSMesgQueue viEventQueue;
|
||||
extern OSMesg viEventBuf[5];
|
||||
extern OSIoMesg viRetraceMsg;
|
||||
extern OSIoMesg viCounterMsg;
|
||||
extern u16 vimgrRetrace;
|
||||
extern u16 viRetrace;
|
||||
extern DmaEntry dmadata[1568];
|
||||
// extern UNK_TYPE1 D_80186028;
|
||||
// extern UNK_TYPE1 D_801AAAB0;
|
||||
@@ -2736,7 +2736,7 @@ extern char D_801DC998[];
|
||||
extern char D_801DC9D0[];
|
||||
extern char D_801DC9D8[];
|
||||
extern char D_801DC9F8[];
|
||||
// extern UNK_TYPE1 D_801DCA10;
|
||||
extern char D_801DCA10[];
|
||||
extern f32 D_801DCA14;
|
||||
extern f32 D_801DCA18;
|
||||
extern f32 D_801DCA1C;
|
||||
@@ -3260,7 +3260,7 @@ extern f32 D_801DDA9C;
|
||||
extern f32 D_801DDAA0;
|
||||
extern f32 D_801DDAB0;
|
||||
extern f32 D_801DDAB4;
|
||||
extern f32 D_801DDAB8;
|
||||
extern const f32 D_801DDAB8;
|
||||
extern f32 D_801DDAC0;
|
||||
extern f32 D_801DDAC4;
|
||||
extern f32 D_801DDAC8;
|
||||
@@ -3946,7 +3946,7 @@ extern SaveContext gSaveContext;
|
||||
// extern UNK_TYPE1 D_801F3F42;
|
||||
// extern UNK_TYPE1 D_801F3F4A;
|
||||
// extern UNK_TYPE1 D_801F3F5A;
|
||||
extern GameInfo* gStaticContext;
|
||||
extern GameInfo* gGameInfo;
|
||||
// extern UNK_TYPE1 D_801F3F70;
|
||||
// extern UNK_TYPE1 D_801F3F80;
|
||||
// extern UNK_TYPE1 D_801F3F83;
|
||||
@@ -4113,7 +4113,7 @@ extern Gfx* graphDlEntry;
|
||||
extern u64 lastRenderFrameTimestamp;
|
||||
extern OSMesgQueue siEventCallbackQueue;
|
||||
extern OSMesg siEventCallbackBuffer[1];
|
||||
extern u32 gRspSegmentPhysAddrs[NUM_SEGMENTS];
|
||||
extern u32 gSegments[NUM_SEGMENTS];
|
||||
extern SchedThreadStruct schedContext;
|
||||
extern OSMesgQueueListNode mainIrqmgrCallbackNode;
|
||||
extern OSMesgQueue mainIrqmgrCallbackQueue;
|
||||
@@ -4249,8 +4249,8 @@ extern Vec3f D_801FBDA4;
|
||||
// extern UNK_TYPE1 D_801FBDDC;
|
||||
// extern UNK_TYPE1 D_801FBDE0;
|
||||
extern Vec3f D_801FBDE8;
|
||||
extern z_Matrix* matrixState;
|
||||
extern z_Matrix* matrixCurrentState;
|
||||
extern z_Matrix* sMatrixStack;
|
||||
extern z_Matrix* sCurrentMatrix;
|
||||
// extern UNK_TYPE1 D_801FBE10;
|
||||
// extern UNK_TYPE1 D_801FBE28;
|
||||
// extern UNK_TYPE1 D_801FBE2C;
|
||||
|
||||
+50
-10
@@ -527,13 +527,21 @@ typedef struct {
|
||||
} ActorMeshParams; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u16 attributeIndex;
|
||||
/* 0x2 */ u16 vertA; // upper 3 bits contain flags
|
||||
/* 0x4 */ u16 vertB; // upper 3 bits contain flags
|
||||
/* 0x6 */ u16 vertC;
|
||||
/* 0x8 */ Vec3s normal;
|
||||
/* 0xE */ s16 unkE;
|
||||
} BgPolygon; // size = 0x10
|
||||
/* 0x00 */ u16 type;
|
||||
union {
|
||||
u16 vtxData[3];
|
||||
struct {
|
||||
/* 0x02 */ u16 flags_vIA; // 0xE000 is poly exclusion flags (xpFlags), 0x1FFF is vtxId
|
||||
/* 0x04 */ u16 flags_vIB; // 0xE000 is flags, 0x1FFF is vtxId
|
||||
// 0x2000 = poly IsConveyor surface
|
||||
/* 0x06 */ u16 vIC;
|
||||
};
|
||||
};
|
||||
/* 0x08 */ Vec3s normal; // Unit normal vector
|
||||
// Value ranges from -0x7FFF to 0x7FFF, representing -1.0 to 1.0; 0x8000 is invalid
|
||||
|
||||
/* 0x0E */ s16 dist; // Plane distance from origin along the normal
|
||||
} CollisionPoly; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ BgPolygonLinkedListNode* nodes;
|
||||
@@ -587,6 +595,27 @@ typedef struct {
|
||||
/* 0x38 */ func_ptr inputCallback;
|
||||
} FaultDrawer; // size = 0x3C
|
||||
|
||||
typedef struct GfxPrint {
|
||||
/* 0x00 */ struct GfxPrint *(*callback)(struct GfxPrint*, const char*, size_t);
|
||||
/* 0x04 */ Gfx* dlist;
|
||||
/* 0x08 */ u16 posX;
|
||||
/* 0x0A */ u16 posY;
|
||||
/* 0x0C */ u16 baseX;
|
||||
/* 0x0E */ u8 baseY;
|
||||
/* 0x0F */ u8 flag;
|
||||
/* 0x10 */ Color_RGBA8_u32 color;
|
||||
/* 0x14 */ char unk_14[0x1C]; // unused
|
||||
} GfxPrint; // size = 0x30
|
||||
|
||||
typedef enum {
|
||||
GFXPRINT_FLAG1 = 1,
|
||||
GFXPRINT_USE_RGBA16 = 2,
|
||||
GFXPRINT_FLAG4 = 4,
|
||||
GFXPRINT_UPDATE_MODE = 8,
|
||||
GFXPRINT_FLAG64 = 0x40,
|
||||
GFXPRINT_OPEN = 0x80
|
||||
} GfxPrintFlag;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u16 cycleLength;
|
||||
/* 0x2 */ u16 numKeyFrames;
|
||||
@@ -712,7 +741,7 @@ typedef struct {
|
||||
/* 0x0C */ u16 numVertices;
|
||||
/* 0x10 */ BgVertex* vertices;
|
||||
/* 0x14 */ u16 numPolygons;
|
||||
/* 0x18 */ BgPolygon* polygons;
|
||||
/* 0x18 */ CollisionPoly* polygons;
|
||||
/* 0x1C */ BgPolygonAttributes* attributes;
|
||||
/* 0x20 */ UNK_PTR cameraData;
|
||||
/* 0x24 */ u16 numWaterBoxes;
|
||||
@@ -1061,7 +1090,7 @@ struct DynaCollisionContext {
|
||||
/* 0x0001 */ UNK_TYPE1 pad1[0x3];
|
||||
/* 0x0004 */ ActorMesh actorMeshArr[50];
|
||||
/* 0x138C */ u16 flags[50]; // bit 0 - Is mesh active
|
||||
/* 0x13F0 */ BgPolygon* polygons;
|
||||
/* 0x13F0 */ CollisionPoly* polygons;
|
||||
/* 0x13F4 */ BgVertex* vertices;
|
||||
/* 0x13F8 */ BgWaterboxList waterboxes;
|
||||
/* 0x1400 */ BgPolygonLinkedList polygonList;
|
||||
@@ -1405,6 +1434,12 @@ typedef struct StackEntry_t {
|
||||
/* 0x18 */ const char* name;
|
||||
} StackEntry; // size = 0x1C
|
||||
|
||||
typedef enum {
|
||||
STACK_STATUS_OK = 0,
|
||||
STACK_STATUS_WARNING = 1,
|
||||
STACK_STATUS_OVERFLOW = 2
|
||||
} StackStatus;
|
||||
|
||||
typedef struct TargetContext TargetContext;
|
||||
|
||||
typedef struct ActorContext ActorContext;
|
||||
@@ -1634,7 +1669,7 @@ struct GlobalContext {
|
||||
/* 0x18768 */ UNK_TYPE1 pad18768[0x48];
|
||||
/* 0x187B0 */ z_Matrix unk187B0;
|
||||
/* 0x187F0 */ UNK_TYPE1 pad187F0[0xC];
|
||||
/* 0x187FC */ z_Matrix unk187FC;
|
||||
/* 0x187FC */ MtxF mf_187FC;
|
||||
/* 0x1883C */ UNK_TYPE1 pad1883C[0x4];
|
||||
/* 0x18840 */ u32 unk18840;
|
||||
/* 0x18844 */ u8 unk18844;
|
||||
@@ -1808,4 +1843,9 @@ typedef enum {
|
||||
MTXMODE_APPLY // applies transformation to the current matrix
|
||||
} MatrixMode;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 intPart[4][4];
|
||||
/* 0x20 */ u16 fracPart[4][4];
|
||||
} MatrixInternal; // size = 0x40
|
||||
|
||||
#endif
|
||||
|
||||
+6
-4
@@ -12,7 +12,7 @@
|
||||
struct Actor;
|
||||
struct GlobalContext;
|
||||
struct Lights;
|
||||
struct BgPolygon;
|
||||
struct CollisionPoly;
|
||||
|
||||
typedef void(*ActorFunc)(struct Actor* this, struct GlobalContext* ctxt);
|
||||
|
||||
@@ -140,8 +140,8 @@ typedef struct Actor {
|
||||
/* 0x070 */ f32 speedXZ; // How fast the actor is traveling along the XZ plane
|
||||
/* 0x074 */ f32 gravity; // Acceleration due to gravity. Value is added to Y velocity every frame
|
||||
/* 0x078 */ f32 minVelocityY; // Sets the lower bounds cap on velocity along the Y axis
|
||||
/* 0x07C */ struct BgPolygon* wallPoly; // Wall polygon the actor is touching
|
||||
/* 0x080 */ struct BgPolygon* floorPoly; // Floor polygon directly below the actor
|
||||
/* 0x07C */ struct CollisionPoly* wallPoly; // Wall polygon the actor is touching
|
||||
/* 0x080 */ struct CollisionPoly* floorPoly; // Floor polygon directly below the actor
|
||||
/* 0x084 */ u8 wallBgId; // Bg ID of the wall polygon the actor is touching
|
||||
/* 0x085 */ u8 floorBgId; // Bg ID of the floor polygon directly below the actor
|
||||
/* 0x086 */ s16 wallYaw; // Y rotation of the wall polygon the actor is touching
|
||||
@@ -258,7 +258,9 @@ typedef struct {
|
||||
/* 0xB28 */ s16 unkB28;
|
||||
/* 0xB2A */ UNK_TYPE1 padB2A[0x72];
|
||||
/* 0xB9C */ Vec3f unkB9C;
|
||||
/* 0xBA8 */ UNK_TYPE1 padBA8[0x1D0];
|
||||
/* 0xBA8 */ UNK_TYPE1 padBA8[0x44];
|
||||
/* 0xBEC */ Vec3f bodyPartsPos[18];
|
||||
/* 0xCC4 */ UNK_TYPE1 padCC4[0xB4];
|
||||
} ActorPlayer; // size = 0xD78
|
||||
|
||||
typedef struct {
|
||||
|
||||
+445
-33
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@
|
||||
#include <ultra64.h>
|
||||
|
||||
#define SHT_MAX 32767.0f
|
||||
#define M_PI 3.14159265358979323846f
|
||||
|
||||
#define VEC_SET(V,X,Y,Z) V.x=X;V.y=Y;V.z=Z
|
||||
|
||||
|
||||
+3
-3
@@ -317,11 +317,11 @@ typedef struct {
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 id; // Negative ids mean that the object is unloaded
|
||||
/* 0x02 */ UNK_TYPE1 pad2[0x2];
|
||||
/* 0x04 */ void* vramAddr;
|
||||
/* 0x04 */ void* segment;
|
||||
/* 0x08 */ DmaRequest dmaReq;
|
||||
/* 0x28 */ OSMesgQueue loadQueue;
|
||||
/* 0x40 */ OSMesg loadMsg;
|
||||
} SceneObject; // size = 0x44
|
||||
} ObjectStatus; // size = 0x44
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 romStart;
|
||||
@@ -348,7 +348,7 @@ typedef struct {
|
||||
/* 0x009 */ u8 spawnedObjectCount;
|
||||
/* 0x00A */ u8 mainKeepIndex;
|
||||
/* 0x00B */ u8 keepObjectId;
|
||||
/* 0x00C */ SceneObject objects[35]; // TODO: OBJECT_EXCHANGE_BANK_MAX array size
|
||||
/* 0x00C */ ObjectStatus objects[35]; // TODO: OBJECT_EXCHANGE_BANK_MAX array size
|
||||
} SceneContext; // size = 0x958
|
||||
|
||||
typedef union {
|
||||
|
||||
@@ -26,14 +26,14 @@ SECTIONS
|
||||
build/src/boot_O2/loadfragment2.o(.text)
|
||||
build/src/boot_O2/padutils.o(.text)
|
||||
build/src/boot_O2/stackcheck.o(.text)
|
||||
build/asm/boot/boot_0x80085570.o(.text)
|
||||
build/asm/boot/mtxuty-cvt.o(.text)
|
||||
build/asm/boot/boot_0x80086280.o(.text)
|
||||
build/asm/boot/boot_0x800862E0.o(.text)
|
||||
build/src/boot_O2/gfxprint.o(.text)
|
||||
build/src/boot_O2/mtxuty-cvt.o(.text)
|
||||
build/src/boot_O2/boot_0x80086280.o(.text)
|
||||
build/src/boot_O2/boot_0x800862E0.o(.text)
|
||||
build/asm/boot/boot_0x80086760.o(.text)
|
||||
build/asm/boot/boot_0x80086DD0.o(.text)
|
||||
build/asm/boot/boot_0x80086FA0.o(.text)
|
||||
build/asm/boot/__osMalloc.o(.text)
|
||||
build/src/boot_O2/boot_0x80086FA0.o(.text)
|
||||
build/src/boot_O2/__osMalloc.o(.text)
|
||||
build/src/libultra/rmon/sprintf.o(.text)
|
||||
build/asm/boot/boot_0x80087900.o(.text)
|
||||
build/asm/boot/setcause.o(.text)
|
||||
@@ -44,8 +44,8 @@ SECTIONS
|
||||
build/src/libultra/os/recvmesg.o(.text)
|
||||
build/asm/boot/setintmask.o(.text)
|
||||
build/asm/boot/getintmask.o(.text)
|
||||
build/asm/boot/boot_0x80088110.o(.text)
|
||||
build/asm/boot/boot_0x800882A0.o(.text)
|
||||
build/src/libultra/voice/voicesetword.o(.text)
|
||||
build/asm/boot/scale.o(.text)
|
||||
build/src/libultra/gu/sinf.o(.text)
|
||||
build/src/libultra/gu/sins.o(.text)
|
||||
build/src/libultra/io/sptask.o(.text)
|
||||
@@ -53,7 +53,7 @@ SECTIONS
|
||||
build/asm/boot/exceptasm.o(.text)
|
||||
build/src/libultra/os/thread.o(.text)
|
||||
build/src/libultra/os/destroythread.o(.text)
|
||||
build/asm/boot/boot_0x80089580.o(.text)
|
||||
build/src/libultra/voice/voicecheckresult.o(.text)
|
||||
build/asm/boot/bzero.o(.text)
|
||||
build/asm/boot/boot_0x800896D0.o(.text)
|
||||
build/src/libultra/io/siacs.o(.text)
|
||||
@@ -81,7 +81,7 @@ SECTIONS
|
||||
build/src/libultra/io/visetmode.o(.text)
|
||||
build/asm/boot/getconfig.o(.text)
|
||||
build/asm/boot/setconfig.o(.text)
|
||||
build/asm/boot/lookat.o(.text)
|
||||
build/src/libultra/gu/lookat.o(.text)
|
||||
build/asm/boot/boot_0x8008B9F0.o(.text)
|
||||
build/src/libultra/os/stoptimer.o(.text)
|
||||
build/asm/boot/probetlb.o(.text)
|
||||
@@ -95,12 +95,12 @@ SECTIONS
|
||||
build/asm/boot/getcount.o(.text)
|
||||
build/asm/boot/boot_0x8008D2E0.o(.text)
|
||||
build/src/libultra/os/getmemsize.o(.text)
|
||||
build/asm/boot/boot_0x8008D470.o(.text)
|
||||
build/asm/boot/pfssearchfile.o(.text)
|
||||
build/src/libultra/os/seteventmesg.o(.text)
|
||||
build/asm/boot/sqrtf.o(.text)
|
||||
build/asm/boot/boot_0x8008D710.o(.text)
|
||||
build/asm/boot/afterprenmi.o(.text)
|
||||
build/src/libultra/io/contquery.o(.text)
|
||||
build/asm/boot/lookathil.o(.text)
|
||||
build/src/libultra/gu/lookathil.o(.text)
|
||||
build/src/libultra/rmon/xprintf.o(.text)
|
||||
build/asm/boot/boot_0x8008ED30.o(.text)
|
||||
build/asm/boot/unmaptlball.o(.text)
|
||||
@@ -157,7 +157,7 @@ SECTIONS
|
||||
build/asm/boot/boot_0x800922C0.o(.text)
|
||||
build/src/libultra/gu/visetevent.o(.text)
|
||||
build/asm/boot/pfsisplug.o(.text)
|
||||
build/asm/boot/boot_0x80092730.o(.text)
|
||||
build/src/libultra/voice/voicegetstatus.o(.text)
|
||||
build/asm/boot/cartrominit.o(.text)
|
||||
build/asm/boot/boot_0x80092A80.o(.text)
|
||||
build/asm/boot/boot_0x80092C00.o(.text)
|
||||
@@ -175,7 +175,7 @@ SECTIONS
|
||||
build/asm/boot/boot_0x80093CC0.o(.text)
|
||||
build/asm/boot/getcause.o(.text)
|
||||
build/asm/boot/contramwrite.o(.text)
|
||||
build/asm/boot/boot_0x80093FF0.o(.text)
|
||||
build/src/libultra/io/epirawwrite.o(.text)
|
||||
build/src/libultra/os/settimer.o(.text)
|
||||
build/asm/boot/xldtob.o(.text)
|
||||
build/src/libultra/libc/ldiv.o(.text)
|
||||
@@ -184,7 +184,7 @@ SECTIONS
|
||||
build/src/libultra/io/spgetstat.o(.text)
|
||||
build/src/libultra/io/spsetstat.o(.text)
|
||||
. += 0x10;
|
||||
build/asm/boot/vimgr.o(.text)
|
||||
build/src/libultra/io/vimgr.o(.text)
|
||||
build/src/libultra/io/vigetcurrcontext.o(.text)
|
||||
build/asm/boot/writebackdcacheall.o(.text)
|
||||
build/src/libultra/os/getcurrfaultthread.o(.text)
|
||||
@@ -200,7 +200,7 @@ SECTIONS
|
||||
build/asm/boot/boot_0x800964D0.o(.text)
|
||||
build/asm/boot/spsetpc.o(.text)
|
||||
build/asm/boot/boot_0x80096540.o(.text)
|
||||
build/asm/boot/boot_0x80096770.o(.text)
|
||||
build/src/boot_O1/gethwintrroutine.o(.text)
|
||||
build/asm/boot/boot_0x800967A0.o(.text)
|
||||
build/asm/boot/boot_0x80096810.o(.text)
|
||||
build/asm/boot/boot_0x80096820.o(.text)
|
||||
@@ -251,14 +251,14 @@ SECTIONS
|
||||
boot_rodata_start = .;
|
||||
build/src/boot_O2_g3/boot_main.o(.rodata)
|
||||
build/src/boot_O2_g3/idle.o(.rodata)
|
||||
build/asm/boot/boot_rodata_z_std_dma.o(.rodata)
|
||||
build/src/boot_O2_g3/z_std_dma.o(.rodata)
|
||||
build/src/boot_O2_g3/yaz0.o(.rodata)
|
||||
build/src/boot_O2_g3/irqmgr.o(.rodata)
|
||||
build/src/boot_O2_g3/CIC6105.o(.rodata)
|
||||
build/asm/boot/boot_rodata_fault.o(.rodata)
|
||||
build/asm/boot/boot_rodata_fault_drawer.o(.rodata)
|
||||
build/asm/boot/boot_rodata_0x80085570.o(.rodata)
|
||||
build/asm/boot/boot_rodata_0x80086280.o(.rodata)
|
||||
build/src/boot_O2/boot_0x80086280.o(.rodata)
|
||||
build/asm/boot/boot_rodata_0x80086760.o(.rodata)
|
||||
build/asm/boot/boot_rodata___osMalloc.o(.rodata)
|
||||
build/asm/boot/boot_rodata_setintmask.o(.rodata)
|
||||
@@ -320,14 +320,14 @@ SECTIONS
|
||||
code_text_start = .;
|
||||
build/src/code/code_0x800A5AC0.o(.text)
|
||||
build/asm/code/z_en_item00.o(.text)
|
||||
build/asm/code/z_eff_blure.o(.text)
|
||||
build/src/code/z_eff_blure.o(.text)
|
||||
build/asm/code/z_eff_shield_particle.o(.text)
|
||||
build/asm/code/z_eff_spark.o(.text)
|
||||
build/asm/code/z_eff_ss_dead.o(.text)
|
||||
build/asm/code/z_eff_tire_mark.o(.text)
|
||||
build/src/code/code_0x800AF710.o(.text)
|
||||
build/src/code/z_effect_soft_sprite.o(.text)
|
||||
build/asm/code/z_effect_soft_sprite_old_init.o(.text)
|
||||
build/src/code/z_effect_soft_sprite_old_init.o(.text)
|
||||
build/asm/code/flg_set.o(.text)
|
||||
build/asm/code/z_DLF.o(.text)
|
||||
build/src/code/z_actor.o(.text)
|
||||
@@ -433,8 +433,8 @@ SECTIONS
|
||||
build/asm/code/sys_initial_check.o(.text)
|
||||
build/asm/code/code_0x80179300.o(.text)
|
||||
build/asm/code/code_0x801795F0.o(.text)
|
||||
build/asm/code/code_0x8017FEB0.o(.text)
|
||||
build/asm/code/sys_matrix.o(.text)
|
||||
build/src/code/code_0x8017FEB0.o(.text)
|
||||
build/src/code/sys_matrix.o(.text)
|
||||
build/asm/code/code_0x80182CE0.o(.text)
|
||||
build/src/code/code_0x80183070.o(.text)
|
||||
build/asm/code/code_0x801830A0.o(.text)
|
||||
|
||||
@@ -10,6 +10,10 @@ D_04062020 = 0x04062020;
|
||||
D_04062060 = 0x04062060;
|
||||
D_04062000 = 0x04062000;
|
||||
D_040622C0 = 0x040622C0;
|
||||
D_04076BC0 = 0x04076BC0;
|
||||
D_04075A40 = 0x04075A40;
|
||||
D_04077480 = 0x04077480;
|
||||
D_04075B30 = 0x04075B30;
|
||||
|
||||
/* gameplay_dangeon_keep */
|
||||
D_05018090 = 0x05018090;
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
#include <global.h>
|
||||
|
||||
void func_80087E00(u32 a0) {
|
||||
D_8009817C = a0;
|
||||
__additional_scanline = a0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
#include "os_internal.h"
|
||||
|
||||
void __osGetHWIntrRoutine(s32 idx, OSMesgQueue** outQueue, OSMesg* outMsg) {
|
||||
*outQueue = __osHwIntTable[idx].queue;
|
||||
*outMsg = __osHwIntTable[idx].msg;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user