mirror of
https://github.com/jugeeya/UltimateTrainingModpack.git
synced 2024-11-28 04:44:06 +00:00
Fix PLAY_SE hook crash (#602)
This commit is contained in:
parent
a9857bf485
commit
13c87133bf
2 changed files with 9 additions and 21 deletions
|
@ -43,6 +43,10 @@ pub unsafe fn is_buffing(module_accessor: &mut app::BattleObjectModuleAccessor)
|
||||||
IS_BUFFING_PLAYER
|
IS_BUFFING_PLAYER
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub unsafe fn is_buffing_any() -> bool {
|
||||||
|
IS_BUFFING_CPU || IS_BUFFING_PLAYER
|
||||||
|
}
|
||||||
|
|
||||||
pub unsafe fn set_buff_rem(module_accessor: &mut app::BattleObjectModuleAccessor, new_value: i32) {
|
pub unsafe fn set_buff_rem(module_accessor: &mut app::BattleObjectModuleAccessor, new_value: i32) {
|
||||||
if is_operation_cpu(module_accessor) {
|
if is_operation_cpu(module_accessor) {
|
||||||
BUFF_REMAINING_CPU = new_value;
|
BUFF_REMAINING_CPU = new_value;
|
||||||
|
|
|
@ -476,7 +476,7 @@ static PLAY_SE_OFFSET: usize = 0x04cf6a0;
|
||||||
// fighters don't use the symbol and go straight through their vtable to this function
|
// fighters don't use the symbol and go straight through their vtable to this function
|
||||||
#[skyline::hook(offset = PLAY_SE_OFFSET)]
|
#[skyline::hook(offset = PLAY_SE_OFFSET)]
|
||||||
pub unsafe fn handle_fighter_play_se(
|
pub unsafe fn handle_fighter_play_se(
|
||||||
module_accessor: &mut app::BattleObjectModuleAccessor,
|
sound_module: u64, // pointer to fighter's SoundModule
|
||||||
my_hash: Hash40,
|
my_hash: Hash40,
|
||||||
bool1: bool,
|
bool1: bool,
|
||||||
bool2: bool,
|
bool2: bool,
|
||||||
|
@ -485,22 +485,14 @@ pub unsafe fn handle_fighter_play_se(
|
||||||
se_type: enSEType,
|
se_type: enSEType,
|
||||||
) -> u64 {
|
) -> u64 {
|
||||||
if !is_training_mode() {
|
if !is_training_mode() {
|
||||||
return original!()(
|
return original!()(sound_module, my_hash, bool1, bool2, bool3, bool4, se_type);
|
||||||
module_accessor,
|
|
||||||
my_hash,
|
|
||||||
bool1,
|
|
||||||
bool2,
|
|
||||||
bool3,
|
|
||||||
bool4,
|
|
||||||
se_type,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Supress Buff Sound Effects while buffing
|
// Supress Buff Sound Effects while buffing
|
||||||
if buff::is_buffing(module_accessor) {
|
if buff::is_buffing_any() {
|
||||||
let silent_hash = Hash40::new("se_silent");
|
let silent_hash = Hash40::new("se_silent");
|
||||||
return original!()(
|
return original!()(
|
||||||
module_accessor,
|
sound_module,
|
||||||
silent_hash,
|
silent_hash,
|
||||||
bool1,
|
bool1,
|
||||||
bool2,
|
bool2,
|
||||||
|
@ -509,15 +501,7 @@ pub unsafe fn handle_fighter_play_se(
|
||||||
se_type,
|
se_type,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
original!()(
|
original!()(sound_module, my_hash, bool1, bool2, bool3, bool4, se_type)
|
||||||
module_accessor,
|
|
||||||
my_hash,
|
|
||||||
bool1,
|
|
||||||
bool2,
|
|
||||||
bool3,
|
|
||||||
bool4,
|
|
||||||
se_type,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static FOLLOW_REQ_OFFSET: usize = 0x044f860;
|
static FOLLOW_REQ_OFFSET: usize = 0x044f860;
|
||||||
|
|
Loading…
Reference in a new issue