From af9a091356791cf08156edf9930dc0fcbe37e460 Mon Sep 17 00:00:00 2001
From: troytt <47798984@qq.com>
Date: Mon, 28 Sep 2026 07:39:13 +0000
Subject: [PATCH] feat(frontend): add bnet.html 7-stage Diablo II v1.13c
pre-game & Battle.net flow into Act 1 Rogue Encampment
---
acts.html | 1 +
bnet.html | 213 +
public/ui/frontend/avatars/char-ai-tn.png | Bin 0 -> 8065 bytes
public/ui/frontend/avatars/char-am-tn.png | Bin 0 -> 14595 bytes
public/ui/frontend/avatars/char-ba-tn.png | Bin 0 -> 15163 bytes
public/ui/frontend/avatars/char-dz-tn.png | Bin 0 -> 6856 bytes
public/ui/frontend/avatars/char-ne-tn.png | Bin 0 -> 11611 bytes
public/ui/frontend/avatars/char-pa-tn.png | Bin 0 -> 8009 bytes
public/ui/frontend/avatars/char-so-tn.png | Bin 0 -> 8325 bytes
public/ui/frontend/bg-char-create.png | Bin 0 -> 157511 bytes
public/ui/frontend/bg-char-select.png | Bin 0 -> 196773 bytes
public/ui/frontend/bg-main-menu.png | Bin 0 -> 212977 bytes
public/ui/frontend/bg-waiting-room.png | Bin 0 -> 110738 bytes
public/ui/frontend/btn-3wide.png | Bin 0 -> 13672 bytes
public/ui/frontend/btn-chatleft.png | Bin 0 -> 2599 bytes
public/ui/frontend/btn-create-cancel.png | Bin 0 -> 4965 bytes
public/ui/frontend/btn-create-game.png | Bin 0 -> 7764 bytes
public/ui/frontend/btn-game.png | Bin 0 -> 6633 bytes
public/ui/frontend/btn-medium.png | Bin 0 -> 7524 bytes
public/ui/frontend/btn-narrow.png | Bin 0 -> 10461 bytes
public/ui/frontend/btn-realm-thin.png | Bin 0 -> 7315 bytes
public/ui/frontend/btn-short.png | Bin 0 -> 6380 bytes
public/ui/frontend/btn-tall.png | Bin 0 -> 14174 bytes
public/ui/frontend/btn-wide.png | Bin 0 -> 13672 bytes
public/ui/frontend/btn-wide02.png | Bin 0 -> 13118 bytes
public/ui/frontend/campfire/am-bw.png | Bin 0 -> 178726 bytes
public/ui/frontend/campfire/am-fw.png | Bin 0 -> 424691 bytes
public/ui/frontend/campfire/am-nu1.png | Bin 0 -> 123174 bytes
public/ui/frontend/campfire/am-nu2.png | Bin 0 -> 137057 bytes
public/ui/frontend/campfire/am-nu3.png | Bin 0 -> 107839 bytes
public/ui/frontend/campfire/as-bw.png | Bin 0 -> 186983 bytes
public/ui/frontend/campfire/as-fw.png | Bin 0 -> 440122 bytes
public/ui/frontend/campfire/as-nu1.png | Bin 0 -> 76817 bytes
public/ui/frontend/campfire/as-nu2.png | Bin 0 -> 89301 bytes
public/ui/frontend/campfire/as-nu3.png | Bin 0 -> 83308 bytes
public/ui/frontend/campfire/ba-bw.png | Bin 0 -> 120474 bytes
public/ui/frontend/campfire/ba-fw.png | Bin 0 -> 513413 bytes
public/ui/frontend/campfire/ba-nu1.png | Bin 0 -> 68548 bytes
public/ui/frontend/campfire/ba-nu2.png | Bin 0 -> 79628 bytes
public/ui/frontend/campfire/ba-nu3.png | Bin 0 -> 166395 bytes
public/ui/frontend/campfire/dz-bw.png | Bin 0 -> 273295 bytes
public/ui/frontend/campfire/dz-fw.png | Bin 0 -> 880535 bytes
public/ui/frontend/campfire/dz-nu1.png | Bin 0 -> 89263 bytes
public/ui/frontend/campfire/dz-nu2.png | Bin 0 -> 101168 bytes
public/ui/frontend/campfire/dz-nu3.png | Bin 0 -> 99922 bytes
public/ui/frontend/campfire/fire-strip.png | Bin 0 -> 99251 bytes
public/ui/frontend/campfire/ne-bw-ov.png | Bin 0 -> 170798 bytes
public/ui/frontend/campfire/ne-bw.png | Bin 0 -> 204496 bytes
public/ui/frontend/campfire/ne-fw-ov.png | Bin 0 -> 176951 bytes
public/ui/frontend/campfire/ne-fw.png | Bin 0 -> 283790 bytes
public/ui/frontend/campfire/ne-nu1.png | Bin 0 -> 50658 bytes
public/ui/frontend/campfire/ne-nu2.png | Bin 0 -> 58203 bytes
public/ui/frontend/campfire/ne-nu3-ov.png | Bin 0 -> 127120 bytes
public/ui/frontend/campfire/ne-nu3.png | Bin 0 -> 95400 bytes
public/ui/frontend/campfire/pa-bw.png | Bin 0 -> 322358 bytes
public/ui/frontend/campfire/pa-fw.png | Bin 0 -> 660279 bytes
public/ui/frontend/campfire/pa-nu1.png | Bin 0 -> 133339 bytes
public/ui/frontend/campfire/pa-nu2.png | Bin 0 -> 140631 bytes
public/ui/frontend/campfire/pa-nu3.png | Bin 0 -> 69851 bytes
public/ui/frontend/campfire/so-bw-ov.png | Bin 0 -> 9099 bytes
public/ui/frontend/campfire/so-bw.png | Bin 0 -> 160002 bytes
public/ui/frontend/campfire/so-fw-ov.png | Bin 0 -> 7976 bytes
public/ui/frontend/campfire/so-fw.png | Bin 0 -> 273094 bytes
public/ui/frontend/campfire/so-nu1.png | Bin 0 -> 102452 bytes
public/ui/frontend/campfire/so-nu2.png | Bin 0 -> 116134 bytes
public/ui/frontend/campfire/so-nu3-ov.png | Bin 0 -> 15408 bytes
public/ui/frontend/campfire/so-nu3.png | Bin 0 -> 68160 bytes
public/ui/frontend/charselectbox.png | Bin 0 -> 2282 bytes
public/ui/frontend/clickbox.png | Bin 0 -> 1239 bytes
public/ui/frontend/create-game-bg.png | Bin 0 -> 53401 bytes
public/ui/frontend/fonts/font16-c0.png | Bin 0 -> 10687 bytes
public/ui/frontend/fonts/font16-c1.png | Bin 0 -> 10687 bytes
public/ui/frontend/fonts/font16-c2.png | Bin 0 -> 10687 bytes
public/ui/frontend/fonts/font16-c3.png | Bin 0 -> 10687 bytes
public/ui/frontend/fonts/font16-c4.png | Bin 0 -> 10687 bytes
public/ui/frontend/fonts/font16-c5.png | Bin 0 -> 10687 bytes
public/ui/frontend/fonts/font16-c7.png | Bin 0 -> 10687 bytes
public/ui/frontend/fonts/font16-c8.png | Bin 0 -> 10687 bytes
public/ui/frontend/fonts/font16-c9.png | Bin 0 -> 10687 bytes
public/ui/frontend/fonts/font24-c0.png | Bin 0 -> 23070 bytes
public/ui/frontend/fonts/font24-c1.png | Bin 0 -> 23070 bytes
public/ui/frontend/fonts/font24-c2.png | Bin 0 -> 23070 bytes
public/ui/frontend/fonts/font24-c3.png | Bin 0 -> 23070 bytes
public/ui/frontend/fonts/font24-c4.png | Bin 0 -> 23070 bytes
public/ui/frontend/fonts/font24-c5.png | Bin 0 -> 23070 bytes
public/ui/frontend/fonts/font24-c7.png | Bin 0 -> 23070 bytes
public/ui/frontend/fonts/font24-c8.png | Bin 0 -> 23070 bytes
public/ui/frontend/fonts/font24-c9.png | Bin 0 -> 23070 bytes
public/ui/frontend/fonts/font30-c0.png | Bin 0 -> 33334 bytes
public/ui/frontend/fonts/font30-c1.png | Bin 0 -> 33334 bytes
public/ui/frontend/fonts/font30-c2.png | Bin 0 -> 33334 bytes
public/ui/frontend/fonts/font30-c3.png | Bin 0 -> 33334 bytes
public/ui/frontend/fonts/font30-c4.png | Bin 0 -> 33334 bytes
public/ui/frontend/fonts/font30-c5.png | Bin 0 -> 33334 bytes
public/ui/frontend/fonts/font30-c7.png | Bin 0 -> 33334 bytes
public/ui/frontend/fonts/font30-c8.png | Bin 0 -> 33334 bytes
public/ui/frontend/fonts/font30-c9.png | Bin 0 -> 33334 bytes
public/ui/frontend/fonts/font42-c0.png | Bin 0 -> 55010 bytes
public/ui/frontend/fonts/font42-c1.png | Bin 0 -> 55010 bytes
public/ui/frontend/fonts/font42-c2.png | Bin 0 -> 55010 bytes
public/ui/frontend/fonts/font42-c3.png | Bin 0 -> 55010 bytes
public/ui/frontend/fonts/font42-c4.png | Bin 0 -> 55010 bytes
public/ui/frontend/fonts/font42-c5.png | Bin 0 -> 55010 bytes
public/ui/frontend/fonts/font42-c7.png | Bin 0 -> 55010 bytes
public/ui/frontend/fonts/font42-c8.png | Bin 0 -> 55010 bytes
public/ui/frontend/fonts/font42-c9.png | Bin 0 -> 55010 bytes
public/ui/frontend/fonts/font6-c0.png | Bin 0 -> 5430 bytes
public/ui/frontend/fonts/font6-c1.png | Bin 0 -> 5430 bytes
public/ui/frontend/fonts/font6-c2.png | Bin 0 -> 5430 bytes
public/ui/frontend/fonts/font6-c3.png | Bin 0 -> 5430 bytes
public/ui/frontend/fonts/font6-c4.png | Bin 0 -> 5430 bytes
public/ui/frontend/fonts/font6-c5.png | Bin 0 -> 5430 bytes
public/ui/frontend/fonts/font6-c7.png | Bin 0 -> 5430 bytes
public/ui/frontend/fonts/font6-c8.png | Bin 0 -> 5430 bytes
public/ui/frontend/fonts/font6-c9.png | Bin 0 -> 5430 bytes
public/ui/frontend/fonts/font8-c0.png | Bin 0 -> 7808 bytes
public/ui/frontend/fonts/font8-c1.png | Bin 0 -> 7808 bytes
public/ui/frontend/fonts/font8-c2.png | Bin 0 -> 7808 bytes
public/ui/frontend/fonts/font8-c3.png | Bin 0 -> 7808 bytes
public/ui/frontend/fonts/font8-c4.png | Bin 0 -> 7808 bytes
public/ui/frontend/fonts/font8-c5.png | Bin 0 -> 7808 bytes
public/ui/frontend/fonts/font8-c7.png | Bin 0 -> 7808 bytes
public/ui/frontend/fonts/font8-c8.png | Bin 0 -> 7808 bytes
public/ui/frontend/fonts/font8-c9.png | Bin 0 -> 7808 bytes
public/ui/frontend/fonts/fontexocet10-c0.png | Bin 0 -> 10242 bytes
public/ui/frontend/fonts/fontexocet10-c1.png | Bin 0 -> 10242 bytes
public/ui/frontend/fonts/fontexocet10-c2.png | Bin 0 -> 10242 bytes
public/ui/frontend/fonts/fontexocet10-c3.png | Bin 0 -> 10242 bytes
public/ui/frontend/fonts/fontexocet10-c4.png | Bin 0 -> 10242 bytes
public/ui/frontend/fonts/fontexocet10-c5.png | Bin 0 -> 10242 bytes
public/ui/frontend/fonts/fontexocet10-c7.png | Bin 0 -> 10242 bytes
public/ui/frontend/fonts/fontexocet10-c8.png | Bin 0 -> 10242 bytes
public/ui/frontend/fonts/fontexocet10-c9.png | Bin 0 -> 10242 bytes
public/ui/frontend/fonts/fontexocet8-c0.png | Bin 0 -> 6214 bytes
public/ui/frontend/fonts/fontexocet8-c1.png | Bin 0 -> 6214 bytes
public/ui/frontend/fonts/fontexocet8-c2.png | Bin 0 -> 6214 bytes
public/ui/frontend/fonts/fontexocet8-c3.png | Bin 0 -> 6214 bytes
public/ui/frontend/fonts/fontexocet8-c4.png | Bin 0 -> 6214 bytes
public/ui/frontend/fonts/fontexocet8-c5.png | Bin 0 -> 6214 bytes
public/ui/frontend/fonts/fontexocet8-c7.png | Bin 0 -> 6214 bytes
public/ui/frontend/fonts/fontexocet8-c8.png | Bin 0 -> 6214 bytes
public/ui/frontend/fonts/fontexocet8-c9.png | Bin 0 -> 6214 bytes
public/ui/frontend/fonts/fontformal10-c0.png | Bin 0 -> 8779 bytes
public/ui/frontend/fonts/fontformal10-c1.png | Bin 0 -> 8779 bytes
public/ui/frontend/fonts/fontformal10-c2.png | Bin 0 -> 8779 bytes
public/ui/frontend/fonts/fontformal10-c3.png | Bin 0 -> 8779 bytes
public/ui/frontend/fonts/fontformal10-c4.png | Bin 0 -> 8779 bytes
public/ui/frontend/fonts/fontformal10-c5.png | Bin 0 -> 8779 bytes
public/ui/frontend/fonts/fontformal10-c7.png | Bin 0 -> 8779 bytes
public/ui/frontend/fonts/fontformal10-c8.png | Bin 0 -> 8779 bytes
public/ui/frontend/fonts/fontformal10-c9.png | Bin 0 -> 8779 bytes
public/ui/frontend/fonts/fontformal11-c0.png | Bin 0 -> 9495 bytes
public/ui/frontend/fonts/fontformal11-c1.png | Bin 0 -> 9495 bytes
public/ui/frontend/fonts/fontformal11-c2.png | Bin 0 -> 9495 bytes
public/ui/frontend/fonts/fontformal11-c3.png | Bin 0 -> 9495 bytes
public/ui/frontend/fonts/fontformal11-c4.png | Bin 0 -> 9495 bytes
public/ui/frontend/fonts/fontformal11-c5.png | Bin 0 -> 9495 bytes
public/ui/frontend/fonts/fontformal11-c7.png | Bin 0 -> 9495 bytes
public/ui/frontend/fonts/fontformal11-c8.png | Bin 0 -> 9495 bytes
public/ui/frontend/fonts/fontformal11-c9.png | Bin 0 -> 9495 bytes
public/ui/frontend/fonts/fontformal12-c0.png | Bin 0 -> 13441 bytes
public/ui/frontend/fonts/fontformal12-c1.png | Bin 0 -> 13441 bytes
public/ui/frontend/fonts/fontformal12-c2.png | Bin 0 -> 13441 bytes
public/ui/frontend/fonts/fontformal12-c3.png | Bin 0 -> 13441 bytes
public/ui/frontend/fonts/fontformal12-c4.png | Bin 0 -> 13441 bytes
public/ui/frontend/fonts/fontformal12-c5.png | Bin 0 -> 13441 bytes
public/ui/frontend/fonts/fontformal12-c7.png | Bin 0 -> 13441 bytes
public/ui/frontend/fonts/fontformal12-c8.png | Bin 0 -> 13441 bytes
public/ui/frontend/fonts/fontformal12-c9.png | Bin 0 -> 13441 bytes
.../ui/frontend/fonts/fontridiculous-c0.png | Bin 0 -> 6770 bytes
.../ui/frontend/fonts/fontridiculous-c1.png | Bin 0 -> 6770 bytes
.../ui/frontend/fonts/fontridiculous-c2.png | Bin 0 -> 6770 bytes
.../ui/frontend/fonts/fontridiculous-c3.png | Bin 0 -> 6770 bytes
.../ui/frontend/fonts/fontridiculous-c4.png | Bin 0 -> 6770 bytes
.../ui/frontend/fonts/fontridiculous-c5.png | Bin 0 -> 6770 bytes
.../ui/frontend/fonts/fontridiculous-c7.png | Bin 0 -> 6770 bytes
.../ui/frontend/fonts/fontridiculous-c8.png | Bin 0 -> 6770 bytes
.../ui/frontend/fonts/fontridiculous-c9.png | Bin 0 -> 6770 bytes
public/ui/frontend/fonts/metrics.json | 27758 ++++++++++++++++
public/ui/frontend/gembutton.png | Bin 0 -> 1131 bytes
public/ui/frontend/grey-level-box.png | Bin 0 -> 1166 bytes
public/ui/frontend/joingameclickbox.png | Bin 0 -> 1210 bytes
public/ui/frontend/loading-door-strip.png | Bin 0 -> 206590 bytes
public/ui/frontend/logo-bnet-black.png | Bin 0 -> 2417 bytes
public/ui/frontend/logo-bnet-fire.png | Bin 0 -> 81917 bytes
public/ui/frontend/logo-bnet-strip.png | Bin 0 -> 860 bytes
public/ui/frontend/logo-main-black.png | Bin 0 -> 17437 bytes
public/ui/frontend/logo-main-fire.png | Bin 0 -> 525761 bytes
public/ui/frontend/logo-main-strip.png | Bin 0 -> 860 bytes
public/ui/frontend/manifest.json | 13585 ++++++++
public/ui/frontend/popup-340x224.png | Bin 0 -> 26803 bytes
public/ui/frontend/popup-okcancel.png | Bin 0 -> 14474 bytes
public/ui/frontend/radiobutton.png | Bin 0 -> 1346 bytes
public/ui/frontend/realmselect.png | Bin 0 -> 2767 bytes
public/ui/frontend/textbox.png | Bin 0 -> 1741 bytes
scripts/pack-frontend-ui.ts | 937 +
src/frontend/__tests__/flow-state.test.ts | 146 +
src/frontend/bnet-main.ts | 184 +
src/frontend/flow-state.ts | 537 +
src/frontend/frontend-renderer.ts | 1842 +
src/game/character.ts | 14 +-
src/scene/act-scene.ts | 40 +-
src/ui/hud-manager.ts | 6 +
vite.config.ts | 1 +
204 files changed, 45259 insertions(+), 5 deletions(-)
create mode 100644 bnet.html
create mode 100644 public/ui/frontend/avatars/char-ai-tn.png
create mode 100644 public/ui/frontend/avatars/char-am-tn.png
create mode 100644 public/ui/frontend/avatars/char-ba-tn.png
create mode 100644 public/ui/frontend/avatars/char-dz-tn.png
create mode 100644 public/ui/frontend/avatars/char-ne-tn.png
create mode 100644 public/ui/frontend/avatars/char-pa-tn.png
create mode 100644 public/ui/frontend/avatars/char-so-tn.png
create mode 100644 public/ui/frontend/bg-char-create.png
create mode 100644 public/ui/frontend/bg-char-select.png
create mode 100644 public/ui/frontend/bg-main-menu.png
create mode 100644 public/ui/frontend/bg-waiting-room.png
create mode 100644 public/ui/frontend/btn-3wide.png
create mode 100644 public/ui/frontend/btn-chatleft.png
create mode 100644 public/ui/frontend/btn-create-cancel.png
create mode 100644 public/ui/frontend/btn-create-game.png
create mode 100644 public/ui/frontend/btn-game.png
create mode 100644 public/ui/frontend/btn-medium.png
create mode 100644 public/ui/frontend/btn-narrow.png
create mode 100644 public/ui/frontend/btn-realm-thin.png
create mode 100644 public/ui/frontend/btn-short.png
create mode 100644 public/ui/frontend/btn-tall.png
create mode 100644 public/ui/frontend/btn-wide.png
create mode 100644 public/ui/frontend/btn-wide02.png
create mode 100644 public/ui/frontend/campfire/am-bw.png
create mode 100644 public/ui/frontend/campfire/am-fw.png
create mode 100644 public/ui/frontend/campfire/am-nu1.png
create mode 100644 public/ui/frontend/campfire/am-nu2.png
create mode 100644 public/ui/frontend/campfire/am-nu3.png
create mode 100644 public/ui/frontend/campfire/as-bw.png
create mode 100644 public/ui/frontend/campfire/as-fw.png
create mode 100644 public/ui/frontend/campfire/as-nu1.png
create mode 100644 public/ui/frontend/campfire/as-nu2.png
create mode 100644 public/ui/frontend/campfire/as-nu3.png
create mode 100644 public/ui/frontend/campfire/ba-bw.png
create mode 100644 public/ui/frontend/campfire/ba-fw.png
create mode 100644 public/ui/frontend/campfire/ba-nu1.png
create mode 100644 public/ui/frontend/campfire/ba-nu2.png
create mode 100644 public/ui/frontend/campfire/ba-nu3.png
create mode 100644 public/ui/frontend/campfire/dz-bw.png
create mode 100644 public/ui/frontend/campfire/dz-fw.png
create mode 100644 public/ui/frontend/campfire/dz-nu1.png
create mode 100644 public/ui/frontend/campfire/dz-nu2.png
create mode 100644 public/ui/frontend/campfire/dz-nu3.png
create mode 100644 public/ui/frontend/campfire/fire-strip.png
create mode 100644 public/ui/frontend/campfire/ne-bw-ov.png
create mode 100644 public/ui/frontend/campfire/ne-bw.png
create mode 100644 public/ui/frontend/campfire/ne-fw-ov.png
create mode 100644 public/ui/frontend/campfire/ne-fw.png
create mode 100644 public/ui/frontend/campfire/ne-nu1.png
create mode 100644 public/ui/frontend/campfire/ne-nu2.png
create mode 100644 public/ui/frontend/campfire/ne-nu3-ov.png
create mode 100644 public/ui/frontend/campfire/ne-nu3.png
create mode 100644 public/ui/frontend/campfire/pa-bw.png
create mode 100644 public/ui/frontend/campfire/pa-fw.png
create mode 100644 public/ui/frontend/campfire/pa-nu1.png
create mode 100644 public/ui/frontend/campfire/pa-nu2.png
create mode 100644 public/ui/frontend/campfire/pa-nu3.png
create mode 100644 public/ui/frontend/campfire/so-bw-ov.png
create mode 100644 public/ui/frontend/campfire/so-bw.png
create mode 100644 public/ui/frontend/campfire/so-fw-ov.png
create mode 100644 public/ui/frontend/campfire/so-fw.png
create mode 100644 public/ui/frontend/campfire/so-nu1.png
create mode 100644 public/ui/frontend/campfire/so-nu2.png
create mode 100644 public/ui/frontend/campfire/so-nu3-ov.png
create mode 100644 public/ui/frontend/campfire/so-nu3.png
create mode 100644 public/ui/frontend/charselectbox.png
create mode 100644 public/ui/frontend/clickbox.png
create mode 100644 public/ui/frontend/create-game-bg.png
create mode 100644 public/ui/frontend/fonts/font16-c0.png
create mode 100644 public/ui/frontend/fonts/font16-c1.png
create mode 100644 public/ui/frontend/fonts/font16-c2.png
create mode 100644 public/ui/frontend/fonts/font16-c3.png
create mode 100644 public/ui/frontend/fonts/font16-c4.png
create mode 100644 public/ui/frontend/fonts/font16-c5.png
create mode 100644 public/ui/frontend/fonts/font16-c7.png
create mode 100644 public/ui/frontend/fonts/font16-c8.png
create mode 100644 public/ui/frontend/fonts/font16-c9.png
create mode 100644 public/ui/frontend/fonts/font24-c0.png
create mode 100644 public/ui/frontend/fonts/font24-c1.png
create mode 100644 public/ui/frontend/fonts/font24-c2.png
create mode 100644 public/ui/frontend/fonts/font24-c3.png
create mode 100644 public/ui/frontend/fonts/font24-c4.png
create mode 100644 public/ui/frontend/fonts/font24-c5.png
create mode 100644 public/ui/frontend/fonts/font24-c7.png
create mode 100644 public/ui/frontend/fonts/font24-c8.png
create mode 100644 public/ui/frontend/fonts/font24-c9.png
create mode 100644 public/ui/frontend/fonts/font30-c0.png
create mode 100644 public/ui/frontend/fonts/font30-c1.png
create mode 100644 public/ui/frontend/fonts/font30-c2.png
create mode 100644 public/ui/frontend/fonts/font30-c3.png
create mode 100644 public/ui/frontend/fonts/font30-c4.png
create mode 100644 public/ui/frontend/fonts/font30-c5.png
create mode 100644 public/ui/frontend/fonts/font30-c7.png
create mode 100644 public/ui/frontend/fonts/font30-c8.png
create mode 100644 public/ui/frontend/fonts/font30-c9.png
create mode 100644 public/ui/frontend/fonts/font42-c0.png
create mode 100644 public/ui/frontend/fonts/font42-c1.png
create mode 100644 public/ui/frontend/fonts/font42-c2.png
create mode 100644 public/ui/frontend/fonts/font42-c3.png
create mode 100644 public/ui/frontend/fonts/font42-c4.png
create mode 100644 public/ui/frontend/fonts/font42-c5.png
create mode 100644 public/ui/frontend/fonts/font42-c7.png
create mode 100644 public/ui/frontend/fonts/font42-c8.png
create mode 100644 public/ui/frontend/fonts/font42-c9.png
create mode 100644 public/ui/frontend/fonts/font6-c0.png
create mode 100644 public/ui/frontend/fonts/font6-c1.png
create mode 100644 public/ui/frontend/fonts/font6-c2.png
create mode 100644 public/ui/frontend/fonts/font6-c3.png
create mode 100644 public/ui/frontend/fonts/font6-c4.png
create mode 100644 public/ui/frontend/fonts/font6-c5.png
create mode 100644 public/ui/frontend/fonts/font6-c7.png
create mode 100644 public/ui/frontend/fonts/font6-c8.png
create mode 100644 public/ui/frontend/fonts/font6-c9.png
create mode 100644 public/ui/frontend/fonts/font8-c0.png
create mode 100644 public/ui/frontend/fonts/font8-c1.png
create mode 100644 public/ui/frontend/fonts/font8-c2.png
create mode 100644 public/ui/frontend/fonts/font8-c3.png
create mode 100644 public/ui/frontend/fonts/font8-c4.png
create mode 100644 public/ui/frontend/fonts/font8-c5.png
create mode 100644 public/ui/frontend/fonts/font8-c7.png
create mode 100644 public/ui/frontend/fonts/font8-c8.png
create mode 100644 public/ui/frontend/fonts/font8-c9.png
create mode 100644 public/ui/frontend/fonts/fontexocet10-c0.png
create mode 100644 public/ui/frontend/fonts/fontexocet10-c1.png
create mode 100644 public/ui/frontend/fonts/fontexocet10-c2.png
create mode 100644 public/ui/frontend/fonts/fontexocet10-c3.png
create mode 100644 public/ui/frontend/fonts/fontexocet10-c4.png
create mode 100644 public/ui/frontend/fonts/fontexocet10-c5.png
create mode 100644 public/ui/frontend/fonts/fontexocet10-c7.png
create mode 100644 public/ui/frontend/fonts/fontexocet10-c8.png
create mode 100644 public/ui/frontend/fonts/fontexocet10-c9.png
create mode 100644 public/ui/frontend/fonts/fontexocet8-c0.png
create mode 100644 public/ui/frontend/fonts/fontexocet8-c1.png
create mode 100644 public/ui/frontend/fonts/fontexocet8-c2.png
create mode 100644 public/ui/frontend/fonts/fontexocet8-c3.png
create mode 100644 public/ui/frontend/fonts/fontexocet8-c4.png
create mode 100644 public/ui/frontend/fonts/fontexocet8-c5.png
create mode 100644 public/ui/frontend/fonts/fontexocet8-c7.png
create mode 100644 public/ui/frontend/fonts/fontexocet8-c8.png
create mode 100644 public/ui/frontend/fonts/fontexocet8-c9.png
create mode 100644 public/ui/frontend/fonts/fontformal10-c0.png
create mode 100644 public/ui/frontend/fonts/fontformal10-c1.png
create mode 100644 public/ui/frontend/fonts/fontformal10-c2.png
create mode 100644 public/ui/frontend/fonts/fontformal10-c3.png
create mode 100644 public/ui/frontend/fonts/fontformal10-c4.png
create mode 100644 public/ui/frontend/fonts/fontformal10-c5.png
create mode 100644 public/ui/frontend/fonts/fontformal10-c7.png
create mode 100644 public/ui/frontend/fonts/fontformal10-c8.png
create mode 100644 public/ui/frontend/fonts/fontformal10-c9.png
create mode 100644 public/ui/frontend/fonts/fontformal11-c0.png
create mode 100644 public/ui/frontend/fonts/fontformal11-c1.png
create mode 100644 public/ui/frontend/fonts/fontformal11-c2.png
create mode 100644 public/ui/frontend/fonts/fontformal11-c3.png
create mode 100644 public/ui/frontend/fonts/fontformal11-c4.png
create mode 100644 public/ui/frontend/fonts/fontformal11-c5.png
create mode 100644 public/ui/frontend/fonts/fontformal11-c7.png
create mode 100644 public/ui/frontend/fonts/fontformal11-c8.png
create mode 100644 public/ui/frontend/fonts/fontformal11-c9.png
create mode 100644 public/ui/frontend/fonts/fontformal12-c0.png
create mode 100644 public/ui/frontend/fonts/fontformal12-c1.png
create mode 100644 public/ui/frontend/fonts/fontformal12-c2.png
create mode 100644 public/ui/frontend/fonts/fontformal12-c3.png
create mode 100644 public/ui/frontend/fonts/fontformal12-c4.png
create mode 100644 public/ui/frontend/fonts/fontformal12-c5.png
create mode 100644 public/ui/frontend/fonts/fontformal12-c7.png
create mode 100644 public/ui/frontend/fonts/fontformal12-c8.png
create mode 100644 public/ui/frontend/fonts/fontformal12-c9.png
create mode 100644 public/ui/frontend/fonts/fontridiculous-c0.png
create mode 100644 public/ui/frontend/fonts/fontridiculous-c1.png
create mode 100644 public/ui/frontend/fonts/fontridiculous-c2.png
create mode 100644 public/ui/frontend/fonts/fontridiculous-c3.png
create mode 100644 public/ui/frontend/fonts/fontridiculous-c4.png
create mode 100644 public/ui/frontend/fonts/fontridiculous-c5.png
create mode 100644 public/ui/frontend/fonts/fontridiculous-c7.png
create mode 100644 public/ui/frontend/fonts/fontridiculous-c8.png
create mode 100644 public/ui/frontend/fonts/fontridiculous-c9.png
create mode 100644 public/ui/frontend/fonts/metrics.json
create mode 100644 public/ui/frontend/gembutton.png
create mode 100644 public/ui/frontend/grey-level-box.png
create mode 100644 public/ui/frontend/joingameclickbox.png
create mode 100644 public/ui/frontend/loading-door-strip.png
create mode 100644 public/ui/frontend/logo-bnet-black.png
create mode 100644 public/ui/frontend/logo-bnet-fire.png
create mode 100644 public/ui/frontend/logo-bnet-strip.png
create mode 100644 public/ui/frontend/logo-main-black.png
create mode 100644 public/ui/frontend/logo-main-fire.png
create mode 100644 public/ui/frontend/logo-main-strip.png
create mode 100644 public/ui/frontend/manifest.json
create mode 100644 public/ui/frontend/popup-340x224.png
create mode 100644 public/ui/frontend/popup-okcancel.png
create mode 100644 public/ui/frontend/radiobutton.png
create mode 100644 public/ui/frontend/realmselect.png
create mode 100644 public/ui/frontend/textbox.png
create mode 100644 scripts/pack-frontend-ui.ts
create mode 100644 src/frontend/__tests__/flow-state.test.ts
create mode 100644 src/frontend/bnet-main.ts
create mode 100644 src/frontend/flow-state.ts
create mode 100644 src/frontend/frontend-renderer.ts
diff --git a/acts.html b/acts.html
index 3ab2cc8..641a202 100644
--- a/acts.html
+++ b/acts.html
@@ -41,6 +41,7 @@
d2web · 暗黑破坏神 2
—
+ 战网完整流程 (Battle.net)