mirror of
https://github.com/jugeeya/UltimateTrainingModpack.git
synced 2024-11-27 20:34:03 +00:00
Don't use once-per-cpu-frame to fix input recording/save state issues
This commit is contained in:
parent
7dd05f1afd
commit
5b0b5490cc
2 changed files with 29 additions and 20 deletions
|
@ -233,18 +233,18 @@ static NEEDLE_REUSED_UI: &[u8] = &[
|
|||
impl_offset!(REUSED_UI);
|
||||
|
||||
|
||||
// // OFFSET_OPCF = 0x6b7ffc (old: 0x6b7fdc)
|
||||
// static NEEDLE_OPCF: &[u8] = &[
|
||||
// 0x68, 0xb6, 0x40, 0xf9,
|
||||
// 0x09, 0x81, 0x49, 0x39,
|
||||
// 0x69, 0xe1, 0xff, 0x35,
|
||||
// 0x08, 0x55, 0x41, 0x39,
|
||||
// 0x28, 0xe1, 0x1f, 0x37,
|
||||
// 0xe0, 0x03, 0x13, 0xaa,
|
||||
// 0x5b, 0x88, 0xf0, 0x97,
|
||||
// 0xe9, 0x23, 0x43, 0x6d,
|
||||
// ];
|
||||
// impl_offset!(OPCF);
|
||||
// OFFSET_OPCF = 0x6b7ffc
|
||||
static NEEDLE_OPCF: &[u8] = &[
|
||||
0x68, 0xb6, 0x40, 0xf9,
|
||||
0x09, 0x81, 0x49, 0x39,
|
||||
0x69, 0xe1, 0xff, 0x35,
|
||||
0x08, 0x55, 0x41, 0x39,
|
||||
0x28, 0xe1, 0x1f, 0x37,
|
||||
0xe0, 0x03, 0x13, 0xaa,
|
||||
0x5b, 0x88, 0xf0, 0x97,
|
||||
0xe9, 0x23, 0x43, 0x6d,
|
||||
];
|
||||
impl_offset!(OPCF);
|
||||
|
||||
// OFFSET_FIM = 0x17504a0
|
||||
static NEEDLE_FIM: &[u8] = &[
|
||||
|
|
|
@ -123,6 +123,9 @@ fn once_per_frame_per_fighter(module_accessor: &mut BattleObjectModuleAccessor,
|
|||
}
|
||||
|
||||
unsafe {
|
||||
input_record::handle_recording();
|
||||
frame_counter::tick_ingame();
|
||||
tech::hide_tech();
|
||||
if menu::menu_condition() {
|
||||
menu::spawn_menu();
|
||||
}
|
||||
|
@ -442,7 +445,7 @@ unsafe fn stale_handle(ctx: &mut InlineCtx) {
|
|||
#[skyline::hook(offset = *OFFSET_STALE_MENU, inline)]
|
||||
unsafe fn stale_menu_handle(ctx: &mut InlineCtx) {
|
||||
// Set the text pointer to where "mel_training_on" is located
|
||||
let on_text_ptr = (getRegionAddress(Region::Text) as u64) + 0x42b215e;
|
||||
let on_text_ptr = (getRegionAddress(Region::Text) as u64) + 0x42b315e;
|
||||
let x1 = ctx.registers[1].x.as_mut();
|
||||
*x1 = on_text_ptr;
|
||||
}
|
||||
|
@ -781,12 +784,12 @@ pub unsafe fn handle_article_get_int(
|
|||
|
||||
// Instruction run on the completion of the CPU Control function
|
||||
// One instruction after the CPU Control function completes
|
||||
#[skyline::hook(offset = 0x6b7fdc, inline)]
|
||||
unsafe fn handle_once_per_cpu_frame(_ctx: &mut InlineCtx) {
|
||||
input_record::handle_recording();
|
||||
frame_counter::tick_ingame();
|
||||
tech::hide_tech();
|
||||
}
|
||||
// #[skyline::hook(offset = *OFFSET_OPCF, inline)]
|
||||
// unsafe fn handle_once_per_cpu_frame(_ctx: &mut InlineCtx) {
|
||||
// input_record::handle_recording();
|
||||
// frame_counter::tick_ingame();
|
||||
// tech::hide_tech();
|
||||
// }
|
||||
|
||||
#[skyline::hook(offset = *OFFSET_FIM)]
|
||||
unsafe fn handle_final_input_mapping(
|
||||
|
@ -863,6 +866,12 @@ pub fn training_mods() {
|
|||
.nop()
|
||||
.unwrap();
|
||||
|
||||
println!(
|
||||
"Searching for STALE_MENU offset first! : {}",
|
||||
*OFFSET_STALE_MENU
|
||||
);
|
||||
println!("Searching for STALE offset second! : {}", *OFFSET_STALE);
|
||||
|
||||
skyline::install_hooks!(
|
||||
// Mash airdodge/jump
|
||||
handle_get_command_flag_cat,
|
||||
|
@ -911,7 +920,7 @@ pub fn training_mods() {
|
|||
// Clatter
|
||||
clatter::hook_start_clatter,
|
||||
// Notifications
|
||||
handle_once_per_cpu_frame,
|
||||
// handle_once_per_cpu_frame,
|
||||
// Input
|
||||
handle_final_input_mapping,
|
||||
// Charge
|
||||
|
|
Loading…
Reference in a new issue