Skip to content

Commit 08df165

Browse files
committed
Fixes
1 parent d022e2a commit 08df165

File tree

8 files changed

+19
-155
lines changed

8 files changed

+19
-155
lines changed

Cargo.toml

+10-10
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ edition = "2021"
1212
skyline = "0.2"
1313
skyline_smash = { git = "https://github.com/blu-dev/skyline-smash", features = ["weak_l2cvalue"] }
1414
skyline-web = { git = "https://github.com/skyline-rs/skyline-web" }
15-
smashline = { git = "https://github.com/blu-dev/smashline", branch = "development" }
15+
smashline = { git = "https://github.com/HDR-Development/smashline" }
1616

1717
dynamic = { path = "dynamic" }
1818
hdr-macros = { path = "hdr-macros" }
@@ -270,15 +270,15 @@ default = [
270270
"mario",
271271
"mariod",
272272
"marth",
273-
# "master",
274-
# "metaknight",
275-
# "mewtwo",
276-
# "miifighter",
277-
# "miigunner",
278-
# "miiswordsman",
279-
# "murabito",
280-
# "nana",
281-
# "ness",
273+
"master",
274+
"metaknight",
275+
"mewtwo",
276+
"miifighter",
277+
"miigunner",
278+
"miiswordsman",
279+
"murabito",
280+
"nana",
281+
"ness",
282282
"packun",
283283
"pacman",
284284
"palutena",

fighters/metaknight/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ utils = { package = "dynamic", path = "../../dynamic" }
1010
skyline = "0.2.1"
1111
skyline_smash = { git = "https://github.com/blu-dev/skyline-smash", features = ["weak_l2cvalue"] }
1212
smash_script = { git = "https://github.com/blu-dev/smash-script", branch = "development" }
13-
smashline = { git = "https://github.com/blu-dev/smashline", branch = "development" }
13+
smashline = { git = "https://github.com/HDR-Development/smashline" }

fighters/miifighter/src/acmd/specials.rs

-138
Original file line numberDiff line numberDiff line change
@@ -569,144 +569,6 @@ unsafe extern "C" fn miifighter_special_air_hi2_game(fighter: &mut L2CAgentBase)
569569
}
570570

571571

572-
unsafe extern "C" fn miifighter_special_hi3_game(fighter: &mut L2CAgentBase) {
573-
let lua_state = fighter.lua_state_agent;
574-
let boma = fighter.boma();
575-
frame(lua_state, 1.0);
576-
FT_MOTION_RATE_RANGE(fighter, 1.0, 4.0, 5.0);
577-
if is_excute(fighter) {
578-
WorkModule::on_flag(boma, *FIGHTER_STATUS_SUPER_JUMP_PUNCH_FLAG_MOVE_TRANS);
579-
}
580-
frame(lua_state, 4.0);
581-
FT_MOTION_RATE(fighter, 1.0);
582-
if is_excute(fighter) {
583-
SA_SET(fighter, *SITUATION_KIND_AIR);
584-
WorkModule::on_flag(boma, *FIGHTER_STATUS_SUPER_JUMP_PUNCH_FLAG_REVERSE_LR);
585-
HIT_NODE(fighter, Hash40::new("arml"), *HIT_STATUS_XLU);
586-
ATTACK(fighter, 0, 0, Hash40::new("top"), 0.8, 80, 100, 170, 0, 3.5, 0.0, 5.5, 3.5, Some(0.0), Some(12.5), Some(3.5), 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
587-
ATTACK(fighter, 1, 0, Hash40::new("top"), 0.8, 105, 100, 160, 0, 5.0, 0.0, 8.0, 5.0, None, None, None, 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
588-
}
589-
frame(lua_state, 6.0);
590-
if is_excute(fighter) {
591-
AttackModule::clear_all(boma);
592-
}
593-
frame(lua_state, 7.0);
594-
if is_excute(fighter) {
595-
ATTACK(fighter, 0, 0, Hash40::new("top"), 0.8, 367, 100, 80, 0, 5.0, 0.0, 13.0, 5.0, Some(0.0), Some(20.0), Some(5.0), 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
596-
ATTACK(fighter, 1, 0, Hash40::new("top"), 0.8, 70, 100, 90, 0, 4.0, 0.0, 21.0, 5.0, Some(0.0), Some(21.0), Some(5.0), 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
597-
}
598-
frame(lua_state, 9.0);
599-
if is_excute(fighter) {
600-
AttackModule::clear_all(boma);
601-
HIT_NODE(fighter, Hash40::new("arml"), *HIT_STATUS_NORMAL);
602-
}
603-
frame(lua_state, 10.0);
604-
if is_excute(fighter) {
605-
ATTACK(fighter, 0, 0, Hash40::new("top"), 0.8, 367, 100, 80, 0, 5.0, 0.0, 13.0, 5.0, Some(0.0), Some(20.0), Some(5.0), 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
606-
ATTACK(fighter, 1, 0, Hash40::new("top"), 0.8, 70, 100, 90, 0, 4.0, 0.0, 21.0, 5.0, Some(0.0), Some(21.0), Some(5.0), 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
607-
}
608-
frame(lua_state, 12.0);
609-
if is_excute(fighter) {
610-
AttackModule::clear_all(boma);
611-
notify_event_msc_cmd!(fighter, Hash40::new_raw(0x2127e37c07), *GROUND_CLIFF_CHECK_KIND_ALWAYS);
612-
}
613-
frame(lua_state, 13.0);
614-
if is_excute(fighter) {
615-
ATTACK(fighter, 0, 0, Hash40::new("top"), 0.8, 367, 100, 80, 0, 5.0, 0.0, 14.0, 5.0, Some(0.0), Some(20.0), Some(5.0), 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
616-
ATTACK(fighter, 1, 0, Hash40::new("top"), 0.8, 70, 100, 90, 0, 4.0, 0.0, 21.0, 5.0, Some(0.0), Some(21.0), Some(5.0), 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
617-
}
618-
frame(lua_state, 15.0);
619-
if is_excute(fighter) {
620-
AttackModule::clear_all(boma);
621-
}
622-
frame(lua_state, 16.0);
623-
if is_excute(fighter) {
624-
ATTACK(fighter, 0, 0, Hash40::new("top"), 0.8, 367, 100, 80, 0, 5.0, 0.0, 14.0, 5.0, Some(0.0), Some(20.0), Some(5.0), 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
625-
ATTACK(fighter, 1, 0, Hash40::new("top"), 0.8, 367, 100, 50, 0, 5.0, 0.0, 19.0, 5.0, Some(0.0), Some(20.0), Some(5.0), 0.75, 0.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, true, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_rush"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
626-
}
627-
frame(lua_state, 17.0);
628-
if is_excute(fighter) {
629-
AttackModule::clear_all(boma);
630-
}
631-
frame(lua_state, 21.0);
632-
if is_excute(fighter) {
633-
ATTACK(fighter, 0, 0, Hash40::new("top"), 9.0, 89, 76, 0, 74, 7.0, 0.0, 19.0, 2.0, None, None, None, 1.5, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
634-
}
635-
frame(lua_state, 23.0);
636-
if is_excute(fighter) {
637-
AttackModule::clear_all(boma);
638-
notify_event_msc_cmd!(fighter, Hash40::new_raw(0x2127e37c07), *GROUND_CLIFF_CHECK_KIND_ALWAYS_BOTH_SIDES);
639-
}
640-
641-
}
642-
643-
unsafe extern "C" fn miifighter_special_hi3_effect(fighter: &mut L2CAgentBase) {
644-
let lua_state = fighter.lua_state_agent;
645-
let boma = fighter.boma();
646-
frame(lua_state, 1.0);
647-
if is_excute(fighter) {
648-
LANDING_EFFECT(fighter, Hash40::new("sys_action_smoke_h"), Hash40::new("top"), 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
649-
}
650-
frame(lua_state, 4.0);
651-
if is_excute(fighter) {
652-
EFFECT(fighter, Hash40::new("sys_smash_flash"), Hash40::new("top"), 3, 9, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
653-
}
654-
frame(lua_state, 5.0);
655-
if is_excute(fighter) {
656-
EFFECT_FOLLOW_FLIP(fighter, Hash40::new("miifighter_pistonpunch_arc"), Hash40::new("miifighter_pistonpunch_arc"), Hash40::new("top"), 0, -5, -1.5, 10, 0, 0, 0.75, true, *EF_FLIP_XY);
657-
EFFECT_FOLLOW_NO_STOP(fighter, Hash40::new("miifighter_pistonpunch"), Hash40::new("top"), 0, 18, 3, 10, 0, 0, 0.7, true);
658-
}
659-
frame(lua_state, 7.0);
660-
if is_excute(fighter) {
661-
EFFECT_FOLLOW(fighter, Hash40::new("miifighter_pistonpunch_impact"), Hash40::new("top"), 0, 18, 3, 0, 0, 0, 1, true);
662-
}
663-
frame(lua_state, 11.0);
664-
if is_excute(fighter) {
665-
EFFECT_DETACH_KIND(fighter, Hash40::new("miifighter_pistonpunch_arc"), -1);
666-
}
667-
frame(lua_state, 20.0);
668-
if is_excute(fighter) {
669-
EFFECT_FOLLOW_FLIP(fighter, Hash40::new("miifighter_pistonpunch_line"), Hash40::new("miifighter_pistonpunch_line"), Hash40::new("top"), 0, -7, 2, -90, 0, 0, 0.8, true, *EF_FLIP_XY);
670-
EFFECT_FOLLOW(fighter, Hash40::new("miifighter_pistonpunch_impact"), Hash40::new("top"), 0, 15, 1, 0, 0, 0, 1, true);
671-
}
672-
frame(lua_state, 21.0);
673-
if is_excute(fighter) {
674-
EFFECT_FOLLOW_NO_STOP(fighter, Hash40::new("miifighter_pistonpunch"), Hash40::new("top"), 0, 15, 1, 10, 0, 0, 1, true);
675-
}
676-
}
677-
678-
unsafe extern "C" fn miifighter_special_air_hi3_effect(fighter: &mut L2CAgentBase) {
679-
let lua_state = fighter.lua_state_agent;
680-
let boma = fighter.boma();
681-
frame(lua_state, 4.0);
682-
if is_excute(fighter) {
683-
EFFECT(fighter, Hash40::new("sys_smash_flash"), Hash40::new("top"), 3, 9, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
684-
}
685-
frame(lua_state, 5.0);
686-
if is_excute(fighter) {
687-
EFFECT_FOLLOW_FLIP(fighter, Hash40::new("miifighter_pistonpunch_arc"), Hash40::new("miifighter_pistonpunch_arc"), Hash40::new("top"), 0, -5, -1.5, 10, 0, 0, 0.75, true, *EF_FLIP_XY);
688-
EFFECT_FOLLOW_NO_STOP(fighter, Hash40::new("miifighter_pistonpunch"), Hash40::new("top"), 0, 18, 3, 10, 0, 0, 0.7, true);
689-
}
690-
frame(lua_state, 7.0);
691-
if is_excute(fighter) {
692-
EFFECT_FOLLOW(fighter, Hash40::new("miifighter_pistonpunch_impact"), Hash40::new("top"), 0, 18, 3, 0, 0, 0, 1, true);
693-
}
694-
frame(lua_state, 11.0);
695-
if is_excute(fighter) {
696-
EFFECT_DETACH_KIND(fighter, Hash40::new("miifighter_pistonpunch_arc"), -1);
697-
}
698-
frame(lua_state, 20.0);
699-
if is_excute(fighter) {
700-
EFFECT_FOLLOW_FLIP(fighter, Hash40::new("miifighter_pistonpunch_line"), Hash40::new("miifighter_pistonpunch_line"), Hash40::new("top"), 0, -7, 2, -90, 0, 0, 0.8, true, *EF_FLIP_XY);
701-
EFFECT_FOLLOW(fighter, Hash40::new("miifighter_pistonpunch_impact"), Hash40::new("top"), 0, 15, 1, 0, 0, 0, 1, true);
702-
}
703-
frame(lua_state, 21.0);
704-
if is_excute(fighter) {
705-
EFFECT_FOLLOW_NO_STOP(fighter, Hash40::new("miifighter_pistonpunch"), Hash40::new("top"), 0, 15, 1, 10, 0, 0, 1, true);
706-
}
707-
}
708-
709-
710572
unsafe extern "C" fn miifighter_special_lw1_game(fighter: &mut L2CAgentBase) {
711573
let lua_state = fighter.lua_state_agent;
712574
let boma = fighter.boma();

fighters/miifighter/src/opff.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ pub unsafe fn moveset(fighter: &mut L2CFighterCommon, boma: &mut BattleObjectMod
165165
pub extern "C" fn miifighter_frame_wrapper(fighter: &mut smash::lua2cpp::L2CFighterCommon) {
166166
unsafe {
167167
common::opff::fighter_common_opff(fighter);
168-
miifighter_frame(fighter)
168+
miifighter_frame(fighter)
169169
}
170170
}
171171

fighters/nana/src/opff.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ pub unsafe fn moveset(fighter: &mut L2CFighterCommon, boma: &mut BattleObjectMod
2424
// nothing lol
2525
}
2626

27-
#[fighter_frame( agent = FIGHTER_KIND_NANA )]
2827
pub fn cheer_cancel_wrapper(fighter: &mut smash::lua2cpp::L2CFighterCommon) {
2928
unsafe {
3029
cheer_cancel(fighter);
@@ -37,6 +36,7 @@ pub extern "C" fn nana_frame_wrapper(fighter: &mut smash::lua2cpp::L2CFighterCom
3736
common::opff::fighter_common_opff(fighter);
3837
nana_frame(fighter);
3938
ice_climbers_common(fighter);
39+
cheer_cancel_wrapper(fighter);
4040
}
4141
}
4242

fighters/ness/src/opff.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ pub unsafe fn ness_frame(fighter: &mut smash::lua2cpp::L2CFighterCommon) {
215215
}
216216
}
217217

218-
pub fn pkthunder_callback(weapon: &mut smash::lua2cpp::L2CFighterBase) {
218+
pub unsafe extern "C" fn pkthunder_callback(weapon: &mut smash::lua2cpp::L2CFighterBase) {
219219
unsafe {
220220
if weapon.kind() != WEAPON_KIND_NESS_PK_THUNDER {
221221
return

fighters/ness/src/status.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ unsafe extern "C" fn move_exec(weapon: &mut L2CFighterCommon) -> L2CValue {
1212
MotionModule::change_motion_force_inherit_frame(weapon.module_accessor, Hash40::new("move"), 0.0, 1.0, 1.0);
1313
return 0.into();
1414
}
15-
original!(weapon);
15+
smashline::original_status(Exec, weapon, *WEAPON_NESS_PK_THUNDER_STATUS_KIND_MOVE)(weapon);
1616
}
1717
0.into()
1818
}

src/lib.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ use skyline::libc::c_char;
3535
use skyline_web::*;
3636
use std::{fs, path::Path};
3737

38-
#[smashline::installer]
39-
pub fn install() {
38+
#[cfg(not(feature = "main_nro"))]
39+
#[no_mangle]
40+
pub fn smashline_install() {
4041
fighters::install();
4142
}
4243

@@ -406,6 +407,7 @@ pub extern "C" fn main() {
406407
//game_end,
407408
//game_exit
408409
);
410+
fighters::install();
409411
}
410412

411413
#[cfg(not(feature = "runtime"))]

0 commit comments

Comments
 (0)