mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-25 08:30:13 +00:00
Fix compilation errors from single-player removal
- Rename spRace_, spGender_, spClass_ to playerRace_, playerGender_, playerClass_ - Remove swingTimer_ reference (server-side combat only) - Remove teleporter panel UI and all references - Remove T key binding for teleporter Build now completes successfully with zero errors.
This commit is contained in:
parent
587f5a6439
commit
352d179aaa
5 changed files with 15 additions and 80 deletions
|
|
@ -105,6 +105,11 @@ private:
|
|||
float lastFrameTime = 0.0f;
|
||||
float movementHeartbeatTimer = 0.0f;
|
||||
|
||||
// Player character info (for model spawning)
|
||||
game::Race playerRace_ = game::Race::HUMAN;
|
||||
game::Gender playerGender_ = game::Gender::MALE;
|
||||
game::Class playerClass_ = game::Class::WARRIOR;
|
||||
|
||||
// Weapon model ID counter (starting high to avoid collision with character model IDs)
|
||||
uint32_t nextWeaponModelId_ = 1000;
|
||||
|
||||
|
|
|
|||
|
|
@ -37,16 +37,6 @@ public:
|
|||
*/
|
||||
bool isChatInputActive() const { return chatInputActive; }
|
||||
|
||||
/**
|
||||
* Toggle the teleporter panel
|
||||
*/
|
||||
void toggleTeleporter() { showTeleporter = !showTeleporter; }
|
||||
|
||||
/**
|
||||
* Check if teleporter panel is open
|
||||
*/
|
||||
bool isTeleporterOpen() const { return showTeleporter; }
|
||||
|
||||
private:
|
||||
// Chat state
|
||||
char chatInputBuffer[512] = "";
|
||||
|
|
@ -62,7 +52,6 @@ private:
|
|||
bool chatWindowLocked = true;
|
||||
ImVec2 chatWindowPos_ = ImVec2(0.0f, 0.0f);
|
||||
bool chatWindowPosInit_ = false;
|
||||
bool showTeleporter = false;
|
||||
bool showEscapeMenu = false;
|
||||
bool showEscapeSettingsNotice = false;
|
||||
bool showSettingsWindow = false;
|
||||
|
|
@ -149,7 +138,6 @@ private:
|
|||
void renderQuestRequestItemsWindow(game::GameHandler& gameHandler);
|
||||
void renderQuestOfferRewardWindow(game::GameHandler& gameHandler);
|
||||
void renderVendorWindow(game::GameHandler& gameHandler);
|
||||
void renderTeleporterPanel();
|
||||
void renderDeathScreen(game::GameHandler& gameHandler);
|
||||
void renderEscapeMenu();
|
||||
void renderSettingsWindow();
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ const char* Application::mapIdToName(uint32_t mapId) {
|
|||
}
|
||||
|
||||
std::string Application::getPlayerModelPath() const {
|
||||
return game::getPlayerModelPath(spRace_, spGender_);
|
||||
return game::getPlayerModelPath(playerRace_, playerGender_);
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
|
@ -266,12 +266,6 @@ void Application::run() {
|
|||
LOG_INFO("Shadows: ", enabled ? "ON" : "OFF");
|
||||
}
|
||||
}
|
||||
// T: Toggle teleporter panel
|
||||
else if (event.key.keysym.scancode == SDL_SCANCODE_T) {
|
||||
if (state == AppState::IN_GAME && uiManager) {
|
||||
uiManager->getGameScreen().toggleTeleporter();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -716,12 +710,12 @@ void Application::spawnPlayerCharacter() {
|
|||
|
||||
// Look up textures from CharSections.dbc for all races
|
||||
bool useCharSections = true;
|
||||
uint32_t targetRaceId = static_cast<uint32_t>(spRace_);
|
||||
uint32_t targetSexId = (spGender_ == game::Gender::FEMALE) ? 1u : 0u;
|
||||
uint32_t targetRaceId = static_cast<uint32_t>(playerRace_);
|
||||
uint32_t targetSexId = (playerGender_ == game::Gender::FEMALE) ? 1u : 0u;
|
||||
|
||||
// Race name for fallback texture paths
|
||||
const char* raceFolderName = "Human";
|
||||
switch (spRace_) {
|
||||
switch (playerRace_) {
|
||||
case game::Race::HUMAN: raceFolderName = "Human"; break;
|
||||
case game::Race::ORC: raceFolderName = "Orc"; break;
|
||||
case game::Race::DWARF: raceFolderName = "Dwarf"; break;
|
||||
|
|
@ -734,7 +728,7 @@ void Application::spawnPlayerCharacter() {
|
|||
case game::Race::DRAENEI: raceFolderName = "Draenei"; break;
|
||||
default: break;
|
||||
}
|
||||
const char* genderFolder = (spGender_ == game::Gender::FEMALE) ? "Female" : "Male";
|
||||
const char* genderFolder = (playerGender_ == game::Gender::FEMALE) ? "Female" : "Male";
|
||||
std::string raceGender = std::string(raceFolderName) + genderFolder;
|
||||
std::string bodySkinPath = std::string("Character\\") + raceFolderName + "\\" + genderFolder + "\\" + raceGender + "Skin00_00.blp";
|
||||
std::string pelvisPath = std::string("Character\\") + raceFolderName + "\\" + genderFolder + "\\" + raceGender + "NakedPelvisSkin00_00.blp";
|
||||
|
|
@ -1425,16 +1419,16 @@ void Application::loadOnlineWorldTerrain(uint32_t mapId, float x, float y, float
|
|||
if (gameHandler) {
|
||||
const game::Character* activeChar = gameHandler->getActiveCharacter();
|
||||
if (activeChar) {
|
||||
spRace_ = activeChar->race;
|
||||
spGender_ = activeChar->gender;
|
||||
spClass_ = activeChar->characterClass;
|
||||
playerRace_ = activeChar->race;
|
||||
playerGender_ = activeChar->gender;
|
||||
playerClass_ = activeChar->characterClass;
|
||||
spawnSnapToGround = false;
|
||||
playerCharacterSpawned = false;
|
||||
spawnPlayerCharacter();
|
||||
renderer->getCharacterPosition() = spawnRender;
|
||||
LOG_INFO("Spawned online player model: ", activeChar->name,
|
||||
" (race=", static_cast<int>(spRace_),
|
||||
", gender=", static_cast<int>(spGender_),
|
||||
" (race=", static_cast<int>(playerRace_),
|
||||
", gender=", static_cast<int>(playerGender_),
|
||||
") at render pos (", spawnRender.x, ", ", spawnRender.y, ", ", spawnRender.z, ")");
|
||||
} else {
|
||||
LOG_WARNING("No active character found for player model spawning");
|
||||
|
|
|
|||
|
|
@ -1869,7 +1869,6 @@ void GameHandler::startAutoAttack(uint64_t targetGuid) {
|
|||
autoAttacking = true;
|
||||
autoAttackTarget = targetGuid;
|
||||
autoAttackOutOfRange_ = false;
|
||||
swingTimer_ = 0.0f;
|
||||
if (state == WorldState::IN_WORLD && socket) {
|
||||
auto packet = AttackSwingPacket::build(targetGuid);
|
||||
socket->send(packet);
|
||||
|
|
|
|||
|
|
@ -105,9 +105,6 @@ void GameScreen::render(game::GameHandler& gameHandler) {
|
|||
// World map (M key toggle handled inside)
|
||||
renderWorldMap(gameHandler);
|
||||
|
||||
// Teleporter panel (T key toggle handled in Application event loop)
|
||||
renderTeleporterPanel();
|
||||
|
||||
// Quest Log (L key toggle handled inside)
|
||||
questLogScreen.render(gameHandler);
|
||||
|
||||
|
|
@ -500,8 +497,6 @@ void GameScreen::processTargetInput(game::GameHandler& gameHandler) {
|
|||
showEscapeMenu = false;
|
||||
showEscapeSettingsNotice = false;
|
||||
showSettingsWindow = false;
|
||||
} else if (showTeleporter) {
|
||||
showTeleporter = false;
|
||||
} else if (gameHandler.isCasting()) {
|
||||
gameHandler.cancelCast();
|
||||
} else if (gameHandler.isLootWindowOpen()) {
|
||||
|
|
@ -2535,52 +2530,6 @@ void GameScreen::renderVendorWindow(game::GameHandler& gameHandler) {
|
|||
// Teleporter Panel
|
||||
// ============================================================
|
||||
|
||||
void GameScreen::renderTeleporterPanel() {
|
||||
if (!showTeleporter) return;
|
||||
|
||||
auto* window = core::Application::getInstance().getWindow();
|
||||
float screenW = window ? static_cast<float>(window->getWidth()) : 1280.0f;
|
||||
float screenH = window ? static_cast<float>(window->getHeight()) : 720.0f;
|
||||
|
||||
float panelW = 280.0f;
|
||||
float panelH = 0.0f; // Auto-size height
|
||||
ImGui::SetNextWindowPos(ImVec2((screenW - panelW) / 2.0f, screenH * 0.25f), ImGuiCond_Always);
|
||||
ImGui::SetNextWindowSize(ImVec2(panelW, panelH), ImGuiCond_Always);
|
||||
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 6.0f);
|
||||
ImGui::PushStyleColor(ImGuiCol_WindowBg, ImVec4(0.08f, 0.08f, 0.15f, 0.92f));
|
||||
|
||||
ImGuiWindowFlags flags = ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove |
|
||||
ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_AlwaysAutoResize;
|
||||
|
||||
if (ImGui::Begin("Teleporter", &showTeleporter, flags)) {
|
||||
ImGui::Spacing();
|
||||
|
||||
for (int i = 0; i < core::SPAWN_PRESET_COUNT; i++) {
|
||||
const auto& preset = core::SPAWN_PRESETS[i];
|
||||
char label[128];
|
||||
snprintf(label, sizeof(label), "%s\n(%.0f, %.0f, %.0f)",
|
||||
preset.label,
|
||||
preset.spawnCanonical.x, preset.spawnCanonical.y, preset.spawnCanonical.z);
|
||||
|
||||
if (ImGui::Button(label, ImVec2(-1, 50))) {
|
||||
core::Application::getInstance().teleportTo(i);
|
||||
showTeleporter = false;
|
||||
}
|
||||
|
||||
if (i < core::SPAWN_PRESET_COUNT - 1) {
|
||||
ImGui::Spacing();
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::Spacing();
|
||||
}
|
||||
ImGui::End();
|
||||
|
||||
ImGui::PopStyleColor();
|
||||
ImGui::PopStyleVar();
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Escape Menu
|
||||
// ============================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue