Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
252 changes: 130 additions & 122 deletions src/SB/Game/zNPCTypeDutchman.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ void zNPCDutchman::kill_wave(zNPCDutchman::wave_data& wave)
kill_sound(1, wave.sound_handle);
}

void zNPCDutchman::stop_hand_trail()
{
}

void zNPCDutchman::start_eye_glow() //Matches but the data is fucked
{
flag.eye_glow = true;
Expand All @@ -90,149 +94,153 @@ void zNPCDutchman::add_splash(const xVec3&, float)
{
}

void zNPCDutchman::start_beam()
<<<<<<< HEAD
void zNPCDutchman::stop_flames()
{
if ((flag.beaming) != 0)
== == == = void zNPCDutchman::start_beam()
{
return;
if ((flag.beaming) != 0)
{
return;
}
flag.beaming = 1;
flag.was_beaming = 0;
beam[1].segments = 0; //0x54C
beam[0].segments = 0; //0x430

//Could also write as:

//for (S32 i = 1; i >= 0; --i)
// {
// beam[i].segments = 0;
// }
}
flag.beaming = 1;
flag.was_beaming = 0;
beam[1].segments = 0; //0x54C
beam[0].segments = 0; //0x430

//Could also write as:

//for (S32 i = 1; i >= 0; --i)
// {
// beam[i].segments = 0;
// }
}

void zNPCDutchman::stop_beam()
{
flag.beaming = false;
}

void zNPCDutchman::start_flames()
{
//static_queue<zNPCDutchman::slime_slice>::clear();
flag.flaming = true;
flames.time = 0.0;
flames.emitted = 0;
flames.blob_break = 1;
flames.splash_break = 1;
slime.slices.clear();
}
void zNPCDutchman::stop_beam()
{
flag.beaming = false;
}

void zNPCDutchman::stop_flames()
{
flag.flaming = false;
}
void zNPCDutchman::start_flames()
{
//static_queue<zNPCDutchman::slime_slice>::clear();
flag.flaming = true;
flames.time = 0.0;
flames.emitted = 0;
flames.blob_break = 1;
flames.splash_break = 1;
slime.slices.clear();
}

void zNPCDutchman::vanish()
{
old.moreFlags = moreFlags;
pflags = 0;
moreFlags = 0;
flags2.flg_colCheck = 0;
flags2.flg_penCheck = 0;
chkby = 0;
penby = 0;
xEntHide(this);
}
void zNPCDutchman::stop_flames()
{
flag.flaming = false;
>>>>>>> upstream
}

void zNPCDutchman::reappear()
{
moreFlags = old.moreFlags;
xNPCBasic::RestoreColFlags();
xEntShow(this);
}
void zNPCDutchman::vanish()
{
old.moreFlags = moreFlags;
pflags = 0;
moreFlags = 0;
flags2.flg_colCheck = 0;
flags2.flg_penCheck = 0;
chkby = 0;
penby = 0;
xEntHide(this);
}

void zNPCDutchman::reset_speed()
{
}
void zNPCDutchman::reappear()
{
moreFlags = old.moreFlags;
xNPCBasic::RestoreColFlags();
xEntShow(this);
}

//S32 zNPCGoalDutchmanInitiate::Exit(F32 dt, void* updCtxt)
//{
// return xGoal::Exit(dt, updCtxt);
//}
void zNPCDutchman::reset_speed()
{
}

S32 zNPCGoalDutchmanIdle::Enter(F32 dt, void* updCtxt)
{
owner.face_player();
return zNPCGoalCommon::Enter(dt, updCtxt);
}
//S32 zNPCGoalDutchmanInitiate::Exit(F32 dt, void* updCtxt)
//{
// return xGoal::Exit(dt, updCtxt);
//}

S32 zNPCGoalDutchmanIdle::Exit(F32 dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}
S32 zNPCGoalDutchmanIdle::Enter(F32 dt, void* updCtxt)
{
owner.face_player();
return zNPCGoalCommon::Enter(dt, updCtxt);
}

S32 zNPCGoalDutchmanDisappear::Exit(F32 dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}
S32 zNPCGoalDutchmanIdle::Exit(F32 dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}

S32 zNPCGoalDutchmanTeleport::Exit(F32 dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}
S32 zNPCGoalDutchmanDisappear::Exit(F32 dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}

S32 zNPCGoalDutchmanReappear::Exit(F32 dt, void* updCtxt)
{
owner.reset_speed();
return xGoal::Exit(dt, updCtxt);
}
S32 zNPCGoalDutchmanTeleport::Exit(F32 dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}

S32 zNPCGoalDutchmanBeam::Exit(F32 dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}
S32 zNPCGoalDutchmanReappear::Exit(F32 dt, void* updCtxt)
{
owner.reset_speed();
return xGoal::Exit(dt, updCtxt);
}

S32 zNPCGoalDutchmanFlame::Exit(F32 dt, void* updCtxt)
{
S32 tempR0;
tempR0 = this->owner.flg_vuln;
tempR0 = tempR0 &= 0xFEFFFFFF;
this->owner.flg_vuln = tempR0;
S32 zNPCGoalDutchmanBeam::Exit(F32 dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}

owner.stop_flames();
owner.stop_hand_trail();
return xGoal::Exit(dt, updCtxt);
}
S32 zNPCGoalDutchmanFlame::Exit(F32 dt, void* updCtxt)
{
S32 tempR0;
tempR0 = this->owner.flg_vuln;
tempR0 = tempR0 &= 0xFEFFFFFF;
this->owner.flg_vuln = tempR0;

owner.stop_flames();
owner.stop_hand_trail();
return xGoal::Exit(dt, updCtxt);
}

S32 zNPCGoalDutchmanCaught::Exit(float dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}
S32 zNPCGoalDutchmanCaught::Exit(float dt, void* updCtxt)
{
return xGoal::Exit(dt, updCtxt);
}

U8 zNPCDutchman::PhysicsFlags() const
{
return 3;
}
U8 zNPCDutchman::PhysicsFlags() const
{
return 3;
}

U8 zNPCDutchman::ColPenByFlags() const
{
return 16;
}
U8 zNPCDutchman::ColPenByFlags() const
{
return 16;
}

U8 zNPCDutchman::ColChkByFlags() const
{
return 16;
}
U8 zNPCDutchman::ColChkByFlags() const
{
return 16;
}

U8 zNPCDutchman::ColPenFlags() const
{
return 0;
}
U8 zNPCDutchman::ColPenFlags() const
{
return 0;
}

U8 zNPCDutchman::ColChkFlags() const
{
return 0;
}
U8 zNPCDutchman::ColChkFlags() const
{
return 0;
}

WEAK void zNPCDutchman::face_player()
{
flag.face_player = true;
}
WEAK void zNPCDutchman::face_player()
{
flag.face_player = true;
}
12 changes: 6 additions & 6 deletions src/SB/Game/zNPCTypeDutchman.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,19 +147,19 @@ struct zNPCDutchman : zNPCSubBoss
void kill_wave(zNPCDutchman::wave_data&);
void add_splash(const xVec3&, float);
void vanish();
void reappear();
void face_player();
void start_beam();
<<<<<<< HEAD
== == == = void start_beam();
void stop_beam();
void start_flames();
>>>>>>> upstream
void stop_flames();
void stop_hand_trail();
void reset_lasso_anim();
void reset_speed();
void Damage(en_NPC_DAMAGE_TYPE, xBase*, const xVec3*);
S32 LassoSetup();
void start_eye_glow();
<<<<<<< HEAD
== == == = void start_eye_glow();
void stop_eye_glow();
>>>>>>> upstream
U8 PhysicsFlags() const;
U8 ColPenByFlags() const;
U8 ColChkByFlags() const;
Expand Down
Loading
Loading