diff --git a/src/mode.cpp b/src/mode.cpp index 0a070b0..3b044ec 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -38,6 +38,18 @@ void setMode(ModeId value) { config_set_dirty(); } +void modeMove(int index, int x, int y) { + if (mode != nullptr) { + mode->move(index, x, y); + } +} + +void modeFire(int index) { + if (mode != nullptr) { + mode->fire(index); + } +} + void setSpeed(double speed) { speed = min(max(0.01, speed), 10000.0); if (config.speed == speed) { diff --git a/src/mode.h b/src/mode.h index 89d8ed8..ef0aa31 100644 --- a/src/mode.h +++ b/src/mode.h @@ -9,4 +9,8 @@ void setMode(ModeId value); void setSpeed(double speed); +void modeMove(int index, int x, int y); + +void modeFire(int index); + #endif diff --git a/src/mode/Mode.h b/src/mode/Mode.h index f0b74d4..afa3049 100644 --- a/src/mode/Mode.h +++ b/src/mode/Mode.h @@ -94,6 +94,14 @@ public: virtual const char *getName() = 0; + virtual void move(int index, int x, int y) { + // + }; + + virtual void fire(int index) { + // + }; + void loop(microseconds_t microseconds) { handleRealtime(); handleTimers(microseconds); diff --git a/src/server.cpp b/src/server.cpp index c1c8f6b..5e06ba2 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -6,10 +6,50 @@ #include "display.h" #include "config.h" +static const char *const style = R"( + +)"; + +static const char *const script = R"( + +)"; + WebServer server(80); void web_index(); +void web_player(); + +void web_player_move(); + +void web_player_fire(); + void web_setMode(); void web_brighter(); @@ -26,6 +66,9 @@ void web_fps_off(); void server_setup() { server.on("/", web_index); + server.on("/player", web_player); + server.on("/player/move", web_player_move); + server.on("/player/fire", web_player_fire); server.on("/mode", web_setMode); server.on("/brighter", web_brighter); server.on("/darker", web_darker); @@ -43,24 +86,9 @@ void server_loop() { void web_index() { server.setContentLength(CONTENT_LENGTH_UNKNOWN); server.send(200, "text/html", ""); - server.sendContent(R"()"); - server.sendContent(R"()"); - server.sendContent(R"()"); - - server.sendContent(R"( - -)"); + server.sendContent(style); + server.sendContent(script); + server.sendContent(R"(
)");
server.sendContent(R"(NONE
)");
server.sendContent(R"(BORDER
)");
server.sendContent(R"(CLOCK
)");
@@ -74,13 +102,133 @@ function get(path){
server.sendContent(R"(COUNT_DOWN_BARS
)");
server.sendContent(R"(STARFIELD
)");
server.sendContent(R"(MATRIX
)");
+ server.sendContent(R"(
)");
+ server.sendContent(R"(Player 0
)");
+ server.sendContent(R"(Player 1
)");
+ server.sendContent(R"(
)");
server.sendContent(R"(Helligkeit: + / -
)");
server.sendContent(R"(Geschwindigkeit: + / -
)");
server.sendContent(R"(FPS: EIN / AUS
)");
+ server.sendContent(R"(
| )"); + + server.sendContent(R"( | )");
+ snprintf(buffer, sizeof buffer, R"( )", index); + server.sendContent(buffer); + server.sendContent(R"( | )");
+
+ server.sendContent(R"()"); + + server.sendContent(R"( |
| )");
+ snprintf(buffer, sizeof buffer, R"( )", index); + server.sendContent(buffer); + server.sendContent(R"( | )");
+
+ server.sendContent(R"()");
+ snprintf(buffer, sizeof buffer, R"( )", index); + server.sendContent(buffer); + server.sendContent(R"( | )");
+
+ server.sendContent(R"()");
+ snprintf(buffer, sizeof buffer, R"( )", index); + server.sendContent(buffer); + server.sendContent(R"( | )");
+
+ server.sendContent(R"(
| )"); + + server.sendContent(R"( | )");
+ snprintf(buffer, sizeof buffer, R"( )", index); + server.sendContent(buffer); + server.sendContent(R"( | )");
+
+ server.sendContent(R"()"); + + server.sendContent(R"( |