Merge pull request #321 from PikalaxALT/modern_gcc
Get pokefirered_modern to build
This commit is contained in:
@@ -38,5 +38,9 @@ matrix:
|
|||||||
- make -j2 compare_leafgreen
|
- make -j2 compare_leafgreen
|
||||||
- make -j2 compare_firered_rev1
|
- make -j2 compare_firered_rev1
|
||||||
- make -j2 compare_leafgreen_rev1
|
- make -j2 compare_leafgreen_rev1
|
||||||
|
- make -j2 modern
|
||||||
|
- make -j2 leafgreen_modern
|
||||||
|
- make -j2 firered_rev1_modern
|
||||||
|
- make -j2 leafgreen_rev1_modern
|
||||||
after_success:
|
after_success:
|
||||||
- .travis/calcrom/webhook.sh pokefirered
|
- .travis/calcrom/webhook.sh pokefirered
|
||||||
|
|||||||
@@ -1,12 +1,56 @@
|
|||||||
include $(DEVKITARM)/base_tools
|
TOOLCHAIN := $(DEVKITARM)
|
||||||
|
|
||||||
COMPARE ?= 0
|
COMPARE ?= 0
|
||||||
|
|
||||||
CPP := $(CC) -E
|
ifeq ($(CC),)
|
||||||
LD := $(DEVKITARM)/bin/arm-none-eabi-ld
|
HOSTCC := gcc
|
||||||
|
else
|
||||||
|
HOSTCC := $(CC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CXX),)
|
||||||
|
HOSTCXX := g++
|
||||||
|
else
|
||||||
|
HOSTCXX := $(CXX)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
|
||||||
|
include $(TOOLCHAIN)/base_tools
|
||||||
|
else
|
||||||
|
export PATH := $(TOOLCHAIN)/bin:$(PATH)
|
||||||
|
PREFIX := arm-none-eabi-
|
||||||
|
OBJCOPY := $(PREFIX)objcopy
|
||||||
|
export CC := $(PREFIX)gcc
|
||||||
|
export AS := $(PREFIX)as
|
||||||
|
endif
|
||||||
|
export CPP := $(PREFIX)cpp
|
||||||
|
export LD := $(PREFIX)ld
|
||||||
|
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
EXE := .exe
|
||||||
|
else
|
||||||
|
EXE :=
|
||||||
|
endif
|
||||||
|
|
||||||
include config.mk
|
include config.mk
|
||||||
|
|
||||||
|
GCC_VER = $(shell $(CC) -dumpversion)
|
||||||
|
|
||||||
|
ifeq ($(MODERN),0)
|
||||||
|
CC1 := tools/agbcc/bin/agbcc
|
||||||
|
override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm
|
||||||
|
LIBPATH := -L ../../tools/agbcc/lib
|
||||||
|
else
|
||||||
|
CC1 := $(shell $(CC) --print-prog-name=cc1) -quiet
|
||||||
|
override CFLAGS += -mthumb -mthumb-interwork -O2 -mtune=arm7tdmi -march=armv4t -mabi=apcs-gnu -fno-toplevel-reorder -fno-aggressive-loop-optimizations -Wno-pointer-to-int-cast
|
||||||
|
#LIBPATH := -L $(TOOLCHAIN)/lib/gcc/arm-none-eabi/$(GCC_VER)/thumb -L $(TOOLCHAIN)/arm-none-eabi/lib/thumb
|
||||||
|
LIBPATH := -L ../../tools/agbcc/lib
|
||||||
|
endif
|
||||||
|
|
||||||
|
CPPFLAGS := -iquote include -D$(GAME_VERSION) -DREVISION=$(GAME_REVISION) -D$(GAME_LANGUAGE) -DMODERN=$(MODERN)
|
||||||
|
ifeq ($(MODERN),0)
|
||||||
|
CPPFLAGS += -I tools/agbcc -I tools/agbcc/include -nostdinc -undef
|
||||||
|
endif
|
||||||
|
|
||||||
SHELL := /bin/bash -o pipefail
|
SHELL := /bin/bash -o pipefail
|
||||||
|
|
||||||
ROM := poke$(BUILD_NAME).gba
|
ROM := poke$(BUILD_NAME).gba
|
||||||
@@ -28,16 +72,14 @@ DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR)
|
|||||||
SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR)
|
SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR)
|
||||||
MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR)
|
MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR)
|
||||||
|
|
||||||
ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(GAME_REVISION) --defsym $(GAME_LANGUAGE)=1
|
ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(GAME_REVISION) --defsym $(GAME_LANGUAGE)=1 --defsym MODERN=$(MODERN)
|
||||||
|
|
||||||
CC1 := tools/agbcc/bin/agbcc
|
|
||||||
override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm
|
|
||||||
|
|
||||||
CPPFLAGS := -I tools/agbcc -I tools/agbcc/include -iquote include -nostdinc -undef -D$(GAME_VERSION) -DREVISION=$(GAME_REVISION) -D$(GAME_LANGUAGE)
|
|
||||||
|
|
||||||
LDFLAGS = -Map ../../$(MAP)
|
LDFLAGS = -Map ../../$(MAP)
|
||||||
|
|
||||||
LIB := -L ../../tools/agbcc/lib -lgcc -lc
|
LIB := $(LIBPATH) -lgcc -lc
|
||||||
|
#ifneq ($(MODERN),0)
|
||||||
|
#LIB += -lsysbase
|
||||||
|
#endif
|
||||||
|
|
||||||
SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c
|
SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c
|
||||||
GFX := tools/gbagfx/gbagfx
|
GFX := tools/gbagfx/gbagfx
|
||||||
@@ -96,7 +138,7 @@ TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE))
|
|||||||
|
|
||||||
ALL_BUILDS := firered firered_rev1 leafgreen leafgreen_rev1
|
ALL_BUILDS := firered firered_rev1 leafgreen leafgreen_rev1
|
||||||
|
|
||||||
.PHONY: all rom tools clean-tools mostlyclean clean compare tidy berry_fix $(TOOLDIRS) $(ALL_BUILDS) $(ALL_BUILDS:%=compare_%)
|
.PHONY: all rom tools clean-tools mostlyclean clean compare tidy berry_fix $(TOOLDIRS) $(ALL_BUILDS) $(ALL_BUILDS:%=compare_%) $(ALL_BUILDS:%=%_modern) modern
|
||||||
|
|
||||||
MAKEFLAGS += --no-print-directory
|
MAKEFLAGS += --no-print-directory
|
||||||
|
|
||||||
@@ -162,6 +204,7 @@ sound/%.bin: sound/%.aif ; $(AIF) $< $@
|
|||||||
sound/songs/%.s: sound/songs/%.mid
|
sound/songs/%.s: sound/songs/%.mid
|
||||||
cd $(@D) && ../../$(MID) $(<F)
|
cd $(@D) && ../../$(MID) $(<F)
|
||||||
|
|
||||||
|
ifeq ($(MODERN),0)
|
||||||
$(C_BUILDDIR)/agb_flash.o: CFLAGS := -O -mthumb-interwork
|
$(C_BUILDDIR)/agb_flash.o: CFLAGS := -O -mthumb-interwork
|
||||||
$(C_BUILDDIR)/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork
|
$(C_BUILDDIR)/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork
|
||||||
$(C_BUILDDIR)/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork
|
$(C_BUILDDIR)/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork
|
||||||
@@ -176,6 +219,14 @@ $(C_BUILDDIR)/flying.o: CFLAGS += -ffreestanding
|
|||||||
|
|
||||||
$(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm
|
$(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm
|
||||||
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet
|
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet
|
||||||
|
else
|
||||||
|
$(C_BUILDDIR)/berry_crush_2.o: CFLAGS += -Wno-address-of-packed-member
|
||||||
|
$(C_BUILDDIR)/berry_crush_3.o: CFLAGS += -Wno-address-of-packed-member
|
||||||
|
$(C_BUILDDIR)/braille_text.o: CFLAGS += -Wno-address-of-packed-member
|
||||||
|
$(C_BUILDDIR)/text.o: CFLAGS += -Wno-address-of-packed-member
|
||||||
|
$(C_BUILDDIR)/battle_tower.o: CFLAGS += -Wno-div-by-zero
|
||||||
|
$(C_BUILDDIR)/librfu_intr.o: override CFLAGS += -marm -mthumb-interwork -O2 -mtune=arm7tdmi -march=armv4t -mabi=apcs-gnu -fno-toplevel-reorder -fno-aggressive-loop-optimizations -Wno-pointer-to-int-cast
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(NODEP),1)
|
ifeq ($(NODEP),1)
|
||||||
$(C_BUILDDIR)/%.o: c_dep :=
|
$(C_BUILDDIR)/%.o: c_dep :=
|
||||||
@@ -224,11 +275,19 @@ $(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt)
|
|||||||
$(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt
|
$(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt
|
||||||
$(RAMSCRGEN) ewram_data $< ENGLISH > $@
|
$(RAMSCRGEN) ewram_data $< ENGLISH > $@
|
||||||
|
|
||||||
$(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld
|
ifeq ($(MODERN),0)
|
||||||
|
LD_SCRIPT := ld_script.txt
|
||||||
|
LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld
|
||||||
|
else
|
||||||
|
LD_SCRIPT := ld_script_modern.txt
|
||||||
|
LD_SCRIPT_DEPS :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS)
|
||||||
cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld
|
cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld
|
||||||
|
|
||||||
$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
|
$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
|
||||||
cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(LIB)
|
cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB)
|
||||||
$(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(GAME_REVISION) --silent
|
$(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(GAME_REVISION) --silent
|
||||||
|
|
||||||
$(ROM): $(ELF)
|
$(ROM): $(ELF)
|
||||||
@@ -244,3 +303,10 @@ compare_firered: ; @$(MAKE) GAME_VERSION=FIRERED COMPARE=1
|
|||||||
compare_firered_rev1: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1 COMPARE=1
|
compare_firered_rev1: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1 COMPARE=1
|
||||||
compare_leafgreen: ; @$(MAKE) GAME_VERSION=LEAFGREEN COMPARE=1
|
compare_leafgreen: ; @$(MAKE) GAME_VERSION=LEAFGREEN COMPARE=1
|
||||||
compare_leafgreen_rev1: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1 COMPARE=1
|
compare_leafgreen_rev1: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1 COMPARE=1
|
||||||
|
|
||||||
|
firered_modern: ; @$(MAKE) GAME_VERSION=FIRERED MODERN=1
|
||||||
|
firered_rev1_modern: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1 MODERN=1
|
||||||
|
leafgreen_modern: ; @$(MAKE) GAME_VERSION=LEAFGREEN MODERN=1
|
||||||
|
leafgreen_rev1_modern: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1 MODERN=1
|
||||||
|
|
||||||
|
modern: ; @$(MAKE) MODERN=1
|
||||||
|
|||||||
@@ -1909,6 +1909,7 @@ _081DDD90:
|
|||||||
.align 2, 0 @ Don't pad with nop.
|
.align 2, 0 @ Don't pad with nop.
|
||||||
|
|
||||||
.bss
|
.bss
|
||||||
|
.align 3
|
||||||
gUnknown_030007B8:
|
gUnknown_030007B8:
|
||||||
.space 0x40
|
.space 0x40
|
||||||
.size gUnknown_030007B8, .-gUnknown_030007B8
|
.size gUnknown_030007B8, .-gUnknown_030007B8
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
@ To make adding these improvements easier they are commented and tagged with "Improvement in Emerald"
|
@ To make adding these improvements easier they are commented and tagged with "Improvement in Emerald"
|
||||||
@ Emerald also adds a few entirely new AI commands (mostly to expand Double Battle AI), which are not included
|
@ Emerald also adds a few entirely new AI commands (mostly to expand Double Battle AI), which are not included
|
||||||
|
|
||||||
|
.align 2
|
||||||
gBattleAI_ScriptsTable:: @ 81D9BF4
|
gBattleAI_ScriptsTable:: @ 81D9BF4
|
||||||
.4byte AI_CheckBadMove
|
.4byte AI_CheckBadMove
|
||||||
.4byte AI_CheckViability
|
.4byte AI_CheckViability
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ gMovesWithQuietBGM:: @ 81C68EC
|
|||||||
.2byte MOVE_GRASS_WHISTLE
|
.2byte MOVE_GRASS_WHISTLE
|
||||||
.2byte 0xFFFF
|
.2byte 0xFFFF
|
||||||
|
|
||||||
|
.align 2
|
||||||
gBattleAnims_Moves::
|
gBattleAnims_Moves::
|
||||||
.4byte Move_NONE
|
.4byte Move_NONE
|
||||||
.4byte Move_POUND
|
.4byte Move_POUND
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#ifndef GUARD_BATTLE_H
|
#ifndef GUARD_BATTLE_H
|
||||||
#define GUARD_BATTLE_H
|
#define GUARD_BATTLE_H
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "constants/battle.h"
|
#include "constants/battle.h"
|
||||||
#include "battle_util.h"
|
#include "battle_util.h"
|
||||||
|
|||||||
+3
-3
@@ -67,11 +67,11 @@ const struct Berry * GetBerryInfo(u8 berryIdx);
|
|||||||
|
|
||||||
extern const struct Berry gBerries[];
|
extern const struct Berry gBerries[];
|
||||||
|
|
||||||
struct UnkStruct_0858AB24 {
|
struct BerryCrushStats {
|
||||||
u8 unk0;
|
u8 unk0;
|
||||||
u16 unk1;
|
u16 powder;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern const struct UnkStruct_0858AB24 gUnknown_83DFC9C[];
|
extern const struct BerryCrushStats gBerryCrushStats[];
|
||||||
|
|
||||||
#endif // GUARD_BERRY_H
|
#endif // GUARD_BERRY_H
|
||||||
|
|||||||
+102
-74
@@ -1,9 +1,49 @@
|
|||||||
#ifndef GUARD_BERRY_CRUSH_H
|
#ifndef GUARD_BERRY_CRUSH_H
|
||||||
#define GUARD_BERRY_CRUSH_H
|
#define GUARD_BERRY_CRUSH_H
|
||||||
|
|
||||||
|
enum {
|
||||||
|
BCTEXT_AREYOUREADY,
|
||||||
|
BCTEXT_WAITFOROTHERS,
|
||||||
|
BCTEXT_GAINEDPOWDER,
|
||||||
|
BCTEXT_RECORDINGRESULTS,
|
||||||
|
BCTEXT_ASKPLAYAGAIN,
|
||||||
|
BCTEXT_CANCEL_NOBERRIES,
|
||||||
|
BCTEXT_CANCEL_DROPPEDOUT,
|
||||||
|
BCTEXT_TIMEUP,
|
||||||
|
BCTEXT_COMMSTANDBY,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
BCCMD_BeginNormalPaletteFade = 1,
|
||||||
|
BCCMD_WaitPaletteFade,
|
||||||
|
BCCMD_PrintMessage,
|
||||||
|
BCCMD_InitGfx,
|
||||||
|
BCCMD_TeardownGfx,
|
||||||
|
BCCMD_SignalReadyToBegin,
|
||||||
|
BCCMD_AskPickBerry,
|
||||||
|
BCCMD_GoToBerryPouch,
|
||||||
|
BCCMD_WaitForOthersToPickBerries,
|
||||||
|
BCCMD_DropBerriesIntoCrusher,
|
||||||
|
BCCMD_DropLid,
|
||||||
|
BCCMD_Countdown,
|
||||||
|
BCCMD_PlayGame_Master,
|
||||||
|
BCCMD_PlayGame_Slave,
|
||||||
|
BCCMD_FinishGame,
|
||||||
|
BCCMD_HandleTimeUp,
|
||||||
|
BCCMD_TabulateResults,
|
||||||
|
BCCMD_ShowResults,
|
||||||
|
BCCMD_SaveTheGame,
|
||||||
|
BCCMD_AskPlayAgain,
|
||||||
|
BCCMD_CommunicatePlayAgainResponses,
|
||||||
|
BCCMD_FadeOutToPlayAgain,
|
||||||
|
BCCMD_PlayAgainFailureMessage,
|
||||||
|
BCCMD_GracefulExit,
|
||||||
|
BCCMD_Quit,
|
||||||
|
};
|
||||||
|
|
||||||
struct BerryCrushGame_Player
|
struct BerryCrushGame_Player
|
||||||
{
|
{
|
||||||
u16 unk0;
|
u16 berryId;
|
||||||
u16 unk2;
|
u16 unk2;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
@@ -13,40 +53,26 @@ struct BerryCrushGame_Player
|
|||||||
u8 unk14[12];
|
u8 unk14[12];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct __attribute__((packed, aligned(2))) BerryCrushGame_4E
|
|
||||||
{
|
|
||||||
u16 unk0;
|
|
||||||
u16 filler2;
|
|
||||||
u8 unk4_0:1;
|
|
||||||
u8 unk4_1:1;
|
|
||||||
s8 unk5;
|
|
||||||
u16 unk6;
|
|
||||||
u16 unk8;
|
|
||||||
u16 unkA;
|
|
||||||
u16 unkC;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct __attribute__((packed)) BerryCrushGame_40
|
|
||||||
{
|
|
||||||
u8 unk0[2];
|
|
||||||
u16 unk2[6];
|
|
||||||
struct BerryCrushGame_4E unkE;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct BerryCrushGame_5C
|
struct BerryCrushGame_5C
|
||||||
{
|
{
|
||||||
u16 unk00;
|
u16 unk00;
|
||||||
u8 unk02_0:1;
|
u8 unk02_0:1;
|
||||||
u8 unk02_1:1;
|
u8 unk02_1:1;
|
||||||
u8 unk02_2:1;
|
u8 pushedAButton:1;
|
||||||
u8 unk02_3:5;
|
u8 unk02_3:5;
|
||||||
u8 unk03;
|
s8 unk03;
|
||||||
u16 unk04;
|
u16 unk04;
|
||||||
u16 unk06;
|
u16 unk06;
|
||||||
u16 unk08;
|
u16 unk08;
|
||||||
u16 unk0A;
|
u16 unk0A;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct __attribute__((packed, aligned(2))) BerryCrushGame_4E
|
||||||
|
{
|
||||||
|
u16 unk0;
|
||||||
|
struct BerryCrushGame_5C data;
|
||||||
|
};
|
||||||
|
|
||||||
union BerryCrushGame_68
|
union BerryCrushGame_68
|
||||||
{
|
{
|
||||||
struct BerryCrushGame_68_x
|
struct BerryCrushGame_68_x
|
||||||
@@ -58,7 +84,9 @@ union BerryCrushGame_68
|
|||||||
s16 unk06;
|
s16 unk06;
|
||||||
u16 unk08;
|
u16 unk08;
|
||||||
u16 unk0A;
|
u16 unk0A;
|
||||||
u16 unk0C[2][5];
|
// 0: Number of A presses
|
||||||
|
// 1: Neatness
|
||||||
|
u16 stats[2][5];
|
||||||
u8 filler20[16];
|
u8 filler20[16];
|
||||||
} unk00;
|
} unk00;
|
||||||
u8 unk30[12];
|
u8 unk30[12];
|
||||||
@@ -68,12 +96,12 @@ union BerryCrushGame_68
|
|||||||
struct BerryCrushGame_68_y
|
struct BerryCrushGame_68_y
|
||||||
{
|
{
|
||||||
u8 filler00[28];
|
u8 filler00[28];
|
||||||
struct BerryCrushGame_Player unk1C[5];
|
struct BerryCrushGame_Player players[5];
|
||||||
u8 fillerBC[20];
|
u8 fillerBC[20];
|
||||||
} as_five_players;
|
} as_five_players;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BerryCrushGame_138_C
|
struct BerryCrushPlayerSeatCoords
|
||||||
{
|
{
|
||||||
u8 unk0;
|
u8 unk0;
|
||||||
u8 unk1;
|
u8 unk1;
|
||||||
@@ -86,19 +114,19 @@ struct BerryCrushGame_138_C
|
|||||||
|
|
||||||
struct BerryCrushGame_138
|
struct BerryCrushGame_138
|
||||||
{
|
{
|
||||||
u8 unk0;
|
u8 animBerryIdx;
|
||||||
u8 unk1;
|
u8 unk1;
|
||||||
u8 unk2;
|
u8 unk2;
|
||||||
u8 unk3;
|
u8 unk3;
|
||||||
s16 unk4;
|
s16 minutes;
|
||||||
s16 unk6;
|
s16 secondsInt;
|
||||||
s16 unk8;
|
s16 secondsFrac;
|
||||||
const struct BerryCrushGame_138_C *unkC[5];
|
const struct BerryCrushPlayerSeatCoords * seatCoords[5];
|
||||||
struct Sprite *unk20;
|
struct Sprite *coreSprite;
|
||||||
struct Sprite *unk24[5];
|
struct Sprite *impactSprites[5];
|
||||||
struct Sprite *unk38[5];
|
struct Sprite *berrySprites[5];
|
||||||
struct Sprite *unk4C[11];
|
struct Sprite *sparkleSprites[11];
|
||||||
struct Sprite *unk78[2];
|
struct Sprite *timerSprites[2];
|
||||||
u8 unk80;
|
u8 unk80;
|
||||||
u8 filler81;
|
u8 filler81;
|
||||||
u8 unk82;
|
u8 unk82;
|
||||||
@@ -107,23 +135,23 @@ struct BerryCrushGame_138
|
|||||||
|
|
||||||
struct BerryCrushGame
|
struct BerryCrushGame
|
||||||
{
|
{
|
||||||
MainCallback unk0;
|
MainCallback savedCallback;
|
||||||
u32 (*unk4)(struct BerryCrushGame *, u8 *);
|
u32 (*cmdCallback)(struct BerryCrushGame *, u8 *);
|
||||||
u8 unk8;
|
u8 localId;
|
||||||
u8 unk9;
|
u8 playerCount;
|
||||||
u8 unkA;
|
u8 taskId;
|
||||||
u8 unkB;
|
u8 textSpeed;
|
||||||
u8 unkC;
|
u8 cmdState;
|
||||||
u8 unkD;
|
u8 unkD;
|
||||||
u8 unkE;
|
u8 nextCmd;
|
||||||
u8 unkF;
|
u8 afterPalFadeCmd;
|
||||||
u16 unk10;
|
u16 unk10;
|
||||||
u16 unk12;
|
u16 gameState;
|
||||||
u16 unk14;
|
u16 unk14;
|
||||||
u16 unk16;
|
u16 pressingSpeed;
|
||||||
s16 unk18;
|
s16 unk18;
|
||||||
s16 unk1A;
|
s16 unk1A;
|
||||||
int unk1C;
|
int powder;
|
||||||
s32 unk20;
|
s32 unk20;
|
||||||
u8 unk24;
|
u8 unk24;
|
||||||
u8 unk25_0:1;
|
u8 unk25_0:1;
|
||||||
@@ -133,52 +161,52 @@ struct BerryCrushGame
|
|||||||
u8 unk25_4:1;
|
u8 unk25_4:1;
|
||||||
u8 unk25_5:3;
|
u8 unk25_5:3;
|
||||||
u16 unk26;
|
u16 unk26;
|
||||||
u16 unk28;
|
u16 timer;
|
||||||
s16 unk2A;
|
s16 depth;
|
||||||
s16 unk2C;
|
s16 vibration;
|
||||||
s16 unk2E;
|
s16 unk2E;
|
||||||
s16 unk30;
|
s16 unk30;
|
||||||
s16 unk32;
|
s16 unk32;
|
||||||
s16 unk34;
|
s16 unk34;
|
||||||
u8 unk36[0xA];
|
u8 commandParams[10];
|
||||||
struct BerryCrushGame_40 unk40;
|
u16 sendCmd[7];
|
||||||
struct BerryCrushGame_5C unk5C;
|
u16 recvCmd[7];
|
||||||
|
struct BerryCrushGame_5C localState;
|
||||||
union BerryCrushGame_68 unk68;
|
union BerryCrushGame_68 unk68;
|
||||||
struct BerryCrushGame_138 unk138;
|
struct BerryCrushGame_138 spritesManager;
|
||||||
u8 unk1C0[0x1000];
|
u8 bg1Buffer[0x1000];
|
||||||
u8 unk11C0[0x1000];
|
u8 unk11C0[0x1000];
|
||||||
u8 unk21C0[0x1000];
|
u8 bg2Buffer[0x1000];
|
||||||
u8 unk31C0[0x1000];
|
u8 bg3Buffer[0x1000];
|
||||||
};
|
};
|
||||||
|
|
||||||
#define PLAYER_UNK14(game, i) \
|
#define BERRYCRUSH_PLAYER_NAME(game, i) \
|
||||||
((u8 *)(game) \
|
((u8 *)(game) \
|
||||||
+ offsetof(struct BerryCrushGame, unk68) \
|
+ offsetof(struct BerryCrushGame, unk68) \
|
||||||
+ offsetof(struct BerryCrushGame_68_x, unk30) \
|
+ offsetof(struct BerryCrushGame_68_x, unk30) \
|
||||||
+ sizeof(struct BerryCrushGame_Player) * (i))
|
+ sizeof(struct BerryCrushGame_Player) * (i))
|
||||||
|
|
||||||
struct BerryCrushGame *sub_814B6F0(void);
|
struct BerryCrushGame *GetBerryCrushGame(void);
|
||||||
void StartBerryCrush(MainCallback callback);
|
void StartBerryCrush(MainCallback callback);
|
||||||
u32 sub_814B6FC(MainCallback callback);
|
u32 ExitBerryCrushWithCallback(MainCallback callback);
|
||||||
void sub_814B8F0(void);
|
void CB2_BerryCrush_GoToBerryPouch(void);
|
||||||
void sub_814B914(void);
|
void BerryCrush_SetVBlankCallback(void);
|
||||||
void sub_814B924(void);
|
void BerryCrush_UnsetVBlankCallback(void);
|
||||||
void sub_814B930(void);
|
void BerryCrush_UpdateSav2Records(void);
|
||||||
void sub_814BABC(struct BerryCrushGame *arg0);
|
void BerryCrush_RunOrScheduleCommand(u16 command, u8 runMode, u8 *params);
|
||||||
void sub_814BB4C(u16, u8, u8 *);
|
void BerryCrush_SetPaletteFadeParams(u8 *params, bool8 communicateAfter, u32 selectedPals, s8 delay, u8 startY, u8 targetY, u16 palette);
|
||||||
void sub_814D564(u8 *, u32, s32, u32, u32, u32, u32);
|
|
||||||
int sub_814D9CC(struct BerryCrushGame *arg0);
|
int sub_814D9CC(struct BerryCrushGame *arg0);
|
||||||
int sub_814D5C8(void);
|
int BerryCrush_InitBgs(void);
|
||||||
int sub_814D888(void);
|
int BerryCrush_TeardownBgs(void);
|
||||||
void sub_814DA24(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
void BerryCrush_CreateBerrySprites(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
||||||
void sub_814DC24(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
void BerryCrushFreeBerrySpriteGfx(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
||||||
void sub_814DC5C(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
void sub_814DC5C(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
||||||
bool32 sub_814DE50(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
bool32 sub_814DE50(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
||||||
bool32 sub_814E644(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
bool32 sub_814E644(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
||||||
void sub_814E80C(struct BerryCrushGame *arg0);
|
void sub_814E80C(struct BerryCrushGame *arg0);
|
||||||
void sub_814DA04(struct BerryCrushGame *arg0);
|
void sub_814DA04(struct BerryCrushGame *arg0);
|
||||||
void sub_814EB04(struct BerryCrushGame_138 *arg0);
|
void BerryCrush_HideTimerSprites(struct BerryCrushGame_138 *arg0);
|
||||||
void sub_814DB84(struct Sprite * sprite);
|
void SpriteCB_DropBerryIntoCrusher(struct Sprite * sprite);
|
||||||
void ShowBerryCrushRankings(void);
|
void ShowBerryCrushRankings(void);
|
||||||
|
|
||||||
#endif //GUARD_BERRY_CRUSH_H
|
#endif //GUARD_BERRY_CRUSH_H
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ enum
|
|||||||
BG_ATTR_MOSAIC = 5,
|
BG_ATTR_MOSAIC = 5,
|
||||||
BG_ATTR_WRAPAROUND = 6,
|
BG_ATTR_WRAPAROUND = 6,
|
||||||
BG_ATTR_PRIORITY = 7,
|
BG_ATTR_PRIORITY = 7,
|
||||||
BG_ATTR_TEXTORAFFINEMODE = 8,
|
BG_ATTR_MAPSIZE = 8,
|
||||||
BG_ATTR_BGTYPE = 9,
|
BG_ATTR_BGTYPE = 9,
|
||||||
BG_ATTR_BASETILE = 10
|
BG_ATTR_BASETILE = 10
|
||||||
};
|
};
|
||||||
|
|||||||
+9
-3
@@ -18,14 +18,14 @@
|
|||||||
#define GAME_VERSION VERSION_FIRE_RED
|
#define GAME_VERSION VERSION_FIRE_RED
|
||||||
#else // Default version seems to be LeafGreen
|
#else // Default version seems to be LeafGreen
|
||||||
#define GAME_VERSION VERSION_LEAF_GREEN
|
#define GAME_VERSION VERSION_LEAF_GREEN
|
||||||
#endif
|
#endif // GAME_VERSION
|
||||||
|
|
||||||
// rev1 renamed the source folder for reasons
|
// rev1 renamed the source folder for reasons
|
||||||
#if REVISION == 0
|
#if REVISION == 0
|
||||||
#define CODE_ROOT "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/"
|
#define CODE_ROOT "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/"
|
||||||
#else
|
#else
|
||||||
#define CODE_ROOT "C:/WORK/POKeFRLG/Src/pm_lgfr_ose/source/"
|
#define CODE_ROOT "C:/WORK/POKeFRLG/Src/pm_lgfr_ose/source/"
|
||||||
#endif
|
#endif // REVISION
|
||||||
|
|
||||||
#define ABSPATH(x) (CODE_ROOT x)
|
#define ABSPATH(x) (CODE_ROOT x)
|
||||||
|
|
||||||
@@ -33,6 +33,12 @@
|
|||||||
#define UNITS_IMPERIAL
|
#define UNITS_IMPERIAL
|
||||||
#else
|
#else
|
||||||
#define UNITS_METRIC
|
#define UNITS_METRIC
|
||||||
#endif
|
#endif // ENGLISH
|
||||||
|
|
||||||
|
// Crashes may occur due to section reordering in the modern build,
|
||||||
|
// so we force BUGFIX here.
|
||||||
|
#if MODERN
|
||||||
|
#define BUGFIX
|
||||||
|
#endif // MODERN
|
||||||
|
|
||||||
#endif // GUARD_CONFIG_H
|
#endif // GUARD_CONFIG_H
|
||||||
|
|||||||
+25
-1
@@ -6,6 +6,14 @@
|
|||||||
// Maximum amount of data we will transfer in one operation
|
// Maximum amount of data we will transfer in one operation
|
||||||
#define MAX_DMA_BLOCK_SIZE 0x1000
|
#define MAX_DMA_BLOCK_SIZE 0x1000
|
||||||
|
|
||||||
|
#define DMA_REQUEST_COPY32 1
|
||||||
|
#define DMA_REQUEST_FILL32 2
|
||||||
|
#define DMA_REQUEST_COPY16 3
|
||||||
|
#define DMA_REQUEST_FILL16 4
|
||||||
|
|
||||||
|
#define DMA3_16BIT 0
|
||||||
|
#define DMA3_32BIT 1
|
||||||
|
|
||||||
#define Dma3CopyLarge_(src, dest, size, bit) \
|
#define Dma3CopyLarge_(src, dest, size, bit) \
|
||||||
{ \
|
{ \
|
||||||
const void *_src = src; \
|
const void *_src = src; \
|
||||||
@@ -48,10 +56,26 @@
|
|||||||
#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16)
|
#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16)
|
||||||
#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32)
|
#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32)
|
||||||
|
|
||||||
|
// Cancel pending DMA3 requests
|
||||||
void ClearDma3Requests(void);
|
void ClearDma3Requests(void);
|
||||||
|
|
||||||
|
// Handle pending DMA3 requests
|
||||||
void ProcessDma3Requests(void);
|
void ProcessDma3Requests(void);
|
||||||
|
|
||||||
|
// Copy size bytes from src to dest.
|
||||||
|
// mode takes a DMA3_*BIT macro
|
||||||
|
// Returns the request index
|
||||||
s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
|
s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
|
||||||
|
|
||||||
|
// Fill size bytes at dest with value.
|
||||||
|
// mode takes a DMA3_*BIT macro
|
||||||
|
// Returns the request index
|
||||||
s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode);
|
s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode);
|
||||||
s16 CheckForSpaceForDma3Request(s16 index);
|
|
||||||
|
// index is the return value from RequestDma3*
|
||||||
|
// if index = -1, will check if any request is pending
|
||||||
|
// otherwise, checks if the specified request is pending
|
||||||
|
// Returns -1 if pending, 0 otherwise
|
||||||
|
s16 WaitDma3Request(s16 index);
|
||||||
|
|
||||||
#endif // GUARD_DMA3_H
|
#endif // GUARD_DMA3_H
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ enum HiddenItemAttr
|
|||||||
|
|
||||||
u8 GetLeadMonIndex(void);
|
u8 GetLeadMonIndex(void);
|
||||||
s32 CountDigits(s32 number);
|
s32 CountDigits(s32 number);
|
||||||
void TV_PrintIntToStringVar(u8, int);
|
void TV_PrintIntToStringVar(u8 varidx, s32 number);
|
||||||
u16 GetStarterSpecies(void);
|
u16 GetStarterSpecies(void);
|
||||||
void StopPokemonLeagueLightingEffectTask(void);
|
void StopPokemonLeagueLightingEffectTask(void);
|
||||||
void nullsub_60(void);
|
void nullsub_60(void);
|
||||||
|
|||||||
+3
-3
@@ -14,11 +14,11 @@
|
|||||||
extern struct BackupMapLayout VMap;
|
extern struct BackupMapLayout VMap;
|
||||||
extern const struct MapLayout Route1_Layout;
|
extern const struct MapLayout Route1_Layout;
|
||||||
|
|
||||||
u32 MapGridGetMetatileIdAt(int, int);
|
u32 MapGridGetMetatileIdAt(s32, s32);
|
||||||
u32 MapGridGetMetatileBehaviorAt(s16, s16);
|
u32 MapGridGetMetatileBehaviorAt(s16, s16);
|
||||||
u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y);
|
u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y);
|
||||||
void MapGridSetMetatileIdAt(int, int, u16);
|
void MapGridSetMetatileIdAt(s32, s32, u16);
|
||||||
void MapGridSetMetatileEntryAt(int, int, u16);
|
void MapGridSetMetatileEntryAt(s32, s32, u16);
|
||||||
u8 MapGridGetZCoordAt(s32 x, s32 y);
|
u8 MapGridGetZCoordAt(s32 x, s32 y);
|
||||||
void GetCameraCoords(u16*, u16*);
|
void GetCameraCoords(u16*, u16*);
|
||||||
bool8 MapGridIsImpassableAt(s32, s32);
|
bool8 MapGridIsImpassableAt(s32, s32);
|
||||||
|
|||||||
@@ -14,6 +14,12 @@
|
|||||||
#define EWRAM_DATA __attribute__((section("ewram_data")))
|
#define EWRAM_DATA __attribute__((section("ewram_data")))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if MODERN
|
||||||
|
#define NOINLINE __attribute__((noinline))
|
||||||
|
#else
|
||||||
|
#define NOINLINE
|
||||||
|
#endif
|
||||||
|
|
||||||
#define ALIGNED(n) __attribute__((aligned(n)))
|
#define ALIGNED(n) __attribute__((aligned(n)))
|
||||||
|
|
||||||
#define SOUND_INFO_PTR (*(struct SoundInfo **)0x3007FF0)
|
#define SOUND_INFO_PTR (*(struct SoundInfo **)0x3007FF0)
|
||||||
|
|||||||
@@ -35,6 +35,10 @@ void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopP
|
|||||||
|
|
||||||
// for matching purposes
|
// for matching purposes
|
||||||
|
|
||||||
|
#if MODERN
|
||||||
|
#define AGB_ASSERT_EX(exp, file, line) AGB_ASSERT(exp)
|
||||||
|
#define AGB_WARNING_EX(exp, file, line) AGB_WARNING(exp)
|
||||||
|
#else
|
||||||
#ifdef NDEBUG
|
#ifdef NDEBUG
|
||||||
#define AGB_ASSERT_EX(exp, file, line)
|
#define AGB_ASSERT_EX(exp, file, line)
|
||||||
#else
|
#else
|
||||||
@@ -46,5 +50,6 @@ void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopP
|
|||||||
#else
|
#else
|
||||||
#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 0);
|
#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 0);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // GUARD_GBA_ISAGBPRINT_H
|
#endif // GUARD_GBA_ISAGBPRINT_H
|
||||||
|
|||||||
@@ -50,6 +50,10 @@
|
|||||||
#define min(a, b) ((a) < (b) ? (a) : (b))
|
#define min(a, b) ((a) < (b) ? (a) : (b))
|
||||||
#define max(a, b) ((a) >= (b) ? (a) : (b))
|
#define max(a, b) ((a) >= (b) ? (a) : (b))
|
||||||
|
|
||||||
|
#if MODERN
|
||||||
|
#define abs(x) (((x) < 0) ? -(x) : (x))
|
||||||
|
#endif
|
||||||
|
|
||||||
// There are many quirks in the source code which have overarching behavioral differences from
|
// There are many quirks in the source code which have overarching behavioral differences from
|
||||||
// a number of other files. For example, diploma.c seems to declare rodata before each use while
|
// a number of other files. For example, diploma.c seems to declare rodata before each use while
|
||||||
// other files declare out of order and must be at the beginning. There are also a number of
|
// other files declare out of order and must be at the beginning. There are also a number of
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
#ifndef GUARD_ITEM_PC_H
|
#ifndef GUARD_ITEM_PC_H
|
||||||
#define GUARD_ITEM_PC_H
|
#define GUARD_ITEM_PC_H
|
||||||
|
|
||||||
void ItemPc_Init(u8 a0, MainCallback callback);
|
void ItemPc_Init(u8 kind, MainCallback callback);
|
||||||
void ItemPc_SetInitializedFlag(u8);
|
void ItemPc_SetInitializedFlag(bool8 flag);
|
||||||
|
|
||||||
#endif //GUARD_ITEM_PC_H
|
#endif //GUARD_ITEM_PC_H
|
||||||
|
|||||||
+6
-6
@@ -1,11 +1,11 @@
|
|||||||
#ifndef GUARD_MATH_UTIL_H
|
#ifndef GUARD_MATH_UTIL_H
|
||||||
#define GUARD_MATH_UTIL_H
|
#define GUARD_MATH_UTIL_H
|
||||||
|
|
||||||
s16 sub_80D8B90(s16 y);
|
s16 MathUtil_Inv16(s16 y);
|
||||||
s16 sub_80D8AA0(s16 x, s16 y);
|
s16 MathUtil_Mul16(s16 x, s16 y);
|
||||||
s32 sub_80D8B68(s32 x, s32 y);
|
s32 MathUtil_Div32(s32 x, s32 y);
|
||||||
s32 sub_80D8AE0(s32 x, s32 y);
|
s32 MathUtil_Mul32(s32 x, s32 y);
|
||||||
s16 sub_80D8B40(u8 s, s16 x, s16 y);
|
s16 MathUtil_Div16Shift(u8 s, s16 x, s16 y);
|
||||||
s16 sub_80D8ABC(u8 s, s16 x, s16 y);
|
s16 MathUtil_Mul16Shift(u8 s, s16 x, s16 y);
|
||||||
|
|
||||||
#endif //GUARD_MATH_UTIL_H
|
#endif //GUARD_MATH_UTIL_H
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ bool8 MenuHelpers_LinkSomething(void);
|
|||||||
void SetVBlankHBlankCallbacksToNull(void);
|
void SetVBlankHBlankCallbacksToNull(void);
|
||||||
void ResetAllBgsCoordinatesAndBgCntRegs(void);
|
void ResetAllBgsCoordinatesAndBgCntRegs(void);
|
||||||
u8 GetDialogBoxFontId(void);
|
u8 GetDialogBoxFontId(void);
|
||||||
bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1);
|
bool8 AdjustQuantityAccordingToDPadInput(s16 *quantity_p, u16 qmax);
|
||||||
void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 tileNum, u8 paletteNum, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc);
|
void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 tileNum, u8 paletteNum, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc);
|
||||||
void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 fontId, u8 left, u8 top, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);
|
void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 fontId, u8 left, u8 top, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);
|
||||||
u8 GetLRKeysState(void);
|
u8 GetLRKeysState(void);
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ void TeardownMonMarkingsMenu(void);
|
|||||||
bool8 MonMarkingsHandleInput(void);
|
bool8 MonMarkingsHandleInput(void);
|
||||||
struct Sprite * CreateMonMarkingSprite_SelectCombo(u16 tileTag, u16 paletteTag, const u16 *palette);
|
struct Sprite * CreateMonMarkingSprite_SelectCombo(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||||
struct Sprite * CreateMonMarkingSprite_AllOff(u16 tileTag, u16 paletteTag, const u16 *palette);
|
struct Sprite * CreateMonMarkingSprite_AllOff(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||||
void sub_80BEBD0(u8 markings, void * dest);
|
void RequestDma3LoadMonMarking(u8 markings, void * dest);
|
||||||
|
|
||||||
#endif //GUARD_MON_MARKINGS_H
|
#endif //GUARD_MON_MARKINGS_H
|
||||||
|
|||||||
+5
-5
@@ -71,8 +71,8 @@ void Overworld_SetObjEventTemplateMovementType(u8, u8);
|
|||||||
|
|
||||||
void SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
void SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||||
|
|
||||||
void SetDynamicWarp(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
void SetDynamicWarp(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
||||||
void SetDynamicWarpWithCoords(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
void SetDynamicWarpWithCoords(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||||
void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||||
void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||||
void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||||
@@ -158,7 +158,7 @@ void ResetGameStats(void);
|
|||||||
void Overworld_CreditsMainCB(void);
|
void Overworld_CreditsMainCB(void);
|
||||||
bool32 Overworld_DoScrollSceneForCredits(u8 *, const struct CreditsOverworldCmd *, u8);
|
bool32 Overworld_DoScrollSceneForCredits(u8 *, const struct CreditsOverworldCmd *, u8);
|
||||||
|
|
||||||
bool32 sub_8058318(void);
|
bool32 IsSendingKeysOverCable(void);
|
||||||
|
|
||||||
void CB2_ReturnToFieldWithOpenMenu(void);
|
void CB2_ReturnToFieldWithOpenMenu(void);
|
||||||
void CB2_WhiteOut(void);
|
void CB2_WhiteOut(void);
|
||||||
@@ -170,8 +170,8 @@ void SetContinueGameWarpToHealLocation(u8 loc);
|
|||||||
|
|
||||||
void UpdateAmbientCry(s16 *state, u16 *delayCounter);
|
void UpdateAmbientCry(s16 *state, u16 *delayCounter);
|
||||||
void SetWarpDestinationToHealLocation(u8 a0);
|
void SetWarpDestinationToHealLocation(u8 a0);
|
||||||
bool32 sub_80582E0(void);
|
bool32 Overworld_SendKeysToLinkIsRunning(void);
|
||||||
bool32 sub_8058274(void);
|
bool32 Overworld_RecvKeysFromLinkIsRunning(void);
|
||||||
void OverworldWhiteOutGetMoneyLoss(void);
|
void OverworldWhiteOutGetMoneyLoss(void);
|
||||||
u8 GetCurrentMapBattleScene(void);
|
u8 GetCurrentMapBattleScene(void);
|
||||||
void Overworld_ResetStateAfterFly(void);
|
void Overworld_ResetStateAfterFly(void);
|
||||||
|
|||||||
@@ -335,9 +335,9 @@ struct PokemonStorageSystemData
|
|||||||
/* 0d88 */ bool8 (*monPlaceChangeFunc)(void);
|
/* 0d88 */ bool8 (*monPlaceChangeFunc)(void);
|
||||||
/* 0d8c */ u8 monPlaceChangeState;
|
/* 0d8c */ u8 monPlaceChangeState;
|
||||||
/* 0d8d */ u8 field_D91;
|
/* 0d8d */ u8 field_D91;
|
||||||
/* 0d90 */ struct Sprite *field_D94;
|
/* 0d90 */ struct Sprite *monMarkingSprite;
|
||||||
/* 0d94 */ struct Sprite *field_D98[2];
|
/* 0d94 */ struct Sprite *field_D98[2];
|
||||||
/* 0d9c */ u16 *field_DA0;
|
/* 0d9c */ u16 *monMarkingSpriteTileStart;
|
||||||
/* 0da0 */ struct PokemonMarkMenu field_DA4;
|
/* 0da0 */ struct PokemonMarkMenu field_DA4;
|
||||||
/* 1e58 */ struct UnkPSSStruct_2002370 field_1E5C;
|
/* 1e58 */ struct UnkPSSStruct_2002370 field_1E5C;
|
||||||
/* 20a0 */ struct Pokemon movingMon;
|
/* 20a0 */ struct Pokemon movingMon;
|
||||||
|
|||||||
+1
-1
@@ -114,6 +114,6 @@ bool8 sub_80DA4A0(void);
|
|||||||
u8 Save_LoadGameData(u8 saveType);
|
u8 Save_LoadGameData(u8 saveType);
|
||||||
u32 TryCopySpecialSaveSection(u8 sector, u8* dst);
|
u32 TryCopySpecialSaveSection(u8 sector, u8* dst);
|
||||||
u32 TryWriteSpecialSaveSection(u8 sector, u8* src);
|
u32 TryWriteSpecialSaveSection(u8 sector, u8* src);
|
||||||
void sub_80DA634(u8 taskId);
|
void Task_SaveGame_UpdatedLinkRecords(u8 taskId);
|
||||||
|
|
||||||
#endif // GUARD_SAVE_H
|
#endif // GUARD_SAVE_H
|
||||||
|
|||||||
+9
-9
@@ -1149,15 +1149,15 @@ extern const u8 gUnknown_841DF99[];
|
|||||||
extern const u8 gUnknown_841DFA0[];
|
extern const u8 gUnknown_841DFA0[];
|
||||||
|
|
||||||
// berry_crush
|
// berry_crush
|
||||||
extern const u8 gUnknown_841CE3C[];
|
extern const u8 gText_BerryCrush_AreYouReady[];
|
||||||
extern const u8 gUnknown_841CE78[];
|
extern const u8 gText_BerryCrush_WaitForOthersToChooseBerry[];
|
||||||
extern const u8 gUnknown_841CEA8[];
|
extern const u8 gText_BerryCrush_GainedXUnitsOfPowder[];
|
||||||
extern const u8 gUnknown_841CF14[];
|
extern const u8 gText_BerryCrush_RecordingGameResults[];
|
||||||
extern const u8 gUnknown_841CF50[];
|
extern const u8 gText_BerryCrush_WantToPlayAgain[];
|
||||||
extern const u8 gUnknown_841CF70[];
|
extern const u8 gText_BerryCrush_NoBerries[];
|
||||||
extern const u8 gUnknown_841CFA0[];
|
extern const u8 gText_BerryCrush_MemberDroppedOut[];
|
||||||
extern const u8 gUnknown_841CFD4[];
|
extern const u8 gText_BerryCrush_TimeUp[];
|
||||||
extern const u8 gUnknown_841D008[];
|
extern const u8 gText_BerryCrush_CommunicationStandby[];
|
||||||
extern const u8 gText_1_ClrLtGryShdwBlk_Dynamic0[];
|
extern const u8 gText_1_ClrLtGryShdwBlk_Dynamic0[];
|
||||||
extern const u8 gText_1_Dynamic0[];
|
extern const u8 gText_1_Dynamic0[];
|
||||||
extern const u8 gText_SpaceTimes[];
|
extern const u8 gText_SpaceTimes[];
|
||||||
|
|||||||
+1
-1
@@ -33,7 +33,7 @@ void SwitchTaskToFollowupFunc(u8 taskId);
|
|||||||
bool8 FuncIsActiveTask(TaskFunc func);
|
bool8 FuncIsActiveTask(TaskFunc func);
|
||||||
u8 FindTaskIdByFunc(TaskFunc func);
|
u8 FindTaskIdByFunc(TaskFunc func);
|
||||||
u8 GetTaskCount(void);
|
u8 GetTaskCount(void);
|
||||||
void SetWordTaskArg(u8 taskId, u8 dataElem, u32 value);
|
void SetWordTaskArg(u8 taskId, u8 dataElem, unsigned long value);
|
||||||
u32 GetWordTaskArg(u8 taskId, u8 dataElem);
|
u32 GetWordTaskArg(u8 taskId, u8 dataElem);
|
||||||
|
|
||||||
#endif // GUARD_TASK_H
|
#endif // GUARD_TASK_H
|
||||||
|
|||||||
+2
-2
@@ -9,8 +9,8 @@ extern const u8 gMiscBlank_Gfx[]; // unused in Emerald
|
|||||||
extern const u32 gBitTable[];
|
extern const u32 gBitTable[];
|
||||||
|
|
||||||
u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
|
u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
|
||||||
void StoreWordInTwoHalfwords(u16 *, u32);
|
void StoreWordInTwoHalfwords(u16 *, unsigned);
|
||||||
void LoadWordFromTwoHalfwords(u16 *, u32 *);
|
void LoadWordFromTwoHalfwords(u16 *, unsigned *);
|
||||||
int CountTrailingZeroBits(u32 value);
|
int CountTrailingZeroBits(u32 value);
|
||||||
u16 CalcCRC16(const u8 *data, u32 length);
|
u16 CalcCRC16(const u8 *data, u32 length);
|
||||||
u16 CalcCRC16WithTable(const u8 *data, u32 length);
|
u16 CalcCRC16WithTable(const u8 *data, u32 length);
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
void Task_VsSeeker_0(u8 taskId);
|
void Task_VsSeeker_0(u8 taskId);
|
||||||
void ClearRematchStateByTrainerId(void);
|
void ClearRematchStateByTrainerId(void);
|
||||||
void ClearRematchStateOfLastTalked(void);
|
void ClearRematchStateOfLastTalked(void);
|
||||||
int GetRematchTrainerId(u16 a0);
|
int GetRematchTrainerId(u16 trainerId);
|
||||||
bool8 UpdateVsSeekerStepCounter(void);
|
bool8 UpdateVsSeekerStepCounter(void);
|
||||||
void MapResetTrainerRematches(u16 mapGroup, u16 mapNum);
|
void MapResetTrainerRematches(u16 mapGroup, u16 mapNum);
|
||||||
|
|
||||||
|
|||||||
+8
-2
@@ -54,8 +54,15 @@ u16 AddWindow(const struct WindowTemplate *template);
|
|||||||
int AddWindowWithoutTileMap(const struct WindowTemplate *template);
|
int AddWindowWithoutTileMap(const struct WindowTemplate *template);
|
||||||
void RemoveWindow(u8 windowId);
|
void RemoveWindow(u8 windowId);
|
||||||
void FreeAllWindowBuffers(void);
|
void FreeAllWindowBuffers(void);
|
||||||
|
|
||||||
|
// Mode parameter for funcs below
|
||||||
|
#define COPYWIN_MAP 1
|
||||||
|
#define COPYWIN_GFX 2
|
||||||
|
#define COPYWIN_BOTH 3
|
||||||
|
|
||||||
void CopyWindowToVram(u8 windowId, u8 mode);
|
void CopyWindowToVram(u8 windowId, u8 mode);
|
||||||
void CopyWindowRectToVram(u32 windowId, u32 mode, u32 x, u32 y, u32 w, u32 h);
|
void CopyWindowToVram8Bit(u8 windowId, u8 mode);
|
||||||
|
|
||||||
void PutWindowTilemap(u8 windowId);
|
void PutWindowTilemap(u8 windowId);
|
||||||
void PutWindowRectTilemapOverridePalette(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 palette);
|
void PutWindowRectTilemapOverridePalette(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 palette);
|
||||||
void ClearWindowTilemap(u8 windowId);
|
void ClearWindowTilemap(u8 windowId);
|
||||||
@@ -73,7 +80,6 @@ u16 AddWindow8Bit(const struct WindowTemplate *template);
|
|||||||
void FillWindowPixelBuffer8Bit(u8 windowId, u8 fillValue);
|
void FillWindowPixelBuffer8Bit(u8 windowId, u8 fillValue);
|
||||||
void FillWindowPixelRect8Bit(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height);
|
void FillWindowPixelRect8Bit(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height);
|
||||||
void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum);
|
void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum);
|
||||||
void CopyWindowToVram8Bit(u8 windowId, u8 mode);
|
|
||||||
|
|
||||||
extern void *gWindowBgTilemapBuffers[];
|
extern void *gWindowBgTilemapBuffers[];
|
||||||
extern struct Window gWindows[];
|
extern struct Window gWindows[];
|
||||||
|
|||||||
@@ -0,0 +1,92 @@
|
|||||||
|
gNumMusicPlayers = 4;
|
||||||
|
gMaxLines = 0;
|
||||||
|
|
||||||
|
SECTIONS {
|
||||||
|
. = 0x2000000;
|
||||||
|
|
||||||
|
ewram (NOLOAD) :
|
||||||
|
ALIGN(4)
|
||||||
|
{
|
||||||
|
gHeap = .;
|
||||||
|
|
||||||
|
. = 0x1C000;
|
||||||
|
|
||||||
|
*(ewram_data);
|
||||||
|
/* pokemon_summary_screen.o */
|
||||||
|
. = ALIGN(4);
|
||||||
|
gUnknown_203B140 = .; . += 0x4;
|
||||||
|
gUnknown_203B144 = .; . += 0x4;
|
||||||
|
gUnknown_203B148 = .; . += 0x10;
|
||||||
|
gUnknown_203B158 = .; . += 0x4;
|
||||||
|
gUnknown_203B15C = .; . += 0x4;
|
||||||
|
gUnknown_203B160 = .; . += 0x4;
|
||||||
|
gUnknown_203B164 = .; . += 0x4;
|
||||||
|
gUnknown_203B168 = .; . += 0x4;
|
||||||
|
gLastViewedMonIndex = .; . += 0x1;
|
||||||
|
gUnknown_203B16D = .; . += 0x1;
|
||||||
|
gUnknown_203B16E = .; . += 0x2;
|
||||||
|
gUnknown_203B170 = .; . += 0x4;
|
||||||
|
|
||||||
|
. = 0x40000;
|
||||||
|
}
|
||||||
|
|
||||||
|
. = 0x3000000;
|
||||||
|
|
||||||
|
iwram (NOLOAD) :
|
||||||
|
ALIGN(4)
|
||||||
|
{
|
||||||
|
/* .bss starts at 0x3000000 */
|
||||||
|
*(.bss*);
|
||||||
|
/* .bss.code starts at 0x3001AA8 */
|
||||||
|
src/m4a.o(.bss.code);
|
||||||
|
|
||||||
|
/* COMMON starts at 0x30022A8 */
|
||||||
|
*(COMMON);
|
||||||
|
end = .;
|
||||||
|
. = 0x8000;
|
||||||
|
}
|
||||||
|
|
||||||
|
. = 0x8000000;
|
||||||
|
|
||||||
|
.text :
|
||||||
|
ALIGN(4)
|
||||||
|
{
|
||||||
|
asm/crt0.o(.text);
|
||||||
|
*(.text*);
|
||||||
|
} =0
|
||||||
|
|
||||||
|
script_data :
|
||||||
|
ALIGN(4)
|
||||||
|
{
|
||||||
|
*(script_data);
|
||||||
|
} =0
|
||||||
|
|
||||||
|
.data :
|
||||||
|
ALIGN(4)
|
||||||
|
{
|
||||||
|
*(.data*);
|
||||||
|
} =0
|
||||||
|
|
||||||
|
.rodata :
|
||||||
|
ALIGN(4)
|
||||||
|
{
|
||||||
|
*(.rodata*);
|
||||||
|
} =0
|
||||||
|
|
||||||
|
/* DWARF 2 sections */
|
||||||
|
.debug_aranges 0 : { *(.debug_aranges) }
|
||||||
|
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||||
|
.debug_info 0 : { *(.debug_info) }
|
||||||
|
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||||
|
.debug_line 0 : { *(.debug_line) }
|
||||||
|
.debug_frame 0 : { *(.debug_frame) }
|
||||||
|
.debug_str 0 : { *(.debug_str) }
|
||||||
|
.debug_loc 0 : { *(.debug_loc) }
|
||||||
|
.debug_macinfo 0 : { *(.debug_macinfo) }
|
||||||
|
|
||||||
|
/* Discard everything not specifically mentioned above. */
|
||||||
|
/DISCARD/ :
|
||||||
|
{
|
||||||
|
*(*);
|
||||||
|
}
|
||||||
|
}
|
||||||
+5
-5
@@ -2257,8 +2257,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
|
|||||||
if (!toBG_2)
|
if (!toBG_2)
|
||||||
{
|
{
|
||||||
|
|
||||||
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, 1);
|
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, DMA3_32BIT);
|
||||||
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(28)), 0x1000, 1);
|
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(28)), 0x1000, DMA3_32BIT);
|
||||||
sub_80752A0(&animBg);
|
sub_80752A0(&animBg);
|
||||||
CpuFill16(toBG_2, animBg.bgTiles, 0x1000);
|
CpuFill16(toBG_2, animBg.bgTiles, 0x1000);
|
||||||
CpuFill16(toBG_2, animBg.bgTilemap, 0x800);
|
CpuFill16(toBG_2, animBg.bgTilemap, 0x800);
|
||||||
@@ -2282,8 +2282,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(12)), 0x2000, 1);
|
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(12)), 0x2000, DMA3_32BIT);
|
||||||
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(30)), 0x1000, 1);
|
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(30)), 0x1000, DMA3_32BIT);
|
||||||
sub_80752C8(&animBg, 2);
|
sub_80752C8(&animBg, 2);
|
||||||
CpuFill16(0, animBg.bgTiles + 0x1000, 0x1000);
|
CpuFill16(0, animBg.bgTiles + 0x1000, 0x1000);
|
||||||
CpuFill16(0, animBg.bgTilemap + 0x400, 0x800);
|
CpuFill16(0, animBg.bgTilemap + 0x400, 0x800);
|
||||||
@@ -2840,7 +2840,7 @@ s8 BattleAnimAdjustPanning2(s8 pan)
|
|||||||
return pan;
|
return pan;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 KeepPanInRange(s16 panArg, int oldPan)
|
s16 KeepPanInRange(s16 panArg, s32 oldPan)
|
||||||
{
|
{
|
||||||
s16 pan = panArg;
|
s16 pan = panArg;
|
||||||
|
|
||||||
|
|||||||
@@ -1532,7 +1532,7 @@ void AnimAirWaveProjectile(struct Sprite *sprite)
|
|||||||
{
|
{
|
||||||
sprite->data[0] = 8;
|
sprite->data[0] = 8;
|
||||||
task->data[5] = 4;
|
task->data[5] = 4;
|
||||||
a = sub_80D8B90(0x1000);
|
a = MathUtil_Inv16(0x1000);
|
||||||
sprite->pos1.x += sprite->pos2.x;
|
sprite->pos1.x += sprite->pos2.x;
|
||||||
sprite->pos1.y += sprite->pos2.y;
|
sprite->pos1.y += sprite->pos2.y;
|
||||||
sprite->pos2.y = 0;
|
sprite->pos2.y = 0;
|
||||||
@@ -1551,8 +1551,8 @@ void AnimAirWaveProjectile(struct Sprite *sprite)
|
|||||||
sprite->data[1] = 0;
|
sprite->data[1] = 0;
|
||||||
sprite->data[6] = 0;
|
sprite->data[6] = 0;
|
||||||
sprite->data[5] = 0;
|
sprite->data[5] = 0;
|
||||||
sprite->data[3] = sub_80D8AA0(sub_80D8AA0(b, a), sub_80D8B90(0x1C0));
|
sprite->data[3] = MathUtil_Mul16(MathUtil_Mul16(b, a), MathUtil_Inv16(0x1C0));
|
||||||
sprite->data[4] = sub_80D8AA0(sub_80D8AA0(c, a), sub_80D8B90(0x1C0));
|
sprite->data[4] = MathUtil_Mul16(MathUtil_Mul16(c, a), MathUtil_Inv16(0x1C0));
|
||||||
sprite->callback = AnimAirWaveProjectile_Step1;
|
sprite->callback = AnimAirWaveProjectile_Step1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1643,18 +1643,18 @@ void AnimTask_AirCutterProjectile(u8 taskId)
|
|||||||
else
|
else
|
||||||
xDiff = attackerX - targetX;
|
xDiff = attackerX - targetX;
|
||||||
|
|
||||||
gTasks[taskId].data[5] = sub_80D8AA0(xDiff, sub_80D8B90(gBattleAnimArgs[2] & ~1));
|
gTasks[taskId].data[5] = MathUtil_Mul16(xDiff, MathUtil_Inv16(gBattleAnimArgs[2] & ~1));
|
||||||
gTasks[taskId].data[6] = sub_80D8AA0(gTasks[taskId].data[5], 0x80);
|
gTasks[taskId].data[6] = MathUtil_Mul16(gTasks[taskId].data[5], 0x80);
|
||||||
gTasks[taskId].data[7] = gBattleAnimArgs[2];
|
gTasks[taskId].data[7] = gBattleAnimArgs[2];
|
||||||
if (targetY >= attackerY)
|
if (targetY >= attackerY)
|
||||||
{
|
{
|
||||||
yDiff = targetY - attackerY;
|
yDiff = targetY - attackerY;
|
||||||
gTasks[taskId].data[8] = sub_80D8AA0(yDiff, sub_80D8B90(gTasks[taskId].data[5])) & ~1;
|
gTasks[taskId].data[8] = MathUtil_Mul16(yDiff, MathUtil_Inv16(gTasks[taskId].data[5])) & ~1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
yDiff = attackerY - targetY;
|
yDiff = attackerY - targetY;
|
||||||
gTasks[taskId].data[8] = sub_80D8AA0(yDiff, sub_80D8B90(gTasks[taskId].data[5])) | 1;
|
gTasks[taskId].data[8] = MathUtil_Mul16(yDiff, MathUtil_Inv16(gTasks[taskId].data[5])) | 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
gTasks[taskId].data[3] = gBattleAnimArgs[3];
|
gTasks[taskId].data[3] = gBattleAnimArgs[3];
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "trig.h"
|
#include "trig.h"
|
||||||
|
|
||||||
|
#undef abs
|
||||||
#define abs(x) ((x) < 0 ? -(x) : (x))
|
#define abs(x) ((x) < 0 ? -(x) : (x))
|
||||||
|
|
||||||
static void AnimTask_ShakeMonStep(u8 taskId);
|
static void AnimTask_ShakeMonStep(u8 taskId);
|
||||||
|
|||||||
@@ -2027,7 +2027,7 @@ void sub_80F15C8(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
|
spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
|
||||||
RequestDma3Fill(0, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, 0x800, 1);
|
RequestDma3Fill(0, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, 0x800, DMA3_32BIT);
|
||||||
ClearBehindSubstituteBit(gBattleAnimAttacker);
|
ClearBehindSubstituteBit(gBattleAnimAttacker);
|
||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -796,7 +796,7 @@ static void sub_802F610(void)
|
|||||||
{
|
{
|
||||||
if (gWirelessCommType == 0)
|
if (gWirelessCommType == 0)
|
||||||
{
|
{
|
||||||
if (gReceivedRemoteLinkPlayers == 0)
|
if (!gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
m4aSongNumStop(SE_HINSI);
|
m4aSongNumStop(SE_HINSI);
|
||||||
gMain.inBattle = 0;
|
gMain.inBattle = 0;
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
destWidth - w; \
|
destWidth - w; \
|
||||||
})
|
})
|
||||||
|
|
||||||
|
#undef abs
|
||||||
#define abs(a) ((a) < 0 ? -(a) : (a))
|
#define abs(a) ((a) < 0 ? -(a) : (a))
|
||||||
|
|
||||||
#define Q_24_8(n) ((s32)((n) * 256))
|
#define Q_24_8(n) ((s32)((n) * 256))
|
||||||
|
|||||||
+5
-5
@@ -935,7 +935,7 @@ static void CB2_HandleStartBattle(void)
|
|||||||
case 1:
|
case 1:
|
||||||
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
|
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||||
{
|
{
|
||||||
if (gReceivedRemoteLinkPlayers != 0)
|
if (gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
if (IsLinkTaskFinished())
|
if (IsLinkTaskFinished())
|
||||||
{
|
{
|
||||||
@@ -1107,7 +1107,7 @@ static void CB2_PreInitMultiBattle(void)
|
|||||||
switch (gBattleCommunication[MULTIUSE_STATE])
|
switch (gBattleCommunication[MULTIUSE_STATE])
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
if (gReceivedRemoteLinkPlayers != 0 && IsLinkTaskFinished())
|
if (gReceivedRemoteLinkPlayers && IsLinkTaskFinished())
|
||||||
{
|
{
|
||||||
sub_80108C4();
|
sub_80108C4();
|
||||||
SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_184, sizeof(gMultiPartnerParty));
|
SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_184, sizeof(gMultiPartnerParty));
|
||||||
@@ -1153,7 +1153,7 @@ static void CB2_PreInitMultiBattle(void)
|
|||||||
SetMainCallback2(CB2_InitBattleInternal);
|
SetMainCallback2(CB2_InitBattleInternal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (gReceivedRemoteLinkPlayers == 0)
|
else if (!gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
gBattleTypeFlags = *savedBattleTypeFlags;
|
gBattleTypeFlags = *savedBattleTypeFlags;
|
||||||
gMain.savedCallback = *savedCallback;
|
gMain.savedCallback = *savedCallback;
|
||||||
@@ -1190,7 +1190,7 @@ static void CB2_HandleStartMultiBattle(void)
|
|||||||
LoadWirelessStatusIndicatorSpriteGfx();
|
LoadWirelessStatusIndicatorSpriteGfx();
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if (gReceivedRemoteLinkPlayers != 0)
|
if (gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
if (IsLinkTaskFinished())
|
if (IsLinkTaskFinished())
|
||||||
{
|
{
|
||||||
@@ -3843,7 +3843,7 @@ static void ReturnFromBattleToOverworld(void)
|
|||||||
RandomlyGivePartyPokerus(gPlayerParty);
|
RandomlyGivePartyPokerus(gPlayerParty);
|
||||||
PartySpreadPokerus(gPlayerParty);
|
PartySpreadPokerus(gPlayerParty);
|
||||||
}
|
}
|
||||||
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) || gReceivedRemoteLinkPlayers == 0)
|
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) || !gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
gSpecialVar_Result = gBattleOutcome;
|
gSpecialVar_Result = gBattleOutcome;
|
||||||
gMain.inBattle = FALSE;
|
gMain.inBattle = FALSE;
|
||||||
|
|||||||
@@ -2453,7 +2453,7 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId) {
|
|||||||
if (!(textFlags & 0x80))
|
if (!(textFlags & 0x80))
|
||||||
{
|
{
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ static void ClearWindowCommitAndRemove(u8 windowId)
|
|||||||
{
|
{
|
||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||||
ClearWindowTilemap(windowId);
|
ClearWindowTilemap(windowId);
|
||||||
CopyWindowToVram(windowId, 2);
|
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||||
RemoveWindow(windowId);
|
RemoveWindow(windowId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -557,7 +557,7 @@ static void PrintBattleRecords(void)
|
|||||||
static void CommitWindow(u8 windowId)
|
static void CommitWindow(u8 windowId)
|
||||||
{
|
{
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void LoadFrameGfxOnBg(u8 bg)
|
static void LoadFrameGfxOnBg(u8 bg)
|
||||||
|
|||||||
@@ -5764,7 +5764,7 @@ static void atk6C_drawlvlupbox(void)
|
|||||||
case 4:
|
case 4:
|
||||||
DrawLevelUpWindow1();
|
DrawLevelUpWindow1();
|
||||||
PutWindowTilemap(12);
|
PutWindowTilemap(12);
|
||||||
CopyWindowToVram(12, 3);
|
CopyWindowToVram(12, COPYWIN_BOTH);
|
||||||
++gBattleScripting.atk6C_state;
|
++gBattleScripting.atk6C_state;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
@@ -5780,7 +5780,7 @@ static void atk6C_drawlvlupbox(void)
|
|||||||
{
|
{
|
||||||
PlaySE(SE_SELECT);
|
PlaySE(SE_SELECT);
|
||||||
DrawLevelUpWindow2();
|
DrawLevelUpWindow2();
|
||||||
CopyWindowToVram(12, 2);
|
CopyWindowToVram(12, COPYWIN_GFX);
|
||||||
++gBattleScripting.atk6C_state;
|
++gBattleScripting.atk6C_state;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -5796,9 +5796,9 @@ static void atk6C_drawlvlupbox(void)
|
|||||||
if (!sub_8026648())
|
if (!sub_8026648())
|
||||||
{
|
{
|
||||||
ClearWindowTilemap(13);
|
ClearWindowTilemap(13);
|
||||||
CopyWindowToVram(13, 1);
|
CopyWindowToVram(13, COPYWIN_MAP);
|
||||||
ClearWindowTilemap(12);
|
ClearWindowTilemap(12);
|
||||||
CopyWindowToVram(12, 1);
|
CopyWindowToVram(12, COPYWIN_MAP);
|
||||||
SetBgAttribute(2, BG_ATTR_PRIORITY, 2);
|
SetBgAttribute(2, BG_ATTR_PRIORITY, 2);
|
||||||
ShowBg(2);
|
ShowBg(2);
|
||||||
gBattleScripting.atk6C_state = 10;
|
gBattleScripting.atk6C_state = 10;
|
||||||
@@ -5840,7 +5840,7 @@ static void sub_8026480(void)
|
|||||||
LoadPalette(gUnknown_82506D0, 0x60, 0x20);
|
LoadPalette(gUnknown_82506D0, 0x60, 0x20);
|
||||||
CopyToWindowPixelBuffer(13, gUnknown_82506F0, 0, 0);
|
CopyToWindowPixelBuffer(13, gUnknown_82506F0, 0, 0);
|
||||||
PutWindowTilemap(13);
|
PutWindowTilemap(13);
|
||||||
CopyWindowToVram(13, 3);
|
CopyWindowToVram(13, COPYWIN_BOTH);
|
||||||
PutMonIconOnLvlUpBox();
|
PutMonIconOnLvlUpBox();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5909,8 +5909,8 @@ static void PutLevelAndGenderOnLvlUpBox(void)
|
|||||||
}
|
}
|
||||||
printerTemplate.y = 10;
|
printerTemplate.y = 10;
|
||||||
printerTemplate.currentY = 10;
|
printerTemplate.currentY = 10;
|
||||||
AddTextPrinter(&printerTemplate, 0xFF, NULL);
|
AddTextPrinter(&printerTemplate, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(13, 2);
|
CopyWindowToVram(13, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool8 sub_8026648(void)
|
static bool8 sub_8026648(void)
|
||||||
|
|||||||
@@ -1109,12 +1109,10 @@ static void SpriteCB_BT_Phase2SlidingPokeballs(struct Sprite *sprite)
|
|||||||
|
|
||||||
if (posX != sprite->data[2])
|
if (posX != sprite->data[2])
|
||||||
{
|
{
|
||||||
u32 var;
|
|
||||||
u16 *ptr;
|
u16 *ptr;
|
||||||
|
|
||||||
sprite->data[2] = posX;
|
sprite->data[2] = posX;
|
||||||
var = (((GetGpuReg(REG_OFFSET_BG0CNT) >> 8) & 0x1F) << 11);
|
ptr = (u16 *)BG_SCREEN_ADDR((GetGpuReg(REG_OFFSET_BG0CNT) >> 8) & 0x1F);
|
||||||
ptr = (u16 *)(VRAM + var);
|
|
||||||
SOME_VRAM_STORE(ptr, posY - 2, posX, 0xF001);
|
SOME_VRAM_STORE(ptr, posY - 2, posX, 0xF001);
|
||||||
SOME_VRAM_STORE(ptr, posY - 1, posX, 0xF001);
|
SOME_VRAM_STORE(ptr, posY - 1, posX, 0xF001);
|
||||||
SOME_VRAM_STORE(ptr, posY - 0, posX, 0xF001);
|
SOME_VRAM_STORE(ptr, posY - 0, posX, 0xF001);
|
||||||
@@ -3512,7 +3510,7 @@ static void BT_GetBg0TilesetBase(u16 **tilesetPtr)
|
|||||||
u16 charBase;
|
u16 charBase;
|
||||||
|
|
||||||
charBase = GetGpuReg(REG_OFFSET_BG0CNT) >> 2;
|
charBase = GetGpuReg(REG_OFFSET_BG0CNT) >> 2;
|
||||||
charBase <<= 0xE;
|
charBase <<= 14;
|
||||||
*tilesetPtr = (u16 *)(VRAM + charBase);
|
*tilesetPtr = (u16 *)(VRAM + charBase);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3522,8 +3520,8 @@ static void BT_GetBg0TilemapAndTilesetBase(u16 **tilemapPtr, u16 **tilesetPtr)
|
|||||||
|
|
||||||
screenBase = (GetGpuReg(REG_OFFSET_BG0CNT) >> 8) & 0x1F;
|
screenBase = (GetGpuReg(REG_OFFSET_BG0CNT) >> 8) & 0x1F;
|
||||||
charBase = GetGpuReg(REG_OFFSET_BG0CNT) >> 2;
|
charBase = GetGpuReg(REG_OFFSET_BG0CNT) >> 2;
|
||||||
screenBase <<= 0xB;
|
screenBase <<= 11;
|
||||||
charBase <<= 0xE;
|
charBase <<= 14;
|
||||||
*tilemapPtr = (u16 *)(VRAM + screenBase);
|
*tilemapPtr = (u16 *)(VRAM + screenBase);
|
||||||
*tilesetPtr = (u16 *)(VRAM + charBase);
|
*tilesetPtr = (u16 *)(VRAM + charBase);
|
||||||
}
|
}
|
||||||
@@ -3546,7 +3544,7 @@ static void BT_GenerateCircle(s16 *buffer, s16 x, s16 y, s16 radius)
|
|||||||
s16 i;
|
s16 i;
|
||||||
|
|
||||||
memset(buffer, 0xA, 320);
|
memset(buffer, 0xA, 320);
|
||||||
// 64 iterations because we only want to cover [0, π/2) discretely.
|
// 64 iterations because we only want to cover [0, π/2) discretely.
|
||||||
for (i = 0; i < 64; ++i)
|
for (i = 0; i < 64; ++i)
|
||||||
{
|
{
|
||||||
s16 sinResult, cosResult, leftX, topY, bottomY, nextTopY, nextBottomY, winVal;
|
s16 sinResult, cosResult, leftX, topY, bottomY, nextTopY, nextBottomY, winVal;
|
||||||
|
|||||||
+1
-1
@@ -867,7 +867,7 @@ const struct Berry gBerries[] = {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct UnkStruct_0858AB24 gUnknown_83DFC9C[] = {
|
const struct BerryCrushStats gBerryCrushStats[] = {
|
||||||
{ 50, 20},
|
{ 50, 20},
|
||||||
{ 50, 20},
|
{ 50, 20},
|
||||||
{ 50, 20},
|
{ 50, 20},
|
||||||
|
|||||||
+79
-77
@@ -13,28 +13,29 @@
|
|||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
#include "constants/items.h"
|
#include "constants/items.h"
|
||||||
|
|
||||||
static EWRAM_DATA struct BerryCrushGame *gUnknown_203F3DC = NULL;
|
static EWRAM_DATA struct BerryCrushGame *sBerryCrushGamePtr = NULL;
|
||||||
|
|
||||||
static void sub_814B860(void);
|
static void BerryCrush_InitPlayerNamesAndTextSpeed(struct BerryCrushGame *game);
|
||||||
static void sub_814BA6C(void);
|
static void CB2_ReturnToBerryCrushGameFromBerryPouch(void);
|
||||||
static void sub_814BA80(void);
|
static void VBlankCB_BerryCrush(void);
|
||||||
static void sub_814BA98(u8 taskId);
|
static void CB2_BerryCrush(void);
|
||||||
|
static void Task_RunBerryCrushGame(u8 taskId);
|
||||||
|
|
||||||
struct BerryCrushGame *sub_814B6F0(void)
|
struct BerryCrushGame *GetBerryCrushGame(void)
|
||||||
{
|
{
|
||||||
return gUnknown_203F3DC;
|
return sBerryCrushGamePtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 sub_814B6FC(MainCallback callback)
|
u32 ExitBerryCrushWithCallback(MainCallback callback)
|
||||||
{
|
{
|
||||||
if (!gUnknown_203F3DC)
|
if (sBerryCrushGamePtr == NULL)
|
||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
if (!callback)
|
if (callback == NULL)
|
||||||
callback = gUnknown_203F3DC->unk0;
|
callback = sBerryCrushGamePtr->savedCallback;
|
||||||
|
|
||||||
DestroyTask(gUnknown_203F3DC->unkA);
|
DestroyTask(sBerryCrushGamePtr->taskId);
|
||||||
FREE_AND_SET_NULL(gUnknown_203F3DC);
|
FREE_AND_SET_NULL(sBerryCrushGamePtr);
|
||||||
SetMainCallback2(callback);
|
SetMainCallback2(callback);
|
||||||
if (callback == CB2_ReturnToField)
|
if (callback == CB2_ReturnToField)
|
||||||
{
|
{
|
||||||
@@ -70,8 +71,8 @@ void StartBerryCrush(MainCallback callback)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
gUnknown_203F3DC = AllocZeroed(sizeof(*gUnknown_203F3DC));
|
sBerryCrushGamePtr = AllocZeroed(sizeof(*sBerryCrushGamePtr));
|
||||||
if (!gUnknown_203F3DC)
|
if (!sBerryCrushGamePtr)
|
||||||
{
|
{
|
||||||
SetMainCallback2(callback);
|
SetMainCallback2(callback);
|
||||||
Rfu.linkman_param[0] = 0;
|
Rfu.linkman_param[0] = 0;
|
||||||
@@ -80,109 +81,110 @@ void StartBerryCrush(MainCallback callback)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
gUnknown_203F3DC->unk0 = callback;
|
sBerryCrushGamePtr->savedCallback = callback;
|
||||||
gUnknown_203F3DC->unk8 = multiplayerId;
|
sBerryCrushGamePtr->localId = multiplayerId;
|
||||||
gUnknown_203F3DC->unk9 = playerCount;
|
sBerryCrushGamePtr->playerCount = playerCount;
|
||||||
sub_814BABC(gUnknown_203F3DC);
|
BerryCrush_InitPlayerNamesAndTextSpeed(sBerryCrushGamePtr);
|
||||||
gUnknown_203F3DC->unk12 = 1;
|
sBerryCrushGamePtr->gameState = 1;
|
||||||
gUnknown_203F3DC->unkE = 1;
|
sBerryCrushGamePtr->nextCmd = BCCMD_BeginNormalPaletteFade;
|
||||||
gUnknown_203F3DC->unkF = 6;
|
sBerryCrushGamePtr->afterPalFadeCmd = BCCMD_SignalReadyToBegin;
|
||||||
sub_814D564(gUnknown_203F3DC->unk36, 1, -1, 0, 16, 0, 0);
|
BerryCrush_SetPaletteFadeParams(sBerryCrushGamePtr->commandParams, TRUE, 0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
|
||||||
sub_814BB4C(4, 1, gUnknown_203F3DC->unk36);
|
BerryCrush_RunOrScheduleCommand(BCCMD_InitGfx, 1, sBerryCrushGamePtr->commandParams);
|
||||||
SetMainCallback2(sub_814BA80);
|
SetMainCallback2(CB2_BerryCrush);
|
||||||
gUnknown_203F3DC->unkA = CreateTask(sub_814BA98, 8);
|
sBerryCrushGamePtr->taskId = CreateTask(Task_RunBerryCrushGame, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_814B860(void)
|
static void CB2_ReturnToBerryCrushGameFromBerryPouch(void)
|
||||||
{
|
{
|
||||||
if (gSpecialVar_ItemId < FIRST_BERRY_INDEX || gSpecialVar_ItemId > LAST_BERRY_INDEX + 1)
|
if (gSpecialVar_ItemId < FIRST_BERRY_INDEX || gSpecialVar_ItemId > LAST_BERRY_INDEX + 1)
|
||||||
gSpecialVar_ItemId = ITEM_CHERI_BERRY;
|
gSpecialVar_ItemId = ITEM_CHERI_BERRY;
|
||||||
else
|
else
|
||||||
RemoveBagItem(gSpecialVar_ItemId, 1);
|
RemoveBagItem(gSpecialVar_ItemId, 1);
|
||||||
|
|
||||||
gUnknown_203F3DC->unk68.as_four_players.others[gUnknown_203F3DC->unk8].unk0 = gSpecialVar_ItemId - FIRST_BERRY_INDEX;
|
sBerryCrushGamePtr->unk68.as_four_players.others[sBerryCrushGamePtr->localId].berryId = gSpecialVar_ItemId - FIRST_BERRY_INDEX;
|
||||||
gUnknown_203F3DC->unkE = 1;
|
sBerryCrushGamePtr->nextCmd = BCCMD_BeginNormalPaletteFade;
|
||||||
gUnknown_203F3DC->unkF = 9;
|
sBerryCrushGamePtr->afterPalFadeCmd = BCCMD_WaitForOthersToPickBerries;
|
||||||
sub_814D564(gUnknown_203F3DC->unk36, 0, -1, 0, 16, 0, 0);
|
BerryCrush_SetPaletteFadeParams(sBerryCrushGamePtr->commandParams, FALSE, 0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
|
||||||
sub_814BB4C(4, 1, gUnknown_203F3DC->unk36);
|
BerryCrush_RunOrScheduleCommand(BCCMD_InitGfx, 1, sBerryCrushGamePtr->commandParams);
|
||||||
gUnknown_203F3DC->unkA = CreateTask(sub_814BA98, 8);
|
sBerryCrushGamePtr->taskId = CreateTask(Task_RunBerryCrushGame, 8);
|
||||||
SetMainCallback2(sub_814BA80);
|
SetMainCallback2(CB2_BerryCrush);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_814B8F0(void)
|
void CB2_BerryCrush_GoToBerryPouch(void)
|
||||||
{
|
{
|
||||||
DestroyTask(gUnknown_203F3DC->unkA);
|
DestroyTask(sBerryCrushGamePtr->taskId);
|
||||||
InitBerryPouch(BERRYPOUCH_FROMBERRYCRUSH, sub_814B860, FALSE);
|
InitBerryPouch(BERRYPOUCH_FROMBERRYCRUSH, CB2_ReturnToBerryCrushGameFromBerryPouch, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_814B914(void)
|
void BerryCrush_SetVBlankCallback(void)
|
||||||
{
|
{
|
||||||
SetVBlankCallback(sub_814BA6C);
|
SetVBlankCallback(VBlankCB_BerryCrush);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_814B924(void)
|
void BerryCrush_UnsetVBlankCallback(void)
|
||||||
{
|
{
|
||||||
SetVBlankCallback(NULL);
|
SetVBlankCallback(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_814B930(void)
|
void BerryCrush_UpdateSav2Records(void)
|
||||||
{
|
{
|
||||||
u32 var0, var1;
|
u32 var0, var1;
|
||||||
|
|
||||||
var0 = gUnknown_203F3DC->unk68.as_four_players.unk00.unk04;
|
// unk0A / (unk04 / 60)
|
||||||
|
var0 = sBerryCrushGamePtr->unk68.as_four_players.unk00.unk04;
|
||||||
var0 <<= 8;
|
var0 <<= 8;
|
||||||
var0 = sub_80D8B68(var0, 60 << 8);
|
var0 = MathUtil_Div32(var0, 60 << 8);
|
||||||
var1 = gUnknown_203F3DC->unk68.as_four_players.unk00.unk0A;
|
var1 = sBerryCrushGamePtr->unk68.as_four_players.unk00.unk0A;
|
||||||
var1 <<= 8;
|
var1 <<= 8;
|
||||||
var1 = sub_80D8B68(var1, var0) & 0xFFFF;
|
var1 = MathUtil_Div32(var1, var0) & 0xFFFF;
|
||||||
gUnknown_203F3DC->unk16 = var1;
|
sBerryCrushGamePtr->pressingSpeed = var1;
|
||||||
switch (gUnknown_203F3DC->unk9)
|
switch (sBerryCrushGamePtr->playerCount)
|
||||||
{
|
{
|
||||||
case 2:
|
case 2:
|
||||||
if (gUnknown_203F3DC->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[0])
|
if (sBerryCrushGamePtr->pressingSpeed > gSaveBlock2Ptr->berryCrush.berryCrushResults[0])
|
||||||
{
|
{
|
||||||
gUnknown_203F3DC->unk25_1 = 1;
|
sBerryCrushGamePtr->unk25_1 = 1;
|
||||||
gSaveBlock2Ptr->berryCrush.berryCrushResults[0] = gUnknown_203F3DC->unk16;
|
gSaveBlock2Ptr->berryCrush.berryCrushResults[0] = sBerryCrushGamePtr->pressingSpeed;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (gUnknown_203F3DC->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[1])
|
if (sBerryCrushGamePtr->pressingSpeed > gSaveBlock2Ptr->berryCrush.berryCrushResults[1])
|
||||||
{
|
{
|
||||||
gUnknown_203F3DC->unk25_1 = 1;
|
sBerryCrushGamePtr->unk25_1 = 1;
|
||||||
gSaveBlock2Ptr->berryCrush.berryCrushResults[1] = gUnknown_203F3DC->unk16;
|
gSaveBlock2Ptr->berryCrush.berryCrushResults[1] = sBerryCrushGamePtr->pressingSpeed;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (gUnknown_203F3DC->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[2])
|
if (sBerryCrushGamePtr->pressingSpeed > gSaveBlock2Ptr->berryCrush.berryCrushResults[2])
|
||||||
{
|
{
|
||||||
gUnknown_203F3DC->unk25_1 = 1;
|
sBerryCrushGamePtr->unk25_1 = 1;
|
||||||
gSaveBlock2Ptr->berryCrush.berryCrushResults[2] = gUnknown_203F3DC->unk16;
|
gSaveBlock2Ptr->berryCrush.berryCrushResults[2] = sBerryCrushGamePtr->pressingSpeed;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
if (gUnknown_203F3DC->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[3])
|
if (sBerryCrushGamePtr->pressingSpeed > gSaveBlock2Ptr->berryCrush.berryCrushResults[3])
|
||||||
{
|
{
|
||||||
gUnknown_203F3DC->unk25_1 = 1;
|
sBerryCrushGamePtr->unk25_1 = 1;
|
||||||
gSaveBlock2Ptr->berryCrush.berryCrushResults[3] = gUnknown_203F3DC->unk16;
|
gSaveBlock2Ptr->berryCrush.berryCrushResults[3] = sBerryCrushGamePtr->pressingSpeed;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
gUnknown_203F3DC->unk1C = gUnknown_203F3DC->unk68.as_four_players.unk00.unk00;
|
sBerryCrushGamePtr->powder = sBerryCrushGamePtr->unk68.as_four_players.unk00.unk00;
|
||||||
if (GiveBerryPowder(gUnknown_203F3DC->unk1C))
|
if (GiveBerryPowder(sBerryCrushGamePtr->powder))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gUnknown_203F3DC->unk25_0 = 1;
|
sBerryCrushGamePtr->unk25_0 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_814BA6C(void)
|
static void VBlankCB_BerryCrush(void)
|
||||||
{
|
{
|
||||||
TransferPlttBuffer();
|
TransferPlttBuffer();
|
||||||
LoadOam();
|
LoadOam();
|
||||||
ProcessSpriteCopyRequests();
|
ProcessSpriteCopyRequests();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_814BA80(void)
|
static void CB2_BerryCrush(void)
|
||||||
{
|
{
|
||||||
RunTasks();
|
RunTasks();
|
||||||
RunTextPrinters();
|
RunTextPrinters();
|
||||||
@@ -190,39 +192,39 @@ static void sub_814BA80(void)
|
|||||||
BuildOamBuffer();
|
BuildOamBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_814BA98(u8 taskId)
|
static void Task_RunBerryCrushGame(u8 taskId)
|
||||||
{
|
{
|
||||||
if (gUnknown_203F3DC->unk4)
|
if (sBerryCrushGamePtr->cmdCallback != NULL)
|
||||||
gUnknown_203F3DC->unk4(gUnknown_203F3DC, gUnknown_203F3DC->unk36);
|
sBerryCrushGamePtr->cmdCallback(sBerryCrushGamePtr, sBerryCrushGamePtr->commandParams);
|
||||||
|
|
||||||
sub_814D9CC(gUnknown_203F3DC);
|
sub_814D9CC(sBerryCrushGamePtr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_814BABC(struct BerryCrushGame *arg0)
|
void BerryCrush_InitPlayerNamesAndTextSpeed(struct BerryCrushGame *game)
|
||||||
{
|
{
|
||||||
u8 i;
|
u8 i;
|
||||||
|
|
||||||
for (i = 0; i < arg0->unk9; i++)
|
for (i = 0; i < game->playerCount; i++)
|
||||||
{
|
{
|
||||||
StringCopy(PLAYER_UNK14(arg0, i), gLinkPlayers[i].name);
|
StringCopy(BERRYCRUSH_PLAYER_NAME(game, i), gLinkPlayers[i].name);
|
||||||
arg0->unk68.as_five_players.unk1C[i].unk14[PLAYER_NAME_LENGTH] = EOS;
|
game->unk68.as_five_players.players[i].unk14[PLAYER_NAME_LENGTH] = EOS;
|
||||||
}
|
}
|
||||||
for (; i < 5; i++)
|
for (; i < 5; i++)
|
||||||
{
|
{
|
||||||
memset(PLAYER_UNK14(arg0, i), 1, PLAYER_NAME_LENGTH);
|
memset(BERRYCRUSH_PLAYER_NAME(game, i), 1, PLAYER_NAME_LENGTH);
|
||||||
arg0->unk68.as_five_players.unk1C[i].unk14[PLAYER_NAME_LENGTH] = EOS;
|
game->unk68.as_five_players.players[i].unk14[PLAYER_NAME_LENGTH] = EOS;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (gSaveBlock2Ptr->optionsTextSpeed)
|
switch (gSaveBlock2Ptr->optionsTextSpeed)
|
||||||
{
|
{
|
||||||
case OPTIONS_TEXT_SPEED_SLOW:
|
case OPTIONS_TEXT_SPEED_SLOW:
|
||||||
arg0->unkB = 8;
|
game->textSpeed = 8;
|
||||||
break;
|
break;
|
||||||
case OPTIONS_TEXT_SPEED_MID:
|
case OPTIONS_TEXT_SPEED_MID:
|
||||||
arg0->unkB = 4;
|
game->textSpeed = 4;
|
||||||
break;
|
break;
|
||||||
case OPTIONS_TEXT_SPEED_FAST:
|
case OPTIONS_TEXT_SPEED_FAST:
|
||||||
arg0->unkB = 1;
|
game->textSpeed = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+678
-717
File diff suppressed because it is too large
Load Diff
+379
-375
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -744,7 +744,7 @@ static void BerryPouchSetArrowCursorAt(u8 y, u8 colorIdx)
|
|||||||
width = GetMenuCursorDimensionByFont(2, 0);
|
width = GetMenuCursorDimensionByFont(2, 0);
|
||||||
height = GetMenuCursorDimensionByFont(2, 1);
|
height = GetMenuCursorDimensionByFont(2, 1);
|
||||||
FillWindowPixelRect(0, 0, 1, y, width, height);
|
FillWindowPixelRect(0, 0, 1, y, width, height);
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode)
|
|||||||
|
|
||||||
offset = destOffset + offset;
|
offset = destOffset + offset;
|
||||||
|
|
||||||
cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, 0);
|
cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, DMA3_16BIT);
|
||||||
|
|
||||||
if (cursor == -1)
|
if (cursor == -1)
|
||||||
{
|
{
|
||||||
@@ -472,7 +472,7 @@ u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset)
|
|||||||
if (IsInvalidBg32(bg) == FALSE)
|
if (IsInvalidBg32(bg) == FALSE)
|
||||||
{
|
{
|
||||||
paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2);
|
paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2);
|
||||||
cursor = RequestDma3Copy(src, (void*)(paletteOffset + BG_PLTT), size, 0);
|
cursor = RequestDma3Copy(src, (void*)(paletteOffset + BG_PLTT), size, DMA3_16BIT);
|
||||||
|
|
||||||
if (cursor == -1)
|
if (cursor == -1)
|
||||||
{
|
{
|
||||||
@@ -500,7 +500,7 @@ bool8 IsDma3ManagerBusyWithBgCopy(void)
|
|||||||
|
|
||||||
if ((sDmaBusyBitfield[div] & (1 << mod)))
|
if ((sDmaBusyBitfield[div] & (1 << mod)))
|
||||||
{
|
{
|
||||||
s8 reqSpace = CheckForSpaceForDma3Request(i);
|
s8 reqSpace = WaitDma3Request(i);
|
||||||
if (reqSpace == -1)
|
if (reqSpace == -1)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
sDmaBusyBitfield[div] &= ~(1 << mod);
|
sDmaBusyBitfield[div] &= ~(1 << mod);
|
||||||
@@ -567,7 +567,7 @@ u16 GetBgAttribute(u8 bg, u8 attributeId)
|
|||||||
return GetBgControlAttribute(bg, BG_CTRL_ATTR_MOSAIC);
|
return GetBgControlAttribute(bg, BG_CTRL_ATTR_MOSAIC);
|
||||||
case BG_ATTR_WRAPAROUND:
|
case BG_ATTR_WRAPAROUND:
|
||||||
return GetBgControlAttribute(bg, BG_CTRL_ATTR_WRAPAROUND);
|
return GetBgControlAttribute(bg, BG_CTRL_ATTR_WRAPAROUND);
|
||||||
case BG_ATTR_TEXTORAFFINEMODE:
|
case BG_ATTR_MAPSIZE:
|
||||||
switch (GetBgType(bg))
|
switch (GetBgType(bg))
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
|||||||
+1
-1
@@ -175,7 +175,7 @@ u16 Font6Func(struct TextPrinter *textPrinter)
|
|||||||
ScrollWindow(textPrinter->printerTemplate.windowId, 0, gUnknown_846FB08[gSaveBlock2Ptr->optionsTextSpeed], PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
ScrollWindow(textPrinter->printerTemplate.windowId, 0, gUnknown_846FB08[gSaveBlock2Ptr->optionsTextSpeed], PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||||
textPrinter->scrollDistance -= gUnknown_846FB08[gSaveBlock2Ptr->optionsTextSpeed];
|
textPrinter->scrollDistance -= gUnknown_846FB08[gSaveBlock2Ptr->optionsTextSpeed];
|
||||||
}
|
}
|
||||||
CopyWindowToVram(textPrinter->printerTemplate.windowId, 2);
|
CopyWindowToVram(textPrinter->printerTemplate.windowId, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -80,13 +80,13 @@ static void PrintNewCountOnLinkPlayerCountDisplayWindow(u16 windowId, s32 num)
|
|||||||
SetStdWindowBorderStyle(windowId, FALSE);
|
SetStdWindowBorderStyle(windowId, FALSE);
|
||||||
StringExpandPlaceholders(gStringVar4, gUnknown_841DF82);
|
StringExpandPlaceholders(gStringVar4, gUnknown_841DF82);
|
||||||
AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 0, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 0, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DestroyLinkPlayerCountDisplayWindow(u16 windowId)
|
static void DestroyLinkPlayerCountDisplayWindow(u16 windowId)
|
||||||
{
|
{
|
||||||
ClearStdWindowAndFrame(windowId, FALSE);
|
ClearStdWindowAndFrame(windowId, FALSE);
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void UpdateLinkPlayerCountDisplay(u8 taskId, u8 num)
|
static void UpdateLinkPlayerCountDisplay(u8 taskId, u8 num)
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ static void Task_DrawClearSaveDataScreen(u8 taskId)
|
|||||||
case 4:
|
case 4:
|
||||||
DrawStdFrameWithCustomTileAndPalette(1, TRUE, 0x001, 0xF);
|
DrawStdFrameWithCustomTileAndPalette(1, TRUE, 0x001, 0xF);
|
||||||
AddTextPrinterParameterized4(1, 2, 0, 3, 1, 1, sTextColor, 0, gUnknown_841B69E);
|
AddTextPrinterParameterized4(1, 2, 0, 3, 1, 1, sTextColor, 0, gUnknown_841B69E);
|
||||||
CopyWindowToVram(1, 2);
|
CopyWindowToVram(1, COPYWIN_GFX);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
CreateYesNoMenu(&sWindowTemplates[0], 2, 0, 2, 0x001, 0xF, 1);
|
CreateYesNoMenu(&sWindowTemplates[0], 2, 0, 2, 0x001, 0xF, 1);
|
||||||
@@ -139,7 +139,7 @@ static void Task_HandleYesNoMenu(u8 taskId)
|
|||||||
PlaySE(SE_SELECT);
|
PlaySE(SE_SELECT);
|
||||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||||
AddTextPrinterParameterized4(1, 2, 0, 3, 1, 1, sTextColor, 0, gUnknown_841B6B9);
|
AddTextPrinterParameterized4(1, 2, 0, 3, 1, 1, sTextColor, 0, gUnknown_841B6B9);
|
||||||
CopyWindowToVram(1, 3);
|
CopyWindowToVram(1, COPYWIN_BOTH);
|
||||||
ClearSaveData();
|
ClearSaveData();
|
||||||
break;
|
break;
|
||||||
case MENU_NOTHING_CHOSEN:
|
case MENU_NOTHING_CHOSEN:
|
||||||
|
|||||||
+5
-5
@@ -761,7 +761,7 @@ static void CreateCreditsWindow(void)
|
|||||||
sCreditsMgr->windowId = AddWindow(&sCreditsWindowTemplate);
|
sCreditsMgr->windowId = AddWindow(&sCreditsWindowTemplate);
|
||||||
FillWindowPixelBuffer(sCreditsMgr->windowId, PIXEL_FILL(0));
|
FillWindowPixelBuffer(sCreditsMgr->windowId, PIXEL_FILL(0));
|
||||||
PutWindowTilemap(sCreditsMgr->windowId);
|
PutWindowTilemap(sCreditsMgr->windowId);
|
||||||
CopyWindowToVram(sCreditsMgr->windowId, 3);
|
CopyWindowToVram(sCreditsMgr->windowId, COPYWIN_BOTH);
|
||||||
sCreditsMgr->windowIsActive = TRUE;
|
sCreditsMgr->windowIsActive = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -931,7 +931,7 @@ static s32 RollCredits(void)
|
|||||||
sCreditsMgr->mainseqno = CREDITSSCENE_PRINT_DELAY;
|
sCreditsMgr->mainseqno = CREDITSSCENE_PRINT_DELAY;
|
||||||
return sCreditsMgr->canSpeedThrough;
|
return sCreditsMgr->canSpeedThrough;
|
||||||
case CREDITSSCENE_PRINT_DELAY:
|
case CREDITSSCENE_PRINT_DELAY:
|
||||||
CopyWindowToVram(sCreditsMgr->windowId, 2);
|
CopyWindowToVram(sCreditsMgr->windowId, COPYWIN_GFX);
|
||||||
sCreditsMgr->timer = sCreditsScript[sCreditsMgr->scrcmdidx].duration;
|
sCreditsMgr->timer = sCreditsScript[sCreditsMgr->scrcmdidx].duration;
|
||||||
sCreditsMgr->scrcmdidx++;
|
sCreditsMgr->scrcmdidx++;
|
||||||
BeginNormalPaletteFade(0x00008000, 0, 16, 0, RGB_BLACK);
|
BeginNormalPaletteFade(0x00008000, 0, 16, 0, RGB_BLACK);
|
||||||
@@ -1781,9 +1781,9 @@ static void LoadCreditsMonPic(u8 whichMon)
|
|||||||
CopyToWindowPixelBuffer(2, (const void *)sWindow2Map_Pikachu, 0, 0);
|
CopyToWindowPixelBuffer(2, (const void *)sWindow2Map_Pikachu, 0, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
CopyWindowToVram(1, 2);
|
CopyWindowToVram(1, COPYWIN_GFX);
|
||||||
CopyWindowToVram(2, 2);
|
CopyWindowToVram(2, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static u16 GetCreditsMonSpecies(u8 whichMon)
|
static u16 GetCreditsMonSpecies(u8 whichMon)
|
||||||
|
|||||||
+3
-3
@@ -70,7 +70,7 @@ static void CreateRandomEggShardSprite(void);
|
|||||||
static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8 spriteAnimIndex);
|
static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8 spriteAnimIndex);
|
||||||
|
|
||||||
// IWRAM bss
|
// IWRAM bss
|
||||||
static IWRAM_DATA struct EggHatchData *sEggHatchData;
|
static struct EggHatchData *sEggHatchData;
|
||||||
|
|
||||||
// RAM buffers used to assist with BuildEggMoveset()
|
// RAM buffers used to assist with BuildEggMoveset()
|
||||||
EWRAM_DATA static u16 sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0};
|
EWRAM_DATA static u16 sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0};
|
||||||
@@ -1540,7 +1540,7 @@ void ShowDaycareLevelMenu(void)
|
|||||||
menuTemplate.windowId = windowId;
|
menuTemplate.windowId = windowId;
|
||||||
listMenuTaskId = ListMenuInit(&menuTemplate, 0, 0);
|
listMenuTaskId = ListMenuInit(&menuTemplate, 0, 0);
|
||||||
|
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
|
|
||||||
daycareMenuTaskId = CreateTask(Task_HandleDaycareLevelMenuInput, 3);
|
daycareMenuTaskId = CreateTask(Task_HandleDaycareLevelMenuInput, 3);
|
||||||
gTasks[daycareMenuTaskId].tMenuListTaskId = listMenuTaskId;
|
gTasks[daycareMenuTaskId].tMenuListTaskId = listMenuTaskId;
|
||||||
@@ -1935,7 +1935,7 @@ static void CB2_EggHatch_1(void)
|
|||||||
PlayFanfare(MUS_FANFA5);
|
PlayFanfare(MUS_FANFA5);
|
||||||
sEggHatchData->CB2_state++;
|
sEggHatchData->CB2_state++;
|
||||||
PutWindowTilemap(sEggHatchData->windowId);
|
PutWindowTilemap(sEggHatchData->windowId);
|
||||||
CopyWindowToVram(sEggHatchData->windowId, 3);
|
CopyWindowToVram(sEggHatchData->windowId, COPYWIN_BOTH);
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (IsFanfareTaskInactive())
|
if (IsFanfareTaskInactive())
|
||||||
|
|||||||
+9
-14
@@ -3,12 +3,7 @@
|
|||||||
|
|
||||||
#define MAX_DMA_REQUESTS 128
|
#define MAX_DMA_REQUESTS 128
|
||||||
|
|
||||||
#define DMA_REQUEST_COPY32 1
|
static struct {
|
||||||
#define DMA_REQUEST_FILL32 2
|
|
||||||
#define DMA_REQUEST_COPY16 3
|
|
||||||
#define DMA_REQUEST_FILL16 4
|
|
||||||
|
|
||||||
static /*IWRAM_DATA*/ struct {
|
|
||||||
/* 0x00 */ const u8 *src;
|
/* 0x00 */ const u8 *src;
|
||||||
/* 0x04 */ u8 *dest;
|
/* 0x04 */ u8 *dest;
|
||||||
/* 0x08 */ u16 size;
|
/* 0x08 */ u16 size;
|
||||||
@@ -26,7 +21,7 @@ void ClearDma3Requests(void)
|
|||||||
gDma3ManagerLocked = TRUE;
|
gDma3ManagerLocked = TRUE;
|
||||||
gDma3RequestCursor = 0;
|
gDma3RequestCursor = 0;
|
||||||
|
|
||||||
for(i = 0; i < (u8)ARRAY_COUNT(gDma3Requests); i++)
|
for(i = 0; i < (u8)NELEMS(gDma3Requests); i++)
|
||||||
{
|
{
|
||||||
gDma3Requests[i].size = 0;
|
gDma3Requests[i].size = 0;
|
||||||
gDma3Requests[i].src = 0;
|
gDma3Requests[i].src = 0;
|
||||||
@@ -108,10 +103,10 @@ s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode)
|
|||||||
gDma3Requests[cursor].dest = dest;
|
gDma3Requests[cursor].dest = dest;
|
||||||
gDma3Requests[cursor].size = size;
|
gDma3Requests[cursor].size = size;
|
||||||
|
|
||||||
if(mode == 1)
|
if(mode == DMA3_32BIT)
|
||||||
gDma3Requests[cursor].mode = mode;
|
gDma3Requests[cursor].mode = DMA_REQUEST_COPY32;
|
||||||
else
|
else
|
||||||
gDma3Requests[cursor].mode = 3;
|
gDma3Requests[cursor].mode = DMA_REQUEST_COPY16;
|
||||||
|
|
||||||
gDma3ManagerLocked = FALSE;
|
gDma3ManagerLocked = FALSE;
|
||||||
return (s16)cursor;
|
return (s16)cursor;
|
||||||
@@ -146,10 +141,10 @@ s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode)
|
|||||||
gDma3Requests[cursor].mode = mode;
|
gDma3Requests[cursor].mode = mode;
|
||||||
gDma3Requests[cursor].value = value;
|
gDma3Requests[cursor].value = value;
|
||||||
|
|
||||||
if(mode == 1)
|
if(mode == DMA3_32BIT)
|
||||||
gDma3Requests[cursor].mode = 2;
|
gDma3Requests[cursor].mode = DMA_REQUEST_FILL32;
|
||||||
else
|
else
|
||||||
gDma3Requests[cursor].mode = 4;
|
gDma3Requests[cursor].mode = DMA_REQUEST_FILL16;
|
||||||
|
|
||||||
gDma3ManagerLocked = FALSE;
|
gDma3ManagerLocked = FALSE;
|
||||||
return (s16)cursor;
|
return (s16)cursor;
|
||||||
@@ -167,7 +162,7 @@ s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 CheckForSpaceForDma3Request(s16 index)
|
s16 WaitDma3Request(s16 index)
|
||||||
{
|
{
|
||||||
int current = 0;
|
int current = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -2342,7 +2342,7 @@ static void Task_ShowDodrioBerryPickingRecords(u8 taskId)
|
|||||||
case 0:
|
case 0:
|
||||||
data[1] = AddWindow(&sUnknown_84755E0);
|
data[1] = AddWindow(&sUnknown_84755E0);
|
||||||
sub_81538D0(data[1]);
|
sub_81538D0(data[1]);
|
||||||
CopyWindowToVram(data[1], 3);
|
CopyWindowToVram(data[1], COPYWIN_BOTH);
|
||||||
data[0]++;
|
data[0]++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -2353,7 +2353,7 @@ static void Task_ShowDodrioBerryPickingRecords(u8 taskId)
|
|||||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||||
{
|
{
|
||||||
rbox_fill_rectangle(data[1]);
|
rbox_fill_rectangle(data[1]);
|
||||||
CopyWindowToVram(data[1], 1);
|
CopyWindowToVram(data[1], COPYWIN_MAP);
|
||||||
data[0]++;
|
data[0]++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1055,7 +1055,7 @@ static void sub_8154B34(void)
|
|||||||
colorsId = 2;
|
colorsId = 2;
|
||||||
name = sub_81533C4(id);
|
name = sub_81533C4(id);
|
||||||
AddTextPrinterParameterized3(gUnknown_203F440->unk3008[i], 0, left, 1, sTextColorTable[colorsId], -1, name);
|
AddTextPrinterParameterized3(gUnknown_203F440->unk3008[i], 0, left, 1, sTextColorTable[colorsId], -1, name);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[i], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[i], COPYWIN_GFX);
|
||||||
window.baseBlock += 0xE;
|
window.baseBlock += 0xE;
|
||||||
sub_8154868(&window);
|
sub_8154868(&window);
|
||||||
}
|
}
|
||||||
@@ -1199,8 +1199,8 @@ static void sub_8154F80(void)
|
|||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, sUnknown_8478EA8[j] - width, sUnknown_8478EB0[i], -1, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, sUnknown_8478EA8[j] - width, sUnknown_8478EB0[i], -1, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[0], COPYWIN_GFX);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[1], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[1], COPYWIN_GFX);
|
||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
@@ -1232,8 +1232,8 @@ static void sub_8154F80(void)
|
|||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
sub_8154D9C(playersCount);
|
sub_8154D9C(playersCount);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[0], COPYWIN_GFX);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[1], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[1], COPYWIN_GFX);
|
||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
@@ -1291,8 +1291,8 @@ static void sub_8154F80(void)
|
|||||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_FilledStorageSpace);
|
DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_FilledStorageSpace);
|
||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, 8, 40, -1, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, 8, 40, -1, NULL);
|
||||||
}
|
}
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[0], COPYWIN_GFX);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[1], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[1], COPYWIN_GFX);
|
||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
@@ -1349,8 +1349,8 @@ static void sub_81556E0(void)
|
|||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL);
|
||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL);
|
||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, 2, -1, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, 2, -1, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[0], COPYWIN_GFX);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[1], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[1], COPYWIN_GFX);
|
||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
@@ -1370,7 +1370,7 @@ static void sub_81556E0(void)
|
|||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL);
|
||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL);
|
||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, y == 1 ? 2 : 16, -1, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, y == 1 ? 2 : 16, -1, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[1], 3);
|
CopyWindowToVram(gUnknown_203F440->unk3008[1], COPYWIN_BOTH);
|
||||||
// Increment state only if A or B button have been pressed.
|
// Increment state only if A or B button have been pressed.
|
||||||
if (JOY_NEW(A_BUTTON))
|
if (JOY_NEW(A_BUTTON))
|
||||||
{
|
{
|
||||||
@@ -1425,18 +1425,18 @@ static void sub_8155A78(void)
|
|||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (!IsDma3ManagerBusyWithBgCopy())
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
{
|
{
|
||||||
CreateTask(sub_80DA634, 0);
|
CreateTask(Task_SaveGame_UpdatedLinkRecords, 0);
|
||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (!FuncIsActiveTask(sub_80DA634))
|
if (!FuncIsActiveTask(Task_SaveGame_UpdatedLinkRecords))
|
||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -1460,7 +1460,7 @@ static void sub_8155B4C(void)
|
|||||||
case 1:
|
case 1:
|
||||||
FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
|
FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
|
||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_CommunicationStandby3, 0, 6, -1, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_CommunicationStandby3, 0, 6, -1, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[0], COPYWIN_GFX);
|
||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
@@ -1500,7 +1500,7 @@ static void sub_8155C80(void)
|
|||||||
case 1:
|
case 1:
|
||||||
FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
|
FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
|
||||||
AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_SomeoneDroppedOut, 0, 6, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_SomeoneDroppedOut, 0, 6, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
|
CopyWindowToVram(gUnknown_203F440->unk3008[0], COPYWIN_GFX);
|
||||||
gUnknown_203F440->state++;
|
gUnknown_203F440->state++;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
|||||||
+6
-6
@@ -1323,7 +1323,7 @@ static void PrintTitleText(void)
|
|||||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||||
EC_AddTextPrinterParameterized2(0, 1, titleText, xOffset, 0, TEXT_SPEED_FF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
|
EC_AddTextPrinterParameterized2(0, 1, titleText, xOffset, 0, TEXT_SPEED_FF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void EC_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16))
|
static void EC_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16))
|
||||||
@@ -1379,7 +1379,7 @@ static void PrintECInterfaceTextById(u8 direction)
|
|||||||
if (text2)
|
if (text2)
|
||||||
EC_AddTextPrinterParameterized(1, 1, text2, 0, 16, TEXT_SPEED_FF, NULL);
|
EC_AddTextPrinterParameterized(1, 1, text2, 0, 16, TEXT_SPEED_FF, NULL);
|
||||||
|
|
||||||
CopyWindowToVram(1, 3);
|
CopyWindowToVram(1, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void EC_CreateYesNoMenuWithInitialCursorPos(u8 initialCursorPos)
|
static void EC_CreateYesNoMenuWithInitialCursorPos(u8 initialCursorPos)
|
||||||
@@ -1454,7 +1454,7 @@ static void PrintECFields(void)
|
|||||||
EC_AddTextPrinterParameterized(sEasyChatGraphicsResources->windowId, 1, sEasyChatGraphicsResources->ecPrintBuffer, 0, i * 16, TEXT_SPEED_FF, NULL);
|
EC_AddTextPrinterParameterized(sEasyChatGraphicsResources->windowId, 1, sEasyChatGraphicsResources->ecPrintBuffer, 0, i * 16, TEXT_SPEED_FF, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
CopyWindowToVram(sEasyChatGraphicsResources->windowId, 3);
|
CopyWindowToVram(sEasyChatGraphicsResources->windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DrawECFrameInTilemapBuffer(u16 *tilemap)
|
static void DrawECFrameInTilemapBuffer(u16 *tilemap)
|
||||||
@@ -1537,7 +1537,7 @@ static void PrintECMenuById(u32 id)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
CopyWindowToVram(2, 2);
|
CopyWindowToVram(2, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PrintECGroupOrAlphaMenu(void)
|
static void PrintECGroupOrAlphaMenu(void)
|
||||||
@@ -1659,7 +1659,7 @@ static void PrintECRowsWin2(u8 row, u8 remrow)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CopyWindowToVram(2, 2);
|
CopyWindowToVram(2, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ClearECRowsWin2(u8 row, u8 remrow)
|
static void ClearECRowsWin2(u8 row, u8 remrow)
|
||||||
@@ -1690,7 +1690,7 @@ static void ClearECRowsWin2(u8 row, u8 remrow)
|
|||||||
static void ClearWin2AndCopyToVram(void)
|
static void ClearWin2AndCopyToVram(void)
|
||||||
{
|
{
|
||||||
FillWindowPixelBuffer(2, PIXEL_FILL(1));
|
FillWindowPixelBuffer(2, PIXEL_FILL(1));
|
||||||
CopyWindowToVram(2, 2);
|
CopyWindowToVram(2, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void StartWin2FrameAnim(int animNo)
|
static void StartWin2FrameAnim(int animNo)
|
||||||
|
|||||||
+3
-3
@@ -792,7 +792,7 @@ static void Setup_DrawMsgAndListBoxes(void)
|
|||||||
static void FC_PutWindowTilemapAndCopyWindowToVramMode3(u8 windowId)
|
static void FC_PutWindowTilemapAndCopyWindowToVramMode3(u8 windowId)
|
||||||
{
|
{
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool8 SetMessageSelectorIconObjMode(u8 spriteId, u8 objMode)
|
static bool8 SetMessageSelectorIconObjMode(u8 spriteId, u8 objMode)
|
||||||
@@ -853,7 +853,7 @@ static void FC_DestroyWindow(u8 windowId)
|
|||||||
{
|
{
|
||||||
FillWindowPixelBuffer(windowId, 0);
|
FillWindowPixelBuffer(windowId, 0);
|
||||||
ClearWindowTilemap(windowId);
|
ClearWindowTilemap(windowId);
|
||||||
CopyWindowToVram(windowId, 2);
|
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||||
RemoveWindow(windowId);
|
RemoveWindow(windowId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1376,7 +1376,7 @@ static u8 FC_PopulateListMenu(void)
|
|||||||
static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId)
|
static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId)
|
||||||
{
|
{
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FC_CreateScrollIndicatorArrowPair(void)
|
static void FC_CreateScrollIndicatorArrowPair(void)
|
||||||
|
|||||||
+1
-1
@@ -470,7 +470,7 @@ bool8 FieldIsDoorAnimationRunning(void)
|
|||||||
return FuncIsActiveTask(Task_AnimateDoor);
|
return FuncIsActiveTask(Task_AnimateDoor);
|
||||||
}
|
}
|
||||||
|
|
||||||
u16 GetDoorSoundEffect(x, y)
|
u16 GetDoorSoundEffect(int x, int y)
|
||||||
{
|
{
|
||||||
if (GetDoorSoundType(sDoorGraphics, x, y) == DOOR_SOUND_NORMAL)
|
if (GetDoorSoundType(sDoorGraphics, x, y) == DOOR_SOUND_NORMAL)
|
||||||
return MUS_W_DOOR;
|
return MUS_W_DOOR;
|
||||||
|
|||||||
@@ -668,7 +668,7 @@ static void Task_ReturnFromLinkRoomWarp(u8 taskId)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (gReceivedRemoteLinkPlayers == 0)
|
if (!gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
WarpIntoMap();
|
WarpIntoMap();
|
||||||
SetMainCallback2(CB2_LoadMap);
|
SetMainCallback2(CB2_LoadMap);
|
||||||
|
|||||||
@@ -396,7 +396,7 @@ static void Task_RushInjuredPokemonToCenter(u8 taskId)
|
|||||||
Menu_LoadStdPalAt(0xF0);
|
Menu_LoadStdPalAt(0xF0);
|
||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
loc = GetHealLocation(1);
|
loc = GetHealLocation(1);
|
||||||
if (gSaveBlock1Ptr->lastHealLocation.mapGroup == loc->group
|
if (gSaveBlock1Ptr->lastHealLocation.mapGroup == loc->group
|
||||||
&& gSaveBlock1Ptr->lastHealLocation.mapNum == loc->map
|
&& gSaveBlock1Ptr->lastHealLocation.mapNum == loc->map
|
||||||
@@ -425,7 +425,7 @@ static void Task_RushInjuredPokemonToCenter(u8 taskId)
|
|||||||
case 5:
|
case 5:
|
||||||
windowId = gTasks[taskId].data[1];
|
windowId = gTasks[taskId].data[1];
|
||||||
ClearWindowTilemap(windowId);
|
ClearWindowTilemap(windowId);
|
||||||
CopyWindowToVram(windowId, 1);
|
CopyWindowToVram(windowId, COPYWIN_MAP);
|
||||||
RemoveWindow(windowId);
|
RemoveWindow(windowId);
|
||||||
palette_bg_faded_fill_black();
|
palette_bg_faded_fill_black();
|
||||||
FadeInFromBlack();
|
FadeInFromBlack();
|
||||||
|
|||||||
@@ -1104,7 +1104,7 @@ void DrawElevatorCurrentFloorWindow(void)
|
|||||||
strwidth = GetStringWidth(2, floorname, 0);
|
strwidth = GetStringWidth(2, floorname, 0);
|
||||||
AddTextPrinterParameterized(sElevatorCurrentFloorWindowId, 2, floorname, 56 - strwidth, 16, 0xFF, NULL);
|
AddTextPrinterParameterized(sElevatorCurrentFloorWindowId, 2, floorname, 56 - strwidth, 16, 0xFF, NULL);
|
||||||
PutWindowTilemap(sElevatorCurrentFloorWindowId);
|
PutWindowTilemap(sElevatorCurrentFloorWindowId);
|
||||||
CopyWindowToVram(sElevatorCurrentFloorWindowId, 3);
|
CopyWindowToVram(sElevatorCurrentFloorWindowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1365,7 +1365,7 @@ static void Task_CreateScriptListMenu(u8 taskId)
|
|||||||
Task_CreateMenuRemoveScrollIndicatorArrowPair(taskId);
|
Task_CreateMenuRemoveScrollIndicatorArrowPair(taskId);
|
||||||
task->data[14] = ListMenuInit(&sFieldSpecialsListMenuTemplate, task->data[7], task->data[8]);
|
task->data[14] = ListMenuInit(&sFieldSpecialsListMenuTemplate, task->data[7], task->data[8]);
|
||||||
PutWindowTilemap(task->data[13]);
|
PutWindowTilemap(task->data[13]);
|
||||||
CopyWindowToVram(task->data[13], 3);
|
CopyWindowToVram(task->data[13], COPYWIN_BOTH);
|
||||||
gTasks[taskId].func = Task_ListMenuHandleInput;
|
gTasks[taskId].func = Task_ListMenuHandleInput;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1448,7 +1448,7 @@ static void Task_DestroyListMenu(u8 taskId)
|
|||||||
ClearStdWindowAndFrameToTransparent(task->data[13], TRUE);
|
ClearStdWindowAndFrameToTransparent(task->data[13], TRUE);
|
||||||
FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0));
|
FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0));
|
||||||
ClearWindowTilemap(task->data[13]);
|
ClearWindowTilemap(task->data[13]);
|
||||||
CopyWindowToVram(task->data[13], 2);
|
CopyWindowToVram(task->data[13], COPYWIN_GFX);
|
||||||
RemoveWindow(task->data[13]);
|
RemoveWindow(task->data[13]);
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
EnableBothScriptContexts();
|
EnableBothScriptContexts();
|
||||||
|
|||||||
+1
-1
@@ -436,7 +436,7 @@ static void Task_MapPreviewScreen_0(u8 taskId)
|
|||||||
if (!MapPreview_IsGfxLoadFinished())
|
if (!MapPreview_IsGfxLoadFinished())
|
||||||
{
|
{
|
||||||
data[4] = MapPreview_CreateMapNameWindow(data[3]);
|
data[4] = MapPreview_CreateMapNameWindow(data[3]);
|
||||||
CopyWindowToVram(data[4], 3);
|
CopyWindowToVram(data[4], COPYWIN_BOTH);
|
||||||
data[0]++;
|
data[0]++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
+7
-7
@@ -456,7 +456,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
|
|||||||
|
|
||||||
DrawDialogueFrame(0, 0);
|
DrawDialogueFrame(0, 0);
|
||||||
AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0, NULL, 2, 1, 3);
|
AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0, NULL, 2, 1, 3);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
gTasks[taskId].func = Task_Hof_TrySaveData;
|
gTasks[taskId].func = Task_Hof_TrySaveData;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -594,7 +594,7 @@ static void Task_Hof_ApplauseAndConfetti(u8 taskId)
|
|||||||
}
|
}
|
||||||
BeginNormalPaletteFade(sSelectedPaletteIndices, 0, 12, 12, HALL_OF_FAME_BG_PAL);
|
BeginNormalPaletteFade(sSelectedPaletteIndices, 0, 12, 12, HALL_OF_FAME_BG_PAL);
|
||||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
gTasks[taskId].data[3] = 7;
|
gTasks[taskId].data[3] = 7;
|
||||||
gTasks[taskId].func = Task_Hof_WaitBorderFadeAway;
|
gTasks[taskId].func = Task_Hof_WaitBorderFadeAway;
|
||||||
}
|
}
|
||||||
@@ -642,7 +642,7 @@ static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId)
|
|||||||
HallOfFame_PrintPlayerInfo(1, 2);
|
HallOfFame_PrintPlayerInfo(1, 2);
|
||||||
DrawDialogueFrame(0, 0);
|
DrawDialogueFrame(0, 0);
|
||||||
AddTextPrinterParameterized2(0, 2, gText_LeagueChamp, 0, NULL, 2, 1, 3);
|
AddTextPrinterParameterized2(0, 2, gText_LeagueChamp, 0, NULL, 2, 1, 3);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
gTasks[taskId].func = Task_Hof_ExitOnKeyPressed;
|
gTasks[taskId].func = Task_Hof_ExitOnKeyPressed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -972,7 +972,7 @@ static void Task_HofPC_PrintDataIsCorrupted(u8 taskId)
|
|||||||
TopBarWindowPrintString(gText_ABUTTONExit, 8, TRUE);
|
TopBarWindowPrintString(gText_ABUTTONExit, 8, TRUE);
|
||||||
DrawDialogueFrame(0, 0);
|
DrawDialogueFrame(0, 0);
|
||||||
AddTextPrinterParameterized2(0, 2, gText_HOFCorrupted, 0, NULL, 2, 1, 3);
|
AddTextPrinterParameterized2(0, 2, gText_HOFCorrupted, 0, NULL, 2, 1, 3);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
gTasks[taskId].func = Task_HofPC_ExitOnButtonPress;
|
gTasks[taskId].func = Task_HofPC_ExitOnButtonPress;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -988,7 +988,7 @@ static void HallOfFame_PrintWelcomeText(u8 not, u8 used)
|
|||||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
AddTextPrinterParameterized3(0, 2, x, 1, sTextColors[0], 0, gText_WelcomeToHOF);
|
AddTextPrinterParameterized3(0, 2, x, 1, sTextColors[0], 0, gText_WelcomeToHOF);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2)
|
static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2)
|
||||||
@@ -1075,7 +1075,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
|
|||||||
AddTextPrinterParameterized3(0, 2, 0x60, 0x11, sTextColors[0], 0, text);
|
AddTextPrinterParameterized3(0, 2, 0x60, 0x11, sTextColors[0], 0, text);
|
||||||
|
|
||||||
}
|
}
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
|
static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
|
||||||
@@ -1118,7 +1118,7 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
|
|||||||
|
|
||||||
AddTextPrinterParameterized3(1, 2, textWidth - 36, 32, sTextColors[1], 0, text);
|
AddTextPrinterParameterized3(1, 2, textWidth - 36, 32, sTextColors[1], 0, text);
|
||||||
|
|
||||||
CopyWindowToVram(1, 3);
|
CopyWindowToVram(1, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ClearVramOamPltt_LoadHofPal(void)
|
static void ClearVramOamPltt_LoadHofPal(void)
|
||||||
|
|||||||
+6
-6
@@ -74,9 +74,9 @@ u8 RunHelpSystemCallback(void)
|
|||||||
sVideoState.state = 2;
|
sVideoState.state = 2;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0);
|
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, DMA3_16BIT);
|
||||||
RequestDma3Copy(sPals, (void *)PLTT, sizeof(sPals), 0);
|
RequestDma3Copy(sPals, (void *)PLTT, sizeof(sPals), DMA3_16BIT);
|
||||||
RequestDma3Copy(sTiles, gDecompressionBuffer + 0x3EE0, sizeof(sTiles), 0);
|
RequestDma3Copy(sTiles, gDecompressionBuffer + 0x3EE0, sizeof(sTiles), DMA3_16BIT);
|
||||||
sVideoState.state = 3;
|
sVideoState.state = 3;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
@@ -160,7 +160,7 @@ void SaveMapGPURegs(void)
|
|||||||
|
|
||||||
void SaveMapTiles(void)
|
void SaveMapTiles(void)
|
||||||
{
|
{
|
||||||
RequestDma3Copy((void *)BG_CHAR_ADDR(3), sMapTilesBackup, BG_CHAR_SIZE, 0);
|
RequestDma3Copy((void *)BG_CHAR_ADDR(3), sMapTilesBackup, BG_CHAR_SIZE, DMA3_16BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SaveMapTextColors(void)
|
void SaveMapTextColors(void)
|
||||||
@@ -189,7 +189,7 @@ void RestoreGPURegs(void)
|
|||||||
|
|
||||||
void RestoreMapTiles(void)
|
void RestoreMapTiles(void)
|
||||||
{
|
{
|
||||||
RequestDma3Copy(sMapTilesBackup, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0);
|
RequestDma3Copy(sMapTilesBackup, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, DMA3_16BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestoreMapTextColors(void)
|
void RestoreMapTextColors(void)
|
||||||
@@ -203,7 +203,7 @@ void RestoreMapTextColors(void)
|
|||||||
|
|
||||||
void CommitTilemap(void)
|
void CommitTilemap(void)
|
||||||
{
|
{
|
||||||
RequestDma3Copy(gDecompressionBuffer, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0);
|
RequestDma3Copy(gDecompressionBuffer, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, DMA3_16BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HS_DrawBgTilemapRect(u16 baseTile, u8 left, u8 top, u8 width, u8 height, u16 increment)
|
void HS_DrawBgTilemapRect(u16 baseTile, u8 left, u8 top, u8 width, u8 height, u16 increment)
|
||||||
|
|||||||
@@ -1880,7 +1880,7 @@ bool8 HelpSystem_UpdateHasntSeenIntro(void)
|
|||||||
|
|
||||||
bool8 sub_812B45C(void)
|
bool8 sub_812B45C(void)
|
||||||
{
|
{
|
||||||
if (gReceivedRemoteLinkPlayers == 1)
|
if (gReceivedRemoteLinkPlayers == TRUE)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|||||||
+384
-86
@@ -47,18 +47,18 @@ static EWRAM_DATA u16 gUnknown_203AB06 = 0;
|
|||||||
static EWRAM_DATA u16 gUnknown_203AB08 = 0;
|
static EWRAM_DATA u16 gUnknown_203AB08 = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB0A = 0;
|
static EWRAM_DATA u16 gUnknown_203AB0A = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB0C = 0;
|
static EWRAM_DATA u16 gUnknown_203AB0C = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB0E = 0;
|
static EWRAM_DATA u16 sLargeStarXSpeed = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB10 = 0;
|
static EWRAM_DATA u16 sLargeStarYSpeed = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB12 = 0;
|
static EWRAM_DATA u16 sTrailingSparklesXmodMask = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB14 = 0;
|
static EWRAM_DATA u16 sUnusedVarRelatedToGameFreakStars = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB16 = 0;
|
static EWRAM_DATA u16 sTrailingSparklesSpawnRate = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB18 = 0;
|
static EWRAM_DATA u16 sTrailingSparklesFlickerStartTime = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB1A = 0;
|
static EWRAM_DATA u16 sTrailingSparklesDestroySpriteTime = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB1C = 0;
|
static EWRAM_DATA u16 sTrailingSparklesGravityShift = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB1E = 0;
|
static EWRAM_DATA u16 sTrailingSparklesXspeed = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB20 = 0;
|
static EWRAM_DATA u16 sTrailingSparklesYspeed = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB22 = 0;
|
static EWRAM_DATA u16 sTrailingSparklesXprecision = 0;
|
||||||
static EWRAM_DATA u16 gUnknown_203AB24 = 0;
|
static EWRAM_DATA u16 sTrailingSparklesYprecision = 0;
|
||||||
|
|
||||||
static void CB2_SetUpIntro(void);
|
static void CB2_SetUpIntro(void);
|
||||||
static void CB2_Intro(void);
|
static void CB2_Intro(void);
|
||||||
@@ -181,30 +181,111 @@ static const u32 sSpriteTiles_GengarSwipe[] = INCBIN_U32("graphics/intro/unk_840
|
|||||||
static const u32 sSpriteTiles_NidorinoRecoilDust[] = INCBIN_U32("graphics/intro/unk_840BAE0.4bpp.lz");
|
static const u32 sSpriteTiles_NidorinoRecoilDust[] = INCBIN_U32("graphics/intro/unk_840BAE0.4bpp.lz");
|
||||||
|
|
||||||
static const struct BgTemplate sBgTemplates_GameFreakScene[] = {
|
static const struct BgTemplate sBgTemplates_GameFreakScene[] = {
|
||||||
{ 3, 3, 31, 0, 0, 3, 0x000 },
|
{
|
||||||
{ 2, 3, 30, 0, 0, 2, 0x010 }
|
.bg = 3,
|
||||||
|
.charBaseIndex = 3,
|
||||||
|
.mapBaseIndex = 31,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 3,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 2,
|
||||||
|
.charBaseIndex = 3,
|
||||||
|
.mapBaseIndex = 30,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 2,
|
||||||
|
.baseTile = 0x010
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct BgTemplate sBgTemplates_FightScene1[] = {
|
static const struct BgTemplate sBgTemplates_FightScene1[] = {
|
||||||
{ 0, 0, 28, 2, 0, 0, 0x000 },
|
{
|
||||||
{ 1, 1, 30, 2, 0, 0, 0x000 }
|
.bg = 0,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 28,
|
||||||
|
.screenSize = 2,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 0,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 1,
|
||||||
|
.charBaseIndex = 1,
|
||||||
|
.mapBaseIndex = 30,
|
||||||
|
.screenSize = 2,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 0,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct BgTemplate sBgTemplates_FightScene2[] = {
|
static const struct BgTemplate sBgTemplates_FightScene2[] = {
|
||||||
{ 3, 1, 30, 2, 0, 3, 0x000 },
|
{
|
||||||
{ 0, 0, 29, 0, 0, 0, 0x000 },
|
.bg = 3,
|
||||||
{ 2, 3, 27, 0, 0, 2, 0x000 },
|
.charBaseIndex = 1,
|
||||||
{ 1, 2, 28, 0, 0, 1, 0x000 }
|
.mapBaseIndex = 30,
|
||||||
|
.screenSize = 2,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 3,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 0,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 29,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 0,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 2,
|
||||||
|
.charBaseIndex = 3,
|
||||||
|
.mapBaseIndex = 27,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 2,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 1,
|
||||||
|
.charBaseIndex = 2,
|
||||||
|
.mapBaseIndex = 28,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 1,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct BgTemplate sBgTemplates_FightScene3[] = {
|
static const struct BgTemplate sBgTemplates_FightScene3[] = {
|
||||||
{ 1, 0, 29, 0, 0, 1, 0x000 },
|
{
|
||||||
{ 0, 1, 30, 2, 0, 0, 0x000 }
|
.bg = 1,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 29,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 1,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 0,
|
||||||
|
.charBaseIndex = 1,
|
||||||
|
.mapBaseIndex = 30,
|
||||||
|
.screenSize = 2,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 0,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct WindowTemplate sWindowTemplate[] = {
|
static const struct WindowTemplate sWindowTemplate[] = {
|
||||||
{ 2, 6, 4, 18, 9, 0xD, 0x000 },
|
{
|
||||||
DUMMY_WIN_TEMPLATE
|
.bg = 2,
|
||||||
|
.tilemapLeft = 6,
|
||||||
|
.tilemapTop = 4,
|
||||||
|
.width = 18,
|
||||||
|
.height = 9,
|
||||||
|
.paletteNum = 0xD,
|
||||||
|
.baseBlock = 0x000
|
||||||
|
}, DUMMY_WIN_TEMPLATE
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u8 sGengarBackSpritePos2UpdateMods[][2] = {
|
static const u8 sGengarBackSpritePos2UpdateMods[][2] = {
|
||||||
@@ -241,9 +322,31 @@ static const struct Coords16 sTrailingSparkleCoords[] = {
|
|||||||
{0x0098, 0x0056}
|
{0x0098, 0x0056}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BC2C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_1, .tileNum = 0x000, .priority = 2, .paletteNum = 0 };
|
static const struct OamData gOamData_840BC2C = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_OFF,
|
||||||
|
.objMode = ST_OAM_OBJ_NORMAL,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_SQUARE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_1,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 2,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BC34 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_0, .tileNum = 0x000, .priority = 2, .paletteNum = 0 };
|
static const struct OamData gOamData_840BC34 = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_OFF,
|
||||||
|
.objMode = ST_OAM_OBJ_NORMAL,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_SQUARE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_0,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 2,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const union AnimCmd gAnimCmd_840BC3C[] = {
|
static const union AnimCmd gAnimCmd_840BC3C[] = {
|
||||||
ANIMCMD_FRAME(0, 4),
|
ANIMCMD_FRAME(0, 4),
|
||||||
@@ -266,11 +369,38 @@ static const union AnimCmd *const gAnimCmdTable_840BC64[] = {
|
|||||||
gAnimCmd_840BC50
|
gAnimCmd_840BC50
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_LargeStar = {0, 0, &gOamData_840BC2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_LargeStar};
|
static const struct SpriteTemplate sSpriteTemplate_LargeStar = {
|
||||||
|
.tileTag = 0,
|
||||||
|
.paletteTag = 0,
|
||||||
|
.oam = &gOamData_840BC2C,
|
||||||
|
.anims = gDummySpriteAnimTable,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCB_LargeStar
|
||||||
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_TrailingSparkles = {1, 1, &gOamData_840BC34, gAnimCmdTable_840BC64, NULL, gDummySpriteAffineAnimTable, SpriteCB_TrailingSparkles};
|
static const struct SpriteTemplate sSpriteTemplate_TrailingSparkles = {
|
||||||
|
.tileTag = 1,
|
||||||
|
.paletteTag = 1,
|
||||||
|
.oam = &gOamData_840BC34,
|
||||||
|
.anims = gAnimCmdTable_840BC64,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCB_TrailingSparkles
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BC9C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_2, .tileNum = 0x000, .priority = 2, .paletteNum = 0 };
|
static const struct OamData gOamData_840BC9C = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_OFF,
|
||||||
|
.objMode = ST_OAM_OBJ_NORMAL,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_SQUARE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_2,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 2,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const union AnimCmd gAnimCmd_840BCA4[] = {
|
static const union AnimCmd gAnimCmd_840BCA4[] = {
|
||||||
ANIMCMD_FRAME(0, 8),
|
ANIMCMD_FRAME(0, 8),
|
||||||
@@ -284,17 +414,74 @@ static const union AnimCmd *const gAnimCmdTable_840BCB8[] = {
|
|||||||
gAnimCmd_840BCA4
|
gAnimCmd_840BCA4
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_RevealGameFreakTextSparkles = {2, 1, &gOamData_840BC9C, gAnimCmdTable_840BCB8, NULL, gDummySpriteAffineAnimTable, SpriteCB_RevealGameFreakTextSparkles};
|
static const struct SpriteTemplate sSpriteTemplate_RevealGameFreakTextSparkles = {
|
||||||
|
.tileTag = 2,
|
||||||
|
.paletteTag = 1,
|
||||||
|
.oam = &gOamData_840BC9C,
|
||||||
|
.anims = gAnimCmdTable_840BCB8,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCB_RevealGameFreakTextSparkles
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BCD4 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_V_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 3, .paletteNum = 0 };
|
static const struct OamData gOamData_840BCD4 = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_OFF,
|
||||||
|
.objMode = ST_OAM_OBJ_BLEND,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_V_RECTANGLE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_3,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 3,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_GameFreakLogoArt = {3, 3, &gOamData_840BCD4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy};
|
static const struct SpriteTemplate sSpriteTemplate_GameFreakLogoArt = {
|
||||||
|
.tileTag = 3,
|
||||||
|
.paletteTag = 3,
|
||||||
|
.oam = &gOamData_840BCD4,
|
||||||
|
.anims = gDummySpriteAnimTable,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BCF4 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_H_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_1, .tileNum = 0x000, .priority = 3, .paletteNum = 0 };
|
static const struct OamData gOamData_840BCF4 = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_OFF,
|
||||||
|
.objMode = ST_OAM_OBJ_BLEND,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_H_RECTANGLE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_1,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 3,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_PresentsText = {4, 3, &gOamData_840BCF4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy};
|
static const struct SpriteTemplate sSpriteTemplate_PresentsText = {
|
||||||
|
.tileTag = 4,
|
||||||
|
.paletteTag = 3,
|
||||||
|
.oam = &gOamData_840BCF4,
|
||||||
|
.anims = gDummySpriteAnimTable,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BD14 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 };
|
static const struct OamData gOamData_840BD14 = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_DOUBLE,
|
||||||
|
.objMode = ST_OAM_OBJ_NORMAL,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_SQUARE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_3,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 1,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const union AnimCmd gAnimCmd_840BD1C[] = {
|
static const union AnimCmd gAnimCmd_840BD1C[] = {
|
||||||
ANIMCMD_FRAME(0, 1),
|
ANIMCMD_FRAME(0, 1),
|
||||||
@@ -345,15 +532,61 @@ static const union AffineAnimCmd *const sAffineAnimTable_NidorinoAnim[] = {
|
|||||||
gAffineAnimCmd_840BD68
|
gAffineAnimCmd_840BD68
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_NidorinoAnim = {5, 7, &gOamData_840BD14, sAnimTable_NidorinoAnim, NULL, sAffineAnimTable_NidorinoAnim, SpriteCallbackDummy};
|
static const struct SpriteTemplate sSpriteTemplate_NidorinoAnim = {
|
||||||
|
.tileTag = 5,
|
||||||
|
.paletteTag = 7,
|
||||||
|
.oam = &gOamData_840BD14,
|
||||||
|
.anims = sAnimTable_NidorinoAnim,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = sAffineAnimTable_NidorinoAnim,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BDA0 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 };
|
static const struct OamData gOamData_840BDA0 = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_OFF,
|
||||||
|
.objMode = ST_OAM_OBJ_NORMAL,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_SQUARE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_3,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 1,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_NidorinoStatic = {7, 7, &gOamData_840BDA0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy};
|
static const struct SpriteTemplate sSpriteTemplate_NidorinoStatic = {
|
||||||
|
.tileTag = 7,
|
||||||
|
.paletteTag = 7,
|
||||||
|
.oam = &gOamData_840BDA0,
|
||||||
|
.anims = gDummySpriteAnimTable,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_GengarStatic = {6, 6, &gOamData_840BDA0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy};
|
static const struct SpriteTemplate sSpriteTemplate_GengarStatic = {
|
||||||
|
.tileTag = 6,
|
||||||
|
.paletteTag = 6,
|
||||||
|
.oam = &gOamData_840BDA0,
|
||||||
|
.anims = gDummySpriteAnimTable,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BDD8 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_H_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 0, .paletteNum = 0 };
|
static const struct OamData gOamData_840BDD8 = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_OFF,
|
||||||
|
.objMode = ST_OAM_OBJ_NORMAL,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_H_RECTANGLE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_3,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 0,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const union AnimCmd gAnimCmds_840BDE0[] = {
|
static const union AnimCmd gAnimCmds_840BDE0[] = {
|
||||||
ANIMCMD_FRAME(0, 0),
|
ANIMCMD_FRAME(0, 0),
|
||||||
@@ -371,9 +604,28 @@ static const union AnimCmd *const gAnimCmdTable_840BDF4[] = {
|
|||||||
gAnimCmds_840BDE8
|
gAnimCmds_840BDE8
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_Grass = {8, 8, &gOamData_840BDD8, gAnimCmdTable_840BDF4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy};
|
static const struct SpriteTemplate sSpriteTemplate_Grass = {
|
||||||
|
.tileTag = 8,
|
||||||
|
.paletteTag = 8,
|
||||||
|
.oam = &gOamData_840BDD8,
|
||||||
|
.anims = gAnimCmdTable_840BDF4,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BE14 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 };
|
static const struct OamData gOamData_840BE14 = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_DOUBLE,
|
||||||
|
.objMode = ST_OAM_OBJ_NORMAL,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_SQUARE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_3,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 1,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const union AnimCmd gAnimCmd_840BE1C[] = {
|
static const union AnimCmd gAnimCmd_840BE1C[] = {
|
||||||
ANIMCMD_FRAME(0, 0),
|
ANIMCMD_FRAME(0, 0),
|
||||||
@@ -402,9 +654,28 @@ static const union AnimCmd *const gAnimCmdTable_840BE3C[] = {
|
|||||||
gAnimCmd_840BE34
|
gAnimCmd_840BE34
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_GengarBack = {9, 6, &gOamData_840BE14, gAnimCmdTable_840BE3C, NULL, sAffineAnimTable_NidorinoAnim, SpriteCallbackDummy};
|
static const struct SpriteTemplate sSpriteTemplate_GengarBack = {
|
||||||
|
.tileTag = 9,
|
||||||
|
.paletteTag = 6,
|
||||||
|
.oam = &gOamData_840BE14,
|
||||||
|
.anims = gAnimCmdTable_840BE3C,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = sAffineAnimTable_NidorinoAnim,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BE64 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_V_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 };
|
static const struct OamData gOamData_840BE64 = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_OFF,
|
||||||
|
.objMode = ST_OAM_OBJ_NORMAL,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_V_RECTANGLE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_3,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 1,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const union AnimCmd gAnimCmd_840BE6C[] = {
|
static const union AnimCmd gAnimCmd_840BE6C[] = {
|
||||||
ANIMCMD_FRAME(0, 8),
|
ANIMCMD_FRAME(0, 8),
|
||||||
@@ -423,9 +694,28 @@ static const union AnimCmd *const gAnimCmdTable_840BE84[] = {
|
|||||||
gAnimCmd_840BE78
|
gAnimCmd_840BE78
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_GengarSwipe = {10, 10, &gOamData_840BE64, gAnimCmdTable_840BE84, NULL, gDummySpriteAffineAnimTable, SpriteCB_GengarSwipe};
|
static const struct SpriteTemplate sSpriteTemplate_GengarSwipe = {
|
||||||
|
.tileTag = 10,
|
||||||
|
.paletteTag = 10,
|
||||||
|
.oam = &gOamData_840BE64,
|
||||||
|
.anims = gAnimCmdTable_840BE84,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCB_GengarSwipe
|
||||||
|
};
|
||||||
|
|
||||||
static const struct OamData gOamData_840BEA4 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_1, .tileNum = 0x000, .priority = 1, .paletteNum = 0 };
|
static const struct OamData gOamData_840BEA4 = {
|
||||||
|
.affineMode = ST_OAM_AFFINE_OFF,
|
||||||
|
.objMode = ST_OAM_OBJ_NORMAL,
|
||||||
|
.mosaic = FALSE,
|
||||||
|
.bpp = ST_OAM_4BPP,
|
||||||
|
.shape = ST_OAM_SQUARE,
|
||||||
|
.matrixNum = 0,
|
||||||
|
.size = ST_OAM_SIZE_1,
|
||||||
|
.tileNum = 0x000,
|
||||||
|
.priority = 1,
|
||||||
|
.paletteNum = 0
|
||||||
|
};
|
||||||
|
|
||||||
static const union AnimCmd gAnimCmd_840BEAC[] = {
|
static const union AnimCmd gAnimCmd_840BEAC[] = {
|
||||||
ANIMCMD_FRAME(0, 10),
|
ANIMCMD_FRAME(0, 10),
|
||||||
@@ -439,7 +729,15 @@ static const union AnimCmd *const gAnimCmdTable_840BEC0[] = {
|
|||||||
gAnimCmd_840BEAC
|
gAnimCmd_840BEAC
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate sSpriteTemplate_NidorinoRecoilDust = {11, 11, &gOamData_840BEA4, gAnimCmdTable_840BEC0, NULL, gDummySpriteAffineAnimTable, SpriteCB_NidorinoRecoilDust};
|
static const struct SpriteTemplate sSpriteTemplate_NidorinoRecoilDust = {
|
||||||
|
.tileTag = 11,
|
||||||
|
.paletteTag = 11,
|
||||||
|
.oam = &gOamData_840BEA4,
|
||||||
|
.anims = gAnimCmdTable_840BEC0,
|
||||||
|
.images = NULL,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCB_NidorinoRecoilDust
|
||||||
|
};
|
||||||
|
|
||||||
static const struct CompressedSpriteSheet sFightSceneSpriteSheets[] = {
|
static const struct CompressedSpriteSheet sFightSceneSpriteSheets[] = {
|
||||||
{sSpriteTiles_GengarStatic, 0x0800, 6},
|
{sSpriteTiles_GengarStatic, 0x0800, 6},
|
||||||
@@ -694,7 +992,7 @@ static void IntroCB_Init(struct IntroSequenceData * this)
|
|||||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||||
BlitBitmapToWindow(0, this->gamefreakTextBitmap, 0, 40, 144, 16);
|
BlitBitmapToWindow(0, this->gamefreakTextBitmap, 0, 40, 144, 16);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
this->state++;
|
this->state++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -820,7 +1118,7 @@ static void IntroCB_GameFreakScene_CreateGameFreakLogo(struct IntroSequenceData
|
|||||||
{
|
{
|
||||||
BlitBitmapToWindow(0, this->gamefreakLogoArtSpriteTiles, 0x38, 0x06, 0x20, 0x40);
|
BlitBitmapToWindow(0, this->gamefreakLogoArtSpriteTiles, 0x38, 0x06, 0x20, 0x40);
|
||||||
BlitBitmapToWindow(0, this->gamefreakTextBitmap, 0x00, 0x28, 0x90, 0x10);
|
BlitBitmapToWindow(0, this->gamefreakTextBitmap, 0x00, 0x28, 0x90, 0x10);
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
this->state++;
|
this->state++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1473,58 +1771,58 @@ static void GameFreakScene_LoadGfxCreateStar(void)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
u8 spriteId;
|
u8 spriteId;
|
||||||
static EWRAM_DATA u32 gUnknown_203AB28 = 0;
|
static EWRAM_DATA u32 sTrailingSparklesRngSeed = 0;
|
||||||
|
|
||||||
for (i = 0; i < NELEMS(sSpriteSheets_GameFreakScene); i++)
|
for (i = 0; i < NELEMS(sSpriteSheets_GameFreakScene); i++)
|
||||||
{
|
{
|
||||||
LoadCompressedSpriteSheet(&sSpriteSheets_GameFreakScene[i]);
|
LoadCompressedSpriteSheet(&sSpriteSheets_GameFreakScene[i]);
|
||||||
}
|
}
|
||||||
LoadSpritePalettes(sSpritePalettes_GameFreakScene);
|
LoadSpritePalettes(sSpritePalettes_GameFreakScene);
|
||||||
gUnknown_203AB0E = 0x60;
|
sLargeStarXSpeed = 0x60;
|
||||||
gUnknown_203AB10 = 0x10;
|
sLargeStarYSpeed = 0x10;
|
||||||
gUnknown_203AB12 = 0x07;
|
sTrailingSparklesXmodMask = 0x07;
|
||||||
gUnknown_203AB14 = 0x05;
|
sUnusedVarRelatedToGameFreakStars = 5;
|
||||||
gUnknown_203AB16 = 0x08;
|
sTrailingSparklesSpawnRate = 8;
|
||||||
gUnknown_203AB18 = 0x5A;
|
sTrailingSparklesFlickerStartTime = 90;
|
||||||
gUnknown_203AB1A = 0x78;
|
sTrailingSparklesDestroySpriteTime = 120;
|
||||||
gUnknown_203AB1E = 0x01;
|
sTrailingSparklesXspeed = 1;
|
||||||
gUnknown_203AB20 = 0x01;
|
sTrailingSparklesYspeed = 1;
|
||||||
gUnknown_203AB22 = 0x05;
|
sTrailingSparklesXprecision = 5;
|
||||||
gUnknown_203AB24 = 0x05;
|
sTrailingSparklesYprecision = 5;
|
||||||
if (gUnknown_203AB28 == 0)
|
if (sTrailingSparklesRngSeed == 0)
|
||||||
gUnknown_203AB28 = 354128453;
|
sTrailingSparklesRngSeed = 354128453;
|
||||||
spriteId = CreateSprite(&sSpriteTemplate_LargeStar, 0xF8, 0x37, 0);
|
spriteId = CreateSprite(&sSpriteTemplate_LargeStar, 0xF8, 0x37, 0);
|
||||||
if (spriteId != MAX_SPRITES)
|
if (spriteId != MAX_SPRITES)
|
||||||
{
|
{
|
||||||
gSprites[spriteId].data[0] = 0xF80;
|
gSprites[spriteId].data[0] = 0xF80;
|
||||||
gSprites[spriteId].data[1] = 0x370;
|
gSprites[spriteId].data[1] = 0x370;
|
||||||
gSprites[spriteId].data[2] = gUnknown_203AB0E;
|
gSprites[spriteId].data[2] = sLargeStarXSpeed;
|
||||||
gSprites[spriteId].data[3] = gUnknown_203AB10;
|
gSprites[spriteId].data[3] = sLargeStarYSpeed;
|
||||||
StoreWordInTwoHalfwords((u16 *)&gSprites[spriteId].data[6], gUnknown_203AB28);
|
StoreWordInTwoHalfwords((u16 *)&gSprites[spriteId].data[6], sTrailingSparklesRngSeed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GameFreakScene_TrailingSparklesGen(s16 x, s16 y, u16 a2)
|
static void GameFreakScene_TrailingSparklesGen(s16 x, s16 y, u16 a2)
|
||||||
{
|
{
|
||||||
static EWRAM_DATA s16 gUnknown_203AB2C = 0;
|
static EWRAM_DATA s16 sYmod = 0;
|
||||||
|
|
||||||
u8 spriteId;
|
u8 spriteId;
|
||||||
s16 r4 = (a2 & gUnknown_203AB12) + 2;
|
s16 xMod = (a2 & sTrailingSparklesXmodMask) + 2;
|
||||||
s16 r2 = gUnknown_203AB2C;
|
s16 yMod = sYmod;
|
||||||
gUnknown_203AB2C++;
|
sYmod++;
|
||||||
if (gUnknown_203AB2C > 3)
|
if (sYmod > 3)
|
||||||
gUnknown_203AB2C = -3;
|
sYmod = -3;
|
||||||
x += r4;
|
x += xMod;
|
||||||
y += r2;
|
y += yMod;
|
||||||
if (x >= 1 && x <= 0xEF)
|
if (x >= 1 && x <= 0xEF)
|
||||||
{
|
{
|
||||||
spriteId = CreateSprite(&sSpriteTemplate_TrailingSparkles, x, y, 1);
|
spriteId = CreateSprite(&sSpriteTemplate_TrailingSparkles, x, y, 1);
|
||||||
if (spriteId != MAX_SPRITES)
|
if (spriteId != MAX_SPRITES)
|
||||||
{
|
{
|
||||||
gSprites[spriteId].data[0] = x << gUnknown_203AB22;
|
gSprites[spriteId].data[0] = x << sTrailingSparklesXprecision;
|
||||||
gSprites[spriteId].data[1] = y << gUnknown_203AB24;
|
gSprites[spriteId].data[1] = y << sTrailingSparklesYprecision;
|
||||||
gSprites[spriteId].data[2] = gUnknown_203AB1E * r4;
|
gSprites[spriteId].data[2] = sTrailingSparklesXspeed * xMod;
|
||||||
gSprites[spriteId].data[3] = gUnknown_203AB20 * r2;
|
gSprites[spriteId].data[3] = sTrailingSparklesYspeed * yMod;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1747,7 +2045,7 @@ static void Task_FightScene3_Bg0Scroll(u8 taskId)
|
|||||||
|
|
||||||
static void SpriteCB_LargeStar(struct Sprite * sprite)
|
static void SpriteCB_LargeStar(struct Sprite * sprite)
|
||||||
{
|
{
|
||||||
u32 v;
|
unsigned v;
|
||||||
sprite->data[0] -= sprite->data[2];
|
sprite->data[0] -= sprite->data[2];
|
||||||
sprite->data[1] += sprite->data[3];
|
sprite->data[1] += sprite->data[3];
|
||||||
sprite->data[4] += 48;
|
sprite->data[4] += 48;
|
||||||
@@ -1755,7 +2053,7 @@ static void SpriteCB_LargeStar(struct Sprite * sprite)
|
|||||||
sprite->pos1.y = sprite->data[1] >> 4;
|
sprite->pos1.y = sprite->data[1] >> 4;
|
||||||
sprite->pos2.y = gSineTable[(sprite->data[4] >> 4) + 0x40] >> 5;
|
sprite->pos2.y = gSineTable[(sprite->data[4] >> 4) + 0x40] >> 5;
|
||||||
sprite->data[5]++;
|
sprite->data[5]++;
|
||||||
if (sprite->data[5] % gUnknown_203AB16)
|
if (sprite->data[5] % sTrailingSparklesSpawnRate)
|
||||||
{
|
{
|
||||||
LoadWordFromTwoHalfwords(&sprite->data[6], &v);
|
LoadWordFromTwoHalfwords(&sprite->data[6], &v);
|
||||||
v = v * 1103515245 + 24691;
|
v = v * 1103515245 + 24691;
|
||||||
@@ -1776,14 +2074,14 @@ static void SpriteCB_TrailingSparkles(struct Sprite * sprite)
|
|||||||
sprite->data[4]++;
|
sprite->data[4]++;
|
||||||
sprite->data[5] += sprite->data[4];
|
sprite->data[5] += sprite->data[4];
|
||||||
sprite->data[7]++;
|
sprite->data[7]++;
|
||||||
sprite->pos1.x = (u16)sprite->data[0] >> gUnknown_203AB22;
|
sprite->pos1.x = (u16)sprite->data[0] >> sTrailingSparklesXprecision;
|
||||||
sprite->pos1.y = sprite->data[1] >> gUnknown_203AB24;
|
sprite->pos1.y = sprite->data[1] >> sTrailingSparklesYprecision;
|
||||||
if (gUnknown_203AB1C && sprite->data[3] < 0)
|
if (sTrailingSparklesGravityShift && sprite->data[3] < 0)
|
||||||
sprite->pos2.y = sprite->data[5] >> gUnknown_203AB1C;
|
sprite->pos2.y = sprite->data[5] >> sTrailingSparklesGravityShift;
|
||||||
if (sprite->data[7] > gUnknown_203AB18)
|
if (sprite->data[7] > sTrailingSparklesFlickerStartTime)
|
||||||
{
|
{
|
||||||
sprite->invisible = !sprite->invisible;
|
sprite->invisible = !sprite->invisible;
|
||||||
if (sprite->data[7] > gUnknown_203AB1A)
|
if (sprite->data[7] > sTrailingSparklesDestroySpriteTime)
|
||||||
DestroySprite(sprite);
|
DestroySprite(sprite);
|
||||||
}
|
}
|
||||||
if (sprite->pos1.y + sprite->pos2.y < 0 || sprite->pos1.y + sprite->pos2.y > 160)
|
if (sprite->pos1.y + sprite->pos2.y < 0 || sprite->pos1.y + sprite->pos2.y > 160)
|
||||||
|
|||||||
+8
-8
@@ -1596,7 +1596,7 @@ static void Task_ItemMenuAction_ToggleSelect(u8 taskId)
|
|||||||
DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]);
|
DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]);
|
||||||
Bag_BuildListMenuTemplate(gBagMenuState.pocket);
|
Bag_BuildListMenuTemplate(gBagMenuState.pocket);
|
||||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]);
|
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]);
|
||||||
CopyWindowToVram(0, 1);
|
CopyWindowToVram(0, COPYWIN_MAP);
|
||||||
Task_ItemMenuAction_Cancel(taskId);
|
Task_ItemMenuAction_Cancel(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1608,7 +1608,7 @@ static void Task_ItemMenuAction_Give(u8 taskId)
|
|||||||
HideBagWindow(6);
|
HideBagWindow(6);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(0, 1);
|
CopyWindowToVram(0, COPYWIN_MAP);
|
||||||
if (!CanWriteMailHere(itemId))
|
if (!CanWriteMailHere(itemId))
|
||||||
DisplayItemMessageInBag(taskId, 2, gText_CantWriteMailHere, Task_WaitAButtonAndCloseContextMenu);
|
DisplayItemMessageInBag(taskId, 2, gText_CantWriteMailHere, Task_WaitAButtonAndCloseContextMenu);
|
||||||
else if (!itemid_is_unique(itemId))
|
else if (!itemid_is_unique(itemId))
|
||||||
@@ -1694,7 +1694,7 @@ static void Task_ItemMenuAction_BattleUse(u8 taskId)
|
|||||||
HideBagWindow(6);
|
HideBagWindow(6);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(0, 1);
|
CopyWindowToVram(0, COPYWIN_MAP);
|
||||||
ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId);
|
ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2131,7 +2131,7 @@ static void Task_Bag_OldManTutorial(u8 taskId)
|
|||||||
HideBagWindow(6);
|
HideBagWindow(6);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(0, 1);
|
CopyWindowToVram(0, COPYWIN_MAP);
|
||||||
DestroyListMenuTask(data[0], NULL, NULL);
|
DestroyListMenuTask(data[0], NULL, NULL);
|
||||||
RestorePlayerBag();
|
RestorePlayerBag();
|
||||||
Bag_BeginCloseWin0Animation();
|
Bag_BeginCloseWin0Animation();
|
||||||
@@ -2242,7 +2242,7 @@ static void Task_Bag_TeachyTvRegister(u8 taskId)
|
|||||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]);
|
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]);
|
||||||
Bag_FillMessageBoxWithPalette(0);
|
Bag_FillMessageBoxWithPalette(0);
|
||||||
bag_menu_print_cursor_(data[0], 1);
|
bag_menu_print_cursor_(data[0], 1);
|
||||||
CopyWindowToVram(0, 1);
|
CopyWindowToVram(0, COPYWIN_MAP);
|
||||||
break;
|
break;
|
||||||
case 510:
|
case 510:
|
||||||
case 612:
|
case 612:
|
||||||
@@ -2305,7 +2305,7 @@ static void Task_Bag_TeachyTvCatching(u8 taskId)
|
|||||||
HideBagWindow(6);
|
HideBagWindow(6);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(0, 1);
|
CopyWindowToVram(0, COPYWIN_MAP);
|
||||||
DestroyListMenuTask(data[0], NULL, NULL);
|
DestroyListMenuTask(data[0], NULL, NULL);
|
||||||
RestorePlayerBag();
|
RestorePlayerBag();
|
||||||
Bag_BeginCloseWin0Animation();
|
Bag_BeginCloseWin0Animation();
|
||||||
@@ -2347,7 +2347,7 @@ static void Task_Bag_TeachyTvStatus(u8 taskId)
|
|||||||
HideBagWindow(6);
|
HideBagWindow(6);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(0, 1);
|
CopyWindowToVram(0, COPYWIN_MAP);
|
||||||
DestroyListMenuTask(data[0], NULL, NULL);
|
DestroyListMenuTask(data[0], NULL, NULL);
|
||||||
RestorePlayerBag();
|
RestorePlayerBag();
|
||||||
gItemUseCB = ItemUseCB_MedicineStep;
|
gItemUseCB = ItemUseCB_MedicineStep;
|
||||||
@@ -2388,7 +2388,7 @@ static void Task_Bag_TeachyTvTMs(u8 taskId)
|
|||||||
HideBagWindow(6);
|
HideBagWindow(6);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(0, 1);
|
CopyWindowToVram(0, COPYWIN_MAP);
|
||||||
DestroyListMenuTask(data[0], NULL, NULL);
|
DestroyListMenuTask(data[0], NULL, NULL);
|
||||||
RestorePlayerBag();
|
RestorePlayerBag();
|
||||||
sBagMenuDisplay->exitCB = Pokedude_InitTMCase;
|
sBagMenuDisplay->exitCB = Pokedude_InitTMCase;
|
||||||
|
|||||||
+22
-22
@@ -120,14 +120,14 @@ static const struct MenuAction sItemPcSubmenuOptions[] = {
|
|||||||
{gFameCheckerText_Cancel, {.void_u8 = Task_ItemPcCancel}}
|
{gFameCheckerText_Cancel, {.void_u8 = Task_ItemPcCancel}}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u8 gUnknown_8453F8C[][3] = {
|
static const u8 sTextColors[][3] = {
|
||||||
{0, 1, 2},
|
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY},
|
||||||
{0, 2, 3},
|
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY},
|
||||||
{0, 3, 2},
|
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_DARK_GREY},
|
||||||
{0, 10, 2}
|
{TEXT_COLOR_TRANSPARENT, TEXT_DYNAMIC_COLOR_1, TEXT_COLOR_DARK_GREY}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct WindowTemplate gUnknown_8453F98[] = {
|
static const struct WindowTemplate sWindowTemplates[] = {
|
||||||
{
|
{
|
||||||
.bg = 0,
|
.bg = 0,
|
||||||
.tilemapLeft = 0x07,
|
.tilemapLeft = 0x07,
|
||||||
@@ -179,7 +179,7 @@ static const struct WindowTemplate gUnknown_8453F98[] = {
|
|||||||
}, DUMMY_WIN_TEMPLATE
|
}, DUMMY_WIN_TEMPLATE
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct WindowTemplate gUnknown_8453FD0[] = {
|
static const struct WindowTemplate sSubwindowTemplates[] = {
|
||||||
{
|
{
|
||||||
.bg = 0,
|
.bg = 0,
|
||||||
.tilemapLeft = 0x06,
|
.tilemapLeft = 0x06,
|
||||||
@@ -207,11 +207,11 @@ static const struct WindowTemplate gUnknown_8453FD0[] = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void ItemPc_Init(u8 a0, MainCallback callback)
|
void ItemPc_Init(u8 kind, MainCallback callback)
|
||||||
{
|
{
|
||||||
u8 i;
|
u8 i;
|
||||||
|
|
||||||
if (a0 >= 2)
|
if (kind >= 2)
|
||||||
{
|
{
|
||||||
SetMainCallback2(callback);
|
SetMainCallback2(callback);
|
||||||
return;
|
return;
|
||||||
@@ -221,7 +221,7 @@ void ItemPc_Init(u8 a0, MainCallback callback)
|
|||||||
SetMainCallback2(callback);
|
SetMainCallback2(callback);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (a0 != 1)
|
if (kind != 1)
|
||||||
{
|
{
|
||||||
sListMenuState.savedCallback = callback;
|
sListMenuState.savedCallback = callback;
|
||||||
sListMenuState.scroll = sListMenuState.row = 0;
|
sListMenuState.scroll = sListMenuState.row = 0;
|
||||||
@@ -373,7 +373,7 @@ static bool8 ItemPc_DoGfxSetup(void)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
BeginPCScreenEffect_TurnOn(0, 0, 0);
|
BeginPCScreenEffect_TurnOn(0, 0, 0);
|
||||||
ItemPc_SetInitializedFlag(1);
|
ItemPc_SetInitializedFlag(TRUE);
|
||||||
PlaySE(SE_PC_LOGIN);
|
PlaySE(SE_PC_LOGIN);
|
||||||
}
|
}
|
||||||
gMain.state++;
|
gMain.state++;
|
||||||
@@ -702,15 +702,15 @@ static void ItemPc_SetScrollPosition(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ItemPc_SetMessageWindowPalette(int a0)
|
static void ItemPc_SetMessageWindowPalette(int palIdx)
|
||||||
{
|
{
|
||||||
SetBgTilemapPalette(1, 0, 14, 30, 6, a0 + 1);
|
SetBgTilemapPalette(1, 0, 14, 30, 6, palIdx + 1);
|
||||||
ScheduleBgCopyTilemapToVram(1);
|
ScheduleBgCopyTilemapToVram(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ItemPc_SetInitializedFlag(u8 a0)
|
void ItemPc_SetInitializedFlag(bool8 flag)
|
||||||
{
|
{
|
||||||
sListMenuState.initialized = a0;
|
sListMenuState.initialized = flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Task_ItemPcMain(u8 taskId)
|
static void Task_ItemPcMain(u8 taskId)
|
||||||
@@ -740,7 +740,7 @@ static void Task_ItemPcMain(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
case -2:
|
case -2:
|
||||||
PlaySE(SE_SELECT);
|
PlaySE(SE_SELECT);
|
||||||
ItemPc_SetInitializedFlag(0);
|
ItemPc_SetInitializedFlag(FALSE);
|
||||||
gTasks[taskId].func = Task_ItemPcTurnOff1;
|
gTasks[taskId].func = Task_ItemPcTurnOff1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -965,9 +965,9 @@ static void ItemPc_WithdrawMultipleInitWindow(u16 slotId)
|
|||||||
ScheduleBgCopyTilemapToVram(0);
|
ScheduleBgCopyTilemapToVram(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_810E670(s16 quantity)
|
static void UpdateWithdrawQuantityDisplay(s16 quantity)
|
||||||
{
|
{
|
||||||
FillWindowPixelRect(3, 0x11, 10, 10, 28, 12);
|
FillWindowPixelRect(3, PIXEL_FILL(1), 10, 10, 28, 12);
|
||||||
ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, 3);
|
ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, 3);
|
||||||
StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1);
|
StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1);
|
||||||
ItemPc_AddTextPrinterParameterized(3, 0, gStringVar4, 8, 10, 1, 0, 0, 1);
|
ItemPc_AddTextPrinterParameterized(3, 0, gStringVar4, 8, 10, 1, 0, 0, 1);
|
||||||
@@ -978,7 +978,7 @@ static void Task_ItemPcHandleWithdrawMultiple(u8 taskId)
|
|||||||
s16 * data = gTasks[taskId].data;
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE)
|
if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE)
|
||||||
sub_810E670(data[8]);
|
UpdateWithdrawQuantityDisplay(data[8]);
|
||||||
else if (JOY_NEW(A_BUTTON))
|
else if (JOY_NEW(A_BUTTON))
|
||||||
{
|
{
|
||||||
PlaySE(SE_SELECT);
|
PlaySE(SE_SELECT);
|
||||||
@@ -1067,7 +1067,7 @@ static void ItemPc_InitWindows(void)
|
|||||||
{
|
{
|
||||||
u8 i;
|
u8 i;
|
||||||
|
|
||||||
InitWindows(gUnknown_8453F98);
|
InitWindows(sWindowTemplates);
|
||||||
DeactivateAllTextPrinters();
|
DeactivateAllTextPrinters();
|
||||||
TextWindow_SetUserSelectedFrame(0, 0x3C0, 0xE0);
|
TextWindow_SetUserSelectedFrame(0, 0x3C0, 0xE0);
|
||||||
TextWindow_SetStdFrame0_WithPal(0, 0x3A3, 0xC0);
|
TextWindow_SetStdFrame0_WithPal(0, 0x3A3, 0xC0);
|
||||||
@@ -1106,7 +1106,7 @@ static void unused_ItemPc_AddTextPrinterParameterized(u8 windowId, const u8 * st
|
|||||||
|
|
||||||
static void ItemPc_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx)
|
static void ItemPc_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx)
|
||||||
{
|
{
|
||||||
AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, gUnknown_8453F8C[colorIdx], speed, str);
|
AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, sTextColors[colorIdx], speed, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ItemPc_SetBorderStyleOnWindow(u8 windowId)
|
static void ItemPc_SetBorderStyleOnWindow(u8 windowId)
|
||||||
@@ -1118,7 +1118,7 @@ static u8 ItemPc_GetOrCreateSubwindow(u8 idx)
|
|||||||
{
|
{
|
||||||
if (sSubmenuWindowIds[idx] == 0xFF)
|
if (sSubmenuWindowIds[idx] == 0xFF)
|
||||||
{
|
{
|
||||||
sSubmenuWindowIds[idx] = AddWindow(&gUnknown_8453FD0[idx]);
|
sSubmenuWindowIds[idx] = AddWindow(&sSubwindowTemplates[idx]);
|
||||||
DrawStdFrameWithCustomTileAndPalette(sSubmenuWindowIds[idx], TRUE, 0x3A3, 0x0C);
|
DrawStdFrameWithCustomTileAndPalette(sSubmenuWindowIds[idx], TRUE, 0x3A3, 0x0C);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -594,7 +594,7 @@ static void PrintTeachWhichMoveToStrVar1(bool8 onInit)
|
|||||||
StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToMon);
|
StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToMon);
|
||||||
PrintTextOnWindow(7, gStringVar4, 0, 2, 0, 2);
|
PrintTextOnWindow(7, gStringVar4, 0, 2, 0, 2);
|
||||||
PutWindowTilemap(7);
|
PutWindowTilemap(7);
|
||||||
CopyWindowToVram(7, 3);
|
CopyWindowToVram(7, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -714,7 +714,7 @@ static void MoveRelearnerMenuHandleInput(void)
|
|||||||
static void MoveLearnerInitListMenu(void)
|
static void MoveLearnerInitListMenu(void)
|
||||||
{
|
{
|
||||||
sMoveRelearner->listMenuTaskId = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearner->listMenuScrollPos, sMoveRelearner->listMenuScrollRow);
|
sMoveRelearner->listMenuTaskId = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearner->listMenuScrollPos, sMoveRelearner->listMenuScrollRow);
|
||||||
CopyWindowToVram(6, 1);
|
CopyWindowToVram(6, COPYWIN_MAP);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PrintMoveInfo(u16 move)
|
static void PrintMoveInfo(u16 move)
|
||||||
@@ -760,8 +760,8 @@ static void LoadMoveInfoUI(void)
|
|||||||
PutWindowTilemap(5);
|
PutWindowTilemap(5);
|
||||||
PutWindowTilemap(2);
|
PutWindowTilemap(2);
|
||||||
PutWindowTilemap(7);
|
PutWindowTilemap(7);
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
CopyWindowToVram(1, 2);
|
CopyWindowToVram(1, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PrintMoveInfoHandleCancel_CopyToVram(void)
|
static void PrintMoveInfoHandleCancel_CopyToVram(void)
|
||||||
@@ -776,15 +776,15 @@ static void PrintMoveInfoHandleCancel_CopyToVram(void)
|
|||||||
for (i = 2; i < 6; i++)
|
for (i = 2; i < 6; i++)
|
||||||
{
|
{
|
||||||
FillWindowPixelBuffer(i, PIXEL_FILL(0));
|
FillWindowPixelBuffer(i, PIXEL_FILL(0));
|
||||||
CopyWindowToVram(i, 2);
|
CopyWindowToVram(i, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CopyWindowToVram(3, 2);
|
CopyWindowToVram(3, COPYWIN_GFX);
|
||||||
CopyWindowToVram(4, 2);
|
CopyWindowToVram(4, COPYWIN_GFX);
|
||||||
CopyWindowToVram(2, 2);
|
CopyWindowToVram(2, COPYWIN_GFX);
|
||||||
CopyWindowToVram(2, 2);
|
CopyWindowToVram(2, COPYWIN_GFX);
|
||||||
CopyWindowToVram(5, 2);
|
CopyWindowToVram(5, COPYWIN_GFX);
|
||||||
CopyWindowToVram(7, 3);
|
CopyWindowToVram(7, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void MoveRelearnerMenu_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
static void MoveRelearnerMenu_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
||||||
@@ -803,7 +803,7 @@ static s8 YesNoMenuProcessInput(void)
|
|||||||
if (input != -2)
|
if (input != -2)
|
||||||
{
|
{
|
||||||
PutWindowTilemap(6);
|
PutWindowTilemap(6);
|
||||||
CopyWindowToVram(6, 1);
|
CopyWindowToVram(6, COPYWIN_MAP);
|
||||||
}
|
}
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-10
@@ -380,7 +380,7 @@ void OpenLink(void)
|
|||||||
{
|
{
|
||||||
sub_80F86F4();
|
sub_80F86F4();
|
||||||
}
|
}
|
||||||
gReceivedRemoteLinkPlayers = 0;
|
gReceivedRemoteLinkPlayers = FALSE;
|
||||||
for (i = 0; i < MAX_LINK_PLAYERS; i++)
|
for (i = 0; i < MAX_LINK_PLAYERS; i++)
|
||||||
{
|
{
|
||||||
gRemoteLinkPlayersNotReceived[i] = TRUE;
|
gRemoteLinkPlayersNotReceived[i] = TRUE;
|
||||||
@@ -515,9 +515,9 @@ void HandleReceiveRemoteLinkPlayer(u8 who)
|
|||||||
{
|
{
|
||||||
count += gRemoteLinkPlayersNotReceived[i];
|
count += gRemoteLinkPlayersNotReceived[i];
|
||||||
}
|
}
|
||||||
if (count == 0 && gReceivedRemoteLinkPlayers == 0)
|
if (count == 0 && !gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
gReceivedRemoteLinkPlayers = 1;
|
gReceivedRemoteLinkPlayers = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1513,7 +1513,7 @@ void sub_800AE1C(void)
|
|||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
PutWindowTilemap(2);
|
PutWindowTilemap(2);
|
||||||
CopyWindowToVram(0, 0);
|
CopyWindowToVram(0, 0);
|
||||||
CopyWindowToVram(2, 3);
|
CopyWindowToVram(2, COPYWIN_BOTH);
|
||||||
ShowBg(0);
|
ShowBg(0);
|
||||||
ShowBg(1);
|
ShowBg(1);
|
||||||
}
|
}
|
||||||
@@ -1526,7 +1526,7 @@ void sub_800AED0(void)
|
|||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
PutWindowTilemap(2);
|
PutWindowTilemap(2);
|
||||||
CopyWindowToVram(1, 0);
|
CopyWindowToVram(1, 0);
|
||||||
CopyWindowToVram(2, 3);
|
CopyWindowToVram(2, COPYWIN_BOTH);
|
||||||
ShowBg(0);
|
ShowBg(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1656,7 +1656,7 @@ bool8 HandleLinkConnection(void)
|
|||||||
{
|
{
|
||||||
gLinkStatus = LinkMain1(&gShouldAdvanceLinkState, gSendCmd, gRecvCmds);
|
gLinkStatus = LinkMain1(&gShouldAdvanceLinkState, gSendCmd, gRecvCmds);
|
||||||
LinkMain2(&gMain.heldKeys);
|
LinkMain2(&gMain.heldKeys);
|
||||||
if ((gLinkStatus & LINK_STAT_RECEIVED_NOTHING) && sub_8058318() == TRUE)
|
if ((gLinkStatus & LINK_STAT_RECEIVED_NOTHING) && IsSendingKeysOverCable() == TRUE)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@@ -1665,7 +1665,7 @@ bool8 HandleLinkConnection(void)
|
|||||||
{
|
{
|
||||||
r4 = LinkRfuMain1();
|
r4 = LinkRfuMain1();
|
||||||
r5 = LinkRfuMain2();
|
r5 = LinkRfuMain2();
|
||||||
if (sub_8058318() == TRUE)
|
if (IsSendingKeysOverCable() == TRUE)
|
||||||
{
|
{
|
||||||
if (r4 == TRUE || IsRfuRecvQueueEmpty() || r5)
|
if (r4 == TRUE || IsRfuRecvQueueEmpty() || r5)
|
||||||
{
|
{
|
||||||
@@ -1678,7 +1678,7 @@ bool8 HandleLinkConnection(void)
|
|||||||
|
|
||||||
void SetWirelessCommType1(void)
|
void SetWirelessCommType1(void)
|
||||||
{
|
{
|
||||||
if (gReceivedRemoteLinkPlayers == 0)
|
if (!gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
gWirelessCommType = 1;
|
gWirelessCommType = 1;
|
||||||
}
|
}
|
||||||
@@ -1686,7 +1686,7 @@ void SetWirelessCommType1(void)
|
|||||||
|
|
||||||
static void SetWirelessCommType0(void)
|
static void SetWirelessCommType0(void)
|
||||||
{
|
{
|
||||||
if (gReceivedRemoteLinkPlayers == 0)
|
if (!gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
gWirelessCommType = 0;
|
gWirelessCommType = 0;
|
||||||
}
|
}
|
||||||
@@ -1694,7 +1694,7 @@ static void SetWirelessCommType0(void)
|
|||||||
|
|
||||||
void SetWirelessCommType0_UnusedCopy(void)
|
void SetWirelessCommType0_UnusedCopy(void)
|
||||||
{
|
{
|
||||||
if (gReceivedRemoteLinkPlayers == 0)
|
if (!gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
gWirelessCommType = 0;
|
gWirelessCommType = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-9
@@ -45,7 +45,7 @@ static void RfuFunc_SendNextBlock(void);
|
|||||||
static void RfuFunc_SendLastBlock(void);
|
static void RfuFunc_SendLastBlock(void);
|
||||||
static void CallRfuFunc(void);
|
static void CallRfuFunc(void);
|
||||||
static void sub_80FA738(void);
|
static void sub_80FA738(void);
|
||||||
static int sub_80FA788(void);
|
static s32 sub_80FA788(void);
|
||||||
static void sub_80FA834(u8 taskId);
|
static void sub_80FA834(u8 taskId);
|
||||||
static void sub_80FA9D0(u16 a0);
|
static void sub_80FA9D0(u16 a0);
|
||||||
static void ValidateAndReceivePokemonSioInfo(void * a0);
|
static void ValidateAndReceivePokemonSioInfo(void * a0);
|
||||||
@@ -712,7 +712,7 @@ static bool32 sub_80F911C(void)
|
|||||||
if (!lman.acceptSlot_flag)
|
if (!lman.acceptSlot_flag)
|
||||||
{
|
{
|
||||||
LinkRfu_Shutdown();
|
LinkRfu_Shutdown();
|
||||||
gReceivedRemoteLinkPlayers = 0;
|
gReceivedRemoteLinkPlayers = FALSE;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -985,7 +985,7 @@ static void RfuHandleReceiveCommand(u8 unused)
|
|||||||
switch (gRecvCmds[i][0] & 0xff00)
|
switch (gRecvCmds[i][0] & 0xff00)
|
||||||
{
|
{
|
||||||
case RFU_COMMAND_0x7800:
|
case RFU_COMMAND_0x7800:
|
||||||
if (Rfu.parent_child == MODE_CHILD && gReceivedRemoteLinkPlayers != 0)
|
if (Rfu.parent_child == MODE_CHILD && gReceivedRemoteLinkPlayers)
|
||||||
return;
|
return;
|
||||||
// fallthrough
|
// fallthrough
|
||||||
case RFU_COMMAND_0x7700:
|
case RFU_COMMAND_0x7700:
|
||||||
@@ -1017,7 +1017,7 @@ static void RfuHandleReceiveCommand(u8 unused)
|
|||||||
{
|
{
|
||||||
Rfu.cmd_8800_recvbuf[i].receiving = 2;
|
Rfu.cmd_8800_recvbuf[i].receiving = 2;
|
||||||
Rfu_SetBlockReceivedFlag(i);
|
Rfu_SetBlockReceivedFlag(i);
|
||||||
if (GetHostRFUtgtGname()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && gReceivedRemoteLinkPlayers != 0 && Rfu.parent_child == MODE_CHILD)
|
if (GetHostRFUtgtGname()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && gReceivedRemoteLinkPlayers && Rfu.parent_child == MODE_CHILD)
|
||||||
ValidateAndReceivePokemonSioInfo(gBlockRecvBuffer);
|
ValidateAndReceivePokemonSioInfo(gBlockRecvBuffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1035,11 +1035,11 @@ static void RfuHandleReceiveCommand(u8 unused)
|
|||||||
case RFU_COMMAND_0xed00:
|
case RFU_COMMAND_0xed00:
|
||||||
if (Rfu.parent_child == MODE_CHILD)
|
if (Rfu.parent_child == MODE_CHILD)
|
||||||
{
|
{
|
||||||
if (gReceivedRemoteLinkPlayers != 0)
|
if (gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
if (gRecvCmds[i][1] & gRfuLinkStatus->connSlotFlag)
|
if (gRecvCmds[i][1] & gRfuLinkStatus->connSlotFlag)
|
||||||
{
|
{
|
||||||
gReceivedRemoteLinkPlayers = 0;
|
gReceivedRemoteLinkPlayers = FALSE;
|
||||||
rfu_LMAN_requestChangeAgbClockMaster();
|
rfu_LMAN_requestChangeAgbClockMaster();
|
||||||
Rfu.unk_ce4 = gRecvCmds[i][2];
|
Rfu.unk_ce4 = gRecvCmds[i][2];
|
||||||
}
|
}
|
||||||
@@ -1283,7 +1283,7 @@ static void RfuFunc_End5F00_PowerDownRfu(void)
|
|||||||
{
|
{
|
||||||
rfu_clearAllSlot();
|
rfu_clearAllSlot();
|
||||||
rfu_LMAN_powerDownRFU();
|
rfu_LMAN_powerDownRFU();
|
||||||
gReceivedRemoteLinkPlayers = 0;
|
gReceivedRemoteLinkPlayers = FALSE;
|
||||||
Rfu.isShuttingDown = TRUE;
|
Rfu.isShuttingDown = TRUE;
|
||||||
Rfu.RfuFunc = NULL;
|
Rfu.RfuFunc = NULL;
|
||||||
}
|
}
|
||||||
@@ -1682,7 +1682,7 @@ static void sub_80FA834(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
gReceivedRemoteLinkPlayers = 1;
|
gReceivedRemoteLinkPlayers = TRUE;
|
||||||
Rfu.unk_ce8 = FALSE;
|
Rfu.unk_ce8 = FALSE;
|
||||||
rfu_LMAN_setLinkRecovery(1, 600);
|
rfu_LMAN_setLinkRecovery(1, 600);
|
||||||
if (Rfu.unionRoomChatters)
|
if (Rfu.unionRoomChatters)
|
||||||
@@ -1836,7 +1836,7 @@ static void sub_80FACF0(u8 taskId)
|
|||||||
{
|
{
|
||||||
ReceiveRfuLinkPlayers((const struct SioInfo *)gBlockRecvBuffer);
|
ReceiveRfuLinkPlayers((const struct SioInfo *)gBlockRecvBuffer);
|
||||||
ResetBlockReceivedFlag(0);
|
ResetBlockReceivedFlag(0);
|
||||||
gReceivedRemoteLinkPlayers = 1;
|
gReceivedRemoteLinkPlayers = TRUE;
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
+7
-7
@@ -122,7 +122,7 @@ s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const str
|
|||||||
gMultiuseListMenuTemplate = *listMenuTemplate;
|
gMultiuseListMenuTemplate = *listMenuTemplate;
|
||||||
gMultiuseListMenuTemplate.windowId = sMysteryGiftLinkMenu.windowId;
|
gMultiuseListMenuTemplate.windowId = sMysteryGiftLinkMenu.windowId;
|
||||||
sMysteryGiftLinkMenu.listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
|
sMysteryGiftLinkMenu.listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
|
||||||
CopyWindowToVram(sMysteryGiftLinkMenu.windowId, 1);
|
CopyWindowToVram(sMysteryGiftLinkMenu.windowId, COPYWIN_MAP);
|
||||||
sMysteryGiftLinkMenu.state = 1;
|
sMysteryGiftLinkMenu.state = 1;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -155,7 +155,7 @@ s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const str
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CopyWindowToVram(sMysteryGiftLinkMenu.windowId, 1);
|
CopyWindowToVram(sMysteryGiftLinkMenu.windowId, COPYWIN_MAP);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
@@ -171,7 +171,7 @@ u8 ListMenuInit(const struct ListMenuTemplate *listMenuTemplate, u16 cursorPos,
|
|||||||
{
|
{
|
||||||
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
|
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
|
||||||
PutWindowTilemap(listMenuTemplate->windowId);
|
PutWindowTilemap(listMenuTemplate->windowId);
|
||||||
CopyWindowToVram(listMenuTemplate->windowId, 2);
|
CopyWindowToVram(listMenuTemplate->windowId, COPYWIN_GFX);
|
||||||
return taskId;
|
return taskId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,7 +182,7 @@ u8 ListMenuInitInRect(const struct ListMenuTemplate *listMenuTemplate, const str
|
|||||||
|
|
||||||
for (i = 0; rect[i].palNum != 0xFF; i++)
|
for (i = 0; rect[i].palNum != 0xFF; i++)
|
||||||
PutWindowRectTilemapOverridePalette(listMenuTemplate->windowId, rect[i].x, rect[i].y, rect[i].width, rect[i].height, rect[i].palNum);
|
PutWindowRectTilemapOverridePalette(listMenuTemplate->windowId, rect[i].x, rect[i].y, rect[i].width, rect[i].height, rect[i].palNum);
|
||||||
CopyWindowToVram(listMenuTemplate->windowId, 2);
|
CopyWindowToVram(listMenuTemplate->windowId, COPYWIN_GFX);
|
||||||
return taskId;
|
return taskId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -266,7 +266,7 @@ void RedrawListMenu(u8 listTaskId)
|
|||||||
FillWindowPixelBuffer(list->template.windowId, PIXEL_FILL(list->template.fillValue));
|
FillWindowPixelBuffer(list->template.windowId, PIXEL_FILL(list->template.fillValue));
|
||||||
ListMenuPrintEntries(list, list->cursorPos, 0, list->template.maxShowed);
|
ListMenuPrintEntries(list, list->cursorPos, 0, list->template.maxShowed);
|
||||||
ListMenuDrawCursor(list);
|
ListMenuDrawCursor(list);
|
||||||
CopyWindowToVram(list->template.windowId, 2);
|
CopyWindowToVram(list->template.windowId, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ChangeListMenuPals(u8 listTaskId, u8 cursorPal, u8 fillValue, u8 cursorShadowPal)
|
static void ChangeListMenuPals(u8 listTaskId, u8 cursorPal, u8 fillValue, u8 cursorShadowPal)
|
||||||
@@ -611,7 +611,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn
|
|||||||
ListMenuErasePrintedCursor(list, oldSelectedRow);
|
ListMenuErasePrintedCursor(list, oldSelectedRow);
|
||||||
ListMenuDrawCursor(list);
|
ListMenuDrawCursor(list);
|
||||||
ListMenuCallSelectionChangedCallback(list, FALSE);
|
ListMenuCallSelectionChangedCallback(list, FALSE);
|
||||||
CopyWindowToVram(list->template.windowId, 2);
|
CopyWindowToVram(list->template.windowId, COPYWIN_GFX);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
@@ -619,7 +619,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn
|
|||||||
ListMenuScroll(list, cursorCount, movingDown);
|
ListMenuScroll(list, cursorCount, movingDown);
|
||||||
ListMenuDrawCursor(list);
|
ListMenuDrawCursor(list);
|
||||||
ListMenuCallSelectionChangedCallback(list, FALSE);
|
ListMenuCallSelectionChangedCallback(list, FALSE);
|
||||||
CopyWindowToVram(list->template.windowId, 2);
|
CopyWindowToVram(list->template.windowId, COPYWIN_GFX);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -677,8 +677,8 @@ static void AddMailMessagePrinters(void)
|
|||||||
width = GetStringWidth(1, gText_From, 0);
|
width = GetStringWidth(1, gText_From, 0);
|
||||||
AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX, sMailViewResources->messageLayout->nameY, sTextColor, 0, gText_From);
|
AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX, sMailViewResources->messageLayout->nameY, sTextColor, 0, gText_From);
|
||||||
AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX + width, sMailViewResources->messageLayout->nameY, sTextColor, 0, sMailViewResources->authorNameBuffer);
|
AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX + width, sMailViewResources->messageLayout->nameY, sTextColor, 0, sMailViewResources->authorNameBuffer);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
CopyWindowToVram(1, 3);
|
CopyWindowToVram(1, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void VBlankCB_ShowMail(void)
|
static void VBlankCB_ShowMail(void)
|
||||||
|
|||||||
+43
-9
@@ -28,11 +28,15 @@ const u8 gGameVersion = GAME_VERSION;
|
|||||||
|
|
||||||
const u8 gGameLanguage = GAME_LANGUAGE;
|
const u8 gGameLanguage = GAME_LANGUAGE;
|
||||||
|
|
||||||
|
#if MODERN
|
||||||
|
const char BuildDateTime[] = __DATE__ " " __TIME__;
|
||||||
|
#else
|
||||||
#if REVISION == 0
|
#if REVISION == 0
|
||||||
const char BuildDateTime[] = "2004 04 26 11:20";
|
const char BuildDateTime[] = "2004 04 26 11:20";
|
||||||
#else
|
#else
|
||||||
const char BuildDateTime[] = "2004 07 20 09:30";
|
const char BuildDateTime[] = "2004 07 20 09:30";
|
||||||
#endif
|
#endif //REVISION
|
||||||
|
#endif //MODERN
|
||||||
|
|
||||||
const IntrFunc gIntrTableTemplate[] =
|
const IntrFunc gIntrTableTemplate[] =
|
||||||
{
|
{
|
||||||
@@ -84,7 +88,37 @@ void EnableVCountIntrAtLine150(void);
|
|||||||
|
|
||||||
void AgbMain()
|
void AgbMain()
|
||||||
{
|
{
|
||||||
|
#if MODERN
|
||||||
|
// Modern compilers are liberal with the stack on entry to this function,
|
||||||
|
// so RegisterRamReset may crash if it resets IWRAM.
|
||||||
|
RegisterRamReset(RESET_ALL & ~RESET_IWRAM);
|
||||||
|
asm("mov\tr1, #0xC0\n"
|
||||||
|
"\tlsl\tr1, r1, #0x12\n"
|
||||||
|
"\tmov\tr2, #0xFC\n"
|
||||||
|
"\tlsl\tr2, r2, #0x7\n"
|
||||||
|
"\tadd\tr2, r1, r2\n"
|
||||||
|
"\tmov\tr0, #0\n"
|
||||||
|
"\tmov\tr3, r0\n"
|
||||||
|
"\tmov\tr4, r0\n"
|
||||||
|
"\tmov\tr5, r0\n"
|
||||||
|
".LCU%=:\n"
|
||||||
|
"\tstmia\tr1!, {r0, r3, r4, r5}\n"
|
||||||
|
"\tstmia\tr1!, {r0, r3, r4, r5}\n"
|
||||||
|
"\tstmia\tr1!, {r0, r3, r4, r5}\n"
|
||||||
|
"\tstmia\tr1!, {r0, r3, r4, r5}\n"
|
||||||
|
"\tstmia\tr1!, {r0, r3, r4, r5}\n"
|
||||||
|
"\tstmia\tr1!, {r0, r3, r4, r5}\n"
|
||||||
|
"\tstmia\tr1!, {r0, r3, r4, r5}\n"
|
||||||
|
"\tstmia\tr1!, {r0, r3, r4, r5}\n"
|
||||||
|
"\tcmp\tr1, r2\n"
|
||||||
|
"\tbcc\t.LCU%=\n"
|
||||||
|
:
|
||||||
|
:
|
||||||
|
: "r0", "r1", "r2", "r3", "r4", "r5", "memory"
|
||||||
|
);
|
||||||
|
#else
|
||||||
RegisterRamReset(RESET_ALL);
|
RegisterRamReset(RESET_ALL);
|
||||||
|
#endif //MODERN
|
||||||
*(vu16 *)BG_PLTT = RGB_WHITE;
|
*(vu16 *)BG_PLTT = RGB_WHITE;
|
||||||
InitGpuRegManager();
|
InitGpuRegManager();
|
||||||
REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3;
|
REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3;
|
||||||
@@ -98,7 +132,7 @@ void AgbMain()
|
|||||||
InitMapMusic();
|
InitMapMusic();
|
||||||
ClearDma3Requests();
|
ClearDma3Requests();
|
||||||
ResetBgs();
|
ResetBgs();
|
||||||
InitHeap(gHeap, 0x1C000);
|
InitHeap(gHeap, HEAP_SIZE);
|
||||||
SetDefaultFontsPointer();
|
SetDefaultFontsPointer();
|
||||||
|
|
||||||
gSoftResetDisabled = FALSE;
|
gSoftResetDisabled = FALSE;
|
||||||
@@ -128,7 +162,7 @@ void AgbMain()
|
|||||||
DoSoftReset();
|
DoSoftReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sub_80582E0() == 1)
|
if (Overworld_SendKeysToLinkIsRunning() == TRUE)
|
||||||
{
|
{
|
||||||
gLinkTransferringData = TRUE;
|
gLinkTransferringData = TRUE;
|
||||||
UpdateLinkAndCallCallbacks();
|
UpdateLinkAndCallCallbacks();
|
||||||
@@ -139,7 +173,7 @@ void AgbMain()
|
|||||||
gLinkTransferringData = FALSE;
|
gLinkTransferringData = FALSE;
|
||||||
UpdateLinkAndCallCallbacks();
|
UpdateLinkAndCallCallbacks();
|
||||||
|
|
||||||
if (sub_8058274() == 1)
|
if (Overworld_RecvKeysFromLinkIsRunning() == 1)
|
||||||
{
|
{
|
||||||
gMain.newKeys = 0;
|
gMain.newKeys = 0;
|
||||||
ClearSpriteCopyRequests();
|
ClearSpriteCopyRequests();
|
||||||
@@ -259,16 +293,16 @@ static void ReadKeys(void)
|
|||||||
gMain.heldKeys = gMain.heldKeysRaw;
|
gMain.heldKeys = gMain.heldKeysRaw;
|
||||||
|
|
||||||
// Remap L to A if the L=A option is enabled.
|
// Remap L to A if the L=A option is enabled.
|
||||||
if (gSaveBlock2Ptr->optionsButtonMode == 2)
|
if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A)
|
||||||
{
|
{
|
||||||
if (gMain.newKeys & L_BUTTON)
|
if (JOY_NEW(L_BUTTON))
|
||||||
gMain.newKeys |= A_BUTTON;
|
gMain.newKeys |= A_BUTTON;
|
||||||
|
|
||||||
if (gMain.heldKeys & L_BUTTON)
|
if (JOY_HELD(L_BUTTON))
|
||||||
gMain.heldKeys |= A_BUTTON;
|
gMain.heldKeys |= A_BUTTON;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gMain.newKeys & gMain.watchedKeysMask)
|
if (JOY_NEW(gMain.watchedKeysMask))
|
||||||
gMain.watchedKeysPressed = TRUE;
|
gMain.watchedKeysPressed = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -289,7 +323,7 @@ void InitIntrHandlers(void)
|
|||||||
|
|
||||||
REG_IME = 1;
|
REG_IME = 1;
|
||||||
|
|
||||||
EnableInterrupts(0x1);
|
EnableInterrupts(INTR_FLAG_VBLANK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetVBlankCallback(IntrCallback callback)
|
void SetVBlankCallback(IntrCallback callback)
|
||||||
|
|||||||
+13
-13
@@ -352,7 +352,7 @@ static void Task_PrintMainMenuText(u8 taskId)
|
|||||||
AddTextPrinterParameterized3(MAIN_MENU_WINDOW_NEWGAME_ONLY, 2, 2, 2, sTextColor1, -1, gText_NewGame);
|
AddTextPrinterParameterized3(MAIN_MENU_WINDOW_NEWGAME_ONLY, 2, 2, 2, sTextColor1, -1, gText_NewGame);
|
||||||
MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_NEWGAME_ONLY]);
|
MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_NEWGAME_ONLY]);
|
||||||
PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME_ONLY);
|
PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME_ONLY);
|
||||||
CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME_ONLY, 3);
|
CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME_ONLY, COPYWIN_BOTH);
|
||||||
break;
|
break;
|
||||||
case MAIN_MENU_CONTINUE:
|
case MAIN_MENU_CONTINUE:
|
||||||
FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10));
|
FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10));
|
||||||
@@ -364,8 +364,8 @@ static void Task_PrintMainMenuText(u8 taskId)
|
|||||||
MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_NEWGAME]);
|
MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_NEWGAME]);
|
||||||
PutWindowTilemap(MAIN_MENU_WINDOW_CONTINUE);
|
PutWindowTilemap(MAIN_MENU_WINDOW_CONTINUE);
|
||||||
PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME);
|
PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME);
|
||||||
CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, 2);
|
CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, COPYWIN_GFX);
|
||||||
CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, 3);
|
CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, COPYWIN_BOTH);
|
||||||
break;
|
break;
|
||||||
case MAIN_MENU_MYSTERYGIFT:
|
case MAIN_MENU_MYSTERYGIFT:
|
||||||
FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10));
|
FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10));
|
||||||
@@ -382,9 +382,9 @@ static void Task_PrintMainMenuText(u8 taskId)
|
|||||||
PutWindowTilemap(MAIN_MENU_WINDOW_CONTINUE);
|
PutWindowTilemap(MAIN_MENU_WINDOW_CONTINUE);
|
||||||
PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME);
|
PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME);
|
||||||
PutWindowTilemap(MAIN_MENU_WINDOW_MYSTERYGIFT);
|
PutWindowTilemap(MAIN_MENU_WINDOW_MYSTERYGIFT);
|
||||||
CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, 2);
|
CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, COPYWIN_GFX);
|
||||||
CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, 2);
|
CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, COPYWIN_GFX);
|
||||||
CopyWindowToVram(MAIN_MENU_WINDOW_MYSTERYGIFT, 3);
|
CopyWindowToVram(MAIN_MENU_WINDOW_MYSTERYGIFT, COPYWIN_BOTH);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gTasks[taskId].func = Task_WaitDma3AndFadeIn;
|
gTasks[taskId].func = Task_WaitDma3AndFadeIn;
|
||||||
@@ -392,7 +392,7 @@ static void Task_PrintMainMenuText(u8 taskId)
|
|||||||
|
|
||||||
static void Task_WaitDma3AndFadeIn(u8 taskId)
|
static void Task_WaitDma3AndFadeIn(u8 taskId)
|
||||||
{
|
{
|
||||||
if (CheckForSpaceForDma3Request(-1) != -1)
|
if (WaitDma3Request(-1) != -1)
|
||||||
{
|
{
|
||||||
gTasks[taskId].func = Task_UpdateVisualSelection;
|
gTasks[taskId].func = Task_UpdateVisualSelection;
|
||||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0xFFFF);
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0xFFFF);
|
||||||
@@ -534,7 +534,7 @@ static void Task_ReturnToTileScreen(u8 taskId)
|
|||||||
static void MoveWindowByMenuTypeAndCursorPos(u8 menuType, u8 cursorPos)
|
static void MoveWindowByMenuTypeAndCursorPos(u8 menuType, u8 cursorPos)
|
||||||
{
|
{
|
||||||
u16 win0vTop, win0vBot;
|
u16 win0vTop, win0vBot;
|
||||||
SetGpuReg(REG_OFFSET_WIN0H, 0x12DE);
|
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(18, 222));
|
||||||
switch (menuType)
|
switch (menuType)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
@@ -578,8 +578,8 @@ static bool8 HandleMenuInput(u8 taskId)
|
|||||||
{
|
{
|
||||||
PlaySE(SE_SELECT);
|
PlaySE(SE_SELECT);
|
||||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
|
||||||
SetGpuReg(REG_OFFSET_WIN0H, 0xF0);
|
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240));
|
||||||
SetGpuReg(REG_OFFSET_WIN0V, 0xA0);
|
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 160));
|
||||||
gTasks[taskId].func = Task_ReturnToTileScreen;
|
gTasks[taskId].func = Task_ReturnToTileScreen;
|
||||||
}
|
}
|
||||||
else if (JOY_NEW(DPAD_UP) && gTasks[taskId].tCursorPos > 0)
|
else if (JOY_NEW(DPAD_UP) && gTasks[taskId].tCursorPos > 0)
|
||||||
@@ -602,9 +602,9 @@ static void PrintMessageOnWindow4(const u8 *str)
|
|||||||
MainMenu_DrawWindow(&sWindowTemplate[4]);
|
MainMenu_DrawWindow(&sWindowTemplate[4]);
|
||||||
AddTextPrinterParameterized3(MAIN_MENU_WINDOW_ERROR, 2, 0, 2, sTextColor1, 2, str);
|
AddTextPrinterParameterized3(MAIN_MENU_WINDOW_ERROR, 2, 0, 2, sTextColor1, 2, str);
|
||||||
PutWindowTilemap(MAIN_MENU_WINDOW_ERROR);
|
PutWindowTilemap(MAIN_MENU_WINDOW_ERROR);
|
||||||
CopyWindowToVram(MAIN_MENU_WINDOW_ERROR, 2);
|
CopyWindowToVram(MAIN_MENU_WINDOW_ERROR, COPYWIN_GFX);
|
||||||
SetGpuReg(REG_OFFSET_WIN0H, 0x13DD);
|
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE( 19, 221));
|
||||||
SetGpuReg(REG_OFFSET_WIN0V, 0x739D);
|
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(115, 157));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PrintContinueStats(void)
|
static void PrintContinueStats(void)
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ static void Task_MapNamePopup(u8 taskId)
|
|||||||
if (task->tReshow)
|
if (task->tReshow)
|
||||||
{
|
{
|
||||||
MapNamePopupPrintMapNameOnWindow(task->tWindowId);
|
MapNamePopupPrintMapNameOnWindow(task->tWindowId);
|
||||||
CopyWindowToVram(task->tWindowId, 2);
|
CopyWindowToVram(task->tWindowId, COPYWIN_GFX);
|
||||||
task->tState = 1;
|
task->tState = 1;
|
||||||
task->tReshow = FALSE;
|
task->tReshow = FALSE;
|
||||||
}
|
}
|
||||||
@@ -100,7 +100,7 @@ static void Task_MapNamePopup(u8 taskId)
|
|||||||
if (task->tWindowExists && !task->tWindowCleared)
|
if (task->tWindowExists && !task->tWindowCleared)
|
||||||
{
|
{
|
||||||
rbox_fill_rectangle(task->tWindowId);
|
rbox_fill_rectangle(task->tWindowId);
|
||||||
CopyWindowToVram(task->tWindowId, 1);
|
CopyWindowToVram(task->tWindowId, COPYWIN_MAP);
|
||||||
task->tWindowCleared = TRUE;
|
task->tWindowCleared = TRUE;
|
||||||
}
|
}
|
||||||
task->tState = 7;
|
task->tState = 7;
|
||||||
@@ -183,7 +183,7 @@ static u16 MapNamePopupCreateWindow(bool32 palintoFadedBuffer)
|
|||||||
DrawTextBorderOuter(windowId, r6, 0xD);
|
DrawTextBorderOuter(windowId, r6, 0xD);
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
MapNamePopupPrintMapNameOnWindow(windowId);
|
MapNamePopupPrintMapNameOnWindow(windowId);
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
return windowId;
|
return windowId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -479,7 +479,7 @@ static void Task_RunMapPreviewScreenForest(u8 taskId)
|
|||||||
case 0:
|
case 0:
|
||||||
if (!MapPreview_IsGfxLoadFinished() && !IsDma3ManagerBusyWithBgCopy())
|
if (!MapPreview_IsGfxLoadFinished() && !IsDma3ManagerBusyWithBgCopy())
|
||||||
{
|
{
|
||||||
CopyWindowToVram(data[11], 3);
|
CopyWindowToVram(data[11], COPYWIN_BOTH);
|
||||||
data[0]++;
|
data[0]++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
+9
-9
@@ -1,6 +1,6 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
s16 sub_80D8AA0(s16 x, s16 y)
|
s16 MathUtil_Mul16(s16 x, s16 y)
|
||||||
{
|
{
|
||||||
s32 result;
|
s32 result;
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ s16 sub_80D8AA0(s16 x, s16 y)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 sub_80D8ABC(u8 s, s16 x, s16 y)
|
s16 MathUtil_Mul16Shift(u8 s, s16 x, s16 y)
|
||||||
{
|
{
|
||||||
s32 result;
|
s32 result;
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ s16 sub_80D8ABC(u8 s, s16 x, s16 y)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 sub_80D8AE0(s32 x, s32 y)
|
s32 MathUtil_Mul32(s32 x, s32 y)
|
||||||
{
|
{
|
||||||
s64 result;
|
s64 result;
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ s32 sub_80D8AE0(s32 x, s32 y)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 sub_80D8B1C(s16 x, s16 y)
|
s16 MathUtil_Div16(s16 x, s16 y)
|
||||||
{
|
{
|
||||||
if (y == 0)
|
if (y == 0)
|
||||||
{
|
{
|
||||||
@@ -39,7 +39,7 @@ s16 sub_80D8B1C(s16 x, s16 y)
|
|||||||
return (x << 8) / y;
|
return (x << 8) / y;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 sub_80D8B40(u8 s, s16 x, s16 y)
|
s16 MathUtil_Div16Shift(u8 s, s16 x, s16 y)
|
||||||
{
|
{
|
||||||
if (y == 0)
|
if (y == 0)
|
||||||
{
|
{
|
||||||
@@ -48,7 +48,7 @@ s16 sub_80D8B40(u8 s, s16 x, s16 y)
|
|||||||
return (x << s) / y;
|
return (x << s) / y;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 sub_80D8B68(s32 x, s32 y)
|
s32 MathUtil_Div32(s32 x, s32 y)
|
||||||
{
|
{
|
||||||
s64 _x;
|
s64 _x;
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ s32 sub_80D8B68(s32 x, s32 y)
|
|||||||
return _x / y;
|
return _x / y;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 sub_80D8B90(s16 y)
|
s16 MathUtil_Inv16(s16 y)
|
||||||
{
|
{
|
||||||
s32 x;
|
s32 x;
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ s16 sub_80D8B90(s16 y)
|
|||||||
return x / y;
|
return x / y;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 sub_80D8BA8(u8 s, s16 y)
|
s16 MathUtil_Inv16Shift(u8 s, s16 y)
|
||||||
{
|
{
|
||||||
s32 x;
|
s32 x;
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ s16 sub_80D8BA8(u8 s, s16 y)
|
|||||||
return x / y;
|
return x / y;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 sub_80D8BC8(s32 y)
|
s32 MathUtil_Inv32(s32 y)
|
||||||
{
|
{
|
||||||
s64 x;
|
s64 x;
|
||||||
|
|
||||||
|
|||||||
+16
-16
@@ -44,7 +44,7 @@ void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
// not used
|
// not used
|
||||||
@@ -56,7 +56,7 @@ static void DrawDialogFrameWithCustomTile(u8 windowId, bool8 copyToVram, u16 til
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowFunc_DrawDialogFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
static void WindowFunc_DrawDialogFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||||
@@ -96,7 +96,7 @@ void ClearDialogWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram)
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||||
ClearWindowTilemap(windowId);
|
ClearWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
static void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||||
@@ -112,7 +112,7 @@ void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 bas
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
// not used
|
// not used
|
||||||
@@ -124,7 +124,7 @@ static void DrawStdFrameWithCustomTile(u8 windowId, bool8 copyToVram, u16 baseTi
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowFunc_DrawStdFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
static void WindowFunc_DrawStdFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||||
@@ -145,7 +145,7 @@ void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram)
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||||
ClearWindowTilemap(windowId);
|
ClearWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowFunc_ClearStdWindowAndFrameToTransparent(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
static void WindowFunc_ClearStdWindowAndFrameToTransparent(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||||
@@ -195,7 +195,7 @@ void TopBarWindowPrintString(const u8 *string, u8 unused, bool8 copyToVram)
|
|||||||
width = GetStringWidth(0, string, 0);
|
width = GetStringWidth(0, string, 0);
|
||||||
AddTextPrinterParameterized3(sTopBarWindowId, 0, -20 - width, 1, gUnknown_8456618, 0, string);
|
AddTextPrinterParameterized3(sTopBarWindowId, 0, -20 - width, 1, gUnknown_8456618, 0, string);
|
||||||
if (copyToVram)
|
if (copyToVram)
|
||||||
CopyWindowToVram(sTopBarWindowId, 3);
|
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,7 +228,7 @@ void TopBarWindowPrintTwoStrings(const u8 *string, const u8 *string2, bool8 fgCo
|
|||||||
}
|
}
|
||||||
AddTextPrinterParameterized4(sTopBarWindowId, 1, 4, 1, 0, 0, color, 0, string);
|
AddTextPrinterParameterized4(sTopBarWindowId, 1, 4, 1, 0, 0, color, 0, string);
|
||||||
if (copyToVram)
|
if (copyToVram)
|
||||||
CopyWindowToVram(sTopBarWindowId, 3);
|
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -236,7 +236,7 @@ void TopBarWindowPrintTwoStrings(const u8 *string, const u8 *string2, bool8 fgCo
|
|||||||
static void CopyTopBarWindowToVram(void)
|
static void CopyTopBarWindowToVram(void)
|
||||||
{
|
{
|
||||||
if (sTopBarWindowId != 0xFF)
|
if (sTopBarWindowId != 0xFF)
|
||||||
CopyWindowToVram(sTopBarWindowId, 3);
|
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClearTopBarWindow(void)
|
void ClearTopBarWindow(void)
|
||||||
@@ -244,7 +244,7 @@ void ClearTopBarWindow(void)
|
|||||||
if (sTopBarWindowId != 0xFF)
|
if (sTopBarWindowId != 0xFF)
|
||||||
{
|
{
|
||||||
FillWindowPixelBuffer(sTopBarWindowId, PIXEL_FILL(15));
|
FillWindowPixelBuffer(sTopBarWindowId, PIXEL_FILL(15));
|
||||||
CopyWindowToVram(sTopBarWindowId, 3);
|
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,7 +254,7 @@ void DestroyTopBarWindow(void)
|
|||||||
{
|
{
|
||||||
FillWindowPixelBuffer(sTopBarWindowId, PIXEL_FILL(0));
|
FillWindowPixelBuffer(sTopBarWindowId, PIXEL_FILL(0));
|
||||||
ClearWindowTilemap(sTopBarWindowId);
|
ClearWindowTilemap(sTopBarWindowId);
|
||||||
CopyWindowToVram(sTopBarWindowId, 3);
|
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH);
|
||||||
RemoveWindow(sTopBarWindowId);
|
RemoveWindow(sTopBarWindowId);
|
||||||
sTopBarWindowId = 0xFF;
|
sTopBarWindowId = 0xFF;
|
||||||
}
|
}
|
||||||
@@ -457,7 +457,7 @@ void PrintTextArray(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 i
|
|||||||
|
|
||||||
for (i = 0; i < itemCount; i++)
|
for (i = 0; i < itemCount; i++)
|
||||||
AddTextPrinterParameterized(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL);
|
AddTextPrinterParameterized(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL);
|
||||||
CopyWindowToVram(windowId, 2);
|
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MultichoiceList_PrintItems(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, u8 letterSpacing, u8 lineSpacing)
|
void MultichoiceList_PrintItems(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, u8 letterSpacing, u8 lineSpacing)
|
||||||
@@ -466,7 +466,7 @@ void MultichoiceList_PrintItems(u8 windowId, u8 fontId, u8 left, u8 top, u8 line
|
|||||||
|
|
||||||
for (i = 0; i < itemCount; i++)
|
for (i = 0; i < itemCount; i++)
|
||||||
AddTextPrinterParameterized5(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL, letterSpacing, lineSpacing);
|
AddTextPrinterParameterized5(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL, letterSpacing, lineSpacing);
|
||||||
CopyWindowToVram(windowId, 2);
|
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UnionRoomAndTradeMenuPrintOptions(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const struct MenuAction *strs)
|
void UnionRoomAndTradeMenuPrintOptions(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const struct MenuAction *strs)
|
||||||
@@ -498,7 +498,7 @@ void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 l
|
|||||||
printer.currentY = printer.y;
|
printer.currentY = printer.y;
|
||||||
AddTextPrinter(&printer, 0xFF, NULL);
|
AddTextPrinter(&printer, 0xFF, NULL);
|
||||||
}
|
}
|
||||||
CopyWindowToVram(windowId, 2);
|
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
// not used
|
// not used
|
||||||
@@ -583,7 +583,7 @@ void MultichoiceGrid_PrintItems(u8 windowId, u8 fontId, u8 itemWidth, u8 itemHei
|
|||||||
for (i = 0; i < rows; ++i)
|
for (i = 0; i < rows; ++i)
|
||||||
for (j = 0; j < cols; ++j)
|
for (j = 0; j < cols; ++j)
|
||||||
AddTextPrinterParameterized(windowId, fontId, strs[i * cols + j].text, itemWidth * j + width, yOffset + itemHeight * i, 0xFF, 0);
|
AddTextPrinterParameterized(windowId, fontId, strs[i * cols + j].text, itemWidth * j + width, yOffset + itemHeight * i, 0xFF, 0);
|
||||||
CopyWindowToVram(windowId, 2);
|
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
//not used
|
//not used
|
||||||
@@ -598,7 +598,7 @@ static void MultichoiceGrid_PrintItemsCustomOrder(u8 windowId, u8 fontId, u8 ite
|
|||||||
for (i = 0; i < rows; ++i)
|
for (i = 0; i < rows; ++i)
|
||||||
for (j = 0; j < cols; ++j)
|
for (j = 0; j < cols; ++j)
|
||||||
AddTextPrinterParameterized(windowId, fontId, strs[orderArray[i * cols + j]].text, itemWidth * j + width, itemHeight * i, 0xFF, 0);
|
AddTextPrinterParameterized(windowId, fontId, strs[orderArray[i * cols + j]].text, itemWidth * j + width, itemHeight * i, 0xFF, 0);
|
||||||
CopyWindowToVram(windowId, 2);
|
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static u8 MultichoiceGrid_InitCursorInternal(u8 windowId, u8 fontId, u8 left, u8 top, u8 optionWidth, u8 cursorHeight, u8 cols, u8 rows, u8 numChoices, u8 cursorPos)
|
static u8 MultichoiceGrid_InitCursorInternal(u8 windowId, u8 fontId, u8 left, u8 top, u8 optionWidth, u8 cursorHeight, u8 cols, u8 rows, u8 numChoices, u8 cursorPos)
|
||||||
|
|||||||
+18
-18
@@ -169,17 +169,17 @@ void ResetAllBgsCoordinatesAndBgCntRegs(void)
|
|||||||
ChangeBgY(3, 0, 0);
|
ChangeBgY(3, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1)
|
bool8 AdjustQuantityAccordingToDPadInput(s16 *quantity_p, u16 qmax)
|
||||||
{
|
{
|
||||||
s16 valBefore = (*arg0);
|
s16 valBefore = (*quantity_p);
|
||||||
|
|
||||||
if (JOY_REPT(DPAD_ANY) == DPAD_UP)
|
if (JOY_REPT(DPAD_ANY) == DPAD_UP)
|
||||||
{
|
{
|
||||||
(*arg0)++;
|
(*quantity_p)++;
|
||||||
if ((*arg0) > arg1)
|
if ((*quantity_p) > qmax)
|
||||||
(*arg0) = 1;
|
(*quantity_p) = 1;
|
||||||
|
|
||||||
if ((*arg0) == valBefore)
|
if ((*quantity_p) == valBefore)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -191,10 +191,10 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1)
|
|||||||
}
|
}
|
||||||
else if (JOY_REPT(DPAD_ANY) == DPAD_DOWN)
|
else if (JOY_REPT(DPAD_ANY) == DPAD_DOWN)
|
||||||
{
|
{
|
||||||
(*arg0)--;
|
(*quantity_p)--;
|
||||||
if ((*arg0) <= 0)
|
if ((*quantity_p) <= 0)
|
||||||
(*arg0) = arg1;
|
(*quantity_p) = qmax;
|
||||||
if ((*arg0) == valBefore)
|
if ((*quantity_p) == valBefore)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -206,10 +206,10 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1)
|
|||||||
}
|
}
|
||||||
else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT)
|
else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT)
|
||||||
{
|
{
|
||||||
(*arg0) += 10;
|
(*quantity_p) += 10;
|
||||||
if ((*arg0) > arg1)
|
if ((*quantity_p) > qmax)
|
||||||
(*arg0) = arg1;
|
(*quantity_p) = qmax;
|
||||||
if ((*arg0) == valBefore)
|
if ((*quantity_p) == valBefore)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -221,10 +221,10 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1)
|
|||||||
}
|
}
|
||||||
else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT)
|
else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT)
|
||||||
{
|
{
|
||||||
(*arg0) -= 10;
|
(*quantity_p) -= 10;
|
||||||
if ((*arg0) <= 0)
|
if ((*quantity_p) <= 0)
|
||||||
(*arg0) = 1;
|
(*quantity_p) = 1;
|
||||||
if ((*arg0) == valBefore)
|
if ((*quantity_p) == valBefore)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -397,7 +397,7 @@ static void sub_8145D18(u8 whichWindow)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8146060(void)
|
static void sub_8146060(void)
|
||||||
|
|||||||
@@ -326,8 +326,8 @@ static void sub_8146A30(void)
|
|||||||
{
|
{
|
||||||
AddTextPrinterParameterized3(sWork->windowIds[1], 3, 0, 16 * i + 2, sTextPals[sWork->bgSpec->textPal2], 0, sWork->messages[i]);
|
AddTextPrinterParameterized3(sWork->windowIds[1], 3, 0, 16 * i + 2, sTextPals[sWork->bgSpec->textPal2], 0, sWork->messages[i]);
|
||||||
}
|
}
|
||||||
CopyWindowToVram(sWork->windowIds[0], 3);
|
CopyWindowToVram(sWork->windowIds[0], COPYWIN_BOTH);
|
||||||
CopyWindowToVram(sWork->windowIds[1], 3);
|
CopyWindowToVram(sWork->windowIds[1], COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8146B58(void)
|
static void sub_8146B58(void)
|
||||||
|
|||||||
+2
-2
@@ -507,8 +507,8 @@ static struct Sprite * CreateMonMarkingSprite(u16 tileTag, u16 paletteTag, const
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80BEBD0(u8 markings, void * dest)
|
void RequestDma3LoadMonMarking(u8 markings, void * dest)
|
||||||
{
|
{
|
||||||
RequestDma3Copy(&sMonMarkingsTiles[64 * markings], dest, 0x80, 1);
|
RequestDma3Copy(&sMonMarkingsTiles[64 * markings], dest, 0x80, DMA3_32BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -131,6 +131,6 @@ void DrawMoneyBox(int amount, u8 x, u8 y)
|
|||||||
void HideMoneyBox(void)
|
void HideMoneyBox(void)
|
||||||
{
|
{
|
||||||
ClearStdWindowAndFrameToTransparent(sMoneyBoxWindowId, FALSE);
|
ClearStdWindowAndFrameToTransparent(sMoneyBoxWindowId, FALSE);
|
||||||
CopyWindowToVram(sMoneyBoxWindowId, 2);
|
CopyWindowToVram(sMoneyBoxWindowId, COPYWIN_GFX);
|
||||||
RemoveWindow(sMoneyBoxWindowId);
|
RemoveWindow(sMoneyBoxWindowId);
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "multiboot.h"
|
#include "multiboot.h"
|
||||||
|
|
||||||
static IWRAM_DATA u16 MultiBoot_required_data[MULTIBOOT_NCHILD];
|
static u16 MultiBoot_required_data[MULTIBOOT_NCHILD];
|
||||||
|
|
||||||
static int MultiBootSend(struct MultiBootParam *mp, u16 data);
|
static int MultiBootSend(struct MultiBootParam *mp, u16 data);
|
||||||
static int MultiBootHandShake(struct MultiBootParam *mp);
|
static int MultiBootHandShake(struct MultiBootParam *mp);
|
||||||
@@ -390,7 +390,7 @@ static int MultiBootHandShake(struct MultiBootParam *mp)
|
|||||||
#undef must_data
|
#undef must_data
|
||||||
}
|
}
|
||||||
|
|
||||||
static void MultiBootWaitCycles(u32 cycles)
|
static NOINLINE void MultiBootWaitCycles(u32 cycles)
|
||||||
{
|
{
|
||||||
asm("mov r2, pc");
|
asm("mov r2, pc");
|
||||||
asm("lsr r2, #24");
|
asm("lsr r2, #24");
|
||||||
|
|||||||
+12
-12
@@ -478,7 +478,7 @@ void PrintMysteryGiftOrEReaderTopMenu(bool8 mg_or_ereader, bool32 usePickOkCance
|
|||||||
AddTextPrinterParameterized4(0, 2, 2, 2, 0, 0, sMG_Ereader_TextColor_1, 0, gJPText_MysteryGift);
|
AddTextPrinterParameterized4(0, 2, 2, 2, 0, 0, sMG_Ereader_TextColor_1, 0, gJPText_MysteryGift);
|
||||||
AddTextPrinterParameterized4(0, 0, 0x78, 2, 0, 0, sMG_Ereader_TextColor_1, 0, gJPText_DecideStop);
|
AddTextPrinterParameterized4(0, 0, 0x78, 2, 0, 0, sMG_Ereader_TextColor_1, 0, gJPText_DecideStop);
|
||||||
}
|
}
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -530,14 +530,14 @@ void AddTextPrinterToWindow1(const u8 *str)
|
|||||||
AddTextPrinterParameterized4(1, 2, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
AddTextPrinterParameterized4(1, 2, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||||
DrawTextBorderOuter(1, 0x001, 0xF);
|
DrawTextBorderOuter(1, 0x001, 0xF);
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(1, 3);
|
CopyWindowToVram(1, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClearTextWindow(void)
|
void ClearTextWindow(void)
|
||||||
{
|
{
|
||||||
rbox_fill_rectangle(1);
|
rbox_fill_rectangle(1);
|
||||||
ClearWindowTilemap(1);
|
ClearWindowTilemap(1);
|
||||||
CopyWindowToVram(1, 1);
|
CopyWindowToVram(1, COPYWIN_MAP);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 *textState, const u8 *str)
|
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 *textState, const u8 *str)
|
||||||
@@ -645,7 +645,7 @@ u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whichMenu)
|
|||||||
if (response != -1)
|
if (response != -1)
|
||||||
{
|
{
|
||||||
ClearWindowTilemap(2);
|
ClearWindowTilemap(2);
|
||||||
CopyWindowToVram(2, 1);
|
CopyWindowToVram(2, COPYWIN_MAP);
|
||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
@@ -670,7 +670,7 @@ s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8
|
|||||||
FillWindowPixelBuffer(*windowId, 0x11);
|
FillWindowPixelBuffer(*windowId, 0x11);
|
||||||
AddTextPrinterParameterized4(*windowId, 2, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
AddTextPrinterParameterized4(*windowId, 2, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||||
CopyWindowToVram(*windowId, 2);
|
CopyWindowToVram(*windowId, COPYWIN_GFX);
|
||||||
PutWindowTilemap(*windowId);
|
PutWindowTilemap(*windowId);
|
||||||
(*textState)++;
|
(*textState)++;
|
||||||
break;
|
break;
|
||||||
@@ -694,7 +694,7 @@ s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8
|
|||||||
*textState = 0;
|
*textState = 0;
|
||||||
rbox_fill_rectangle(*windowId);
|
rbox_fill_rectangle(*windowId);
|
||||||
ClearWindowTilemap(*windowId);
|
ClearWindowTilemap(*windowId);
|
||||||
CopyWindowToVram(*windowId, 1);
|
CopyWindowToVram(*windowId, COPYWIN_MAP);
|
||||||
RemoveWindow(*windowId);
|
RemoveWindow(*windowId);
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
@@ -703,7 +703,7 @@ s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8
|
|||||||
*textState = 0;
|
*textState = 0;
|
||||||
rbox_fill_rectangle(*windowId);
|
rbox_fill_rectangle(*windowId);
|
||||||
ClearWindowTilemap(*windowId);
|
ClearWindowTilemap(*windowId);
|
||||||
CopyWindowToVram(*windowId, 1);
|
CopyWindowToVram(*windowId, COPYWIN_MAP);
|
||||||
RemoveWindow(*windowId);
|
RemoveWindow(*windowId);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -731,7 +731,7 @@ s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cannotToss,
|
|||||||
FillWindowPixelBuffer(*windowId, 0x11);
|
FillWindowPixelBuffer(*windowId, 0x11);
|
||||||
AddTextPrinterParameterized4(*windowId, 2, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
AddTextPrinterParameterized4(*windowId, 2, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||||
CopyWindowToVram(*windowId, 2);
|
CopyWindowToVram(*windowId, COPYWIN_GFX);
|
||||||
PutWindowTilemap(*windowId);
|
PutWindowTilemap(*windowId);
|
||||||
(*textState)++;
|
(*textState)++;
|
||||||
break;
|
break;
|
||||||
@@ -764,7 +764,7 @@ s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cannotToss,
|
|||||||
*textState = 0;
|
*textState = 0;
|
||||||
rbox_fill_rectangle(*windowId);
|
rbox_fill_rectangle(*windowId);
|
||||||
ClearWindowTilemap(*windowId);
|
ClearWindowTilemap(*windowId);
|
||||||
CopyWindowToVram(*windowId, 1);
|
CopyWindowToVram(*windowId, COPYWIN_MAP);
|
||||||
RemoveWindow(*windowId);
|
RemoveWindow(*windowId);
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
@@ -773,7 +773,7 @@ s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cannotToss,
|
|||||||
*textState = 0;
|
*textState = 0;
|
||||||
rbox_fill_rectangle(*windowId);
|
rbox_fill_rectangle(*windowId);
|
||||||
ClearWindowTilemap(*windowId);
|
ClearWindowTilemap(*windowId);
|
||||||
CopyWindowToVram(*windowId, 1);
|
CopyWindowToVram(*windowId, COPYWIN_MAP);
|
||||||
RemoveWindow(*windowId);
|
RemoveWindow(*windowId);
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
@@ -1252,7 +1252,7 @@ void task00_mystery_gift(u8 taskId)
|
|||||||
data->state = 6;
|
data->state = 6;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (gReceivedRemoteLinkPlayers != 0)
|
if (gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
ClearScreenInBg0(TRUE);
|
ClearScreenInBg0(TRUE);
|
||||||
data->state = 7;
|
data->state = 7;
|
||||||
@@ -1600,7 +1600,7 @@ void task00_mystery_gift(u8 taskId)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 30:
|
case 30:
|
||||||
if (gReceivedRemoteLinkPlayers != 0)
|
if (gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
ClearScreenInBg0(1);
|
ClearScreenInBg0(1);
|
||||||
data->state = 31;
|
data->state = 31;
|
||||||
|
|||||||
+3
-3
@@ -708,7 +708,7 @@ static void pokemon_transfer_to_pc_with_message(void)
|
|||||||
DrawDialogueFrame(0, FALSE);
|
DrawDialogueFrame(0, FALSE);
|
||||||
gTextFlags.canABSpeedUpPrint = TRUE;
|
gTextFlags.canABSpeedUpPrint = TRUE;
|
||||||
AddTextPrinterParameterized2(0, 2, gStringVar4, GetTextSpeedSetting(), NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GREY);
|
AddTextPrinterParameterized2(0, 2, gStringVar4, GetTextSpeedSetting(), NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GREY);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool8 sub_809E1D4(void)
|
static bool8 sub_809E1D4(void)
|
||||||
@@ -1804,7 +1804,7 @@ static void PrintBufferCharactersOnScreen(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
CallAddGenderIconFunc();
|
CallAddGenderIconFunc();
|
||||||
CopyWindowToVram(sNamingScreenData->windows[2], 2);
|
CopyWindowToVram(sNamingScreenData->windows[2], COPYWIN_GFX);
|
||||||
PutWindowTilemap(sNamingScreenData->windows[2]);
|
PutWindowTilemap(sNamingScreenData->windows[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1887,7 +1887,7 @@ static void sub_809FAE4(void)
|
|||||||
FillWindowPixelBuffer(sNamingScreenData->windows[4], PIXEL_FILL(15));
|
FillWindowPixelBuffer(sNamingScreenData->windows[4], PIXEL_FILL(15));
|
||||||
AddTextPrinterParameterized3(sNamingScreenData->windows[4], 0, 236 - strwidth, 0, color, 0, gText_MoveOkBack);
|
AddTextPrinterParameterized3(sNamingScreenData->windows[4], 0, 236 - strwidth, 0, color, 0, gText_MoveOkBack);
|
||||||
PutWindowTilemap(sNamingScreenData->windows[4]);
|
PutWindowTilemap(sNamingScreenData->windows[4]);
|
||||||
CopyWindowToVram(sNamingScreenData->windows[4], 3);
|
CopyWindowToVram(sNamingScreenData->windows[4], COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_809FB70(void)
|
static void sub_809FB70(void)
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 of
|
|||||||
|
|
||||||
static void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId)
|
static void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId)
|
||||||
{
|
{
|
||||||
if (!CheckForSpaceForDma3Request(gTasks[taskId].data[0]))
|
if (!WaitDma3Request(gTasks[taskId].data[0]))
|
||||||
{
|
{
|
||||||
Free((void *)GetWordTaskArg(taskId, 1));
|
Free((void *)GetWordTaskArg(taskId, 1));
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
@@ -471,7 +471,7 @@ void DrawDialogueFrame(u8 windowId, bool8 copyToVram)
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawStdWindowFrame(u8 windowId, bool8 copyToVram)
|
void DrawStdWindowFrame(u8 windowId, bool8 copyToVram)
|
||||||
@@ -480,7 +480,7 @@ void DrawStdWindowFrame(u8 windowId, bool8 copyToVram)
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram)
|
void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram)
|
||||||
@@ -489,7 +489,7 @@ void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram)
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||||
ClearWindowTilemap(windowId);
|
ClearWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
if (gQuestLogState == QL_STATE_PLAYBACK)
|
if (gQuestLogState == QL_STATE_PLAYBACK)
|
||||||
CommitQuestLogWindow1();
|
CommitQuestLogWindow1();
|
||||||
}
|
}
|
||||||
@@ -500,7 +500,7 @@ void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram)
|
|||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||||
ClearWindowTilemap(windowId);
|
ClearWindowTilemap(windowId);
|
||||||
if (copyToVram == TRUE)
|
if (copyToVram == TRUE)
|
||||||
CopyWindowToVram(windowId, 3);
|
CopyWindowToVram(windowId, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowFunc_DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
static void WindowFunc_DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||||
@@ -644,7 +644,7 @@ void DisplayItemMessageOnField(u8 taskId, u8 textSpeed, const u8 *string, TaskFu
|
|||||||
{
|
{
|
||||||
LoadStdWindowFrameGfx();
|
LoadStdWindowFrameGfx();
|
||||||
DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, textSpeed, GetTextSpeedSetting(), string, callback);
|
DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, textSpeed, GetTextSpeedSetting(), string, callback);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayYesNoMenuDefaultYes(void)
|
void DisplayYesNoMenuDefaultYes(void)
|
||||||
|
|||||||
+11
-11
@@ -584,7 +584,7 @@ static void CreateHelpDocsPage1(void)
|
|||||||
PutWindowTilemap(sOakSpeechResources->unk_0014[0]);
|
PutWindowTilemap(sOakSpeechResources->unk_0014[0]);
|
||||||
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[0], 0x00);
|
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[0], 0x00);
|
||||||
AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, sTextColor_HelpSystem, 0, gNewGame_HelpDocs1);
|
AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, sTextColor_HelpSystem, 0, gNewGame_HelpDocs1);
|
||||||
CopyWindowToVram(sOakSpeechResources->unk_0014[0], 3);
|
CopyWindowToVram(sOakSpeechResources->unk_0014[0], COPYWIN_BOTH);
|
||||||
FillBgTilemapBufferRect_Palette0(1, 0x3000, 1, 3, 5, 16);
|
FillBgTilemapBufferRect_Palette0(1, 0x3000, 1, 3, 5, 16);
|
||||||
CopyBgTilemapBufferToVram(1);
|
CopyBgTilemapBufferToVram(1);
|
||||||
}
|
}
|
||||||
@@ -606,7 +606,7 @@ static void Task_OakSpeech4(u8 taskId)
|
|||||||
PutWindowTilemap(sOakSpeechResources->unk_0014[i]);
|
PutWindowTilemap(sOakSpeechResources->unk_0014[i]);
|
||||||
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00);
|
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00);
|
||||||
AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]);
|
AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]);
|
||||||
CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3);
|
CopyWindowToVram(sOakSpeechResources->unk_0014[i], COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sOakSpeechResources->unk_0012 == 1)
|
if (sOakSpeechResources->unk_0012 == 1)
|
||||||
@@ -675,7 +675,7 @@ static void Task_OakSpeech3(u8 taskId)
|
|||||||
{
|
{
|
||||||
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00);
|
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00);
|
||||||
ClearWindowTilemap(sOakSpeechResources->unk_0014[i]);
|
ClearWindowTilemap(sOakSpeechResources->unk_0014[i]);
|
||||||
CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3);
|
CopyWindowToVram(sOakSpeechResources->unk_0014[i], COPYWIN_BOTH);
|
||||||
RemoveWindow(sOakSpeechResources->unk_0014[i]);
|
RemoveWindow(sOakSpeechResources->unk_0014[i]);
|
||||||
sOakSpeechResources->unk_0014[i] = 0;
|
sOakSpeechResources->unk_0014[i] = 0;
|
||||||
}
|
}
|
||||||
@@ -699,7 +699,7 @@ static void Task_OakSpeech5(u8 taskId)
|
|||||||
{
|
{
|
||||||
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00);
|
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00);
|
||||||
ClearWindowTilemap(sOakSpeechResources->unk_0014[i]);
|
ClearWindowTilemap(sOakSpeechResources->unk_0014[i]);
|
||||||
CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3);
|
CopyWindowToVram(sOakSpeechResources->unk_0014[i], COPYWIN_BOTH);
|
||||||
RemoveWindow(sOakSpeechResources->unk_0014[i]);
|
RemoveWindow(sOakSpeechResources->unk_0014[i]);
|
||||||
sOakSpeechResources->unk_0014[i] = 0;
|
sOakSpeechResources->unk_0014[i] = 0;
|
||||||
}
|
}
|
||||||
@@ -733,7 +733,7 @@ static void Task_OakSpeech6(u8 taskId)
|
|||||||
data[14] = AddWindow(&sNewGameAdventureIntroWindowTemplates[0]);
|
data[14] = AddWindow(&sNewGameAdventureIntroWindowTemplates[0]);
|
||||||
PutWindowTilemap(data[14]);
|
PutWindowTilemap(data[14]);
|
||||||
FillWindowPixelBuffer(data[14], 0x00);
|
FillWindowPixelBuffer(data[14], 0x00);
|
||||||
CopyWindowToVram(data[14], 3);
|
CopyWindowToVram(data[14], COPYWIN_BOTH);
|
||||||
sOakSpeechResources->unk_0012 = 0;
|
sOakSpeechResources->unk_0012 = 0;
|
||||||
gMain.state = 0;
|
gMain.state = 0;
|
||||||
data[15] = 16;
|
data[15] = 16;
|
||||||
@@ -856,7 +856,7 @@ static void Task_OakSpeech8(u8 taskId)
|
|||||||
DestroyTopBarWindow();
|
DestroyTopBarWindow();
|
||||||
FillWindowPixelBuffer(data[14], 0x00);
|
FillWindowPixelBuffer(data[14], 0x00);
|
||||||
ClearWindowTilemap(data[14]);
|
ClearWindowTilemap(data[14]);
|
||||||
CopyWindowToVram(data[14], 3);
|
CopyWindowToVram(data[14], COPYWIN_BOTH);
|
||||||
RemoveWindow(data[14]);
|
RemoveWindow(data[14]);
|
||||||
data[14] = 0;
|
data[14] = 0;
|
||||||
FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
|
FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
|
||||||
@@ -902,7 +902,7 @@ static void Task_OakSpeech9(u8 taskId)
|
|||||||
{ \
|
{ \
|
||||||
AddTextPrinterParameterized2(0, 4, str, speed, NULL, 2, 1, 3); \
|
AddTextPrinterParameterized2(0, 4, str, speed, NULL, 2, 1, 3); \
|
||||||
} \
|
} \
|
||||||
CopyWindowToVram(0, 3); \
|
CopyWindowToVram(0, COPYWIN_BOTH); \
|
||||||
})
|
})
|
||||||
|
|
||||||
static void Task_OakSpeech10(u8 taskId)
|
static void Task_OakSpeech10(u8 taskId)
|
||||||
@@ -1072,7 +1072,7 @@ static void Task_OakSpeech19(u8 taskId)
|
|||||||
sOakSpeechResources->textColor[2] = 3;
|
sOakSpeechResources->textColor[2] = 3;
|
||||||
AddTextPrinterParameterized3(gTasks[taskId].data[13], 2, 8, 17, sOakSpeechResources->textColor, 0, gText_Girl);
|
AddTextPrinterParameterized3(gTasks[taskId].data[13], 2, 8, 17, sOakSpeechResources->textColor, 0, gText_Girl);
|
||||||
Menu_InitCursor(gTasks[taskId].data[13], 2, 0, 1, GetFontAttribute(2, 1) + 2, 2, 0);
|
Menu_InitCursor(gTasks[taskId].data[13], 2, 0, 1, GetFontAttribute(2, 1) + 2, 2, 0);
|
||||||
CopyWindowToVram(gTasks[taskId].data[13], 3);
|
CopyWindowToVram(gTasks[taskId].data[13], COPYWIN_BOTH);
|
||||||
gTasks[taskId].func = Task_OakSpeech20;
|
gTasks[taskId].func = Task_OakSpeech20;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1419,8 +1419,8 @@ static void Task_OakSpeech39(u8 taskId)
|
|||||||
PlaySE(SE_TK_WARPIN);
|
PlaySE(SE_TK_WARPIN);
|
||||||
r0 = data[2];
|
r0 = data[2];
|
||||||
data[2] -= 32;
|
data[2] -= 32;
|
||||||
x = sub_80D8B90(r0 - 8);
|
x = MathUtil_Inv16(r0 - 8);
|
||||||
y = sub_80D8B90(data[2] - 16);
|
y = MathUtil_Inv16(data[2] - 16);
|
||||||
SetBgAffine(2, 0x7800, 0x5400, 0x78, 0x54, x, y, 0);
|
SetBgAffine(2, 0x7800, 0x5400, 0x78, 0x54, x, y, 0);
|
||||||
if (data[2] <= 96)
|
if (data[2] <= 96)
|
||||||
{
|
{
|
||||||
@@ -1869,7 +1869,7 @@ static void PrintNameChoiceOptions(u8 taskId, u8 state)
|
|||||||
AddTextPrinterParameterized(data[13], 2, textPtrs[i], 8, 16 * (i + 1) + 1, 0, NULL);
|
AddTextPrinterParameterized(data[13], 2, textPtrs[i], 8, 16 * (i + 1) + 1, 0, NULL);
|
||||||
}
|
}
|
||||||
Menu_InitCursor(data[13], 2, 0, 1, 16, 5, 0);
|
Menu_InitCursor(data[13], 2, 0, 1, 16, 5, 0);
|
||||||
CopyWindowToVram(data[13], 3);
|
CopyWindowToVram(data[13], COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GetDefaultName(u8 arg0, u8 namePick)
|
static void GetDefaultName(u8 arg0, u8 namePick)
|
||||||
|
|||||||
+3
-3
@@ -318,7 +318,7 @@ static void OptionMenu_PickSwitchCancel(void)
|
|||||||
FillWindowPixelBuffer(2, PIXEL_FILL(15));
|
FillWindowPixelBuffer(2, PIXEL_FILL(15));
|
||||||
AddTextPrinterParameterized3(2, 0, x, 0, sOptionMenuPickSwitchCancelTextColor, 0, gText_PickSwitchCancel);
|
AddTextPrinterParameterized3(2, 0, x, 0, sOptionMenuPickSwitchCancelTextColor, 0, gText_PickSwitchCancel);
|
||||||
PutWindowTilemap(2);
|
PutWindowTilemap(2);
|
||||||
CopyWindowToVram(2, 3);
|
CopyWindowToVram(2, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OptionMenu_ResetSpriteData(void)
|
static void OptionMenu_ResetSpriteData(void)
|
||||||
@@ -500,7 +500,7 @@ static void BufferOptionMenuString(u8 selection)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(1, 3);
|
CopyWindowToVram(1, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CloseAndSaveOptionMenu(u8 taskId)
|
static void CloseAndSaveOptionMenu(u8 taskId)
|
||||||
@@ -524,7 +524,7 @@ static void PrintOptionMenuHeader(void)
|
|||||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||||
AddTextPrinterParameterized(WIN_TEXT_OPTION, 2, gText_MenuOption, 8, 1, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(WIN_TEXT_OPTION, 2, gText_MenuOption, 8, 1, TEXT_SPEED_FF, NULL);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DrawOptionMenuBg(void)
|
static void DrawOptionMenuBg(void)
|
||||||
|
|||||||
+7
-7
@@ -3192,7 +3192,7 @@ bool32 Overworld_LinkRecvQueueLengthMoreThan2(void)
|
|||||||
return sReceivingFromLink;
|
return sReceivingFromLink;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_8058274(void)
|
bool32 Overworld_RecvKeysFromLinkIsRunning(void)
|
||||||
{
|
{
|
||||||
u8 temp;
|
u8 temp;
|
||||||
|
|
||||||
@@ -3218,7 +3218,7 @@ bool32 sub_8058274(void)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_80582E0(void)
|
bool32 Overworld_SendKeysToLinkIsRunning(void)
|
||||||
{
|
{
|
||||||
if (GetLinkSendQueueLength() < 2)
|
if (GetLinkSendQueueLength() < 2)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -3232,7 +3232,7 @@ bool32 sub_80582E0(void)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_8058318(void)
|
bool32 IsSendingKeysOverCable(void)
|
||||||
{
|
{
|
||||||
if (gWirelessCommType != 0)
|
if (gWirelessCommType != 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -3298,17 +3298,17 @@ static void InitLinkPlayerObjectEventPos(struct ObjectEvent *objEvent, s16 x, s1
|
|||||||
ObjectEventUpdateZCoord(objEvent);
|
ObjectEventUpdateZCoord(objEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8058488(u8 linkPlayerId, u8 a2)
|
static void SetLinkPlayerObjectRange(u8 linkPlayerId, u8 range)
|
||||||
{
|
{
|
||||||
if (gLinkPlayerObjectEvents[linkPlayerId].active)
|
if (gLinkPlayerObjectEvents[linkPlayerId].active)
|
||||||
{
|
{
|
||||||
u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId;
|
u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId;
|
||||||
struct ObjectEvent *objEvent = &gObjectEvents[objEventId];
|
struct ObjectEvent *objEvent = &gObjectEvents[objEventId];
|
||||||
objEvent->range.as_byte = a2;
|
objEvent->range.as_byte = range;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80584B8(u8 linkPlayerId)
|
static void DestroyLinkPlayerOBject(u8 linkPlayerId)
|
||||||
{
|
{
|
||||||
struct LinkPlayerObjectEvent *linkPlayerObjEvent = &gLinkPlayerObjectEvents[linkPlayerId];
|
struct LinkPlayerObjectEvent *linkPlayerObjEvent = &gLinkPlayerObjectEvents[linkPlayerId];
|
||||||
u8 objEventId = linkPlayerObjEvent->objEventId;
|
u8 objEventId = linkPlayerObjEvent->objEventId;
|
||||||
@@ -3349,7 +3349,7 @@ static u8 GetLinkPlayerElevation(u8 linkPlayerId)
|
|||||||
return objEvent->currentElevation;
|
return objEvent->currentElevation;
|
||||||
}
|
}
|
||||||
|
|
||||||
static s32 sub_8058590(u8 linkPlayerId)
|
static s32 GetLinkPlayerObjectStepTimer(u8 linkPlayerId)
|
||||||
{
|
{
|
||||||
u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId;
|
u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId;
|
||||||
struct ObjectEvent *objEvent = &gObjectEvents[objEventId];
|
struct ObjectEvent *objEvent = &gObjectEvents[objEventId];
|
||||||
|
|||||||
+7
-7
@@ -731,7 +731,7 @@ static void RenderPartyMenuBox(u8 slot)
|
|||||||
{
|
{
|
||||||
DisplayPartyPokemonDataForMultiBattle(slot);
|
DisplayPartyPokemonDataForMultiBattle(slot);
|
||||||
LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_MULTI_ALT);
|
LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_MULTI_ALT);
|
||||||
CopyWindowToVram(sPartyMenuBoxes[slot].windowId, 2);
|
CopyWindowToVram(sPartyMenuBoxes[slot].windowId, COPYWIN_GFX);
|
||||||
PutWindowTilemap(sPartyMenuBoxes[slot].windowId);
|
PutWindowTilemap(sPartyMenuBoxes[slot].windowId);
|
||||||
ScheduleBgCopyTilemapToVram(2);
|
ScheduleBgCopyTilemapToVram(2);
|
||||||
}
|
}
|
||||||
@@ -740,7 +740,7 @@ static void RenderPartyMenuBox(u8 slot)
|
|||||||
if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) == SPECIES_NONE)
|
if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) == SPECIES_NONE)
|
||||||
{
|
{
|
||||||
DrawEmptySlot(sPartyMenuBoxes[slot].windowId);
|
DrawEmptySlot(sPartyMenuBoxes[slot].windowId);
|
||||||
CopyWindowToVram(sPartyMenuBoxes[slot].windowId, 2);
|
CopyWindowToVram(sPartyMenuBoxes[slot].windowId, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2159,7 +2159,7 @@ static void CreateCancelConfirmWindows(bool8 chooseHalf)
|
|||||||
FillWindowPixelBuffer(confirmWindowId, PIXEL_FILL(0));
|
FillWindowPixelBuffer(confirmWindowId, PIXEL_FILL(0));
|
||||||
AddTextPrinterParameterized4(confirmWindowId, 0, (48 - GetStringWidth(0, gMenuText_Confirm, 0)) / 2u, 1, 0, 0, sFontColorTable[0], -1, gMenuText_Confirm);
|
AddTextPrinterParameterized4(confirmWindowId, 0, (48 - GetStringWidth(0, gMenuText_Confirm, 0)) / 2u, 1, 0, 0, sFontColorTable[0], -1, gMenuText_Confirm);
|
||||||
PutWindowTilemap(confirmWindowId);
|
PutWindowTilemap(confirmWindowId);
|
||||||
CopyWindowToVram(confirmWindowId, 2);
|
CopyWindowToVram(confirmWindowId, COPYWIN_GFX);
|
||||||
cancelWindowId = AddWindow(&sMultiCancelButtonWindowTemplate);
|
cancelWindowId = AddWindow(&sMultiCancelButtonWindowTemplate);
|
||||||
offset = 0;
|
offset = 0;
|
||||||
}
|
}
|
||||||
@@ -2181,7 +2181,7 @@ static void CreateCancelConfirmWindows(bool8 chooseHalf)
|
|||||||
AddTextPrinterParameterized3(cancelWindowId, 0, offset, 1, sFontColorTable[0], -1, gOtherText_Exit);
|
AddTextPrinterParameterized3(cancelWindowId, 0, offset, 1, sFontColorTable[0], -1, gOtherText_Exit);
|
||||||
}
|
}
|
||||||
PutWindowTilemap(cancelWindowId);
|
PutWindowTilemap(cancelWindowId);
|
||||||
CopyWindowToVram(cancelWindowId, 2);
|
CopyWindowToVram(cancelWindowId, COPYWIN_GFX);
|
||||||
ScheduleBgCopyTilemapToVram(0);
|
ScheduleBgCopyTilemapToVram(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2467,7 +2467,7 @@ static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *men
|
|||||||
FillWindowPixelRect(menuBox->windowId, 0x0D, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21], menuBox->infoRects->dimensions[22] - hpFraction, 1);
|
FillWindowPixelRect(menuBox->windowId, 0x0D, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21], menuBox->infoRects->dimensions[22] - hpFraction, 1);
|
||||||
FillWindowPixelRect(menuBox->windowId, 0x02, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21] + 1, menuBox->infoRects->dimensions[22] - hpFraction, 2);
|
FillWindowPixelRect(menuBox->windowId, 0x02, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21] + 1, menuBox->infoRects->dimensions[22] - hpFraction, 2);
|
||||||
}
|
}
|
||||||
CopyWindowToVram(menuBox->windowId, 2);
|
CopyWindowToVram(menuBox->windowId, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DisplayPartyPokemonDescriptionText(u8 stringId, struct PartyMenuBox *menuBox, u8 c)
|
static void DisplayPartyPokemonDescriptionText(u8 stringId, struct PartyMenuBox *menuBox, u8 c)
|
||||||
@@ -5132,7 +5132,7 @@ static void DisplayLevelUpStatsPg1(u8 taskId)
|
|||||||
|
|
||||||
arrayPtr[12] = CreateLevelUpStatsWindow();
|
arrayPtr[12] = CreateLevelUpStatsWindow();
|
||||||
DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3);
|
DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3);
|
||||||
CopyWindowToVram(arrayPtr[12], 2);
|
CopyWindowToVram(arrayPtr[12], COPYWIN_GFX);
|
||||||
ScheduleBgCopyTilemapToVram(2);
|
ScheduleBgCopyTilemapToVram(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5141,7 +5141,7 @@ static void DisplayLevelUpStatsPg2(u8 taskId)
|
|||||||
s16 *arrayPtr = sPartyMenuInternal->data;
|
s16 *arrayPtr = sPartyMenuInternal->data;
|
||||||
|
|
||||||
DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], 1, 2, 3);
|
DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], 1, 2, 3);
|
||||||
CopyWindowToVram(arrayPtr[12], 2);
|
CopyWindowToVram(arrayPtr[12], COPYWIN_GFX);
|
||||||
ScheduleBgCopyTilemapToVram(2);
|
ScheduleBgCopyTilemapToVram(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#include "play_time.h"
|
#include "play_time.h"
|
||||||
|
|
||||||
static IWRAM_DATA u8 sPlayTimeCounterState;
|
static u8 sPlayTimeCounterState;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -392,7 +392,7 @@ static void Task_WithdrawItem_WaitFadeAndGoToItemStorage(u8 taskId)
|
|||||||
static void Task_WithdrawItemBeginFade(u8 taskId)
|
static void Task_WithdrawItemBeginFade(u8 taskId)
|
||||||
{
|
{
|
||||||
gTasks[taskId].func = Task_WithdrawItem_WaitFadeAndGoToItemStorage;
|
gTasks[taskId].func = Task_WithdrawItem_WaitFadeAndGoToItemStorage;
|
||||||
ItemPc_SetInitializedFlag(0);
|
ItemPc_SetInitializedFlag(FALSE);
|
||||||
FadeScreen(FADE_TO_BLACK, 0);
|
FadeScreen(FADE_TO_BLACK, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -401,7 +401,7 @@ static void Task_PlayerPcCancel(u8 taskId)
|
|||||||
s16 *data = gTasks[taskId].data;
|
s16 *data = gTasks[taskId].data;
|
||||||
ClearStdWindowAndFrameToTransparent(tWindowId, FALSE);
|
ClearStdWindowAndFrameToTransparent(tWindowId, FALSE);
|
||||||
ClearWindowTilemap(tWindowId);
|
ClearWindowTilemap(tWindowId);
|
||||||
CopyWindowToVram(tWindowId, 1);
|
CopyWindowToVram(tWindowId, COPYWIN_MAP);
|
||||||
RemoveWindow(tWindowId);
|
RemoveWindow(tWindowId);
|
||||||
Task_ReturnToTopMenu(taskId);
|
Task_ReturnToTopMenu(taskId);
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-12
@@ -516,11 +516,11 @@ void sub_8102C28(void)
|
|||||||
FillWindowPixelBuffer(1, PIXEL_FILL(15));
|
FillWindowPixelBuffer(1, PIXEL_FILL(15));
|
||||||
sub_8104C2C(gUnknown_8415DB8);
|
sub_8104C2C(gUnknown_8415DB8);
|
||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(1, 2);
|
CopyWindowToVram(1, COPYWIN_GFX);
|
||||||
PutWindowTilemap(gUnknown_203ACF0->field_16);
|
PutWindowTilemap(gUnknown_203ACF0->field_16);
|
||||||
CopyWindowToVram(gUnknown_203ACF0->field_16, 2);
|
CopyWindowToVram(gUnknown_203ACF0->field_16, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8102EC0(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
void sub_8102EC0(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
||||||
@@ -538,7 +538,7 @@ void sub_8102EC0(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
|||||||
LoadPalette(gUnknown_84520F4[itemIndex].pal, 0x10, 0x20);
|
LoadPalette(gUnknown_84520F4[itemIndex].pal, 0x10, 0x20);
|
||||||
}
|
}
|
||||||
PutWindowTilemap(gUnknown_203ACF0->field_15);
|
PutWindowTilemap(gUnknown_203ACF0->field_15);
|
||||||
CopyWindowToVram(gUnknown_203ACF0->field_15, 2);
|
CopyWindowToVram(gUnknown_203ACF0->field_15, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8102F48(u8 windowId, s32 itemId, u8 y)
|
void sub_8102F48(u8 windowId, s32 itemId, u8 y)
|
||||||
@@ -631,8 +631,8 @@ void sub_810317C(void)
|
|||||||
sub_8106E78(gUnknown_8415F3D, 1);
|
sub_8106E78(gUnknown_8415F3D, 1);
|
||||||
FillWindowPixelBuffer(1, PIXEL_FILL(15));
|
FillWindowPixelBuffer(1, PIXEL_FILL(15));
|
||||||
sub_8104C2C(gText_PickOKExit);
|
sub_8104C2C(gText_PickOKExit);
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
CopyWindowToVram(1, 2);
|
CopyWindowToVram(1, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8103238(u8 taskId)
|
void sub_8103238(u8 taskId)
|
||||||
@@ -717,8 +717,8 @@ void sub_810345C(void)
|
|||||||
sub_8106E78(gUnknown_8415F4A, 1);
|
sub_8106E78(gUnknown_8415F4A, 1);
|
||||||
FillWindowPixelBuffer(1, PIXEL_FILL(15));
|
FillWindowPixelBuffer(1, PIXEL_FILL(15));
|
||||||
sub_8104C2C(gText_PickOKExit);
|
sub_8104C2C(gText_PickOKExit);
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
CopyWindowToVram(1, 2);
|
CopyWindowToVram(1, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
u16 sub_8103518(u8 a0)
|
u16 sub_8103518(u8 a0)
|
||||||
@@ -1841,7 +1841,7 @@ bool8 sub_8104C64(u16 a0, u8 a1, u8 a2)
|
|||||||
FillWindowPixelBuffer(gUnknown_203ACF0->field_20[a1], PIXEL_FILL(0));
|
FillWindowPixelBuffer(gUnknown_203ACF0->field_20[a1], PIXEL_FILL(0));
|
||||||
sub_81049FC(gUnknown_203ACF0->field_20[a1], a0, a1 * 16 + 16);
|
sub_81049FC(gUnknown_203ACF0->field_20[a1], a0, a1 * 16 + 16);
|
||||||
PutWindowTilemap(gUnknown_203ACF0->field_20[a1]);
|
PutWindowTilemap(gUnknown_203ACF0->field_20[a1]);
|
||||||
CopyWindowToVram(gUnknown_203ACF0->field_20[a1], 2);
|
CopyWindowToVram(gUnknown_203ACF0->field_20[a1], COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
PutWindowTilemap(gUnknown_203ACF0->field_20[a1]);
|
PutWindowTilemap(gUnknown_203ACF0->field_20[a1]);
|
||||||
@@ -1861,7 +1861,7 @@ bool8 sub_8104C64(u16 a0, u8 a1, u8 a2)
|
|||||||
if (sub_8104AB0(a0, FLAG_GET_CAUGHT, TRUE))
|
if (sub_8104AB0(a0, FLAG_GET_CAUGHT, TRUE))
|
||||||
BlitBitmapRectToWindow(gUnknown_203ACF0->field_24[a1], gUnknown_8443600, 0, 0, 8, 8, 2, 3, 8, 8);
|
BlitBitmapRectToWindow(gUnknown_203ACF0->field_24[a1], gUnknown_8443600, 0, 0, 8, 8, 2, 3, 8, 8);
|
||||||
PutWindowTilemap(gUnknown_203ACF0->field_24[a1]);
|
PutWindowTilemap(gUnknown_203ACF0->field_24[a1]);
|
||||||
CopyWindowToVram(gUnknown_203ACF0->field_24[a1], 2);
|
CopyWindowToVram(gUnknown_203ACF0->field_24[a1], COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1906,11 +1906,11 @@ bool8 sub_8104F0C(bool8 a0)
|
|||||||
sub_8106E78(gDexCategoryNamePtrs[gUnknown_203ACF0->field_28], 0);
|
sub_8106E78(gDexCategoryNamePtrs[gUnknown_203ACF0->field_28], 0);
|
||||||
sub_8104EC0(0, sub_8106AF8(gUnknown_203ACF0->field_2B), sub_8106AF8(gUnknown_203ACF0->field_2A - 1), 160, 2);
|
sub_8104EC0(0, sub_8106AF8(gUnknown_203ACF0->field_2B), sub_8106AF8(gUnknown_203ACF0->field_2A - 1), 160, 2);
|
||||||
}
|
}
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
FillWindowPixelBuffer(1, PIXEL_FILL(15));
|
FillWindowPixelBuffer(1, PIXEL_FILL(15));
|
||||||
if (!a0)
|
if (!a0)
|
||||||
sub_8104C2C(gUnknown_8415F6C);
|
sub_8104C2C(gUnknown_8415F6C);
|
||||||
CopyWindowToVram(1, 2);
|
CopyWindowToVram(1, COPYWIN_GFX);
|
||||||
if (gUnknown_203ACF0->field_18[0] != 0xFFFF)
|
if (gUnknown_203ACF0->field_18[0] != 0xFFFF)
|
||||||
sub_8104C64(gUnknown_203ACF0->field_18[0], 0, gUnknown_203ACF0->field_2C);
|
sub_8104C64(gUnknown_203ACF0->field_18[0], 0, gUnknown_203ACF0->field_2C);
|
||||||
if (gUnknown_203ACF0->field_18[1] != 0xFFFF)
|
if (gUnknown_203ACF0->field_18[1] != 0xFFFF)
|
||||||
|
|||||||
+1
-1
@@ -234,7 +234,7 @@ static void sub_8147A34(u8 taskId)
|
|||||||
u16 packet[6];
|
u16 packet[6];
|
||||||
s16 *data = gTasks[taskId].data;
|
s16 *data = gTasks[taskId].data;
|
||||||
|
|
||||||
if (gReceivedRemoteLinkPlayers != 0)
|
if (gReceivedRemoteLinkPlayers)
|
||||||
{
|
{
|
||||||
if (gRecvCmds[0][1] == 0x7FFF)
|
if (gRecvCmds[0][1] == 0x7FFF)
|
||||||
data[11] = gRecvCmds[0][2];
|
data[11] = gRecvCmds[0][2];
|
||||||
|
|||||||
@@ -1003,12 +1003,12 @@ static bool32 sub_814881C(void)
|
|||||||
case 2:
|
case 2:
|
||||||
if (sub_8149804())
|
if (sub_8149804())
|
||||||
{
|
{
|
||||||
CreateTask(sub_80DA634, 6);
|
CreateTask(Task_SaveGame_UpdatedLinkRecords, 6);
|
||||||
gUnknown_203F3D4->unk8++;
|
gUnknown_203F3D4->unk8++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (!FuncIsActiveTask(sub_80DA634))
|
if (!FuncIsActiveTask(Task_SaveGame_UpdatedLinkRecords))
|
||||||
{
|
{
|
||||||
sub_814A6CC();
|
sub_814A6CC();
|
||||||
gUnknown_203F3D4->unk8++;
|
gUnknown_203F3D4->unk8++;
|
||||||
|
|||||||
@@ -337,7 +337,7 @@ static void sub_814A0C8(void)
|
|||||||
case 0:
|
case 0:
|
||||||
gUnknown_203F3D8->unk12 = sub_814A754(1, 8, 20, 2);
|
gUnknown_203F3D8->unk12 = sub_814A754(1, 8, 20, 2);
|
||||||
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_WantToPlayAgain2, 0, 2, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_WantToPlayAgain2, 0, 2, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F3D8->unk12, 2);
|
CopyWindowToVram(gUnknown_203F3D8->unk12, COPYWIN_GFX);
|
||||||
gUnknown_203F3D8->unk4++;
|
gUnknown_203F3D8->unk4++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -364,7 +364,7 @@ static void sub_814A174(void)
|
|||||||
case 0:
|
case 0:
|
||||||
gUnknown_203F3D8->unk12 = sub_814A754(2, 7, 26, 4);
|
gUnknown_203F3D8->unk12 = sub_814A754(2, 7, 26, 4);
|
||||||
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_SavingDontTurnOffPower, 0, 2, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_SavingDontTurnOffPower, 0, 2, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F3D8->unk12, 2);
|
CopyWindowToVram(gUnknown_203F3D8->unk12, COPYWIN_GFX);
|
||||||
gUnknown_203F3D8->unk4++;
|
gUnknown_203F3D8->unk4++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -407,7 +407,7 @@ static void sub_814A264(void)
|
|||||||
case 0:
|
case 0:
|
||||||
gUnknown_203F3D8->unk12 = sub_814A754(2, 8, 22, 4);
|
gUnknown_203F3D8->unk12 = sub_814A754(2, 8, 22, 4);
|
||||||
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_SomeoneDroppedOut2, 0, 2, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_SomeoneDroppedOut2, 0, 2, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F3D8->unk12, 2);
|
CopyWindowToVram(gUnknown_203F3D8->unk12, COPYWIN_GFX);
|
||||||
gUnknown_203F3D8->unk4++;
|
gUnknown_203F3D8->unk4++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -433,7 +433,7 @@ static void sub_814A308(void)
|
|||||||
case 0:
|
case 0:
|
||||||
gUnknown_203F3D8->unk12 = sub_814A754(7, 10, 16, 2);
|
gUnknown_203F3D8->unk12 = sub_814A754(7, 10, 16, 2);
|
||||||
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_CommunicationStandby4, 0, 2, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_CommunicationStandby4, 0, 2, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F3D8->unk12, 2);
|
CopyWindowToVram(gUnknown_203F3D8->unk12, COPYWIN_GFX);
|
||||||
gUnknown_203F3D8->unk4++;
|
gUnknown_203F3D8->unk4++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -526,7 +526,7 @@ void sub_814A468(u16 itemId, u16 quantity)
|
|||||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_AwesomeWonF701F700);
|
DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_AwesomeWonF701F700);
|
||||||
gUnknown_203F3D8->unk12 = sub_814A754(4, 8, 22, 4);
|
gUnknown_203F3D8->unk12 = sub_814A754(4, 8, 22, 4);
|
||||||
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F3D8->unk12, 2);
|
CopyWindowToVram(gUnknown_203F3D8->unk12, COPYWIN_GFX);
|
||||||
gUnknown_203F3D8->unk14 = MUS_FANFA1;
|
gUnknown_203F3D8->unk14 = MUS_FANFA1;
|
||||||
gUnknown_203F3D8->unkD = 0;
|
gUnknown_203F3D8->unkD = 0;
|
||||||
}
|
}
|
||||||
@@ -539,7 +539,7 @@ void sub_814A53C(u16 itemId)
|
|||||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_FilledStorageSpace2);
|
DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_FilledStorageSpace2);
|
||||||
gUnknown_203F3D8->unk12 = sub_814A754(4, 8, 22, 4);
|
gUnknown_203F3D8->unk12 = sub_814A754(4, 8, 22, 4);
|
||||||
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F3D8->unk12, 2);
|
CopyWindowToVram(gUnknown_203F3D8->unk12, COPYWIN_GFX);
|
||||||
gUnknown_203F3D8->unk14 = 0;
|
gUnknown_203F3D8->unk14 = 0;
|
||||||
gUnknown_203F3D8->unkD = 0;
|
gUnknown_203F3D8->unkD = 0;
|
||||||
}
|
}
|
||||||
@@ -552,7 +552,7 @@ void sub_814A5B4(u16 itemId)
|
|||||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_CantHoldMore);
|
DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_CantHoldMore);
|
||||||
gUnknown_203F3D8->unk12 = sub_814A754(4, 9, 22, 2);
|
gUnknown_203F3D8->unk12 = sub_814A754(4, 9, 22, 2);
|
||||||
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL);
|
AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL);
|
||||||
CopyWindowToVram(gUnknown_203F3D8->unk12, 2);
|
CopyWindowToVram(gUnknown_203F3D8->unk12, COPYWIN_GFX);
|
||||||
gUnknown_203F3D8->unk14 = 0;
|
gUnknown_203F3D8->unk14 = 0;
|
||||||
gUnknown_203F3D8->unkD = 0;
|
gUnknown_203F3D8->unkD = 0;
|
||||||
}
|
}
|
||||||
@@ -596,7 +596,7 @@ void sub_814A6CC(void)
|
|||||||
if (gUnknown_203F3D8->unk12 != 0xFF)
|
if (gUnknown_203F3D8->unk12 != 0xFF)
|
||||||
{
|
{
|
||||||
rbox_fill_rectangle(gUnknown_203F3D8->unk12);
|
rbox_fill_rectangle(gUnknown_203F3D8->unk12);
|
||||||
CopyWindowToVram(gUnknown_203F3D8->unk12, 1);
|
CopyWindowToVram(gUnknown_203F3D8->unk12, COPYWIN_MAP);
|
||||||
gUnknown_203F3D8->unkD = 0;
|
gUnknown_203F3D8->unkD = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -857,7 +857,7 @@ static void sub_814AB98(int multiplayerId, u8 clr1, u8 clr2, u8 clr3)
|
|||||||
x = 64 - GetStringWidth(0, sub_81499E0(multiplayerId), -1);
|
x = 64 - GetStringWidth(0, sub_81499E0(multiplayerId), -1);
|
||||||
x /= 2;
|
x /= 2;
|
||||||
AddTextPrinterParameterized3(gUnknown_203F3D8->unk1C[multiplayerId], 0, x, 2, colors, -1, sub_81499E0(multiplayerId));
|
AddTextPrinterParameterized3(gUnknown_203F3D8->unk1C[multiplayerId], 0, x, 2, colors, -1, sub_81499E0(multiplayerId));
|
||||||
CopyWindowToVram(gUnknown_203F3D8->unk1C[multiplayerId], 2);
|
CopyWindowToVram(gUnknown_203F3D8->unk1C[multiplayerId], COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_814AC30(bool32 arg0)
|
static void sub_814AC30(bool32 arg0)
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ static void Task_ShowPokemonJumpRecords(u8 taskId)
|
|||||||
case 0:
|
case 0:
|
||||||
data[1] = AddWindow(&gUnknown_846E2CC);
|
data[1] = AddWindow(&gUnknown_846E2CC);
|
||||||
sub_814B5C4(data[1]);
|
sub_814B5C4(data[1]);
|
||||||
CopyWindowToVram(data[1], 3);
|
CopyWindowToVram(data[1], COPYWIN_BOTH);
|
||||||
data[0]++;
|
data[0]++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -87,7 +87,7 @@ static void Task_ShowPokemonJumpRecords(u8 taskId)
|
|||||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||||
{
|
{
|
||||||
rbox_fill_rectangle(data[1]);
|
rbox_fill_rectangle(data[1]);
|
||||||
CopyWindowToVram(data[1], 1);
|
CopyWindowToVram(data[1], COPYWIN_MAP);
|
||||||
data[0]++;
|
data[0]++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -336,12 +336,12 @@ void InitPokemonSpecialAnimScene(struct PokemonSpecialAnimScene * buffer, u16 an
|
|||||||
ChangeBgY(3, 0, 0);
|
ChangeBgY(3, 0, 0);
|
||||||
SetBgTilemapBuffer(0, buffer->field_0914);
|
SetBgTilemapBuffer(0, buffer->field_0914);
|
||||||
SetBgTilemapBuffer(3, buffer->field_1914);
|
SetBgTilemapBuffer(3, buffer->field_1914);
|
||||||
RequestDma3Fill(0, (void *)BG_VRAM, 0x20, TRUE);
|
RequestDma3Fill(0, (void *)BG_VRAM, 0x20, DMA3_32BIT);
|
||||||
FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 32, 32);
|
FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 32, 32);
|
||||||
LoadBgGfxByAnimType(animType);
|
LoadBgGfxByAnimType(animType);
|
||||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||||
TextWindow_SetUserSelectedFrame(0, 0x000, 0xe0);
|
TextWindow_SetUserSelectedFrame(0, 0x000, 0xe0);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
ShowBg(0);
|
ShowBg(0);
|
||||||
ShowBg(3);
|
ShowBg(3);
|
||||||
HideBg(1);
|
HideBg(1);
|
||||||
@@ -370,14 +370,14 @@ void PSA_ShowMessageWindow(void)
|
|||||||
PutWindowTilemap(0);
|
PutWindowTilemap(0);
|
||||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||||
DrawTextBorderOuter(0, 0x001, 0xE);
|
DrawTextBorderOuter(0, 0x001, 0xE);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PSA_HideMessageWindow(void)
|
void PSA_HideMessageWindow(void)
|
||||||
{
|
{
|
||||||
ClearWindowTilemap(0);
|
ClearWindowTilemap(0);
|
||||||
ClearStdWindowAndFrameToTransparent(0, FALSE);
|
ClearStdWindowAndFrameToTransparent(0, FALSE);
|
||||||
CopyWindowToVram(0, 1);
|
CopyWindowToVram(0, COPYWIN_MAP);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PSA_PrintMessage(u8 messageId)
|
void PSA_PrintMessage(u8 messageId)
|
||||||
@@ -448,7 +448,7 @@ void PSA_PrintMessage(u8 messageId)
|
|||||||
void PSA_AfterPoof_ClearMessageWindow(void)
|
void PSA_AfterPoof_ClearMessageWindow(void)
|
||||||
{
|
{
|
||||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool8 PSA_IsMessagePrintTaskActive(void)
|
bool8 PSA_IsMessagePrintTaskActive(void)
|
||||||
@@ -612,12 +612,12 @@ UNUSED void PSA_DrawLevelUpWindowPg1(u16 *statsBefore, u16 *statsAfter)
|
|||||||
DrawTextBorderOuter(1, 0x001, 0xE);
|
DrawTextBorderOuter(1, 0x001, 0xE);
|
||||||
DrawLevelUpWindowPg1(1, statsBefore, statsAfter, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
|
DrawLevelUpWindowPg1(1, statsBefore, statsAfter, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
|
||||||
PutWindowTilemap(1);
|
PutWindowTilemap(1);
|
||||||
CopyWindowToVram(1, 3);
|
CopyWindowToVram(1, COPYWIN_BOTH);
|
||||||
}
|
}
|
||||||
UNUSED void PSA_DrawLevelUpWindowPg2(u16 *currStats)
|
UNUSED void PSA_DrawLevelUpWindowPg2(u16 *currStats)
|
||||||
{
|
{
|
||||||
DrawLevelUpWindowPg2(1, currStats, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
|
DrawLevelUpWindowPg2(1, currStats, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
|
||||||
CopyWindowToVram(1, 2);
|
CopyWindowToVram(1, COPYWIN_GFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
UNUSED bool8 PSA_IsCopyingLevelUpWindowToVram(void)
|
UNUSED bool8 PSA_IsCopyingLevelUpWindowToVram(void)
|
||||||
|
|||||||
@@ -247,8 +247,8 @@ static void Task_PokemonStorageSystemPC(u8 taskId)
|
|||||||
DrawDialogueFrame(0, 0);
|
DrawDialogueFrame(0, 0);
|
||||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||||
AddTextPrinterParameterized2(0, 2, sUnknown_83CDA20[task->data[1]].desc, TEXT_SPEED_FF, NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GREY);
|
AddTextPrinterParameterized2(0, 2, sUnknown_83CDA20[task->data[1]].desc, TEXT_SPEED_FF, NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GREY);
|
||||||
CopyWindowToVram(0, 3);
|
CopyWindowToVram(0, COPYWIN_BOTH);
|
||||||
CopyWindowToVram(task->data[15], 3);
|
CopyWindowToVram(task->data[15], COPYWIN_BOTH);
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user