diff --git a/config/rel_slices.yml b/config/rel_slices.yml index fdb2a862..aa77e6ed 100644 --- a/config/rel_slices.yml +++ b/config/rel_slices.yml @@ -13,11 +13,11 @@ m_fbdemo.c: #m_fbdemo_triforce.c: # .text: [0x803A0ABC, 0x803A0F00] # .rodata: [0x80641F60, 0x80641FA0] -#m_fbdemo_wipe1.c: #some rodata is 8 bytes long, when it should be 4 -# .text: [0x803A0F00, 0x803A12F8] -# .rodata: [0x80641FA0, 0x80641FC0] -# .data: [0x80652AD0, 0x80653558] -m_fbdemo_fade.c: #data content mismatch +#m_fbdemo_wipe1.c: #data mismatch +# .text: [0x803A0F00, 0x803A12F8] +# .rodata: [0x80641FA0, 0x80641FC0] +# .data: [0x80652AD0, 0x80653558] +m_fbdemo_fade.c: .text: [0x803A12F8, 0x803A1508] .rodata: [0x80641FC0, 0x80641FD8] .data: [0x80653558, 0x806535A0] diff --git a/include/libultra/gu.h b/include/libultra/gu.h index 0e7fe7ef..e84513a7 100644 --- a/include/libultra/gu.h +++ b/include/libultra/gu.h @@ -30,6 +30,17 @@ void guMtxIdent(Mtx *m); void guNormalize(float* x, float* y, float* z); void guOrtho(Mtx *m, float l, float r, float b, float t, float n, float f, float scale); +void guRotate(Mtx* m, float a, float x, float y, float z); + + void guLookAt(Mtx *m, + float xEye, float yEye, float zEye, + float xAt, float yAt, float zAt, + float xUp, float yUp, float zUp); + +void guPerspective(Mtx *m, u16 *perspNorm, float fovy, + float aspect, float near, float far, float scale); + + void guLookAtHilite (Mtx *m, LookAt *l, Hilite *h, float xEye, float yEye, float zEye, float xAt, float yAt, float zAt, @@ -38,4 +49,4 @@ void guLookAtHilite (Mtx *m, LookAt *l, Hilite *h, float xl2, float yl2, float zl2, /* light 2 direction */ int twidth, int theight); /* highlight txtr size*/ -#endif \ No newline at end of file +#endif diff --git a/include/m_lib.h b/include/m_lib.h index 87134171..8f8e881e 100644 --- a/include/m_lib.h +++ b/include/m_lib.h @@ -3,7 +3,7 @@ #include "types.h" #include "m_play.h" -#include "m_actor.h" +#include "m_actor_type.h" #ifdef __cplusplus extern "C" { @@ -80,4 +80,4 @@ extern f32 get_percent(const int max, const int min, const int x); } #endif -#endif \ No newline at end of file +#endif diff --git a/rel/m_fbdemo_wipe1.c b/rel/m_fbdemo_wipe1.c index 37276a13..9700dca6 100644 --- a/rel/m_fbdemo_wipe1.c +++ b/rel/m_fbdemo_wipe1.c @@ -28,8 +28,8 @@ void fbdemo_wipe1_move(TransitionWipe* this, int rate){ if (this->direction != 0) { this->texY += (((void)0, Common_Get(transWipeSpeed)) * 3) / rate; - if (this->texY >= (int)(153.0f * (1 << 2))) { - this->texY = (int)(153.0f * (1 << 2)); + if (this->texY >= (int)(153 * (1 << 2))) { + this->texY = (int)(153 * (1 << 2)); this->finished = 1; } } else { @@ -80,12 +80,12 @@ void fbdemo_wipe1_startup(TransitionWipe* this) { this->finished = 0; if (this->direction != 0) { - this->texY = (s32)(83.25f * (1 << 2)); + this->texY = (int)(83.25f * (1 << 2)); } else { - this->texY = (s32)(153.0f * (1 << 2)); + this->texY = (int)(153.0f * (1 << 2)); } - guPerspective(&this->projection, &this->normal, 60.0f, (4.0f / 3.0f), 10.0f, 12800.0f, 1.0f); + guPerspective(&this->projection, &this->normal, 60.0f, 1.33333337307f, 10.0f, 12800.0f, 1.0f); guLookAt(&this->lookAt, 0.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); } @@ -107,4 +107,4 @@ void fbdemo_wipe1_setcolor_rgba8888(TransitionWipe* this, u32 color){ u8 fbdemo_wipe1_is_finish(TransitionWipe* this){ return this->finished; -} \ No newline at end of file +}