summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2021-03-07 11:36:36 +0100
committerYorhel <git@yorhel.nl>2021-03-07 11:36:36 +0100
commit7d7fb6620f82a422486d9f59b0868d0bdc3786d8 (patch)
tree95e8bb0e925417c50b2eef8aa42a253716abb35d
parent4cf49275519dd6950c60a60e9b7e09f7630b3f0d (diff)
Bunch more platforms (and icons)HEADmaster
-rw-r--r--css/v2.css9
-rw-r--r--lib/VNDB/Types.pm15
-rw-r--r--sql/schema.sql2
-rw-r--r--static/f/plat/fm7.svg6
-rw-r--r--static/f/plat/fm8.svg6
-rw-r--r--static/f/plat/ps5.svg7
-rw-r--r--static/f/plat/scd.svg16
-rw-r--r--static/f/plat/smd.svg10
-rw-r--r--static/f/plat/tdo.svg12
-rw-r--r--static/f/plat/vnd.svg11
-rw-r--r--static/f/plat/x1s.svg13
-rw-r--r--static/f/plat/xxs.svg10
-rw-r--r--util/updates/2021-03-07-platforms.sql9
13 files changed, 122 insertions, 4 deletions
diff --git a/css/v2.css b/css/v2.css
index c4b974ae..79ae6a87 100644
--- a/css/v2.css
+++ b/css/v2.css
@@ -1271,6 +1271,7 @@ a .icons { cursor: pointer }
.icons.lin { background-image: url(/f/plat/lin.svg) }
.icons.mac { background-image: url(/f/plat/mac.svg) }
.icons.web { background-image: url(/f/plat/web.svg) }
+.icons.tdo { background-image: url(/f/plat/tdo.svg) }
.icons.ios { background-image: url(/f/plat/ios.svg) }
.icons.and { background-image: url(/f/plat/and.svg) }
.icons.bdp { background-image: url(/f/plat/bdp.svg) }
@@ -1278,6 +1279,8 @@ a .icons { cursor: pointer }
.icons.dvd { background-image: url(/f/plat/dvd.svg) }
.icons.drc { background-image: url(/f/plat/drc.svg) }
.icons.nes { background-image: url(/f/plat/nes.svg) }
+.icons.fm7 { background-image: url(/f/plat/fm7.svg) }
+.icons.fm8 { background-image: url(/f/plat/fm8.svg) }
.icons.fmt { background-image: url(/f/plat/fmt.svg) }
.icons.gba { background-image: url(/f/plat/gba.svg) }
.icons.gbc { background-image: url(/f/plat/gbc.svg) }
@@ -1296,13 +1299,19 @@ a .icons { cursor: pointer }
.icons.ps2 { background-image: url(/f/plat/ps2.svg) }
.icons.ps3 { background-image: url(/f/plat/ps3.svg) }
.icons.ps4 { background-image: url(/f/plat/ps4.svg) }
+.icons.ps5 { background-image: url(/f/plat/ps5.svg) }
.icons.psv { background-image: url(/f/plat/psv.svg) }
+.icons.smd { background-image: url(/f/plat/smd.svg) }
+.icons.scd { background-image: url(/f/plat/scd.svg) }
.icons.sat { background-image: url(/f/plat/sat.svg) }
+.icons.vnd { background-image: url(/f/plat/vnd.svg) }
.icons.sfc { background-image: url(/f/plat/sfc.svg) }
+.icons.x1s { background-image: url(/f/plat/x1s.svg) }
.icons.x68 { background-image: url(/f/plat/x68.svg) }
.icons.xb1 { background-image: url(/f/plat/xb1.svg) }
.icons.xb3 { background-image: url(/f/plat/xb3.svg) }
.icons.xbo { background-image: url(/f/plat/xbo.svg) }
+.icons.xxs { background-image: url(/f/plat/xxs.svg) }
.icons.oth { background-image: url(/f/plat/oth.svg) }
diff --git a/lib/VNDB/Types.pm b/lib/VNDB/Types.pm
index 9c36a4ec..f7b12373 100644
--- a/lib/VNDB/Types.pm
+++ b/lib/VNDB/Types.pm
@@ -68,13 +68,17 @@ hash PLATFORM =>
lin => 'Linux',
mac => 'Mac OS',
web => 'Website',
+ tdo => '3DO',
ios => 'Apple iProduct',
and => 'Android',
bdp => 'Blu-ray Player',
dos => 'DOS',
dvd => 'DVD Player',
drc => 'Dreamcast',
- nes => 'Famicon',
+ nes => 'Famicom',
+ sfc => 'Super Famicom',
+ fm7 => 'FM-7',
+ fm8 => 'FM-8',
fmt => 'FM Towns',
gba => 'Game Boy Advance',
gbc => 'Game Boy Color',
@@ -93,13 +97,18 @@ hash PLATFORM =>
ps2 => 'PlayStation 2',
ps3 => 'PlayStation 3',
ps4 => 'PlayStation 4',
+ ps5 => 'PlayStation 5',
psv => 'PlayStation Vita',
+ smd => 'Sega Mega Drive',
+ scd => 'Sega Mega-CD',
sat => 'Sega Saturn',
- sfc => 'Super Nintendo',
- x68 => 'X68000',
+ vnd => 'VNDS',
+ x1s => 'Sharp X1',
+ x68 => 'Sharp X68000',
xb1 => 'Xbox',
xb3 => 'Xbox 360',
xbo => 'Xbox One',
+ xxs => 'Xbox X/S',
oth => 'Other';
diff --git a/sql/schema.sql b/sql/schema.sql
index f6145c1c..50baa3c1 100644
--- a/sql/schema.sql
+++ b/sql/schema.sql
@@ -57,7 +57,7 @@ CREATE TYPE gender AS ENUM ('unknown', 'm', 'f', 'b');
CREATE TYPE language AS ENUM ('ar', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'eo', 'es', 'fa', 'fi', 'fr', 'ga', 'gd', 'he', 'hr', 'hu', 'id', 'it', 'ja', 'ko', 'mk', 'ms', 'lt', 'lv', 'nl', 'no', 'pl', 'pt-pt', 'pt-br', 'ro', 'ru', 'sk', 'sl', 'sv', 'ta', 'th', 'tr', 'uk', 'vi', 'zh');
CREATE TYPE medium AS ENUM ('cd', 'dvd', 'gdr', 'blr', 'flp', 'cas', 'mrt', 'mem', 'umd', 'nod', 'in', 'otc');
CREATE TYPE notification_ntype AS ENUM ('pm', 'dbdel', 'listdel', 'dbedit', 'announce', 'post', 'comment', 'subpost', 'subedit', 'subreview', 'subapply');
-CREATE TYPE platform AS ENUM ('win', 'dos', 'lin', 'mac', 'ios', 'and', 'dvd', 'bdp', 'fmt', 'gba', 'gbc', 'msx', 'nds', 'nes', 'p88', 'p98', 'pce', 'pcf', 'psp', 'ps1', 'ps2', 'ps3', 'ps4', 'psv', 'drc', 'sat', 'sfc', 'swi', 'wii', 'wiu', 'n3d', 'x68', 'xb1', 'xb3', 'xbo', 'web', 'oth');
+CREATE TYPE platform AS ENUM ('win', 'dos', 'lin', 'mac', 'ios', 'and', 'dvd', 'bdp', 'fm7', 'fm8', 'fmt', 'gba', 'gbc', 'msx', 'nds', 'nes', 'p88', 'p98', 'pce', 'pcf', 'psp', 'ps1', 'ps2', 'ps3', 'ps4', 'ps5', 'psv', 'drc', 'smd', 'scd', 'sat', 'sfc', 'swi', 'wii', 'wiu', 'n3d', 'vnd', 'x1s', 'x68', 'xb1', 'xb3', 'xbo', 'xxs', 'web', 'tdo', 'oth');
CREATE TYPE producer_type AS ENUM ('co', 'in', 'ng');
CREATE TYPE producer_relation AS ENUM ('old', 'new', 'sub', 'par', 'imp', 'ipa', 'spa', 'ori');
CREATE TYPE release_type AS ENUM ('complete', 'partial', 'trial');
diff --git a/static/f/plat/fm7.svg b/static/f/plat/fm7.svg
new file mode 100644
index 00000000..9864c3a0
--- /dev/null
+++ b/static/f/plat/fm7.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 14 8.329" xmlns="http://www.w3.org/2000/svg">
+<path d="m0 8.3291h1.8366v-0.86693h-0.4791v-1.4259l1.0609 2.2928h0.63878l0.8784-2.2187v1.3517h-0.33083v0.86693h2.1902v-0.86693h-0.49908l-0.0028258-2.4069h0.50191v-0.78999h-1.9774l-0.88015 2.0676-0.95253-2.0685h-1.9848v0.79093h0.46768v2.4069h-0.46768z" fill="#85c20a" stroke-width="1.2615"/>
+<path d="m0 0v0.85561h0.45428v2.3737h-0.45428v0.82908h2.3737v-0.82769h-0.48695v-0.61329h1.3842v-0.84045h-1.3629v-0.91997h1.7036v0.79362h1.1358v-1.6506z" fill="#85c20a" stroke-width="1.2616"/>
+<path d="m6.4453 0.0078125-0.015625 2.8594h1.3359c-0.0026-0.11458-0.00518-0.22814 0.00123-0.31684 0.00641-0.0887 0.022036-0.1512 0.040256-0.20215 0.018221-0.050953 0.039054-0.090015 0.073004-0.13317 0.033951-0.04315 0.080824-0.090025 0.13445-0.12659 0.053624-0.036562 0.11352-0.062603 0.17705-0.080933 0.063536-0.01833 0.1912-0.038755 0.71515-0.036149 0.52395 0.00261 1.5698 0.00781 2.6167 0.013018-0.10938 0.059896-0.2184 0.1196-0.34215 0.19384-0.12375 0.074234-0.26176 0.16277-0.38166 0.25398-0.1199 0.091209-0.22146 0.18496-0.32182 0.30488s-0.19931 0.26575-0.31652 0.45591c-0.11721 0.19015-0.25262 0.42452-0.33727 0.58217s-0.1185 0.23837-0.20314 0.41802-0.22005 0.45829-0.34245 0.75265c-0.1224 0.29435-0.23177 0.60424-0.33593 0.93241-0.10416 0.32817-0.20312 0.67452-0.25903 1.0887-0.055908 0.41422-0.068903 0.89501-0.081924 1.3768h2.5938c-0.0052-0.31771-0.0104-0.6344-0.0052-0.87665 0.0052-0.24225 0.02078-0.40891 0.03899-0.56909s0.03905-0.31383 0.08459-0.53525c0.04555-0.22142 0.11586-0.51048 0.19528-0.81389 0.07942-0.30341 0.16796-0.62111 0.23046-0.84767 0.0625-0.22656 0.09896-0.36197 0.13671-0.48832 0.03775-0.12634 0.07681-0.24353 0.11978-0.35687 0.04297-0.11334 0.08984-0.22272 0.15367-0.33872 0.06383-0.11601 0.14456-0.2384 0.22403-0.34525 0.07947-0.10685 0.15759-0.19799 0.26307-0.3191 0.10543-0.1211 0.23824-0.27214 0.36073-0.39202 0.12249-0.11988 0.23447-0.20842 0.33872-0.28137 0.10426-0.072956 0.2006-0.13024 0.30898-0.16405 0.10838-0.033805 0.22726-0.044142 0.34705-0.054559l0.01563-1.9688-7.5625 0.015625h-5e-6z" fill="#85c20a"/>
+</svg>
diff --git a/static/f/plat/fm8.svg b/static/f/plat/fm8.svg
new file mode 100644
index 00000000..e38d8566
--- /dev/null
+++ b/static/f/plat/fm8.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 14 8.329" xmlns="http://www.w3.org/2000/svg">
+<path d="m0 8.3291h1.8366v-0.86693h-0.4791v-1.4259l1.0609 2.2928h0.63878l0.8784-2.2187v1.3517h-0.33083v0.86693h2.1902v-0.86693h-0.49908l-0.0028258-2.4069h0.50191v-0.78999h-1.9774l-0.88015 2.0676-0.95253-2.0685h-1.9848v0.79093h0.46768v2.4069h-0.46768z" fill="#abad1f" stroke-width="1.2615"/>
+<path d="m0 0v0.85561h0.45428v2.3737h-0.45428v0.82908h2.3737v-0.82769h-0.48695v-0.61329h1.3842v-0.84045h-1.3629v-0.91997h1.7036v0.79362h1.1358v-1.6506z" fill="#abad1f" stroke-width="1.2616"/>
+<path d="m10.078 0.013672c-0.2878 0.0051651-0.6627 0.022826-0.91016 0.041016-0.24746 0.018189-0.3685 0.0358-0.48828 0.052734-0.11978 0.016935-0.23889 0.033874-0.3457 0.050781-0.10681 0.016908-0.19982 0.034521-0.29492 0.056641s-0.19137 0.048835-0.27734 0.074219c-0.085975 0.025383-0.16137 0.048831-0.21875 0.070312-0.057377 0.021482-0.097036 0.041017-0.14648 0.0625-0.049448 0.021483-0.10993 0.044908-0.16211 0.070312s-0.095617 0.051395-0.13281 0.076172c-0.037195 0.024777-0.067721 0.048835-0.095703 0.070312-0.027982 0.021477-0.053936 0.040282-0.082031 0.066406-0.028095 0.026124-0.05855 0.05918-0.089844 0.097656-0.031294 0.038476-0.062488 0.082657-0.09375 0.12695-0.031262 0.044296-0.062472 0.089725-0.085938 0.13086s-0.039068 0.078688-0.054688 0.12109c-0.015619 0.042406-0.030608 0.088506-0.042969 0.13281-0.012361 0.044307-0.022161 0.085874-0.03125 0.13281-0.0090887 0.046938-0.017612 0.098905-0.025391 0.18945-0.0077784 0.090548-0.01629 0.21873-0.023438 0.39062-0.0071477 0.17189-0.013709 0.38863-0.015625 0.52539s0.001242 0.19397 0.0097656 0.27148c0.0085237 0.077515 0.022578 0.17444 0.050781 0.26562 0.028203 0.091186 0.070156 0.17779 0.11523 0.25 0.045078 0.072209 0.093648 0.13031 0.14062 0.17773 0.046977 0.047422 0.091742 0.083505 0.1543 0.11914 0.062555 0.035635 0.14258 0.071017 0.22461 0.10352 0.082031 0.032498 0.16603 0.06258 0.27148 0.091797 0.10545 0.029217 0.23307 0.057288 0.34961 0.083984 0.11654 0.026696 0.22217 0.051659 0.28125 0.072266 0.05908 0.020607 0.071444 0.036598 0.076172 0.048828 0.0047277 0.01223 0.0035591 0.021354-0.0078125 0.029297-0.011372 0.0079428-0.033308 0.016248-0.072266 0.025391s-0.095037 0.018235-0.16992 0.033203c-0.074885 0.014968-0.16857 0.035173-0.27539 0.0625s-0.22771 0.061847-0.32031 0.097656c-0.092606 0.03581-0.15742 0.073507-0.22852 0.125-0.071093 0.051493-0.14704 0.11644-0.20898 0.17969-0.061941 0.063252-0.10932 0.12354-0.14844 0.1875-0.039113 0.063957-0.069669 0.1327-0.099609 0.2168-0.02994 0.084094-0.059938 0.18414-0.080078 0.2832-0.02014 0.099062-0.030591 0.19598-0.044922 0.30469-0.01433 0.10871-0.031315 0.22908-0.039062 0.36328s-0.0065451 0.28187-0.0019531 0.41016c0.004592 0.12829 0.011012 0.23694 0.021484 0.33008 0.010473 0.093134 0.023309 0.17184 0.042969 0.24609 0.01966 0.074254 0.046741 0.14324 0.082031 0.21484 0.03529 0.0716 0.079945 0.14591 0.14453 0.22656s0.14967 0.16806 0.22656 0.23828c0.076894 0.070224 0.14579 0.12187 0.24414 0.17969 0.09835 0.057822 0.22461 0.12187 0.36328 0.17578s0.28973 0.097726 0.4668 0.13867c0.17706 0.040946 0.38087 0.079453 0.57422 0.11133 0.19335 0.031876 0.37632 0.057979 0.50781 0.074219 0.13149 0.016239 0.21096 0.023465 0.33789 0.029297 0.12693 0.0058316 0.30079 0.0097836 0.56445 0.011719 0.26366 0.0019353 0.61658 0.0013427 0.88477-0.0078124 0.26818-0.0091553 0.45122-0.026012 0.75391-0.072266 0.30269-0.046254 0.72538-0.12236 0.99414-0.18164 0.26876-0.059277 0.38361-0.10093 0.47852-0.14648 0.094907-0.045552 0.17134-0.093816 0.25195-0.1582s0.16611-0.14662 0.23633-0.22852c0.070218-0.081897 0.12567-0.16488 0.17578-0.27148 0.05011-0.1066 0.095695-0.23637 0.12695-0.33203 0.031258-0.095657 0.04816-0.1563 0.060546-0.20703 0.012389-0.050728 0.020104-0.092564 0.023438-0.19531s0.001284-0.26629-0.001953-0.40625-0.008565-0.25592-0.025391-0.37891c-0.016826-0.12299-0.045685-0.25458-0.080078-0.37109s-0.074878-0.2168-0.10547-0.29297c-0.030591-0.076171-0.050212-0.1276-0.074218-0.17773-0.024007-0.050138-0.052187-0.099566-0.080079-0.14258-0.027889-0.043012-0.056039-0.080039-0.091796-0.12109-0.035758-0.041055-0.078232-0.086413-0.12695-0.125-0.04872-0.038587-0.10352-0.069556-0.16797-0.099609s-0.13932-0.059225-0.2168-0.087891-0.1582-0.056608-0.22852-0.080078c-0.070319-0.02347-0.13019-0.042259-0.20312-0.060547s-0.15951-0.036695-0.21094-0.050781c-0.051428-0.014087-0.067347-0.024981-0.078125-0.035156s-0.015994-0.019647-0.013672-0.03125 0.011314-0.023932 0.029297-0.033203 0.045467-0.015673 0.11133-0.023438c0.06586-0.0077643 0.17001-0.01623 0.2832-0.035156s0.23576-0.04816 0.35547-0.083984c0.11971-0.035824 0.23837-0.078779 0.33398-0.11914 0.095613-0.040362 0.1669-0.076971 0.23242-0.13086 0.065524-0.053888 0.12571-0.1245 0.17383-0.19727 0.048118-0.072766 0.085927-0.14858 0.11524-0.22656 0.029306-0.077978 0.048744-0.159 0.060546-0.36719 0.011803-0.20819 0.014217-0.54369 0-0.79688-0.014216-0.25318-0.044399-0.42451-0.080078-0.5625-0.035678-0.13799-0.075662-0.24347-0.11719-0.33008s-0.085987-0.15362-0.125-0.21094c-0.039013-0.057315-0.073697-0.10405-0.11719-0.14844-0.04349-0.044392-0.09574-0.085854-0.16797-0.13477-0.072226-0.048912-0.16343-0.10536-0.2793-0.16211-0.11587-0.056749-0.2565-0.11319-0.41016-0.16406-0.15366-0.050874-0.32029-0.096942-0.51172-0.13672-0.19143-0.039777-0.40688-0.073526-0.64648-0.10352-0.23961-0.02999-0.50388-0.055959-0.73633-0.072266s-0.4329-0.022743-0.7207-0.017578zm0.18555 0.64648c0.12527 0.0037404 0.27017 0.014018 0.39453 0.039062s0.22839 0.063382 0.32227 0.11328c0.093877 0.049899 0.17809 0.11078 0.24414 0.18555 0.066049 0.074767 0.11367 0.16367 0.14844 0.26953 0.034767 0.10586 0.056682 0.22971 0.072265 0.36133 0.015585 0.13162 0.024518 0.27 0.025391 0.48633 8.73e-4 0.21632-0.005463 0.50979-0.015625 0.71875s-0.024295 0.33331-0.039062 0.43359c-0.014768 0.10029-0.031471 0.17635-0.066407 0.24414-0.034935 0.067795-0.08843 0.1294-0.1582 0.18359s-0.15551 0.10104-0.23828 0.14062-0.16109 0.071602-0.25391 0.09375-0.19946 0.034518-0.29883 0.041016c-0.099372 0.0064975-0.19189 0.0074034-0.2793 0.0019531-0.087411-0.0054501-0.17155-0.016609-0.24609-0.03125-0.074542-0.014641-0.1396-0.034486-0.20312-0.054687-0.063521-0.020202-0.12487-0.042155-0.1875-0.074219s-0.12611-0.073798-0.17773-0.11328c-0.051627-0.039484-0.09136-0.075826-0.11719-0.10156-0.025828-0.025737-0.038073-0.039996-0.056641-0.070312-0.018568-0.030317-0.043774-0.07802-0.060547-0.125-0.016773-0.04698-0.025885-0.094499-0.035156-0.17188-0.0092712-0.077376-0.017883-0.18285-0.023438-0.26758-0.005555-0.084731-0.0080338-0.14853-0.011719-0.29492-0.003685-0.1464-0.0084598-0.37562-0.0039062-0.58008s0.02009-0.38273 0.029297-0.49414c0.0092067-0.11141 0.011285-0.15746 0.019531-0.21094s0.022346-0.11508 0.052734-0.18164 0.078669-0.13736 0.13867-0.19922c0.060003-0.061857 0.13151-0.11408 0.20898-0.16016 0.077477-0.046077 0.15907-0.084756 0.24023-0.11328 0.081168-0.028525 0.16172-0.047613 0.25391-0.058594 0.09219-0.010981 0.197-0.013506 0.32227-0.0097656zm-0.025391 3.7266c0.041022 9.315e-4 0.12317 0.0034328 0.20703 0.013672 0.083858 0.010239 0.17041 0.02915 0.27539 0.060547s0.22716 0.074812 0.31641 0.12109c0.089242 0.046282 0.14469 0.094933 0.19336 0.14844 0.04867 0.053504 0.09179 0.11087 0.11914 0.16797 0.027351 0.057102 0.039097 0.11326 0.054688 0.20898 0.015591 0.095727 0.034966 0.23138 0.046875 0.39062s0.017289 0.34147 0.011719 0.56055c-0.005571 0.21908-0.022465 0.47661-0.039063 0.66992-0.016598 0.19332-0.033002 0.32283-0.0625 0.42383-0.029498 0.101-0.072514 0.17297-0.12305 0.23633-0.050532 0.063361-0.10819 0.11822-0.18164 0.16602-0.073452 0.047792-0.16138 0.088967-0.25977 0.12305-0.098391 0.03408-0.20791 0.062272-0.31641 0.076172-0.1085 0.0139-0.2169 0.012358-0.31445 0.0078126-0.09755-0.0045453-0.1844-0.012034-0.27734-0.03125-0.092944-0.019217-0.19181-0.050357-0.29492-0.089844s-0.21133-0.088258-0.30078-0.1543c-0.08945-0.066039-0.16089-0.14877-0.21094-0.25-0.050046-0.10123-0.077979-0.22192-0.09375-0.33984-0.015771-0.11792-0.018832-0.2341-0.023437-0.39062-0.0046057-0.15652-0.0096056-0.35249-0.0078126-0.51367 0.0017931-0.16118 0.01138-0.28747 0.021484-0.39062s0.021107-0.18312 0.03125-0.27148 0.017946-0.18394 0.039062-0.27344c0.021116-0.089499 0.054725-0.17218 0.089844-0.23047s0.071622-0.091569 0.11133-0.12109c0.039706-0.029525 0.082103-0.055682 0.13086-0.087891 0.048756-0.032209 0.10389-0.07104 0.16211-0.099609 0.058224-0.028569 0.1189-0.046964 0.17969-0.064453 0.060787-0.017489 0.12186-0.033939 0.20117-0.044922 0.079314-0.010983 0.17823-0.016796 0.22656-0.019531 0.048329-0.0027357 0.046868-0.0028847 0.08789-0.0019531z" fill="#abad1f"/>
+</svg>
diff --git a/static/f/plat/ps5.svg b/static/f/plat/ps5.svg
new file mode 100644
index 00000000..d8a73623
--- /dev/null
+++ b/static/f/plat/ps5.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 16 12.156" xmlns="http://www.w3.org/2000/svg">
+<defs>
+<style>.cls-1{fill-rule:evenodd;}</style>
+</defs>
+<path class="cls-1" d="m1.2003 10.347c-1.2587-0.35224-1.4724-1.0793-0.89709-1.4983 0.53202-0.38843 1.4366-0.67847 1.4366-0.67847l3.7357-1.3061v1.4881l-2.6884 0.94591c-0.4754 0.16962-0.54819 0.40482-0.16174 0.52864 0.38645 0.12382 1.0848 0.088766 1.5596-0.07859l1.2893-0.46023v1.3315c-0.0815 0.0147-0.17329 0.02883-0.25705 0.0424-1.3453 0.21476-2.7238 0.10669-4.017-0.31492zm7.8814 0.15492 4.192-1.4644c0.47599-0.16962 0.54877-0.40369 0.16232-0.52751-0.38644-0.12382-1.0848-0.088767-1.5596 0.079156l-2.7935 0.96456v-1.5373l0.16174-0.053713c0.63114-0.19986 1.2818-0.33496 1.9415-0.40313 1.1351-0.12269 2.5249 0.016961 3.6155 0.42178 1.2298 0.38108 1.3684 0.94251 1.0559 1.3292-0.3125 0.38673-1.0785 0.66208-1.0785 0.66208l-5.6962 2.0066zm0.49043-9.5309c2.2072 0.74576 2.9552 1.6741 2.9552 3.7661 0 2.0383-1.2789 2.8111-2.9033 2.0394v-3.8012c0-0.44553-0.0832-0.85601-0.50833-0.97248-0.32579-0.1029-0.52797 0.19506-0.52797 0.64059v9.5128l-2.6064-0.81417v-11.342c1.1085 0.20241 2.723 0.67847 3.5907 0.96852z" fill="#999" stroke-width=".057149"/>
+</svg>
diff --git a/static/f/plat/scd.svg b/static/f/plat/scd.svg
new file mode 100644
index 00000000..6592b94d
--- /dev/null
+++ b/static/f/plat/scd.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg enable-background="new 0 0 303.708 166.534" version="1.1" viewBox="0 0 16 14.095" xmlns="http://www.w3.org/2000/svg">
+<rect width="16" height="14.095" fill-rule="evenodd"/>
+<path d="m5.7034 11.381 2.6321-2.606c0.00831-0.0196 0.016249-0.039008 0.024211-0.058424l-2.6563 2.0075 2.7033-2.8133-2.7033 2.0651 2.591-2.7373-2.591 2.1123 2.4943-2.8105c-0.9045-0.75358-3.0318-0.085732-4.8826 1.5681-1.9351 1.7292-2.8343 3.8803-2.0084 4.8046 0.82591 0.92429 3.0643 0.27187 4.9994-1.4573 0.52452-0.46869 0.97209-0.9683 1.3306-1.4661z" fill="#609ad2" stroke-width=".063225"/>
+<path d="m4.5241 9.1255-0.90861-0.01043v2.2815h0.90861v-0.6272h0.88142v1.3866h-2.2238c-0.22205 0-0.42987-0.21933-0.42987-0.42987v-2.9249c0-0.31442 0.14984-0.43505 0.42285-0.43505h2.2308v1.513h-0.88142z" fill="#080808" stroke-width=".063225"/>
+<path d="m10.297 5.6634-2.6321 2.606c-0.00831 0.0196-0.016249 0.039008-0.02422 0.058424l2.6563-2.0075-2.7033 2.8132 2.7033-2.0651-2.591 2.7373 2.591-2.1123-2.4943 2.8105c0.9045 0.75358 3.0318 0.085732 4.8826-1.5681 1.9351-1.7292 2.8343-3.8803 2.0084-4.8046-0.82591-0.92429-3.0643-0.27187-4.9994 1.4573-0.52452 0.46869-0.97209 0.9683-1.3306 1.4661z" fill="#e4bb4e" stroke-width=".063225"/>
+<g transform="matrix(.063225 0 0 .063225 -3.786 3.2915)">
+<path d="m270.4 78.898c0 3.399-3.528 6.739-6.798 6.798l-35.202-0.059v-59.94l35.202-2e-3c3.399 0.387 6.798 3.27 6.798 6.882zm-28-5.271h14.342v-36.085l-14.342 0.165z"/>
+</g>
+<g transform="matrix(.063225 0 0 .063225 1.1879 .44935)" fill="#fff">
+<path d="m27.502 12.139c1.136-1.689 2.825-3.401 5.024-3.328 4.164-0.114 8.328 0 12.501-0.032-0.032 1.396-0.065 2.792-0.114 4.188 1.697-1.875 3.523-4.253 6.332-4.155 5.763-0.105 11.527 0 17.289-0.032 0 11.267 0.01 22.542 0 33.816-3.896 9e-3 -7.8 0-11.695 0-0.018-8.061 8e-3 -16.121-0.018-24.182-2.191-0.194-3.238 1.892-4.229 3.458-4.238 6.916-8.719 13.694-12.744 20.732-4.1 0.081-8.191 0.072-12.29-9e-3 4.92-8.296 10.196-16.373 15.245-24.595-2.581 0.153-5.901-0.707-7.816 1.525-4.87 7.646-9.579 15.406-14.408 23.078-4.124-0.017-8.24 8e-3 -12.363-0.017 6.42-10.153 12.873-20.285 19.286-30.447z"/>
+<path d="m73.536 12.898c1.559-2.004 4.684-4.447 7.728-4.139 8.637-0.023 17.281-0.023 25.919 0.01 8e-3 2.508 0.016 5.008-0.058 7.516-6.437 0.195-12.89-0.09-19.319 0.139-2.362 0.893-2.873 3.896-4.391 5.713 8.068 0.049 16.129-0.023 24.197 0.033-1.599 2.176-3.109 4.416-4.627 6.648-6.559 0.049-13.117-0.072-19.669 0.064 0.033 2.119 0.042 4.238 0.05 6.365 7.945 0.016 15.886-0.033 23.832 0.023-0.016 2.459-0.023 4.92 0.024 7.371-12.006 0.064-24.011 0.023-36.017 0.023-0.017-6.891-0.024-13.783-8e-3 -20.684-0.275-3.388 0.682-6.46 2.339-9.082z"/>
+<path d="m112.58 11.898c1.039-1.479 3.978-3.268 6.063-3.139 9.278-0.039 18.557 0 27.827-8e-3 0.016 2.533-0.025 5.064-0.122 7.59-6.031 0.041-12.054-0.057-18.077 0.041-4.124-0.229-5.788 4.326-7.047 7.451-0.163 5.069-1.011 5.144-0.312 11.398 6.813 0.432 8.407 0.257 16.87 0.129 0.433-1.777 0.172-3.645 0.261-5.463-2.921-0.475-2.289-0.276-7.954-0.439 1.412-2.41 2.768-4.861 4.115-7.313 4.83 0.023 9.659-0.041 14.489 0.047-0.017 5.619 0.032 11.234 0 16.854 0.04 1.178-0.479 2.266-0.836 3.369-11.089 0.461-22.201 0.096-33.298 0.193-2.905 0.479-4.862-2.631-4.603-5.219 0.081-6.145-0.138-12.307 0.098-18.443-0.119-2.881 1.082-4.774 2.526-7.048z"/>
+<path d="m151.86 8.785c6.251-0.082 12.509-0.016 18.76-0.049 3.352-0.334 5.778 2.525 7.418 5.064 5.911 9.668 12.096 19.174 17.932 28.881-4.261-0.016-8.522 8e-3 -12.784-0.016-1.64-2.158-2.866-4.789-5.098-6.379-3.775-0.148-7.55-0.01-11.315-0.041-1.161-1.777-2.298-3.564-3.329-5.414 0.105 3.928 0.065 7.857 0.065 11.785-3.889 0-7.769 0.041-11.648-0.031-9e-3 -11.267-9e-3 -22.534-1e-3 -33.8zm11.884 7.297c-0.065 4.238 0.016 8.475-0.065 12.713 3.427 0.072 6.843 8e-3 10.262 0.096-2.201-3.418-4.02-7.07-6.252-10.471-0.909-1.348-2.435-1.957-3.945-2.338z" fill="#fff"/>
+</g>
+</svg>
diff --git a/static/f/plat/smd.svg b/static/f/plat/smd.svg
new file mode 100644
index 00000000..808897bf
--- /dev/null
+++ b/static/f/plat/smd.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 16 8.723" xmlns="http://www.w3.org/2000/svg">
+<rect width="16" height="8.723" fill-rule="evenodd" stroke-width=".97835"/>
+<g transform="translate(-34.082 -298.93)" stroke-opacity="0">
+<path d="m39.138 299.96v6.5785h-4.0394z" fill="#c00"/>
+<rect x="43.416" y="300.1" width="1.9513" height="6.5035" fill="#0c0"/>
+<path d="m45.788 300.1c-0.02087-6.7e-4 -0.04411-1e-3 -0.07027-2e-3l-0.01199 2.228c0.0016 5e-5 0.0032-5e-5 0.0047 0v-7e-3c0.03319-4e-3 0.06661-8e-3 0.1007-8e-3l0.40967-2.1835c-0.15986-0.0212-0.3104-0.0235-0.43286-0.0278zm0.75131 0.0618-0.57522 2.1592c0.05123 8e-3 0.10145 0.02 0.14974 0.0363l0.94482-2.053c-0.16688-0.0641-0.34025-0.11242-0.51934-0.1426zm0.83516 0.28752-1.1299 1.9641c0.03776 0.02 0.07436 0.043 0.10914 0.0681l1.4515-1.7487c-0.13539-0.1075-0.27941-0.20228-0.43076-0.28347zm0.70229 0.52768-1.6239 1.5871c0.03881 0.0369 0.07516 0.0774 0.10808 0.12066l1.9107-1.2182c-0.11632-0.17758-0.24894-0.34165-0.39491-0.48958zm0.54306 0.73957-1.9882 1.0732c0.0228 0.039 0.04316 0.0795 0.06116 0.12182l2.1828-0.57502c-0.0656-0.21794-0.15161-0.4255-0.25571-0.62005zm0.33744 0.95028-2.2244 0.35621c0.02281 0.0752 0.03814 0.15439 0.04481 0.23613h2.245c-0.0053-0.20265-0.02769-0.4007-0.06537-0.59234zm-2.1796 0.78748c-0.04609 0.52854-0.45074 0.94164-0.94271 0.94164-0.04232 0-0.08358-3e-3 -0.12443-9e-3v-0.045c-0.0016 5e-5 -0.0032-5e-5 -0.0047 0v2.2496c0.16847-1e-3 0.2554-9e-3 0.38647-9e-3 1.5886 0 2.8821-1.3912 2.9304-3.128z" fill="#0c0"/>
+<path d="m42.518 299.96v6.5785h-4.0394z" fill="#c00"/>
+</g>
+</svg>
diff --git a/static/f/plat/tdo.svg b/static/f/plat/tdo.svg
new file mode 100644
index 00000000..a6842e25
--- /dev/null
+++ b/static/f/plat/tdo.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+<path d="m4 15.55c0-0.24863 1.7905-0.45013 3.9999-0.45013 2.2095 0 4.0001 0.2015 4.0001 0.45013 0 0.2487-1.7905 0.45013-4.0001 0.45013-2.2096 0-3.9999-0.20143-3.9999-0.45013z" fill="#888" stroke-width=".089699"/>
+<radialGradient id="a" cx="109.2" cy="155.13" r="36.658" gradientTransform="matrix(.112 0 0 .071837 -3.7603 -.26874)" gradientUnits="userSpaceOnUse">
+<stop stop-color="#e5ca00" offset=".5225"/>
+<stop stop-color="#716A13" offset=".8933"/>
+<stop stop-color="#49482E" offset="1"/>
+</radialGradient>
+<path d="m4.5999 11.306c0-1.2077 1.5218-2.1863 3.4001-2.1863 1.8782 0 3.3999 0.97856 3.3999 2.1863 0 1.2076-1.5219 2.1863-3.3999 2.1863-1.8783 0-3.4001-0.97863-3.4001-2.1863z" fill="url(#a)" stroke-width=".089699"/>
+<path d="m4.8333 5.6049c-0.50043 0.214-0.6336 1.4573-0.6336 1.4573s0.13316 1.2434 0.6336 1.4574c0.49976 0.21443 3.1666 0.34302 3.1666 0.34302s2.667-0.12859 3.1665-0.34302c0.50054-0.214 0.63371-1.4574 0.63371-1.4574s-0.13316-1.2434-0.63371-1.4573c-0.49953-0.21458-3.1665-0.34316-3.1665-0.34316s-2.6669 0.12859-3.1666 0.34316z" fill="#77f" stroke-width=".089699"/>
+<polygon transform="matrix(.112 0 0 .071837 -3.7603 -.26874)" points="69.44 39.392 105 3.741 140.56 39.392 105 75.035" fill="#c00"/>
+</svg>
diff --git a/static/f/plat/vnd.svg b/static/f/plat/vnd.svg
new file mode 100644
index 00000000..9766f36a
--- /dev/null
+++ b/static/f/plat/vnd.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="16" height="16" version="1.1" viewBox="0 0 4.2333 4.2333" xmlns="http://www.w3.org/2000/svg">
+<g>
+<rect x=".26458" y=".26458" width="3.7042" height="3.7042" ry=".35811" fill="#bfbfbf" fill-rule="evenodd" stroke-width=".23388"/>
+<rect x=".52917" y=".52917" width="3.175" height="3.175" ry=".39071" fill="#303030" fill-rule="evenodd" stroke-width=".22911"/>
+<path d="m0.66146 0.52917 0.60934 1.5875h0.22356l0.63914-1.5875h-0.342l-0.40066 1.1674c-0.16953-0.48461-0.28787-0.8093-0.41839-1.1674z" fill="#bfbfbf"/>
+<path d="m2.0941 0.52917v1.5816h0.24799v-1.1975l0.80151 1.1975h0.22562v-1.5816h-0.22562v1.1631l-0.80151-1.1631z" fill="#bfbfbf"/>
+<path d="m1.8033 2.1167h-0.99254v1.5875h0.99254v-0.19293h0.23692v-1.1833h-0.23692zm-0.7333 0.21125h0.4937v1.1833h-0.4937z" fill="#bfbfbf"/>
+<path d="m3.3771 2.3279v0.29816h-0.45947v-0.29816h-0.42166v0.47773h0.88112v0.70559h-0.24306v0.19293h-0.83534v-0.19293h-0.25846v-0.34707l0.45573-0.00628v0.35335h0.63806v-0.34707h-0.2164v-0.1781l-0.61893 0.012553v-0.19297h-0.25846v-0.47773h0.25846v-0.21125h0.83534v0.21125z" fill="#bfbfbf"/>
+</g>
+</svg>
diff --git a/static/f/plat/x1s.svg b/static/f/plat/x1s.svg
new file mode 100644
index 00000000..20f22dc1
--- /dev/null
+++ b/static/f/plat/x1s.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="12.557" height="16" enable-background="new -9.595 -11.5 657 225" version="1.1" viewBox="-9.595 -11.5 12.557 16" xmlns="http://www.w3.org/2000/svg">
+<g fill="#b2b2b2" stroke-width=".032833">
+<path d="m0.0074687-7.505-1.6796-2.995h4.6341zm-0.95088-2.5681 1.0455 1.8644 1.8392-1.8644z"/>
+<path d="m1.0812-4.2781-3.5788-6.2219h-5.1236l3.8594 6.6487h5.0885"/>
+<path d="m-4.5449-3.8513h-5.0501l3.1937-3.1338zm-4.0056-0.42683h3.2567l-1.1971-2.021z"/>
+<path d="m-3.5161-4.2781-3.3639-5.795h4.1354l3.3333 5.795z"/>
+</g>
+<g fill="#b2b2b2" stroke-width=".032833">
+<path d="m-8.5659 3.5h5.0686l3.8243-6.6487h-6.3373l-1.4751 1.5432h1.7923l-2.6327 4.6787"/>
+<path d="m-3.7992 3.0456h-4.0918l2.8729-5.1056h-1.5238l0.65906-0.68949h5.4169z"/>
+</g>
+</svg>
diff --git a/static/f/plat/xxs.svg b/static/f/plat/xxs.svg
new file mode 100644
index 00000000..2afd7ab2
--- /dev/null
+++ b/static/f/plat/xxs.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 16 7.8569" xmlns="http://www.w3.org/2000/svg">
+<defs>
+<style>.a{fill:#0f7a10;}.b{fill:#fff;}</style>
+</defs>
+<g transform="translate(-87.941 -88)">
+<rect class="a" x="87.941" y="88" width="16" height="7.8569" fill="#149f15" stroke-width=".14546"/>
+<path class="b" d="m99.151 92.127 0.67653-0.92977c-0.22196-0.05193-0.43293-0.1429-0.62306-0.26865-0.18801-0.14292-0.29297-0.36973-0.28022-0.60556-0.01-0.23802 0.10519-0.46393 0.30318-0.5964 0.26309-0.15664 0.56734-0.23018 0.87293-0.21101 1.1891 0 1.4989 0.62515 1.7091 0.88979l0.63783-0.87662c-0.10782-0.1756-0.24421-0.33197-0.40354-0.46264-0.44406-0.36698-1.098-0.55048-1.9618-0.55048-0.76009 0-1.3542 0.16668-1.7825 0.50005-0.42069 0.31638-0.66071 0.81799-0.64314 1.3441 0 0.89188 0.49813 1.4549 1.4947 1.7672zm3.2788-0.04705c-0.29804-0.26539-0.75972-0.47324-1.385-0.62354l-0.68409 0.94005c0.35787 0.07169 0.69851 0.21188 1.0032 0.41286 0.1917 0.13228 0.30111 0.35449 0.28905 0.58709 0.0143 0.27672-0.11399 0.54152-0.33995 0.70191-0.29488 0.18039-0.63828 0.2653-0.98325 0.24312-0.98887 0-1.455-0.32775-1.9312-1.1809l-0.68248 0.9378c0.12176 0.25066 0.2972 0.47143 0.51386 0.64667 0.487 0.3976 1.1746 0.5964 2.0628 0.5964 0.8331 0 1.4824-0.17584 1.948-0.52751 0.46379-0.34778 0.72531-0.90262 0.69838-1.4817 0.0247-0.47235-0.16199-0.93122-0.50953-1.2521zm-5.8796 3.1153h-0.28503v-6.5327h0.28439zm-7.6089-1.6e-4h1.4057l1.0679-1.4676-0.70287-0.96606zm6.159-6.5322h-1.4057l-0.87373 1.2007 0.70287 0.9659zm-4.5591 0h-1.4059l4.7532 6.5312h1.4057z" stroke-width=".16058"/>
+</g>
+</svg>
diff --git a/util/updates/2021-03-07-platforms.sql b/util/updates/2021-03-07-platforms.sql
new file mode 100644
index 00000000..a0d19533
--- /dev/null
+++ b/util/updates/2021-03-07-platforms.sql
@@ -0,0 +1,9 @@
+ALTER TYPE platform ADD VALUE 'tdo' BEFORE 'oth';
+ALTER TYPE platform ADD VALUE 'fm7' BEFORE 'fmt';
+ALTER TYPE platform ADD VALUE 'fm8' BEFORE 'fmt';
+ALTER TYPE platform ADD VALUE 'ps5' BEFORE 'psv';
+ALTER TYPE platform ADD VALUE 'smd' BEFORE 'sat';
+ALTER TYPE platform ADD VALUE 'scd' BEFORE 'sat';
+ALTER TYPE platform ADD VALUE 'x1s' BEFORE 'x68';
+ALTER TYPE platform ADD VALUE 'vnd' AFTER 'n3d';
+ALTER TYPE platform ADD VALUE 'xxs' AFTER 'xbo';