Fbdemo_circle OK (#1024)

* some progress, nasty draw func only thing to do

* pushing for engineer

* matching with no warnings

* fixes

* minor names

* PR feedback

* fixes for PR

* docs

* PR comments

* fixing format and found bit shift
This commit is contained in:
Parker Burnett
2022-10-04 13:55:20 +01:00
committed by GitHub
parent 4833c08364
commit 6c414889c9
6 changed files with 172 additions and 23 deletions
+10 -9
View File
@@ -2420,15 +2420,16 @@ void* TransitionFade_Init(void* param_1);
// void TransitionFade_IsDone(void);
// void TransitionFade_SetColor(void);
// void TransitionFade_SetType(void);
// void TransitionCircle_Start(void);
// void TransitionCircle_Init(void);
// void TransitionCircle_Destroy(void);
// void TransitionCircle_Update(void);
// void TransitionCircle_SetColor(void);
// void TransitionCircle_SetType(void);
void func_80164C14(Gfx** arg0, TexturePtr* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, f32 arg6);
// void TransitionCircle_Draw(void);
// void TransitionCircle_IsDone(void);
void TransitionCircle_Start(void* thisx);
void* TransitionCircle_Init(void* thisx);
void TransitionCircle_Destroy(void* thisx);
void TransitionCircle_Update(void* thisx);
void TransitionCircle_SetColor(void* thisx, u32 color);
void TransitionCircle_SetType(void* thisx, s32 type);
void TransitionCircle_LoadAndSetTexture(Gfx** gfxp, TexturePtr texture, s32 fmt, s32 arg3, s32 masks, s32 maskt,
f32 arg6);
void TransitionCircle_Draw(void* thisx, Gfx** gfxp);
s32 TransitionCircle_IsDone(void* thisx);
// void func_801651B0(void);
// void func_80165224(void);
// void func_80165288(void);
+2 -2
View File
@@ -1472,7 +1472,7 @@ extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
// extern UNK_TYPE1 D_801D0C80;
// extern UNK_TYPE1 D_801D0CB0;
extern const TransitionInit TransitionFade_InitVars;
// extern UNK_TYPE1 D_801D0D00;
extern Gfx D_801D0D00[];
extern const TransitionInit TransitionCircle_InitVars;
extern s32 gDbgCamEnabled;
// extern UNK_TYPE1 D_801D0D54;
@@ -2703,7 +2703,7 @@ extern f32 D_801DE860;
extern f32 D_801DE864;
extern f32 D_801DE868;
extern f32 D_801DE884;
extern TexturePtr gCircleTex;
extern TexturePtr gCircleTex[];
extern f32 D_801DF090;
extern f32 D_801DF094;
extern f32 D_801DF0A0;
+24 -1
View File
@@ -3,6 +3,8 @@
#include "ultra64.h"
#define TC_SET_PARAMS (1 << 7)
typedef struct {
/* 0x00 */ void* (*init)(void* transition);
/* 0x04 */ void (*destroy)(void* transition);
@@ -21,8 +23,29 @@ typedef struct {
extern const TransitionInit TransitionFade_InitVars;
typedef enum {
/* 0 */ TRANSITION_CIRCLE_IN,
/* 1 */ TRANSITION_CIRCLE_OUT,
} TransitionCircleDirection;
#define FBDEMO_CIRCLE_GET_MASK_TYPE(type) (type & 1)
typedef struct {
/* 0x00 */ char unk_0[0x20];
/* 0x00 */ Color_RGBA8_u32 color;
/* 0x04 */ f32 referenceRadius; // Reference for where to transition to
/* 0x08 */ f32 stepValue; // How fast the Transition is
/* 0x0C */ f32 startingRadius; // Radius value where transition will begin
/* 0x10 */ f32 targetRadius; // Final radius of transition circle
/* 0x14 */ u8 direction; // Direction the circle is transitioning ( In / Out )
/* 0x15 */ u8 maskType; // Positive / Negative mask type. Value of 0 will create a black circle
/* 0x16 */ u8 isDone; // Signals when Transition is done updating
/* 0x17 */ UNK_TYPE1 pad_17; // struct padding
/* 0x18 */ TexturePtr texture;
/* 0x1C */ u8 masks;
/* 0x1D */ u8 maskt;
/* 0x1E */ s8 unk_1E; // Set to 4 and never used
/* 0x1F */ s8 unk_1F; // Set to 0 and never used
} TransitionCircle; // size = 0x20
extern const TransitionInit TransitionCircle_InitVars;