Additional script object callbacks
This commit is contained in:
@@ -5,111 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8095490
|
|
||||||
@ int sub_8095490(npc_state *npcState, int a2)
|
|
||||||
sub_8095490: @ 8095490
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r5, r1, 0
|
|
||||||
ldrb r0, [r4, 0x5]
|
|
||||||
bl GetFieldObjectGraphicsInfo
|
|
||||||
ldrb r1, [r0, 0xC]
|
|
||||||
lsls r1, 25
|
|
||||||
lsrs r1, 31
|
|
||||||
lsls r1, 4
|
|
||||||
ldrb r2, [r4, 0x1]
|
|
||||||
movs r0, 0x11
|
|
||||||
negs r0, r0
|
|
||||||
ands r0, r2
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r4, 0x1]
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r5, 0x32]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8095490
|
|
||||||
|
|
||||||
thumb_func_start sub_80954BC
|
|
||||||
sub_80954BC: @ 80954BC
|
|
||||||
ldrb r2, [r0, 0x1]
|
|
||||||
movs r3, 0x20
|
|
||||||
orrs r2, r3
|
|
||||||
strb r2, [r0, 0x1]
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r1, 0x32]
|
|
||||||
bx lr
|
|
||||||
thumb_func_end sub_80954BC
|
|
||||||
|
|
||||||
thumb_func_start sub_80954CC
|
|
||||||
sub_80954CC: @ 80954CC
|
|
||||||
ldrb r3, [r0, 0x1]
|
|
||||||
movs r2, 0x21
|
|
||||||
negs r2, r2
|
|
||||||
ands r2, r3
|
|
||||||
strb r2, [r0, 0x1]
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r1, 0x32]
|
|
||||||
bx lr
|
|
||||||
thumb_func_end sub_80954CC
|
|
||||||
|
|
||||||
thumb_func_start do_exclamation_mark_bubble_1
|
|
||||||
do_exclamation_mark_bubble_1: @ 80954DC
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r1, 0
|
|
||||||
ldr r1, =gFieldEffectSpawnParams
|
|
||||||
adds r2, r1, 0x4
|
|
||||||
adds r3, r1, 0
|
|
||||||
adds r3, 0x8
|
|
||||||
bl FieldObjectGetLocalIdAndMap
|
|
||||||
movs r0, 0
|
|
||||||
bl FieldEffectStart
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r4, 0x32]
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end do_exclamation_mark_bubble_1
|
|
||||||
|
|
||||||
thumb_func_start do_exclamation_mark_bubble_2
|
|
||||||
do_exclamation_mark_bubble_2: @ 8095500
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r1, 0
|
|
||||||
ldr r1, =gFieldEffectSpawnParams
|
|
||||||
adds r2, r1, 0x4
|
|
||||||
adds r3, r1, 0
|
|
||||||
adds r3, 0x8
|
|
||||||
bl FieldObjectGetLocalIdAndMap
|
|
||||||
movs r0, 0x21
|
|
||||||
bl FieldEffectStart
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r4, 0x32]
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end do_exclamation_mark_bubble_2
|
|
||||||
|
|
||||||
thumb_func_start do_heart_bubble
|
|
||||||
do_heart_bubble: @ 8095524
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r1, 0
|
|
||||||
ldr r1, =gFieldEffectSpawnParams
|
|
||||||
adds r2, r1, 0x4
|
|
||||||
adds r3, r1, 0
|
|
||||||
adds r3, 0x8
|
|
||||||
bl FieldObjectGetLocalIdAndMap
|
|
||||||
movs r0, 0x2E
|
|
||||||
bl FieldEffectStart
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r4, 0x32]
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end do_heart_bubble
|
|
||||||
|
|
||||||
thumb_func_start sub_8095548
|
thumb_func_start sub_8095548
|
||||||
sub_8095548: @ 8095548
|
sub_8095548: @ 8095548
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
|
|||||||
@@ -4625,3 +4625,48 @@ bool8 sub_8095480(struct MapObject *mapObject, struct Sprite *sprite)
|
|||||||
sprite->data2 = 1;
|
sprite->data2 = 1;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool8 sub_8095490(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
mapObject->mapobj_bit_12 = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate;
|
||||||
|
sprite->data2 = 1;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_80954BC(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
mapObject->mapobj_bit_13 = TRUE;
|
||||||
|
sprite->data2 = 1;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_80954CC(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
mapObject->mapobj_bit_13 = FALSE;
|
||||||
|
sprite->data2 = 1;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectSpawnParams[0], (u8 *)&gFieldEffectSpawnParams[1], (u8 *)&gFieldEffectSpawnParams[2]);
|
||||||
|
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
|
||||||
|
sprite->data2 = 1;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectSpawnParams[0], (u8 *)&gFieldEffectSpawnParams[1], (u8 *)&gFieldEffectSpawnParams[2]);
|
||||||
|
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2);
|
||||||
|
sprite->data2 = 1;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectSpawnParams[0], (u8 *)&gFieldEffectSpawnParams[1], (u8 *)&gFieldEffectSpawnParams[2]);
|
||||||
|
FieldEffectStart(FLDEFF_HEART_ICON);
|
||||||
|
sprite->data2 = 1;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user