SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
CollisionCategorizedKeeper.hpp
1#pragma once
2
3#include <revolution.h>
4#include "Game/Map/CollisionParts.hpp"
5#include "Game/Map/HitInfo.hpp"
6#include "Game/NameObj/NameObj.hpp"
7
8class CollisionZone;
9
11public:
13
15 virtual void movement();
16
17 void addToZone(CollisionParts *, s32);
18 void removeFromZone(CollisionParts *, s32);
19 void addToGlobal(CollisionParts *);
20 void removeFromGlobal(CollisionParts *);
21
22 void checkStrikePoint(const TVec3f &, HitInfo *);
23 void checkStrikeBall(const TVec3f &, float, bool, const CollisionPartsFilterBase *, const TriangleFilterBase *);
24 void checkStrikeBallWithThickness(const TVec3f &, float, float, const CollisionPartsFilterBase *, const TriangleFilterBase *);
25 void checkStrikeLine(const TVec3f &, const TVec3f &, long, const CollisionPartsFilterBase *, const TriangleFilterBase *);
26 void createAreaPolygonList(Triangle *, unsigned long, const TVec3f &, const TVec3f &);
27 void createAreaPolygonListArray(Triangle *, unsigned long, TVec3f *, unsigned long);
28 void isSphereOverlappingWithBox(const TVec3f &, const TVec3f &, const TVec3f &, float);
29 void searchSameHostParts(CollisionParts **, CollisionParts *) const;
30 void getStrikeInfo(unsigned long);
31 CollisionZone *getZone(int);
32
33 HitInfo* mHitInfoArray; // _C
34 s32 _10;
35 s32 mZoneCount; // _14
36 CollisionZone* mZones[0x20]; // _18
37 s32 mZoneNum; // _98
38 u32 _9C;
39 u8 _A0;
40 u8 _A1;
41 u8 _A2;
42 u8 _A3;
43};
44
46public:
47 CollisionZone(s32);
48
49 void addParts(CollisionParts *);
50 void calcMinMaxAndRadius();
51 void calcMinMaxAndRadiusIfMoveOuter(CollisionParts *);
52 void addAndUpdateMinMax(TVec3f, TVec3f);
53 void eraseParts(CollisionParts *);
54
55 s32 mZoneID; // _0
56 CollisionParts* mPartsArray[0x200]; // _4
57 s32 mNumParts; // _804
58 TVec3f _808;
59 f32 mRadius; // _814
60 TVec3f _818;
61 TVec3f _824;
62};
The most basic form of an object.
Definition NameObj.hpp:11