actually good camera shake
This commit is contained in:
parent
ee4579bd2d
commit
38c9f960e3
@ -24,7 +24,7 @@
|
||||
//~ Settings
|
||||
|
||||
|
||||
#define PROFILING_ENABLED 1
|
||||
#define PROFILING_ENABLED 0
|
||||
|
||||
|
||||
#define PROFILER_PRIORITY_ASYNC 10
|
||||
|
||||
16
src/pp/pp.c
16
src/pp/pp.c
@ -3226,7 +3226,7 @@ void P_StepFrame(P_Frame *frame)
|
||||
bullet->is_bomb = is_bomb;
|
||||
|
||||
bullet->source = weapon->key;
|
||||
bullet->damage_attribution = firer->source;
|
||||
bullet->damage_attribution_player = firer->source;
|
||||
bullet->sim = weapon->sim;
|
||||
}
|
||||
}
|
||||
@ -3260,7 +3260,7 @@ void P_StepFrame(P_Frame *frame)
|
||||
{
|
||||
P_Ent *weapon = P_EntFromKey(frame, bullet->source);
|
||||
P_Ent *firer = P_EntFromKey(frame, weapon->source);
|
||||
P_Ent *damager = P_EntFromKey(frame, bullet->damage_attribution);
|
||||
P_Ent *damager = P_EntFromKey(frame, bullet->damage_attribution_player);
|
||||
|
||||
b32 is_first_bullet_tick = bullet->created_at_tick == frame->tick;
|
||||
|
||||
@ -3555,9 +3555,10 @@ void P_StepFrame(P_Frame *frame)
|
||||
{
|
||||
if (damager->is_player)
|
||||
{
|
||||
victim->damage_attribution = damager->key;
|
||||
victim->damage_attribution_player = damager->key;
|
||||
victim->damage_attribution_dir = SubVec2(bullet->xf.t, p0);
|
||||
}
|
||||
victim->health -= 0.25;
|
||||
victim->health -= 0.5;
|
||||
}
|
||||
|
||||
// Prune out of bounds bullet
|
||||
@ -3600,7 +3601,7 @@ void P_StepFrame(P_Frame *frame)
|
||||
// {
|
||||
// P_Ent *weapon = P_EntFromKey(frame, bullet->source);
|
||||
// P_Ent *firer = P_EntFromKey(frame, weapon->source);
|
||||
// P_Ent *damager = P_EntFromKey(frame, bullet->damage_attribution);
|
||||
// P_Ent *damager = P_EntFromKey(frame, bullet->damage_attribution_player);
|
||||
|
||||
|
||||
|
||||
@ -3736,7 +3737,7 @@ void P_StepFrame(P_Frame *frame)
|
||||
// {
|
||||
// if (damager->is_player)
|
||||
// {
|
||||
// victim->damage_attribution = damager->key;
|
||||
// victim->damage_attribution_player = damager->key;
|
||||
// }
|
||||
// victim->health -= 0.25;
|
||||
// }
|
||||
@ -3768,7 +3769,7 @@ void P_StepFrame(P_Frame *frame)
|
||||
if (old_guy->health > 0)
|
||||
{
|
||||
P_Ent *player = P_EntFromKey(frame, guy->source);
|
||||
P_Ent *killer = P_EntFromKey(frame, guy->damage_attribution);
|
||||
P_Ent *killer = P_EntFromKey(frame, guy->damage_attribution_player);
|
||||
// Update kill info
|
||||
{
|
||||
if (player->is_player)
|
||||
@ -3788,6 +3789,7 @@ void P_StepFrame(P_Frame *frame)
|
||||
P_Ent *death = P_PushTempEnt(scratch.arena, &ents_to_spawn);
|
||||
death->key = P_EntKeyFromU64(MixU64s(guy->key.v, P_DeathBasis + (u64)player->deaths));
|
||||
death->death_pos = guy->xf.t;
|
||||
death->death_dir = guy->damage_attribution_dir;
|
||||
death->is_death = 1;
|
||||
death->death_victim = player->key;
|
||||
death->death_killer = killer->key;
|
||||
|
||||
@ -159,6 +159,7 @@ Struct(P_NetworkedEntState)
|
||||
|
||||
b32 is_death;
|
||||
Vec2 death_pos;
|
||||
Vec2 death_dir;
|
||||
P_EntKey death_victim;
|
||||
P_EntKey death_killer;
|
||||
|
||||
@ -182,7 +183,8 @@ Struct(P_NetworkedEntState)
|
||||
|
||||
//- Guy / Bullet
|
||||
|
||||
P_EntKey damage_attribution;
|
||||
P_EntKey damage_attribution_player;
|
||||
Vec2 damage_attribution_dir;
|
||||
|
||||
//- Player
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -35,7 +35,7 @@ Struct(V_WidgetTheme)
|
||||
GC_FontKey ui_font;
|
||||
GC_FontKey chat_font;
|
||||
GC_FontKey icon_font;
|
||||
GC_FontKey player_name_font;
|
||||
GC_FontKey game_font;
|
||||
|
||||
f32 ui_font_size;
|
||||
f32 chat_font_size;
|
||||
|
||||
@ -1233,13 +1233,14 @@ ComputeShader(V_CompositeCS)
|
||||
// World bounds
|
||||
if (draw_grid || frame.is_editing)
|
||||
{
|
||||
const Vec4 bounds_color = LinearFromSrgb(Vec4(0.75, 0.75, 0, 1));
|
||||
// const Vec4 bounds_color = LinearFromSrgb(Vec4(0.75, 0.75, 0, 1));
|
||||
const Vec4 bounds_color = LinearFromSrgb(Vec4(1.35, 1.35, 0, 1));
|
||||
f32 bounds_dist = 100000;
|
||||
bounds_dist = min(bounds_dist, abs(screen_pos.x - world_bounds_screen_p0.x));
|
||||
bounds_dist = min(bounds_dist, abs(screen_pos.x - world_bounds_screen_p1.x));
|
||||
bounds_dist = min(bounds_dist, abs(screen_pos.y - world_bounds_screen_p0.y));
|
||||
bounds_dist = min(bounds_dist, abs(screen_pos.y - world_bounds_screen_p1.y));
|
||||
if (bounds_dist <= half_thickness)
|
||||
if (bounds_dist <= half_thickness * 2)
|
||||
{
|
||||
grid_color = bounds_color;
|
||||
}
|
||||
|
||||
@ -1463,14 +1463,7 @@ void UI_EndFrame(UI_Frame *frame, i32 vsync)
|
||||
UI_Size size = box->desc.pref_semantic_dims[axis];
|
||||
if (size.kind == UI_SizeKind_Pixel)
|
||||
{
|
||||
if (TweakBool("RAAAAAAAAAAAAAH", 1))
|
||||
{
|
||||
box->solved_dims.v[axis] = size.v;
|
||||
}
|
||||
else
|
||||
{
|
||||
box->solved_dims.v[axis] = CeilF32(size.v);
|
||||
}
|
||||
box->solved_dims.v[axis] = size.v;
|
||||
}
|
||||
else if (size.kind == UI_SizeKind_Shrink)
|
||||
{
|
||||
@ -1485,25 +1478,11 @@ void UI_EndFrame(UI_Frame *frame, i32 vsync)
|
||||
{
|
||||
text_size = box->glyph_run.font_ascent + box->glyph_run.font_descent;
|
||||
}
|
||||
if (TweakBool("RAAAAAAAAAAAAAH", 1))
|
||||
{
|
||||
box->solved_dims.v[axis] = text_size + (size.v * 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
box->solved_dims.v[axis] = CeilF32(text_size + (size.v * 2));
|
||||
}
|
||||
box->solved_dims.v[axis] = text_size + (size.v * 2);
|
||||
}
|
||||
else if (!SPR_IsSheetKeyNil(box->desc.sprite_sheet))
|
||||
{
|
||||
if (TweakBool("RAAAAAAAAAAAAAH", 1))
|
||||
{
|
||||
box->solved_dims.v[axis] = box->sprite.tex_rect.p1.v[axis] - box->sprite.tex_rect.p0.v[axis] + (size.v * 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
box->solved_dims.v[axis] = CeilF32(box->sprite.tex_rect.p1.v[axis] - box->sprite.tex_rect.p0.v[axis] + (size.v * 2));
|
||||
}
|
||||
box->solved_dims.v[axis] = box->sprite.tex_rect.p1.v[axis] - box->sprite.tex_rect.p0.v[axis] + (size.v * 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user