mirror of
https://github.com/zeldaret/ss
synced 2026-06-19 07:37:01 -04:00
@@ -2,10 +2,10 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global
|
||||
_epilog = .text:0x00000030; // type:function size:0x2C scope:global
|
||||
_unresolved = .text:0x00000060; // type:function size:0x4 scope:global
|
||||
dTgHeatResist_c_classInit__Fv = .text:0x00000070; // type:function size:0x4C
|
||||
TgHeatResist__init = .text:0x000000C0; // type:function size:0x54
|
||||
fn_444_120 = .text:0x00000120; // type:function size:0x8
|
||||
TgHeatResist__update = .text:0x00000130; // type:function size:0x80
|
||||
fn_444_1B0 = .text:0x000001B0; // type:function size:0x8
|
||||
create__15dTgHeatResist_cFv = .text:0x000000C0; // type:function size:0x54
|
||||
doDelete__15dTgHeatResist_cFv = .text:0x00000120; // type:function size:0x8
|
||||
actorExecute__15dTgHeatResist_cFv = .text:0x00000130; // type:function size:0x80
|
||||
draw__15dTgHeatResist_cFv = .text:0x000001B0; // type:function size:0x8
|
||||
__dt__15dTgHeatResist_cFv = .text:0x000001C0; // type:function size:0x5C
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global
|
||||
|
||||
+1
-1
@@ -2475,7 +2475,7 @@ config.libs = [
|
||||
Rel(NonMatching, "d_t_group_summon", "REL/d/t/d_t_group_summon.cpp"),
|
||||
Rel(NonMatching, "d_t_group_test", "REL/d/t/d_t_group_test.cpp"),
|
||||
Rel(NonMatching, "d_t_harp", "REL/d/t/d_t_harp.cpp"),
|
||||
Rel(NonMatching, "d_t_heat_resist", "REL/d/t/d_t_heat_resist.cpp"),
|
||||
Rel(Matching, "d_t_heat_resist", "REL/d/t/d_t_heat_resist.cpp"),
|
||||
Rel(Matching, "d_t_holy_water", "REL/d/t/d_t_holy_water.cpp"),
|
||||
Rel(NonMatching, "d_t_insect", "REL/d/t/d_t_insect.cpp"),
|
||||
Rel(NonMatching, "d_t_ks", "REL/d/t/d_t_ks.cpp"),
|
||||
|
||||
@@ -1,14 +1,23 @@
|
||||
#ifndef D_T_HEAT_RESIST_H
|
||||
#define D_T_HEAT_RESIST_H
|
||||
|
||||
#include "d/a/d_a_base.h"
|
||||
#include "common.h"
|
||||
#include "d/t/d_tg.h"
|
||||
#include "m/m_mtx.h"
|
||||
|
||||
class dTgHeatResist_c : public dAcBase_c {
|
||||
class dTgHeatResist_c : public dTg_c {
|
||||
public:
|
||||
dTgHeatResist_c() {}
|
||||
virtual ~dTgHeatResist_c() {}
|
||||
|
||||
virtual int create() override;
|
||||
virtual int doDelete() override;
|
||||
virtual int draw() override;
|
||||
virtual int actorExecute() override;
|
||||
|
||||
private:
|
||||
/* 0x0FC */ mMtx_c matrix;
|
||||
/* 0x12C */ u8 mInverted;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,3 +1,37 @@
|
||||
#include "d/t/d_t_heat_resist.h"
|
||||
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "f/f_base.h"
|
||||
#include "toBeSorted/area_math.h"
|
||||
|
||||
SPECIAL_ACTOR_PROFILE(TAG_HEAT_RESIST, dTgHeatResist_c, fProfile::TAG_HEAT_RESIST, 0x223, 0, 4);
|
||||
|
||||
int dTgHeatResist_c::create() {
|
||||
mInverted = static_cast<u8>(params & 0x3);
|
||||
|
||||
matrixCreateFromPosRotYScale(matrix, position, rotation.y, mScale, nullptr, 0.0f);
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dTgHeatResist_c::doDelete() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dTgHeatResist_c::actorExecute() {
|
||||
dAcPy_c *player = dAcPy_c::LINK;
|
||||
|
||||
if (mInverted == 1) {
|
||||
if (!checkIfVec3fInMatrix(matrix, player->position)) {
|
||||
player->onForceOrPreventActionFlags(0x8000000);
|
||||
}
|
||||
} else {
|
||||
if (checkIfVec3fInMatrix(matrix, player->position)) {
|
||||
player->onForceOrPreventActionFlags(0x8000000);
|
||||
}
|
||||
}
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dTgHeatResist_c::draw() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user