Added inverse, fixing server bug

This commit is contained in:
Vladislav Khorev 2026-03-10 11:38:16 +03:00
parent 785b96ce82
commit c88784a669
4 changed files with 59 additions and 9 deletions

View File

@ -41,6 +41,22 @@
"disabled": "resources/button_players.png" "disabled": "resources/button_players.png"
} }
}, },
{
"type": "Button",
"name": "inverseMouseButton",
"x": 0,
"y": 100,
"width": 150,
"height": 150,
"horizontal_gravity": "right",
"vertical_gravity": "top",
"textures": {
"normal": "resources/fire.png",
"hover": "resources/fire.png",
"pressed": "resources/fire2.png",
"disabled": "resources/fire.png"
}
},
{ {
"type": "Button", "type": "Button",
"name": "shootButton", "name": "shootButton",

View File

@ -125,8 +125,6 @@ void Session::sendBoxesToClient() {
void Session::init() void Session::init()
{ {
sendBoxesToClient();
auto timer = std::make_shared<net::steady_timer>(ws_.get_executor()); auto timer = std::make_shared<net::steady_timer>(ws_.get_executor());
timer->expires_after(std::chrono::milliseconds(100)); timer->expires_after(std::chrono::milliseconds(100));
timer->async_wait([self = shared_from_this(), timer](const boost::system::error_code& ec) { timer->async_wait([self = shared_from_this(), timer](const boost::system::error_code& ec) {
@ -135,6 +133,8 @@ void Session::init()
uint64_t now_ms = static_cast<uint64_t>( uint64_t now_ms = static_cast<uint64_t>(
std::chrono::duration_cast<std::chrono::milliseconds>(now_tp.time_since_epoch()).count()); std::chrono::duration_cast<std::chrono::milliseconds>(now_tp.time_since_epoch()).count());
self->sendBoxesToClient();
self->send_message("ID:" + std::to_string(self->id_) + ":" + std::to_string(now_ms)); self->send_message("ID:" + std::to_string(self->id_) + ":" + std::to_string(now_ms));
self->do_read(); self->do_read();
} }

View File

@ -3,6 +3,8 @@
namespace ZL { namespace ZL {
extern bool inverseVertical;
MenuManager::MenuManager(Renderer& iRenderer) : MenuManager::MenuManager(Renderer& iRenderer) :
renderer(iRenderer) renderer(iRenderer)
{ {
@ -189,6 +191,14 @@ namespace ZL {
if (onShowPlayersPressed) onShowPlayersPressed(); if (onShowPlayersPressed) onShowPlayersPressed();
}); });
//inverseMouseButton
uiManager.setButtonPressCallback("inverseMouseButton", [this](const std::string&) {
inverseVertical = !inverseVertical;
std::cout << "Inverse mouse: " << (inverseVertical ? "ON" : "OFF") << std::endl;
});
/* /*
uiManager.setSliderCallback("velocitySlider", [this](const std::string&, float value) { uiManager.setSliderCallback("velocitySlider", [this](const std::string&, float value) {

View File

@ -36,6 +36,8 @@ namespace ZL
extern float y; extern float y;
extern float z; extern float z;
bool inverseVertical = true;
Eigen::Quaternionf generateRandomQuaternion(std::mt19937& gen) Eigen::Quaternionf generateRandomQuaternion(std::mt19937& gen)
{ {
@ -2079,11 +2081,22 @@ namespace ZL
Environment::tapDownHold = true; Environment::tapDownHold = true;
Environment::tapDownStartPos(0) = mx; if (inverseVertical)
Environment::tapDownStartPos(1) = my; {
Environment::tapDownStartPos(0) = mx;
Environment::tapDownStartPos(1) = my;
Environment::tapDownCurrentPos(0) = mx; Environment::tapDownCurrentPos(0) = mx;
Environment::tapDownCurrentPos(1) = my; Environment::tapDownCurrentPos(1) = my;
}
else
{
Environment::tapDownStartPos(0) = mx;
Environment::tapDownStartPos(1) = -my;
Environment::tapDownCurrentPos(0) = mx;
Environment::tapDownCurrentPos(1) = -my;
}
} }
void Space::handleUp(int mx, int my) void Space::handleUp(int mx, int my)
@ -2096,9 +2109,20 @@ namespace ZL
{ {
if (playerListVisible) return; if (playerListVisible) return;
if (Environment::tapDownHold) {
Environment::tapDownCurrentPos(0) = mx; if (inverseVertical)
Environment::tapDownCurrentPos(1) = my; {
if (Environment::tapDownHold) {
Environment::tapDownCurrentPos(0) = mx;
Environment::tapDownCurrentPos(1) = my;
}
}
else
{
if (Environment::tapDownHold) {
Environment::tapDownCurrentPos(0) = mx;
Environment::tapDownCurrentPos(1) = -my;
}
} }
} }