thru TryDoForceSwitchOut

This commit is contained in:
jiangzhengwenjz
2019-08-27 08:01:01 +08:00
parent 184066d1c1
commit b516246769
10 changed files with 1363 additions and 4222 deletions
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -15250,7 +15250,7 @@ sub_8126350: @ 8126350
lsls r2, 2
adds r1, r7, r2
adds r0, r4, 0
bl sub_811D130
bl GetMonLevelUpWindowStats
ldrb r0, [r6, 0x9]
ldr r5, _0812641C @ =gSpecialVar_ItemId
ldrh r1, [r5]
@@ -15260,7 +15260,7 @@ sub_8126350: @ 8126350
lsls r0, 2
adds r1, r7, r0
adds r0, r4, 0
bl sub_811D130
bl GetMonLevelUpWindowStats
ldr r1, _08126420 @ =gUnknown_203B0C0
movs r0, 0x1
strb r0, [r1]
@@ -15497,7 +15497,7 @@ sub_8126570: @ 8126570
str r1, [sp, 0x4]
adds r1, r4, 0
movs r3, 0x1
bl sub_811E7F0
bl DrawLevelUpWindowPg1
ldrb r0, [r4, 0x18]
movs r1, 0x2
bl CopyWindowToVram
@@ -15528,7 +15528,7 @@ sub_81265BC: @ 81265BC
str r2, [sp]
movs r2, 0x1
movs r3, 0x2
bl sub_811E93C
bl DrawLevelUpWindowPg2
ldrb r0, [r4, 0x18]
movs r1, 0x2
bl CopyWindowToVram
+11 -11
View File
@@ -1508,8 +1508,8 @@ sub_811D120: @ 811D120
bx r1
thumb_func_end sub_811D120
thumb_func_start sub_811D130
sub_811D130: @ 811D130
thumb_func_start GetMonLevelUpWindowStats
GetMonLevelUpWindowStats: @ 811D130
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -1539,7 +1539,7 @@ sub_811D130: @ 811D130
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_811D130
thumb_func_end GetMonLevelUpWindowStats
thumb_func_start sub_811D178
sub_811D178: @ 811D178
@@ -2294,7 +2294,7 @@ sub_811D764: @ 811D764
adds r1, r4, 0
adds r2, r5, 0
movs r3, 0x1
bl sub_811E7F0
bl DrawLevelUpWindowPg1
movs r0, 0x1
bl PutWindowTilemap
movs r0, 0x1
@@ -2316,7 +2316,7 @@ sub_811D7A0: @ 811D7A0
movs r0, 0x1
movs r2, 0x1
movs r3, 0x2
bl sub_811E93C
bl DrawLevelUpWindowPg2
movs r0, 0x1
movs r1, 0x2
bl CopyWindowToVram
@@ -4457,8 +4457,8 @@ _0811E7E8:
_0811E7EC: .4byte gTasks
thumb_func_end sub_811E7B4
thumb_func_start sub_811E7F0
sub_811E7F0: @ 811E7F0
thumb_func_start DrawLevelUpWindowPg1
DrawLevelUpWindowPg1: @ 811E7F0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -4622,10 +4622,10 @@ _0811E8F4:
_0811E930: .4byte gUnknown_8459B48
_0811E934: .4byte gUnknown_841B2E5
_0811E938: .4byte gUnknown_841B2DC
thumb_func_end sub_811E7F0
thumb_func_end DrawLevelUpWindowPg1
thumb_func_start sub_811E93C
sub_811E93C: @ 811E93C
thumb_func_start DrawLevelUpWindowPg2
DrawLevelUpWindowPg2: @ 811E93C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -4755,6 +4755,6 @@ _0811E9C0:
bx r0
.align 2, 0
_0811EA40: .4byte gUnknown_8459B48
thumb_func_end sub_811E93C
thumb_func_end DrawLevelUpWindowPg2
.align 2, 0 @ Don't pad with nop.
-13
View File
@@ -25,19 +25,6 @@
#define ATK4F_DONT_CHECK_STATUSES 0x80
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
#define VARIOUS_GET_MOVE_TARGET 3
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
#define VARIOUS_EMIT_YESNOBOX 13
#define VARIOUS_WAIT_CRY 18
#define VARIOUS_RETURN_OPPONENT_MON1 19
#define VARIOUS_RETURN_OPPONENT_MON2 20
#define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
#define ATK80_DMG_CHANGE_SIGN 0
#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1
#define ATK80_DMG_DOUBLED 2
+8 -15
View File
@@ -61,28 +61,21 @@
#define CMP_COMMON_BITS 0x4
#define CMP_NO_COMMON_BITS 0x5
// TODO: documentation
// atk76, various
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
#define VARIOUS_GET_MOVE_TARGET 3
#define VARIOUS_CASE_4 4
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
#define VARIOUS_ARENA_JUDGMENT_WINDOW 9
#define VARIOUS_ARENA_OPPONENT_MON_LOST 10
#define VARIOUS_ARENA_PLAYER_MON_LOST 11
#define VARIOUS_ARENA_BOTH_MONS_LOST 12
#define VARIOUS_EMIT_YESNOBOX 13
#define VARIOUS_ARENA_JUDGMENT_STRING 16
#define VARIOUS_ARENA_WAIT_STRING 17
#define VARIOUS_WAIT_CRY 18
#define VARIOUS_RETURN_OPPONENT_MON1 19
#define VARIOUS_RETURN_OPPONENT_MON2 20
#define VARIOUS_VOLUME_DOWN 21
#define VARIOUS_VOLUME_UP 22
#define VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT 23
#define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
#define VARIOUS_CASE_7 7
#define VARIOUS_CASE_8 8
#define VARIOUS_RETURN_OPPONENT_MON1 9
#define VARIOUS_RETURN_OPPONENT_MON2 10
#define VARIOUS_CASE_11 11
#define VARIOUS_CASE_12 12
// atk80, dmg manipulation
#define ATK80_DMG_CHANGE_SIGN 0
+3 -1
View File
@@ -10,7 +10,9 @@ enum {
AILMENT_PRZ,
AILMENT_SLP,
AILMENT_FRZ,
AILMENT_BRN
AILMENT_BRN,
AILMENT_PKRS,
AILMENT_FNT
};
enum
+3
View File
@@ -5,5 +5,8 @@
void sub_811E5B8(u16, u16, u16, u16, u16, u16);
bool8 sub_811E680(void);
void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats);
void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr);
void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr);
#endif // GUARD_POKEMON_SPECIAL_ANIM_H
+1 -1
View File
@@ -63,7 +63,7 @@ void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height);
void BlitBitmapToWindow(u8 windowId, const u8 *pixels, u16 x, u16 y, u16 width, u16 height);
void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight);
void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height);
void CopyToWindowPixelBuffer(u8 windowId, const u8 *src, u16 size, u16 tileOffset);
void CopyToWindowPixelBuffer(u8 windowId, const void *src, u16 size, u16 tileOffset);
void FillWindowPixelBuffer(u8 windowId, u8 fillValue);
void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue);
void CallWindowFunction(u8 windowId, WindowFunc func);
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -364,7 +364,7 @@ void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16
FillBitmapRect4Bit(&pixelRect, x, y, width, height, fillValue);
}
void CopyToWindowPixelBuffer(u8 windowId, const u8 *src, u16 size, u16 tileOffset)
void CopyToWindowPixelBuffer(u8 windowId, const void *src, u16 size, u16 tileOffset)
{
if (size != 0)
CpuCopy16(src, gWindows[windowId].tileData + (0x20 * tileOffset), size);