Did m443Dll/main.c and map.c
Did the includes for m443Dll/player.c
This commit is contained in:
parent
58fc9a2993
commit
4aa1710243
7 changed files with 1621 additions and 205 deletions
1164
src/REL/m443Dll/main.c
Normal file
1164
src/REL/m443Dll/main.c
Normal file
File diff suppressed because it is too large
Load diff
183
src/REL/m443Dll/map.c
Normal file
183
src/REL/m443Dll/map.c
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
#include "datadir_enum.h"
|
||||
#include "ext_math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/hsfdraw.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
|
||||
#include "REL/m443Dll.h"
|
||||
|
||||
void fn_1_4AB4(omObjData *object);
|
||||
void fn_1_4D14(omObjData *object);
|
||||
|
||||
s32 lbl_1_data_240[5] = { 1, 2, 4, 8, 0x10 };
|
||||
|
||||
void fn_1_4A5C(Process *process)
|
||||
{
|
||||
omObjData *var_r31 = omAddObjEx(process, 0x1E, 0xD, 0, -1, fn_1_4AB4);
|
||||
var_r31->work[0] = 0;
|
||||
}
|
||||
|
||||
void fn_1_4AB0(void) { }
|
||||
|
||||
void fn_1_4AB4(omObjData *object)
|
||||
{
|
||||
s32 var_r30;
|
||||
|
||||
omSetTra(object, 0.0f, 0.0f, 0.0f);
|
||||
object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 0));
|
||||
Hu3DModelLayerSet(object->model[0], 2);
|
||||
object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 2));
|
||||
Hu3DModelLayerSet(object->model[2], 2);
|
||||
Hu3DModelAttrSet(object->model[2], 1);
|
||||
object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 4));
|
||||
Hu3DModelLayerSet(object->model[3], 2);
|
||||
Hu3DMotionSpeedSet(object->model[3], 0.0f);
|
||||
object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 3));
|
||||
Hu3DModelLayerSet(object->model[4], 2);
|
||||
for (var_r30 = 0; var_r30 < 4; var_r30++) {
|
||||
object->model[var_r30 + 5] = Hu3DModelLink(object->model[4]);
|
||||
Hu3DModelLayerSet(object->model[var_r30 + 5], 2);
|
||||
Hu3DModelScaleSet(object->model[var_r30 + 5], 0.93f, 0.93f, 0.93f);
|
||||
}
|
||||
for (var_r30 = 0; var_r30 < 4; var_r30++) {
|
||||
object->model[var_r30 + 9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 1));
|
||||
Hu3DModelLayerSet(object->model[var_r30 + 9], 2);
|
||||
Hu3DMotionSpeedSet(object->model[var_r30 + 9], 0.0f);
|
||||
}
|
||||
object->work[0] = 0;
|
||||
object->work[1] = 0;
|
||||
object->work[2] = 0;
|
||||
object->work[3] = 0;
|
||||
object->func = fn_1_4D14;
|
||||
}
|
||||
|
||||
typedef struct M443DllMapUnkStruct {
|
||||
Vec unk_00[4];
|
||||
float unk_30;
|
||||
} M443DllMapUnkStruct; /* size = 0x34 */
|
||||
|
||||
void fn_1_4D14(omObjData *object)
|
||||
{
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
|
||||
M443DllCameraStruct *var_r30;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
|
||||
var_r28 = 1;
|
||||
{
|
||||
Mtx sp5C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8 = { 0.0f, 0.0f, 0.0f };
|
||||
Vec sp2C[4] = {
|
||||
{ -50.0f, 0.0f, -150.0f },
|
||||
{ 50.0f, 0.0f, -150.0f },
|
||||
{ -50.0f, 0.0f, -150.0f },
|
||||
{ 50.0f, 0.0f, -150.0f },
|
||||
};
|
||||
|
||||
for (var_r29 = 0; var_r29 < 5; var_r29++) {
|
||||
var_r30 = fn_1_40AC(lbl_1_data_240[var_r29]);
|
||||
sp20.x = var_r30->unk_1C.x + (var_r30->unk_34 * (sind(var_r30->unk_28.y) * cosd(var_r30->unk_28.x)));
|
||||
sp20.y = var_r30->unk_1C.y + (var_r30->unk_34 * -sind(var_r30->unk_28.x));
|
||||
sp20.z = var_r30->unk_1C.z + (var_r30->unk_34 * (cosd(var_r30->unk_28.y) * cosd(var_r30->unk_28.x)));
|
||||
Hu3DModelPosSetV(object->model[var_r29 + 4], &sp20);
|
||||
fn_1_421C(object->model[var_r29 + 4], lbl_1_data_240[var_r29]);
|
||||
}
|
||||
object->work[1] += 1;
|
||||
var_f31 = 150.0f;
|
||||
switch (object->work[0]) {
|
||||
case 0:
|
||||
if (fn_1_3FFC() == 4) {
|
||||
object->work[0] += 1;
|
||||
object->work[1] = 0;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
var_f30 = 1.0f - (0.016666668f * object->work[1]);
|
||||
if (var_f30 <= 0.0f) {
|
||||
object->work[0] += 1;
|
||||
object->work[1] = 0;
|
||||
var_f30 = 0.0f;
|
||||
}
|
||||
var_f31 = var_f31 * var_f30;
|
||||
break;
|
||||
case 2:
|
||||
var_f31 = 0.0f;
|
||||
if (fn_1_42E4() < 2) {
|
||||
object->work[1] = 0;
|
||||
}
|
||||
if (object->work[1] >= 60.0f) {
|
||||
object->work[0] += 1;
|
||||
object->work[1] = 0;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
var_f30 = 0.016666668f * object->work[1];
|
||||
if (var_f30 > 1.0f) {
|
||||
object->work[0] += 1;
|
||||
object->work[1] = 0;
|
||||
var_r28 = 0;
|
||||
}
|
||||
var_f31 = var_f31 * var_f30;
|
||||
break;
|
||||
default:
|
||||
var_r28 = 0;
|
||||
break;
|
||||
}
|
||||
for (var_r29 = 0; var_r29 < 4; var_r29++) {
|
||||
var_r30 = fn_1_40AC(lbl_1_data_240[var_r29 + 1]);
|
||||
mtxRot(sp5C, var_r30->unk_28.x, var_r30->unk_28.y, 0.0f);
|
||||
sp8.z = var_r30->unk_34;
|
||||
PSMTXMultVec(sp5C, &sp8, &sp14);
|
||||
PSVECAdd(&var_r30->unk_1C, &sp14, &sp20);
|
||||
sp2C[var_r29].y += var_f31;
|
||||
PSMTXMultVec(sp5C, &sp2C[var_r29], &sp14);
|
||||
PSVECAdd(&sp20, &sp14, &sp20);
|
||||
Hu3DModelPosSetV(object->model[var_r29 + 9], &sp20);
|
||||
Hu3DModelRotSet(object->model[var_r29 + 9], var_r30->unk_28.x, var_r30->unk_28.y, 0.0f);
|
||||
Hu3DModelScaleSet(object->model[var_r29 + 9], 0.15f, 0.15f, 0.15f);
|
||||
fn_1_421C(object->model[var_r29 + 9], lbl_1_data_240[var_r29 + 1]);
|
||||
if (fn_1_42E4() >= 1) {
|
||||
if (object->work[2] == 0) {
|
||||
object->work[2] = 1;
|
||||
object->work[3] = 0;
|
||||
}
|
||||
Hu3DMotionSpeedSet(object->model[var_r29 + 9], 0.95f);
|
||||
if (var_r28 == 0) {
|
||||
Hu3DModelAttrSet(object->model[var_r29 + 9], 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (object->work[2] != 0) {
|
||||
object->work[3] += 1;
|
||||
if (object->work[3] >= 60.0f) {
|
||||
switch (object->work[2]) {
|
||||
case 1:
|
||||
case 2:
|
||||
HuAudFXPlay(0x725);
|
||||
break;
|
||||
case 3:
|
||||
HuAudFXPlay(0x726);
|
||||
break;
|
||||
}
|
||||
object->work[2] += 1;
|
||||
object->work[3] = 0;
|
||||
}
|
||||
}
|
||||
if (fn_1_42E4() == 2) {
|
||||
Hu3DMotionSpeedSet(object->model[3], 1.0f);
|
||||
}
|
||||
else if (fn_1_42E4() == 5) {
|
||||
Hu3DModelAttrSet(object->model[3], 1);
|
||||
}
|
||||
if (fn_1_42E4() == 5) {
|
||||
Hu3DModelAttrReset(object->model[2], 1);
|
||||
Hu3DModelShadowMapSet(object->model[0]);
|
||||
Hu3DModelShadowMapSet(object->model[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
16
src/REL/m443Dll/player.c
Normal file
16
src/REL/m443Dll/player.c
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#include "ext_math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/chrman.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/sprite.h"
|
||||
#include "string.h"
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include "game/esprite.h"
|
||||
#include "game/frand.h"
|
||||
#endif
|
||||
|
||||
#include "REL/m443Dll.h"
|
||||
Loading…
Add table
Add a link
Reference in a new issue