Skip to content

Commit 4b1b536

Browse files
committed
feature: suicide pact with wuboy
1 parent 9835b20 commit 4b1b536

File tree

42 files changed

+265
-263
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+265
-263
lines changed

dynamic/src/util.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,13 @@ pub fn get_game_state() -> *const u64 {
234234

235235
pub unsafe fn get_mapped_controller_inputs_from_id(player: usize) -> &'static MappedInputs {
236236
let base = *((skyline::hooks::getRegionAddress(skyline::hooks::Region::Text) as *mut u8)
237-
.add(0x52c30f0) as *const u64);
237+
.add(0x52c50f0) as *const u64);
238238
&*((base + 0x2b8 + 0x8 * (player as u64)) as *const MappedInputs)
239239
}
240240

241241
pub unsafe fn get_controller_mapping_from_id(player: usize) -> &'static ControllerMapping {
242242
let base = *((skyline::hooks::getRegionAddress(skyline::hooks::Region::Text) as *mut u8)
243-
.add(0x52c30f0) as *const u64);
243+
.add(0x52c50f0) as *const u64);
244244
&*((base + 0x18) as *const ControllerMapping).add(player as usize)
245245
}
246246

@@ -252,7 +252,7 @@ struct SomeControllerStruct {
252252

253253
pub unsafe fn get_controller_from_id(player: usize) -> &'static Controller {
254254
let base = *((skyline::hooks::getRegionAddress(skyline::hooks::Region::Text) as *mut u8)
255-
.add(0x5337860) as *const u64);
255+
.add(0x5339860) as *const u64);
256256
let uVar3 = *((base + 0x298 + (4 * (player as u64))) as *const u32);
257257
let controller_struct = ((base + (0x8 * (uVar3 as i32)) as u64) as *mut SomeControllerStruct);
258258
(*controller_struct).controller

fighters/common/src/function_hooks/attack.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use std::arch::asm;
44
use utils::game_modes::CustomMode;
55

66

7-
#[skyline::hook(offset = 0x3dc160)]
7+
#[skyline::hook(offset = 0x3dc180)]
88
unsafe fn attack_module_set_attack(module: u64, id: i32, group: i32, data: &mut smash2::app::AttackData) {
99
let boma = *(module as *mut *mut BattleObjectModuleAccessor).add(1);
1010

@@ -50,7 +50,7 @@ unsafe fn attack_module_set_attack(module: u64, id: i32, group: i32, data: &mut
5050
call_original!(module, id, group, data)
5151
}
5252

53-
#[skyline::hook(offset = 0x403c1c, inline)]
53+
#[skyline::hook(offset = 0x403c3c, inline)]
5454
unsafe fn get_damage_frame_mul(ctx: &mut skyline::hooks::InlineCtx) {
5555
match utils::game_modes::get_custom_mode() {
5656
Some(modes) => {

fighters/common/src/function_hooks/aura.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use super::*;
22
use utils::ext::*;
33
use std::arch::asm;
44

5-
#[skyline::hook(offset = 0xc5bff0)]
5+
#[skyline::hook(offset = 0xc5c010)]
66
pub unsafe extern "C" fn lucario_check_aura(module_accessor: *mut BattleObjectModuleAccessor) -> f32 {
77
if WorkModule::get_int(module_accessor, *FIGHTER_INSTANCE_WORK_ID_INT_ENTRY_ID) > 7 {
88
std::process::abort();
@@ -11,7 +11,7 @@ pub unsafe extern "C" fn lucario_check_aura(module_accessor: *mut BattleObjectMo
1111
get_aura(object)
1212
}
1313

14-
#[skyline::hook(offset = 0xc5be20)]
14+
#[skyline::hook(offset = 0xc5be40)]
1515
pub unsafe extern "C" fn lucario_check_aura2(module: u64) -> f32 {
1616
let module_accessor = &mut *(*((module as *mut u64).offset(1)) as *mut BattleObjectModuleAccessor);
1717
if WorkModule::get_int(module_accessor, *FIGHTER_INSTANCE_WORK_ID_INT_ENTRY_ID) > 7 {
@@ -21,7 +21,7 @@ pub unsafe extern "C" fn lucario_check_aura2(module: u64) -> f32 {
2121
get_aura(object)
2222
}
2323

24-
#[skyline::hook(offset = 0xc5e530)]
24+
#[skyline::hook(offset = 0xc5e550)]
2525
pub unsafe extern "C" fn lucario_handle_aura(_vtable: u64, fighter: &mut Fighter) {
2626
let object = &mut fighter.battle_object;
2727
let module_accessor = object.module_accessor;
@@ -32,7 +32,7 @@ pub unsafe extern "C" fn lucario_handle_aura(_vtable: u64, fighter: &mut Fighter
3232
WorkModule::set_float(module_accessor, aura, *FIGHTER_LUCARIO_INSTANCE_WORK_ID_FLOAT_CURR_AURAPOWER);
3333
}
3434

35-
#[skyline::hook(offset = 0xc5e6d0)]
35+
#[skyline::hook(offset = 0xc5e6f0)]
3636
pub unsafe extern "C" fn lucario_handle_aura2(_vtable: u64, fighter: &mut Fighter) {
3737
let object = &mut fighter.battle_object;
3838
let object_id = object.battle_object_id;
@@ -44,7 +44,7 @@ pub unsafe extern "C" fn lucario_handle_aura2(_vtable: u64, fighter: &mut Fighte
4444
WorkModule::set_float(module_accessor, aura, *FIGHTER_LUCARIO_INSTANCE_WORK_ID_FLOAT_CURR_AURAPOWER);
4545
}
4646

47-
// #[skyline::hook(offset = 0xc5d580)]
47+
// #[skyline::hook(offset = 0xc5d5a0)]
4848
// pub unsafe extern "C" fn lucario_on_grab(_vtable: u64, fighter: &mut Fighter, event: &mut LinkEvent) -> u64 {
4949
// // param_3 + 0x10
5050
// if event.link_event_kind.0 == hash40("capture") {
@@ -98,7 +98,7 @@ unsafe extern "C" fn get_aura(object: *mut BattleObject) -> f32 {
9898
return aura_power;
9999
}
100100

101-
#[skyline::hook(offset = 0xc5ce20)]
101+
#[skyline::hook(offset = 0xc5ce40)]
102102
pub unsafe extern "C" fn lucario_set_effect_scale(vtable: u64, fighter: &mut Fighter) {
103103
original!()(vtable, fighter);
104104
let object = &mut fighter.battle_object;

fighters/common/src/function_hooks/camera.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ pub enum QuakeKind {
6060

6161

6262
// Doubles camera speed
63-
#[skyline::hook(offset = 0x4fdbf0)]
63+
#[skyline::hook(offset = 0x4fdc10)]
6464
unsafe fn normal_camera(ptr: u64, float: f32) {
6565
call_original!(ptr, float);
6666
call_original!(ptr, float);
6767
}
6868

69-
#[skyline::hook(offset = 0x26207f0)]
69+
#[skyline::hook(offset = 0x2621470)]
7070
pub fn parse_stprm_active_camera_params(param_obj: u64, params: &mut NormalCameraParams) {
7171
call_original!(param_obj, params);
7272
params.normal_camera_min_distance = params.normal_camera_min_distance.max(140.0);
@@ -78,7 +78,7 @@ pub fn parse_stprm_active_camera_params(param_obj: u64, params: &mut NormalCamer
7878
}
7979

8080
// The following function hook handles Unrestricted Camera
81-
#[skyline::hook(offset = 0x26226b0)]
81+
#[skyline::hook(offset = 0x2623330)]
8282
pub fn parse_stprm_pause_camera_params(param_obj: u64, params: &mut PauseCameraParams) {
8383
call_original!(param_obj, params);
8484
params.pause_camera_min_fov = 4e-44_f32.to_radians();
@@ -99,7 +99,7 @@ pub fn parse_stprm_pause_camera_params(param_obj: u64, params: &mut PauseCameraP
9999
params.pause_camera_gyro_limit_angle_left = 0.0;
100100
}
101101

102-
#[skyline::hook(offset = 0x3ebe00)]
102+
#[skyline::hook(offset = 0x3ebe20)]
103103
unsafe fn camera_module__req_quake(camera_module: *const u64, quake_kind: i32) {
104104
use QuakeKind::*;
105105
let mut quake_kind = std::mem::transmute(quake_kind.clone());

fighters/common/src/function_hooks/collision.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use globals::*;
1212
// Not sure what param_6 is, but when 0, it skips calculations for your ECB's bottom point and just sets it to 0.0, which "locks" your ECB's bottom point to your Top bone
1313
// when 1, it calculates your bottom ECB point normally, like the other 3 points
1414
// Vanilla passes 0 by default, so we have to forcibly pass in 1
15-
#[skyline::hook(offset = 0x45f420)]
15+
#[skyline::hook(offset = 0x45f440)]
1616
unsafe fn ground_module_ecb_point_calc_hook(ground_module: u64, param_1: *mut *mut Hash40, param_2: *mut f32, param_3: *mut f32, param_4: *mut f32, param_5: *mut f32, param_6: u32) {
1717
// The original function calls model_module_joint_global_position_with_offset_hook
1818
let boma = *((ground_module + 0x20) as *mut *mut BattleObjectModuleAccessor);
@@ -76,7 +76,7 @@ unsafe fn ground_module_ecb_point_calc_hook(ground_module: u64, param_1: *mut *m
7676
// This is why your ECB bottom point is always "locked" to your Top bone
7777

7878
// By returning once the Trans bone is passed into this func, we can ignore it and thus use your map_coll_data bones to calculate your bottom ECB point, like the other 3 points
79-
#[skyline::hook(offset = 0x48fc40)]
79+
#[skyline::hook(offset = 0x48fc60)]
8080
unsafe fn model_module_joint_global_position_with_offset_hook(model_module: u64, bone: Hash40, param_3: *mut Vector3f, param_4: *mut Vector3f, param_5: bool) {
8181
let boma = *(model_module as *mut *mut BattleObjectModuleAccessor).add(1);
8282
if (*boma).is_fighter()
@@ -89,13 +89,13 @@ unsafe fn model_module_joint_global_position_with_offset_hook(model_module: u64,
8989
}
9090

9191
// Unused for now
92-
#[skyline::hook(offset = 0x523a60)]
92+
#[skyline::hook(offset = 0x523a80)]
9393
unsafe fn groundcollision__processgroundcollisioninfo(groundcollisioninfo: *mut f32, groundcollision: *mut u64) {
9494
call_original!(groundcollisioninfo, groundcollision)
9595
}
9696

9797
// Performs ground correct/sets situation kind
98-
#[skyline::hook(offset = 0x53fe30)]
98+
#[skyline::hook(offset = 0x53fe50)]
9999
unsafe fn groundcollision__processgroundcollisioninfo_check_landing(groundcollisioninfo: *mut f32, groundcollision: u64) {
100100
let groundcollisionline = *((groundcollision + 0x320) as *mut u64) as *mut GroundCollisionLine;
101101
let groundcollisionline_next = *(groundcollisionline as *mut *mut GroundCollisionLine);
@@ -145,7 +145,7 @@ unsafe fn groundcollision__processgroundcollisioninfo_check_landing(groundcollis
145145
}
146146
}
147147
// Sets GroundCollisionLine
148-
#[skyline::hook(offset = 0x52d900)]
148+
#[skyline::hook(offset = 0x52d920)]
149149
unsafe fn groundcollision__processgroundcollisioninfo_check_landing_sub(groundcollision: u64, arg2: *mut u64, prev_ecb_bottom_pos: *mut smash::phx::Vector2f, ecb_bottom_translation: *mut smash::phx::Vector2f, arg5: u64, arg6: u64, arg7: *mut u64) -> *mut GroundCollisionLine {
150150
if *((groundcollision + 0x39f) as *mut bool) {
151151
// Ignore ground collision
@@ -158,8 +158,8 @@ pub fn install() {
158158
unsafe {
159159
// Removes 0.3 unit leniency above ECB bottom when deciding whether to land
160160
// which reduces frequency of platform cancels
161-
skyline::patching::Patch::in_text(0x540dd8).data(0x529ae148);
162-
skyline::patching::Patch::in_text(0x540ddc).data(0x72a78468);
161+
skyline::patching::Patch::in_text(0x540df8).data(0x529ae148);
162+
skyline::patching::Patch::in_text(0x540dfc).data(0x72a78468);
163163
}
164164
skyline::install_hooks!(
165165
groundcollision__processgroundcollisioninfo_check_landing,

fighters/common/src/function_hooks/controls.rs

+19-19
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ use rand::prelude::SliceRandom;
33
use rand::Rng;
44
use utils::ext::*;
55

6-
#[skyline::hook(offset = 0x16d948c, inline)]
6+
#[skyline::hook(offset = 0x16d85dc, inline)]
77
unsafe fn packed_packet_creation(ctx: &mut skyline::hooks::InlineCtx) {
88
*ctx.registers[22].x.as_mut() = 0x2;
99
}
1010

11-
#[skyline::hook(offset = 0x16d94c0, inline)]
11+
#[skyline::hook(offset = 0x16d8610, inline)]
1212
unsafe fn write_packet(ctx: &mut skyline::hooks::InlineCtx) {
1313
let raw = *ctx.registers[19].x.as_ref();
1414

@@ -927,7 +927,7 @@ struct ControlModuleInternal {
927927
static mut LAST_ALT_STICK: [f32; 2] = [0.0, 0.0];
928928
static mut LAST_ANALOG: f32 = 0.0;
929929

930-
#[skyline::hook(offset = 0x3f7220)]
930+
#[skyline::hook(offset = 0x3f7240)]
931931
unsafe fn parse_inputs(this: &mut ControlModuleInternal) {
932932
const NEUTRAL: f32 = 0.2;
933933
const CLAMP_MAX: f32 = 120.0;
@@ -970,7 +970,7 @@ unsafe fn parse_inputs(this: &mut ControlModuleInternal) {
970970
call_original!(this)
971971
}
972972

973-
#[skyline::hook(offset = 0x6b9c5c, inline)]
973+
#[skyline::hook(offset = 0x6b9c7c, inline)]
974974
unsafe fn after_exec(ctx: &skyline::hooks::InlineCtx) {
975975
let module = *ctx.registers[19].x.as_ref();
976976
let internal_class = *(module as *const u64).add(0x110 / 0x8);
@@ -979,7 +979,7 @@ unsafe fn after_exec(ctx: &skyline::hooks::InlineCtx) {
979979
*(internal_class as *mut f32).add(0x48 / 0x4) = LAST_ANALOG;
980980
}
981981

982-
#[skyline::hook(offset = 0x16d7ee4, inline)]
982+
#[skyline::hook(offset = 0x16d7034, inline)]
983983
unsafe fn handle_incoming_packet(ctx: &mut skyline::hooks::InlineCtx) {
984984
let packet = *ctx.registers[15].x.as_ref();
985985

@@ -1028,7 +1028,7 @@ unsafe extern "C" fn is_throw_stick(fighter: &mut L2CFighterCommon) -> L2CValue
10281028
static mut SHOULD_END_RESULT_SCREEN: bool = false;
10291029

10301030
// Skip results screen with start button
1031-
#[skyline::hook(offset = 0x3664040)]
1031+
#[skyline::hook(offset = 0x3664CC0)]
10321032
unsafe fn process_inputs_handheld(controller: &mut Controller) {
10331033
let entry_count = lua_bind::FighterManager::entry_count(utils::singletons::FighterManager());
10341034
if lua_bind::FighterManager::is_result_mode(utils::singletons::FighterManager())
@@ -1058,7 +1058,7 @@ unsafe fn process_inputs_handheld(controller: &mut Controller) {
10581058

10591059
static mut GC_TRIGGERS: [f32; 2] = [0.0, 0.0];
10601060

1061-
#[skyline::hook(offset = 0x3665e2c, inline)]
1061+
#[skyline::hook(offset = 0x3666AAC, inline)]
10621062
unsafe fn post_gamecube_process(ctx: &skyline::hooks::InlineCtx) {
10631063
let state: *mut skyline::nn::hid::NpadGcState =
10641064
(ctx as *const _ as *mut u8).add(0x100) as *mut _;
@@ -1068,7 +1068,7 @@ unsafe fn post_gamecube_process(ctx: &skyline::hooks::InlineCtx) {
10681068
GC_TRIGGERS[1] = (*state).RTrigger as f32 / i16::MAX as f32;
10691069
}
10701070

1071-
#[skyline::hook(offset = 0x3665c8c, inline)]
1071+
#[skyline::hook(offset = 0x366690C, inline)]
10721072
unsafe fn apply_triggers(ctx: &skyline::hooks::InlineCtx) {
10731073
let controller: *mut Controller = *ctx.registers[19].x.as_ref() as _;
10741074
(*controller).left_trigger = GC_TRIGGERS[0];
@@ -1099,7 +1099,7 @@ unsafe fn analog_trigger_r(ctx: &mut skyline::hooks::InlineCtx) {
10991099

11001100
// These 2 hooks prevent buffered nair after inputting C-stick on first few frames of jumpsquat
11011101
// Both found in ControlModule::exec_command
1102-
#[skyline::hook(offset = 0x6be610)]
1102+
#[skyline::hook(offset = 0x6be630)]
11031103
unsafe fn set_attack_air_stick_hook(control_module: u64, arg: u32) {
11041104
// This check passes on the frame FighterControlModuleImpl::reserve_on_attack_button is called
11051105
// Only happens during jumpsquat currently
@@ -1111,7 +1111,7 @@ unsafe fn set_attack_air_stick_hook(control_module: u64, arg: u32) {
11111111
}
11121112
call_original!(control_module, arg);
11131113
}
1114-
#[skyline::hook(offset = 0x6bd6a4, inline)]
1114+
#[skyline::hook(offset = 0x6bd6c4, inline)]
11151115
unsafe fn exec_command_reset_attack_air_kind_hook(ctx: &mut skyline::hooks::InlineCtx) {
11161116
let control_module = *ctx.registers[21].x.as_ref();
11171117
let boma = *(control_module as *mut *mut BattleObjectModuleAccessor).add(1);
@@ -1145,25 +1145,25 @@ fn nro_hook(info: &skyline::nro::NroInfo) {
11451145
pub fn install() {
11461146
// Custom buffer-state handling
11471147
// Always uses the hitlag handling that cat4 uses
1148-
skyline::patching::Patch::in_text(0x6bd428).nop();
1149-
skyline::patching::Patch::in_text(0x6bd484).nop();
1148+
skyline::patching::Patch::in_text(0x6bd448).nop();
1149+
skyline::patching::Patch::in_text(0x6bd4a4).nop();
11501150

11511151
// Stuff for parry input
1152-
skyline::patching::Patch::in_text(0x3665e5c).data(0xAA0903EAu32);
1153-
skyline::patching::Patch::in_text(0x3665e70).data(0xAA0803EAu32);
1152+
skyline::patching::Patch::in_text(0x3666ADC).data(0xAA0903EAu32);
1153+
skyline::patching::Patch::in_text(0x3666AF0).data(0xAA0803EAu32);
11541154

11551155
// Removes 10f C-stick lockout for tilt stick and special stick
11561156
skyline::patching::Patch::in_text(0x17527dc).data(0x2A1F03FA);
1157-
skyline::patching::Patch::in_text(0x17527e0).nop();
1158-
skyline::patching::Patch::in_text(0x17527e4).nop();
1159-
skyline::patching::Patch::in_text(0x17527e8).nop();
1157+
skyline::patching::Patch::in_text(0x17527b0).nop();
1158+
skyline::patching::Patch::in_text(0x17527b4).nop();
1159+
skyline::patching::Patch::in_text(0x17527b8).nop();
11601160

11611161
// Prevents buffered C-stick aerials from triggering nair
1162-
skyline::patching::Patch::in_text(0x6be644).data(0x52800040);
1162+
skyline::patching::Patch::in_text(0x6be664).data(0x52800040);
11631163

11641164
// Prevents attack_air_kind from resetting every frame
11651165
// Found in ControlModule::exec_command
1166-
skyline::patching::Patch::in_text(0x6bd6a4).nop();
1166+
skyline::patching::Patch::in_text(0x6bd6c4).nop();
11671167

11681168
skyline::install_hooks!(
11691169
map_controls_hook,

fighters/common/src/function_hooks/energy/control.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ impl DerefMut for FighterKineticEnergyControl {
9696
}
9797
}
9898

99-
#[skyline::hook(offset = 0x6d3610)]
99+
#[skyline::hook(offset = 0x6d3630)]
100100
unsafe fn control_update(energy: &mut FighterKineticEnergyControl, boma: &mut BattleObjectModuleAccessor) {
101101
let reset_type = std::mem::transmute(energy.energy_reset_type);
102102

@@ -378,7 +378,7 @@ unsafe fn control_update(energy: &mut FighterKineticEnergyControl, boma: &mut Ba
378378
energy.speed_brake = backup_brake;
379379
}
380380

381-
#[skyline::hook(offset = 0x6d4040)]
381+
#[skyline::hook(offset = 0x6d4060)]
382382
unsafe fn control_initialize(energy: &mut FighterKineticEnergyControl, boma: &mut BattleObjectModuleAccessor) {
383383
use EnergyControllerResetType::*;
384384
let reset_type = std::mem::transmute(energy.energy_reset_type);
@@ -565,7 +565,7 @@ unsafe fn control_initialize(energy: &mut FighterKineticEnergyControl, boma: &mu
565565
}
566566
}
567567

568-
#[skyline::hook(offset = 0x6d4ba0)]
568+
#[skyline::hook(offset = 0x6d4bc0)]
569569
unsafe fn control_setup(energy: &mut FighterKineticEnergyControl, reset_type: EnergyControllerResetType, initial_speed: &Vector3f, unk: u64, boma: &mut BattleObjectModuleAccessor) {
570570
energy.clear_energy();
571571

fighters/common/src/function_hooks/energy/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ pub struct Vec4 {
9797

9898
impl KineticEnergy {
9999
pub fn adjust_speed_for_ground_normal(speed: &PaddedVec2, boma: &mut BattleObjectModuleAccessor) -> PaddedVec2 {
100-
#[skyline::from_offset(0x47b4d0)]
100+
#[skyline::from_offset(0x47b4f0)]
101101
extern "C" fn adjust_speed_for_ground_normal_internal(speed: Vec2, boma: &mut BattleObjectModuleAccessor) -> Vec2;
102102

103103
unsafe {
@@ -108,7 +108,7 @@ impl KineticEnergy {
108108

109109
pub fn process(&mut self, boma: &mut BattleObjectModuleAccessor) {
110110
unsafe {
111-
#[skyline::from_offset(0x47bf70)]
111+
#[skyline::from_offset(0x47bf90)]
112112
extern "C" fn process_energy(energy: &mut KineticEnergy, boma: &mut BattleObjectModuleAccessor);
113113

114114
process_energy(self, boma)

fighters/common/src/function_hooks/energy/motion.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -181,10 +181,10 @@ impl FighterKineticEnergyMotion {
181181
}
182182

183183
// This function references BattleObjectWorld, which is defo for the ledge positions
184-
#[skyline::from_offset(0x6941c0)]
184+
#[skyline::from_offset(0x6941e0)]
185185
extern "C" fn handle_cliff(boma: &mut BattleObjectModuleAccessor, vec: &Vector4f) -> energy::Vec4;
186186

187-
#[skyline::hook(offset = 0x6d5c90)]
187+
#[skyline::hook(offset = 0x6d5cb0)]
188188
unsafe fn motion_update(energy: &mut FighterKineticEnergyMotion, boma: &mut BattleObjectModuleAccessor) {
189189
use EnergyMotionResetType::*;
190190
let reset_type = std::mem::transmute(energy.energy_reset_type);

fighters/common/src/function_hooks/energy/stop.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ pub enum EnergyStopResetType {
8585
DamageAirOrbit,
8686
}
8787

88-
#[skyline::hook(offset = 0x6d6630)]
88+
#[skyline::hook(offset = 0x6d6650)]
8989
unsafe fn update_stop(energy: &mut FighterKineticEnergyStop, boma: &mut BattleObjectModuleAccessor) {
9090
use EnergyStopResetType::*;
9191

@@ -123,7 +123,7 @@ unsafe fn update_stop(energy: &mut FighterKineticEnergyStop, boma: &mut BattleOb
123123
energy.speed_brake = backup_brake;
124124
}
125125

126-
#[skyline::hook(offset = 0x6d8540)]
126+
#[skyline::hook(offset = 0x6d8560)]
127127
pub unsafe extern "Rust" fn setup_stop(energy: &mut FighterKineticEnergyStop, reset_type: EnergyStopResetType, initial_speed: &PaddedVec2, unk: u64, boma: &mut BattleObjectModuleAccessor) {
128128
if ( boma.is_fighter()
129129
&& (boma.kind() == *FIGHTER_KIND_MEWTWO && boma.is_status(*FIGHTER_MEWTWO_STATUS_KIND_SPECIAL_HI_2))

fighters/common/src/function_hooks/fighterspecializer/jack.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use super::*;
22

3-
#[skyline::from_offset(0xb2f800)]
3+
#[skyline::from_offset(0xb2f820)]
44
extern "C" fn jack_customizer(module_accessor: *mut BattleObjectModuleAccessor, customize_to: u32);
55

66
#[skyline::hook(offset = 0xb30934, inline)]

fighters/common/src/function_hooks/fighterspecializer/pickel.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use super::*;
22

3-
#[skyline::hook( offset = 0xf10fe0 )]
3+
#[skyline::hook( offset = 0xf11000 )]
44
pub unsafe fn check_material_attack_air_lw_generate(module_accessor: *mut BattleObjectModuleAccessor) -> bool {
55
let iron_count = WorkModule::get_int(module_accessor, *FIGHTER_PICKEL_INSTANCE_WORK_ID_INT_MATERIAL_NUM_IRON);
66
let mut iron_needed = WorkModule::get_param_int(module_accessor, hash40("param_private"), 0x188e0b0db2);

0 commit comments

Comments
 (0)