Made cursor work

This commit is contained in:
2025-12-07 20:09:41 +03:00
parent 44896ed0d9
commit 33fc237793
12 changed files with 136 additions and 30 deletions

View File

@@ -14,6 +14,7 @@
#include "LuaData.h"
#include "AppModule.h"
#include "TerrainModule.h"
#include "EditorGizmoModule.h"
#include "GUIModule.h"
namespace ECS
{
@@ -480,7 +481,6 @@ struct EditorGUIListener : public Ogre::RenderTargetListener {
EditorGUIListener(Ogre::ImGuiOverlay *overlay)
: Ogre::RenderTargetListener()
{
std::cout << "WAAAAAAA!!!!!" << std::endl;
_midFont = createFont("midFont", "General",
"Jupiteroid-Regular.ttf", 18.0f);
_smallFont = createFont("smallFont", "General",
@@ -741,13 +741,11 @@ struct EditorGUIListener : public Ogre::RenderTargetListener {
x + j, y + i);
if (terrain && terrain->isLoaded()) {
terrain->dirty();
terrain->updateDerivedData(true);
terrain->updateGeometry();
terrain->update(true);
terrain->waitForDerivedProcesses();
}
}
ECS::get<Terrain>().mTerrainGroup->updateDerivedData(true);
ECS::get<Terrain>().mTerrainGroup->updateGeometry();
ECS::get<Terrain>().mTerrainGroup->update(true);
}
void setCameraPos()
@@ -770,12 +768,7 @@ struct EditorGUIListener : public Ogre::RenderTargetListener {
cameraPos =
ECS::get<Camera>().mCameraGoal->_getDerivedPosition();
ECS::get<Camera>().mCameraNode->_setDerivedPosition(cameraPos);
std::cout << cameraPos << std::endl;
std::cout << worldPos << std::endl;
std::cout << selected_x << " " << selected_y << std::endl;
ECS::get<Terrain>().mTerrainGroup->updateDerivedData(true);
ECS::get<Terrain>().mTerrainGroup->updateGeometry();
ECS::get<Terrain>().mTerrainGroup->update(true);
updateHeightmap();
}
void worldMapView()
{
@@ -798,9 +791,6 @@ struct EditorGUIListener : public Ogre::RenderTargetListener {
selected_x = TerrainModule::get_img_x(worldPos.x);
selected_y = TerrainModule::get_img_y(worldPos.z);
locationSelected = true;
std::cout << worldPos << std::endl;
std::cout << selected_x << " " << selected_y
<< std::endl;
OgreAssert(selected_x >= 0 &&
selected_x < worldMap->getWidth(),
"mix width");
@@ -830,10 +820,6 @@ struct EditorGUIListener : public Ogre::RenderTargetListener {
top_x = item_absolute_pos.x + 5;
top_y = item_absolute_pos.y + 5;
bool hovered = false;
#if 0
pos_x = mouse_absolute_pos.x - item_absolute_pos.x - 5;
pos_y = mouse_absolute_pos.y - item_absolute_pos.y - 5;
#endif
if (ImGui::IsItemHovered()) {
ImVec2 mouse_absolute_pos = ImGui::GetMousePos();
ImVec2 item_absolute_pos = ImGui::GetItemRectMin();
@@ -893,9 +879,6 @@ struct EditorGUIListener : public Ogre::RenderTargetListener {
worldMapImage.getColourAt(selected_x, selected_y, 0).r);
if (ImGui::Button("Update terrain")) {
ECS::get<Terrain>().mTerrainGroup->update(true);
ECS::get<Terrain>().mTerrainGroup->updateDerivedData(
true);
ECS::get<Terrain>().mTerrainGroup->updateGeometry();
}
ImGui::SliderFloat("Strength...", &strength, 0.0f, 0.2f);
ImGui::SliderInt("Size", &size, 0, 8);