From 1758eb99dfe13c9fc93284d2bbf55dce315fd2c9 Mon Sep 17 00:00:00 2001 From: garak Date: Sun, 3 Mar 2019 22:08:58 -0500 Subject: [PATCH 1/2] match sub_810EE14 in flying.c --- src/flying.c | 130 +-------------------------------------------------- 1 file changed, 2 insertions(+), 128 deletions(-) diff --git a/src/flying.c b/src/flying.c index 7f48e57cbd..3b7417551c 100644 --- a/src/flying.c +++ b/src/flying.c @@ -1496,11 +1496,8 @@ void sub_810EDD0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -#ifdef NONMATCHING void sub_810EE14(struct Sprite *sprite) { - // NONMATCHING - Functionally equivalent - slight register swap at end - u32 matrixNum; int t1, t2; @@ -1540,16 +1537,9 @@ void sub_810EE14(struct Sprite *sprite) if (t2 > 128) t2 = 128; - - /* NONMATCHING - * compiles to: - * asr r0, r0, #0x1 - strh r0, [r5, #0x26] - * needed: - * asrs r1, r0, 1 - * strh r1, [r5, 0x26] */ - sprite->pos2.y = (64 - t2) / 2; + t2 = (64 - t2) / 2; + sprite->pos2.y = t2; if (sprite->data[2] == 24) { @@ -1559,122 +1549,6 @@ void sub_810EE14(struct Sprite *sprite) } } -#else -NAKED -void sub_810EE14(struct Sprite *sprite) -{ - asm_unified("push {r4,r5,lr}\n\ - sub sp, 0x4\n\ - adds r5, r0, 0\n\ - movs r1, 0x2E\n\ - ldrsh r0, [r5, r1]\n\ - cmp r0, 0\n\ - beq _0810EE28\n\ - cmp r0, 0x1\n\ - beq _0810EE80\n\ - b _0810EEEC\n\ -_0810EE28:\n\ - ldr r0, =gBattleAnimArgs\n\ - movs r2, 0\n\ - ldrsh r0, [r0, r2]\n\ - cmp r0, 0\n\ - bne _0810EE40\n\ - ldr r4, =gBattleAnimAttacker\n\ - b _0810EE42\n\ - .pool\n\ -_0810EE40:\n\ - ldr r4, =gBattleAnimTarget\n\ -_0810EE42:\n\ - ldrb r0, [r4]\n\ - movs r1, 0\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - strh r0, [r5, 0x20]\n\ - ldrb r0, [r4]\n\ - movs r1, 0x1\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - strh r0, [r5, 0x22]\n\ - movs r0, 0\n\ - movs r3, 0x80\n\ - lsls r3, 2\n\ - strh r3, [r5, 0x30]\n\ - movs r2, 0x80\n\ - lsls r2, 1\n\ - str r0, [sp]\n\ - adds r0, r5, 0\n\ - movs r1, 0\n\ - bl TrySetSpriteRotScale\n\ - ldrh r0, [r5, 0x2E]\n\ - adds r0, 0x1\n\ - strh r0, [r5, 0x2E]\n\ - b _0810EEEC\n\ - .pool\n\ -_0810EE80:\n\ - movs r1, 0x32\n\ - ldrsh r0, [r5, r1]\n\ - cmp r0, 0xB\n\ - bgt _0810EE8E\n\ - ldrh r0, [r5, 0x30]\n\ - subs r0, 0x28\n\ - b _0810EE92\n\ -_0810EE8E:\n\ - ldrh r0, [r5, 0x30]\n\ - adds r0, 0x28\n\ -_0810EE92:\n\ - strh r0, [r5, 0x30]\n\ - ldrh r0, [r5, 0x32]\n\ - adds r0, 0x1\n\ - movs r1, 0\n\ - strh r0, [r5, 0x32]\n\ - movs r2, 0x80\n\ - lsls r2, 1\n\ - movs r0, 0x30\n\ - ldrsh r3, [r5, r0]\n\ - str r1, [sp]\n\ - adds r0, r5, 0\n\ - bl TrySetSpriteRotScale\n\ - ldrb r1, [r5, 0x3]\n\ - lsls r1, 26\n\ - lsrs r1, 27\n\ - movs r0, 0xF4\n\ - lsls r0, 6\n\ - ldr r2, =gOamMatrices\n\ - lsls r1, 3\n\ - adds r1, r2\n\ - movs r2, 0x6\n\ - ldrsh r1, [r1, r2]\n\ - bl __divsi3\n\ - adds r1, r0, 0x1\n\ - cmp r1, 0x80\n\ - ble _0810EECC\n\ - movs r1, 0x80\n\ -_0810EECC:\n\ - movs r0, 0x40\n\ - subs r0, r1\n\ - lsrs r1, r0, 31\n\ - adds r0, r1\n\ - asrs r1, r0, 1\n\ - strh r1, [r5, 0x26]\n\ - movs r1, 0x32\n\ - ldrsh r0, [r5, r1]\n\ - cmp r0, 0x18\n\ - bne _0810EEEC\n\ - adds r0, r5, 0\n\ - bl sub_80A749C\n\ - adds r0, r5, 0\n\ - bl DestroyAnimSprite\n\ -_0810EEEC:\n\ - add sp, 0x4\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n"); -} -#endif - void sub_810EEF8(struct Sprite *sprite) { int v1, v2; From 18902219ad0a67f51a443e83973cfe3f03970101 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 5 Mar 2019 01:46:20 -0500 Subject: [PATCH 2/2] Fix make to look for .json files instead of folders Currently, when Make is building the maps, it considers every folder in the data/maps/ directory as a map that needs to be built, even folders that are empty. This can be a problem when modding on a separate branch, because git doesn't always clean up directories when switching branches (usually because of hidden files in those directories), so switching back to an unmodded branch will leave an empty folder that confuses make. This commit changes the makefile so that it only checks directories that have map.json files in them. --- map_data_rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/map_data_rules.mk b/map_data_rules.mk index 5a7d9dd842..0203b383d0 100755 --- a/map_data_rules.mk +++ b/map_data_rules.mk @@ -3,7 +3,7 @@ MAPS_DIR = $(DATA_ASM_SUBDIR)/maps LAYOUTS_DIR = $(DATA_ASM_SUBDIR)/layouts -MAP_DIRS := $(dir $(wildcard $(MAPS_DIR)/*/)) +MAP_DIRS := $(dir $(wildcard $(MAPS_DIR)/*/map.json)) MAP_CONNECTIONS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/connections.inc,$(MAP_DIRS)) MAP_EVENTS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/events.inc,$(MAP_DIRS)) MAP_HEADERS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/header.inc,$(MAP_DIRS))