diff options
| author | petrie911 <69443847+petrie911@users.noreply.github.com> | 2024-04-01 17:04:22 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-01 19:04:22 -0300 |
| commit | 2938919f6fc8e421ceba2102ee9668e9c104a727 (patch) | |
| tree | ae7054cd7cc1cccf6c646e28062dbda972be3336 /include | |
| parent | 1890dcda47ae4116054a443c2fda6430132ebb62 (diff) | |
WIP on script documentation, some cleanup (#194)
* gfx
* script
* Torch
* headers
* format
Diffstat (limited to 'include')
| -rw-r--r-- | include/assets/ast_ending_expert.h | 11 | ||||
| -rw-r--r-- | include/functions.h | 6 | ||||
| -rw-r--r-- | include/gfx.h | 4 | ||||
| -rw-r--r-- | include/prevent_context_reordering.h | 6 | ||||
| -rw-r--r-- | include/sf64level.h | 145 | ||||
| -rw-r--r-- | include/sf64mesg.h | 6 | ||||
| -rw-r--r-- | include/sf64object.h | 75 |
7 files changed, 167 insertions, 86 deletions
diff --git a/include/assets/ast_ending_expert.h b/include/assets/ast_ending_expert.h deleted file mode 100644 index dd36cef8..00000000 --- a/include/assets/ast_ending_expert.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef AST_ENDING_EXPERT_H -#define AST_ENDING_EXPERT_H - -#include "gfx.h" -#include "sf64object.h" -#include "structs.h" - -extern u16 gEndingExpertReward[]; -extern u16 gEndingNormalReward[]; - -#endif diff --git a/include/functions.h b/include/functions.h index d8227470..60da8481 100644 --- a/include/functions.h +++ b/include/functions.h @@ -487,12 +487,6 @@ s32 func_800A7974(Player* player, f32* hitboxData, s32* index, f32 xPos, f32 yPo bool func_800A8054(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, Vec3f* arg7, Vec3f* arg8); void Object_58_Initialize(Object_58*); -// fox_radio -s32 func_800BA7BC(u16*, s32); -void Radio_PlayMessage(u16*, RadioCharacterId); -void func_800BB388(void); -void func_800BB5D0(void); - // fox_versus s32 func_800C1E9C(void); void func_800C1ED4(void); diff --git a/include/gfx.h b/include/gfx.h index eba240b9..3158bc31 100644 --- a/include/gfx.h +++ b/include/gfx.h @@ -30,7 +30,7 @@ G_TX_RENDERTILE, 0, cmt, maskt, shiftt, cms, masks, shifts), \ gsDPSetTileSize(G_TX_RENDERTILE, dw, dh, \ ((width)-1) << G_TEXTURE_IMAGE_FRAC, \ - ((height)-1) << G_TEXTURE_IMAGE_FRAC), + ((height)-1) << G_TEXTURE_IMAGE_FRAC) #define gDPLoadTileTexture(pkt, timg, fmt, siz, width, height) \ { \ @@ -54,7 +54,7 @@ gsDPLoadSync(), \ gsDPLoadBlock(G_TX_LOADTILE, 0, 0, \ (((width)*(height) + siz##_INCR) >> siz##_SHIFT) -1, \ - CALC_DXT(width, siz##_BYTES)), + CALC_DXT(width, siz##_BYTES)) #define gSPSetOtherModeHi(pkt, settings) gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings) #define gsSPSetOtherModeHi(settings) gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings) diff --git a/include/prevent_context_reordering.h b/include/prevent_context_reordering.h index 254d4221..6aee0559 100644 --- a/include/prevent_context_reordering.h +++ b/include/prevent_context_reordering.h @@ -7,9 +7,9 @@ extern int Dummyhalf; // struct Dummy2 {int x;}; // struct Dummy3 {int x;}; // struct Dummy4 {int x;}; -struct Dummy5 {int x;}; -struct Dummy6 {int x;}; -struct Dummy7 {int x;}; +// struct Dummy5 {int x;}; +// struct Dummy6 {int x;}; +// struct Dummy7 {int x;}; struct Dummy8 {int x;}; struct Dummy9 {int x;}; struct Dummy10 {int x;}; diff --git a/include/sf64level.h b/include/sf64level.h index e6ebe7d2..d744cd7c 100644 --- a/include/sf64level.h +++ b/include/sf64level.h @@ -115,4 +115,149 @@ typedef enum VsStage { /* 2 */ VS_STAGE_SECTOR_Z, } VsStage; +#define EVENT_CMD(opcode, arg1, arg2) ((((opcode) & 0x7F) << 9) | ((arg1) & 0x1FF)), (arg2) +#define EVENT_PLAY_MSG(rcid, msg) EVENT_CMD(EVOP_PLAY_MSG, rcid, msg) +#define EVENT_STOP_SCRIPT() EVENT_CMD(EVOP_STOP_SCRIPT, 0, 0) +#define EVENT_MAKE_TEXLINE(color) EVENT_CMD(EVOP_MAKE_TEXLINE, 0, color) +#define EVENT_STOP_TEXLINE() EVENT_CMD(EVOP_STOP_TEXLINE, 0, 0) +#define EVENT_INIT_ACTOR(health, info) EVENT_CMD(EVOP_INIT_ACTOR, health, info) +#define EVENT_SET_SPEED(speed, time, flag1, flag2) EVENT_CMD(EVOP_SET_SPEED, (((flag1) & 1) << 8) | (((flag2) & 1) << 7) | ((speed) & 0x7F), time) +#define EVENT_SET_ACCEL(speedTarget, time, flag1, flag2) EVENT_CMD(EVOP_SET_ACCEL, (((flag1) & 1) << 8) | (((flag2) & 1) << 7) | ((speedTarget) & 0x7F), time) +#define EVENT_SET_ROTATE() EVENT_CMD(EVOP_SET_ROTATE, 0, 0) +#define EVENT_STOP_ROTATE() EVENT_CMD(EVOP_STOP_ROTATE, 0, 0) +#define EVENT_BRANCH(cond, cmd) EVENT_CMD(EVOP_BRANCH, cmd, cond) +#define EVENT_LOOP(cmd, count) EVENT_CMD(EVOP_LOOP, cmd, count) + +typedef enum EventOpcode { + /* 0 */ EVOP_SET_SPEED, + /* 1 */ EVOP_SET_ACCEL, + /* 2 */ EVOP_2, + /* 3 */ EVOP_3, + /* 4 */ EVOP_4, + /* 8 */ EVOP_8 = 8, + /* 9 */ EVOP_9, + /* 10 */ EVOP_10, + /* 11 */ EVOP_11, + /* 12 */ EVOP_12, + /* 16 */ EVOP_16 = 16, + /* 17 */ EVOP_17, + /* 18 */ EVOP_18, + /* 19 */ EVOP_19, + /* 20 */ EVOP_20, + /* 21 */ EVOP_21, + /* 24 */ EVOP_SET_ROTATE = 24, + /* 25 */ EVOP_STOP_ROTATE, + /* 40 */ EVOP_40 = 40, + /* 41 */ EVOP_41, + /* 42 */ EVOP_42, + /* 43 */ EVOP_43, + /* 44 */ EVOP_44, + /* 45 */ EVOP_45, + /* 46 */ EVOP_46, + /* 47 */ EVOP_47, + /* 48 */ EVOP_48, + /* 56 */ EVOP_56 = 56, + /* 57 */ EVOP_57, + /* 58 */ EVOP_58, + /* 59 */ EVOP_59, + /* 96 */ EVOP_BRANCH = 96, + /* 104 */ EVOP_INIT_ACTOR = 104, + /* 105 */ EVOP_105, + /* 112 */ EVOP_112 = 112, + /* 113 */ EVOP_113, + /* 116 */ EVOP_116 = 116, + /* 118 */ EVOP_118 = 118, + /* 119 */ EVOP_119, + /* 120 */ EVOP_PLAY_MSG, // play message. arg1 is portrait, arg2 is message ID + /* 121 */ EVOP_121, + /* 122 */ EVOP_122, + /* 124 */ EVOP_MAKE_TEXLINE = 124, + /* 125 */ EVOP_STOP_TEXLINE, + /* 126 */ EVOP_LOOP, + /* 127 */ EVOP_STOP_SCRIPT, // stop script +} EventOpcode; + +typedef enum EventCondition { + /* 0 */ EVC_0, + /* 1 */ EVC_1, + /* 2 */ EVC_2, + /* 3 */ EVC_3, + /* 4 */ EVC_4, + /* 5 */ EVC_5, + /* 6 */ EVC_6, + /* 7 */ EVC_7, + /* 8 */ EVC_8, + /* 9 */ EVC_9, + /* 10 */ EVC_10, + /* 11 */ EVC_11, + /* 12 */ EVC_12, + /* 13 */ EVC_13, + /* 14 */ EVC_14, + /* 15 */ EVC_15, + /* 16 */ EVC_16, + /* 17 */ EVC_17, + /* 18 */ EVC_18, + /* 19 */ EVC_19, + /* 20 */ EVC_20, + /* 21 */ EVC_21, + /* 22 */ EVC_22, + /* 23 */ EVC_23, + /* 24 */ EVC_24, + /* 25 */ EVC_25, + /* 26 */ EVC_26, + /* 27 */ EVC_27, + /* 28 */ EVC_28, + /* 29 */ EVC_29, + /* 30 */ EVC_30, + /* 31 */ EVC_31, + /* 32 */ EVC_32, + /* 33 */ EVC_33, + /* 34 */ EVC_34, + /* 35 */ EVC_35, + /* 36 */ EVC_36, + /* 37 */ EVC_37, + /* 38 */ EVC_38, + /* 39 */ EVC_39, + /* 40 */ EVC_40, + /* 41 */ EVC_41, + /* 42 */ EVC_42, + /* 43 */ EVC_43, + /* 44 */ EVC_44, + /* 45 */ EVC_45, + /* 46 */ EVC_46, + /* 47 */ EVC_47, + /* 48 */ EVC_48, + /* 49 */ EVC_49, + /* 50 */ EVC_50, + /* 51 */ EVC_51, + /* 52 */ EVC_52, + /* 53 */ EVC_53, + /* 54 */ EVC_54, + /* 55 */ EVC_55, + /* 56 */ EVC_56, + /* 57 */ EVC_57, + /* 58 */ EVC_58, + /* 59 */ EVC_59, + /* 60 */ EVC_60, + /* 61 */ EVC_61, + /* 62 */ EVC_62, + /* 63 */ EVC_63, + /* 64 */ EVC_64, + /* 65 */ EVC_65, + /* 66 */ EVC_66, + /* 67 */ EVC_67, + /* 68 */ EVC_68, + /* 69 */ EVC_69, + /* 100 */ EVC_100=100, +} EventCondition; + +typedef enum TexLineColor { + /* 0 */ TXLC_WHITE, + /* 1 */ TXLC_LIGHT_BLUE, + /* 2 */ TXLC_BLUE, + /* 3 */ TXLC_GREEN, + /* 4 */ TXLC_RED, + /* 5 */ TXLC_YELLOW, +} TexLineColor; + #endif diff --git a/include/sf64mesg.h b/include/sf64mesg.h index 23fdf80d..81c232f9 100644 --- a/include/sf64mesg.h +++ b/include/sf64mesg.h @@ -18,7 +18,7 @@ bool Message_DisplayText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 len) void Message_DisplayScrollingText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 yRangeHi, s32 yRangeLo, s32 len); bool Message_IsPrintingChar(u16* msgPtr, s32 charPos); -typedef enum { +typedef enum RadioCharacterId { RCID_FOX = 0, RCID_FOX_OPEN, RCID_FOX_RED = 5, @@ -99,6 +99,10 @@ typedef enum { RCID_FOX_EXPERT_OPEN, } RadioCharacterId; +void Radio_PlayMessage(u16*, enum RadioCharacterId); +void func_800BB388(void); +void func_800BB5D0(void); + typedef enum { MSGCHAR_END, MSGCHAR_NWL, diff --git a/include/sf64object.h b/include/sf64object.h index af71cd67..1c2db480 100644 --- a/include/sf64object.h +++ b/include/sf64object.h @@ -85,17 +85,17 @@ typedef struct { } ObjectInit; // size = 0x14 typedef struct { - /* 0x00 */ Gfx* unk_00; - /* 0x04 */ f32* unk_04; - /* 0x08 */ f32 unk_08; - /* 0x0C */ f32 unk_0C; + /* 0x00 */ Gfx* dList; + /* 0x04 */ f32* hitbox; + /* 0x08 */ f32 scale; + /* 0x0C */ f32 info_unk_10; /* 0x10 */ f32 unk_10; - /* 0x14 */ u8 unk_14; - /* 0x15 */ u8 unk_15; - /* 0x16 */ u8 unk_16; - /* 0x17 */ u8 unk_17; - /* 0x18 */ f32 unk_18; - /* 0x1C */ u8 unk_1C; + /* 0x14 */ u8 info_unk_16; + /* 0x15 */ u8 info_unk_14; + /* 0x16 */ u8 sfx; + /* 0x17 */ u8 info_unk_19; + /* 0x18 */ f32 info_unk_1C; + /* 0x1C */ u8 bonus; } UnkStruct_D003C; // size = 0x20 typedef enum ObjectStatus { @@ -275,8 +275,8 @@ typedef struct { /* 0x0D4 */ s16 unk_0D4; /* 0x0D6 */ u16 damage; /* 0x0D8 */ Vec3f unk_0D8; - /* 0x0E4 */ s16 unk_0E4; - /* 0x0E6 */ s16 unk_0E6; + /* 0x0E4 */ s16 aiType; + /* 0x0E6 */ s16 aiIndex; /* 0x0E8 */ Vec3f vel; /* 0x0F4 */ Vec3f unk_0F4; /* 0x100 */ f32 sfxSource[3]; @@ -286,57 +286,6 @@ typedef struct { /* 0x18C */ Vec3f vwork[30]; } Actor; // size = 0x2F4 -#define EVENT_CMD(opcode, arg1, arg2) ((((opcode) & 0x7F) << 9) | ((arg1) & 0x1FF)), (arg2) - -typedef enum EventOpcode { - /* 0 */ EVOP_0, - /* 1 */ EVOP_1, - /* 2 */ EVOP_2, - /* 3 */ EVOP_3, - /* 4 */ EVOP_4, - /* 8 */ EVOP_8 = 8, - /* 9 */ EVOP_9, - /* 10 */ EVOP_10, - /* 11 */ EVOP_11, - /* 12 */ EVOP_12, - /* 16 */ EVOP_16 = 16, - /* 17 */ EVOP_17, - /* 18 */ EVOP_18, - /* 19 */ EVOP_19, - /* 20 */ EVOP_20, - /* 21 */ EVOP_21, - /* 24 */ EVOP_24 = 24, - /* 25 */ EVOP_25, - /* 40 */ EVOP_40 = 40, - /* 41 */ EVOP_41, - /* 42 */ EVOP_42, - /* 43 */ EVOP_43, - /* 44 */ EVOP_44, - /* 45 */ EVOP_45, - /* 46 */ EVOP_46, - /* 47 */ EVOP_47, - /* 48 */ EVOP_48, - /* 56 */ EVOP_56 = 56, - /* 57 */ EVOP_57, - /* 58 */ EVOP_58, - /* 59 */ EVOP_59, - /* 96 */ EVOP_96 = 96, - /* 104 */ EVOP_104 = 104, - /* 105 */ EVOP_105, - /* 112 */ EVOP_112 = 112, - /* 113 */ EVOP_113, - /* 116 */ EVOP_116 = 116, - /* 118 */ EVOP_118 = 118, - /* 119 */ EVOP_119, - /* 120 */ EVOP_120, // play message. arg1 is portrait, arg2 is message ID - /* 121 */ EVOP_121, - /* 122 */ EVOP_122, - /* 124 */ EVOP_124 = 124, - /* 125 */ EVOP_125, - /* 126 */ EVOP_126, - /* 127 */ EVOP_127, // stop script -} EventOpcode; - typedef enum ObjectId { /* -1 */ OBJ_INVALID=-1, /* 0 */ OBJ_80_0, |
