mirror of
https://github.com/krystalgamer/spidey-decomp.git
synced 2025-04-02 07:51:31 +00:00
CRhinoWallImpact::CRhinoWallImpact
This commit is contained in:
parent
c562544f20
commit
5cb335f85f
2
bit.cpp
2
bit.cpp
@ -337,7 +337,7 @@ void CQuadBit::SetTransparency(unsigned char a2){
|
||||
}
|
||||
|
||||
// @MEDIUMTODO
|
||||
void CQuadBit::OrientUsing(CVector *a2, SVector *a3, int a4, int a5)
|
||||
void CQuadBit::OrientUsing(CVector *a2, SVECTOR *a3, int a4, int a5)
|
||||
{
|
||||
}
|
||||
|
||||
|
2
bit.h
2
bit.h
@ -95,7 +95,7 @@ public:
|
||||
EXPORT void SetSubtractiveTransparency();
|
||||
EXPORT void SetCorners(const CVector &a2, const CVector &a3, const CVector &a4, const CVector &a5);
|
||||
EXPORT void SetTransparency(unsigned char a2);
|
||||
EXPORT void OrientUsing(CVector *a2, SVector *a3, int a4, int a5);
|
||||
EXPORT void OrientUsing(CVector *, SVECTOR *, i32, i32);
|
||||
EXPORT void OrientUsing(CVector *, SVECTOR *, i32, i32, i32);
|
||||
EXPORT void SetTexture(int, int);
|
||||
EXPORT void SetTexture(u32);
|
||||
|
30
effects.cpp
30
effects.cpp
@ -1,8 +1,28 @@
|
||||
#include "effects.h"
|
||||
#include "spool.h"
|
||||
#include "vector.h"
|
||||
#include "validate.h"
|
||||
|
||||
extern int CurrentSuit;
|
||||
extern i32 CurrentSuit;
|
||||
|
||||
// @Ok
|
||||
CRhinoWallImpact::CRhinoWallImpact(SLineInfo* pLineInfo)
|
||||
{
|
||||
print_if_false(pLineInfo != 0, "NULL pLineInfo");
|
||||
|
||||
this->SetTexture(Spool_FindTextureChecksum("RhinoWallImpact"));
|
||||
this->SetTint(0x12u, 0x12u, 0x12u);
|
||||
this->SetSubtractiveTransparency();
|
||||
|
||||
this->mCodeBGR &= ~0x200;
|
||||
|
||||
CVector v2;
|
||||
v2.vx = pLineInfo->field_6C;
|
||||
v2.vy = pLineInfo->field_70 - 204800;
|
||||
v2.vz = pLineInfo->field_74;
|
||||
this->OrientUsing(&v2, reinterpret_cast<SVECTOR*>(&pLineInfo->field_78), 100, 100);
|
||||
this->mType = 26;
|
||||
}
|
||||
|
||||
// @MEDIUMTODO
|
||||
CSkinGoo::CSkinGoo(CSuper*, SSkinGooSource*, i32, SSkinGooParams*)
|
||||
@ -17,8 +37,9 @@ CSkinGoo::CSkinGoo(CSuper*, SSkinGooSource2*, i32, SSkinGooParams*)
|
||||
}
|
||||
|
||||
// @MEDIUMTODO
|
||||
CElectrify::CElectrify(CSuper*, int)
|
||||
CElectrify::CElectrify(CSuper*, i32)
|
||||
{
|
||||
printf("CElectrify::CElectrify(CSuper*, int)");
|
||||
}
|
||||
|
||||
// @Ok
|
||||
@ -72,3 +93,8 @@ void validate_SSkinGooSource2(void)
|
||||
void validate_SSkinGooParams(void)
|
||||
{
|
||||
}
|
||||
|
||||
void validate_CRhinoWallImpact(void)
|
||||
{
|
||||
VALIDATE_SIZE(CRhinoWallImpact, 0x88);
|
||||
}
|
||||
|
@ -5,8 +5,16 @@
|
||||
#define EFFECTS_H
|
||||
|
||||
#include "ob.h"
|
||||
#include "m3dcolij.h"
|
||||
#include "export.h"
|
||||
|
||||
class CRhinoWallImpact : public CQuadBit
|
||||
{
|
||||
public:
|
||||
EXPORT CRhinoWallImpact(SLineInfo*);
|
||||
u8 padBottom[4];
|
||||
};
|
||||
|
||||
class CElectrify : public CSimpleTexturedRibbon
|
||||
{
|
||||
public:
|
||||
@ -41,6 +49,7 @@ void validate_CSkinGoo(void);
|
||||
void validate_SSkinGooSource(void);
|
||||
void validate_SSkinGooSource2(void);
|
||||
void validate_SSkinGooParams(void);
|
||||
void validate_CRhinoWallImpact(void);
|
||||
|
||||
EXPORT void Effects_Electrify(CSuper*);
|
||||
EXPORT void Effects_UnElectrify(CSuper*);
|
||||
|
@ -73,8 +73,6 @@ void validate_SLineInfo(void)
|
||||
VALIDATE(SLineInfo, field_70, 0x70);
|
||||
VALIDATE(SLineInfo, field_74, 0x74);
|
||||
VALIDATE(SLineInfo, field_78, 0x78);
|
||||
VALIDATE(SLineInfo, field_7A, 0x7A);
|
||||
VALIDATE(SLineInfo, field_7C, 0x7C);
|
||||
|
||||
VALIDATE(SLineInfo, field_80, 0x80);
|
||||
VALIDATE(SLineInfo, field_84, 0x84);
|
||||
|
@ -30,9 +30,7 @@ struct SLineInfo
|
||||
int field_6C;
|
||||
int field_70;
|
||||
int field_74;
|
||||
__int16 field_78;
|
||||
__int16 field_7A;
|
||||
__int16 field_7C;
|
||||
CSVector field_78;
|
||||
|
||||
int field_80;
|
||||
int field_84;
|
||||
|
1
main.cpp
1
main.cpp
@ -375,6 +375,7 @@ int main()
|
||||
validate_CCombatImpactRing();
|
||||
validate_SCamera();
|
||||
validate_SRibbonPoint();
|
||||
validate_CRhinoWallImpact();
|
||||
|
||||
puts("[*] Validation done!");
|
||||
|
||||
|
@ -161,9 +161,9 @@ void CManipOb::Smash(void)
|
||||
v4.field_6C = 0;
|
||||
v4.field_70 = 0;
|
||||
v4.field_74 = 0;
|
||||
v4.field_78 = 0;
|
||||
v4.field_7A = (__int16)0xF000;
|
||||
v4.field_7C = 0;
|
||||
v4.field_78.vx = 0;
|
||||
v4.field_78.vy = (i16)0xF000;
|
||||
v4.field_78.vz = 0;
|
||||
|
||||
this->mAccellorVel.vx = 0;
|
||||
this->mAccellorVel.vy = 0x20000;
|
||||
|
2
ob.cpp
2
ob.cpp
@ -172,7 +172,7 @@ void CBody::UpdateShadow(void){
|
||||
vec.vz = 0;
|
||||
|
||||
unsigned __int16 lastParam = this->field_D0;
|
||||
this->bodyQuadBit->OrientUsing(&this->bodyVector, &vec, lastParam, lastParam);
|
||||
this->bodyQuadBit->OrientUsing(&this->bodyVector, reinterpret_cast<SVECTOR*>(&vec), lastParam, lastParam);
|
||||
|
||||
|
||||
__int8 trans = ((this->field_D4 - this->field_D2) << 7) / this->field_D4;
|
||||
|
12
spidey.cpp
12
spidey.cpp
@ -689,9 +689,9 @@ void CPlayer::TidyUpZipWebLandingPosition(int a2)
|
||||
v21.field_6C = 0;
|
||||
v21.field_70 = 0;
|
||||
v21.field_74 = 0;
|
||||
v21.field_78 = 0;
|
||||
v21.field_7A = 0;
|
||||
v21.field_7C = 0;
|
||||
v21.field_78.vx = 0;
|
||||
v21.field_78.vy = 0;
|
||||
v21.field_78.vz = 0;
|
||||
|
||||
int i = 0;
|
||||
do
|
||||
@ -725,9 +725,9 @@ void CPlayer::TidyUpZipWebLandingPosition(int a2)
|
||||
M3dZone_LineToItem(&v21, 1);
|
||||
if ( v21.field_68 )
|
||||
{
|
||||
int v18 = a2 * v21.field_7C;
|
||||
int v19 = v17 + a2 * v21.field_7A;
|
||||
this->mPos.vx += a2 * v21.field_78;
|
||||
int v18 = a2 * v21.field_78.vz;
|
||||
int v19 = v17 + a2 * v21.field_78.vy;
|
||||
this->mPos.vx += a2 * v21.field_78.vx;
|
||||
this->mPos.vy = v19;
|
||||
this->mPos.vz = z + v18;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user