match and link m407/map.c
This commit is contained in:
parent
dab5f6028e
commit
4025072bf1
3 changed files with 128 additions and 4 deletions
|
|
@ -835,7 +835,7 @@ config.libs = [
|
|||
objects = {
|
||||
Object(Matching, "REL/executor.c"),
|
||||
Object(Matching, "REL/m407dll/player.c"),
|
||||
Object(NonMatching, "REL/m407dll/map.c"),
|
||||
Object(Matching, "REL/m407dll/map.c"),
|
||||
Object(NonMatching, "REL/m407dll/camera.c"),
|
||||
Object(NonMatching, "REL/m407dll/whomp.c"),
|
||||
Object(NonMatching, "REL/m407dll/whomp_score.c"),
|
||||
|
|
|
|||
124
src/REL/m407dll/map.c
Normal file
124
src/REL/m407dll/map.c
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
#include "game/process.h"
|
||||
#include "game/object.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/hsfman.h"
|
||||
|
||||
void fn_1_162C(omObjData*);
|
||||
void fn_1_1A8C(omObjData*);
|
||||
|
||||
Process* lbl_1_bss_2C;
|
||||
omObjData* lbl_1_bss_28;
|
||||
s16 lbl_1_bss_24;
|
||||
s32 lbl_1_bss_20;
|
||||
|
||||
s32 lbl_1_data_198[] = {
|
||||
0x00260000,
|
||||
0x00260002,
|
||||
0x00260003,
|
||||
0x00260001,
|
||||
0x00260005,
|
||||
0x00260006,
|
||||
0x00260007,
|
||||
0x00260008,
|
||||
0x00260009,
|
||||
0x0026000A,
|
||||
0x0026000B,
|
||||
0x0026000C,
|
||||
0x00260004,
|
||||
};
|
||||
|
||||
Vec lbl_1_data_1CC[] = {
|
||||
{600.0f, 3.0f, -300.0f},
|
||||
{200.0f, 3.0f, -300.0f},
|
||||
{-200.0f, 3.0f, -300.0f},
|
||||
{-600.0f, 3.0f, -300.0f}
|
||||
};
|
||||
|
||||
Point3d lbl_1_data_1FC = {2000.0f, 3000.0f, 2000.0f};
|
||||
Point3d lbl_1_data_208 = {-0.5f, -0.5f, -0.5f};
|
||||
GXColor lbl_1_data_214 = {255, 255, 255, 255};
|
||||
Point3d lbl_1_data_218 = {0.0f, 1.0f, 0.0f};
|
||||
|
||||
f32 pad[1] = {0.0f};
|
||||
|
||||
void fn_1_14F0(Process* arg0, s32 arg1) {
|
||||
LightData* sp10;
|
||||
|
||||
lbl_1_bss_2C = arg0;
|
||||
lbl_1_bss_20 = arg1;
|
||||
lbl_1_bss_28 = omAddObjEx(lbl_1_bss_2C, 0x100, 0xDU, 0U, 1, fn_1_162C);
|
||||
omSetStatBit(lbl_1_bss_28, 0x100U);
|
||||
Hu3DLighInit();
|
||||
lbl_1_bss_24 = Hu3DGLightCreateV(&lbl_1_data_1FC, &lbl_1_data_208, &lbl_1_data_214);
|
||||
Hu3DGLightInfinitytSet(lbl_1_bss_24);
|
||||
sp10 = &Hu3DGlobalLight[lbl_1_bss_24];
|
||||
}
|
||||
|
||||
void fn_1_15D8(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 13; i++) {
|
||||
Hu3DModelKill(lbl_1_bss_28->model[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_162C(omObjData* arg0) {
|
||||
s32 var_r30;
|
||||
s32 var_r30_2;
|
||||
s32 var_r30_3;
|
||||
s32 var_r30_4;
|
||||
s32 i;
|
||||
|
||||
arg0->func = fn_1_1A8C;
|
||||
arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[2], 0x10000000, HEAP_DATA));
|
||||
Hu3DModelShadowMapSet(arg0->model[0]);
|
||||
Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f);
|
||||
arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[3], 0x10000000, HEAP_DATA));
|
||||
Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelAttrSet(arg0->model[1], 1U);
|
||||
for (i = 0; i < 4; i++) {
|
||||
arg0->model[i+2] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[GWPlayerCfg[i].character + 4], 0x10000000, HEAP_DATA));
|
||||
Hu3DModelAmbSet(arg0->model[i + 2], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelShadowMapSet(arg0->model[i + 2]);
|
||||
}
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
if (i == 0) {
|
||||
arg0->model[i + 6] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[0], 0x10000000, HEAP_DATA));
|
||||
} else {
|
||||
arg0->model[i + 6] = Hu3DModelLink(arg0->model[6]);
|
||||
}
|
||||
Hu3DModelAmbSet(arg0->model[i + 6], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelShadowMapSet(arg0->model[i + 6]);
|
||||
}
|
||||
|
||||
arg0->model[11] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[12], 0x10000000, HEAP_DATA));
|
||||
arg0->model[12] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[1], 0x10000000, HEAP_DATA));
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
Hu3DModelPosSetV(arg0->model[i + 2], &lbl_1_data_1CC[i]);
|
||||
}
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
Hu3DModelPosSet(arg0->model[i + 6], 0.0f, 0.0f, -2000.0f + (8000.0f * (f32) i));
|
||||
}
|
||||
|
||||
Hu3DModelPosSet(arg0->model[11], 0.0f, 0.0f, -3900.0f);
|
||||
Hu3DModelPosSet(arg0->model[12], 0.0f, 0.0f, 0.0f);
|
||||
Hu3DModelAttrSet(arg0->model[12], 0x40000001);
|
||||
|
||||
if (lbl_1_bss_20 > 0) {
|
||||
Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, 200.0f * (f32) lbl_1_bss_20);
|
||||
Hu3DModelAttrReset(arg0->model[1], 1);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_1A8C(omObjData* arg0) {
|
||||
Point3d sp8;
|
||||
|
||||
sp8.x = lbl_1_data_1FC.x;
|
||||
sp8.y = lbl_1_data_1FC.y;
|
||||
sp8.z = lbl_1_data_1FC.z + Center.z;
|
||||
Hu3DGLightPosSetV(lbl_1_bss_24, &sp8, &lbl_1_data_208);
|
||||
Hu3DShadowPosSet(&sp8, &lbl_1_data_218, &Center);
|
||||
}
|
||||
|
|
@ -56,12 +56,12 @@ void fn_1_99C(omObjData*);
|
|||
void fn_1_A1C(omObjData* arg0);
|
||||
void fn_1_26CC(u8);
|
||||
void fn_1_4544(s32, s32, f32, f32, f32);
|
||||
s16 fn_1_28B8(u8); /* extern */
|
||||
s16 fn_1_28E4(u8); /* extern */
|
||||
s16 fn_1_28B8(u8);
|
||||
s16 fn_1_28E4(u8);
|
||||
double cos(double x);
|
||||
double sin(double x);
|
||||
|
||||
inline SetDominationDataStuff(omObjData* arg0, s32 val0, s32 val1) {
|
||||
inline void SetDominationDataStuff(omObjData* arg0, s32 val0, s32 val1) {
|
||||
unkDominationData* temp_r29 = arg0->data;
|
||||
temp_r29->unk_1C = val0;
|
||||
temp_r29->unk_20 = val1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue