From bb2c7f3e07fe9fe9ae72b361b93f106af1259124 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Mon, 2 Jan 2017 22:58:06 -0800 Subject: name functions and split data more --- src/battle_setup.c | 6 +- src/field_map_obj_helpers.c | 320 ++++++++++++++++++++++++++++++++++++++++++++ src/field_player_avatar.c | 2 +- src/map_obj_80643A4.c | 320 -------------------------------------------- src/map_obj_lock.c | 12 +- src/rom4.c | 2 +- src/scrcmd.c | 4 +- src/start_menu.c | 2 +- 8 files changed, 334 insertions(+), 334 deletions(-) create mode 100644 src/field_map_obj_helpers.c delete mode 100644 src/map_obj_80643A4.c (limited to 'src') diff --git a/src/battle_setup.c b/src/battle_setup.c index 9210a3f04..fa0bf4ba1 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -162,7 +162,7 @@ void CheckForSafariZoneAndProceed(void) void StartBattle_StandardWild(void) { ScriptContext2_Enable(); - player_bitmagic(); + FreezeMapObjects(); sub_80597F4(); gMain.field_8 = HandleWildBattleEnd; gBattleTypeFlags = 0; @@ -174,7 +174,7 @@ void StartBattle_StandardWild(void) void StartBattle_Roamer(void) { ScriptContext2_Enable(); - player_bitmagic(); + FreezeMapObjects(); sub_80597F4(); gMain.field_8 = HandleWildBattleEnd; gBattleTypeFlags = BATTLE_TYPE_ROAMER; @@ -186,7 +186,7 @@ void StartBattle_Roamer(void) void StartBattle_Safari(void) { ScriptContext2_Enable(); - player_bitmagic(); + FreezeMapObjects(); sub_80597F4(); gMain.field_8 = sub_80C824C; gBattleTypeFlags = BATTLE_TYPE_SAFARI; diff --git a/src/field_map_obj_helpers.c b/src/field_map_obj_helpers.c new file mode 100644 index 000000000..6e835d744 --- /dev/null +++ b/src/field_map_obj_helpers.c @@ -0,0 +1,320 @@ +#include "global.h" +#include "asm.h" +#include "sprite.h" +#include "asm_fieldmap.h" +#include "field_effect.h" + +typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); + +extern u32 gUnknown_0202FF84[]; + +extern struct UCoords16 gDirectionToVector[]; +extern s16 gUnknown_08376194[]; +extern SpriteStepFunc *gUnknown_08376180[]; +extern s8 *gUnknown_083761D0[]; +extern s16 gUnknown_083761DC[]; +extern u8 gUnknown_083761E2[]; +extern s16 gUnknown_083761E6[]; +extern u8 gUnknown_083761EC[]; + +bool8 FreezeMapObject(struct MapObject *mapObject) +{ + if (mapObject->mapobj_bit_6 || mapObject->mapobj_bit_8) + { + return TRUE; + } + else + { + mapObject->mapobj_bit_8 = 1; + mapObject->mapobj_bit_23 = gSprites[mapObject->spriteId].animPaused; + mapObject->mapobj_bit_24 = gSprites[mapObject->spriteId].affineAnimPaused; + gSprites[mapObject->spriteId].animPaused = 1; + gSprites[mapObject->spriteId].affineAnimPaused = 1; + return FALSE; + } +} + +void FreezeMapObjects() +{ + u8 i; + for (i = 0; i < 16; i++) + if (gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) + FreezeMapObject(&gMapObjects[i]); +} + +void FreezeMapObjectsExceptOne(u8 a1) +{ + u8 i; + for (i = 0; i < 16; i++) + if (i != a1 && gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) + FreezeMapObject(&gMapObjects[i]); +} + +void UnfreezeMapObject(struct MapObject *mapObject) +{ + if (mapObject->active && mapObject->mapobj_bit_8) + { + mapObject->mapobj_bit_8 = 0; + gSprites[mapObject->spriteId].animPaused = mapObject->mapobj_bit_23; + gSprites[mapObject->spriteId].affineAnimPaused = mapObject->mapobj_bit_24; + } +} + +void UnfreezeMapObjects(void) +{ + u8 i; + for (i = 0; i < 16; i++) + if (gMapObjects[i].active) + UnfreezeMapObject(&gMapObjects[i]); +} + +void Step1(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += gDirectionToVector[dir].x; + sprite->pos1.y += gDirectionToVector[dir].y; +} + +void Step2(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += 2 * gDirectionToVector[dir].x; + sprite->pos1.y += 2 * gDirectionToVector[dir].y; +} + +void Step3(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += 2 * gDirectionToVector[dir].x + gDirectionToVector[dir].x; + sprite->pos1.y += 2 * gDirectionToVector[dir].y + gDirectionToVector[dir].y; +} + +void Step4(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += 4 * gDirectionToVector[dir].x; + sprite->pos1.y += 4 * gDirectionToVector[dir].y; +} + +void Step8(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += 8 * gDirectionToVector[dir].x; + sprite->pos1.y += 8 * gDirectionToVector[dir].y; +} + +void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3) +{ + sprite->data3 = a2; + sprite->data4 = a3; + sprite->data5 = 0; +} + +bool8 obj_npc_ministep(struct Sprite *sprite) +{ + if (sprite->data5 >= gUnknown_08376194[sprite->data4]) + return FALSE; + + gUnknown_08376180[sprite->data4][sprite->data5](sprite, sprite->data3); + + sprite->data5++; + + if (sprite->data5 < gUnknown_08376194[sprite->data4]) + return FALSE; + + return TRUE; +} + +void sub_806467C(struct Sprite *sprite, u8 a2) +{ + sprite->data3 = a2; + sprite->data4 = 0; + sprite->data5 = 0; +} + +bool8 sub_806468C(struct Sprite *sprite) +{ + if (!(sprite->data4 & 1)) + { + Step1(sprite, sprite->data3); + sprite->data5++; + } + + sprite->data4++; + + if (sprite->data5 > 15) + return TRUE; + else + return FALSE; +} + +s16 sub_80646C8(s16 a1, u8 a2) +{ + return gUnknown_083761D0[a2][a1]; +} + +void sub_80646E4(struct Sprite *sprite, u8 a2, u8 a3, u8 a4) +{ + sprite->data3 = a2; + sprite->data4 = a3; + sprite->data5 = a4; + sprite->data6 = 0; +} + +u8 sub_8064704(struct Sprite *sprite) +{ + u8 v2; + s16 v5[3]; + u8 v6[3]; + + memcpy(v5, gUnknown_083761DC, 6); + memcpy(v6, gUnknown_083761E2, 3); + + v2 = 0; + + if (sprite->data4) + Step1(sprite, sprite->data3); + + sprite->pos2.y = sub_80646C8(sprite->data6 >> v6[sprite->data4], sprite->data5); + + sprite->data6++; + + if (sprite->data6 == (v5[sprite->data4] >> 1)) + v2 = 1; + + if (sprite->data6 >= v5[sprite->data4]) + { + sprite->pos2.y = 0; + v2 = -1; + } + + return v2; +} + +u8 sub_806478C(struct Sprite *sprite) +{ + u8 v2; + s16 v5[3]; + u8 v6[3]; + + memcpy(v5, gUnknown_083761E6, 6); + memcpy(v6, gUnknown_083761EC, 3); + + v2 = 0; + + if (sprite->data4 && !(sprite->data6 & 1)) + Step1(sprite, sprite->data3); + + sprite->pos2.y = sub_80646C8(sprite->data6 >> v6[sprite->data4], sprite->data5); + + sprite->data6++; + + if (sprite->data6 == (v5[sprite->data4] >> 1)) + v2 = 1; + + if (sprite->data6 >= v5[sprite->data4]) + { + sprite->pos2.y = 0; + v2 = -1; + } + + return v2; +} + +void sub_8064820(struct Sprite *sprite, u16 a2) +{ + sprite->data3 = a2; +} + +bool8 sub_8064824(struct Sprite *sprite) +{ + sprite->data3--; + + if (sprite->data3 == 0) + return TRUE; + else + return FALSE; +} + +void obj_anim_image_set_and_seek(struct Sprite *sprite, u8 a2, u8 a3) +{ + sprite->animNum = a2; + sprite->animPaused = 0 ; + SeekSpriteAnim(sprite, a3); +} + +bool8 sub_8064864(struct Sprite *sprite) +{ + if (sprite->animEnded) + return TRUE; + else + return FALSE; +} + +void sub_806487C(struct Sprite *sprite, bool8 invisible) +{ + u16 x, y; + s16 x2, y2; + + sprite->invisible = invisible; + + if (sprite->coordOffsetEnabled) + { + x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX; + y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY; + } + else + { + x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX; + y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY; + } + + x2 = x - (sprite->centerToCornerVecX >> 1); + y2 = y - (sprite->centerToCornerVecY >> 1); + + if ((s16)x > 255 || x2 < -16) + sprite->invisible = 1; + if ((s16)y > 175 || y2 < -16) + sprite->invisible = 1; +} + +void sub_8064970(struct Sprite *sprite) +{ + SetObjectSubpriorityByZCoord(sprite->data1, sprite, 1); + sub_806487C(sprite, 0); +} + +void sub_8064990(u8 a1, u8 dir) +{ + u8 i; + for (i = 0; i < MAX_SPRITES; i++) + { + struct Sprite *sprite = &gSprites[i]; + if (sprite->inUse && sprite->callback == sub_8064970 && (u8)sprite->data0 == a1) + { + u8 animNum = FieldObjectDirectionToImageAnimId(dir); + StartSpriteAnim(sprite, animNum); + break; + } + } +} + +u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject) +{ + FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gUnknown_0202FF84[0], (u8 *)&gUnknown_0202FF84[1], (u8 *)&gUnknown_0202FF84[2]); + return FieldEffectStart(fieldEffectId); +} + +void DoShadowFieldEffect(struct MapObject *mapObject) +{ + if (!mapObject->mapobj_bit_22) + { + mapObject->mapobj_bit_22 = 1; + oe_exec_and_other_stuff(3, mapObject); + } +} + +void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *sprite) +{ + struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + gUnknown_0202FF84[0] = sprite->pos1.x; + gUnknown_0202FF84[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2; + gUnknown_0202FF84[2] = 151; + gUnknown_0202FF84[3] = 3; + FieldEffectStart(5); +} diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index cfb16bf28..97c04f8e5 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1558,7 +1558,7 @@ u8 Fishing16(struct Task *task) { gPlayerAvatar.unk6 = 0; ScriptContext2_Disable(); - sub_806451C(); + UnfreezeMapObjects(); MenuZeroFillScreen(); sub_80BE97C(0); DestroyTask(FindTaskIdByFunc(Task_Fishing)); diff --git a/src/map_obj_80643A4.c b/src/map_obj_80643A4.c deleted file mode 100644 index 20c5303c4..000000000 --- a/src/map_obj_80643A4.c +++ /dev/null @@ -1,320 +0,0 @@ -#include "global.h" -#include "asm.h" -#include "sprite.h" -#include "asm_fieldmap.h" -#include "field_effect.h" - -typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); - -extern u32 gUnknown_0202FF84[]; - -extern struct UCoords16 gDirectionToVector[]; -extern s16 gUnknown_08376194[]; -extern SpriteStepFunc *gUnknown_08376180[]; -extern s8 *gUnknown_083761D0[]; -extern s16 gUnknown_083761DC[]; -extern u8 gUnknown_083761E2[]; -extern s16 gUnknown_083761E6[]; -extern u8 gUnknown_083761EC[]; - -bool8 sub_80643A4(struct MapObject *mapObject) -{ - if (mapObject->mapobj_bit_6 || mapObject->mapobj_bit_8) - { - return TRUE; - } - else - { - mapObject->mapobj_bit_8 = 1; - mapObject->mapobj_bit_23 = gSprites[mapObject->spriteId].animPaused; - mapObject->mapobj_bit_24 = gSprites[mapObject->spriteId].affineAnimPaused; - gSprites[mapObject->spriteId].animPaused = 1; - gSprites[mapObject->spriteId].affineAnimPaused = 1; - return FALSE; - } -} - -void player_bitmagic() -{ - u8 i; - for (i = 0; i < 16; i++) - if (gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) - sub_80643A4(&gMapObjects[i]); -} - -void sub_8064470(u8 a1) -{ - u8 i; - for (i = 0; i < 16; i++) - if (i != a1 && gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) - sub_80643A4(&gMapObjects[i]); -} - -void npc_sync_anim_pause_bits(struct MapObject *mapObject) -{ - if (mapObject->active && mapObject->mapobj_bit_8) - { - mapObject->mapobj_bit_8 = 0; - gSprites[mapObject->spriteId].animPaused = mapObject->mapobj_bit_23; - gSprites[mapObject->spriteId].affineAnimPaused = mapObject->mapobj_bit_24; - } -} - -void sub_806451C(void) -{ - u8 i; - for (i = 0; i < 16; i++) - if (gMapObjects[i].active) - npc_sync_anim_pause_bits(&gMapObjects[i]); -} - -void little_step(struct Sprite *sprite, u8 dir) -{ - sprite->pos1.x += gDirectionToVector[dir].x; - sprite->pos1.y += gDirectionToVector[dir].y; -} - -void sub_806456C(struct Sprite *sprite, u8 dir) -{ - sprite->pos1.x += 2 * gDirectionToVector[dir].x; - sprite->pos1.y += 2 * gDirectionToVector[dir].y; -} - -void sub_8064590(struct Sprite *sprite, u8 dir) -{ - sprite->pos1.x += 2 * gDirectionToVector[dir].x + gDirectionToVector[dir].x; - sprite->pos1.y += 2 * gDirectionToVector[dir].y + gDirectionToVector[dir].y; -} - -void sub_80645B8(struct Sprite *sprite, u8 dir) -{ - sprite->pos1.x += 4 * gDirectionToVector[dir].x; - sprite->pos1.y += 4 * gDirectionToVector[dir].y; -} - -void sub_80645DC(struct Sprite *sprite, u8 dir) -{ - sprite->pos1.x += 8 * gDirectionToVector[dir].x; - sprite->pos1.y += 8 * gDirectionToVector[dir].y; -} - -void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3) -{ - sprite->data3 = a2; - sprite->data4 = a3; - sprite->data5 = 0; -} - -bool8 obj_npc_ministep(struct Sprite *sprite) -{ - if (sprite->data5 >= gUnknown_08376194[sprite->data4]) - return FALSE; - - gUnknown_08376180[sprite->data4][sprite->data5](sprite, sprite->data3); - - sprite->data5++; - - if (sprite->data5 < gUnknown_08376194[sprite->data4]) - return FALSE; - - return TRUE; -} - -void sub_806467C(struct Sprite *sprite, u8 a2) -{ - sprite->data3 = a2; - sprite->data4 = 0; - sprite->data5 = 0; -} - -bool8 sub_806468C(struct Sprite *sprite) -{ - if (!(sprite->data4 & 1)) - { - little_step(sprite, sprite->data3); - sprite->data5++; - } - - sprite->data4++; - - if (sprite->data5 > 15) - return TRUE; - else - return FALSE; -} - -s16 sub_80646C8(s16 a1, u8 a2) -{ - return gUnknown_083761D0[a2][a1]; -} - -void sub_80646E4(struct Sprite *sprite, u8 a2, u8 a3, u8 a4) -{ - sprite->data3 = a2; - sprite->data4 = a3; - sprite->data5 = a4; - sprite->data6 = 0; -} - -u8 sub_8064704(struct Sprite *sprite) -{ - u8 v2; - s16 v5[3]; - u8 v6[3]; - - memcpy(v5, gUnknown_083761DC, 6); - memcpy(v6, gUnknown_083761E2, 3); - - v2 = 0; - - if (sprite->data4) - little_step(sprite, sprite->data3); - - sprite->pos2.y = sub_80646C8(sprite->data6 >> v6[sprite->data4], sprite->data5); - - sprite->data6++; - - if (sprite->data6 == (v5[sprite->data4] >> 1)) - v2 = 1; - - if (sprite->data6 >= v5[sprite->data4]) - { - sprite->pos2.y = 0; - v2 = -1; - } - - return v2; -} - -u8 sub_806478C(struct Sprite *sprite) -{ - u8 v2; - s16 v5[3]; - u8 v6[3]; - - memcpy(v5, gUnknown_083761E6, 6); - memcpy(v6, gUnknown_083761EC, 3); - - v2 = 0; - - if (sprite->data4 && !(sprite->data6 & 1)) - little_step(sprite, sprite->data3); - - sprite->pos2.y = sub_80646C8(sprite->data6 >> v6[sprite->data4], sprite->data5); - - sprite->data6++; - - if (sprite->data6 == (v5[sprite->data4] >> 1)) - v2 = 1; - - if (sprite->data6 >= v5[sprite->data4]) - { - sprite->pos2.y = 0; - v2 = -1; - } - - return v2; -} - -void sub_8064820(struct Sprite *sprite, u16 a2) -{ - sprite->data3 = a2; -} - -bool8 sub_8064824(struct Sprite *sprite) -{ - sprite->data3--; - - if (sprite->data3 == 0) - return TRUE; - else - return FALSE; -} - -void obj_anim_image_set_and_seek(struct Sprite *sprite, u8 a2, u8 a3) -{ - sprite->animNum = a2; - sprite->animPaused = 0 ; - SeekSpriteAnim(sprite, a3); -} - -bool8 sub_8064864(struct Sprite *sprite) -{ - if (sprite->animEnded) - return TRUE; - else - return FALSE; -} - -void sub_806487C(struct Sprite *sprite, bool8 invisible) -{ - u16 x, y; - s16 x2, y2; - - sprite->invisible = invisible; - - if (sprite->coordOffsetEnabled) - { - x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX; - y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY; - } - else - { - x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX; - y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY; - } - - x2 = x - (sprite->centerToCornerVecX >> 1); - y2 = y - (sprite->centerToCornerVecY >> 1); - - if ((s16)x > 255 || x2 < -16) - sprite->invisible = 1; - if ((s16)y > 175 || y2 < -16) - sprite->invisible = 1; -} - -void sub_8064970(struct Sprite *sprite) -{ - SetObjectSubpriorityByZCoord(sprite->data1, sprite, 1); - sub_806487C(sprite, 0); -} - -void sub_8064990(u8 a1, u8 dir) -{ - u8 i; - for (i = 0; i < MAX_SPRITES; i++) - { - struct Sprite *sprite = &gSprites[i]; - if (sprite->inUse && sprite->callback == sub_8064970 && (u8)sprite->data0 == a1) - { - u8 animNum = FieldObjectDirectionToImageAnimId(dir); - StartSpriteAnim(sprite, animNum); - break; - } - } -} - -u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject) -{ - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gUnknown_0202FF84[0], (u8 *)&gUnknown_0202FF84[1], (u8 *)&gUnknown_0202FF84[2]); - return FieldEffectStart(fieldEffectId); -} - -void DoShadowFieldEffect(struct MapObject *mapObject) -{ - if (!mapObject->mapobj_bit_22) - { - mapObject->mapobj_bit_22 = 1; - oe_exec_and_other_stuff(3, mapObject); - } -} - -void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *sprite) -{ - struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); - gUnknown_0202FF84[0] = sprite->pos1.x; - gUnknown_0202FF84[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2; - gUnknown_0202FF84[2] = 151; - gUnknown_0202FF84[3] = 3; - FieldEffectStart(5); -} diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c index cc2befa6d..fc9882ce2 100644 --- a/src/map_obj_lock.c +++ b/src/map_obj_lock.c @@ -38,7 +38,7 @@ bool8 sub_8064CFC(void) void sub_8064D20(void) { - player_bitmagic(); + FreezeMapObjects(); CreateTask(sub_8064CDC, 80); } @@ -53,7 +53,7 @@ void sub_8064D38(u8 taskId) } if (!task->data[1] && !gMapObjects[gSelectedMapObject].mapobj_bit_1) { - sub_80643A4(&gMapObjects[gSelectedMapObject]); + FreezeMapObject(&gMapObjects[gSelectedMapObject]); task->data[1] = 1; } if (task->data[0] && task->data[1]) @@ -76,11 +76,11 @@ bool8 sub_8064DB4(void) void sub_8064DD8(void) { u8 taskId; - sub_8064470(gSelectedMapObject); + FreezeMapObjectsExceptOne(gSelectedMapObject); taskId = CreateTask(sub_8064D38, 80); if (!gMapObjects[gSelectedMapObject].mapobj_bit_1) { - sub_80643A4(&gMapObjects[gSelectedMapObject]); + FreezeMapObject(&gMapObjects[gSelectedMapObject]); gTasks[taskId].data[1] = 1; } } @@ -90,7 +90,7 @@ void sub_8064E2C(void) u8 objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); sub_80A2178(); - sub_806451C(); + UnfreezeMapObjects(); } void unref_sub_8064E5C(void) @@ -102,7 +102,7 @@ void unref_sub_8064E5C(void) objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); sub_80A2178(); - sub_806451C(); + UnfreezeMapObjects(); } void sub_8064EAC(void) diff --git a/src/rom4.c b/src/rom4.c index a837b4dfb..f35ad9834 100644 --- a/src/rom4.c +++ b/src/rom4.c @@ -1264,7 +1264,7 @@ void CB2_ContinueSavedGame(void) ResetSafariZoneFlag_(); sub_805338C(); sub_8053198(); - sub_806451C(); + UnfreezeMapObjects(); DoTimeBasedEvents(); sub_805308C(); sub_8055FC0(); diff --git a/src/scrcmd.c b/src/scrcmd.c index 1b9bc7c35..644001c7c 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1102,7 +1102,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); sub_80A2178(); - sub_806451C(); + UnfreezeMapObjects(); return FALSE; } @@ -1116,7 +1116,7 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); sub_80A2178(); - sub_806451C(); + UnfreezeMapObjects(); return FALSE; } diff --git a/src/start_menu.c b/src/start_menu.c index eebdd27fc..1e828eed1 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -280,7 +280,7 @@ void sub_8071310(void) { if(!is_c1_link_related_active()) { - player_bitmagic(); + FreezeMapObjects(); sub_80594C0(); sub_80597F4(); } -- cgit v1.2.3