summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-11-24 09:38:34 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2021-11-24 09:38:34 -0500
commitc619240caca34b085918f948da2aac55d1e76691 (patch)
tree2de219f1e01d4d2484d17c77442a3c9da3c2aa69
parent94e97e9e77ed2e54faf76716d76406b81d24c14e (diff)
Fix build system for macOS
-rw-r--r--.github/workflows/build.yml8
-rw-r--r--Makefile7
-rw-r--r--arm7/Makefile2
-rw-r--r--arm9/Makefile12
-rw-r--r--arm9/src/pokemon.c48
-rw-r--r--arm9/src/trainer_data.c10
-rw-r--r--files/poketool/trainer/trdata.json10
-rw-r--r--include/constants/trainer_classes.h19
-rw-r--r--tools/msgenc/Makefile9
-rw-r--r--tools/nitrogfx/Makefile6
10 files changed, 74 insertions, 57 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 48cc5d37..e62d772d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -4,22 +4,22 @@ on: [push, pull_request]
env:
LM_LICENSE_FILE: "$GITHUB_WORKSPACE/tools/mwccarm/license.dat"
- CC: gcc-8
- CXX: g++-8
+ CC: gcc-10
+ CXX: g++-10
CALCROM_DISCORD_WEBHOOK_AVATAR_URL: "https://i.imgur.com/38BQHdd.png"
CALCROM_DISCORD_WEBHOOK_USERNAME: OK
CALCROM_WEBHOOK_URL: ${{ secrets.WEBHOOKURL }}
jobs:
build:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-18.04
steps:
- name: Update and Install Software
run: |
sudo apt update
sudo ACCEPT_EULA=Y apt -y --fix-missing --allow-downgrades upgrade
- sudo apt -y --allow-downgrades install g++-8-multilib linux-libc-dev binutils-arm-none-eabi p7zip-full pkg-config
+ sudo apt -y --allow-downgrades install g++-10-multilib linux-libc-dev binutils-arm-none-eabi p7zip-full pkg-config
sudo dpkg --add-architecture i386
wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
sudo add-apt-repository ppa:cybermax-dexter/sdl2-backport
diff --git a/Makefile b/Makefile
index f57a5b0d..bc1d3e0a 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,8 @@ HOSTCXX := $(CXX)
HOSTCFLAGS := $(CFLAGS)
HOSTCXXFLAGS := $(CXXFLAGS)
HOSTPKGCONFIG := $(shell which pkg-config)
-HOST_VARS := CC=$(HOSTCC) CXX=$(HOSTCXX) CFLAGS='$(HOSTCFLAGS)' CXXFLAGS='$(HOSTCXXFLAGS)' PKGCONFIG='$(HOSTPKGCONFIG)'
+HOSTPKGCONFIGPATH := $(PKG_CONFIG_PATH)
+HOST_VARS := CC=$(HOSTCC) CXX=$(HOSTCXX) CFLAGS='$(HOSTCFLAGS)' CXXFLAGS='$(HOSTCXXFLAGS)' PKGCONFIG='$(HOSTPKGCONFIG)' PKG_CONFIG_PATH='$(HOSTPKGCONFIGPATH)'
.PHONY: clean tidy all default patch_mwasmarm
@@ -184,7 +185,7 @@ $(TOOLDIRS):
@$(HOST_VARS) $(MAKE) -C $@
clean-tools:
- $(foreach tool,$(TOOLDIRS),$(MAKE) clean -C $(tool);)
+ $(foreach tool,$(TOOLDIRS),$(HOST_VARS) $(MAKE) clean -C $(tool);)
$(MWASMARM): patch_mwasmarm
@:
@@ -225,7 +226,7 @@ else
endif
# Make sure build directory exists before compiling anything
-DUMMY != mkdir -p $(ALL_DIRS)
+DUMMY := $(shell mkdir -p $(ALL_DIRS))
%.4bpp: %.png
$(GFX) $< $@
diff --git a/arm7/Makefile b/arm7/Makefile
index 9b660322..4f99c50b 100644
--- a/arm7/Makefile
+++ b/arm7/Makefile
@@ -185,7 +185,7 @@ $(ROM): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) $(BIN_FILES)
$(OBJCOPY) --update-section arm7=$@ -j arm7 $(foreach ov,$(OVERLAYS),--update-section $(ov)=$(BUILD_DIR)/$(ov).sbin -j $(ov)) $(ELF) 2>/dev/null
# Make sure build directory exists before compiling anything
-DUMMY != mkdir -p $(ALL_DIRS)
+DUMMY := $(shell mkdir -p $(ALL_DIRS))
%.4bpp: %.png
$(GFX) $< $@
diff --git a/arm9/Makefile b/arm9/Makefile
index 77141d34..e332a842 100644
--- a/arm9/Makefile
+++ b/arm9/Makefile
@@ -2,6 +2,14 @@
include ../config.mk
+HOSTCC := $(CC)
+HOSTCXX := $(CXX)
+HOSTCFLAGS := $(CFLAGS)
+HOSTCXXFLAGS := $(CXXFLAGS)
+HOSTPKGCONFIG := $(shell which pkg-config)
+HOSTPKGCONFIGPATH := $(PKG_CONFIG_PATH)
+HOST_VARS := CC=$(HOSTCC) CXX=$(HOSTCXX) CFLAGS='$(HOSTCFLAGS)' CXXFLAGS='$(HOSTCXXFLAGS)' PKGCONFIG='$(HOSTPKGCONFIG)' PKG_CONFIG_PATH='$(HOSTPKGCONFIGPATH)'
+
.PHONY: clean tidy all default patch_mwasmarm
# Try to include devkitarm if installed
@@ -179,7 +187,7 @@ tidy:
tools: $(TOOLDIRS)
$(TOOLDIRS):
- @$(MAKE) -C $@
+ @$(HOST_VARS) $(MAKE) -C $@
$(MWASMARM): patch_mwasmarm
@@ -237,7 +245,7 @@ $(BUILD_DIR)/lib/libsyscall.a: $(SYSCALL_OBJS)
$(AR) $(ARFLAGS) -o $@ $^
# Make sure build directory exists before compiling anything
-DUMMY != mkdir -p $(ALL_DIRS)
+DUMMY := $(shell mkdir -p $(ALL_DIRS))
%.4bpp: %.png
$(GFX) $< $@
diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c
index 6139a21f..672b47e6 100644
--- a/arm9/src/pokemon.c
+++ b/arm9/src/pokemon.c
@@ -2210,75 +2210,75 @@ void FUN_02068C00(struct SomeDrawPokemonStruct * spC, int species, u8 gender, u8
case SPECIES_BURMY:
if (forme > 2)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + 0x48 + forme * 2);
spC->unk4 = (u16)(shiny + 0x92 + forme * 2);
break;
case SPECIES_WORMADAM:
if (forme > 2)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + 0x4E + forme * 2);
spC->unk4 = (u16)(shiny + 0x98 + forme * 2);
break;
case SPECIES_SHELLOS:
if (forme > 1)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 + 0x54 + forme);
spC->unk4 = (u16)(shiny + 0x9E + forme * 2);
break;
case SPECIES_GASTRODON:
if (forme > 1)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 + 0x58 + forme);
spC->unk4 = (u16)(shiny + 0xA2 + forme * 2);
break;
case SPECIES_CHERRIM:
if (forme > 1)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 + 0x5C + forme);
spC->unk4 = (u16)(shiny * 2 + 0xA6 + forme);
break;
case SPECIES_ARCEUS:
if (forme > 17)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + 0x60 + forme * 2);
spC->unk4 = (u16)(shiny + 0xAA + forme * 2);
break;
case SPECIES_CASTFORM:
if (forme > 3)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 * 2 + 0x40 + forme);
spC->unk4 = (u16)(shiny * 4 + 0x8A + forme);
break;
case SPECIES_DEOXYS:
if (forme > 3)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + forme * 2);
spC->unk4 = (u16)(shiny + 0x86);
break;
case SPECIES_UNOWN:
if (forme >= 28)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + 0x8 + forme * 2);
spC->unk4 = (u16)(shiny + 0x88);
break;
case SPECIES_EGG:
if (forme > 1)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(0x84 + forme);
spC->unk4 = (u16)(0xCE + forme);
break;
case SPECIES_MANAPHY_EGG:
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = 0x84;
spC->unk4 = 0xCE;
break;
@@ -2403,10 +2403,10 @@ u8 FUN_02068E88(int species, u8 gender, u32 a1, u8 forme, u32 pid)
void FUN_02068FE0(struct SomeDrawPokemonStruct * a0, u16 a1, int a2)
{
if (a2 == 2)
- a0->unk0 = 60;
+ a0->unk0 = NARC_POKETOOL_TRGRA_TRFGRA;
else
{
- a0->unk0 = 6;
+ a0->unk0 = NARC_POKETOOL_TRGRA_TRBGRA;
a1 = (u16)FUN_0206AA30(a1);
}
a0->unk2 = (u16)(a1 * 2);
@@ -2522,7 +2522,7 @@ u16 GetMonEvolution(struct PlayerParty * party, struct Pokemon * pokemon, u32 co
beauty = (u8)GetMonData(pokemon, MON_DATA_BEAUTY, NULL);
pid_hi = (u16)((personality & 0xFFFF0000) >> 16);
r1 = (u8)GetItemAttr(heldItem, 1, 0);
- if (species != SPECIES_KADABRA && r1 == 0x3F && context != 3)
+ if (species != SPECIES_KADABRA && r1 == HOLD_EFFECT_NO_EVOLVE && context != 3)
return SPECIES_NONE;
if (method_ret == NULL)
method_ret = &sp40;
@@ -3705,21 +3705,21 @@ int FUN_0206AA30(int x)
switch (x)
{
case TRAINER_CLASS_PKMN_TRAINER_BARRY:
- return 2;
- case TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY:
- case TRAINER_CLASS_PKMN_TRAINER_RICH_BOY:
- case TRAINER_CLASS_PKMN_TRAINER_PICNICKER:
- case TRAINER_CLASS_PKMN_TRAINER_CAMPER:
- case TRAINER_CLASS_PKMN_TRAINER_POKEKID:
- return x - TRAINER_CLASS_COMMANDER_JUPITER;
+ return TRAINER_BACKPIC_BARRY;
+ case TRAINER_CLASS_PKMN_TRAINER_CHERYL:
+ case TRAINER_CLASS_PKMN_TRAINER_RILEY:
+ case TRAINER_CLASS_PKMN_TRAINER_MARLEY:
+ case TRAINER_CLASS_PKMN_TRAINER_BUCK:
+ case TRAINER_CLASS_PKMN_TRAINER_MIRA:
+ return x - TRAINER_CLASS_PKMN_TRAINER_CHERYL + TRAINER_BACKPIC_CHERYL;
default:
if (TrainerClass_GetGenderOrTrainerCount(x) == 1)
- return 1;
+ return TRAINER_BACKPIC_DAWN;
else
- return 0;
+ return TRAINER_BACKPIC_LUCAS;
case TRAINER_CLASS_PKMN_TRAINER_M:
case TRAINER_CLASS_PKMN_TRAINER_F:
- return x;
+ return x - TRAINER_CLASS_PKMN_TRAINER_M + TRAINER_BACKPIC_LUCAS;
}
}
diff --git a/arm9/src/trainer_data.c b/arm9/src/trainer_data.c
index f161b302..fb941278 100644
--- a/arm9/src/trainer_data.c
+++ b/arm9/src/trainer_data.c
@@ -244,11 +244,11 @@ const u8 sTrainerClassGenderCountTbl[] = {
/*TRAINER_CLASS_COMMANDER_JUPITER*/ 1,
/*TRAINER_CLASS_COMMANDER_SATURN*/ 1,
/*TRAINER_CLASS_GALACTIC_F*/ 1,
- /*TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY*/ 1,
- /*TRAINER_CLASS_PKMN_TRAINER_RICH_BOY*/ 0,
- /*TRAINER_CLASS_PKMN_TRAINER_PICNICKER*/ 1,
- /*TRAINER_CLASS_PKMN_TRAINER_CAMPER*/ 0,
- /*TRAINER_CLASS_PKMN_TRAINER_POKEKID*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_CHERYL*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_RILEY*/ 0,
+ /*TRAINER_CLASS_PKMN_TRAINER_MARLEY*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_BUCK*/ 0,
+ /*TRAINER_CLASS_PKMN_TRAINER_MIRA*/ 1,
/*TRAINER_CLASS_PKMN_TRAINER_LUCAS*/ 0,
/*TRAINER_CLASS_PKMN_TRAINER_DAWN*/ 1,
/*TRAINER_CLASS_TOWER_TYCOON*/ 0
diff --git a/files/poketool/trainer/trdata.json b/files/poketool/trainer/trdata.json
index 336f8469..24fa3a6d 100644
--- a/files/poketool/trainer/trdata.json
+++ b/files/poketool/trainer/trdata.json
@@ -15351,7 +15351,7 @@
{
"index": 608,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_CHERYL",
"name": "Cheryl",
"unk2": 0,
"items": [],
@@ -15373,7 +15373,7 @@
{
"index": 609,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_RICH_BOY",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_RILEY",
"name": "Riley",
"unk2": 0,
"items": [],
@@ -15396,7 +15396,7 @@
{
"index": 610,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_PICNICKER",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_MARLEY",
"name": "Marley",
"unk2": 0,
"items": [],
@@ -15419,7 +15419,7 @@
{
"index": 611,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_CAMPER",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_BUCK",
"name": "Buck",
"unk2": 0,
"items": [],
@@ -15442,7 +15442,7 @@
{
"index": 612,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_POKEKID",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_MIRA",
"name": "Mira",
"unk2": 0,
"items": [],
diff --git a/include/constants/trainer_classes.h b/include/constants/trainer_classes.h
index 62355cdf..f1a24bc2 100644
--- a/include/constants/trainer_classes.h
+++ b/include/constants/trainer_classes.h
@@ -91,13 +91,22 @@
#define TRAINER_CLASS_COMMANDER_JUPITER 87
#define TRAINER_CLASS_COMMANDER_SATURN 88
#define TRAINER_CLASS_GALACTIC_F 89
-#define TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY 90
-#define TRAINER_CLASS_PKMN_TRAINER_RICH_BOY 91
-#define TRAINER_CLASS_PKMN_TRAINER_PICNICKER 92
-#define TRAINER_CLASS_PKMN_TRAINER_CAMPER 93
-#define TRAINER_CLASS_PKMN_TRAINER_POKEKID 94
+#define TRAINER_CLASS_PKMN_TRAINER_CHERYL 90
+#define TRAINER_CLASS_PKMN_TRAINER_RILEY 91
+#define TRAINER_CLASS_PKMN_TRAINER_MARLEY 92
+#define TRAINER_CLASS_PKMN_TRAINER_BUCK 93
+#define TRAINER_CLASS_PKMN_TRAINER_MIRA 94
#define TRAINER_CLASS_PKMN_TRAINER_LUCAS 95
#define TRAINER_CLASS_PKMN_TRAINER_DAWN 96
#define TRAINER_CLASS_TOWER_TYCOON 97
+#define TRAINER_BACKPIC_LUCAS 0
+#define TRAINER_BACKPIC_DAWN 1
+#define TRAINER_BACKPIC_BARRY 2
+#define TRAINER_BACKPIC_CHERYL 3
+#define TRAINER_BACKPIC_RILEY 4
+#define TRAINER_BACKPIC_MARLEY 5
+#define TRAINER_BACKPIC_BUCK 6
+#define TRAINER_BACKPIC_MIRA 7
+
#endif //POKEDIAMOND_CONSTANTS_TRAINER_CLASSES_H
diff --git a/tools/msgenc/Makefile b/tools/msgenc/Makefile
index b39d97cb..ee86181b 100644
--- a/tools/msgenc/Makefile
+++ b/tools/msgenc/Makefile
@@ -8,12 +8,11 @@ endif
DEPDIR := .deps
DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.d
-define SRCS :=
- msgenc.cpp
- MessagesConverter.cpp
- MessagesDecoder.cpp
+SRCS := \
+ msgenc.cpp \
+ MessagesConverter.cpp \
+ MessagesDecoder.cpp \
MessagesEncoder.cpp
-endef
OBJS := $(SRCS:%.cpp=%.o)
diff --git a/tools/nitrogfx/Makefile b/tools/nitrogfx/Makefile
index 37d30b2d..2ed6cf1e 100644
--- a/tools/nitrogfx/Makefile
+++ b/tools/nitrogfx/Makefile
@@ -1,14 +1,14 @@
CC = gcc
-HAVE_LIBPNG := $(shell $(PKGCONFIG) libpng; echo $?)
+HAVE_LIBPNG := $(shell pkg-config libpng; echo $?)
ifeq ($(HAVE_LIBPNG),1)
$(error No package 'libpng' found)
endif
-CFLAGS = -Wall -Wextra -Werror -Wno-sign-compare -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK $(shell $(PKGCONFIG) --cflags libpng)
+CFLAGS = -Wall -Wextra -Werror -Wno-sign-compare -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK $(shell pkg-config --cflags libpng)
-LIBS = $(shell $(PKGCONFIG) --libs libpng)
+LIBS = $(shell pkg-config --libs libpng)
SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c rl.c util.c font.c huff.c json.c cJSON.c