diff options
| author | Ibot02 <jtp.jtp@gmx.de> | 2021-09-29 11:27:12 +0200 |
|---|---|---|
| committer | Ibot02 <jtp.jtp@gmx.de> | 2021-09-29 11:27:12 +0200 |
| commit | dff1c29f5602bf818746151004c98cfd0b0f2001 (patch) | |
| tree | 7f852e69e7c71b317a022e75fb3ce6a032ebce6f /src/manager | |
| parent | 23413dadca5103a3afd24ee3177e09962ffc0d50 (diff) | |
manager2B: match sub_0805D02C and sub_0805D11C
Diffstat (limited to 'src/manager')
| -rw-r--r-- | src/manager/manager2B.c | 46 |
1 files changed, 12 insertions, 34 deletions
diff --git a/src/manager/manager2B.c b/src/manager/manager2B.c index 29cc7462..3ef01daf 100644 --- a/src/manager/manager2B.c +++ b/src/manager/manager2B.c @@ -7,19 +7,7 @@ typedef struct { Manager manager; - Entity* field_0x20; - u8 field_0x24; - u8 field_0x25; - u8 field_0x26; - u8 field_0x27; - u8 field_0x28; - u8 field_0x29; - u8 field_0x2a; - u8 field_0x2b; - u8 field_0x2c; - u8 field_0x2d; - u8 field_0x2e; - u8 field_0x2f; + Entity* field_0x20[4]; u8 field_0x30; u8 field_0x31; u8 field_0x32; @@ -47,36 +35,31 @@ void Manager2B_Main(Manager2B* this) { gUnk_08108D30[this->manager.action](this); } -NONMATCH("asm/non_matching/manager2B/sub_0805D02C.inc", void sub_0805D02C(Manager2B* this)) { +void sub_0805D02C(Manager2B* this) { u32 counter; u16* objectData; Entity* object; - Entity** createdObjects; - - if (CheckFlags((u32)this->field_0x3e) != 0) { + if (CheckFlags(this->field_0x3e)) { DeleteThisEntity(); } if (gEntCount < 0x44) { objectData = GetCurrentRoomProperty(this->manager.unk_0a); counter = 0; - createdObjects = &this->field_0x20; while (counter < 4) { object = CreateObject(OBJECT_A0, objectData[2], counter); object->x.HALF.HI = objectData[0] + gRoomControls.roomOriginX; object->y.HALF.HI = objectData[1] + gRoomControls.roomOriginY; object->parent = (Entity*)this; sub_08016A30(object); - *createdObjects = object; + this->field_0x20[counter] = object; counter += 1; objectData += 3; - createdObjects += 1; } this->manager.action = 1; this->manager.unk_0f = 0x3c; this->field_0x36 = 0; } } -END_NONMATCH void sub_0805D0C4(Manager2B* this) { if (--this->manager.unk_0f == 0) { @@ -98,20 +81,15 @@ void sub_0805D0FC(Manager2B* this) { } } -NONMATCH("asm/non_matching/manager2B/sub_0805D11C.inc", void sub_0805D11C(Manager2B* this)) { - Entity* entity; - Entity** createdObjects; +void sub_0805D11C(Manager2B* this) { + Entity** entity_iterator; u32 counter; - - counter = 0; - createdObjects = &this->field_0x20; - while (counter < 4) { - entity = *createdObjects; - *createdObjects = NULL; - sub_0807BA8C(TILE(entity->x.HALF.HI, entity->y.HALF.HI), entity->collisionLayer); + for (counter = 0; counter < 4; counter++) { + Entity* entity; + entity_iterator = &this->field_0x20[counter]; + entity = *entity_iterator; + *entity_iterator = NULL; + sub_0807BA8C(COORD_TO_TILE(entity), entity->collisionLayer); DeleteEntity(entity); - createdObjects += 1; - counter += 1; } } -END_NONMATCH |
