From 127815238e4502ec855d4eab05e5f958d72953bf Mon Sep 17 00:00:00 2001 From: florianessl Date: Wed, 19 Feb 2025 17:44:52 +0100 Subject: [PATCH] exe_constants: Added some battle related constants for rm2k3 v1.08 --- src/exe_constants.h | 58 +++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/src/exe_constants.h b/src/exe_constants.h index f8f2778d58..4d3ebf7e3e 100644 --- a/src/exe_constants.h +++ b/src/exe_constants.h @@ -53,11 +53,13 @@ namespace ExeConstants { using code_address_map = std::array(Player::GameConstantType::LAST)>; #define ADD_EAX_ESI 0x03, 0xC6 -#define MOV_EBX 0xB9 +#define ADD_EDX_ESI 0x03, 0xD6 +#define MOV_EAX 0xB8 #define MOV_ECX 0xB9 #define MOV_EDX 0xBA #define SUB_EDX_EBX 0x2B, 0xD3 #define CMP_DWORD_ESP 0x81, 0x7C, 0x24 +#define CMP_ESI 0x81, 0xFE #define DEPENDS_ON_PREVIOUS { 0xFF, 0xFF, 0x00, 0xFF } @@ -94,9 +96,9 @@ namespace ExeConstants::RT_2K { map ( 999999, 0x085636, CMP_DWORD_ESP, 0x10), map ( 160, 0x06CC39, MOV_EDX), - map ( 148, 0x06CC40, SUB_EDX_EBX, MOV_EBX), + map ( 148, 0x06CC40, SUB_EDX_EBX, MOV_ECX), map ( 160, 0x06CC5B, MOV_EDX), - map ( 88, 0x06CC62, SUB_EDX_EBX, MOV_EBX), + map ( 88, 0x06CC62, SUB_EDX_EBX, MOV_ECX), not_def(), not_def(), @@ -126,9 +128,9 @@ namespace ExeConstants::RT_2K { map ( 999999, 0x0842D2, CMP_DWORD_ESP, 0x10), map ( 160, 0x06E091, MOV_EDX), - map ( 148, 0x06E098, SUB_EDX_EBX, MOV_EBX), + map ( 148, 0x06E098, SUB_EDX_EBX, MOV_ECX), map ( 160, 0x06E0B3, MOV_EDX), - map ( 88, 0x06CC62, SUB_EDX_EBX, MOV_EBX), + map ( 88, 0x06CC62, SUB_EDX_EBX, MOV_ECX), not_def(), not_def(), @@ -158,9 +160,9 @@ namespace ExeConstants::RT_2K { map ( 999999, 0x0859A2, CMP_DWORD_ESP, 0x10), map ( 160, 0x06D1B9, MOV_EDX), - map ( 148, 0x06D1C0, SUB_EDX_EBX, MOV_EBX), + map ( 148, 0x06D1C0, SUB_EDX_EBX, MOV_ECX), map ( 160, 0x06D1DB, MOV_EDX), - map ( 88, 0x06D1E2, SUB_EDX_EBX, MOV_EBX), + map ( 88, 0x06D1E2, SUB_EDX_EBX, MOV_ECX), not_def(), not_def(), @@ -195,9 +197,9 @@ namespace ExeConstants::RT_2K3 { map ( 9999999, 0x0A5CDD, CMP_DWORD_ESP, 0x10), map ( 160, 0x08A849, MOV_EDX), - map ( 148, 0x08A850, SUB_EDX_EBX, MOV_EBX), + map ( 148, 0x08A850, SUB_EDX_EBX, MOV_ECX), map ( 160, 0x08A86B, MOV_EDX), - map ( 88, 0x08A872, SUB_EDX_EBX, MOV_EBX), + map ( 88, 0x08A872, SUB_EDX_EBX, MOV_ECX), not_def(), not_def(), @@ -227,9 +229,9 @@ namespace ExeConstants::RT_2K3 { map ( 9999999, 0x0AC121, CMP_DWORD_ESP, 0x10), map ( 160, 0x08F76D, MOV_EDX), - map ( 148, 0x08F774, SUB_EDX_EBX, MOV_EBX), + map ( 148, 0x08F774, SUB_EDX_EBX, MOV_ECX), map ( 160, 0x08F78F, MOV_EDX), - map ( 88, 0x08F796, SUB_EDX_EBX, MOV_EBX), + map ( 88, 0x08F796, SUB_EDX_EBX, MOV_ECX), not_def(), not_def(), @@ -259,29 +261,29 @@ namespace ExeConstants::RT_2K3 { map ( 9999999, 0x0AC395, CMP_DWORD_ESP, 0x10), map ( 160, 0x08F821, MOV_EDX), - map ( 148, 0x08F828, SUB_EDX_EBX, MOV_EBX), + map ( 148, 0x08F828, SUB_EDX_EBX, MOV_ECX), map ( 160, 0x08F843, MOV_EDX), - map ( 88, 0x08F84A, SUB_EDX_EBX, MOV_EBX), + map ( 88, 0x08F84A, SUB_EDX_EBX, MOV_ECX), - not_def(), - not_def(), + map ( 9999, 0x0B612B, MOV_ECX), /* 0x0B818B */ + map ( 999, 0x0B619D, MOV_ECX), /* 0x0B81AD */ not_def(), not_def(), - not_def(), - not_def(), - not_def(), - not_def(), - - not_def(), - not_def(), - not_def(), - not_def(), - - not_def(), - not_def(), + map ( 999, 0x0B6236, MOV_ECX), /* 0xB81CC */ + map ( 999, 0x0B649C, MOV_ECX), /* 0xB81EB */ + map ( 999, 0x0B654C, MOV_ECX), /* 0xB820A */ + map ( 999, 0x0B65F2, MOV_ECX), /* 0xB8229 */ + + map ( 9999, 0x0BEB3C, MOV_ECX), + map ( 9999, 0x0BEC08, MOV_ECX), + map ( 9999, 0x0BECD1, MOV_ECX), + map ( 9999, 0x0BED6D, MOV_ECX), + + map ( 9999, 0x9C03C, MOV_EAX), + map ( 9999999, 0x0B5CC3, CMP_ESI), not_def(), - not_def(), + map ( 999999, 0x0A5754, ADD_EDX_ESI, MOV_EAX), not_def(), not_def() }};