Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Matched a few functions #98

Merged
merged 3 commits into from
Sep 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion config/symbol_addrs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ snd_SendIOPCommandNoWait = 0x11e8c8; // type:func
// P2/alo.c
////////////////////////////////////////////////////////////////
InitAlo__FP3ALO = 0x123ED0; // type:func
SnipAloObjects__FP3ALOiP4SNIP = 0x124DF8; // type:func
UpdateAlo__FP3ALOf = 0x124FC0; // type:func
LoadAloFromBrx__FP3ALOP18CBinaryInputStream = 0x1289C0; // type:func
SetAloTargetHitTest__FP3ALOi = 0x12AA28; // type:func

////////////////////////////////////////////////////////////////
// P2/binoc.c
Expand Down Expand Up @@ -351,6 +355,8 @@ CollectLifetkn__FP7LIFETKN = 0x148FF0; // type:func
FUN_00149168 = 0x149168; // type:func
break_bottle = 0x149190; // type:func

s_asnipDprize = 0x2619A0; // size:0x3c

////////////////////////////////////////////////////////////////
// P2/difficulty.c
////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -789,7 +795,7 @@ GRandInRange__Fff = 0x1EAAE0; // type:func
GRandGaussian = 0x1EAB48; // type:func
FFloatsNear__Ffff = 0x1EAC68; // type:func
CSolveQuadratic = 0x1EACA0; // type:func
PrescaleClq = 0x1EAD30; // type:func
PrescaleClq__FP3CLQffT0 = 0x1EAD30; // type:func
CalculateSinCos__FfPfT1 = 0x1EAD88; // type:func
GTrunc = 0x1EAE78; // type:func
GTrunc1 = 0x1EAF28; // type:func
Expand Down
36 changes: 36 additions & 0 deletions include/alo.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
#include <lo.h>
#include <dl.h>

// Forward
struct CBinaryInputStream;

struct FICG
{
uchar grficSweep;
Expand All @@ -17,6 +20,16 @@ struct FICG
uchar grficShock;
};

/**
* @brief Unknown
*/
struct SNIP
{
int grfsnip;
OID oid;
int ib;
};

/**
* @brief "Lightweight"
*
Expand Down Expand Up @@ -56,4 +69,27 @@ struct ALO : public LO
*/
void InitAlo(ALO *palo);

/**
* @brief unknown
*
*/
void SnipAloObjects(ALO *palo, int csnip, SNIP *asnip);

/**
* @brief Updates an ALO
*
* @param palo ALO to initialize
*/
void UpdateAlo(ALO *palo, float dt);

/**
* @brief unknown
*/
void LoadAloFromBrx(ALO *palo, CBinaryInputStream *pbis);

/**
* @brief unknown
*/
void SetAloTargetHitTest(ALO *palo, int fHitTest);

#endif // ALO_H
17 changes: 17 additions & 0 deletions include/coin.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,13 +115,27 @@ struct CHARM : public DPRIZE
*/
void InitDprize(DPRIZE *pdprize);

/**
* @brief Loads a DPrize from an Input Stream
*
* @param pdprize DPrize to initialize
* @param pbis Input Stream
*/
void LoadDprizeFromBrx(DPRIZE *pdprize, CBinaryInputStream *pbis);

/**
* @brief Initializes a DPrize
*
* @param pdprize DPrize to initialize
*/
void InitCoin(COIN *pcoin);

/**
* @brief Add a life
*
*/
void AddLife(void *ptr);

/**
* @brief Initializes a Charm
*
Expand All @@ -136,4 +150,7 @@ void InitCharm(CHARM *pcharm);
*/
void InitKey(KEY *pkey);


extern SNIP s_asnipDprize[5];

#endif // COIN_H
22 changes: 20 additions & 2 deletions src/P2/coin.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include <coin.h>
#include <chkpnt.h>
#include <bis.h>

void InitDprize(DPRIZE *pdprize)
{
Expand All @@ -17,7 +18,12 @@ void InitDprize(DPRIZE *pdprize)
pdprize->fLastBounce = 1;
}

INCLUDE_ASM(const s32, "P2/coin", LoadDprizeFromBrx__FP6DPRIZEP18CBinaryInputStream);
void LoadDprizeFromBrx(DPRIZE *pdprize, CBinaryInputStream *pbis)
{
SetAloTargetHitTest(pdprize, 1);
LoadAloFromBrx(pdprize, pbis);
SnipAloObjects(pdprize, 5, s_asnipDprize);
}

INCLUDE_ASM(const s32, "P2/coin", CloneDprize__FP6DPRIZET0);

Expand Down Expand Up @@ -61,7 +67,19 @@ INCLUDE_ASM(const s32, "P2/coin", UpdateCoin__FP4COINf);

INCLUDE_ASM(const s32, "P2/coin", CreateSwCharm__FP2SW);

INCLUDE_ASM(const s32, "P2/coin", AddLife__FPv);
void AddLife(void *ptr)
{
int new_clife;
int capped_clife;

new_clife = g_pgsCur->clife + 1;
capped_clife = 99;
if (new_clife < 99)
{
capped_clife = new_clife;
}
g_pgsCur->clife = capped_clife;
}

INCLUDE_ASM(const s32, "P2/coin", OnCoinSmack__FP4COIN);

Expand Down
9 changes: 8 additions & 1 deletion src/P2/flash.c
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
#include <flash.h>
#include <clock.h>

extern CLOCK g_clock;

INCLUDE_ASM(const s32, "P2/flash", InitFlash__FP5FLASH);

INCLUDE_ASM(const s32, "P2/flash", LoadFlashFromBrx__FP5FLASHP18CBinaryInputStream);

INCLUDE_ASM(const s32, "P2/flash", UpdateFlash__FP5FLASHf);
void UpdateFlash(FLASH *pflash,float dt)
{
UpdateAlo((ALO *)pflash,dt);
pflash->gScaleCur = GSmooth(pflash->gScaleCur, pflash->gScaleTarget, g_clock.dt, &pflash->smpScale, 0);
}

INCLUDE_ASM(const s32, "P2/flash", RenderFlashSelf__FP5FLASHP2CMP2RO);

Expand Down
8 changes: 7 additions & 1 deletion src/P2/util.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include <util.h>
#include <vec.h>
#include <sce/rand.h>
#include <sce/math.h>

Expand Down Expand Up @@ -103,7 +104,12 @@ int FFloatsNear(float g1,float g2,float gEpsilon)

INCLUDE_ASM(const s32, "P2/util", CSolveQuadratic);

INCLUDE_ASM(const s32, "P2/util", PrescaleClq);
void PrescaleClq(CLQ *pclqSrc, float ru, float du, CLQ *pclqDst)
{
pclqDst->w = pclqSrc->w * ru * ru;
pclqDst->v = (pclqSrc->w + pclqSrc->w) * ru * du + pclqSrc->v * ru;
pclqDst->u = pclqSrc->w * du * du + pclqSrc->v * du + pclqSrc->u;
}

INCLUDE_ASM(const s32, "P2/util", CalculateSinCos__FfPfT1);

Expand Down
Loading