Compare commits

...
Author SHA1 Message Date
Stefan MaierandClaude Opus 5.5 f8a39df0cd No names over the heads in VR for now
In VR the HUD is a screen at a fixed distance before the eyes, so the
names upstream draws on it hung there instead of over the players' heads.
Off until they are drawn into each eye's picture.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:03:10 +02:00
Stefan Maier 6057146244 Merge remote-tracking branch 'upstream/main' into merge/upstream-2026-10-03
# Conflicts:
#	port/linux/game/network_distributed.c
#	port/linux/game/network_distributed.h
2026-10-03 07:38:52 +02:00
Stefan MaierandClaude Opus 5.5 f6c2322df9 Host options in the lobby: public, bots and their skill
Y in a hosted game's lobby opens a panel to make the game public, choose
how many bots join (none by default, up to 15) and how well they play
(bots.skill: easy, normal, hard; hard is the first bots' play, normal a
little slower to notice, turn and aim). Integer settings can now be
written to config.toml as booleans could.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:05:34 +02:00
Stefan MaierandClaude Opus 5.5 39fbaefaac Keep the new settings out of the network table
The settings file is written in the table's order, so settings of another
section between network.* entries wrote [network] twice, and the whole
file was then refused (defaults used). They now follow the network
settings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:52:14 +02:00
Stefan MaierandClaude Opus 5.5 c6397cb515 Bots find their way with the game's pathfinding (phase 1)
A bot walks to its goal along a path from ai/path.c (the maps' pathfinding
surfaces, as the campaign's actors use them), found again every half
second: in a fight towards its target, weaving; out of sight hunting the
nearest enemy, or roaming near someone; looking where it goes. With no
path it walks straight at the goal, and when stuck picks another.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:05:12 +02:00
MrBruh 80d30410c8 Flush the GPU every 3 draws on Mesa Intel 2026-10-03 02:56:11 +13:00
MrBruh d1c7243cb2 Rework the multiplayer scoreboard 2026-10-03 01:16:09 +13:00
MrBruh fd3d62f960 Keep player names bannable 2026-10-02 22:12:16 +13:00
Stefan MaierandClaude Opus 5.5 5ba6c13097 Bots as players of the host (phase 0)
bots.count bots are added in the lobby as players of machines of the
host's own that nothing connects to (four a machine, from the top slot
down): new connections skip their slots, and they count as machines for
the countdown, so a game of the host and bots starts. Every machine sees
them as players; each tick the host thinks for them (bots.c) and takes
the result as their input through update_server_handle_distributed_input.
The first brain finds the nearest visible enemy, turns at a player's rate
with some aim error, walks at it weaving and fires on target, and else
wanders, jumping and turning when stuck. Every multiplayer map has
pathfinding surfaces for the next phase.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 11:08:09 +02:00
Stefan MaierandClaude Opus 5.5 66c0d33e34 List public online games and join them from a panel
A host can make its game public (Y in the lobby, or network.public_game):
it then announces name, map, game type, players and join code every 10 s,
retained, on hcvr/1/g<network version>/<id> through the signalling
brokers, and clears it when it stops. On the system link list, X opens an
online games panel listing the public games heard lately (stale ones
dropped after 45 s) and a row to type a code; A joins by the game's code.
Announcements carry no addresses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 10:00:57 +02:00
MrBruh b438cea479 Cap enemy name range and shrink names 2026-10-02 20:59:36 +13:00
MrBruh 634b4197f9 Limit enemy names to the weapon's red reticle range 2026-10-02 20:36:46 +13:00
MrBruh ab96597321 Fix the Android build 2026-10-02 20:34:00 +13:00
MrBruh f0dfb58c94 Cap the frame rate with vsync off 2026-10-02 20:26:22 +13:00
MrBruh 9f3e8c92de Add high-res postgame carnage report title 2026-10-02 16:24:30 +13:00
MrBruh f2ba71d9af Show player names above heads in multiplayer 2026-10-02 15:24:40 +13:00
MrBruh 0182da8172 Add high-res text and OpenCE titles 2026-10-02 13:39:17 +13:00
Stefan MaierandClaude Opus 5.5 6b77fe428a Show how joining an online game goes on the system link list
p2p_join_state tells the menus whether the host is being reached, was
reached (its game is in the list), did not answer, could not be reached
(both routers too strict: allow UPnP) or was lost; the join screen shows
it under the code's status.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 21:37:25 +02:00
MrBruh c55e4e2b9d Widen only flat UI fills on widescreen 2026-10-02 02:21:22 +13:00
bfenty 7cd1724fe5 Widen full-screen UI widget backgrounds to the display width
A widget background bitmap whose bounds cover the whole 640x480 design
space (the pause menu dim, for example) stopped at the edges of the
centered 640 column on widescreen displays, leaving the side bands
undimmed. Widen the bounds and the clip symmetrically to the full
screen width, mirroring the existing fade_to_black special case in
render_ui_widgets().

Tested on a Retroid Pocket Flip2 (854x480 render target).
2026-10-02 02:16:14 +13:00
MrBruh bd8ec3c798 Add high-res sniper ladder and fix meter fringes 2026-10-02 02:09:45 +13:00
MrBruh 4799980e8a Draw the whole HUD in high resolution 2026-10-02 01:24:38 +13:00
MrBruh f8937c6179 Add high-res HUD textures 2026-10-01 22:33:25 +13:00
238 changed files with 16953 additions and 113 deletions

No files matched your search

+2
View File
@@ -24,6 +24,8 @@ xbox/
# Locally extracted proprietary game data (never commit)
assets/
# (but the high-res assets, drawn for the port: tools/hud_assets.py)
!port/assets/
original/
# CI build outputs (tools/ci_build.py)
+2 -1
View File
@@ -168,7 +168,8 @@ the Xbox:
- The HUD stays at the edges of the screen.
- The menus, the loading bar and the screens after a game have 640
columns, at the center of the screen.
- Black bars and fades cover all of the screen.
- Black bars and fades cover all of the screen, and so do the menus' dims
and backgrounds (the pause menu's dim, dialogs, the menus' gradient).
## VR
+32
View File
@@ -0,0 +1,32 @@
Newtown
Copyright (c) Roger White, 1994. Released by its author into the public domain.
Newtown-Regular.ttf is the TrueType file of Newtown, as Roger White
distributed it (NEWTOW__.TTF, version 1.00, SHA-256
376d82c5b660c059c182d848d0a96da9dbe7277d7c8820f6e9a2c99b1a256c65), here
renamed. OpenCE (OpenCE-Regular.ttf) is made from it by tools/title_font.py.
The file's copyright notice ("All Rights Reserved - see .txt file for terms
for distribution and use") and the readme it was first distributed with
(personal use free, commercial use for a fee) date from 1994. Its author
later released all of his fonts into the public domain. His website,
rogersfonts.org.uk, said so from 2008 until it closed:
"Despite what is said in the readme files associated with the fonts all
fonts on this site are now public domain, whether used for personal use
or for commercial purposes. All that I ask is that the source is
acknowledged if you are using any for commercial purposes."
The statement is in the Internet Archive's copies of the site's home page,
the first of them from 24 July 2008:
https://web.archive.org/web/20080724224405/http://www.rogersfonts.org.uk/body_index.html
https://web.archive.org/web/20110724011202/http://www.rogersfonts.org.uk/body_index.html
and Newtown was one of the site's fonts (its samples are archived from 2004,
https://web.archive.org/web/20040909032418/http://www.rogersfonts.org.uk/assets/images/Newtown.gif).
The site says its fonts were made from the author's own hand-drawn artwork,
scanned and cleaned up.
As he asked, the source is acknowledged: OpenCE is based on Newtown by
Roger White.
Binary file not shown.
+95
View File
@@ -0,0 +1,95 @@
Copyright 2026 The OpenCE Project Authors, for its changes to Newtown's spacing.
OpenCE is based on Newtown, by Roger White (1994), which its author released
into the public domain (Newtown-LICENSE.txt).
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+93
View File
@@ -0,0 +1,93 @@
Copyright 2021 The Overpass Project Authors (https://github.com/RedHatOfficial/Overpass)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
+45
View File
@@ -0,0 +1,45 @@
# Fonts
The fonts the game's text is drawn with, at the display's resolution, in
place of the bitmap fonts of the maps (`port/linux/src/text_hires.c`).
`fonts.json` says which font draws each of the maps' font tags.
| File | Draws | From |
| --- | --- | --- |
| `Overpass-900.ttf` | `ui\large_ui`, `ui\interstate` | Overpass, weight 900 (Black) |
| `Overpass-750.ttf` | `ui\small_ui` | Overpass, weight 750 |
| `OpenCE-Regular.ttf` | the menus' titles, as pictures (`port/assets/titles`) | OpenCE: Newtown, respaced for this project (`tools/title_font.py`) |
| `Newtown-Regular.ttf` | (OpenCE's source) | Newtown by Roger White, unmodified |
The maps' fonts are Interstate (Tobias Frere-Jones, The Font Bureau), a
commercial typeface that cannot be shipped. Overpass (Red Hat, Delve
Withrington) follows the same Highway Gothic road-sign alphabet and is
under the SIL Open Font License 1.1 (`Overpass-OFL.txt`), without a
Reserved Font Name. Matched against the maps' glyphs, its weights 900 and 750 overlap
them as much as Interstate Bold does, at the same letter widths.
The menus' titles are pictures of text in the maps, set in another
commercial typeface. OpenCE (Open Community Edition) stands in for it:
Newtown, a typeface in the same style by Roger White (1994), which its author
released into the public domain (`Newtown-LICENSE.txt` quotes his statement
and where it is archived), respaced for this project. Only its spacing is
changed, its outlines are Newtown's: each letter's side spaces and the
kerning pairs are measured from where the letters sit in the maps' titles.
OpenCE is under the SIL Open Font License 1.1 (`OpenCE-OFL.txt`), without a
Reserved Font Name. It is not embedded: `tools/title_assets.py` draws the
titles with it, and the builds embed those pictures. To measure its spacing
again and rebuild it:
python3 tools/title_font.py --measure # paste the values into tools/title_font.py
python3 tools/title_font.py
python3 tools/title_assets.py --map assets/maps/ui.map
The Overpass files are static instances of Google Fonts' variable Overpass
(`ofl/overpass/Overpass[wght].ttf`, google/fonts commit
9710da1eacb3be272583c3224dcb70f9da6eadbb), made with fontTools:
python3 -m fontTools.varLib.instancer 'Overpass[wght].ttf' wght=900 -o Overpass-900.ttf
python3 -m fontTools.varLib.instancer 'Overpass[wght].ttf' wght=750 -o Overpass-750.ttf
The builds embed the Overpass files (`tools/embed_assets.py`), and the
release packages carry `Overpass-OFL.txt`, as the license asks.
+8
View File
@@ -0,0 +1,8 @@
{
"comment": "Which font draws each of the maps' font tags (port/linux/src/text_hires.c).",
"fonts": [
{"tag": "ui\\large_ui", "file": "Overpass-900.ttf"},
{"tag": "ui\\interstate", "file": "Overpass-900.ttf"},
{"tag": "ui\\small_ui", "file": "Overpass-750.ttf"}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 504 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="64" viewBox="0 0 512 64">
<!-- ammo meter fill alpha: slanted bar whose top sweeps up into a tab on the right -->
<path d="M7.56,32 H209.2 C289.7,32 340.8,7.2 353.7,0 H406.9 A8.3,8.3 0 0 1 414.1,11.4 L393.2,56 H5 A5,5 0 0 1 0,51 V48.1 Z" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 323 B

@@ -0,0 +1,66 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="128" viewBox="0 0 512 128">
<!-- 3 rows x 20 slanted bullet rounds (alpha mask) -->
<defs>
<path id="b" d="M51.34,0 H51.79 L54.02,6 L42.83,30 H32.47 L43.71,5.89 Z" fill="#fff"/>
</defs>
<use href="#b"/>
<use href="#b" x="20.63" y="0"/>
<use href="#b" x="41.26" y="0"/>
<use href="#b" x="61.89" y="0"/>
<use href="#b" x="82.52" y="0"/>
<use href="#b" x="103.16" y="0"/>
<use href="#b" x="123.79" y="0"/>
<use href="#b" x="144.42" y="0"/>
<use href="#b" x="165.05" y="0"/>
<use href="#b" x="185.68" y="0"/>
<use href="#b" x="206.31" y="0"/>
<use href="#b" x="226.94" y="0"/>
<use href="#b" x="247.57" y="0"/>
<use href="#b" x="268.20" y="0"/>
<use href="#b" x="288.83" y="0"/>
<use href="#b" x="309.47" y="0"/>
<use href="#b" x="330.10" y="0"/>
<use href="#b" x="350.73" y="0"/>
<use href="#b" x="371.36" y="0"/>
<use href="#b" x="391.99" y="0"/>
<use href="#b" x="-15.85" y="34"/>
<use href="#b" x="4.78" y="34"/>
<use href="#b" x="25.41" y="34"/>
<use href="#b" x="46.04" y="34"/>
<use href="#b" x="66.67" y="34"/>
<use href="#b" x="87.30" y="34"/>
<use href="#b" x="107.93" y="34"/>
<use href="#b" x="128.56" y="34"/>
<use href="#b" x="149.19" y="34"/>
<use href="#b" x="169.82" y="34"/>
<use href="#b" x="190.46" y="34"/>
<use href="#b" x="211.09" y="34"/>
<use href="#b" x="231.72" y="34"/>
<use href="#b" x="252.35" y="34"/>
<use href="#b" x="272.98" y="34"/>
<use href="#b" x="293.61" y="34"/>
<use href="#b" x="314.24" y="34"/>
<use href="#b" x="334.87" y="34"/>
<use href="#b" x="355.50" y="34"/>
<use href="#b" x="376.14" y="34"/>
<use href="#b" x="-31.71" y="68"/>
<use href="#b" x="-11.08" y="68"/>
<use href="#b" x="9.55" y="68"/>
<use href="#b" x="30.19" y="68"/>
<use href="#b" x="50.82" y="68"/>
<use href="#b" x="71.45" y="68"/>
<use href="#b" x="92.08" y="68"/>
<use href="#b" x="112.71" y="68"/>
<use href="#b" x="133.34" y="68"/>
<use href="#b" x="153.97" y="68"/>
<use href="#b" x="174.60" y="68"/>
<use href="#b" x="195.23" y="68"/>
<use href="#b" x="215.86" y="68"/>
<use href="#b" x="236.49" y="68"/>
<use href="#b" x="257.13" y="68"/>
<use href="#b" x="277.76" y="68"/>
<use href="#b" x="298.39" y="68"/>
<use href="#b" x="319.02" y="68"/>
<use href="#b" x="339.65" y="68"/>
<use href="#b" x="360.28" y="68"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="64" viewBox="0 0 512 64">
<!-- rocket ammo: tail fin + body, grey translucent fill with white outline; pair repeated -->
<defs>
<g id="rocket" fill="#a6a6a6" fill-opacity=".651" stroke="#fff" stroke-width="4.1" stroke-miterlimit="10">
<path d="M30.7,1.35 H51.4 L58.4,22 H90.6 L79.5,46 H48.1 L24.5,62.2 H3.5 L18.4,46.2 H11.6 L22.65,22 H29.35 Z"/>
<path d="M88.5,48.4 L124.3,52 L191.9,46.1 L210.8,32.8 L202.7,21.9 L142.6,16 L101.8,19.8 Z"/>
</g>
</defs>
<use href="#rocket"/>
<use href="#rocket" x="214"/>
</svg>

After

Width:  |  Height:  |  Size: 644 B

@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="64" viewBox="0 0 512 64">
<!-- slanted meter bar, grey translucent fill fading slightly darker downwards (rgb = alpha) -->
<defs>
<linearGradient id="g" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="0" y2="44">
<stop offset="0" stop-color="#c7c7c7" stop-opacity=".781"/>
<stop offset="1" stop-color="#b4b4b4" stop-opacity=".705"/>
</linearGradient>
</defs>
<path d="M20,0 H412 L392,44 H0 Z" fill="url(#g)"/>
</svg>

After

Width:  |  Height:  |  Size: 506 B

@@ -0,0 +1,26 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="64" viewBox="0 0 512 64">
<!-- 20 slanted blade ticks (alpha mask) -->
<defs>
<path id="t" d="M28.03,0 H40.39 L17.73,48.6 L0.58,59.39 L1.03,57.87 Z" fill="#fff"/>
</defs>
<use href="#t" x="0.000"/>
<use href="#t" x="20.704"/>
<use href="#t" x="41.408"/>
<use href="#t" x="62.112"/>
<use href="#t" x="82.816"/>
<use href="#t" x="103.520"/>
<use href="#t" x="124.224"/>
<use href="#t" x="144.928"/>
<use href="#t" x="165.632"/>
<use href="#t" x="186.336"/>
<use href="#t" x="207.040"/>
<use href="#t" x="227.744"/>
<use href="#t" x="248.448"/>
<use href="#t" x="269.152"/>
<use href="#t" x="289.856"/>
<use href="#t" x="310.560"/>
<use href="#t" x="331.264"/>
<use href="#t" x="351.968"/>
<use href="#t" x="372.672"/>
<use href="#t" x="393.376"/>
</svg>

After

Width:  |  Height:  |  Size: 905 B

@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="64" viewBox="0 0 512 64">
<!-- 12 tilted shotgun shells (alpha mask): tapered body with rim + separate tip -->
<defs>
<path id="s" transform="translate(15.87,38.77) rotate(25)" fill="#fff"
d="M-8.04,-18.2 H8.04 V4.82 L6.23,12.94 H9.78 V17.06 H-9.78 V12.94 H-6.23 L-8.04,4.82 Z
M-8.08,-21.95 H8.08 L4.93,-40.72 H-4.93 Z"/>
</defs>
<use href="#s" x="0.000"/>
<use href="#s" x="35.273"/>
<use href="#s" x="70.546"/>
<use href="#s" x="105.819"/>
<use href="#s" x="141.092"/>
<use href="#s" x="176.365"/>
<use href="#s" x="211.638"/>
<use href="#s" x="246.911"/>
<use href="#s" x="282.184"/>
<use href="#s" x="317.457"/>
<use href="#s" x="352.730"/>
<use href="#s" x="388.003"/>
</svg>

After

Width:  |  Height:  |  Size: 841 B

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="128" viewBox="0 0 512 128">
<!-- 2x2 rifle rounds (alpha mask): rimmed case with rounded shoulder + ogive bullet -->
<defs>
<path id="r" fill="#fff" d="M20,0 H28 V5.5 H101.8 V6.4 H108.5 A7.5,7.5 0 0 1 116,13.9 V22.1 A7.5,7.5 0 0 1 108.5,29.6 H101.8 V30.5 H28 V36 H20 Z
M120,8 H135 C163.6,9 194.5,13.65 212.3,18 C194.5,22.35 163.6,27 135,28 H120 Z"/>
</defs>
<use href="#r"/>
<use href="#r" x="208"/>
<use href="#r" x="-20" y="44"/>
<use href="#r" x="188" y="44"/>
</svg>

After

Width:  |  Height:  |  Size: 598 B

@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="64" viewBox="0 0 512 64">
<!-- 12 two-part slanted ammo ticks (alpha mask); lower part has a flared foot -->
<defs>
<path id="t" fill="#fff" d="M33.4,0 h19 L33.76,40 h-19 Z
M12.89,44 h19 L24.43,60 h2.7 L25.03,64.5 H0.66 L2.75,60 h2.68 Z"/>
</defs>
<use href="#t" x="0.000"/>
<use href="#t" x="34.973"/>
<use href="#t" x="69.946"/>
<use href="#t" x="104.919"/>
<use href="#t" x="139.892"/>
<use href="#t" x="174.865"/>
<use href="#t" x="209.838"/>
<use href="#t" x="244.811"/>
<use href="#t" x="279.784"/>
<use href="#t" x="314.757"/>
<use href="#t" x="349.730"/>
<use href="#t" x="384.703"/>
</svg>

After

Width:  |  Height:  |  Size: 742 B

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="128" viewBox="0 0 512 128">
<!-- ammo meter outline: rounded slanted frame (white) with a faint inner grid -->
<defs>
<path id="frame" d="M25.24,2 H411.34 A9.84,9.84 0 0 1 420.27,15.97 L398.97,62 H9.4 A7.61,7.61 0 0 1 2.48,51.19 Z"/>
<mask id="inside" maskUnits="userSpaceOnUse" x="0" y="0" width="512" height="128">
<use href="#frame" fill="#fff"/>
</mask>
</defs>
<path mask="url(#inside)" fill="#404040" fill-opacity=".251" d="M28,0 h4 v64 h-4 Z M56,0 h4 v64 h-4 Z M84,0 h4 v64 h-4 Z M112,0 h4 v64 h-4 Z M140,0 h4 v64 h-4 Z M168,0 h4 v64 h-4 Z M196,0 h4 v64 h-4 Z M224,0 h4 v64 h-4 Z M252,0 h4 v64 h-4 Z M280,0 h4 v64 h-4 Z M308,0 h4 v64 h-4 Z M336,0 h4 v64 h-4 Z M364,0 h4 v64 h-4 Z M392,0 h4 v64 h-4 Z M420,0 h4 v64 h-4 Z M0,16 h430 v4 h-430 Z M0,32 h430 v4 h-430 Z M0,48 h430 v4 h-430 Z"/>
<use href="#frame" fill="none" stroke="#fff" stroke-width="4.04" stroke-miterlimit="10"/>
</svg>

After

Width:  |  Height:  |  Size: 981 B

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="32" viewBox="0 0 512 32">
<!-- thin slanted meter frame, light grey (rgb = alpha) -->
<path d="M9.24,2 H406.76 L400.76,14 H3.24 Z" fill="none" stroke="#ccc" stroke-opacity=".8" stroke-width="4" stroke-miterlimit="10"/>
</svg>

After

Width:  |  Height:  |  Size: 290 B

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="128" viewBox="0 0 512 128">
<!-- slanted meter frame with rounded top corners (white) -->
<path d="M28.69,8.58 A11.67,11.67 0 0 1 39.19,2 H280.64 A7.71,7.71 0 0 1 287.58,13.08 L263.85,62 H2.76 Z" fill="none" stroke="#fff" stroke-width="4.14" stroke-miterlimit="10"/>
</svg>

After

Width:  |  Height:  |  Size: 338 B

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="128" viewBox="0 0 512 128">
<!-- short slanted meter frame, top-right and bottom-left corners rounded (white) -->
<path d="M25.2,2 H138.86 A7.38,7.38 0 0 1 145.58,12.44 L122.95,62 H8.52 A6.89,6.89 0 0 1 2.26,52.26 Z" fill="none" stroke="#fff" stroke-width="4.17" stroke-miterlimit="10"/>
</svg>

After

Width:  |  Height:  |  Size: 359 B

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="64" viewBox="0 0 128 64">
<!-- ammo type icon: pixel "x" multiplier glyph + slanted blade round -->
<path d="M16,16 h8 v8 h-8 Z M32,16 h8 v8 h-8 Z M20,24 h12 v4 h-12 Z M16,28 h12 v4 h-12 Z M8,32 h8 v8 h-8 Z M24,32 h8 v8 h-8 Z" fill="#fff"/>
<path d="M78.7,0 H80 V16 L68,40 H48 L60,16 Z" fill="#fafafa"/>
</svg>

After

Width:  |  Height:  |  Size: 377 B

@@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="64" viewBox="0 0 256 64">
<!-- ammo type icon: pixel "x" glyph + battery cell (skewed capsule, two stripes) + terminal -->
<path d="M16,16 h8 v8 h-8 Z M32,16 h8 v8 h-8 Z M20,24 h12 v4 h-12 Z M16,28 h12 v4 h-12 Z M8,32 h8 v8 h-8 Z M24,32 h8 v8 h-8 Z" transform="translate(-4,8)" fill="#fff"/>
<g transform="translate(0,28) skewX(-25.08) translate(0,-28)" stroke="#fdfdfd">
<rect x="51.95" y="10.06" width="86.72" height="35.88" rx="17.94" fill="#9d9d9d" fill-opacity=".616" stroke-width="4.19"/>
<path d="M99.24,10.06 V45.94 M111.05,10.06 V45.94" stroke-width="3.9"/>
</g>
<path d="M148.17,20 H159.98 L152.68,36 H140.87 Z" fill="#f5f5f5"/>
</svg>

After

Width:  |  Height:  |  Size: 724 B

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="64" viewBox="0 0 128 64">
<!-- ammo type icon: frag grenade (body + cap with spoon lever) -->
<path d="M12.1,14 H22.7 L26,19 C27.5,21.5 27.3,25 26,28 L23.4,32.6 L16.5,40 H7.8 C5,36.5 3.9,32 4,27.6 C4.1,22 6.5,18 12.1,14 Z" fill="#f8f8f8"/>
<path d="M15,0 H27 L36.2,17 L32.35,19.4 L27.06,9 H13.18 Z" fill="#f6f6f6"/>
</svg>

After

Width:  |  Height:  |  Size: 389 B

@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="64" viewBox="0 0 128 64">
<!-- ammo type icon: plasma charge - solid round core with soft radial falloff (rgb = alpha) -->
<defs>
<radialGradient id="g" gradientUnits="userSpaceOnUse" cx="29.3" cy="28.1" r="26.2">
<stop offset="0.0000" stop-color="#ffffff" stop-opacity="1.000"/>
<stop offset="0.4122" stop-color="#ffffff" stop-opacity="1.000"/>
<stop offset="0.4389" stop-color="#f1f1f1" stop-opacity="0.945"/>
<stop offset="0.4771" stop-color="#dbdbdb" stop-opacity="0.857"/>
<stop offset="0.5534" stop-color="#b0b0b0" stop-opacity="0.688"/>
<stop offset="0.6298" stop-color="#898989" stop-opacity="0.537"/>
<stop offset="0.7061" stop-color="#656565" stop-opacity="0.396"/>
<stop offset="0.7824" stop-color="#454545" stop-opacity="0.272"/>
<stop offset="0.8588" stop-color="#292929" stop-opacity="0.160"/>
<stop offset="0.9351" stop-color="#101010" stop-opacity="0.064"/>
<stop offset="0.9771" stop-color="#030303" stop-opacity="0.012"/>
<stop offset="1.0000" stop-color="#000000" stop-opacity="0.000"/>
</radialGradient>
</defs>
<circle cx="29.3" cy="28.1" r="26.2" fill="url(#g)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="64" viewBox="0 0 128 64">
<!-- ammo type icon: slanted battery with terminal nub; translucent grey fill, white outline -->
<path d="M20.18,10 H98.95 L94.08,22 H102.94 L97.7,34 H87.78 L81.8,46 H3.12 Z" fill="#9d9d9d" fill-opacity=".616" stroke="#fff" stroke-width="4" stroke-miterlimit="10"/>
</svg>

After

Width:  |  Height:  |  Size: 363 B

@@ -0,0 +1,49 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="256" viewBox="0 0 512 256">
<!-- HUD counter font: italic segment digits 0-9 . : - and the unit glyphs m / Km.
Digits are drawn upright from shared segment rects, then sheared (25.4 deg) about each row's baseline. -->
<defs>
<path id="d0" d="M0.00,-39.90 h23.87 v3.95 h-23.87 Z M0.00,-3.95 h23.87 v3.95 h-23.87 Z M0.00,-39.90 h5.35 v39.90 h-5.35 Z M18.52,-39.90 h5.35 v39.90 h-5.35 Z"/>
<path id="d2" d="M0.00,-39.90 h23.87 v3.95 h-23.87 Z M18.52,-39.90 h5.35 v21.91 h-5.35 Z M0.00,-21.94 h23.87 v3.95 h-23.87 Z M0.00,-21.94 h5.35 v21.94 h-5.35 Z M0.00,-3.95 h23.87 v3.95 h-23.87 Z"/>
<path id="d3" d="M0.00,-39.90 h23.87 v3.95 h-23.87 Z M0.00,-21.94 h23.87 v3.95 h-23.87 Z M0.00,-3.95 h23.87 v3.95 h-23.87 Z M18.52,-39.90 h5.35 v39.90 h-5.35 Z"/>
<path id="d4" d="M0.00,-39.90 h5.35 v21.91 h-5.35 Z M0.00,-21.94 h23.87 v3.95 h-23.87 Z M18.52,-39.90 h5.35 v39.90 h-5.35 Z"/>
<path id="d5" d="M0.00,-39.90 h23.87 v3.95 h-23.87 Z M0.00,-39.90 h5.35 v21.91 h-5.35 Z M0.00,-21.94 h23.87 v3.95 h-23.87 Z M18.52,-21.94 h5.35 v21.94 h-5.35 Z M0.00,-3.95 h23.87 v3.95 h-23.87 Z"/>
<path id="d6" d="M0.00,-39.90 h23.87 v3.95 h-23.87 Z M0.00,-39.90 h5.35 v39.90 h-5.35 Z M0.00,-21.94 h23.87 v3.95 h-23.87 Z M18.52,-21.94 h5.35 v21.94 h-5.35 Z M0.00,-3.95 h23.87 v3.95 h-23.87 Z"/>
<path id="d7" d="M0.00,-39.90 h23.87 v3.95 h-23.87 Z M18.52,-39.90 h5.35 v39.90 h-5.35 Z"/>
<path id="d8" d="M0.00,-39.90 h23.87 v3.95 h-23.87 Z M0.00,-21.94 h23.87 v3.95 h-23.87 Z M0.00,-3.95 h23.87 v3.95 h-23.87 Z M0.00,-39.90 h5.35 v39.90 h-5.35 Z M18.52,-39.90 h5.35 v39.90 h-5.35 Z"/>
<path id="d9" d="M0.00,-39.90 h23.87 v3.95 h-23.87 Z M0.00,-39.90 h5.35 v21.91 h-5.35 Z M0.00,-21.94 h23.87 v3.95 h-23.87 Z M18.52,-39.90 h5.35 v39.90 h-5.35 Z M0.00,-3.95 h23.87 v3.95 h-23.87 Z"/>
<path id="dash" d="M0.00,-21.94 h23.87 v3.95 h-23.87 Z"/>
<path id="d1" d="M18.52,-39.90 h5.35 v39.90 h-5.35 Z M16.09,-39.90 h2.93 v3.95 h-2.93 Z"/>
<path id="dot" d="M0.00,-3.95 h5.35 v3.95 h-5.35 Z"/>
<path id="colon" d="M0.00,-3.95 h5.35 v3.95 h-5.35 Z M0.00,-21.94 h5.35 v3.95 h-5.35 Z"/>
<g id="m" fill="none" stroke="#fff" stroke-linecap="round">
<path d="M461.43,69.45 L451.71,89.49 M486.86,69.43 L477.21,89.48 M474.52,70.65 L469.24,81.29" stroke-width="4.39"/>
<path d="M465.87,66.26 L484.85,66.0" stroke-width="4.18"/>
</g>
</defs>
<g fill="#fff">
<g transform="matrix(1 0 -0.474 1 0 44)">
<use href="#d0" x="16.08"/>
<use href="#d1" x="74.12"/>
<use href="#d2" x="160.09"/>
<use href="#d3" x="232.07"/>
<use href="#d4" x="304.11"/>
<use href="#d5" x="376.09"/>
<use href="#d6" x="448.09"/>
</g>
<g transform="matrix(1 0 -0.474 1 0 92)">
<use href="#d7" x="16.11"/>
<use href="#d8" x="88.09"/>
<use href="#d9" x="160.08"/>
<use href="#dot" x="232.10"/>
<use href="#colon" x="304.10"/>
<use href="#dash" x="376.10"/>
</g>
</g>
<use href="#m"/>
<!-- Km -->
<g fill="none" stroke="#fff" stroke-linecap="round">
<path d="M34.06,103.38 L26.93,117.73 M24.78,123.28 L17.61,137.56 M31.29,117.76 L55.45,102.57 M45.79,123.73 L39.24,137.49" stroke-width="4.09"/>
<path d="M26.22,121.6 L43.02,121.35" stroke-width="4.39"/>
</g>
<use href="#m" x="-398" y="48"/>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

@@ -0,0 +1,26 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="512" viewBox="0 0 1024 512">
<defs>
<linearGradient id="f1" gradientUnits="userSpaceOnUse" x1="0" y1="2" x2="0" y2="149.89">
<stop offset="0.000" stop-color="#262626" stop-opacity="0.1480"/>
<stop offset="0.200" stop-color="#2f2f2f" stop-opacity="0.1851"/>
<stop offset="0.400" stop-color="#3d3d3d" stop-opacity="0.2392"/>
<stop offset="0.600" stop-color="#4c4c4c" stop-opacity="0.2995"/>
<stop offset="0.800" stop-color="#5b5b5b" stop-opacity="0.3555"/>
<stop offset="1.000" stop-color="#656565" stop-opacity="0.3966"/>
</linearGradient>
<linearGradient id="f2" gradientUnits="userSpaceOnUse" x1="0" y1="159" x2="0" y2="262.90">
<stop offset="0.000" stop-color="#212121" stop-opacity="0.1291"/>
<stop offset="0.200" stop-color="#2a2a2a" stop-opacity="0.1636"/>
<stop offset="0.400" stop-color="#363636" stop-opacity="0.2108"/>
<stop offset="0.600" stop-color="#434343" stop-opacity="0.2622"/>
<stop offset="0.800" stop-color="#4f4f4f" stop-opacity="0.3098"/>
<stop offset="1.000" stop-color="#585858" stop-opacity="0.3451"/>
</linearGradient>
</defs>
<!-- large damage chevron: translucent grey fill brightening downwards, white slanted edges -->
<polygon points="14.61,2.00 905.39,2.00 460.00,149.89" fill="url(#f1)"/>
<path d="M1.96,2.00 918.05,2.00 460.00,154.09Z M460.00,149.89 905.39,2.00 14.61,2.00Z" fill="#fff" fill-rule="evenodd"/>
<!-- small damage chevron -->
<polygon points="14.57,159.00 641.43,159.00 328.01,262.90" fill="url(#f2)"/>
<path d="M2.02,159.00 653.99,159.00 328.01,267.06Z M328.01,262.90 641.43,159.00 14.57,159.00Z" fill="#fff" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

Loaded 100 of 238 files, more files were not shown because too many files have changed in this diff. Show more