testing sprite scaling

This commit is contained in:
jacob 2024-03-02 02:17:18 -06:00
parent fb2e026665
commit e9dc6b2854
2 changed files with 11 additions and 8 deletions

View File

@ -66,7 +66,8 @@ struct entity {
/* ENTITY_PROP_TEST */ /* ENTITY_PROP_TEST */
b32 test_initialized; b32 test_initialized;
struct trs test_trs; struct trs test_start_rel_trs;
struct trs test_start_sprite_trs;
/* ====================================================================== */ /* ====================================================================== */
/* ENTITY_PROP_TEST_SOUND_EMITTER */ /* ENTITY_PROP_TEST_SOUND_EMITTER */

View File

@ -158,7 +158,7 @@ INTERNAL void game_update(void)
e->sprite_name = sprite_name; e->sprite_name = sprite_name;
e->sprite_trs = TRS(.t = V2(1, 0), .r = 0, .s = size); e->sprite_trs = TRS(.t = V2(1, 0), .r = 0, .s = size);
e->sprite_pivot = V2(0, -0.5); e->sprite_pivot = V2(1, 0);
entity_enable_prop(e, ENTITY_PROP_TEST); entity_enable_prop(e, ENTITY_PROP_TEST);
entity_enable_prop(e, ENTITY_PROP_TEST_FOLLOW_MOUSE); entity_enable_prop(e, ENTITY_PROP_TEST_FOLLOW_MOUSE);
@ -200,7 +200,8 @@ INTERNAL void game_update(void)
/* ENTITY_PROP_TEST */ /* ENTITY_PROP_TEST */
if (entity_has_prop(ent, ENTITY_PROP_TEST) && !ent->test_initialized) { if (entity_has_prop(ent, ENTITY_PROP_TEST) && !ent->test_initialized) {
ent->test_initialized = true; ent->test_initialized = true;
ent->test_trs = ent->rel_trs; ent->test_start_rel_trs = ent->rel_trs;
ent->test_start_sprite_trs = ent->sprite_trs;
} }
/* ========================== * /* ========================== *
@ -243,7 +244,7 @@ break_animation:
/* ENTITY_PROP_TEST_FOLLOW_MOUSE */ /* ENTITY_PROP_TEST_FOLLOW_MOUSE */
if (entity_has_prop(ent, ENTITY_PROP_TEST_FOLLOW_MOUSE)) { if (entity_has_prop(ent, ENTITY_PROP_TEST_FOLLOW_MOUSE)) {
ent->rel_trs.t = L.tick.player_focus; ent->rel_trs.t = L.tick.player_focus;
ent->test_trs.t = L.tick.player_focus; ent->test_start_rel_trs.t = L.tick.player_focus;
} }
/* ENTITY_PROP_TEST */ /* ENTITY_PROP_TEST */
@ -251,12 +252,13 @@ break_animation:
f32 t = ((f32)L.time); f32 t = ((f32)L.time);
f32 r = t * 0.5f; f32 r = t * 0.5f;
ent->sprite_trs.r = ent->test_trs.r + (r * 3.0f); ent->rel_trs.r = ent->test_start_rel_trs.r + (r * 0.5f);
ent->sprite_trs.r = ent->test_start_sprite_trs.r + (r * 3.0f);
ent->rel_trs.r = ent->test_trs.r + (r * 0.25f);
//f32 s = 1 + (math_abs_f32(math_sin(t * 5)) * 0.5f); f32 s = 1 + (math_abs_f32(math_sin(t * 5)) * 0.25f);
//ent->rel_trs.s = v2_mul(ent->test_trs.s, s); ent->rel_trs.s = v2_mul(ent->test_start_rel_trs.s, s);
ent->sprite_trs.s = v2_mul(ent->test_start_sprite_trs.s, s * 1.5f);
} }
/* ========================== * /* ========================== *