2021-09-15 23:24:19 +00:00
|
|
|
#ifndef REGS_H
|
|
|
|
#define REGS_H
|
2020-03-17 04:31:30 +00:00
|
|
|
|
2020-03-22 21:50:11 +00:00
|
|
|
#define REG_GROUPS 29 // number of REG groups, i.e. REG, SREG, OREG, etc.
|
2020-03-20 00:10:32 +00:00
|
|
|
#define REG_PAGES 6
|
|
|
|
#define REG_PER_PAGE 16
|
|
|
|
#define REG_PER_GROUP REG_PAGES * REG_PER_PAGE
|
2020-03-19 22:06:41 +00:00
|
|
|
|
|
|
|
#define BASE_REG(n, r) gGameInfo->data[n * REG_PER_GROUP + r]
|
2020-03-17 04:31:30 +00:00
|
|
|
|
|
|
|
#define REG(r) BASE_REG(0, r)
|
|
|
|
#define SREG(r) BASE_REG(1, r)
|
|
|
|
#define OREG(r) BASE_REG(2, r)
|
|
|
|
#define PREG(r) BASE_REG(3, r)
|
|
|
|
#define QREG(r) BASE_REG(4, r)
|
|
|
|
#define MREG(r) BASE_REG(5, r)
|
|
|
|
#define YREG(r) BASE_REG(6, r)
|
|
|
|
#define DREG(r) BASE_REG(7, r)
|
|
|
|
#define UREG(r) BASE_REG(8, r)
|
|
|
|
#define IREG(r) BASE_REG(9, r)
|
|
|
|
#define ZREG(r) BASE_REG(10, r)
|
|
|
|
#define CREG(r) BASE_REG(11, r)
|
|
|
|
#define NREG(r) BASE_REG(12, r)
|
|
|
|
#define KREG(r) BASE_REG(13, r)
|
|
|
|
#define XREG(r) BASE_REG(14, r)
|
|
|
|
#define cREG(r) BASE_REG(15, r)
|
|
|
|
#define sREG(r) BASE_REG(16, r)
|
|
|
|
#define iREG(r) BASE_REG(17, r)
|
|
|
|
#define WREG(r) BASE_REG(18, r)
|
|
|
|
#define AREG(r) BASE_REG(19, r)
|
|
|
|
#define VREG(r) BASE_REG(20, r)
|
|
|
|
#define HREG(r) BASE_REG(21, r)
|
|
|
|
#define GREG(r) BASE_REG(22, r)
|
|
|
|
#define mREG(r) BASE_REG(23, r)
|
|
|
|
#define nREG(r) BASE_REG(24, r)
|
|
|
|
#define BREG(r) BASE_REG(25, r)
|
|
|
|
#define dREG(r) BASE_REG(26, r)
|
|
|
|
#define kREG(r) BASE_REG(27, r)
|
|
|
|
#define bREG(r) BASE_REG(28, r)
|
|
|
|
|
2021-09-20 16:51:35 +00:00
|
|
|
#define R_ENV_AMBIENT_COLOR(i) REG(0 + i)
|
|
|
|
#define R_ENV_LIGHT1_COLOR(i) REG(3 + i)
|
|
|
|
#define R_ENV_LIGHT2_COLOR(i) REG(6 + i)
|
|
|
|
#define R_ENV_DISABLE_DBG REG(9)
|
|
|
|
#define R_ENV_FOG_COLOR(i) REG(10 + i)
|
|
|
|
#define R_ENV_FOG_FAR REG(13)
|
|
|
|
#define R_ENV_FOG_NEAR REG(14)
|
|
|
|
#define R_ENV_TIME_INCREMENT REG(15)
|
2020-05-14 23:11:33 +00:00
|
|
|
#define R_RUN_SPEED_LIMIT REG(45)
|
|
|
|
#define R_ENABLE_ARENA_DBG SREG(0)
|
|
|
|
#define R_UPDATE_RATE SREG(30)
|
|
|
|
#define R_ENABLE_AUDIO_DBG SREG(36)
|
|
|
|
#define R_FB_FILTER_TYPE SREG(80)
|
|
|
|
#define R_FB_FILTER_PRIM_COLOR(c) SREG(81 + c)
|
|
|
|
#define R_FB_FILTER_A SREG(84)
|
|
|
|
#define R_FB_FILTER_ENV_COLOR(c) SREG(85 + c)
|
|
|
|
#define R_ENABLE_FB_FILTER SREG(88)
|
|
|
|
#define R_PAUSE_MENU_MODE SREG(94)
|
decompile z_camera (#398)
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
|
|
|
#define R_CAM_MAX_PHI OREG(5)
|
|
|
|
#define R_CAM_DEFA_PHI_UPDRATE OREG(7)
|
|
|
|
#define R_DEFA_CAM_ANIM_TIME OREG(23)
|
|
|
|
#define R_CAM_MIN_PHI OREG(34)
|
|
|
|
#define R_CAM_MIN_PHI2 OREG(35)
|
|
|
|
#define R_AT_LERP_MIN OREG(41)
|
|
|
|
#define R_AT_LERP_SCALE OREG(42)
|
2021-09-20 16:51:35 +00:00
|
|
|
#define R_CAM_YOFFSET_NORM OREG(46)
|
2022-01-11 01:51:57 +00:00
|
|
|
#define R_CAM_DATA(type) PREG(type)
|
decompile z_camera (#398)
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
|
|
|
#define R_DBG_CAM_UPDATE PREG(80)
|
|
|
|
#define R_DBG_REG_UPDATE PREG(82)
|
|
|
|
#define R_RELOAD_CAM_PARAMS QREG(0)
|
2020-05-14 23:11:33 +00:00
|
|
|
#define R_C_UP_ICON_X YREG(88)
|
|
|
|
#define R_C_UP_ICON_Y YREG(89)
|
|
|
|
#define R_MAGIC_FILL_COLOR(i) ZREG(0 + i)
|
|
|
|
#define R_C_BTN_COLOR(i) ZREG(39 + i)
|
|
|
|
#define R_B_BTN_COLOR(i) ZREG(43 + i)
|
|
|
|
#define R_START_LABEL_DD(i) ZREG(48 + i)
|
|
|
|
#define R_START_LABEL_Y(i) ZREG(51 + i)
|
|
|
|
#define R_START_LABEL_X(i) ZREG(54 + i)
|
|
|
|
#define R_C_UP_BTN_X ZREG(62)
|
|
|
|
#define R_C_UP_BTN_Y ZREG(63)
|
|
|
|
#define R_START_BTN_X ZREG(68)
|
|
|
|
#define R_START_BTN_Y ZREG(69)
|
|
|
|
#define R_ITEM_BTN_X(i) ZREG(70 + i)
|
|
|
|
#define R_ITEM_BTN_Y(i) ZREG(74 + i)
|
|
|
|
#define R_ITEM_BTN_DD(i) ZREG(78 + i)
|
|
|
|
#define R_ITEM_ICON_X(i) ZREG(82 + i)
|
|
|
|
#define R_ITEM_ICON_Y(i) ZREG(86 + i)
|
|
|
|
#define R_ITEM_ICON_DD(i) ZREG(90 + i)
|
2021-09-20 16:51:35 +00:00
|
|
|
#define R_ENV_WIND_DIR(i) CREG(16 + i)
|
|
|
|
#define R_ENV_WIND_SPEED CREG(19)
|
2020-05-14 23:11:33 +00:00
|
|
|
#define R_A_BTN_Y XREG(16)
|
|
|
|
#define R_A_BTN_X XREG(17)
|
|
|
|
#define R_A_ICON_Y XREG(19)
|
|
|
|
#define R_A_ICON_X XREG(20)
|
|
|
|
#define R_A_BTN_COLOR(i) XREG(22 + i)
|
|
|
|
#define R_MAGIC_BAR_SMALL_Y XREG(48)
|
|
|
|
#define R_MAGIC_BAR_X XREG(49)
|
|
|
|
#define R_MAGIC_BAR_LARGE_Y XREG(50)
|
|
|
|
#define R_MAGIC_FILL_X XREG(51)
|
2021-09-20 16:51:35 +00:00
|
|
|
#define R_ENV_LIGHT1_DIR(i) cREG(3 + i)
|
|
|
|
#define R_ENV_LIGHT2_DIR(i) cREG(6 + i)
|
2020-05-14 23:11:33 +00:00
|
|
|
#define R_B_LABEL_DD WREG(0)
|
|
|
|
#define R_OW_MINIMAP_X WREG(29)
|
|
|
|
#define R_OW_MINIMAP_Y WREG(30)
|
2021-06-15 17:29:10 +00:00
|
|
|
#define R_MINIMAP_DISABLED WREG(31)
|
2020-05-14 23:11:33 +00:00
|
|
|
#define R_B_LABEL_X(i) WREG(40 + i)
|
|
|
|
#define R_B_LABEL_Y(i) WREG(43 + i)
|
|
|
|
#define R_DGN_MINIMAP_X WREG(68)
|
|
|
|
#define R_DGN_MINIMAP_Y WREG(69)
|
|
|
|
#define R_MAP_INDEX VREG(11)
|
|
|
|
#define R_MAP_TEX_INDEX_BASE VREG(12)
|
|
|
|
#define R_MAP_TEX_INDEX VREG(13)
|
|
|
|
#define R_COMPASS_SCALE_X VREG(14)
|
|
|
|
#define R_COMPASS_SCALE_Y VREG(15)
|
|
|
|
#define R_COMPASS_OFFSET_X VREG(16)
|
|
|
|
#define R_COMPASS_OFFSET_Y VREG(17)
|
|
|
|
#define R_MINIMAP_COLOR(i) VREG(18 + i)
|
|
|
|
#define R_ITEM_AMMO_X(i) VREG(64 + i)
|
|
|
|
#define R_ITEM_AMMO_Y(i) VREG(68 + i)
|
|
|
|
#define R_ITEM_ICON_WIDTH(i) VREG(76 + i)
|
|
|
|
#define R_ITEM_BTN_WIDTH(i) VREG(80 + i)
|
|
|
|
#define R_DISABLE_INPUT_DISPLAY HREG(47)
|
2021-08-22 15:25:17 +00:00
|
|
|
#define R_EN_GOROIWA_SPEED mREG(12)
|
2020-08-18 18:31:34 +00:00
|
|
|
#define R_NAVI_MSG_REGION_ALPHA nREG(87)
|
z_message_PAL, message_data_static and surrounding doc (#996)
* Initial progress on z_message_PAL, very messy
* Fix merge
* Some more progress
* Fix merge
* More z_message_PAL
* Small progress
* More small progress
* message_data_static files OK
* Prepare z_message_tables
* Matched another function, small updates
* Attempt to use asm-processor static-symbols branch
* Refactor text id declarations
* Begin large text codes parser function
* Fix merge
* Refactor done
* Build OK, add color and highscore names
* Remove encoded text headers and automatically encode during build
* Fix kanfont
* Various cleanups
* DISP macros
* Another match aside data
* Further progress
* Small improvements
* Deduplicate magic values for text control codes, small improvements
* Tiny progress
* Minor cleanups
* Clean up z_message_PAL comment
* Progress on large functions
* Further progress on large functions
* Changes to mkldscript to link .data in the .rodata section
* data OK
* Few improvements
* Use gDPLoadTextureBlock macros where appropriate
* rm z_message_tables, progress on large functions
* 2 more matches
* Improvements
* Small progress
* More progress on big function
* progress
* match func_80107980
* match Message_Update
* match func_8010BED8
* done
* Progress on remaining large functions
* Small progress on largest function
* Another match, extract text and move to assets, improve text build system
* Small nonmatchings improvements
* docs wip
* Largest function maybe equivalent
* Fix merge
* Document do_action values, largest function is almost instruction-matching
* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice
* Fix merge
* one match
* Last function is instruction-matching
* Fix
* Improvements thanks to engineer124
* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup
* More variables labeled, use text state enum everywhere
* More labels and names
* Fix
* Actor_IsTalking -> Actor_TalkRequested
* Match func_8010C39C and remove unused asm
* More docs
* Mostly ocarina related docs
* All msgModes named
* Fix assetclean
* Cleanup
* Extraction fixes and headers
* Suggestions
* Review suggestions
* Change text extraction again, only extract if the headers do not already exist
* Fix
* Use ast for charmap, fix assetclean for real this time
* Review suggestions
* BGM ids and ran formatter
* Review comments
* rename include_readonly to include_data_with_rodata
* Remove leading 0s in number directives
* Review suggestions for message_data_static
* textbox pos enum comments, rename several enum names from Message to TextBox
Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
2021-11-23 01:20:30 +00:00
|
|
|
#define R_TEXT_DROP_SHADOW_OFFSET XREG(60)
|
|
|
|
#define R_TEXTBOX_X_TARGET XREG(72)
|
|
|
|
#define R_TEXTBOX_Y_TARGET XREG(73)
|
|
|
|
#define R_TEXTBOX_TEXWIDTH YREG(16)
|
|
|
|
#define R_TEXTBOX_TEXHEIGHT YREG(17)
|
|
|
|
#define R_TEXTBOX_WIDTH YREG(22)
|
|
|
|
#define R_TEXTBOX_HEIGHT YREG(23)
|
|
|
|
#define R_MESSAGE_DEBUGGER_SELECT YREG(78)
|
|
|
|
#define R_MESSAGE_DEBUGGER_TEXTID YREG(79)
|
|
|
|
#define R_TEXT_LINE_SPACING XREG(56)
|
|
|
|
#define R_TEXT_CHAR_SCALE XREG(57)
|
|
|
|
#define R_TEXTBOX_ICON_XPOS YREG(71)
|
|
|
|
#define R_TEXTBOX_ICON_YPOS YREG(72)
|
|
|
|
#define R_TEXTBOX_ICON_SIZE YREG(75)
|
|
|
|
#define R_TEXTBOX_X VREG(0)
|
|
|
|
#define R_TEXTBOX_Y VREG(1)
|
|
|
|
#define R_TEXTBOX_END_XPOS XREG(64)
|
|
|
|
#define R_TEXTBOX_END_YPOS XREG(65)
|
|
|
|
#define R_TEXTBOX_WIDTH_TARGET XREG(74)
|
|
|
|
#define R_TEXTBOX_HEIGHT_TARGET XREG(75)
|
|
|
|
#define R_TEXTBOX_TEXWIDTH_TARGET XREG(76)
|
|
|
|
#define R_TEXTBOX_TEXHEIGHT_TARGET XREG(77)
|
|
|
|
#define R_TEXT_ADJUST_COLOR_1_R VREG(33)
|
|
|
|
#define R_TEXT_ADJUST_COLOR_1_G VREG(34)
|
|
|
|
#define R_TEXT_ADJUST_COLOR_1_B VREG(35)
|
|
|
|
#define R_TEXT_ADJUST_COLOR_2_R VREG(36)
|
|
|
|
#define R_TEXT_ADJUST_COLOR_2_G VREG(37)
|
|
|
|
#define R_TEXT_ADJUST_COLOR_2_B VREG(38)
|
|
|
|
#define R_TEXT_CHOICE_XPOS XREG(66)
|
|
|
|
#define R_TEXT_CHOICE_YPOS(choice) XREG(67 + (choice))
|
|
|
|
#define R_TEXT_INIT_XPOS XREG(54)
|
|
|
|
#define R_TEXT_INIT_YPOS XREG(55)
|
|
|
|
#define R_TEXTBOX_BG_YPOS XREG(61)
|
|
|
|
#define R_TEXTBOX_CLEF_XPOS VREG(7)
|
|
|
|
#define R_TEXTBOX_CLEF_YPOS VREG(8)
|
|
|
|
#define R_OCARINA_NOTES_XPOS VREG(28)
|
|
|
|
#define R_OCARINA_NOTES_YPOS(note) VREG(45 + (note))
|
|
|
|
#define R_OCARINA_NOTES_XPOS_OFFSET VREG(29)
|
|
|
|
#define R_OCARINA_NOTES_YPOS_OFFSET VREG(51)
|
2020-03-17 04:31:30 +00:00
|
|
|
|
|
|
|
#endif
|