SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
HitInfo.hpp
1#pragma once
2
3#include "Game/Util/JMapInfo.hpp"
4#include "JSystem/JGeometry/TMatrix.hpp"
5#include "JSystem/JGeometry/TVec.hpp"
6
8class HitSensor;
9
10class Triangle {
11public:
12 Triangle();
13
14 Triangle &operator=(const Triangle &);
15
16 void fillData(CollisionParts *, unsigned long, HitSensor *);
17 const char *getHostName() const;
18 s32 getHostPlacementZoneID() const;
19 bool isHostMoved() const;
20 bool isValid() const;
21 const TVec3f *getNormal(int) const;
22 const TVec3f *getFaceNormal() const;
23 const TVec3f *getEdgeNormal(int) const;
24 const TVec3f *getPos(int) const;
25 const TVec3f *calcAndGetNormal(int);
26 const TVec3f *calcAndGetEdgeNormal(int);
27 const TVec3f *calcAndGetPos(int);
28 void calcForceMovePower(TVec3f *, const TVec3f &) const;
29 JMapInfoIter getAttributes() const;
30 TPos3f *getBaseMtx() const;
31 TPos3f *getBaseInvMtx() const;
32 TPos3f *getPrevBaseMtx() const;
33
34 CollisionParts* mParts; // _0
35 u32 mIdx; // _4
36 HitSensor* mSensor; // _8
37 TVec3f mNormals[4]; // _C
38 TVec3f mPos[3]; // _3C
39};
40
41class HitInfo {
42public:
43 HitInfo();
44
45 HitInfo &operator=(const HitInfo &);
46
47 bool isCollisionAtFace() const;
48 bool isCollisionAtEdge() const;
49 bool isCollisionAtCorner() const;
50
51 Triangle mParentTriangle; // _0
52 f32 _60;
53 TVec3f _64;
54 TVec3f _70;
55 TVec3f _7C;
56 u8 _88;
57 u8 _89[3];
58};