diff options
| author | octorock <79596758+octorock@users.noreply.github.com> | 2022-07-23 12:43:43 +0200 |
|---|---|---|
| committer | octorock <79596758+octorock@users.noreply.github.com> | 2022-07-25 22:45:55 +0200 |
| commit | 852effa474c159398014da736ade6f0fea454de7 (patch) | |
| tree | 97da22c4758ca4156dc9fb7ac123c7a3b0a9e9f5 /src/object/houseSign.c | |
| parent | ccba86d292a0e4c8a0e07325ac4fb25e5a58dc89 (diff) | |
Rename objects
Diffstat (limited to 'src/object/houseSign.c')
| -rw-r--r-- | src/object/houseSign.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/object/houseSign.c b/src/object/houseSign.c new file mode 100644 index 00000000..7e5413b0 --- /dev/null +++ b/src/object/houseSign.c @@ -0,0 +1,24 @@ +/** + * @file houseSign.c + * @ingroup Objects + * + * @brief HouseSign object + */ +#include "entity.h" + +extern u32 CheckRectOnScreen(s16, s16, u32, u32); + +/* +This object is created by HouseSignManager. +It checks whether the 0x10 x 0x10 rect at field_0x80, field_0x82 is still on the screen. +If not, then it deletes itself and unsets the this->type2 bit in the managers field_0x20 bitfield. +*/ +void HouseSign(Entity* this) { + if (this->action == 0) { + this->action = 1; + } + if (CheckRectOnScreen(this->field_0x80.HWORD, this->field_0x82.HWORD, 0x10, 0x10) == 0) { + this->parent->zVelocity &= ~(1 << this->type2); + DeleteThisEntity(); + } +} |
