From ce86d2686a401c6883468c124122148eb164131a Mon Sep 17 00:00:00 2001 From: AnonymousRandomPerson Date: Mon, 30 Jan 2023 00:42:21 -0500 Subject: [PATCH] Added NONMATCHING for learnset access functions --- data/monster/learnset/learnset_ptrs.s | 2 + data/system_sbin.s | 142 +------------------------- include/moves.h | 2 + src/moves.c | 47 ++++++++- src/pokemon_mid.c | 2 - tools/dungeonjson/dungeonjson.cpp | 2 - 6 files changed, 47 insertions(+), 150 deletions(-) diff --git a/data/monster/learnset/learnset_ptrs.s b/data/monster/learnset/learnset_ptrs.s index 46ff6e97..54a8bfaa 100644 --- a/data/monster/learnset/learnset_ptrs.s +++ b/data/monster/learnset/learnset_ptrs.s @@ -1,3 +1,5 @@ +.4byte 0 +.4byte 0 .4byte LevelUpMovesBulbasaur .4byte HMTMMovesBulbasaur .4byte LevelUpMovesIvysaur diff --git a/data/system_sbin.s b/data/system_sbin.s index c03b6c81..53506349 100644 --- a/data/system_sbin.s +++ b/data/system_sbin.s @@ -10947,149 +10947,9 @@ DataRootTable: @ Address 0x36b3b4 #include "move/move_names.s" -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - +@ Address 0x3725f8 #include "monster/learnset/learnset_ptrs.s" -@ .byte 0x06, 0x0c, 0x36, 0x08, 0x26, 0x0c, 0x36, 0x08, 0x4a, 0x0c, 0x36, 0x08, 0x70, 0x0c, 0x36, 0x08, 0x94, 0x0c, 0x36, 0x08, 0xc0, 0x0c, 0x36, 0x08, 0xe9, 0x0c, 0x36, 0x08, 0x06, 0x0d, 0x36, 0x08 -@ .byte 0x2d, 0x0d, 0x36, 0x08, 0x4d, 0x0d, 0x36, 0x08, 0x74, 0x0d, 0x36, 0x08, 0xa2, 0x0d, 0x36, 0x08, 0xd2, 0x0d, 0x36, 0x08, 0xee, 0x0d, 0x36, 0x08, 0x18, 0x0e, 0x36, 0x08, 0x38, 0x0e, 0x36, 0x08 -@ .byte 0x62, 0x0e, 0x36, 0x08, 0x87, 0x0e, 0x36, 0x08, 0xb6, 0x0e, 0x36, 0x08, 0xbc, 0x0e, 0x36, 0x08, 0xbd, 0x0e, 0x36, 0x08, 0xc2, 0x0e, 0x36, 0x08, 0xc3, 0x0e, 0x36, 0x08, 0xe1, 0x0e, 0x36, 0x08 -@ .byte 0x0b, 0x0f, 0x36, 0x08, 0x11, 0x0f, 0x36, 0x08, 0x12, 0x0f, 0x36, 0x08, 0x17, 0x0f, 0x36, 0x08, 0x18, 0x0f, 0x36, 0x08, 0x2f, 0x0f, 0x36, 0x08, 0x55, 0x0f, 0x36, 0x08, 0x6e, 0x0f, 0x36, 0x08 -@ .byte 0x8f, 0x0f, 0x36, 0x08, 0xad, 0x0f, 0x36, 0x08, 0xce, 0x0f, 0x36, 0x08, 0xef, 0x0f, 0x36, 0x08, 0x12, 0x10, 0x36, 0x08, 0x26, 0x10, 0x36, 0x08, 0x51, 0x10, 0x36, 0x08, 0x68, 0x10, 0x36, 0x08 -@ .byte 0x98, 0x10, 0x36, 0x08, 0xb1, 0x10, 0x36, 0x08, 0xd2, 0x10, 0x36, 0x08, 0xee, 0x10, 0x36, 0x08, 0x11, 0x11, 0x36, 0x08, 0x30, 0x11, 0x36, 0x08, 0x55, 0x11, 0x36, 0x08, 0x79, 0x11, 0x36, 0x08 -@ .byte 0xa0, 0x11, 0x36, 0x08, 0xbe, 0x11, 0x36, 0x08, 0xe4, 0x11, 0x36, 0x08, 0xf0, 0x11, 0x36, 0x08, 0x1a, 0x12, 0x36, 0x08, 0x35, 0x12, 0x36, 0x08, 0x5c, 0x12, 0x36, 0x08, 0x7d, 0x12, 0x36, 0x08 -@ .byte 0xa6, 0x12, 0x36, 0x08, 0xc1, 0x12, 0x36, 0x08, 0xf0, 0x12, 0x36, 0x08, 0x0b, 0x13, 0x36, 0x08, 0x3a, 0x13, 0x36, 0x08, 0x4c, 0x13, 0x36, 0x08, 0x8e, 0x13, 0x36, 0x08, 0xab, 0x13, 0x36, 0x08 -@ .byte 0xd8, 0x13, 0x36, 0x08, 0xf5, 0x13, 0x36, 0x08, 0x22, 0x14, 0x36, 0x08, 0x33, 0x14, 0x36, 0x08, 0x73, 0x14, 0x36, 0x08, 0x95, 0x14, 0x36, 0x08, 0xd1, 0x14, 0x36, 0x08, 0xdc, 0x14, 0x36, 0x08 -@ .byte 0x1a, 0x15, 0x36, 0x08, 0x37, 0x15, 0x36, 0x08, 0x59, 0x15, 0x36, 0x08, 0x68, 0x15, 0x36, 0x08, 0x8c, 0x15, 0x36, 0x08, 0xaa, 0x15, 0x36, 0x08, 0xe3, 0x15, 0x36, 0x08, 0xed, 0x15, 0x36, 0x08 -@ .byte 0x28, 0x16, 0x36, 0x08, 0x40, 0x16, 0x36, 0x08, 0x68, 0x16, 0x36, 0x08, 0x87, 0x16, 0x36, 0x08, 0xb1, 0x16, 0x36, 0x08, 0xc8, 0x16, 0x36, 0x08, 0xea, 0x16, 0x36, 0x08, 0x06, 0x17, 0x36, 0x08 -@ .byte 0x28, 0x17, 0x36, 0x08, 0x36, 0x17, 0x36, 0x08, 0x5a, 0x17, 0x36, 0x08, 0x70, 0x17, 0x36, 0x08, 0x98, 0x17, 0x36, 0x08, 0xb3, 0x17, 0x36, 0x08, 0xdd, 0x17, 0x36, 0x08, 0xfa, 0x17, 0x36, 0x08 -@ .byte 0x1e, 0x18, 0x36, 0x08, 0x42, 0x18, 0x36, 0x08, 0x6a, 0x18, 0x36, 0x08, 0x86, 0x18, 0x36, 0x08, 0xa9, 0x18, 0x36, 0x08, 0xce, 0x18, 0x36, 0x08, 0xf3, 0x18, 0x36, 0x08, 0x0e, 0x19, 0x36, 0x08 -@ .byte 0x3d, 0x19, 0x36, 0x08, 0x5a, 0x19, 0x36, 0x08, 0x8d, 0x19, 0x36, 0x08, 0xa5, 0x19, 0x36, 0x08, 0xd5, 0x19, 0x36, 0x08, 0xf1, 0x19, 0x36, 0x08, 0x23, 0x1a, 0x36, 0x08, 0x3e, 0x1a, 0x36, 0x08 -@ .byte 0x6b, 0x1a, 0x36, 0x08, 0x8c, 0x1a, 0x36, 0x08, 0xbb, 0x1a, 0x36, 0x08, 0xd5, 0x1a, 0x36, 0x08, 0xfb, 0x1a, 0x36, 0x08, 0x09, 0x1b, 0x36, 0x08, 0x31, 0x1b, 0x36, 0x08, 0x46, 0x1b, 0x36, 0x08 -@ .byte 0x6e, 0x1b, 0x36, 0x08, 0x88, 0x1b, 0x36, 0x08, 0xb5, 0x1b, 0x36, 0x08, 0xc3, 0x1b, 0x36, 0x08, 0xf5, 0x1b, 0x36, 0x08, 0xf9, 0x1b, 0x36, 0x08, 0x2b, 0x1c, 0x36, 0x08, 0x4c, 0x1c, 0x36, 0x08 -@ .byte 0x7e, 0x1c, 0x36, 0x08, 0x9f, 0x1c, 0x36, 0x08, 0xd3, 0x1c, 0x36, 0x08, 0xf1, 0x1c, 0x36, 0x08, 0x18, 0x1d, 0x36, 0x08, 0x38, 0x1d, 0x36, 0x08, 0x5f, 0x1d, 0x36, 0x08, 0x7f, 0x1d, 0x36, 0x08 -@ .byte 0xa8, 0x1d, 0x36, 0x08, 0xc5, 0x1d, 0x36, 0x08, 0xe9, 0x1d, 0x36, 0x08, 0x0c, 0x1e, 0x36, 0x08, 0x30, 0x1e, 0x36, 0x08, 0x45, 0x1e, 0x36, 0x08, 0x6b, 0x1e, 0x36, 0x08, 0x85, 0x1e, 0x36, 0x08 -@ .byte 0xaf, 0x1e, 0x36, 0x08, 0xce, 0x1e, 0x36, 0x08, 0xfa, 0x1e, 0x36, 0x08, 0x18, 0x1f, 0x36, 0x08, 0x3c, 0x1f, 0x36, 0x08, 0x5f, 0x1f, 0x36, 0x08, 0x83, 0x1f, 0x36, 0x08, 0xa6, 0x1f, 0x36, 0x08 -@ .byte 0xce, 0x1f, 0x36, 0x08, 0xee, 0x1f, 0x36, 0x08, 0x0e, 0x20, 0x36, 0x08, 0x39, 0x20, 0x36, 0x08, 0x5b, 0x20, 0x36, 0x08, 0x79, 0x20, 0x36, 0x08, 0xae, 0x20, 0x36, 0x08, 0xd1, 0x20, 0x36, 0x08 -@ .byte 0x0b, 0x21, 0x36, 0x08, 0x2b, 0x21, 0x36, 0x08, 0x4b, 0x21, 0x36, 0x08, 0x71, 0x21, 0x36, 0x08, 0x93, 0x21, 0x36, 0x08, 0xb0, 0x21, 0x36, 0x08, 0xd2, 0x21, 0x36, 0x08, 0xea, 0x21, 0x36, 0x08 -@ .byte 0x0a, 0x22, 0x36, 0x08, 0x27, 0x22, 0x36, 0x08, 0x4c, 0x22, 0x36, 0x08, 0x63, 0x22, 0x36, 0x08, 0x8b, 0x22, 0x36, 0x08, 0xae, 0x22, 0x36, 0x08, 0xd8, 0x22, 0x36, 0x08, 0xf3, 0x22, 0x36, 0x08 -@ .byte 0x1e, 0x23, 0x36, 0x08, 0x3b, 0x23, 0x36, 0x08, 0x6c, 0x23, 0x36, 0x08, 0x85, 0x23, 0x36, 0x08, 0xa7, 0x23, 0x36, 0x08, 0xb8, 0x23, 0x36, 0x08, 0xdd, 0x23, 0x36, 0x08, 0xf8, 0x23, 0x36, 0x08 -@ .byte 0x21, 0x24, 0x36, 0x08, 0x40, 0x24, 0x36, 0x08, 0x69, 0x24, 0x36, 0x08, 0x88, 0x24, 0x36, 0x08, 0xb8, 0x24, 0x36, 0x08, 0xd7, 0x24, 0x36, 0x08, 0xfc, 0x24, 0x36, 0x08, 0x19, 0x25, 0x36, 0x08 -@ .byte 0x49, 0x25, 0x36, 0x08, 0x6d, 0x25, 0x36, 0x08, 0x9f, 0x25, 0x36, 0x08, 0xba, 0x25, 0x36, 0x08, 0xe3, 0x25, 0x36, 0x08, 0x09, 0x26, 0x36, 0x08, 0x34, 0x26, 0x36, 0x08, 0x53, 0x26, 0x36, 0x08 -@ .byte 0x76, 0x26, 0x36, 0x08, 0x9a, 0x26, 0x36, 0x08, 0xbf, 0x26, 0x36, 0x08, 0xdb, 0x26, 0x36, 0x08, 0x06, 0x27, 0x36, 0x08, 0x15, 0x27, 0x36, 0x08, 0x42, 0x27, 0x36, 0x08, 0x63, 0x27, 0x36, 0x08 -@ .byte 0x90, 0x27, 0x36, 0x08, 0xb9, 0x27, 0x36, 0x08, 0xe8, 0x27, 0x36, 0x08, 0x0b, 0x28, 0x36, 0x08, 0x2e, 0x28, 0x36, 0x08, 0x4f, 0x28, 0x36, 0x08, 0x72, 0x28, 0x36, 0x08, 0x8e, 0x28, 0x36, 0x08 -@ .byte 0xc9, 0x28, 0x36, 0x08, 0xe4, 0x28, 0x36, 0x08, 0x0f, 0x29, 0x36, 0x08, 0x2f, 0x29, 0x36, 0x08, 0x5c, 0x29, 0x36, 0x08, 0x78, 0x29, 0x36, 0x08, 0xa9, 0x29, 0x36, 0x08, 0xcb, 0x29, 0x36, 0x08 -@ .byte 0x03, 0x2a, 0x36, 0x08, 0x25, 0x2a, 0x36, 0x08, 0x68, 0x2a, 0x36, 0x08, 0x89, 0x2a, 0x36, 0x08, 0xb0, 0x2a, 0x36, 0x08, 0xca, 0x2a, 0x36, 0x08, 0x0a, 0x2b, 0x36, 0x08, 0x20, 0x2b, 0x36, 0x08 -@ .byte 0x44, 0x2b, 0x36, 0x08, 0x62, 0x2b, 0x36, 0x08, 0x88, 0x2b, 0x36, 0x08, 0xa7, 0x2b, 0x36, 0x08, 0xcb, 0x2b, 0x36, 0x08, 0xed, 0x2b, 0x36, 0x08, 0x13, 0x2c, 0x36, 0x08, 0x34, 0x2c, 0x36, 0x08 -@ .byte 0x60, 0x2c, 0x36, 0x08, 0x6d, 0x2c, 0x36, 0x08, 0x9d, 0x2c, 0x36, 0x08, 0xca, 0x2c, 0x36, 0x08, 0x03, 0x2d, 0x36, 0x08, 0x20, 0x2d, 0x36, 0x08, 0x43, 0x2d, 0x36, 0x08, 0x63, 0x2d, 0x36, 0x08 -@ .byte 0x96, 0x2d, 0x36, 0x08, 0xae, 0x2d, 0x36, 0x08, 0xd8, 0x2d, 0x36, 0x08, 0xfa, 0x2d, 0x36, 0x08, 0x1f, 0x2e, 0x36, 0x08, 0x39, 0x2e, 0x36, 0x08, 0x60, 0x2e, 0x36, 0x08, 0x79, 0x2e, 0x36, 0x08 -@ .byte 0xad, 0x2e, 0x36, 0x08, 0xb6, 0x2e, 0x36, 0x08, 0xbb, 0x2e, 0x36, 0x08, 0xd4, 0x2e, 0x36, 0x08, 0x0a, 0x2f, 0x36, 0x08, 0x2c, 0x2f, 0x36, 0x08, 0x5f, 0x2f, 0x36, 0x08, 0x63, 0x2f, 0x36, 0x08 -@ .byte 0x68, 0x2f, 0x36, 0x08, 0x82, 0x2f, 0x36, 0x08, 0x9e, 0x2f, 0x36, 0x08, 0xbc, 0x2f, 0x36, 0x08, 0xe9, 0x2f, 0x36, 0x08, 0x08, 0x30, 0x36, 0x08, 0x2f, 0x30, 0x36, 0x08, 0x4e, 0x30, 0x36, 0x08 -@ .byte 0x72, 0x30, 0x36, 0x08, 0x90, 0x30, 0x36, 0x08, 0xba, 0x30, 0x36, 0x08, 0xd4, 0x30, 0x36, 0x08, 0xfe, 0x30, 0x36, 0x08, 0x20, 0x31, 0x36, 0x08, 0x4c, 0x31, 0x36, 0x08, 0x67, 0x31, 0x36, 0x08 -@ .byte 0x93, 0x31, 0x36, 0x08, 0xb9, 0x31, 0x36, 0x08, 0xeb, 0x31, 0x36, 0x08, 0x00, 0x32, 0x36, 0x08, 0x34, 0x32, 0x36, 0x08, 0x5c, 0x32, 0x36, 0x08, 0x92, 0x32, 0x36, 0x08, 0xaa, 0x32, 0x36, 0x08 -@ .byte 0xd7, 0x32, 0x36, 0x08, 0xf1, 0x32, 0x36, 0x08, 0x1e, 0x33, 0x36, 0x08, 0x36, 0x33, 0x36, 0x08, 0x60, 0x33, 0x36, 0x08, 0x7d, 0x33, 0x36, 0x08, 0xae, 0x33, 0x36, 0x08, 0xd1, 0x33, 0x36, 0x08 -@ .byte 0x02, 0x34, 0x36, 0x08, 0x28, 0x34, 0x36, 0x08, 0x6e, 0x34, 0x36, 0x08, 0x8c, 0x34, 0x36, 0x08, 0xd6, 0x34, 0x36, 0x08, 0xe7, 0x34, 0x36, 0x08, 0x4a, 0x35, 0x36, 0x08, 0x68, 0x35, 0x36, 0x08 -@ .byte 0x8f, 0x35, 0x36, 0x08, 0xb3, 0x35, 0x36, 0x08, 0xdc, 0x35, 0x36, 0x08, 0x00, 0x36, 0x36, 0x08, 0x2c, 0x36, 0x36, 0x08, 0x42, 0x36, 0x36, 0x08, 0x62, 0x36, 0x36, 0x08, 0x7a, 0x36, 0x36, 0x08 -@ .byte 0xa0, 0x36, 0x36, 0x08, 0xbb, 0x36, 0x36, 0x08, 0xe3, 0x36, 0x36, 0x08, 0xfa, 0x36, 0x36, 0x08, 0x25, 0x37, 0x36, 0x08, 0x3e, 0x37, 0x36, 0x08, 0x6d, 0x37, 0x36, 0x08, 0x89, 0x37, 0x36, 0x08 -@ .byte 0xbd, 0x37, 0x36, 0x08, 0xd8, 0x37, 0x36, 0x08, 0x06, 0x38, 0x36, 0x08, 0x27, 0x38, 0x36, 0x08, 0x5c, 0x38, 0x36, 0x08, 0x77, 0x38, 0x36, 0x08, 0x9e, 0x38, 0x36, 0x08, 0xbf, 0x38, 0x36, 0x08 -@ .byte 0xe8, 0x38, 0x36, 0x08, 0x06, 0x39, 0x36, 0x08, 0x30, 0x39, 0x36, 0x08, 0x51, 0x39, 0x36, 0x08, 0x7d, 0x39, 0x36, 0x08, 0x98, 0x39, 0x36, 0x08, 0xba, 0x39, 0x36, 0x08, 0xd6, 0x39, 0x36, 0x08 -@ .byte 0xfb, 0x39, 0x36, 0x08, 0x1a, 0x3a, 0x36, 0x08, 0x46, 0x3a, 0x36, 0x08, 0x62, 0x3a, 0x36, 0x08, 0x8d, 0x3a, 0x36, 0x08, 0xac, 0x3a, 0x36, 0x08, 0xd9, 0x3a, 0x36, 0x08, 0xea, 0x3a, 0x36, 0x08 -@ .byte 0x0b, 0x3b, 0x36, 0x08, 0x1b, 0x3b, 0x36, 0x08, 0x49, 0x3b, 0x36, 0x08, 0x5a, 0x3b, 0x36, 0x08, 0x87, 0x3b, 0x36, 0x08, 0xa7, 0x3b, 0x36, 0x08, 0xd4, 0x3b, 0x36, 0x08, 0xfd, 0x3b, 0x36, 0x08 -@ .byte 0x34, 0x3c, 0x36, 0x08, 0x4b, 0x3c, 0x36, 0x08, 0x79, 0x3c, 0x36, 0x08, 0x90, 0x3c, 0x36, 0x08, 0xc2, 0x3c, 0x36, 0x08, 0xd7, 0x3c, 0x36, 0x08, 0xf8, 0x3c, 0x36, 0x08, 0x10, 0x3d, 0x36, 0x08 -@ .byte 0x35, 0x3d, 0x36, 0x08, 0x52, 0x3d, 0x36, 0x08, 0x79, 0x3d, 0x36, 0x08, 0x8a, 0x3d, 0x36, 0x08, 0xb0, 0x3d, 0x36, 0x08, 0xc9, 0x3d, 0x36, 0x08, 0xf3, 0x3d, 0x36, 0x08, 0x14, 0x3e, 0x36, 0x08 -@ .byte 0x40, 0x3e, 0x36, 0x08, 0x58, 0x3e, 0x36, 0x08, 0x7f, 0x3e, 0x36, 0x08, 0x8f, 0x3e, 0x36, 0x08, 0xbe, 0x3e, 0x36, 0x08, 0xda, 0x3e, 0x36, 0x08, 0xfb, 0x3e, 0x36, 0x08, 0x1e, 0x3f, 0x36, 0x08 -@ .byte 0x3f, 0x3f, 0x36, 0x08, 0x5e, 0x3f, 0x36, 0x08, 0x81, 0x3f, 0x36, 0x08, 0x9b, 0x3f, 0x36, 0x08, 0xcd, 0x3f, 0x36, 0x08, 0xe3, 0x3f, 0x36, 0x08, 0x09, 0x40, 0x36, 0x08, 0x25, 0x40, 0x36, 0x08 -@ .byte 0x4d, 0x40, 0x36, 0x08, 0x6b, 0x40, 0x36, 0x08, 0x90, 0x40, 0x36, 0x08, 0xaa, 0x40, 0x36, 0x08, 0xd8, 0x40, 0x36, 0x08, 0xf2, 0x40, 0x36, 0x08, 0x26, 0x41, 0x36, 0x08, 0x43, 0x41, 0x36, 0x08 -@ .byte 0x6d, 0x41, 0x36, 0x08, 0x8a, 0x41, 0x36, 0x08, 0xb1, 0x41, 0x36, 0x08, 0xc6, 0x41, 0x36, 0x08, 0xed, 0x41, 0x36, 0x08, 0x0a, 0x42, 0x36, 0x08, 0x44, 0x42, 0x36, 0x08, 0x5b, 0x42, 0x36, 0x08 -@ .byte 0x8a, 0x42, 0x36, 0x08, 0x8e, 0x42, 0x36, 0x08, 0x8f, 0x42, 0x36, 0x08, 0x93, 0x42, 0x36, 0x08, 0x94, 0x42, 0x36, 0x08, 0x98, 0x42, 0x36, 0x08, 0x99, 0x42, 0x36, 0x08, 0x9d, 0x42, 0x36, 0x08 -@ .byte 0x9e, 0x42, 0x36, 0x08, 0xa2, 0x42, 0x36, 0x08, 0xa3, 0x42, 0x36, 0x08, 0xa7, 0x42, 0x36, 0x08, 0xa8, 0x42, 0x36, 0x08, 0xac, 0x42, 0x36, 0x08, 0xad, 0x42, 0x36, 0x08, 0xb1, 0x42, 0x36, 0x08 -@ .byte 0xb2, 0x42, 0x36, 0x08, 0xb6, 0x42, 0x36, 0x08, 0xb7, 0x42, 0x36, 0x08, 0xbb, 0x42, 0x36, 0x08, 0xbc, 0x42, 0x36, 0x08, 0xc0, 0x42, 0x36, 0x08, 0xc1, 0x42, 0x36, 0x08, 0xc5, 0x42, 0x36, 0x08 -@ .byte 0xc6, 0x42, 0x36, 0x08, 0xca, 0x42, 0x36, 0x08, 0xcb, 0x42, 0x36, 0x08, 0xcf, 0x42, 0x36, 0x08, 0xd0, 0x42, 0x36, 0x08, 0xd4, 0x42, 0x36, 0x08, 0xd5, 0x42, 0x36, 0x08, 0xd9, 0x42, 0x36, 0x08 -@ .byte 0xda, 0x42, 0x36, 0x08, 0xde, 0x42, 0x36, 0x08, 0xdf, 0x42, 0x36, 0x08, 0xe3, 0x42, 0x36, 0x08, 0xe4, 0x42, 0x36, 0x08, 0xe8, 0x42, 0x36, 0x08, 0xe9, 0x42, 0x36, 0x08, 0xed, 0x42, 0x36, 0x08 -@ .byte 0xee, 0x42, 0x36, 0x08, 0xf2, 0x42, 0x36, 0x08, 0xf3, 0x42, 0x36, 0x08, 0xf7, 0x42, 0x36, 0x08, 0xf8, 0x42, 0x36, 0x08, 0xfc, 0x42, 0x36, 0x08, 0xfd, 0x42, 0x36, 0x08, 0x01, 0x43, 0x36, 0x08 -@ .byte 0x02, 0x43, 0x36, 0x08, 0x06, 0x43, 0x36, 0x08, 0x07, 0x43, 0x36, 0x08, 0x0b, 0x43, 0x36, 0x08, 0x0c, 0x43, 0x36, 0x08, 0x18, 0x43, 0x36, 0x08, 0x19, 0x43, 0x36, 0x08, 0x33, 0x43, 0x36, 0x08 -@ .byte 0x62, 0x43, 0x36, 0x08, 0x7b, 0x43, 0x36, 0x08, 0xa0, 0x43, 0x36, 0x08, 0xbe, 0x43, 0x36, 0x08, 0xe5, 0x43, 0x36, 0x08, 0xff, 0x43, 0x36, 0x08, 0x33, 0x44, 0x36, 0x08, 0x49, 0x44, 0x36, 0x08 -@ .byte 0x73, 0x44, 0x36, 0x08, 0x91, 0x44, 0x36, 0x08, 0xb9, 0x44, 0x36, 0x08, 0xd1, 0x44, 0x36, 0x08, 0x09, 0x45, 0x36, 0x08, 0x21, 0x45, 0x36, 0x08, 0x5d, 0x45, 0x36, 0x08, 0x7e, 0x45, 0x36, 0x08 -@ .byte 0xa7, 0x45, 0x36, 0x08, 0xc7, 0x45, 0x36, 0x08, 0xed, 0x45, 0x36, 0x08, 0xff, 0x45, 0x36, 0x08, 0x24, 0x46, 0x36, 0x08, 0x3f, 0x46, 0x36, 0x08, 0x66, 0x46, 0x36, 0x08, 0x87, 0x46, 0x36, 0x08 -@ .byte 0xba, 0x46, 0x36, 0x08, 0xd4, 0x46, 0x36, 0x08, 0xff, 0x46, 0x36, 0x08, 0x1e, 0x47, 0x36, 0x08, 0x4c, 0x47, 0x36, 0x08, 0x63, 0x47, 0x36, 0x08, 0x84, 0x47, 0x36, 0x08, 0xa0, 0x47, 0x36, 0x08 -@ .byte 0xc8, 0x47, 0x36, 0x08, 0xde, 0x47, 0x36, 0x08, 0x07, 0x48, 0x36, 0x08, 0x24, 0x48, 0x36, 0x08, 0x4f, 0x48, 0x36, 0x08, 0x6a, 0x48, 0x36, 0x08, 0x9d, 0x48, 0x36, 0x08, 0xb3, 0x48, 0x36, 0x08 -@ .byte 0xe0, 0x48, 0x36, 0x08, 0xf7, 0x48, 0x36, 0x08, 0x28, 0x49, 0x36, 0x08, 0x2c, 0x49, 0x36, 0x08, 0x51, 0x49, 0x36, 0x08, 0x6a, 0x49, 0x36, 0x08, 0x91, 0x49, 0x36, 0x08, 0xad, 0x49, 0x36, 0x08 -@ .byte 0xd6, 0x49, 0x36, 0x08, 0xf1, 0x49, 0x36, 0x08, 0x1d, 0x4a, 0x36, 0x08, 0x3b, 0x4a, 0x36, 0x08, 0x6a, 0x4a, 0x36, 0x08, 0x88, 0x4a, 0x36, 0x08, 0xae, 0x4a, 0x36, 0x08, 0xc6, 0x4a, 0x36, 0x08 -@ .byte 0xe7, 0x4a, 0x36, 0x08, 0xfe, 0x4a, 0x36, 0x08, 0x21, 0x4b, 0x36, 0x08, 0x40, 0x4b, 0x36, 0x08, 0x6d, 0x4b, 0x36, 0x08, 0x89, 0x4b, 0x36, 0x08, 0xbb, 0x4b, 0x36, 0x08, 0xda, 0x4b, 0x36, 0x08 -@ .byte 0xdf, 0x4b, 0x36, 0x08, 0xe3, 0x4b, 0x36, 0x08, 0x04, 0x4c, 0x36, 0x08, 0x20, 0x4c, 0x36, 0x08, 0x44, 0x4c, 0x36, 0x08, 0x60, 0x4c, 0x36, 0x08, 0x8c, 0x4c, 0x36, 0x08, 0xa2, 0x4c, 0x36, 0x08 -@ .byte 0xc8, 0x4c, 0x36, 0x08, 0xe1, 0x4c, 0x36, 0x08, 0x03, 0x4d, 0x36, 0x08, 0x1c, 0x4d, 0x36, 0x08, 0x50, 0x4d, 0x36, 0x08, 0x72, 0x4d, 0x36, 0x08, 0xb4, 0x4d, 0x36, 0x08, 0xd0, 0x4d, 0x36, 0x08 -@ .byte 0xfd, 0x4d, 0x36, 0x08, 0x19, 0x4e, 0x36, 0x08, 0x46, 0x4e, 0x36, 0x08, 0x61, 0x4e, 0x36, 0x08, 0x93, 0x4e, 0x36, 0x08, 0xab, 0x4e, 0x36, 0x08, 0xcf, 0x4e, 0x36, 0x08, 0xec, 0x4e, 0x36, 0x08 -@ .byte 0x12, 0x4f, 0x36, 0x08, 0x2f, 0x4f, 0x36, 0x08, 0x6e, 0x4f, 0x36, 0x08, 0x89, 0x4f, 0x36, 0x08, 0xd1, 0x4f, 0x36, 0x08, 0xed, 0x4f, 0x36, 0x08, 0x2b, 0x50, 0x36, 0x08, 0x44, 0x50, 0x36, 0x08 -@ .byte 0x77, 0x50, 0x36, 0x08, 0x95, 0x50, 0x36, 0x08, 0xc0, 0x50, 0x36, 0x08, 0xe8, 0x50, 0x36, 0x08, 0x13, 0x51, 0x36, 0x08, 0x3b, 0x51, 0x36, 0x08, 0x6d, 0x51, 0x36, 0x08, 0x8b, 0x51, 0x36, 0x08 -@ .byte 0xae, 0x51, 0x36, 0x08, 0xd5, 0x51, 0x36, 0x08, 0xfc, 0x51, 0x36, 0x08, 0x29, 0x52, 0x36, 0x08, 0x55, 0x52, 0x36, 0x08, 0x77, 0x52, 0x36, 0x08, 0xa0, 0x52, 0x36, 0x08, 0xcb, 0x52, 0x36, 0x08 -@ .byte 0xf5, 0x52, 0x36, 0x08, 0x20, 0x53, 0x36, 0x08, 0x50, 0x53, 0x36, 0x08, 0x70, 0x53, 0x36, 0x08, 0x96, 0x53, 0x36, 0x08, 0xbe, 0x53, 0x36, 0x08, 0xe7, 0x53, 0x36, 0x08, 0x09, 0x54, 0x36, 0x08 -@ .byte 0x33, 0x54, 0x36, 0x08, 0x5a, 0x54, 0x36, 0x08, 0x8c, 0x54, 0x36, 0x08, 0x95, 0x54, 0x36, 0x08, 0x9a, 0x54, 0x36, 0x08, 0x9f, 0x54, 0x36, 0x08, 0xa4, 0x54, 0x36, 0x08, 0xbe, 0x54, 0x36, 0x08 -@ .byte 0xe5, 0x54, 0x36, 0x08, 0xea, 0x54, 0x36, 0x08, 0xef, 0x54, 0x36, 0x08, 0x0b, 0x55, 0x36, 0x08, 0x34, 0x55, 0x36, 0x08, 0x47, 0x55, 0x36, 0x08, 0x72, 0x55, 0x36, 0x08, 0x8e, 0x55, 0x36, 0x08 -@ .byte 0xc0, 0x55, 0x36, 0x08, 0xcb, 0x55, 0x36, 0x08, 0x00, 0x56, 0x36, 0x08, 0x12, 0x56, 0x36, 0x08, 0x34, 0x56, 0x36, 0x08, 0x4e, 0x56, 0x36, 0x08, 0x79, 0x56, 0x36, 0x08, 0x84, 0x56, 0x36, 0x08 -@ .byte 0xb1, 0x56, 0x36, 0x08, 0xc9, 0x56, 0x36, 0x08, 0xea, 0x56, 0x36, 0x08, 0x07, 0x57, 0x36, 0x08, 0x2a, 0x57, 0x36, 0x08, 0x41, 0x57, 0x36, 0x08, 0x69, 0x57, 0x36, 0x08, 0x91, 0x57, 0x36, 0x08 -@ .byte 0xbd, 0x57, 0x36, 0x08, 0xd9, 0x57, 0x36, 0x08, 0x0b, 0x58, 0x36, 0x08, 0x32, 0x58, 0x36, 0x08, 0x64, 0x58, 0x36, 0x08, 0x88, 0x58, 0x36, 0x08, 0xbc, 0x58, 0x36, 0x08, 0xd1, 0x58, 0x36, 0x08 -@ .byte 0xf8, 0x58, 0x36, 0x08, 0x16, 0x59, 0x36, 0x08, 0x41, 0x59, 0x36, 0x08, 0x5d, 0x59, 0x36, 0x08, 0x82, 0x59, 0x36, 0x08, 0xa9, 0x59, 0x36, 0x08, 0xd8, 0x59, 0x36, 0x08, 0xf0, 0x59, 0x36, 0x08 -@ .byte 0x23, 0x5a, 0x36, 0x08, 0x3e, 0x5a, 0x36, 0x08, 0x76, 0x5a, 0x36, 0x08, 0x95, 0x5a, 0x36, 0x08, 0xcf, 0x5a, 0x36, 0x08, 0xea, 0x5a, 0x36, 0x08, 0x0c, 0x5b, 0x36, 0x08, 0x32, 0x5b, 0x36, 0x08 -@ .byte 0x5a, 0x5b, 0x36, 0x08, 0x72, 0x5b, 0x36, 0x08, 0x98, 0x5b, 0x36, 0x08, 0xb7, 0x5b, 0x36, 0x08, 0xe0, 0x5b, 0x36, 0x08, 0x06, 0x5c, 0x36, 0x08, 0x37, 0x5c, 0x36, 0x08, 0x60, 0x5c, 0x36, 0x08 -@ .byte 0x93, 0x5c, 0x36, 0x08, 0xb6, 0x5c, 0x36, 0x08, 0xda, 0x5c, 0x36, 0x08, 0x03, 0x5d, 0x36, 0x08, 0x29, 0x5d, 0x36, 0x08, 0x39, 0x5d, 0x36, 0x08, 0x5c, 0x5d, 0x36, 0x08, 0x78, 0x5d, 0x36, 0x08 -@ .byte 0x9e, 0x5d, 0x36, 0x08, 0xbe, 0x5d, 0x36, 0x08, 0xed, 0x5d, 0x36, 0x08, 0xf8, 0x5d, 0x36, 0x08, 0x2b, 0x5e, 0x36, 0x08, 0x4f, 0x5e, 0x36, 0x08, 0x81, 0x5e, 0x36, 0x08, 0xa1, 0x5e, 0x36, 0x08 -@ .byte 0xcf, 0x5e, 0x36, 0x08, 0xf1, 0x5e, 0x36, 0x08, 0x1b, 0x5f, 0x36, 0x08, 0x45, 0x5f, 0x36, 0x08, 0x6f, 0x5f, 0x36, 0x08, 0x99, 0x5f, 0x36, 0x08, 0xd9, 0x5f, 0x36, 0x08, 0xf8, 0x5f, 0x36, 0x08 -@ .byte 0x22, 0x60, 0x36, 0x08, 0x52, 0x60, 0x36, 0x08, 0x7e, 0x60, 0x36, 0x08, 0x9d, 0x60, 0x36, 0x08, 0xc1, 0x60, 0x36, 0x08, 0xe9, 0x60, 0x36, 0x08, 0x0f, 0x61, 0x36, 0x08, 0x2d, 0x61, 0x36, 0x08 -@ .byte 0x4e, 0x61, 0x36, 0x08, 0x6c, 0x61, 0x36, 0x08, 0x8d, 0x61, 0x36, 0x08, 0xa9, 0x61, 0x36, 0x08, 0xd7, 0x61, 0x36, 0x08, 0xf2, 0x61, 0x36, 0x08, 0x20, 0x62, 0x36, 0x08, 0x48, 0x62, 0x36, 0x08 -@ .byte 0x6b, 0x62, 0x36, 0x08, 0x8b, 0x62, 0x36, 0x08, 0xb6, 0x62, 0x36, 0x08, 0xe1, 0x62, 0x36, 0x08, 0x0e, 0x63, 0x36, 0x08, 0x25, 0x63, 0x36, 0x08, 0x4e, 0x63, 0x36, 0x08, 0x6e, 0x63, 0x36, 0x08 -@ .byte 0x9f, 0x63, 0x36, 0x08, 0xc0, 0x63, 0x36, 0x08, 0xea, 0x63, 0x36, 0x08, 0x13, 0x64, 0x36, 0x08, 0x3f, 0x64, 0x36, 0x08, 0x5b, 0x64, 0x36, 0x08, 0x7e, 0x64, 0x36, 0x08, 0xa3, 0x64, 0x36, 0x08 -@ .byte 0xca, 0x64, 0x36, 0x08, 0xec, 0x64, 0x36, 0x08, 0x0d, 0x65, 0x36, 0x08, 0x28, 0x65, 0x36, 0x08, 0x57, 0x65, 0x36, 0x08, 0x78, 0x65, 0x36, 0x08, 0xaa, 0x65, 0x36, 0x08, 0xc6, 0x65, 0x36, 0x08 -@ .byte 0xf7, 0x65, 0x36, 0x08, 0x0d, 0x66, 0x36, 0x08, 0x31, 0x66, 0x36, 0x08, 0x53, 0x66, 0x36, 0x08, 0x7b, 0x66, 0x36, 0x08, 0x9d, 0x66, 0x36, 0x08, 0xcb, 0x66, 0x36, 0x08, 0xf6, 0x66, 0x36, 0x08 -@ .byte 0x19, 0x67, 0x36, 0x08, 0x4d, 0x67, 0x36, 0x08, 0x73, 0x67, 0x36, 0x08, 0x92, 0x67, 0x36, 0x08, 0xb9, 0x67, 0x36, 0x08, 0xe2, 0x67, 0x36, 0x08, 0x15, 0x68, 0x36, 0x08, 0x35, 0x68, 0x36, 0x08 -@ .byte 0x6e, 0x68, 0x36, 0x08, 0x87, 0x68, 0x36, 0x08, 0xaf, 0x68, 0x36, 0x08, 0xc8, 0x68, 0x36, 0x08, 0xf3, 0x68, 0x36, 0x08, 0x0d, 0x69, 0x36, 0x08, 0x3d, 0x69, 0x36, 0x08, 0x5d, 0x69, 0x36, 0x08 -@ .byte 0x85, 0x69, 0x36, 0x08, 0xad, 0x69, 0x36, 0x08, 0xd9, 0x69, 0x36, 0x08, 0xfa, 0x69, 0x36, 0x08, 0x28, 0x6a, 0x36, 0x08, 0x51, 0x6a, 0x36, 0x08, 0x83, 0x6a, 0x36, 0x08, 0x9e, 0x6a, 0x36, 0x08 -@ .byte 0xc8, 0x6a, 0x36, 0x08, 0xed, 0x6a, 0x36, 0x08, 0x1b, 0x6b, 0x36, 0x08, 0x36, 0x6b, 0x36, 0x08, 0x57, 0x6b, 0x36, 0x08, 0x7a, 0x6b, 0x36, 0x08, 0xa1, 0x6b, 0x36, 0x08, 0xbd, 0x6b, 0x36, 0x08 -@ .byte 0xe0, 0x6b, 0x36, 0x08, 0x04, 0x6c, 0x36, 0x08, 0x2c, 0x6c, 0x36, 0x08, 0x35, 0x6c, 0x36, 0x08, 0x59, 0x6c, 0x36, 0x08, 0x79, 0x6c, 0x36, 0x08, 0xa2, 0x6c, 0x36, 0x08, 0xb7, 0x6c, 0x36, 0x08 -@ .byte 0xe8, 0x6c, 0x36, 0x08, 0xfd, 0x6c, 0x36, 0x08, 0x2e, 0x6d, 0x36, 0x08, 0x43, 0x6d, 0x36, 0x08, 0x74, 0x6d, 0x36, 0x08, 0x89, 0x6d, 0x36, 0x08, 0xba, 0x6d, 0x36, 0x08, 0xda, 0x6d, 0x36, 0x08 -@ .byte 0x16, 0x6e, 0x36, 0x08, 0x30, 0x6e, 0x36, 0x08, 0x5d, 0x6e, 0x36, 0x08, 0x84, 0x6e, 0x36, 0x08, 0xb3, 0x6e, 0x36, 0x08, 0xcf, 0x6e, 0x36, 0x08, 0xfb, 0x6e, 0x36, 0x08, 0x1d, 0x6f, 0x36, 0x08 -@ .byte 0x50, 0x6f, 0x36, 0x08, 0x6f, 0x6f, 0x36, 0x08, 0x9e, 0x6f, 0x36, 0x08, 0xbd, 0x6f, 0x36, 0x08, 0xeb, 0x6f, 0x36, 0x08, 0x09, 0x70, 0x36, 0x08, 0x47, 0x70, 0x36, 0x08, 0x5a, 0x70, 0x36, 0x08 -@ .byte 0x5b, 0x70, 0x36, 0x08, 0x77, 0x70, 0x36, 0x08, 0x9c, 0x70, 0x36, 0x08, 0xbf, 0x70, 0x36, 0x08, 0xea, 0x70, 0x36, 0x08, 0x0c, 0x71, 0x36, 0x08, 0x35, 0x71, 0x36, 0x08, 0x59, 0x71, 0x36, 0x08 -@ .byte 0x83, 0x71, 0x36, 0x08, 0xa7, 0x71, 0x36, 0x08, 0xd4, 0x71, 0x36, 0x08, 0xdf, 0x71, 0x36, 0x08, 0x03, 0x72, 0x36, 0x08, 0x17, 0x72, 0x36, 0x08, 0x40, 0x72, 0x36, 0x08, 0x56, 0x72, 0x36, 0x08 -@ .byte 0x80, 0x72, 0x36, 0x08, 0x9e, 0x72, 0x36, 0x08, 0xcd, 0x72, 0x36, 0x08, 0xe6, 0x72, 0x36, 0x08, 0x0c, 0x73, 0x36, 0x08, 0x29, 0x73, 0x36, 0x08, 0x50, 0x73, 0x36, 0x08, 0x78, 0x73, 0x36, 0x08 -@ .byte 0x9f, 0x73, 0x36, 0x08 -@ .byte 0xca, 0x73, 0x36, 0x08 -@ .byte 0xf9, 0x73, 0x36, 0x08 -@ .byte 0xfd, 0x73, 0x36, 0x08 -@ .byte 0xfe, 0x73, 0x36, 0x08 -@ .byte 0x18, 0x74, 0x36, 0x08 -@ .byte 0x45, 0x74, 0x36, 0x08 -@ .byte 0x67, 0x74, 0x36, 0x08 -@ .byte 0x94, 0x74, 0x36, 0x08 -@ .byte 0xae, 0x74, 0x36, 0x08 -@ .byte 0xd6, 0x74, 0x36, 0x08 -@ .byte 0xf0, 0x74, 0x36, 0x08 -@ .byte 0x18, 0x75, 0x36, 0x08 -@ .byte 0x36, 0x75, 0x36, 0x08 -@ .byte 0x60, 0x75, 0x36, 0x08 -@ .byte 0x7e, 0x75, 0x36, 0x08 -@ .byte 0xc4, 0x75, 0x36, 0x08 -@ .byte 0xe2, 0x75, 0x36, 0x08 -@ .byte 0x28, 0x76, 0x36, 0x08 -@ .byte 0x47, 0x76, 0x36, 0x08 -@ .byte 0x7b, 0x76, 0x36, 0x08 -@ .byte 0x99, 0x76, 0x36, 0x08 -@ .byte 0xd0, 0x76, 0x36, 0x08 -@ .byte 0xee, 0x76, 0x36, 0x08 -@ .byte 0x2f, 0x77, 0x36, 0x08 -@ .byte 0x52, 0x77, 0x36, 0x08 -@ .byte 0x84, 0x77, 0x36, 0x08 -@ .byte 0xa4, 0x77, 0x36, 0x08 -@ .byte 0xf0, 0x77, 0x36, 0x08 -@ .byte 0xf4, 0x77, 0x36, 0x08 -@ .byte 0xf5, 0x77, 0x36, 0x08 -@ .byte 0xf9, 0x77, 0x36, 0x08 -@ .byte 0xfa, 0x77, 0x36, 0x08 -@ .byte 0x1b, 0x78, 0x36, 0x08 -@ .byte 0x5a, 0x78, 0x36, 0x08 -@ .byte 0x81, 0x78, 0x36, 0x08 -@ .byte 0xc0, 0x78, 0x36, 0x08 -@ .byte 0xdf, 0x78, 0x36, 0x08 - .byte 0x1e, 0x79, 0x36, 0x08 .byte 0x1f, 0x79, 0x36, 0x08 .byte 0x24, 0x79, 0x36, 0x08 diff --git a/include/moves.h b/include/moves.h index 5d39aa6f..6daf3022 100644 --- a/include/moves.h +++ b/include/moves.h @@ -11,6 +11,8 @@ void sub_8092AA8(struct Move *move, u16 moveID); void InitZeroedPPPokemonMove(struct Move *move, u16 moveID); s16 GetMoveTargetAndRange(struct Move *move, u32 isAI); u8 GetMoveType(struct Move *move); +u8* GetLevelUpMoves(s16 species); +u8* GetHMTMMoves(s32 species); u8 GetMoveAIWeight(struct Move *move); u32 GetMoveNumberOfChainedHits(struct Move *move); s32 GetMoveBasePower(struct Move *move); diff --git a/src/moves.c b/src/moves.c index 4cb9e391..0c17753e 100644 --- a/src/moves.c +++ b/src/moves.c @@ -1,14 +1,20 @@ #include "global.h" #include "moves.h" +#include "constants/monster.h" #include "file_system.h" #include "moves.h" #include "code_800D090.h" +struct MoveLearnset { + u8 *levelUpMoves; + u8 *HMTMMoves; +}; + struct MoveDataFile { struct MoveDataEntry *moveData; - u8 *unk4; // unsure of this struct's structure yet + struct MoveLearnset *moveLearnsets; }; struct unkStruct_80928C0 @@ -23,7 +29,7 @@ extern struct unkStruct_80928C0 gUnknown_81098C4; extern struct FileArchive gSystemFileArchive; extern struct OpenedFile *gWazaParametersFile; extern struct MoveDataEntry *gMovesData; -extern u8 *gMoveLearnsets; +extern struct MoveLearnset *gMoveLearnsets[420]; extern u8 gUnknown_81098D0[]; extern u8 gUnknown_81098DC[]; @@ -35,6 +41,7 @@ extern u8 gUnknown_81098E0[]; extern u8 gUnknown_81098EC[]; extern u8 *gRangeNames[]; extern u8 gUnknown_810992C[]; +extern u8 gUnknown_810992B; extern void sub_8093F10(struct Move *, struct Move *); extern void sub_80928C0(u8 *, struct Move *, struct unkStruct_80928C0 *); @@ -44,7 +51,7 @@ void LoadWazaParameters(void) gWazaParametersFile = OpenFileAndGetFileDataPtr(gUnknown_81098D0, &gSystemFileArchive); gMovesData = ((struct MoveDataFile *)(gWazaParametersFile->data))->moveData; - gMoveLearnsets = ((struct MoveDataFile *)(gWazaParametersFile->data))->unk4; + *gMoveLearnsets = ((struct MoveDataFile *)(gWazaParametersFile->data))->moveLearnsets; } u8 sub_809287C(struct Move *move) @@ -167,8 +174,22 @@ u8 GetMoveType(struct Move *move) return gMovesData[move->id].type; } +#ifdef NONMATCHING +u8 *GetLevelUpMoves(s16 species) +{ + if (species == MONSTER_DECOY || species == MONSTER_NONE) + { + return &gUnknown_810992B; + } + if (species == MONSTER_MUNCHLAX) + { + return &gUnknown_810992B; + } + return (*gMoveLearnsets)[species].levelUpMoves; +} +#else NAKED -void GetLevelUpMoves(s16 species) +u8* GetLevelUpMoves(s16 species) { asm_unified("\tpush {lr}\n" "\tlsls r0, 16\n" @@ -200,9 +221,24 @@ void GetLevelUpMoves(s16 species) "\t.align 2, 0\n" "_08092B50: .4byte gUnknown_810992B"); } +#endif +#ifdef NONMATCHING +u8 *GetHMTMMoves(s32 species) +{ + if (species == MONSTER_DECOY || species == MONSTER_NONE) + { + return &gUnknown_810992B; + } + if (species == MONSTER_MUNCHLAX) + { + return &gUnknown_810992B; + } + return (*gMoveLearnsets)[species].HMTMMoves; +} +#else NAKED -void GetHMTMMoves(s16 species) +u8* GetHMTMMoves(s32 species) { asm_unified("\tpush {lr}\n" "\tlsls r0, 16\n" @@ -234,6 +270,7 @@ void GetHMTMMoves(s16 species) "\t.align 2, 0\n" "_08092B8C: .4byte gUnknown_810992B"); } +#endif u8 GetMoveAIWeight(struct Move *move) { diff --git a/src/pokemon_mid.c b/src/pokemon_mid.c index 68d83bcc..1826c337 100644 --- a/src/pokemon_mid.c +++ b/src/pokemon_mid.c @@ -36,9 +36,7 @@ extern void CopyStringtoBuffer(char *r0, char *r1); extern void sub_8093F50(void*, void*); extern void sub_80943A0(void*, s32); extern void xxx_pokemon2_to_pokemonstruct_808DF44(struct PokemonStruct*, struct PokemonStruct2*); -extern u8* GetLevelUpMoves(s16); extern u8* DecompressMoveID(u8* a1, u16* a2); -extern u8* GetHMTMMoves(s32); extern u32 sub_8097DF0(char *, struct subStruct_203B240 **); struct unkStruct_8107654 { diff --git a/tools/dungeonjson/dungeonjson.cpp b/tools/dungeonjson/dungeonjson.cpp index 92a7dd55..42b05208 100644 --- a/tools/dungeonjson/dungeonjson.cpp +++ b/tools/dungeonjson/dungeonjson.cpp @@ -738,8 +738,6 @@ string generate_learnset_data_text(Json data) { ostringstream text; text << "@ This is auto-generated by learnset_data.json.\n"; - text << ".global gLearnsetData\n"; - text << "gLearnsetData:"; for (Json data_entry : data.array_items()) { string level_up_ptr = "LevelUpMoves" + get_json_string_value(data_entry["pokemon"]); text << "\n.global " << level_up_ptr << "\n" << level_up_ptr << ":";