summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDiegoisawesome <diego@domoreaweso.me>2018-01-16 14:51:00 -0600
committerDiegoisawesome <diego@domoreaweso.me>2018-01-16 14:51:00 -0600
commit309640a28c63528fda8d6b50b9d5bb83eddeb8c9 (patch)
tree5c5dbd1c57d802d8e338f5847de74898bd5c3ede /include
parent56e55d217aa91f89938a384b6e74f2fd0522703d (diff)
parent50f9615dc9021bc811869a27b5fa400aac25aaf0 (diff)
Merge remote-tracking branch 'Egg/decompile_battle_transition'
Diffstat (limited to 'include')
-rw-r--r--include/battle_transition.h32
-rw-r--r--include/bg.h2
-rw-r--r--include/field_camera.h1
-rw-r--r--include/field_effect.h1
-rw-r--r--include/gba/io_reg.h55
-rw-r--r--include/overworld.h2
-rw-r--r--include/unk_transition.h13
7 files changed, 89 insertions, 17 deletions
diff --git a/include/battle_transition.h b/include/battle_transition.h
index 84b5e37ec..0d6ef3c83 100644
--- a/include/battle_transition.h
+++ b/include/battle_transition.h
@@ -1,12 +1,27 @@
#ifndef GUARD_BATTLE_TRANSITION_H
#define GUARD_BATTLE_TRANSITION_H
-void sub_8149DFC(u8 a1);
-void BattleTransition_StartOnField(u8 transitionID);
-void BattleTransition_Start(u8 transitionID);
+void TestBattleTransition(u8 transitionId);
+void BattleTransition_StartOnField(u8 transitionId);
+void BattleTransition_Start(u8 transitionId);
bool8 IsBattleTransitionDone(void);
+bool8 FldEff_Pokeball(void);
+void TransitionPhase1_Task_RunFuncs(u8 taskId);
+void sub_8149F58(u16 **a0, u16 **a1);
-// credits for the names go to Dyskinesia and Tetrable
+extern const struct SpritePalette gFieldEffectObjectPaletteInfo10;
+
+enum // TRANSITION_MUGSHOT
+{
+ MUGSHOT_SYDNEY,
+ MUGSHOT_PHOEBE,
+ MUGSHOT_GLACIA,
+ MUGSHOT_DRAKE,
+ MUGSHOT_CHAMPION,
+ MUGSHOTS_COUNT
+};
+
+// credits for the names go to Dyskinesia, Tetrable and Farore
// names are naturally subject to change
#define B_TRANSITION_BLUR 0
@@ -35,10 +50,10 @@ bool8 IsBattleTransitionDone(void);
#define B_TRANSITION_KYOGRE 22
#define B_TRANSITION_GROUDON 23
#define B_TRANSITION_RAYQUAZA 24
-#define B_TRANSITION_25 25
-#define B_TRANSITION_26 26
-#define B_TRANSITION_27 27
-#define B_TRANSITION_28 28
+#define B_TRANSITION_SHRED_SPLIT 25
+#define B_TRANSITION_BLACKHOLE1 26
+#define B_TRANSITION_BLACKHOLE2 27
+#define B_TRANSITION_RECTANGULAR_SPIRAL 28
#define B_TRANSITION_29 29
#define B_TRANSITION_30 30
#define B_TRANSITION_31 31
@@ -52,5 +67,6 @@ bool8 IsBattleTransitionDone(void);
#define B_TRANSITION_39 39
#define B_TRANSITION_40 40
#define B_TRANSITION_41 41
+#define B_TRANSITION_COUNT 42
#endif // GUARD_BATTLE_TRANSITION_H
diff --git a/include/bg.h b/include/bg.h
index 0c6b4ac26..de3897fa4 100644
--- a/include/bg.h
+++ b/include/bg.h
@@ -70,7 +70,7 @@ void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
void CopyBgTilemapBufferToVram(u8 bg);
void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
-void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
+void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);
void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette);
void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumDelta);
diff --git a/include/field_camera.h b/include/field_camera.h
index f68c67854..6daa9a8a2 100644
--- a/include/field_camera.h
+++ b/include/field_camera.h
@@ -24,6 +24,7 @@ extern u16 gUnknown_03005DE8;
void DrawWholeMapView(void);
void CurrentMapDrawMetatileAt(int x, int y);
+void sub_8089C08(s16 *a0, s16 *a1);
void DrawDoorMetatileAt(int x, int y, u16 *arr);
#endif //GUARD_FIELD_CAMERA_H
diff --git a/include/field_effect.h b/include/field_effect.h
index fb0f20f6f..1fdcbe22c 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -75,6 +75,7 @@ u32 FieldEffectStart(u8);
bool8 FieldEffectActiveListContains(u8 id);
void sub_80B69DC(void);
void FieldEffectStop(struct Sprite *sprite, u8 id);
+u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
void sub_80B7FC8(void);
void FieldEffectActiveListRemove(u8 id);
diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h
index f86f2434c..0364c38bc 100644
--- a/include/gba/io_reg.h
+++ b/include/gba/io_reg.h
@@ -501,12 +501,12 @@
// I/O register fields
// DISPCNT
-#define DISPCNT_MODE_0 0x0000
-#define DISPCNT_MODE_1 0x0001
-#define DISPCNT_MODE_2 0x0002
-#define DISPCNT_MODE_3 0x0003
-#define DISPCNT_MODE_4 0x0004
-#define DISPCNT_MODE_5 0x0005
+#define DISPCNT_MODE_0 0x0000 // BG0: text, BG1: text, BG2: text, BG3: text
+#define DISPCNT_MODE_1 0x0001 // BG0: text, BG1: text, BG2: affine, BG3: off
+#define DISPCNT_MODE_2 0x0002 // BG0: off, BG1: off, BG2: affine, BG3: affine
+#define DISPCNT_MODE_3 0x0003 // Bitmap mode, 240x160, BGR555 color
+#define DISPCNT_MODE_4 0x0004 // Bitmap mode, 240x160, 256 color palette
+#define DISPCNT_MODE_5 0x0005 // Bitmap mode, 160x128, BGR555 color
#define DISPCNT_OBJ_1D_MAP 0x0040
#define DISPCNT_FORCED_BLANK 0x0080
#define DISPCNT_BG0_ON 0x0100
@@ -527,7 +527,46 @@
#define DISPSTAT_HBLANK_INTR 0x0010 // H-Blank interrupt enabled
#define DISPSTAT_VCOUNT_INTR 0x0020 // V-Count interrupt enabled
+// BGCNT
+#define BGCNT_PRIORITY(n) (n) // Values 0 - 3. Lower priority BGs will be drawn on top of higher priority BGs.
+#define BGCNT_CHARBASE(n) ((n) << 2) // Values 0 - 3. Base block for tile pixel data.
+#define BGCNT_MOSAIC 0x0040
+#define BGCNT_16COLOR 0x0000 // 4 bits per pixel
+#define BGCNT_256COLOR 0x0080 // 8 bits per pixel
+#define BGCNT_SCREENBASE(n) ((n) << 8) // Values 0 - 31. Base block for tile map.
+#define BGCNT_WRAP 0x2000 // Only affects affine BGs. Text BGs wrap by default.
+#define BGCNT_TXT256x256 0x0000 // Internal screen size size of text mode BG in pixels.
+#define BGCNT_TXT512x256 0x4000
+#define BGCNT_TXT256x512 0x8000
+#define BGCNT_TXT512x512 0xC000
+#define BGCNT_AFF128x128 0x0000 // Internal screen size size of affine mode BG in pixels.
+#define BGCNT_AFF256x256 0x4000
+#define BGCNT_AFF512x512 0x8000
+#define BGCNT_AFF1024x1024 0xC000
+
// BLDCNT
+// Bits 0-5 select layers for the 1st target
+#define BLDCNT_TGT1_BG0 (1 << 0)
+#define BLDCNT_TGT1_BG1 (1 << 1)
+#define BLDCNT_TGT1_BG2 (1 << 2)
+#define BLDCNT_TGT1_BG3 (1 << 3)
+#define BLDCNT_TGT1_OBJ (1 << 4)
+#define BLDCNT_TGT1_BD (1 << 5)
+// Bits 6-7 select the special effect
+#define BLDCNT_EFFECT_NONE (0 << 6) // no special effect
+#define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA)
+#define BLDCNT_EFFECT_LIGHTEN (2 << 6) // 1st target becomes whiter (controlled by BLDY)
+#define BLDCNT_EFFECT_DARKEN (3 << 6) // 1st target becomes blacker (controlled by BLDY)
+// Bits 8-13 select layers for the 2nd target
+#define BLDCNT_TGT2_BG0 (1 << 8)
+#define BLDCNT_TGT2_BG1 (1 << 9)
+#define BLDCNT_TGT2_BG2 (1 << 10)
+#define BLDCNT_TGT2_BG3 (1 << 11)
+#define BLDCNT_TGT2_OBJ (1 << 12)
+#define BLDCNT_TGT2_BD (1 << 13)
+
+// BLDALPHA
+#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1))
// SOUNDCNT_H
#define SOUND_CGB_MIX_QUARTER 0x0000
@@ -627,8 +666,8 @@
#define KEY_INTR_ENABLE 0x0400
#define KEY_OR_INTR 0x0000
#define KEY_AND_INTR 0x8000
-
-#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN))
+#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN))
+#define JOY_EXCL_DPAD 0x030F
// interrupt flags
#define INTR_FLAG_VBLANK (1 << 0)
diff --git a/include/overworld.h b/include/overworld.h
index d6f90b666..597a160ed 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -74,4 +74,6 @@ void mapldr_default(void);
void IncrementGameStat(u8);
u32 GetGameStat(u8);
+void CB2_OverworldBasic(void);
+
#endif //GUARD_ROM4_H
diff --git a/include/unk_transition.h b/include/unk_transition.h
new file mode 100644
index 000000000..a9caac419
--- /dev/null
+++ b/include/unk_transition.h
@@ -0,0 +1,13 @@
+#ifndef GUARD_UNK_TRANSITION_H
+#define GUARD_UNK_TRANSITION_H
+
+void Phase2Task_34(u8 taskId);
+void Phase2Task_35(u8 taskId);
+void Phase2Task_36(u8 taskId);
+void Phase2Task_37(u8 taskId);
+void Phase2Task_38(u8 taskId);
+void Phase2Task_39(u8 taskId);
+void Phase2Task_40(u8 taskId);
+void Phase2Task_41(u8 taskId);
+
+#endif // GUARD_UNK_TRANSITION_H