Named most things in presentDll
This commit is contained in:
parent
a7bde60c97
commit
3a7cde9f33
7 changed files with 1301 additions and 1127 deletions
|
|
@ -8,158 +8,158 @@
|
|||
|
||||
#include "REL/present.h"
|
||||
|
||||
typedef struct UnkPresentStruct6 {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x04 */ float unk_04;
|
||||
/* 0x08 */ float unk_08;
|
||||
} UnkPresentStruct6; /* size 0x0C */ // looks like a struct in option/scene.c
|
||||
typedef struct FaderWork {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x04 */ float tplvl;
|
||||
/* 0x08 */ float speed;
|
||||
} FaderWork; /* size 0x0C */ // same as in option/scene.c
|
||||
|
||||
typedef struct UnkPresentStruct6Weird {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x04 */ float unk_04;
|
||||
/* 0x08 */ float unk_08;
|
||||
/* 0x0C */ float unk_0C;
|
||||
} UnkPresentStruct6Weird; /* size = 0x10 */ // looks like a struct in option/scene.c
|
||||
typedef struct FaderWork2 {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x04 */ float tpMultiplier;
|
||||
/* 0x08 */ float tplvl;
|
||||
/* 0x0C */ float speed;
|
||||
} FaderWork2; /* size = 0x10 */
|
||||
|
||||
omObjData *lbl_1_bss_18;
|
||||
omObjData *presentState;
|
||||
omObjData *lbl_1_bss_14;
|
||||
omObjData *lbl_1_bss_10;
|
||||
omObjData *present;
|
||||
omObjData *lbl_1_bss_C;
|
||||
omObjData *lbl_1_bss_8;
|
||||
Process *lbl_1_bss_4;
|
||||
omObjData *lbl_1_bss_0;
|
||||
omObjData *presentCamera;
|
||||
Process *presentObjMan;
|
||||
static omObjData *scene;
|
||||
|
||||
static void fn_1_254(void);
|
||||
static void fn_1_45C(void);
|
||||
static void fn_1_5EC(omObjData *object);
|
||||
static void FadeSprite(void);
|
||||
static void FadeModel(void);
|
||||
static void SceneMain(omObjData *object);
|
||||
|
||||
void ObjectSetup(void)
|
||||
{
|
||||
lbl_1_bss_4 = omInitObjMan(150, 8192);
|
||||
omGameSysInit(lbl_1_bss_4);
|
||||
presentObjMan = omInitObjMan(150, 8192);
|
||||
omGameSysInit(presentObjMan);
|
||||
HuWinInit(1);
|
||||
lbl_1_bss_0 = omAddObjEx(lbl_1_bss_4, 1000, 0, 0, 0, fn_1_5EC);
|
||||
lbl_1_bss_0->unk10 = 0;
|
||||
lbl_1_bss_18 = fn_1_39A8();
|
||||
scene = omAddObjEx(presentObjMan, 1000, 0, 0, 0, SceneMain);
|
||||
scene->unk10 = 0;
|
||||
presentState = PresentStateCreate();
|
||||
}
|
||||
|
||||
void fn_1_144(s16 arg0, s32 arg1, s32 arg2)
|
||||
void PresentFadeSprite(s16 sprite, BOOL inF, s32 duration)
|
||||
{
|
||||
Process *var_r30;
|
||||
Process *process;
|
||||
|
||||
UnkPresentStruct6 *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkPresentStruct6), MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_00 = arg0;
|
||||
var_r31->unk_08 = 1.0f / arg2;
|
||||
if (arg1) {
|
||||
var_r31->unk_08 = var_r31->unk_08;
|
||||
var_r31->unk_04 = 0.0f;
|
||||
FaderWork *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(FaderWork), MEMORY_DEFAULT_NUM);
|
||||
work->id = sprite;
|
||||
work->speed = 1.0f / duration;
|
||||
if (inF) {
|
||||
work->speed = work->speed;
|
||||
work->tplvl = 0.0f;
|
||||
}
|
||||
else {
|
||||
var_r31->unk_08 = -var_r31->unk_08;
|
||||
var_r31->unk_04 = 1.0f;
|
||||
work->speed = -work->speed;
|
||||
work->tplvl = 1.0f;
|
||||
}
|
||||
espDispOn(var_r31->unk_00);
|
||||
espTPLvlSet(var_r31->unk_00, var_r31->unk_04);
|
||||
var_r30 = HuPrcChildCreate(fn_1_254, 100, 5376, 0, HuPrcCurrentGet());
|
||||
var_r30->user_data = var_r31;
|
||||
espDispOn(work->id);
|
||||
espTPLvlSet(work->id, work->tplvl);
|
||||
process = HuPrcChildCreate(FadeSprite, 100, 5376, 0, HuPrcCurrentGet());
|
||||
process->user_data = work;
|
||||
}
|
||||
|
||||
static void fn_1_254(void)
|
||||
static void FadeSprite(void)
|
||||
{
|
||||
UnkPresentStruct6 *var_r31 = HuPrcCurrentGet()->user_data;
|
||||
FaderWork *work = HuPrcCurrentGet()->user_data;
|
||||
|
||||
while (TRUE) {
|
||||
var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_08;
|
||||
if (var_r31->unk_04 > 1.0f) {
|
||||
var_r31->unk_04 = 1.0f;
|
||||
work->tplvl = work->tplvl + work->speed;
|
||||
if (work->tplvl > 1.0f) {
|
||||
work->tplvl = 1.0f;
|
||||
break;
|
||||
}
|
||||
else if (var_r31->unk_04 < 0.0f) {
|
||||
var_r31->unk_04 = 0.0f;
|
||||
else if (work->tplvl < 0.0f) {
|
||||
work->tplvl = 0.0f;
|
||||
break;
|
||||
}
|
||||
else {
|
||||
espTPLvlSet(var_r31->unk_00, var_r31->unk_04);
|
||||
espTPLvlSet(work->id, work->tplvl);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
espTPLvlSet(var_r31->unk_00, var_r31->unk_04);
|
||||
if (var_r31->unk_08 < 0.0f) {
|
||||
espDispOff(var_r31->unk_00);
|
||||
espTPLvlSet(work->id, work->tplvl);
|
||||
if (work->speed < 0.0f) {
|
||||
espDispOff(work->id);
|
||||
}
|
||||
HuMemDirectFree(work);
|
||||
HuPrcEnd();
|
||||
}
|
||||
|
||||
void FadeSpriteWithMultiplier(s16 model, BOOL inF, float tpMultiplier, s32 duration)
|
||||
{
|
||||
Process *process;
|
||||
// bug: wrong struct in sizeof
|
||||
FaderWork2 *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(FaderWork), MEMORY_DEFAULT_NUM);
|
||||
work->id = model;
|
||||
work->speed = 1.0f / duration;
|
||||
work->tpMultiplier = tpMultiplier;
|
||||
|
||||
if (inF) {
|
||||
work->speed = work->speed;
|
||||
work->tplvl = 0.0f;
|
||||
}
|
||||
else {
|
||||
work->speed = -work->speed;
|
||||
work->tplvl = 1.0f;
|
||||
}
|
||||
Hu3DModelTPLvlSet(work->id, work->tplvl * work->tpMultiplier);
|
||||
Hu3DModelAttrReset(work->id, 1);
|
||||
process = HuPrcChildCreate(FadeModel, 100, 5376, 0, HuPrcCurrentGet());
|
||||
process->user_data = work;
|
||||
}
|
||||
|
||||
static void FadeModel(void)
|
||||
{
|
||||
FaderWork2 *var_r31 = HuPrcCurrentGet()->user_data;
|
||||
|
||||
while (TRUE) {
|
||||
var_r31->tplvl += var_r31->speed;
|
||||
if (var_r31->tplvl > 1.0f) {
|
||||
var_r31->tplvl = 1.0f;
|
||||
break;
|
||||
}
|
||||
else if (var_r31->tplvl < 0.0f) {
|
||||
var_r31->tplvl = 0.0f;
|
||||
break;
|
||||
}
|
||||
else {
|
||||
Hu3DModelTPLvlSet(var_r31->id, var_r31->tplvl * var_r31->tpMultiplier);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
Hu3DModelTPLvlSet(var_r31->id, var_r31->tplvl * var_r31->tpMultiplier);
|
||||
if (var_r31->speed < 0.0f) {
|
||||
Hu3DModelAttrSet(var_r31->id, 1);
|
||||
}
|
||||
HuMemDirectFree(var_r31);
|
||||
HuPrcEnd();
|
||||
}
|
||||
|
||||
void fn_1_334(s16 arg0, s32 arg1, float arg8, s32 arg2)
|
||||
BOOL PresentPadCheck(u16 btn)
|
||||
{
|
||||
Process *var_r30;
|
||||
// TODO correct type? why are only 12 bytes allocated?
|
||||
UnkPresentStruct6Weird *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 12, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_00 = arg0;
|
||||
var_r31->unk_0C = 1.0f / arg2;
|
||||
var_r31->unk_04 = arg8;
|
||||
|
||||
if (arg1) {
|
||||
var_r31->unk_0C = var_r31->unk_0C;
|
||||
var_r31->unk_08 = 0.0f;
|
||||
}
|
||||
else {
|
||||
var_r31->unk_0C = -var_r31->unk_0C;
|
||||
var_r31->unk_08 = 1.0f;
|
||||
}
|
||||
Hu3DModelTPLvlSet(var_r31->unk_00, var_r31->unk_08 * var_r31->unk_04);
|
||||
Hu3DModelAttrReset(var_r31->unk_00, 1);
|
||||
var_r30 = HuPrcChildCreate(fn_1_45C, 100, 5376, 0, HuPrcCurrentGet());
|
||||
var_r30->user_data = var_r31;
|
||||
}
|
||||
|
||||
static void fn_1_45C(void)
|
||||
{
|
||||
UnkPresentStruct6Weird *var_r31 = HuPrcCurrentGet()->user_data;
|
||||
|
||||
while (TRUE) {
|
||||
var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_0C;
|
||||
if (var_r31->unk_08 > 1.0f) {
|
||||
var_r31->unk_08 = 1.0f;
|
||||
break;
|
||||
}
|
||||
else if (var_r31->unk_08 < 0.0f) {
|
||||
var_r31->unk_08 = 0.0f;
|
||||
break;
|
||||
}
|
||||
else {
|
||||
Hu3DModelTPLvlSet(var_r31->unk_00, var_r31->unk_08 * var_r31->unk_04);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
Hu3DModelTPLvlSet(var_r31->unk_00, var_r31->unk_08 * var_r31->unk_04);
|
||||
if (var_r31->unk_0C < 0.0f) {
|
||||
Hu3DModelAttrSet(var_r31->unk_00, 1);
|
||||
}
|
||||
HuMemDirectFree(var_r31);
|
||||
HuPrcEnd();
|
||||
}
|
||||
|
||||
s32 fn_1_550(u16 arg0)
|
||||
{
|
||||
u32 var_r31 = HuPadBtnDown[0] & arg0;
|
||||
u32 var_r31 = HuPadBtnDown[0] & btn;
|
||||
return var_r31 != 0;
|
||||
}
|
||||
|
||||
s32 fn_1_584(u16 arg0)
|
||||
BOOL PresentPadDStkRepCheck(u16 dir)
|
||||
{
|
||||
u32 var_r31 = HuPadDStkRep[0] & arg0;
|
||||
u32 var_r31 = HuPadDStkRep[0] & dir;
|
||||
return var_r31 != 0;
|
||||
}
|
||||
|
||||
s32 fn_1_5B8(u16 arg0)
|
||||
BOOL PresentPadDStkCheck(u16 dir)
|
||||
{
|
||||
u32 var_r31 = HuPadDStk[0] & arg0;
|
||||
u32 var_r31 = HuPadDStk[0] & dir;
|
||||
return var_r31 != 0;
|
||||
}
|
||||
|
||||
static void fn_1_5EC(omObjData *object)
|
||||
static void SceneMain(omObjData *object)
|
||||
{
|
||||
switch (object->unk10) {
|
||||
case 0:
|
||||
|
|
@ -176,7 +176,7 @@ static void fn_1_5EC(omObjData *object)
|
|||
break;
|
||||
case 3:
|
||||
if (!WipeStatGet()) {
|
||||
fn_1_3B18(lbl_1_bss_18);
|
||||
PresentStateKill(presentState);
|
||||
omOvlReturnEx(1, 1);
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue