summaryrefslogtreecommitdiff
path: root/client/src/main.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/main.ts')
-rw-r--r--client/src/main.ts35
1 files changed, 24 insertions, 11 deletions
diff --git a/client/src/main.ts b/client/src/main.ts
index 8e69037..abeda05 100644
--- a/client/src/main.ts
+++ b/client/src/main.ts
@@ -7,11 +7,18 @@ import { checkMap, decompressMap, genMap } from "./map.js";
const join = document.getElementById("join")
const lobby = document.getElementById("lobby")
const mapeditor = document.getElementById("mapeditor")
+const custommaps = document.getElementById("custommaps")
+const popup = document.getElementById("popup")
-const maps = {
- [0]: 'MwRgPgTOIDS/dEOU1L1sxgDDX+9CDijSTyzLcFrVabN7EnYXCUnaBOK31xCMyEUSPfg3FZ20trTlTJnPpX4iV6tRLpCOC7bslbVvNQBY41SxesBWE/bYHpTnFPkZjFResG/hpb003RGBEMR0YQQAOSIjYcNDDRntAgNi/Txl/L2CkozgXfWdgtTUANmsQKyrrAHYHFLiI2T1870KgkkzS7N6CLUdmpvbipyV4hv7pQVSe8PGittHllo7J9Z7N5Y9W3Z39uCA'
+const defaultMaps = {
+ [0]: 'MwRgPgTOIDS/dEOU1L1sxgDDX+9CDijSTyzLcFrVabN7EnYXCUnaBOK31xCMyEUSPfg3FZ20trTlTJnPpX4iV6tRLpCOC7bslbVvNQBY41SxesBWE/bYHpTnFPkZjFResG/hpb003RGBEMR0YQQAOSIjYcNDDRntAgNi/Txl/L2CkozgXfWdgtTUANmsQKyrrAHYHFLiI2T1870KgkkzS7N6CLUdmpvbipyV4hv7pQVSe8PGittHllo7J9Z7N5Y9W3Z39uCA',
+ [1]: 'MwdgPgTMkDQXD5IQRhgBhm5PF97mptvqQalpWkVbdXQ/Uxo5eeTZly97zy5359h/Euzw1mUgbWIzpCynPHS5I9UpgBOGRpGSGyQZh0HVmxWtYGdfMRYZXuBvbs3P5sthSei3Z6y8Xdz9lIM96KwAWLGI42ISUeKTE+IBWf0cHYyFcu2zAuRzXfMUA4I9CXPKI1nF4NGBvYIN4AA4fBzDG7xVAmt8wo2raosK8idLalHNIyfmxq1mWADZU9ZTN5O2YEEzmJea3fMOxsq6Lk96CuZyK+fvDg+uc02mLyxvw2z9h5+KHiwfgCNDV7FUzqxIU8vst6hIFojBkiRvC/llzpioYE0WROuC8biGjIiUA===',
+ [2]: 'MzA+CYEZUgaOHyYly2o+rnEAZb6EFJGknFlFyXHUX15b52pk73NqeeO+zjkAnLQ7kaVUXWGcBLcq3kie2Jou6rGNOhPGi2kvSIWZlfEytOLEA2UsMSALPGYvnbgKxj7im/z9zLdTlzAI0RX2M7HR8/WyCDeM16aTUkYAY/AA5/enTQqUNI9Wi5XzjUkqMkCLtg1JQisPiynOLvOAA2N0hXHrcAdi9dUpyzLgsVOrHpoYz9XQXZ7QMp2rX2RvzxvnKU5bbhhNg91u2zwIzzCT4LpPnC72itdsnXjbePnCA===',
+ [3]: 'MwRgPgTMYgNHD5MS5aAMbXa7zm4BOWfJU8k2YMm0oyiuCgypmtnD17llxX3Gzo9KxIQxHiBzStX552kjIvlc+KiTOmbF2gfRmrB3I1olrjXKbRHDOunXuP6lAFngFPH7yC8BWDQsLM2srS0dbSNQXdXE4CFgEhLilWNxiYRCkOUTYAA5cuBzrTNFwoKjcpJtoh1qnEpNkHAaI0oqjADYfL18e7wB2OqV6yMYm+3Gp80DlYLbZtKNGsTHhrLM7CdSFMIqXZaoF1qdhDJ2t012dvbmbiJWbF2pNm1XL8s+lz84gA=='
}
+export var maps = {}
+
join.onsubmit = async function(event) {
event.preventDefault()
@@ -27,19 +34,18 @@ join.onsubmit = async function(event) {
alert('Please enter a player name')
return
}
-
+
for (let mapId = 0; mapId < GAME_MAP_COUNT; mapId++) {
- let {width, height, data} = decompressMap(maps[0]) // for now
- let map = genMap(width, height, data, mapId)
- let [success, result] = checkMap(map)
- if (!success) {
- alert(result)
- return
+ let id = 'map' + (mapId+1)
+ let content = (document.getElementById(id) as HTMLTextAreaElement).value.trim()
+ console.log(id, content)
+ if (content.length > 0) {
+ maps[mapId] = content
+ } else {
+ maps[mapId] = defaultMaps[mapId]
}
- map.spawns = result as Vec2[]
-
}
startGame(room_code, player_name)
@@ -49,6 +55,10 @@ mapeditor.onclick = function() {
window.location.href = 'mapeditor.html'
}
+custommaps.onclick = function() {
+ popup.style.display = 'flex'
+}
+
const onLoad = (startData: Frame) => {
if (startData.data.started) {
@@ -64,6 +74,8 @@ const onLoad = (startData: Frame) => {
join.style.display = "none"
mapeditor.style.display = "none"
+ custommaps.style.display = "none"
+ popup.style.display = "none"
lobby.style.display = ""
return true
@@ -88,6 +100,7 @@ const startGame = (code: string, name: string) => {
{
start: false,
key: Key.NOTHING,
+ maps: {},
name
}
)