Fix optionDll inconsistencies

This commit is contained in:
kabiskac 2024-08-04 18:41:54 +02:00
parent 3a7cde9f33
commit f2de6f7466
4 changed files with 29 additions and 43 deletions

View file

@ -18,6 +18,12 @@ typedef struct {
/* 0x18 */ GXColor color;
} UnkLightDataStruct; /* size = 0x1C */ // TODO same as m446Dll::unkStruct10 and present::UnkPresentStruct3
typedef struct UnkShadowDataStruct {
/* 0x00 */ Vec pos;
/* 0x0C */ Vec up;
/* 0x18 */ Vec target;
} UnkShadowDataStruct; /* size = 0x24 */
static void ExecState(omObjData *object);
omObjData *optionState;
@ -28,7 +34,7 @@ static UnkLightDataStruct lightTbl = {
{ 0xFF, 0xFF, 0xFF, 0xFF },
};
static Vec shadowPosTbl[3] = {
static UnkShadowDataStruct shadowPosTbl = {
{ 0.0f, 3000.0f, 1.0f },
{ 0.0f, 1.0f, 0.0f },
{ 0.0f, 0.0f, 0.0f },
@ -36,12 +42,10 @@ static Vec shadowPosTbl[3] = {
omObjData *OptionStateCreate(void)
{
omObjData *object;
StateWork *work;
LightData *lightData;
object = omAddObjEx(optionObjMan, 1000, 0, 0, 4, ExecState);
work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(StateWork), MEMORY_DEFAULT_NUM);
omObjData *object = omAddObjEx(optionObjMan, 1000, 0, 0, 4, ExecState);
StateWork *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(StateWork), MEMORY_DEFAULT_NUM);
object->data = work;
optionCamera = OptionCameraCreate();
optionRoom = OptionRoomCreate();
@ -52,7 +56,7 @@ omObjData *OptionStateCreate(void)
lightData = &Hu3DGlobalLight[work->light];
Hu3DShadowCreate(30.0f, 20.0f, 5000.0f);
Hu3DShadowTPLvlSet(0.45f);
Hu3DShadowPosSet(&shadowPosTbl[0], &shadowPosTbl[1], &shadowPosTbl[2]);
Hu3DShadowPosSet(&shadowPosTbl.pos, &shadowPosTbl.up, &shadowPosTbl.target);
return object;
}