diff options
Diffstat (limited to 'asm')
| -rw-r--r-- | asm/battle_interface.s | 362 | 
1 files changed, 14 insertions, 348 deletions
| diff --git a/asm/battle_interface.s b/asm/battle_interface.s index f277fbf17..aeffb047f 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -5,340 +5,6 @@  	.text -	thumb_func_start SwapHpBarsWithHpText -SwapHpBarsWithHpText: @ 8048A4C -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x4 -	movs r0, 0 -	mov r9, r0 -	ldr r0, _08048B78 @ =gBattlersCount -	ldrb r0, [r0] -	cmp r9, r0 -	blt _08048A66 -	b _08048CF2 -_08048A66: -	ldr r1, _08048B7C @ =gSprites -	mov r10, r1 -	ldr r2, _08048B80 @ =gBattlerPartyIndexes -	mov r8, r2 -_08048A6E: -	ldr r0, _08048B84 @ =gHealthboxSpriteIds -	mov r1, r9 -	adds r6, r1, r0 -	ldrb r1, [r6] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	mov r1, r10 -	adds r1, 0x1C -	adds r0, r1 -	ldr r1, [r0] -	ldr r0, _08048B88 @ =SpriteCallbackDummy -	cmp r1, r0 -	beq _08048A8C -	b _08048CE0 -_08048A8C: -	mov r2, r9 -	lsls r0, r2, 24 -	lsrs r7, r0, 24 -	adds r0, r7, 0 -	bl GetBattlerSide -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _08048AA2 -	b _08048CE0 -_08048AA2: -	bl IsDoubleBattle -	lsls r0, 24 -	cmp r0, 0 -	bne _08048ABA -	adds r0, r7, 0 -	bl GetBattlerSide -	lsls r0, 24 -	cmp r0, 0 -	bne _08048ABA -	b _08048CE0 -_08048ABA: -	ldr r5, _08048B8C @ =gBattleSpritesDataPtr -	ldr r0, [r5] -	ldr r3, [r0] -	mov r0, r9 -	lsls r4, r0, 2 -	adds r3, r4, r3 -	ldr r0, [r3] -	lsls r0, 27 -	lsrs r0, 31 -	movs r2, 0x1 -	eors r2, r0 -	lsls r2, 4 -	mov r12, r2 -	ldrb r0, [r3] -	movs r2, 0x11 -	negs r2, r2 -	adds r1, r2, 0 -	ands r0, r1 -	mov r1, r12 -	orrs r0, r1 -	strb r0, [r3] -	ldr r0, [r5] -	ldr r0, [r0] -	adds r4, r0 -	ldr r0, [r4] -	lsls r0, 27 -	lsrs r4, r0, 31 -	adds r0, r7, 0 -	bl GetBattlerSide -	lsls r0, 24 -	cmp r0, 0 -	bne _08048BE8 -	bl IsDoubleBattle -	lsls r0, 24 -	cmp r0, 0 -	bne _08048B08 -	b _08048CE0 -_08048B08: -	ldr r0, _08048B90 @ =gBattleTypeFlags -	ldr r2, [r0] -	movs r0, 0x80 -	ands r2, r0 -	cmp r2, 0 -	beq _08048B16 -	b _08048CE0 -_08048B16: -	cmp r4, 0x1 -	bne _08048BA0 -	ldrb r1, [r6] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	add r0, r10 -	ldrh r0, [r0, 0x38] -	lsls r0, 24 -	lsrs r1, r0, 24 -	str r2, [sp] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	add r0, r10 -	ldrh r1, [r0, 0x4] -	lsls r1, 22 -	lsrs r1, 17 -	ldr r2, _08048B94 @ =0x06010000 -	adds r1, r2 -	mov r0, sp -	ldr r2, _08048B98 @ =0x05000040 -	bl CpuSet -	ldrb r4, [r6] -	mov r1, r8 -	ldrh r0, [r1] -	movs r2, 0x64 -	muls r0, r2 -	ldr r1, _08048B9C @ =gPlayerParty -	adds r0, r1 -	movs r1, 0x39 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 16 -	asrs r1, 16 -	adds r0, r4, 0 -	movs r2, 0 -	bl UpdateHpTextInHealthboxInDoubles -	ldrb r4, [r6] -	mov r2, r8 -	ldrh r0, [r2] -	movs r1, 0x64 -	muls r0, r1 -	ldr r2, _08048B9C @ =gPlayerParty -	b _08048C6E -	.align 2, 0 -_08048B78: .4byte gBattlersCount -_08048B7C: .4byte gSprites -_08048B80: .4byte gBattlerPartyIndexes -_08048B84: .4byte gHealthboxSpriteIds -_08048B88: .4byte SpriteCallbackDummy -_08048B8C: .4byte gBattleSpritesDataPtr -_08048B90: .4byte gBattleTypeFlags -_08048B94: .4byte 0x06010000 -_08048B98: .4byte 0x05000040 -_08048B9C: .4byte gPlayerParty -_08048BA0: -	ldrb r0, [r6] -	bl UpdateStatusIconInHealthbox -	ldrb r0, [r6] -	mov r2, r8 -	ldrh r1, [r2] -	movs r2, 0x64 -	muls r1, r2 -	ldr r2, _08048BDC @ =gPlayerParty -	adds r1, r2 -	movs r2, 0x5 -	bl UpdateHealthboxAttribute -	movs r0, 0x75 -	bl GetHealthboxElementGfxPtr -	ldrb r2, [r6] -	lsls r1, r2, 4 -	adds r1, r2 -	lsls r1, 2 -	add r1, r10 -	ldrh r1, [r1, 0x4] -	lsls r1, 22 -	lsrs r1, 17 -	ldr r2, _08048BE0 @ =0x06010680 -	adds r1, r2 -	ldr r2, _08048BE4 @ =0x04000008 -	bl CpuSet -	b _08048CCA -	.align 2, 0 -_08048BDC: .4byte gPlayerParty -_08048BE0: .4byte 0x06010680 -_08048BE4: .4byte 0x04000008 -_08048BE8: -	cmp r4, 0x1 -	bne _08048C94 -	ldr r0, _08048C0C @ =gBattleTypeFlags -	ldr r2, [r0] -	movs r0, 0x80 -	ands r2, r0 -	cmp r2, 0 -	beq _08048C14 -	ldrb r0, [r6] -	mov r2, r8 -	ldrh r1, [r2] -	movs r2, 0x64 -	muls r1, r2 -	ldr r2, _08048C10 @ =gEnemyParty -	adds r1, r2 -	bl PrintSafariMonInfo -	b _08048CCA -	.align 2, 0 -_08048C0C: .4byte gBattleTypeFlags -_08048C10: .4byte gEnemyParty -_08048C14: -	ldrb r1, [r6] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	add r0, r10 -	ldrh r0, [r0, 0x38] -	lsls r0, 24 -	lsrs r1, r0, 24 -	str r2, [sp] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	add r0, r10 -	ldrh r1, [r0, 0x4] -	lsls r1, 22 -	lsrs r1, 17 -	ldr r0, _08048C88 @ =0x06010000 -	adds r1, r0 -	mov r0, sp -	ldr r2, _08048C8C @ =0x05000040 -	bl CpuSet -	ldrb r4, [r6] -	mov r1, r8 -	ldrh r0, [r1] -	movs r2, 0x64 -	muls r0, r2 -	ldr r1, _08048C90 @ =gEnemyParty -	adds r0, r1 -	movs r1, 0x39 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 16 -	asrs r1, 16 -	adds r0, r4, 0 -	movs r2, 0 -	bl UpdateHpTextInHealthboxInDoubles -	ldrb r4, [r6] -	mov r2, r8 -	ldrh r0, [r2] -	movs r1, 0x64 -	muls r0, r1 -	ldr r2, _08048C90 @ =gEnemyParty -_08048C6E: -	adds r0, r2 -	movs r1, 0x3A -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 16 -	asrs r1, 16 -	adds r0, r4, 0 -	movs r2, 0x1 -	bl UpdateHpTextInHealthboxInDoubles -	b _08048CCA -	.align 2, 0 -_08048C88: .4byte 0x06010000 -_08048C8C: .4byte 0x05000040 -_08048C90: .4byte gEnemyParty -_08048C94: -	ldrb r0, [r6] -	bl UpdateStatusIconInHealthbox -	ldrb r0, [r6] -	mov r2, r8 -	ldrh r1, [r2] -	movs r5, 0x64 -	muls r1, r5 -	ldr r4, _08048D04 @ =gEnemyParty -	adds r1, r4 -	movs r2, 0x5 -	bl UpdateHealthboxAttribute -	ldr r0, _08048D08 @ =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x80 -	ands r0, r1 -	cmp r0, 0 -	beq _08048CCA -	ldrb r0, [r6] -	mov r2, r8 -	ldrh r1, [r2] -	muls r1, r5 -	adds r1, r4 -	movs r2, 0x4 -	bl UpdateHealthboxAttribute -_08048CCA: -	ldr r0, _08048D0C @ =gHealthboxSpriteIds -	add r0, r9 -	ldrb r1, [r0] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	add r0, r10 -	ldrh r1, [r0, 0x3C] -	movs r2, 0x1 -	eors r1, r2 -	strh r1, [r0, 0x3C] -_08048CE0: -	movs r0, 0x2 -	add r8, r0 -	movs r1, 0x1 -	add r9, r1 -	ldr r0, _08048D10 @ =gBattlersCount -	ldrb r0, [r0] -	cmp r9, r0 -	bge _08048CF2 -	b _08048A6E -_08048CF2: -	add sp, 0x4 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.align 2, 0 -_08048D04: .4byte gEnemyParty -_08048D08: .4byte gBattleTypeFlags -_08048D0C: .4byte gHealthboxSpriteIds -_08048D10: .4byte gBattlersCount -	thumb_func_end SwapHpBarsWithHpText -  	thumb_func_start CreatePartyStatusSummarySprites  CreatePartyStatusSummarySprites: @ 8048D14  	push {r4-r7,lr} @@ -412,7 +78,7 @@ _08048D94:  	movs r6, 0  	str r6, [sp, 0x14]  	lsls r4, r7, 3 -	ldr r0, _08048E44 @ =gUnknown_826046C +	ldr r0, _08048E44 @ =sStatusSummaryBarSpriteSheets  	mov r10, r0  	lsls r3, r7, 1  	mov r9, r3 @@ -442,19 +108,19 @@ _08048DC4:  	mov r6, r10  	adds r0, r4, r6  	bl LoadCompressedSpriteSheetUsingHeap -	ldr r0, _08048E4C @ =gUnknown_826049C +	ldr r0, _08048E4C @ =sStatusSummaryBallsSpriteSheets  	adds r0, r4, r0  	bl LoadSpriteSheet -	ldr r0, _08048E50 @ =gUnknown_826047C +	ldr r0, _08048E50 @ =sStatusSummaryBarSpritePals  	adds r0, r4, r0  	bl LoadSpritePalette -	ldr r0, _08048E54 @ =gUnknown_826048C +	ldr r0, _08048E54 @ =sStatusSummaryBallsSpritePals  	adds r0, r4, r0  	bl LoadSpritePalette  	mov r1, r9  	adds r0, r1, r7  	lsls r0, 3 -	ldr r1, _08048E58 @ =gUnknown_82604BC +	ldr r1, _08048E58 @ =sStatusSummaryBarSpriteTemplates  	adds r0, r1  	ldr r2, [sp, 0x20]  	asrs r1, r2, 16 @@ -471,7 +137,7 @@ _08048DC4:  	lsls r0, 2  	ldr r1, _08048E5C @ =gSprites  	adds r4, r0, r1 -	ldr r1, _08048E60 @ =gUnknown_82603FC +	ldr r1, _08048E60 @ =sStatusSummaryBar_SubspriteTable  	adds r0, r4, 0  	bl SetSubspriteTables  	mov r0, r8 @@ -492,14 +158,14 @@ _08048DC4:  	b _08048E6A  	.align 2, 0  _08048E40: .4byte 0x0000ff9c -_08048E44: .4byte gUnknown_826046C +_08048E44: .4byte sStatusSummaryBarSpriteSheets  _08048E48: .4byte 0x0000ffff -_08048E4C: .4byte gUnknown_826049C -_08048E50: .4byte gUnknown_826047C -_08048E54: .4byte gUnknown_826048C -_08048E58: .4byte gUnknown_82604BC +_08048E4C: .4byte sStatusSummaryBallsSpriteSheets +_08048E50: .4byte sStatusSummaryBarSpritePals +_08048E54: .4byte sStatusSummaryBallsSpritePals +_08048E58: .4byte sStatusSummaryBarSpriteTemplates  _08048E5C: .4byte gSprites -_08048E60: .4byte gUnknown_82603FC +_08048E60: .4byte sStatusSummaryBar_SubspriteTable  _08048E64:  	ldrh r0, [r4, 0x20]  	adds r0, 0x60 @@ -517,7 +183,7 @@ _08048E6A:  	mov r9, r3  	mov r8, r6  _08048E80: -	ldr r0, _08048F18 @ =gUnknown_82604EC +	ldr r0, _08048F18 @ =sStatusSummaryBallsSpriteTemplates  	ldr r5, [sp, 0x24]  	ldr r1, _08048F1C @ =0xfffc0000  	adds r2, r5, r1 @@ -593,7 +259,7 @@ _08048ECE:  	b _08048F66  	.align 2, 0  _08048F14: .4byte gSprites -_08048F18: .4byte gUnknown_82604EC +_08048F18: .4byte sStatusSummaryBallsSpriteTemplates  _08048F1C: .4byte 0xfffc0000  _08048F20: .4byte gSprites + 0x1C  _08048F24: .4byte SpriteCB_StatusSummaryBallsOnSwitchout | 
