HUD pass, weapon and trinket rework, and font arrows
HUD: - Hotbars fit a quarter of the screen, dropping to small then tiny slots (thinner outlines when tiny), with cooldown bars matching their size. - HUD elements are drawn on their own layer and composited at one opacity: hotbar slots are see-through until hovered, the rest fade while hovered. - Rival windows fit the right column in at most two rows, shrinking icons then font, then dropping icons for name, health and ping bars. - Tooltips number equipped items' slots and say Recoil for weapons that only push back. Previews use arrows, spread uses degrees. - Crosshair fills in and shakes with charge, and weapons shake after firing until their cooldown ends. DPS and speed meters off by default. Gameplay: - Dual Wield stacks: each copy fires another recently held weapon from a fanned off-hand, at its own level's cut. - Flamethrower: no slowing, smaller fireball with some recoil, and an airblast that knocks others away. - Iron Weights slam on any landing faster than a plain fall (platforms too), stacking radius and damage, and speeding fast falls. - Stuck arrows are one-way ledges until they fade, matching their (slightly larger) hit size. Attacks now collide with slopes. - Halved Tesla Coil, Recoil Coil, Diazepam, Shock Absorber, Feather and screenshake values. Art and tools: - Weapon and trinket icons merged into one sheet each (normal, small, tiny), cells in catalog order. Grimoire wisps stand upright. - Fonts gain the degree sign and four arrows, decoded from UTF-8. - Menu fighter preview walks at quarter speed. - Unequip from either catalog tab by right click or gamepad. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6003175173
commit
6f112ab231
54 files changed
+1150
-3046
No files matched your search
@@ -49,6 +49,15 @@ struct Flash
|
||||
float size = 0;
|
||||
};
|
||||
|
||||
// A ring swelling out to its radius as it fades, like an airblast.
|
||||
struct Ring
|
||||
{
|
||||
Color color;
|
||||
Vec2 position;
|
||||
float life = 0;
|
||||
float radius = 0;
|
||||
};
|
||||
|
||||
// A fading copy of a sprite left behind by something moving fast.
|
||||
struct Afterimage
|
||||
{
|
||||
@@ -63,6 +72,7 @@ public:
|
||||
void burst(Burst burst, Vec2 position, float angle, Color color);
|
||||
void afterimage_spawn(Pose pose);
|
||||
void flash_spawn(Vec2 position, float angle, float size, Color color);
|
||||
void ring_spawn(Vec2 position, float radius, Color color);
|
||||
void afterimage_draw(Game& game);
|
||||
void number_spawn(Vec2 position, int value, int target, Color color);
|
||||
void dps_record(int amount);
|
||||
@@ -80,6 +90,7 @@ private:
|
||||
std::vector<Hit> hits;
|
||||
std::vector<Particle> particles;
|
||||
std::vector<Popup> popups;
|
||||
std::vector<Ring> rings;
|
||||
float shake = 0;
|
||||
int ticks = 0;
|
||||
};
|
||||
Reference in new issue
Block a user