From: Lukas Krickl Date: Sun, 25 May 2025 06:22:24 +0000 (+0200) Subject: unit: Refactored act def macros to allow for more future stats X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=754f8857fd3db7c336e23080655c958e4907288f;p=gbrg%2F.git unit: Refactored act def macros to allow for more future stats --- diff --git a/src/defs.s b/src/defs.s index 6456787..e146d1a 100644 --- a/src/defs.s +++ b/src/defs.s @@ -93,11 +93,24 @@ ; actor struct ; actor structs are basically just states + ; to define an actor the following macros must be used in order + ; st_def + ; act_def + ; act_stat_def + ; act_st_def + ; act_def_draw .se 0 ; copy of current state .de act_state, st_size .de act_type, 1 .de act_flags, 1 + +.de act_pos_y, 1 ; y/x tile position +.de act_pos_x, 1 + ; custom parameter +.de act_p0, 1 + + ; stats .de act_hp, stat_size .de act_atk, stat_size @@ -105,11 +118,6 @@ .de act_moves, stat_size ; moves for each turn .de act_init, 1 ; initiative value -.de act_pos_y, 1 ; y/x tile position -.de act_pos_x, 1 - ; custom parameter -.de act_p0, 1 - ; actor states ; used for state switching ; set to 0000 to disable the state diff --git a/src/macros.inc b/src/macros.inc index d3be0a3..296612f 100644 --- a/src/macros.inc +++ b/src/macros.inc @@ -151,25 +151,29 @@ ; inputs: ; $1 type ; $2 flags - ; $3 hp - ; $4 atk - ; $5 shiled - ; $6 moves - ; $7 initiative - ; $8 y pos - ; $9 x pos - ; $10 custom p0 value + ; $3 y pos + ; $4 x pos + ; $5 custom p0 value #macro act_def .db $1 ; type .db $2 ; flags - .db $3, $3 ; hp hp max - .db $4, $4 ; atk atk max - .db $5, $5 ; shiled shield max - .db $6, $6 ; moves moves max - .db $7 ; initiative - .db $8 ; y pos - .db $9 ; x pos - .db $10 ; p0 + .db $3 ; y pos + .db $4 ; x pos + .db $5 ; p0 +#endmacro + + ; defines an actor's stats + ; $1 hp + ; $2 atk + ; $3 shiled + ; $4 moves + ; $5 initiative +#macro act_stat_def + .db $1, $1 ; hp hp max + .db $2, $2 ; atk atk max + .db $3, $3 ; shiled shield max + .db $4, $4 ; moves moves max + .db $5 ; initiative #endmacro ; defines actor state callbacks diff --git a/src/unit.s b/src/unit.s index 195d526..551c6c0 100644 --- a/src/unit.s +++ b/src/unit.s @@ -623,20 +623,23 @@ unit_resume_objs: unit_demo_1: st_def 0x00, unit_demo_1_init, st_unit_idle - act_def ACT_T_DEMO_1, 0, 1, 2, 3, 4, 6, 2, 2, 0 + act_def ACT_T_DEMO_1, 0, 2, 2, 0 + act_stat_def 1, 2, 3, 4, 6 act_st_def NULL, NULL, st_unit_demo_1_update, st_unit_idle act_def_draw unit_draw, 0x84, 0 unit_demo_2: st_def 0x00, unit_demo_1_init, st_unit_idle - act_def ACT_T_DEMO_1, 0, 1, 2, 3, 1, 5, 3, 3, 0 + act_def ACT_T_DEMO_1, 0, 3, 3, 0 + act_stat_def 1, 2, 3, 1, 5 act_st_def NULL, NULL, st_unit_demo_1_update, st_unit_idle act_def_draw unit_draw, 0x84, 0 unit_demo_3: st_def 0x00, unit_demo_1_init, st_unit_idle - act_def ACT_T_DEMO_1, 0, 1, 2, 3, 0, 5, 4, 4, 0 + act_def ACT_T_DEMO_1, 0, 4, 4, 0 + act_stat_def 1, 2, 3, 0, 5 act_st_def NULL, NULL, st_unit_demo_1_update, st_unit_idle act_def_draw unit_draw, 0x84, 0