Skip to content

Commit

Permalink
d_particle almost finished (#2193)
Browse files Browse the repository at this point in the history
* d_particle almost finished

* Remove dolasm.h include from JKRDvdRipper
  • Loading branch information
hatal175 committed Aug 17, 2024
1 parent edd2d30 commit 18f4489
Show file tree
Hide file tree
Showing 7 changed files with 582 additions and 42 deletions.
13 changes: 13 additions & 0 deletions include/JSystem/JGeometry.h
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,19 @@ struct TVec3<f32> : public Vec {
};
return res;
}

void cubic(const TVec3<f32>& param_1, const TVec3<f32>& param_2, const TVec3<f32>& param_3,
const TVec3<f32>& param_4, f32 param_5) {
f32 fVar5 = param_5 * param_5;
f32 fVar6 = fVar5 * param_5;
f32 fVar8 = 1.0f + (2.0f * fVar6 - 3.0f * fVar5);
f32 fVar9 = -2.0f * fVar6 + 3.0f * fVar5;
f32 fVar7 = param_5 + (fVar6 - 2.0f * fVar5);
f32 fVar4 = fVar6 - fVar5;
x = fVar8 * param_1.x + fVar9 * param_4.x + fVar7 * param_2.x + fVar4 * param_3.x;
y = fVar8 * param_1.y + fVar9 * param_4.y + fVar7 * param_2.y + fVar4 * param_3.y;
z = fVar8 * param_1.z + fVar9 * param_4.z + fVar7 * param_2.z + fVar4 * param_3.z;
}
};

template <typename T>
Expand Down
1 change: 1 addition & 0 deletions include/JSystem/JParticle/JPAParticle.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class JPABaseParticle {
void setDeleteParticleFlag() { setStatus(2); }
void getVelVec(JGeometry::TVec3<f32>& vec) const { vec.set(mVelocity); }
void getLocalPosition(JGeometry::TVec3<f32>& vec) const { vec.set(mLocalPosition); }
void getBaseAxis(JGeometry::TVec3<f32>& vec) const { vec.set(mBaseAxis); }

public:
/* 0x00 */ JGeometry::TVec3<f32> mPosition;
Expand Down
1 change: 1 addition & 0 deletions include/d/kankyo/d_kankyo.h
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,7 @@ void dKy_ParticleColor_get_bg(cXyz* param_0, dKy_tevstr_c* param_1, _GXColor* pa
f32 param_6);
_GXColor dKy_light_influence_col(_GXColor* param_0, f32 param_1);
static void dKy_WaterIn_Light_set();
void dKy_SordFlush_set(cXyz param_0, int param_1);


#endif /* D_KANKYO_D_KANKYO_H */
7 changes: 5 additions & 2 deletions include/d/particle/d_particle.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class cBgS_PolyInfo;
class JPAEmitterManager;
class JPADrawInfo;
class J3DAnmBase;
class dPa_simpleData_c;

class dPa_simpleEcallBack : public JPAEmitterCallBack {
public:
Expand All @@ -67,7 +68,7 @@ class dPa_simpleEcallBack : public JPAEmitterCallBack {
/* 0x0A */ u8 field_0xa;
/* 0x0C */ s16 field_0xc;
/* 0x0C */ u16 field_0xe;
/* 0x10 */ void* mData;
/* 0x10 */ dPa_simpleData_c* mData;
}; // Size: 0x14

class dPa_followEcallBack : public dPa_levelEcallBack {
Expand Down Expand Up @@ -256,7 +257,9 @@ class dPa_simpleData_c {
/* 8004B024 */ ~dPa_simpleData_c();
/* 8004B060 */ dPa_simpleData_c();

u8 field_0x0[20];
cXyz field_0x00;
GXColor field_0x0c;
GXColor field_0x10;
};

class dPa_control_c {
Expand Down
7 changes: 7 additions & 0 deletions include/dolphin/gx.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,13 @@ static inline void GXColor1u32(const u32 c) {
GXWGFifo.u32 = c;
}

static inline void GXColor4u8(const u8 r, const u8 g, const u8 b, const u8 a) {
GXWGFifo.u8 = r;
GXWGFifo.u8 = g;
GXWGFifo.u8 = b;
GXWGFifo.u8 = a;
}

static inline void GXTexCoord2f32(const f32 s, const f32 t) {
GXWGFifo.f32 = s;
GXWGFifo.f32 = t;
Expand Down
32 changes: 3 additions & 29 deletions libs/JSystem/JKernel/JKRDvdRipper.cpp
Original file line number Diff line number Diff line change
@@ -1,35 +1,21 @@
//
// Generated By: dol2asm
// Translation Unit: JKRDvdRipper
// JKRDvdRipper
//

#include "JSystem/JKernel/JKRDvdRipper.h"
#include "JSystem/JKernel/JKRDvdFile.h"
#include "JSystem/JKernel/JKRDecomp.h"
#include "JSystem/JUtility/JUTException.h"
#include "string.h"
#include "dol2asm.h"
#include "dolphin/os/OSCache.h"
#include "dolphin/os/OSInterrupt.h"
#include "dolphin/vi.h"

//
// Forward References:
//

static int JKRDecompressFromDVD(JKRDvdFile*, void*, u32, u32, u32, u32, u32*);
static int decompSZS_subroutine(u8*, u8*);
static u8* firstSrcData();
static u8* nextSrcData(u8*);

//
// External References:
//

//
// Declarations:
//

/* 802D9B98-802D9C54 2D44D8 00BC+00 0/0 1/1 0/0 .text
* loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
*/
Expand Down Expand Up @@ -60,20 +46,8 @@ void* JKRDvdRipper::loadToMainRAM(s32 entryNumber, u8* dst, JKRExpandSwitch expa
pCompression, param_8);
}

/* ############################################################################################## */
/* 8039D290-8039D290 0298F0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8039D290 = __FILE__;
SECTION_DEAD static char const* const stringBase_8039D2A1 = "%s";
SECTION_DEAD static char const* const stringBase_8039D2A4 = "Sorry, not applied for SZP archive.";
SECTION_DEAD static char const* const stringBase_8039D2C8 = "Not support SZP with offset read";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_8039D2E9 = "\0\0\0\0\0\0";
#pragma pop

/* 804508C8-804508CC 000348 0004+00 3/2 0/0 0/0 .sdata None */
SECTION_SDATA static u8 errorRetry = 0x01;
static u8 errorRetry = 0x01;

/* 802D9D10-802DA1E4 2D4650 04D4+00 2/2 0/0 0/0 .text
* loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
Expand Down Expand Up @@ -276,7 +250,7 @@ JSUList<JKRDMCommand> JKRDvdRipper::sDvdAsyncList;
static OSMutex decompMutex;

/* 804508CC-804508D0 00034C 0004+00 1/1 1/1 0/0 .sdata sSZSBufferSize__12JKRDvdRipper */
SECTION_SDATA u32 JKRDvdRipper::sSZSBufferSize = 0x00000400;
u32 JKRDvdRipper::sSZSBufferSize = 0x00000400;

/* 80451428-8045142C 000928 0004+00 3/3 0/0 0/0 .sbss szpBuf */
static u8* szpBuf;
Expand Down
Loading

0 comments on commit 18f4489

Please sign in to comment.