Skip to content

Commit df9ab88

Browse files
committed
Falcon
1 parent e2a3d0b commit df9ab88

26 files changed

+522
-483
lines changed

Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,8 @@ utils.workspace = true
230230
default = [
231231
"bayonetta",
232232
"brave",
233-
# "buddy",
234-
# "captain",
233+
"buddy",
234+
"captain",
235235
# "chrom",
236236
# "cloud",
237237
"common",

dynamic/src/consts.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1457,7 +1457,7 @@ pub mod statuses {
14571457
}
14581458

14591459
pub mod buddy {
1460-
pub const BUDDY_BAYONET_END: i32 = 0;
1460+
pub const BUDDY_BAYONET_END: i32 = 0x1FB;
14611461
}
14621462

14631463
pub mod littlemac {

fighters/buddy/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/buddy/src/acmd/aerials.rs

+46-46
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ use super::*;
22

33

44
// Uses smash_script, if you prefer to use the built-in macros instead.
5-
#[acmd_script( agent = "buddy", script = "game_attackairn" , category = ACMD_GAME , low_priority)]
6-
unsafe fn buddy_attack_air_n_game(fighter: &mut L2CAgentBase) {
5+
6+
unsafe extern "C" fn buddy_attack_air_n_game(fighter: &mut L2CAgentBase) {
77
let lua_state = fighter.lua_state_agent;
88
let boma = smash::app::sv_system::battle_object_module_accessor(lua_state);
99
frame(lua_state, 6.0);
@@ -49,8 +49,8 @@ unsafe fn buddy_attack_air_n_game(fighter: &mut L2CAgentBase) {
4949
WorkModule::off_flag(fighter.module_accessor, *FIGHTER_STATUS_ATTACK_AIR_FLAG_ENABLE_LANDING);
5050
}
5151
}
52-
#[acmd_script( agent = "buddy", script = "effect_attackairn", category = ACMD_EFFECT )]
53-
unsafe fn buddy_attack_air_n_effect(fighter: &mut L2CAgentBase) {
52+
53+
unsafe extern "C" fn buddy_attack_air_n_effect(fighter: &mut L2CAgentBase) {
5454
let lua_state = fighter.lua_state_agent;
5555
frame(lua_state, 9.0);
5656
if is_excute(fighter) {
@@ -59,8 +59,8 @@ unsafe fn buddy_attack_air_n_effect(fighter: &mut L2CAgentBase) {
5959
}
6060
}
6161

62-
#[acmd_script( agent = "buddy", script = "sound_attackairn", category = ACMD_SOUND )]
63-
unsafe fn buddy_attack_air_n_sound(fighter: &mut L2CAgentBase) {
62+
63+
unsafe extern "C" fn buddy_attack_air_n_sound(fighter: &mut L2CAgentBase) {
6464
let lua_state = fighter.lua_state_agent;
6565
frame(lua_state, 7.0);
6666
if is_excute(fighter) {
@@ -81,8 +81,8 @@ unsafe fn buddy_attack_air_n_sound(fighter: &mut L2CAgentBase) {
8181
}
8282
}
8383

84-
#[acmd_script( agent = "buddy", script = "expression_attackairn", category = ACMD_EXPRESSION, low_priority )]
85-
unsafe fn buddy_attack_air_n_expression(fighter: &mut L2CAgentBase) {
84+
85+
unsafe extern "C" fn buddy_attack_air_n_expression(fighter: &mut L2CAgentBase) {
8686
let lua_state = fighter.lua_state_agent;
8787
let boma = fighter.boma();
8888
if is_excute(fighter) {
@@ -114,8 +114,8 @@ unsafe fn buddy_attack_air_n_expression(fighter: &mut L2CAgentBase) {
114114
}
115115
}
116116

117-
#[acmd_script( agent = "buddy", script = "game_attackairf" , category = ACMD_GAME , low_priority)]
118-
unsafe fn buddy_attack_air_f_game(fighter: &mut L2CAgentBase) {
117+
118+
unsafe extern "C" fn buddy_attack_air_f_game(fighter: &mut L2CAgentBase) {
119119
let lua_state = fighter.lua_state_agent;
120120
let boma = fighter.boma();
121121
frame(lua_state, 3.0);
@@ -158,8 +158,8 @@ unsafe fn buddy_attack_air_f_game(fighter: &mut L2CAgentBase) {
158158
}
159159
}
160160

161-
#[acmd_script( agent = "buddy", script = "expression_attackairf", category = ACMD_EXPRESSION, low_priority )]
162-
unsafe fn buddy_attack_air_f_expression(fighter: &mut L2CAgentBase) {
161+
162+
unsafe extern "C" fn buddy_attack_air_f_expression(fighter: &mut L2CAgentBase) {
163163
let lua_state = fighter.lua_state_agent;
164164
let boma = fighter.boma();
165165
frame(lua_state, 12.0);
@@ -172,8 +172,8 @@ unsafe fn buddy_attack_air_f_expression(fighter: &mut L2CAgentBase) {
172172
}
173173
}
174174

175-
#[acmd_script( agent = "buddy", script = "game_attackairb" , category = ACMD_GAME , low_priority)]
176-
unsafe fn buddy_attack_air_b_game(fighter: &mut L2CAgentBase) {
175+
176+
unsafe extern "C" fn buddy_attack_air_b_game(fighter: &mut L2CAgentBase) {
177177
let lua_state = fighter.lua_state_agent;
178178
let boma = fighter.boma();
179179
frame(lua_state, 8.0);
@@ -215,8 +215,8 @@ unsafe fn buddy_attack_air_b_game(fighter: &mut L2CAgentBase) {
215215
}
216216
}
217217

218-
#[acmd_script( agent = "buddy", script = "game_attackairhi" , category = ACMD_GAME , low_priority)]
219-
unsafe fn buddy_attack_air_hi_game(fighter: &mut L2CAgentBase) {
218+
219+
unsafe extern "C" fn buddy_attack_air_hi_game(fighter: &mut L2CAgentBase) {
220220
let lua_state = fighter.lua_state_agent;
221221
let boma = fighter.boma();
222222
frame(lua_state, 2.0);
@@ -241,8 +241,8 @@ unsafe fn buddy_attack_air_hi_game(fighter: &mut L2CAgentBase) {
241241
}
242242
}
243243

244-
#[acmd_script( agent = "buddy", script = "effect_attackairhi", category = ACMD_EFFECT, low_priority )]
245-
unsafe fn effect_attackairhi(agent: &mut L2CAgentBase) {
244+
245+
unsafe extern "C" fn effect_attackairhi(agent: &mut L2CAgentBase) {
246246
let lua_state = agent.lua_state_agent;
247247
let boma = agent.boma();
248248
frame(lua_state, 7.0);
@@ -284,8 +284,8 @@ unsafe fn effect_attackairhi(agent: &mut L2CAgentBase) {
284284
}
285285
}
286286

287-
#[acmd_script( agent = "buddy", script = "expression_attackairhi", category = ACMD_EXPRESSION, low_priority )]
288-
unsafe fn buddy_attack_air_hi_expression(fighter: &mut L2CAgentBase) {
287+
288+
unsafe extern "C" fn buddy_attack_air_hi_expression(fighter: &mut L2CAgentBase) {
289289
let lua_state = fighter.lua_state_agent;
290290
let boma = fighter.boma();
291291
frame(lua_state, 6.0);
@@ -298,8 +298,8 @@ unsafe fn buddy_attack_air_hi_expression(fighter: &mut L2CAgentBase) {
298298
}
299299
}
300300

301-
#[acmd_script( agent = "buddy", script = "game_attackairlw" , category = ACMD_GAME , low_priority)]
302-
unsafe fn buddy_attack_air_lw_game(fighter: &mut L2CAgentBase) {
301+
302+
unsafe extern "C" fn buddy_attack_air_lw_game(fighter: &mut L2CAgentBase) {
303303
let lua_state = fighter.lua_state_agent;
304304
let boma = fighter.boma();
305305
if is_excute(fighter) {
@@ -377,8 +377,8 @@ unsafe fn buddy_attack_air_lw_game(fighter: &mut L2CAgentBase) {
377377
WorkModule::off_flag(boma, *FIGHTER_STATUS_WORK_ID_FLAG_RESERVE_GRAVITY_STABLE_UNABLE);
378378
}
379379
}
380-
#[acmd_script( agent = "buddy", script = "effect_attackairlw", category = ACMD_EFFECT, low_priority )]
381-
unsafe fn buddy_attack_air_lw_effect(agent: &mut L2CAgentBase) {
380+
381+
unsafe extern "C" fn buddy_attack_air_lw_effect(agent: &mut L2CAgentBase) {
382382
frame(agent.lua_state_agent, 14.0);
383383
if macros::is_excute(agent) {
384384
macros::EFFECT_FLW_POS(agent, Hash40::new("buddy_air_lw"), Hash40::new("top"), 0, -7, 0, 0, 0, 0, 1, true);
@@ -405,8 +405,8 @@ unsafe fn buddy_attack_air_lw_effect(agent: &mut L2CAgentBase) {
405405
}
406406
}
407407

408-
#[acmd_script( agent = "buddy", script = "expression_attackairlw", category = ACMD_EXPRESSION, low_priority )]
409-
unsafe fn buddy_attack_air_lw_expression(fighter: &mut L2CAgentBase) {
408+
409+
unsafe extern "C" fn buddy_attack_air_lw_expression(fighter: &mut L2CAgentBase) {
410410
let lua_state = fighter.lua_state_agent;
411411
let boma = fighter.boma();
412412
if is_excute(fighter) {
@@ -422,27 +422,27 @@ unsafe fn buddy_attack_air_lw_expression(fighter: &mut L2CAgentBase) {
422422
}
423423
}
424424

425-
#[acmd_script( agent = "buddy", script = "game_landingairlw" , category = ACMD_GAME , low_priority)]
426-
unsafe fn buddy_landing_air_lw_game(agent: &mut L2CAgentBase) {
425+
426+
unsafe extern "C" fn buddy_landing_air_lw_game(agent: &mut L2CAgentBase) {
427427
}
428428

429429

430-
pub fn install() {
431-
install_acmd_scripts!(
432-
buddy_attack_air_n_game,
433-
buddy_attack_air_n_sound,
434-
buddy_attack_air_n_effect,
435-
buddy_attack_air_n_expression,
436-
buddy_attack_air_f_game,
437-
buddy_attack_air_f_expression,
438-
buddy_attack_air_b_game,
439-
buddy_attack_air_hi_game,
440-
effect_attackairhi,
441-
buddy_attack_air_hi_expression,
442-
buddy_attack_air_lw_game,
443-
buddy_attack_air_lw_effect,
444-
buddy_attack_air_lw_expression,
445430

446-
buddy_landing_air_lw_game,
447-
);
448-
}
431+
pub fn install() {
432+
smashline::Agent::new("buddy")
433+
.acmd("game_attackairn", buddy_attack_air_n_game)
434+
.acmd("effect_attackairn", buddy_attack_air_n_effect)
435+
.acmd("sound_attackairn", buddy_attack_air_n_sound)
436+
.acmd("expression_attackairn", buddy_attack_air_n_expression)
437+
.acmd("game_attackairf", buddy_attack_air_f_game)
438+
.acmd("expression_attackairf", buddy_attack_air_f_expression)
439+
.acmd("game_attackairb", buddy_attack_air_b_game)
440+
.acmd("game_attackairhi", buddy_attack_air_hi_game)
441+
.acmd("effect_attackairhi", effect_attackairhi)
442+
.acmd("expression_attackairhi", buddy_attack_air_hi_expression)
443+
.acmd("game_attackairlw", buddy_attack_air_lw_game)
444+
.acmd("effect_attackairlw", buddy_attack_air_lw_effect)
445+
.acmd("expression_attackairlw", buddy_attack_air_lw_expression)
446+
.acmd("game_landingairlw", buddy_landing_air_lw_game)
447+
.install();
448+
}

fighters/buddy/src/acmd/ground.rs

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

33

4-
#[acmd_script( agent = "buddy", script = "game_attack11" , category = ACMD_GAME , low_priority)]
5-
unsafe fn buddy_attack_11_game(fighter: &mut L2CAgentBase) {
4+
5+
unsafe extern "C" fn buddy_attack_11_game(fighter: &mut L2CAgentBase) {
66
let lua_state = fighter.lua_state_agent;
77
let boma = fighter.boma();
88
frame(lua_state, 4.0);
@@ -21,8 +21,8 @@ unsafe fn buddy_attack_11_game(fighter: &mut L2CAgentBase) {
2121
}
2222
}
2323

24-
#[acmd_script( agent = "buddy", script = "game_attack12" , category = ACMD_GAME , low_priority)]
25-
unsafe fn buddy_attack_12_game(fighter: &mut L2CAgentBase) {
24+
25+
unsafe extern "C" fn buddy_attack_12_game(fighter: &mut L2CAgentBase) {
2626
let lua_state = fighter.lua_state_agent;
2727
let boma = fighter.boma();
2828
frame(lua_state, 4.0);
@@ -49,8 +49,8 @@ unsafe fn buddy_attack_12_game(fighter: &mut L2CAgentBase) {
4949
}
5050
}
5151

52-
#[acmd_script( agent = "buddy", script = "game_attack13" , category = ACMD_GAME , low_priority)]
53-
unsafe fn buddy_attack_13_game(fighter: &mut L2CAgentBase) {
52+
53+
unsafe extern "C" fn buddy_attack_13_game(fighter: &mut L2CAgentBase) {
5454
let lua_state = fighter.lua_state_agent;
5555
let boma = fighter.boma();
5656
frame(lua_state, 4.0);
@@ -72,8 +72,8 @@ unsafe fn buddy_attack_13_game(fighter: &mut L2CAgentBase) {
7272
}
7373
}
7474

75-
#[acmd_script( agent = "buddy", script = "expression_attack13", category = ACMD_EXPRESSION, low_priority )]
76-
unsafe fn buddy_attack_13_expression(fighter: &mut L2CAgentBase) {
75+
76+
unsafe extern "C" fn buddy_attack_13_expression(fighter: &mut L2CAgentBase) {
7777
let lua_state = fighter.lua_state_agent;
7878
let boma = fighter.boma();
7979
if is_excute(fighter) {
@@ -101,8 +101,8 @@ unsafe fn buddy_attack_13_expression(fighter: &mut L2CAgentBase) {
101101
}
102102
}
103103

104-
#[acmd_script( agent = "buddy", script = "game_attackdash" , category = ACMD_GAME , low_priority)]
105-
unsafe fn buddy_attack_dash_game(fighter: &mut L2CAgentBase) {
104+
105+
unsafe extern "C" fn buddy_attack_dash_game(fighter: &mut L2CAgentBase) {
106106
let lua_state = fighter.lua_state_agent;
107107
let boma = fighter.boma();
108108

@@ -129,8 +129,8 @@ unsafe fn buddy_attack_dash_game(fighter: &mut L2CAgentBase) {
129129
}
130130
}
131131

132-
#[acmd_script( agent = "buddy", script = "effect_attackdash", category = ACMD_EFFECT, low_priority )]
133-
unsafe fn buddy_attack_dash_effect(fighter: &mut L2CAgentBase) {
132+
133+
unsafe extern "C" fn buddy_attack_dash_effect(fighter: &mut L2CAgentBase) {
134134
let lua_state = fighter.lua_state_agent;
135135
let boma = fighter.boma();
136136
frame(lua_state, 7.0);
@@ -176,13 +176,14 @@ unsafe fn buddy_attack_dash_effect(fighter: &mut L2CAgentBase) {
176176
}
177177
}
178178

179+
179180
pub fn install() {
180-
install_acmd_scripts!(
181-
buddy_attack_11_game,
182-
buddy_attack_12_game,
183-
buddy_attack_13_game,
184-
buddy_attack_13_expression,
185-
buddy_attack_dash_game,
186-
buddy_attack_dash_effect,
187-
);
188-
}
181+
smashline::Agent::new("buddy")
182+
.acmd("game_attack11", buddy_attack_11_game)
183+
.acmd("game_attack12", buddy_attack_12_game)
184+
.acmd("game_attack13", buddy_attack_13_game)
185+
.acmd("expression_attack13", buddy_attack_13_expression)
186+
.acmd("game_attackdash", buddy_attack_dash_game)
187+
.acmd("effect_attackdash", buddy_attack_dash_effect)
188+
.install();
189+
}

0 commit comments

Comments
 (0)