diff options
| author | Treeki <treeki@gmail.com> | 2011-09-16 23:01:09 +0200 | 
|---|---|---|
| committer | Treeki <treeki@gmail.com> | 2011-09-16 23:01:09 +0200 | 
| commit | 3f51fed7227c3a409efd3fb8a38a63b709d9cca3 (patch) | |
| tree | 29e292ed42823e2390c226f6557e5aed8f8da734 /src | |
| parent | 11d6762251f2170058b8b2de76163962138dc6b5 (diff) | |
| download | kamek-3f51fed7227c3a409efd3fb8a38a63b709d9cca3.tar.gz kamek-3f51fed7227c3a409efd3fb8a38a63b709d9cca3.zip  | |
uncompiling mr sun
Diffstat (limited to '')
| -rwxr-xr-x | src/mrsun.cpp | 121 | 
1 files changed, 25 insertions, 96 deletions
diff --git a/src/mrsun.cpp b/src/mrsun.cpp index 6d3eccb..b246131 100755 --- a/src/mrsun.cpp +++ b/src/mrsun.cpp @@ -1,107 +1,31 @@  #include <common.h> +#include <g3dhax.h>  #include <game.h> -struct MrSun { -	u32 id;			// 0x00 -	u32 settings;	// 0x04 -	u16 name;		// 0x08 -	u8 _0A[6];		// 0x0A -	u8 _10[0x9C];	// 0x10 -	float x;		// 0xAC -	float y;		// 0xB0 -	float z;		// 0xB4 -	float last_x; -	float last_y; -	float last_z; -	float x_delta; -	float y_delta; -	float z_delta; -	float d0; -	float d4; -	float d8; -	float scale_x; -	float scale_y; -	float scale_z; -	float speed_x; -	float speed_y; -	float speed_z; -	float maxspeed_x; -	float maxspeed_y; -	float maxspeed_z; -	u16 rot_x; -	u16 rot_y; -	u16 rot_z; -	u8 _106[0x42];	// 0x106 -	u8 _148[0x288]; -	 -	// Any variables you add to the class go here; starting at offset 0x3D0 -	u64 eventFlag; -	u32 location; -	u8 damage; -	u8 respawn; -}; - -struct EventTable_t { -	u64 events; -}; +class dMrSun_c : public dEn_c { +	int onCreate(); +	int onDelete(); +	int onExecute(); +	int onDraw(); -struct VEC { -	float x; -	float y; -	float z; -}; +	mHeapAllocator_c allocator; -struct APInfo { -	float xDistToCenter;	// 0 -	float yDistToCenter;	// 4 -	float xDistToEdge;		// 8 -	float yDistToEdge;		// C -	u8 category1;			// 10 -	u8 category2;			// 11 -	u16 nulls;				// 12 -	u32 bitfield1;			// 14 -	u16 bitfield2;			// 18 -	u16 unkShort;			// 1C -	u32 callback;			// 20 +	static dMrSun_c *build();  }; - -extern EventTable_t *EventTable; -extern "C" dStageActor_c *CreateActor(u16 classID, int settings, VEC pos, char rot, char layer); -extern "C" dStageActor_c *Actor_SearchByID(u32 actorID); - -extern "C" void *BubbleModel(MrSun *self); -extern "C" void *ActivePhysics_InitWithStruct(u8 *thing, MrSun *self, APInfo physstruct); -extern "C" void *ActivePhysics_AddToList(u8 *thing); - - - -bool MrSun_Execute(MrSun *self); -bool MrSun_Create(MrSun *self); -  #define ACTIVATE	1  #define DEACTIVATE	0 - - - -bool MrSun_Create(MrSun *self) { - +int dMrSun_c::onCreate() {  	OSReport("Creating the Mr.Sun Model"); -	BubbleModel(self); -	  	OSReport("Setting Mr.Sun's Size to 4.0"); - -	self->scale_x = 4.0; -	self->scale_y = 4.0; -	self->scale_z = 4.0; - +	this->scale = (Vec){4.0, 4.0, 4.0};  	OSReport("Creating Mr.Sun's Physics Struct"); -	APInfo HitMeBaby; +	ActivePhysics::Info HitMeBaby;  	HitMeBaby.xDistToCenter = 0.0;  	HitMeBaby.yDistToCenter = 0.0;  	HitMeBaby.xDistToEdge = 8.0; @@ -110,25 +34,30 @@ bool MrSun_Create(MrSun *self) {  	HitMeBaby.category2 = 0x0;  	HitMeBaby.bitfield1 = 0x4F;  	HitMeBaby.bitfield2 = 0x820C; -	HitMeBaby.unkShort = 0; -	HitMeBaby.callback = 0x80095950; +	HitMeBaby.unkShort1C = 0; +	HitMeBaby.callback = &dEn_c::collisionCallback;  	OSReport("Making the Physics Class and adding to the list"); - -	ActivePhysics_InitWithStruct(self->_148, self, HitMeBaby); -	ActivePhysics_AddToList(self->_148); -	 +	this->aPhysics.initWithStruct(this, &HitMeBaby); +	this->aPhysics.addToList();  	OSReport("Going to Execute Mr.Sun"); -		 -	MrSun_Execute(self); +	this->onExecute();  	return true;  } -bool MrSun_Execute(MrSun *self) { +int dMrSun_c::onDelete() { +	return true; +} + +int dMrSun_c::onExecute() {  	OSReport("Oh Mr.Sun, Sun, Mr.Golden Sun");  	return true;  } +int dMrSun_c::onDraw() { +	return true; +} +  | 
