summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile5
-rw-r--r--README.md6
-rw-r--r--include/global.h14
-rw-r--r--src/battle_transition.c4
4 files changed, 21 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index b9e2fb289..37344066e 100644
--- a/Makefile
+++ b/Makefile
@@ -30,8 +30,7 @@ LDFLAGS = -Map ../../$(MAP)
OBJCOPY := $(DEVKITARM)/bin/arm-none-eabi-objcopy
-LIBGCC := tools/agbcc/lib/libgcc.a
-LIBC := tools/agbcc/lib/libc.a
+LIB := -L ../../tools/agbcc/lib -lgcc -lc
SHA1 := sha1sum -c
@@ -163,7 +162,7 @@ $(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_comm
cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld
$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
- cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) ../../$(LIBGCC) ../../$(LIBC)
+ cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB)
$(ROM): $(ELF)
$(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@
diff --git a/README.md b/README.md
index 727f74abf..3ea6c26ef 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,14 @@
# Pokémon Emerald
+[![Build Status][travis-badge]][travis]
+
This is a disassembly of Pokémon Emerald.
It builds the following rom:
* pokeemerald.gba `sha1: f3ae088181bf583e55daf962a92bb46f4f1d07b7`
-To set up the repository, see [**INSTALL.md**](INSTALL.md).
+To set up the repository, see [INSTALL.md](INSTALL.md).
## See also
@@ -32,3 +34,5 @@ To set up the repository, see [**INSTALL.md**](INSTALL.md).
[pokefirered]: https://github.com/pret/pokefirered
[Discord]: https://discord.gg/cJxDDVP
[irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret
+[travis]: https://travis-ci.org/pret/pokeemerald
+[travis-badge]: https://travis-ci.org/pret/pokeemerald.svg?branch=master
diff --git a/include/global.h b/include/global.h
index 3e260fd2a..9f6c45df1 100644
--- a/include/global.h
+++ b/include/global.h
@@ -1,6 +1,7 @@
#ifndef GUARD_GLOBAL_H
#define GUARD_GLOBAL_H
+#include <string.h>
#include "config.h" // we need to define config before gba headers as print stuff needs the functions nulled before defines.
#include "gba/gba.h"
@@ -11,11 +12,16 @@
#define asm_comment(x) asm volatile("@ -- " x " -- ")
#define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided")
+// IDE support
#if defined (__APPLE__) || defined (__CYGWIN__)
-void *memset(void *, int, size_t);
-void *memcpy(void *, const void *, size_t);
-int strcmp(const char *s1, const char *s2);
-char* strcpy(char *dst0, const char *src0);
+#define _(x) x
+#define __(x) x
+#define INCBIN_U8 {0}
+#define INCBIN_U16 {0}
+#define INCBIN_U32 {0}
+#define INCBIN_S8 {0}
+#define INCBIN_S16 {0}
+#define INCBIN_S32 {0}
#endif // __APPLE__
#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0]))
diff --git a/src/battle_transition.c b/src/battle_transition.c
index ca2134837..e003e0fce 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -2730,6 +2730,10 @@ static bool8 Phase2_ShredSplit_Func2(struct Task *task)
return FALSE;
}
+// This function never increments the state counter, because the loop condition
+// is always false, resulting in the game being stuck in an infinite loop.
+// It's possible this transition is only partially
+// done and the second part was left out.
static bool8 Phase2_ShredSplit_Func3(struct Task *task)
{
u16 i;