diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-06-18 12:15:12 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-06-18 12:15:12 -0400 |
commit | c57d632a6a8fc9bf4338182726c2e82430c1d8fb (patch) | |
tree | 46303c0a8a91bbdced60d2907e565b377f44f583 | |
parent | 69d04fec912f7ff157e075b7c105a5380eca575a (diff) |
Field map object callback pointers
-rwxr-xr-x | data/field_map_obj.s | 470 | ||||
-rwxr-xr-x | include/data/field_map_obj/callback_subroutine_pointers.h | 442 | ||||
-rwxr-xr-x[-rw-r--r--] | include/field_map_obj.h | 249 | ||||
-rwxr-xr-x | src/field_map_obj.c | 10 |
4 files changed, 655 insertions, 516 deletions
diff --git a/data/field_map_obj.s b/data/field_map_obj.s index b52ec9581..20e372201 100755 --- a/data/field_map_obj.s +++ b/data/field_map_obj.s @@ -3,476 +3,6 @@ .section .rodata - .align 2 -gUnknown_08375224:: @ 8375224 - .4byte sub_805C8F0 - .4byte sub_805C904 - .4byte sub_805C930 - .4byte sub_805C96C - .4byte sub_805C98C - .4byte sub_805C9D8 - .4byte sub_805CA08 - -gUnknown_08375240:: @ 8375240 - .byte DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST - - .align 2 -gUnknown_08375244:: @ 8375244 - .4byte sub_805CAAC - .4byte sub_805CADC - .4byte sub_805CAEC - .4byte sub_805CB00 - .4byte sub_805CB5C - .4byte sub_805CBB8 - .4byte sub_805CC14 - .4byte sub_805CC70 - .4byte sub_805CCAC - .4byte sub_805CCE8 - .4byte sub_805CD24 - - .align 2 -gUnknown_08375270:: @ 8375270 - .4byte sub_805CE2C - .4byte sub_805CE40 - .4byte sub_805CE6C - .4byte sub_805CEB0 - .4byte sub_805CEE0 - - .align 2 -gUnknown_08375284:: @ 8375284 - .4byte sub_805CF6C - .4byte sub_805CF80 - .4byte sub_805CFAC - .4byte sub_805CFE8 - .4byte sub_805D008 - .4byte sub_805D054 - .4byte sub_805D084 - -gUnknown_083752A0:: @ 83752A0 - .byte DIR_SOUTH, DIR_NORTH - - .align 2 -gUnknown_083752A4:: @ 83752A4 - .4byte sub_805D0F0 - .4byte sub_805D104 - .4byte sub_805D130 - .4byte sub_805D16C - .4byte sub_805D18C - .4byte sub_805D1D8 - .4byte sub_805D208 - -gUnknown_083752C0:: @ 83752C0 - .byte DIR_WEST, DIR_EAST - - .align 2 -gUnknown_083752C4:: @ 83752C4 - .4byte sub_805D274 - .4byte sub_805D2A0 - .4byte sub_805D2C0 - - .align 2 -gUnknown_083752D0:: @ 83752D0 - .4byte do_berry_tree_growth_sparkle_1 - .4byte sub_805D3EC - .4byte do_berry_tree_growth_sparkle_2 - .4byte sub_805D458 - .4byte sub_805D4A8 - - .align 2 -gUnknown_083752E4:: @ 83752E4 - .4byte sub_805D538 - .4byte sub_805D54C - .4byte sub_805D578 - .4byte sub_805D5BC - .4byte sub_805D5EC - - .align 2 -gUnknown_083752F8:: @ 83752F8 - .4byte sub_805D678 - .4byte sub_805D68C - .4byte sub_805D6B8 - .4byte sub_805D6FC - .4byte sub_805D72C - - .align 2 -gUnknown_0837530C:: @ 837530C - .4byte sub_805D7B8 - .4byte sub_805D7CC - .4byte sub_805D7F8 - .4byte sub_805D83C - .4byte sub_805D86C - -gUnknown_08375320:: @ 8375320 - .byte DIR_NORTH, DIR_WEST - - .align 2 -gUnknown_08375324:: @ 8375324 - .4byte sub_805D8F8 - .4byte sub_805D90C - .4byte sub_805D938 - .4byte sub_805D97C - .4byte sub_805D9AC - -gUnknown_08375338:: @ 8375338 - .byte DIR_NORTH, DIR_EAST - - .align 2 -gUnknown_0837533C:: @ 837533C - .4byte sub_805DA38 - .4byte sub_805DA4C - .4byte sub_805DA78 - .4byte sub_805DABC - .4byte sub_805DAEC - -gUnknown_08375350:: @ 8375350 - .byte DIR_SOUTH, DIR_WEST - - .align 2 -gUnknown_08375354:: @ 8375354 - .4byte sub_805DB78 - .4byte sub_805DB8C - .4byte sub_805DBB8 - .4byte sub_805DBFC - .4byte sub_805DC2C - -gUnknown_08375368:: @ 8375368 - .byte DIR_SOUTH, DIR_EAST - - .align 2 -gUnknown_0837536C:: @ 837536C - .4byte sub_805DCB8 - .4byte sub_805DCCC - .4byte sub_805DCF8 - .4byte sub_805DD3C - .4byte sub_805DD6C - -gUnknown_08375380:: @ 8375380 - .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH - - .align 2 -gUnknown_08375384:: @ 8375384 - .4byte sub_805DDF8 - .4byte sub_805DE0C - .4byte sub_805DE38 - .4byte sub_805DE7C - .4byte sub_805DEAC - -gUnknown_08375398:: @ 8375398 - .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH - - .align 2 -gUnknown_0837539C:: @ 837539C - .4byte sub_805DF38 - .4byte sub_805DF4C - .4byte sub_805DF78 - .4byte sub_805DFBC - .4byte sub_805DFEC - -gUnknown_083753B0:: @ 83753B0 - .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH - - .align 2 -gUnknown_083753B4:: @ 83753B4 - .4byte sub_805E078 - .4byte sub_805E08C - .4byte sub_805E0B8 - .4byte sub_805E0FC - .4byte sub_805E12C - -gUnknown_083753C8:: @ 83753C8 - .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH - - .align 2 -gUnknown_083753CC:: @ 83753CC - .4byte sub_805E1B8 - .4byte sub_805E1E4 - .4byte sub_805E208 - .4byte sub_805E234 - -gUnknown_083753DC:: @ 83753DC - .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH - - .align 2 -gUnknown_083753E4:: @ 83753E4 - .4byte sub_805E2BC - .4byte sub_805E2E8 - .4byte sub_805E30C - .4byte sub_805E338 - -gUnknown_083753F4:: @ 83753F4 - .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH - - .align 2 -gUnknown_083753FC:: @ 83753FC - .4byte sub_805E3C0 - .4byte sub_805E3D4 - .4byte sub_805E40C - .4byte sub_805E4C4 - - .align 2 -gUnknown_0837540C:: @ 837540C - .4byte sub_805E4EC - .4byte sub_805E620 - .4byte sub_805E5B4 - -gUnknown_08375418:: @ 8375418 - .byte DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH - - .align 2 -gUnknown_0837541C:: @ 837541C - .4byte sub_805E4EC - .4byte sub_805E6AC - .4byte sub_805E5B4 - - .align 2 -gUnknown_08375428:: @ 8375428 - .byte DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH - -gUnknown_0837542C:: @ 837542C - .4byte sub_805E4EC - .4byte sub_805E738 - .4byte sub_805E5B4 - -gUnknown_08375438:: @ 8375438 - .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST - - .align 2 -gUnknown_0837543C:: @ 837543C - .4byte sub_805E4EC - .4byte sub_805E7C4 - .4byte sub_805E5B4 - -gUnknown_08375448:: @ 8375448 - .byte DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST - - .align 2 -gUnknown_0837544C:: @ 837544C - .4byte sub_805E4EC - .4byte sub_805E850 - .4byte sub_805E5B4 - -gUnknown_08375458:: @ 8375458 - .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH - - .align 2 -gUnknown_0837545C:: @ 837545C - .4byte sub_805E4EC - .4byte sub_805E8DC - .4byte sub_805E5B4 - -gUnknown_08375468:: @ 8375468 - .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH - - .align 2 -gUnknown_0837546C:: @ 837546C - .4byte sub_805E4EC - .4byte sub_805E968 - .4byte sub_805E5B4 - - .align 2 -gUnknown_08375478:: @ 8375478 - .4byte sub_805E4EC - .4byte sub_805E9F4 - .4byte sub_805E5B4 - -gUnknown_08375484:: @ 8375484 - .byte DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST - - .align 2 -gUnknown_08375488:: @ 8375488 - .4byte sub_805E4EC - .4byte sub_805EA80 - .4byte sub_805E5B4 - -gUnknown_08375494:: @ 8375494 - .byte DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST - - .align 2 -gUnknown_08375498:: @ 8375498 - .4byte sub_805E4EC - .4byte sub_805EB0C - .4byte sub_805E5B4 - -gUnknown_083754A4:: @ 83754A4 - .byte DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST - - .align 2 -gUnknown_083754A8:: @ 83754A8 - .4byte sub_805E4EC - .4byte sub_805EB98 - .4byte sub_805E5B4 - -gUnknown_083754B4:: @ 83754B4 - .byte DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH - - .align 2 -gUnknown_083754B8:: @ 83754B8 - .4byte sub_805E4EC - .4byte sub_805EC24 - .4byte sub_805E5B4 - -gUnknown_083754C4:: @ 83754C4 - .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH - - .align 2 -gUnknown_083754C8:: @ 83754C8 - .4byte sub_805E4EC - .4byte sub_805ECB0 - .4byte sub_805E5B4 - -gUnknown_083754D4:: @ 83754D4 - .byte DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST - - .align 2 -gUnknown_083754D8:: @ 83754D8 - .4byte sub_805E4EC - .4byte sub_805ED3C - .4byte sub_805E5B4 - -gUnknown_083754E4:: @ 83754E4 - .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST - - .align 2 -gUnknown_083754E8:: @ 83754E8 - .4byte sub_805E4EC - .4byte sub_805EDC8 - .4byte sub_805E5B4 - -gUnknown_083754F4:: @ 83754F4 - .byte DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH - - .align 2 -gUnknown_083754F8:: @ 83754F8 - .4byte sub_805E4EC - .4byte sub_805EE54 - .4byte sub_805E5B4 - -gUnknown_08375504:: @ 8375504 - .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH - - .align 2 -gUnknown_08375508:: @ 8375508 - .4byte sub_805E4EC - .4byte sub_805EEE0 - .4byte sub_805E5B4 - -gUnknown_08375514:: @ 8375514 - .byte DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST - - .align 2 -gUnknown_08375518:: @ 8375518 - .4byte sub_805E4EC - .4byte sub_805EF6C - .4byte sub_805E5B4 - -gUnknown_08375524:: @ 8375524 - .byte DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST - - .align 2 -gUnknown_08375528:: @ 8375528 - .4byte sub_805E4EC - .4byte sub_805EFF8 - .4byte sub_805E5B4 - -gUnknown_08375534:: @ 8375534 - .byte DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH - - .align 2 -gUnknown_08375538:: @ 8375538 - .4byte sub_805E4EC - .4byte sub_805F084 - .4byte sub_805E5B4 - -gUnknown_08375544:: @ 8375544 - .byte DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH - - .align 2 -gUnknown_08375548:: @ 8375548 - .4byte sub_805E4EC - .4byte sub_805F110 - .4byte sub_805E5B4 - -gUnknown_08375554:: @ 8375554 - .byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST - - .align 2 -gUnknown_08375558:: @ 8375558 - .4byte sub_805E4EC - .4byte sub_805F19C - .4byte sub_805E5B4 - -gUnknown_08375564:: @ 8375564 - .byte DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST - - .align 2 -gUnknown_08375568:: @ 8375568 - .4byte sub_805E4EC - .4byte sub_805F228 - .4byte sub_805E5B4 - -gUnknown_08375574:: @ 8375574 - .byte DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH - - .align 2 -gUnknown_08375578:: @ 8375578 - .4byte sub_805E4EC - .4byte sub_805F2B4 - .4byte sub_805E5B4 - - .align 2 -gUnknown_08375584:: @ 8375584 - .byte DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH - - .align 2 -gUnknown_08375588:: @ 8375588 - .4byte mss_npc_reset_oampriv3_1_unk2_unk3 - .4byte sub_805F364 - .4byte sub_805F3C4 - - .align 2 -gUnknown_08375594:: @ 8375594 - .4byte sub_805F3EC - .4byte sub_805F3F0 - .4byte sub_805F438 - .4byte sub_805F4F0 - .4byte sub_805F5A8 - .4byte sub_805F660 - .4byte cph_IM_DIFFERENT - .4byte sub_805F760 - .4byte oac_hopping - .4byte sub_805F3EC - .4byte sub_805F3EC - - .align 2 -gUnknown_083755C0:: @ 83755C0 - .4byte mss_npc_reset_oampriv3_1_unk2_unk3 - .4byte mss_08062EA4 - .4byte sub_805F3C4 - - .align 2 -gUnknown_083755CC:: @ 83755CC - .4byte sub_805FAF8 - - .align 2 -gUnknown_083755D0:: @ 83755D0 - .4byte sub_805FB64 - .4byte sub_805FB04 - - .align 2 -gUnknown_083755D8:: @ 83755D8 - .4byte sub_805FBD4 - .4byte sub_805FB04 - - .align 2 -gUnknown_083755E0:: @ 83755E0 - .4byte sub_805FC44 - .4byte sub_805FB04 - - .align 2 -gUnknown_083755E8:: @ 83755E8 - .4byte sub_805FCB4 - .4byte sub_805FCE8 - .4byte sub_805FD08 gUnknown_083755F4:: @ 83755F4 .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01 diff --git a/include/data/field_map_obj/callback_subroutine_pointers.h b/include/data/field_map_obj/callback_subroutine_pointers.h new file mode 100755 index 000000000..d24a47184 --- /dev/null +++ b/include/data/field_map_obj/callback_subroutine_pointers.h @@ -0,0 +1,442 @@ +// +// Created by scott on 6/18/2017. +// + +#ifndef POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H +#define POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H + + +u8 (*const gUnknown_08375224[])(struct MapObject *, struct Sprite *) = { + sub_805C8F0, + sub_805C904, + sub_805C930, + sub_805C96C, + sub_805C98C, + sub_805C9D8, + sub_805CA08 +}; + +const u8 gUnknown_08375240[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; + +u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = { + sub_805CAAC, + sub_805CADC, + sub_805CAEC, + sub_805CB00, + sub_805CB5C, + sub_805CBB8, + sub_805CC14, + sub_805CC70, + sub_805CCAC, + sub_805CCE8, + sub_805CD24 +}; + +u8 (*const gUnknown_08375270[])(struct MapObject *, struct Sprite *) = { + sub_805CE2C, + sub_805CE40, + sub_805CE6C, + sub_805CEB0, + sub_805CEE0 +}; + +u8 (*const gUnknown_08375284[])(struct MapObject *, struct Sprite *) = { + sub_805CF6C, + sub_805CF80, + sub_805CFAC, + sub_805CFE8, + sub_805D008, + sub_805D054, + sub_805D084 +}; + +const u8 gUnknown_083752A0[] = {DIR_SOUTH, DIR_NORTH}; + +u8 (*const gUnknown_083752A4[])(struct MapObject *, struct Sprite *) = { + sub_805D0F0, + sub_805D104, + sub_805D130, + sub_805D16C, + sub_805D18C, + sub_805D1D8, + sub_805D208 +}; + +const u8 gUnknown_083752C0[] = {DIR_WEST, DIR_EAST}; + +u8 (*const gUnknown_083752C4[])(struct MapObject *, struct Sprite *) = { + sub_805D274, + sub_805D2A0, + sub_805D2C0 +}; + +u8 (*const gUnknown_083752D0[])(struct MapObject *, struct Sprite *) = { + do_berry_tree_growth_sparkle_1, + sub_805D3EC, + do_berry_tree_growth_sparkle_2, + sub_805D458, + sub_805D4A8 +}; + +u8 (*const gUnknown_083752E4[])(struct MapObject *, struct Sprite *) = { + sub_805D538, + sub_805D54C, + sub_805D578, + sub_805D5BC, + sub_805D5EC +}; + +u8 (*const gUnknown_083752F8[])(struct MapObject *, struct Sprite *) = { + sub_805D678, + sub_805D68C, + sub_805D6B8, + sub_805D6FC, + sub_805D72C +}; + +u8 (*const gUnknown_0837530C[])(struct MapObject *, struct Sprite *) = { + sub_805D7B8, + sub_805D7CC, + sub_805D7F8, + sub_805D83C, + sub_805D86C +}; + +const u8 gUnknown_08375320[] = {DIR_NORTH, DIR_WEST}; + +u8 (*const gUnknown_08375324[])(struct MapObject *, struct Sprite *) = { + sub_805D8F8, + sub_805D90C, + sub_805D938, + sub_805D97C, + sub_805D9AC +}; + +const u8 gUnknown_08375338[] = {DIR_NORTH, DIR_EAST}; + +u8 (*const gUnknown_0837533C[])(struct MapObject *, struct Sprite *) = { + sub_805DA38, + sub_805DA4C, + sub_805DA78, + sub_805DABC, + sub_805DAEC +}; + +const u8 gUnknown_08375350[] = {DIR_SOUTH, DIR_WEST}; + +u8 (*const gUnknown_08375354[])(struct MapObject *, struct Sprite *) = { + sub_805DB78, + sub_805DB8C, + sub_805DBB8, + sub_805DBFC, + sub_805DC2C +}; + +const u8 gUnknown_08375368[] = {DIR_SOUTH, DIR_EAST}; + +u8 (*const gUnknown_0837536C[])(struct MapObject *, struct Sprite *) = { + sub_805DCB8, + sub_805DCCC, + sub_805DCF8, + sub_805DD3C, + sub_805DD6C +}; + +const u8 gUnknown_08375380[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gUnknown_08375384[])(struct MapObject *, struct Sprite *) = { + sub_805DDF8, + sub_805DE0C, + sub_805DE38, + sub_805DE7C, + sub_805DEAC +}; + +const u8 gUnknown_08375398[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gUnknown_0837539C[])(struct MapObject *, struct Sprite *) = { + sub_805DF38, + sub_805DF4C, + sub_805DF78, + sub_805DFBC, + sub_805DFEC +}; + +const u8 gUnknown_083753B0[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gUnknown_083753B4[])(struct MapObject *, struct Sprite *) = { + sub_805E078, + sub_805E08C, + sub_805E0B8, + sub_805E0FC, + sub_805E12C +}; + +const u8 gUnknown_083753C8[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; + +u8 (*const gUnknown_083753CC[])(struct MapObject *, struct Sprite *) = { + sub_805E1B8, + sub_805E1E4, + sub_805E208, + sub_805E234 +}; + +const u8 gUnknown_083753DC[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gUnknown_083753E4[])(struct MapObject *, struct Sprite *) = { + sub_805E2BC, + sub_805E2E8, + sub_805E30C, + sub_805E338 +}; + +const u8 gUnknown_083753F4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gUnknown_083753FC[])(struct MapObject *, struct Sprite *) = { + sub_805E3C0, + sub_805E3D4, + sub_805E40C, + sub_805E4C4 +}; + +u8 (*const gUnknown_0837540C[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805E620, + sub_805E5B4 +}; + +const u8 gUnknown_08375418[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; + +u8 (*const gUnknown_0837541C[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805E6AC, + sub_805E5B4 +}; + +const u8 gUnknown_08375428[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; +u8 (*const gUnknown_0837542C[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805E738, + sub_805E5B4 +}; + +const u8 gUnknown_08375438[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; + +u8 (*const gUnknown_0837543C[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805E7C4, + sub_805E5B4 +}; + +const u8 gUnknown_08375448[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; + +u8 (*const gUnknown_0837544C[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805E850, + sub_805E5B4 +}; + +const u8 gUnknown_08375458[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; + +u8 (*const gUnknown_0837545C[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805E8DC, + sub_805E5B4 +}; + +const u8 gUnknown_08375468[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gUnknown_0837546C[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805E968, + sub_805E5B4 +}; + +u8 (*const gUnknown_08375478[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805E9F4, + sub_805E5B4 +}; + +const u8 gUnknown_08375484[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; + +u8 (*const gUnknown_08375488[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805EA80, + sub_805E5B4 +}; + +const u8 gUnknown_08375494[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; + +u8 (*const gUnknown_08375498[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805EB0C, + sub_805E5B4 +}; + +const u8 gUnknown_083754A4[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; + +u8 (*const gUnknown_083754A8[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805EB98, + sub_805E5B4 +}; + +const u8 gUnknown_083754B4[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gUnknown_083754B8[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805EC24, + sub_805E5B4 +}; + +const u8 gUnknown_083754C4[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; + +u8 (*const gUnknown_083754C8[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805ECB0, + sub_805E5B4 +}; + +const u8 gUnknown_083754D4[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; + +u8 (*const gUnknown_083754D8[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805ED3C, + sub_805E5B4 +}; + +const u8 gUnknown_083754E4[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; + +u8 (*const gUnknown_083754E8[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805EDC8, + sub_805E5B4 +}; + +const u8 gUnknown_083754F4[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gUnknown_083754F8[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805EE54, + sub_805E5B4 +}; + +const u8 gUnknown_08375504[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gUnknown_08375508[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805EEE0, + sub_805E5B4 +}; + +const u8 gUnknown_08375514[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; + +u8 (*const gUnknown_08375518[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805EF6C, + sub_805E5B4 +}; + +const u8 gUnknown_08375524[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; + +u8 (*const gUnknown_08375528[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805EFF8, + sub_805E5B4 +}; + +const u8 gUnknown_08375534[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; + +u8 (*const gUnknown_08375538[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805F084, + sub_805E5B4 +}; + +const u8 gUnknown_08375544[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gUnknown_08375548[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805F110, + sub_805E5B4 +}; + +const u8 gUnknown_08375554[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; + +u8 (*const gUnknown_08375558[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805F19C, + sub_805E5B4 +}; + +const u8 gUnknown_08375564[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; + +u8 (*const gUnknown_08375568[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805F228, + sub_805E5B4 +}; + +const u8 gUnknown_08375574[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gUnknown_08375578[])(struct MapObject *, struct Sprite *) = { + sub_805E4EC, + sub_805F2B4, + sub_805E5B4 +}; + +const u8 gUnknown_08375584[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; + +u8 (*const gUnknown_08375588[])(struct MapObject *, struct Sprite *) = { + mss_npc_reset_oampriv3_1_unk2_unk3, + sub_805F364, + sub_805F3C4 +}; + +u8 (*const gUnknown_08375594[])(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)) = { + sub_805F3EC, + sub_805F3F0, + sub_805F438, + sub_805F4F0, + sub_805F5A8, + sub_805F660, + cph_IM_DIFFERENT, + sub_805F760, + oac_hopping, + sub_805F3EC, + sub_805F3EC +}; + +u8 (*const gUnknown_083755C0[])(struct MapObject *, struct Sprite *) = { + mss_npc_reset_oampriv3_1_unk2_unk3, + mss_08062EA4, + sub_805F3C4 +}; + +u8 (*const gUnknown_083755CC[])(struct MapObject *, struct Sprite *) = { + sub_805FAF8 +}; + +u8 (*const gUnknown_083755D0[])(struct MapObject *, struct Sprite *) = { + sub_805FB64, + sub_805FB04 +}; + +u8 (*const gUnknown_083755D8[])(struct MapObject *, struct Sprite *) = { + sub_805FBD4, + sub_805FB04 +}; + +u8 (*const gUnknown_083755E0[])(struct MapObject *, struct Sprite *) = { + sub_805FC44, + sub_805FB04 +}; + +u8 (*const gUnknown_083755E8[])(struct MapObject *, struct Sprite *) = { + sub_805FCB4, + sub_805FCE8, + sub_805FD08 +}; + +#endif //POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index e1210f16c..fd74b28e0 100644..100755 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -4,7 +4,6 @@ #include "sprite.h" #define fieldmap_object_cb(setup, callback, table) \ -extern u8 (*const table[])(struct MapObject *, struct Sprite *);\ static u8 callback(struct MapObject *, struct Sprite *);\ void setup(struct Sprite *sprite)\ {\ @@ -43,48 +42,33 @@ void MoveCoords(u8 direction, s16 *x, s16 *y); void meta_step(struct MapObject *pObject, struct Sprite *pSprite, u8 (*d8)(struct MapObject *, struct Sprite *)); void npc_reset(struct MapObject *mapObject, struct Sprite *sprite); -extern const u8 gUnknown_08375240[4]; -extern u8 (*const gUnknown_08375244[])(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CAAC(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CADC(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CAEC(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CB00(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CB5C(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CBB8(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CC14(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CC70(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CCAC(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CCE8(s16 a0, s16 a1, s16 a2, s16 a3); +u8 sub_805CD24(s16 a0, s16 a1, s16 a2, s16 a3); + +u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 sub_805F3F0(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 sub_805F438(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 sub_805F4F0(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 sub_805F5A8(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 sub_805F660(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 cph_IM_DIFFERENT(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 sub_805F760(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 oac_hopping(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); + extern bool8 (*const gUnknown_08375684[4])(u8); extern bool8 (*const gUnknown_08375694[4])(u8); -extern const u8 gUnknown_083752A0[2]; -extern const u8 gUnknown_083752C0[2]; -extern const u8 gUnknown_08375320[2]; -extern const u8 gUnknown_08375338[2]; -extern const u8 gUnknown_08375350[2]; -extern const u8 gUnknown_08375368[2]; -extern const u8 gUnknown_08375380[2]; -extern const u8 gUnknown_08375398[2]; -extern const u8 gUnknown_083753B0[2]; -extern const u8 gUnknown_083753C8[2]; -extern const u8 gUnknown_083753DC[5]; -extern const u8 gUnknown_083753F4[5]; -extern const u8 gUnknown_08375418[4]; -extern const u8 gUnknown_08375428[4]; -extern const u8 gUnknown_08375438[4]; -extern const u8 gUnknown_08375448[4]; -extern const u8 gUnknown_08375458[4]; -extern const u8 gUnknown_08375468[4]; -extern const u8 gUnknown_08375240[4]; -extern const u8 gUnknown_08375484[4]; -extern const u8 gUnknown_08375494[4]; -extern const u8 gUnknown_083754A4[4]; -extern const u8 gUnknown_083754B4[4]; -extern const u8 gUnknown_083754C4[4]; -extern const u8 gUnknown_083754D4[4]; -extern const u8 gUnknown_083754E4[4]; -extern const u8 gUnknown_083754F4[4]; -extern const u8 gUnknown_08375504[4]; -extern const u8 gUnknown_08375514[4]; -extern const u8 gUnknown_08375524[4]; -extern const u8 gUnknown_08375534[4]; -extern const u8 gUnknown_08375544[4]; -extern const u8 gUnknown_08375554[4]; -extern const u8 gUnknown_08375564[4]; -extern const u8 gUnknown_08375574[4]; -extern const u8 gUnknown_08375584[4]; - extern const u8 gUnknown_0837567B[9]; extern const u8 gUnknown_0837574F[8]; @@ -154,5 +138,190 @@ void sub_805FB90(struct Sprite *); void sub_805FC00(struct Sprite *); void sub_805FC70(struct Sprite *); +u8 sub_805C8F0(struct MapObject *, struct Sprite *); +u8 sub_805C904(struct MapObject *, struct Sprite *); +u8 sub_805C930(struct MapObject *, struct Sprite *); +u8 sub_805C96C(struct MapObject *, struct Sprite *); +u8 sub_805C98C(struct MapObject *, struct Sprite *); +u8 sub_805C9D8(struct MapObject *, struct Sprite *); +u8 sub_805CA08(struct MapObject *, struct Sprite *); +u8 sub_805CE2C(struct MapObject *, struct Sprite *); +u8 sub_805CE40(struct MapObject *, struct Sprite *); +u8 sub_805CE6C(struct MapObject *, struct Sprite *); +u8 sub_805CEB0(struct MapObject *, struct Sprite *); +u8 sub_805CEE0(struct MapObject *, struct Sprite *); +u8 sub_805CF6C(struct MapObject *, struct Sprite *); +u8 sub_805CF80(struct MapObject *, struct Sprite *); +u8 sub_805CFAC(struct MapObject *, struct Sprite *); +u8 sub_805CFE8(struct MapObject *, struct Sprite *); +u8 sub_805D008(struct MapObject *, struct Sprite *); +u8 sub_805D054(struct MapObject *, struct Sprite *); +u8 sub_805D084(struct MapObject *, struct Sprite *); +u8 sub_805D0F0(struct MapObject *, struct Sprite *); +u8 sub_805D104(struct MapObject *, struct Sprite *); +u8 sub_805D130(struct MapObject *, struct Sprite *); +u8 sub_805D16C(struct MapObject *, struct Sprite *); +u8 sub_805D18C(struct MapObject *, struct Sprite *); +u8 sub_805D1D8(struct MapObject *, struct Sprite *); +u8 sub_805D208(struct MapObject *, struct Sprite *); +u8 sub_805D274(struct MapObject *, struct Sprite *); +u8 sub_805D2A0(struct MapObject *, struct Sprite *); +u8 sub_805D2C0(struct MapObject *, struct Sprite *); +u8 do_berry_tree_growth_sparkle_1(struct MapObject *, struct Sprite *); +u8 sub_805D3EC(struct MapObject *, struct Sprite *); +u8 do_berry_tree_growth_sparkle_2(struct MapObject *, struct Sprite *); +u8 sub_805D458(struct MapObject *, struct Sprite *); +u8 sub_805D4A8(struct MapObject *, struct Sprite *); +u8 sub_805D538(struct MapObject *, struct Sprite *); +u8 sub_805D54C(struct MapObject *, struct Sprite *); +u8 sub_805D578(struct MapObject *, struct Sprite *); +u8 sub_805D5BC(struct MapObject *, struct Sprite *); +u8 sub_805D5EC(struct MapObject *, struct Sprite *); +u8 sub_805D678(struct MapObject *, struct Sprite *); +u8 sub_805D68C(struct MapObject *, struct Sprite *); +u8 sub_805D6B8(struct MapObject *, struct Sprite *); +u8 sub_805D6FC(struct MapObject *, struct Sprite *); +u8 sub_805D72C(struct MapObject *, struct Sprite *); +u8 sub_805D7B8(struct MapObject *, struct Sprite *); +u8 sub_805D7CC(struct MapObject *, struct Sprite *); +u8 sub_805D7F8(struct MapObject *, struct Sprite *); +u8 sub_805D83C(struct MapObject *, struct Sprite *); +u8 sub_805D86C(struct MapObject *, struct Sprite *); +u8 sub_805D8F8(struct MapObject *, struct Sprite *); +u8 sub_805D90C(struct MapObject *, struct Sprite *); +u8 sub_805D938(struct MapObject *, struct Sprite *); +u8 sub_805D97C(struct MapObject *, struct Sprite *); +u8 sub_805D9AC(struct MapObject *, struct Sprite *); +u8 sub_805DA38(struct MapObject *, struct Sprite *); +u8 sub_805DA4C(struct MapObject *, struct Sprite *); +u8 sub_805DA78(struct MapObject *, struct Sprite *); +u8 sub_805DABC(struct MapObject *, struct Sprite *); +u8 sub_805DAEC(struct MapObject *, struct Sprite *); +u8 sub_805DB78(struct MapObject *, struct Sprite *); +u8 sub_805DB8C(struct MapObject *, struct Sprite *); +u8 sub_805DBB8(struct MapObject *, struct Sprite *); +u8 sub_805DBFC(struct MapObject *, struct Sprite *); +u8 sub_805DC2C(struct MapObject *, struct Sprite *); +u8 sub_805DCB8(struct MapObject *, struct Sprite *); +u8 sub_805DCCC(struct MapObject *, struct Sprite *); +u8 sub_805DCF8(struct MapObject *, struct Sprite *); +u8 sub_805DD3C(struct MapObject *, struct Sprite *); +u8 sub_805DD6C(struct MapObject *, struct Sprite *); +u8 sub_805DDF8(struct MapObject *, struct Sprite *); +u8 sub_805DE0C(struct MapObject *, struct Sprite *); +u8 sub_805DE38(struct MapObject *, struct Sprite *); +u8 sub_805DE7C(struct MapObject *, struct Sprite *); +u8 sub_805DEAC(struct MapObject *, struct Sprite *); +u8 sub_805DF38(struct MapObject *, struct Sprite *); +u8 sub_805DF4C(struct MapObject *, struct Sprite *); +u8 sub_805DF78(struct MapObject *, struct Sprite *); +u8 sub_805DFBC(struct MapObject *, struct Sprite *); +u8 sub_805DFEC(struct MapObject *, struct Sprite *); +u8 sub_805E078(struct MapObject *, struct Sprite *); +u8 sub_805E08C(struct MapObject *, struct Sprite *); +u8 sub_805E0B8(struct MapObject *, struct Sprite *); +u8 sub_805E0FC(struct MapObject *, struct Sprite *); +u8 sub_805E12C(struct MapObject *, struct Sprite *); +u8 sub_805E1B8(struct MapObject *, struct Sprite *); +u8 sub_805E1E4(struct MapObject *, struct Sprite *); +u8 sub_805E208(struct MapObject *, struct Sprite *); +u8 sub_805E234(struct MapObject *, struct Sprite *); +u8 sub_805E2BC(struct MapObject *, struct Sprite *); +u8 sub_805E2E8(struct MapObject *, struct Sprite *); +u8 sub_805E30C(struct MapObject *, struct Sprite *); +u8 sub_805E338(struct MapObject *, struct Sprite *); +u8 sub_805E3C0(struct MapObject *, struct Sprite *); +u8 sub_805E3D4(struct MapObject *, struct Sprite *); +u8 sub_805E40C(struct MapObject *, struct Sprite *); +u8 sub_805E4C4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805E620(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805E6AC(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805E738(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805E7C4(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805E850(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805E8DC(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805E968(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805E9F4(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805EA80(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805EB0C(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805EB98(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805EC24(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805ECB0(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805ED3C(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805EDC8(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805EE54(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805EEE0(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805EF6C(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805EFF8(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805F084(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805F110(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805F19C(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805F228(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 sub_805E4EC(struct MapObject *, struct Sprite *); +u8 sub_805F2B4(struct MapObject *, struct Sprite *); +u8 sub_805E5B4(struct MapObject *, struct Sprite *); +u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *, struct Sprite *); +u8 sub_805F364(struct MapObject *, struct Sprite *); +u8 sub_805F3C4(struct MapObject *, struct Sprite *); +u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *, struct Sprite *); +u8 mss_08062EA4(struct MapObject *, struct Sprite *); +u8 sub_805F3C4(struct MapObject *, struct Sprite *); +u8 sub_805FAF8(struct MapObject *, struct Sprite *); +u8 sub_805FB64(struct MapObject *, struct Sprite *); +u8 sub_805FB04(struct MapObject *, struct Sprite *); +u8 sub_805FBD4(struct MapObject *, struct Sprite *); +u8 sub_805FB04(struct MapObject *, struct Sprite *); +u8 sub_805FC44(struct MapObject *, struct Sprite *); +u8 sub_805FB04(struct MapObject *, struct Sprite *); +u8 sub_805FCB4(struct MapObject *, struct Sprite *); +u8 sub_805FCE8(struct MapObject *, struct Sprite *); +u8 sub_805FD08(struct MapObject *, struct Sprite *); + int state_to_direction(u8, u8, u8); #endif // GUARD_FIELD_MAP_OBJ_H diff --git a/src/field_map_obj.c b/src/field_map_obj.c index ab3bbceb3..211a249db 100755 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -341,6 +341,8 @@ const s16 gUnknown_0837520C[] = {0x20, 0x40, 0x60, 0x80}; const s16 gUnknown_08375204[] = {0x20, 0x40, 0x80, 0xc0}; const s16 gUnknown_0837521C[] = {0x20, 0x30, 0x40, 0x50}; +#include "data/field_map_obj/callback_subroutine_pointers.h" + // text extern void strange_npc_table_clear(void); @@ -2333,7 +2335,6 @@ u8 sub_805D2C0(struct MapObject *mapObject, struct Sprite *sprite) } u8 sub_805D314(struct MapObject *mapObject, struct Sprite *sprite); -extern u8 (*const gUnknown_083752D0[])(struct MapObject *mapObject, struct Sprite *sprite); void FieldObjectCB_BerryTree(struct Sprite *sprite) { @@ -3481,8 +3482,6 @@ u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite return 1; } -extern u8 (*const gUnknown_08375594[])(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); - u8 sub_805F364(struct MapObject *mapObject, struct Sprite *sprite) { if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.running1 == 2) @@ -3587,7 +3586,6 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite) } u8 sub_805FAD8(struct MapObject *mapObject, struct Sprite *sprite); -extern u8 (*const gUnknown_083755CC[])(struct MapObject *, struct Sprite *); void FieldObjectCB_Hidden1(struct Sprite *sprite) { @@ -4701,8 +4699,8 @@ extern u8 (*const gUnknown_083759C0[5])(u8); void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) { - u8 (*functions[5])(u8); - memcpy(functions, gUnknown_083759C0, sizeof(gUnknown_083759C0)); + u8 (*const functions[5])(u8); + memcpy((void *)functions, gUnknown_083759C0, sizeof(gUnknown_083759C0)); sub_8060D20(mapObject, sprite, direction, a3); sub_805FE28(mapObject, sprite, functions[a3](mapObject->mapobj_unk_18)); } |