Skip to content

Commit d011e56

Browse files
committed
Mac Independent UI Updater
1 parent 8a32110 commit d011e56

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

fighters/littlemac/src/vtable_hook.rs

+19-3
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,15 @@ pub unsafe extern "C" fn hook_ko_meter_gain(vtable: u64, battle_object: *mut Bat
9898
meter_gain *= 2.0;
9999
}
100100

101-
//println!("Current Meter: {}", WorkModule::get_float(boma, *FIGHTER_LITTLEMAC_INSTANCE_WORK_ID_FLOAT_KO_GAGE));
102-
//println!("Gained Meter: {}", meter_gain);
103-
//println!();
101+
// Example on how to call update_littlemac_ui
102+
103+
// let meter = WorkModule::get_float(boma, *FIGHTER_LITTLEMAC_INSTANCE_WORK_ID_FLOAT_KO_GAGE);
104+
// println!("Current Meter: {}", meter);
105+
// println!("Gained Meter: {}", meter_gain);
106+
// println!();
107+
108+
// let entry_id = WorkModule::get_int(boma, *FIGHTER_INSTANCE_WORK_ID_INT_ENTRY_ID);
109+
// update_littlemac_ui(entry_id, meter + meter_gain);
104110

105111
call_original!(vtable, battle_object, collisionLog, meter_gain)
106112
}
@@ -148,6 +154,16 @@ pub unsafe extern "C" fn hook_ko_meter_gain(vtable: u64, battle_object: *mut Bat
148154
// );
149155
// }
150156

157+
158+
pub unsafe extern "C" fn update_littlemac_ui(entry_id: i32, total_gauge: f32) {
159+
let manager = singletons::FighterManager() as *mut u64;
160+
let offset = (*manager + (entry_id as u64 * 8) + 0x20) as *mut u64;
161+
update_littlemac_ui_internal((*offset + 0x41e4) as *mut u32, total_gauge as i32);
162+
}
163+
164+
#[skyline::from_offset(0x68cd80)]
165+
fn update_littlemac_ui_internal(manager_offset: *mut u32, total_gauge: i32);
166+
151167
pub fn install() {
152168
skyline::install_hooks!(
153169
hook_ko_meter_gain,

0 commit comments

Comments
 (0)