pikmin2/include/SweepPrune.h

56 lines
878 B
C
Raw Normal View History

2021-11-02 03:06:09 +00:00
#ifndef _SWEEPPRUNE_H
#define _SWEEPPRUNE_H
#include "types.h"
2021-11-04 02:15:55 +00:00
struct Callback;
2021-11-02 03:06:09 +00:00
namespace SweepPrune {
struct Node {
float m_radius; // _00
Node* m_prev; // _04
Node* m_next; // _08
Node* m_current; // _0C
2021-11-02 15:32:37 +00:00
uint m_flags; // _10
2021-11-02 03:06:09 +00:00
};
struct Object {
Node m_minX; // _00
Node m_maxX; // _14
Node m_minZ; // _28
Node m_maxZ; // _3C
};
struct World {
2021-11-04 02:15:55 +00:00
struct ResolveArg {
Callback* m_callback;
u32* _04;
2021-11-04 02:30:01 +00:00
u32 _08;
2021-11-04 02:15:55 +00:00
};
void resolve(ResolveArg&);
2021-11-04 02:30:01 +00:00
float _00; // _00
u32 _04; // _04
u32 _08; // _08
u32 _0C; // _0C
u8 _10[4]; // _10
float _14; // _14
u32 _18; // _18
u32 _1C; // _1C
u32 _20; // _20
2021-11-02 03:06:09 +00:00
};
} // namespace SweepPrune
2021-11-04 02:15:55 +00:00
struct Callback {
virtual void invoke(SweepPrune::Object*, SweepPrune::Object*);
};
struct SweepCallback : Callback {
virtual void invoke(SweepPrune::Object*, SweepPrune::Object*);
// vt _00
};
2021-11-02 03:06:09 +00:00
#endif