diff options
| author | Colin Noga <Tempus@chronometry.ca> | 2012-03-03 17:46:23 -0600 | 
|---|---|---|
| committer | Colin Noga <Tempus@chronometry.ca> | 2012-03-03 17:46:23 -0600 | 
| commit | cda9fbf8124818ee91677d86ab9c68e8afaaafd6 (patch) | |
| tree | f0748de1d51716435f630f67b9039a638a269d0a /src/bossThwompaDomp.cpp | |
| parent | b8b1efc008e5ca2c455b8ab225b5d005449de851 (diff) | |
| download | kamek-cda9fbf8124818ee91677d86ab9c68e8afaaafd6.tar.gz kamek-cda9fbf8124818ee91677d86ab9c68e8afaaafd6.zip | |
Fricking hate bosses
Diffstat (limited to '')
| -rw-r--r-- | src/bossThwompaDomp.cpp | 62 | 
1 files changed, 33 insertions, 29 deletions
| diff --git a/src/bossThwompaDomp.cpp b/src/bossThwompaDomp.cpp index 75aafdd..c821e12 100644 --- a/src/bossThwompaDomp.cpp +++ b/src/bossThwompaDomp.cpp @@ -29,6 +29,7 @@ extern "C" void *UpdateGameMgr();  class daEnMegaDosun_c : public dEn_c {  	int onCreate(); +	int onDelete();  	int onExecute();  	int onDraw(); @@ -56,15 +57,10 @@ class daEnMegaDosun_c : public dEn_c {  	dEn_c *Kameck;  	void setupBodyModel(); -	void updateModelMatrices(); - -	void playerCollision(ActivePhysics *apThis, ActivePhysics *apOther); -	void yoshiCollision(ActivePhysics *apThis, ActivePhysics *apOther);  	void collisionCat1_Fireball_E_Explosion(ActivePhysics *apThis, ActivePhysics *apOther);  	bool collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther);  	void collisionCat7_WMWaggleWater(ActivePhysics *apThis, ActivePhysics *apOther); -	void collisionCat7_WMWaggleWaterYoshi(ActivePhysics *apThis, ActivePhysics *apOther);  	void collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther);  	void collisionCat13_Hammer(ActivePhysics *apThis, ActivePhysics *apOther);  	void collisionCat14_YoshiFire(ActivePhysics *apThis, ActivePhysics *apOther); @@ -74,7 +70,6 @@ class daEnMegaDosun_c : public dEn_c {  	DECLARE_STATE(UpWait);  	DECLARE_STATE(DownMoveWait);  	DECLARE_STATE(PuruMove); -	DECLARE_STATE(DownMoveKameck);  	DECLARE_STATE(DownMove);  	DECLARE_STATE(DownWait);  	DECLARE_STATE(UpMove); @@ -85,7 +80,6 @@ class daEnMegaDosun_c : public dEn_c {  CREATE_STATE(daEnMegaDosun_c, UpWait);  CREATE_STATE(daEnMegaDosun_c, DownMoveWait);  CREATE_STATE(daEnMegaDosun_c, PuruMove); -CREATE_STATE(daEnMegaDosun_c, DownMoveKameck);  CREATE_STATE(daEnMegaDosun_c, DownMove);  CREATE_STATE(daEnMegaDosun_c, DownWait);  CREATE_STATE(daEnMegaDosun_c, UpMove); @@ -97,6 +91,18 @@ daEnMegaDosun_c *daEnMegaDosun_c::build() {  	return new(buffer) daEnMegaDosun_c;  } + +// Collisions +	void daEnMegaDosun_c::collisionCat1_Fireball_E_Explosion(ActivePhysics *apThis, ActivePhysics *apOther) { } +	bool daEnMegaDosun_c::collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther) { return false; } +	void daEnMegaDosun_c::collisionCat7_WMWaggleWater(ActivePhysics *apThis, ActivePhysics *apOther) { } +	void daEnMegaDosun_c::collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther) { } +	void daEnMegaDosun_c::collisionCat13_Hammer(ActivePhysics *apThis, ActivePhysics *apOther) { } +	void daEnMegaDosun_c::collisionCat14_YoshiFire(ActivePhysics *apThis, ActivePhysics *apOther) { } +	void daEnMegaDosun_c::collisionCatA_PenguinMario(ActivePhysics *apThis, ActivePhysics *apOther) { } + + +  void daEnMegaDosun_c::setupBodyModel() {  	allocator.link(-1, GameHeaps[0], 0, 0x20); @@ -105,7 +111,7 @@ void daEnMegaDosun_c::setupBodyModel() {  	bodyModel.setup(mdl, &allocator, 0x224, 1, 0);  	SetupTextures_Enemy(&bodyModel, 0); -	nw4r::g3d::ResAnmVis anmRes = this->resFile.GetResAnmVis("dossun_big"); +	nw4r::g3d::ResAnmVis anmRes = this->resFile.GetResAnmVis("dossun");  	this->anmVis.setup(mdl, anmRes, &this->allocator, 0);  	this->anmVis.bind(&bodyModel, anmRes, 1); @@ -147,9 +153,9 @@ int daEnMegaDosun_c::onCreate() {  	OSReport("this->collMgr.Init(this,(u8*)&this->collision_struct,(u8*)&s3,0);\n");  	this->collMgr.Init(this,(u8*)&this->collision_struct,(u8*)&s3,0); -	this->pos_delta2.x = 0.0; -	this->pos_delta2.y = 36.0; -	this->pos_delta2.z = 0.0; +	// this->pos_delta2.x = 0.0; +	// this->pos_delta2.y = 36.0; +	// this->pos_delta2.z = 0.0;  	this->_320 = 0.0;  	this->_324 = 48.0; @@ -183,7 +189,6 @@ int daEnMegaDosun_c::onCreate() {  int daEnMegaDosun_c::onExecute() { -  	acState.execute();  	int ret = this->checkZoneBoundaries(0); @@ -192,24 +197,23 @@ int daEnMegaDosun_c::onExecute() {  		doStateChange(&StateID_Outro);  	} -	return 1; -} - - -int daEnMegaDosun_c::onDraw() { -	bodyModel.scheduleForDrawing();  	return true;  } - -void daEnMegaDosun_c::updateModelMatrices() { -	// This won't work with wrap because I'm lazy. +int daEnMegaDosun_c::onDraw() {  	matrix.translation(pos.x, pos.y, pos.z);  	matrix.applyRotationYXZ(&rot.x, &rot.y, &rot.z);  	bodyModel.setDrawMatrix(matrix);  	bodyModel.setScale(&scale);  	bodyModel.calcWorld(false); + +	bodyModel.scheduleForDrawing(); +	return true; +} + +int daEnMegaDosun_c::onDelete() { +	return true;  } @@ -331,13 +335,13 @@ void daEnMegaDosun_c::updateModelMatrices() {  // StateID_DownMoveWait  	void daEnMegaDosun_c::beginState_DownMoveWait() { -		this->anmVis.playState = 1; +		// this->anmVis.playState = 1;  		this->bodyModel.bindAnim(&this->anmVis, 0.5);  	}  	void daEnMegaDosun_c::executeState_DownMoveWait() { -		if(this->anmVis.isAnimationDone()) -			this->doStateChange(&StateID_PuruMove); -		this->anmVis.process(); +		// if(this->anmVis.isAnimationDone()) +		// 	this->doStateChange(&StateID_PuruMove); +		// this->anmVis.process();  	}  	void daEnMegaDosun_c::endState_DownMoveWait() {  		return; @@ -367,7 +371,7 @@ void daEnMegaDosun_c::updateModelMatrices() {  		return;  	} -//StateID_DownMove +// StateID_DownMove  	void daEnMegaDosun_c::beginState_DownMove() {  		OSReport("beginState_DownMove()\n");  		this->speed.y = 0.0; @@ -418,11 +422,11 @@ void daEnMegaDosun_c::updateModelMatrices() {  		}  		else{  			this->countdownTimer--; -			if(this->countdownTimer & 0xff == 0x20) -				this->anmVis.playState = 3; +			// if(this->countdownTimer & 0xff == 0x20) +			// 	this->anmVis.playState = 3;  		} -		this->anmVis.process(); +		// this->anmVis.process();  	}  	void daEnMegaDosun_c::endState_DownWait() {  		return; | 
