summaryrefslogtreecommitdiff
path: root/src/dyetool
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-09-06 00:24:57 +0300
committerAndrei Karas <akaras@inbox.ru>2017-09-06 00:24:57 +0300
commitf82a8240b7f160e1a171871b3596cc13cabc34b2 (patch)
tree058fb0d37e7fbbb76e74921454834b02899a9a19 /src/dyetool
parent471ebb87308b318d8b04f773954d2be4f49f080d (diff)
downloadmv-f82a8240b7f160e1a171871b3596cc13cabc34b2.tar.gz
mv-f82a8240b7f160e1a171871b3596cc13cabc34b2.tar.bz2
mv-f82a8240b7f160e1a171871b3596cc13cabc34b2.tar.xz
mv-f82a8240b7f160e1a171871b3596cc13cabc34b2.zip
Move dyecmd separate sources from dyetool into progs/dyecmd directory.
Diffstat (limited to 'src/dyetool')
-rw-r--r--src/dyetool/actions/actions.cpp120
-rw-r--r--src/dyetool/actions/chat.cpp69
-rw-r--r--src/dyetool/actions/commands.cpp167
-rw-r--r--src/dyetool/actions/move.cpp44
-rw-r--r--src/dyetool/actions/pets.cpp49
-rw-r--r--src/dyetool/actions/statusbar.cpp49
-rw-r--r--src/dyetool/actions/tabs.cpp39
-rw-r--r--src/dyetool/actions/target.cpp39
-rw-r--r--src/dyetool/actions/windows.cpp60
-rw-r--r--src/dyetool/client.cpp813
-rw-r--r--src/dyetool/client.h119
-rw-r--r--src/dyetool/dyemain.cpp119
-rw-r--r--src/dyetool/gui/viewport.cpp272
-rw-r--r--src/dyetool/gui/viewport.h213
14 files changed, 0 insertions, 2172 deletions
diff --git a/src/dyetool/actions/actions.cpp b/src/dyetool/actions/actions.cpp
deleted file mode 100644
index 58353b699..000000000
--- a/src/dyetool/actions/actions.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2012-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "actions/actions.h"
-
-#include "actions/actiondef.h"
-
-#include "debug.h"
-
-namespace Actions
-{
-
-impHandlerVoid(emote)
-impHandlerVoid(outfit)
-impHandlerVoid(mouseClick)
-impHandlerVoid(ok)
-impHandlerVoid(shortcut)
-impHandlerVoid(quit)
-impHandlerVoid(dropItem0)
-impHandlerVoid(dropItem)
-impHandlerVoid(dropItemId)
-impHandlerVoid(dropItemInv)
-impHandlerVoid(dropItemIdAll)
-impHandlerVoid(dropItemInvAll)
-impHandlerVoid(heal)
-impHandlerVoid(healmd)
-impHandlerVoid(itenplz)
-impHandlerVoid(setHome)
-impHandlerVoid(magicAttack)
-impHandlerVoid(copyEquippedToOutfit)
-impHandlerVoid(pickup)
-impHandlerVoid(sit)
-impHandlerVoid(screenshot)
-impHandlerVoid(ignoreInput)
-impHandlerVoid(buy)
-impHandlerVoid(sell)
-impHandlerVoid(talk)
-impHandlerVoid(stopAttack)
-impHandlerVoid(untarget)
-impHandlerVoid(attack)
-impHandlerVoid(targetAttack)
-impHandlerVoid(attackHuman)
-impHandlerVoid(safeVideoMode)
-impHandlerVoid(stopSit)
-impHandlerVoid(showKeyboard)
-impHandlerVoid(showWindows)
-impHandlerVoid(openTrade)
-impHandlerVoid(ipcToggle)
-impHandlerVoid(where)
-impHandlerVoid(who)
-impHandlerVoid(cleanGraphics)
-impHandlerVoid(cleanFonts)
-impHandlerVoid(trade)
-impHandlerVoid(priceLoad)
-impHandlerVoid(priceSave)
-impHandlerVoid(cacheInfo)
-impHandlerVoid(disconnect)
-impHandlerVoid(undress)
-impHandlerVoid(dirs)
-impHandlerVoid(uptime)
-impHandlerVoid(dump)
-impHandlerVoid(serverIgnoreAll)
-impHandlerVoid(serverUnIgnoreAll)
-impHandler0(error)
-{
- exit(0);
-}
-impHandlerVoid(dumpGraphics)
-impHandlerVoid(dumpEnvironment)
-impHandlerVoid(dumpTests)
-impHandlerVoid(dumpOGL)
-impHandlerVoid(dumpGL)
-impHandlerVoid(dumpMods)
-#if defined USE_OPENGL && defined DEBUG_SDLFONT
-impHandlerVoid(testSdlFont)
-#endif // defined USE_OPENGL && defined DEBUG_SDLFONT
-impHandlerVoid(createItems)
-impHandlerVoid(createItem)
-impHandlerVoid(uploadConfig)
-impHandlerVoid(uploadServerConfig)
-impHandlerVoid(uploadLog)
-impHandlerVoid(mercenaryFire)
-impHandlerVoid(mercenaryToMaster)
-impHandlerVoid(homunculusToMaster)
-impHandlerVoid(homunculusFeed)
-impHandlerVoid(useItem)
-impHandlerVoid(useItemInv)
-impHandlerVoid(invToStorage)
-impHandlerVoid(tradeAdd)
-impHandlerVoid(storageToInv)
-impHandlerVoid(protectItem)
-impHandlerVoid(unprotectItem)
-impHandlerVoid(kick)
-impHandlerVoid(clearDrop)
-impHandlerVoid(testInfo)
-impHandlerVoid(craftKey)
-impHandlerVoid(resetGameModifiers)
-impHandlerVoid(barToChat)
-impHandlerVoid(seen)
-impHandlerVoid(dumpMemoryUsage)
-impHandlerVoid(setEmoteType)
-
-} // namespace Actions
diff --git a/src/dyetool/actions/chat.cpp b/src/dyetool/actions/chat.cpp
deleted file mode 100644
index ece0e42b9..000000000
--- a/src/dyetool/actions/chat.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2012-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "actions/chat.h"
-
-#include "actions/actiondef.h"
-
-#include "debug.h"
-
-namespace Actions
-{
-
-impHandlerVoid(toggleChat)
-impHandlerVoid(prevChatTab)
-impHandlerVoid(nextChatTab)
-impHandlerVoid(closeChatTab)
-impHandlerVoid(closeAllChatTabs)
-impHandlerVoid(ignoreAllWhispers)
-impHandlerVoid(scrollChatUp)
-impHandlerVoid(scrollChatDown)
-impHandlerVoid(msg)
-impHandlerVoid(msgText)
-impHandlerVoid(msg2)
-impHandlerVoid(query)
-impHandlerVoid(clearChatTab)
-impHandlerVoid(createParty)
-impHandlerVoid(createGuild)
-impHandlerVoid(party)
-impHandlerVoid(guild)
-impHandlerVoid(me)
-impHandlerVoid(toggle)
-impHandlerVoid(kickParty)
-impHandlerVoid(kickGuild)
-impHandlerVoid(addText)
-impHandlerVoid(clearChat)
-impHandlerVoid(chatGeneralTab)
-impHandlerVoid(chatDebugTab)
-impHandlerVoid(chatBattleTab)
-impHandlerVoid(chatTradeTab)
-impHandlerVoid(chatLangTab)
-impHandlerVoid(chatGmTab)
-impHandlerVoid(chatPartyTab)
-impHandlerVoid(chatGuildTab)
-impHandlerVoid(hat)
-impHandlerVoid(chatClipboard)
-impHandlerVoid(guildNotice)
-impHandlerVoid(translate)
-impHandlerVoid(sendGuiKey)
-impHandlerVoid(sendMouseKey)
-impHandlerVoid(sendChars)
-
-} // namespace Actions
diff --git a/src/dyetool/actions/commands.cpp b/src/dyetool/actions/commands.cpp
deleted file mode 100644
index 7f50ab20c..000000000
--- a/src/dyetool/actions/commands.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2012-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "actions/commands.h"
-
-#include "actions/actiondef.h"
-
-#include "debug.h"
-
-namespace Actions
-{
-
-impHandlerVoid(chatAnnounce)
-impHandlerVoid(chatIgnore)
-impHandlerVoid(chatUnignore)
-impHandlerVoid(chatErase)
-impHandlerVoid(chatFriend)
-impHandlerVoid(chatDisregard)
-impHandlerVoid(chatNeutral)
-impHandlerVoid(chatBlackList)
-impHandlerVoid(chatEnemy)
-impHandlerVoid(chatNuke)
-impHandlerVoid(chatAdd)
-impHandlerVoid(present)
-impHandlerVoid(printAll)
-impHandlerVoid(move)
-impHandlerVoid(setTarget)
-impHandlerVoid(commandOutfit)
-impHandlerVoid(commandEmote)
-impHandlerVoid(awayMessage)
-impHandlerVoid(pseudoAway)
-impHandlerVoid(follow)
-impHandlerVoid(navigate)
-impHandlerVoid(navigateTo)
-impHandlerVoid(moveCamera)
-impHandlerVoid(restoreCamera)
-impHandlerVoid(imitation)
-impHandlerVoid(sendMail)
-impHandlerVoid(info)
-impHandlerVoid(wait)
-impHandlerVoid(addPriorityAttack)
-impHandlerVoid(addAttack)
-impHandlerVoid(removeAttack)
-impHandlerVoid(addIgnoreAttack)
-impHandlerVoid(setDrop)
-impHandlerVoid(url)
-impHandlerVoid(openUrl)
-impHandlerVoid(execute)
-impHandlerVoid(enableHighlight)
-impHandlerVoid(disableHighlight)
-impHandlerVoid(dontRemoveName)
-impHandlerVoid(removeName)
-impHandlerVoid(disableAway)
-impHandlerVoid(enableAway)
-impHandlerVoid(testParticle)
-impHandlerVoid(talkRaw)
-impHandlerVoid(gm)
-impHandlerVoid(hack)
-impHandlerVoid(debugSpawn)
-impHandlerVoid(serverIgnoreWhisper)
-impHandlerVoid(serverUnIgnoreWhisper)
-impHandlerVoid(setHomunculusName)
-impHandlerVoid(fireHomunculus)
-impHandlerVoid(leaveParty)
-impHandlerVoid(leaveGuild)
-impHandlerVoid(warp)
-impHandlerVoid(homunTalk)
-impHandlerVoid(homunEmote)
-impHandlerVoid(commandHomunEmote)
-impHandlerVoid(createPublicChatRoom)
-impHandlerVoid(joinChatRoom)
-impHandlerVoid(leaveChatRoom)
-impHandlerVoid(confSet)
-impHandlerVoid(serverConfSet)
-impHandlerVoid(confGet)
-impHandlerVoid(serverConfGet)
-impHandlerVoid(slide)
-impHandlerVoid(selectSkillLevel)
-impHandlerVoid(skill)
-impHandlerVoid(craft)
-impHandlerVoid(npcClipboard)
-impHandlerVoid(clipboardCopy)
-impHandlerVoid(addPickup)
-impHandlerVoid(removePickup)
-impHandlerVoid(ignorePickup)
-impHandlerVoid(monsterInfo)
-impHandlerVoid(itemInfo)
-impHandlerVoid(whoDrops)
-impHandlerVoid(mobSearch)
-impHandlerVoid(mobSpawnSearch)
-impHandlerVoid(playerGmCommands)
-impHandlerVoid(playerCharGmCommands)
-impHandlerVoid(commandShowLevel)
-impHandlerVoid(commandShowStats)
-impHandlerVoid(commandShowStorage)
-impHandlerVoid(commandShowCart)
-impHandlerVoid(commandShowInventory)
-impHandlerVoid(locatePlayer)
-impHandlerVoid(commandShowAccountInfo)
-impHandlerVoid(commandSpawn)
-impHandlerVoid(commandSpawnSlave)
-impHandlerVoid(commandSpawnClone)
-impHandlerVoid(commandSpawnSlaveClone)
-impHandlerVoid(commandSpawnEvilClone)
-impHandlerVoid(commandSavePosition)
-impHandlerVoid(commandLoadPosition)
-impHandlerVoid(commandRandomWarp)
-impHandlerVoid(commandGotoNpc)
-impHandlerVoid(commandGotoPc)
-impHandlerVoid(commandRecallPc)
-impHandlerVoid(commandIpCheck)
-impHandlerVoid(commandKiller)
-impHandlerVoid(commandKillable)
-impHandlerVoid(commandHeal)
-impHandlerVoid(commandAlive)
-impHandlerVoid(commandDisguise)
-impHandlerVoid(commandImmortal)
-impHandlerVoid(commandHide)
-impHandlerVoid(commandNuke)
-impHandlerVoid(commandKill)
-impHandlerVoid(commandJail)
-impHandlerVoid(commandUnjail)
-impHandlerVoid(commandNpcMove)
-impHandlerVoid(commandNpcHide)
-impHandlerVoid(commandNpcShow)
-impHandlerVoid(commandChangePartyLeader)
-impHandlerVoid(commandPartyRecall)
-impHandlerVoid(commandBreakGuild)
-impHandlerVoid(commandGuildRecall)
-impHandlerVoid(mailTo)
-impHandlerVoid(adoptChild)
-impHandlerVoid(showSkillLevels)
-impHandlerVoid(showSkillType)
-impHandlerVoid(selectSkillType)
-impHandlerVoid(showSkillOffsetX)
-impHandlerVoid(showSkillOffsetY)
-impHandlerVoid(setSkillOffsetX)
-impHandlerVoid(setSkillOffsetY)
-impHandlerVoid(partyItemShare)
-impHandlerVoid(partyExpShare)
-impHandlerVoid(partyAutoItemShare)
-impHandlerVoid(outfitToChat)
-impHandlerVoid(outfitClear)
-impHandlerVoid(moveAttackUp)
-impHandlerVoid(moveAttackDown)
-impHandlerVoid(movePriorityAttackUp)
-impHandlerVoid(movePriorityAttackDown)
-impHandlerVoid(addSkillShortcut)
-
-} // namespace Actions
diff --git a/src/dyetool/actions/move.cpp b/src/dyetool/actions/move.cpp
deleted file mode 100644
index c3f82cd3a..000000000
--- a/src/dyetool/actions/move.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2012-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "actions/move.h"
-
-#include "actions/actiondef.h"
-
-#include "debug.h"
-
-namespace Actions
-{
-
-impHandlerVoid(moveUp)
-impHandlerVoid(moveDown)
-impHandlerVoid(moveLeft)
-impHandlerVoid(moveRight)
-impHandlerVoid(moveForward)
-impHandlerVoid(moveToPoint)
-impHandlerVoid(crazyMoves)
-impHandlerVoid(moveToTarget)
-impHandlerVoid(moveToHome)
-impHandlerVoid(directUp)
-impHandlerVoid(directDown)
-impHandlerVoid(directLeft)
-impHandlerVoid(directRight)
-
-} // namespace Actions
diff --git a/src/dyetool/actions/pets.cpp b/src/dyetool/actions/pets.cpp
deleted file mode 100644
index 96a7e5393..000000000
--- a/src/dyetool/actions/pets.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2012-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "actions/pets.h"
-
-#include "actions/actiondef.h"
-
-#include "debug.h"
-
-namespace Actions
-{
-
-impHandlerVoid(commandEmotePet)
-impHandlerVoid(talkPet)
-impHandlerVoid(setPetName)
-impHandlerVoid(petEmote)
-impHandlerVoid(catchPet)
-impHandlerVoid(petMoveUp)
-impHandlerVoid(petMoveDown)
-impHandlerVoid(petMoveLeft)
-impHandlerVoid(petMoveRight)
-impHandlerVoid(petDirectUp)
-impHandlerVoid(petDirectDown)
-impHandlerVoid(petDirectLeft)
-impHandlerVoid(petDirectRight)
-impHandlerVoid(petMove)
-impHandlerVoid(petFeed)
-impHandlerVoid(petDropLoot)
-impHandlerVoid(petReturnToEgg)
-impHandlerVoid(petUnequip)
-
-} // namespace Actions
diff --git a/src/dyetool/actions/statusbar.cpp b/src/dyetool/actions/statusbar.cpp
deleted file mode 100644
index ed53ef8b0..000000000
--- a/src/dyetool/actions/statusbar.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2012-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "actions/statusbar.h"
-
-#include "actions/actiondef.h"
-
-#include "debug.h"
-
-namespace Actions
-{
-
-impHandlerVoid(switchQuickDrop)
-impHandlerVoid(changeCrazyMove)
-impHandlerVoid(changePickupType)
-impHandlerVoid(changeMoveType)
-impHandlerVoid(changeAttackWeaponType)
-impHandlerVoid(changeAttackType)
-impHandlerVoid(changeTargetingType)
-impHandlerVoid(changeFollowMode)
-impHandlerVoid(changeImitationMode)
-impHandlerVoid(changeMagicAttackType)
-impHandlerVoid(changePvpMode)
-impHandlerVoid(changeMoveToTarget)
-impHandlerVoid(changeGameModifier)
-impHandlerVoid(changeAudio)
-impHandlerVoid(away)
-impHandlerVoid(camera)
-impHandlerVoid(changeMapMode)
-impHandlerVoid(changeTrade)
-
-} // namespace Actions
diff --git a/src/dyetool/actions/tabs.cpp b/src/dyetool/actions/tabs.cpp
deleted file mode 100644
index 3c795c2ab..000000000
--- a/src/dyetool/actions/tabs.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2012-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "actions/tabs.h"
-
-#include "actions/actiondef.h"
-
-#include "debug.h"
-
-namespace Actions
-{
-
-impHandlerVoid(prevSocialTab)
-impHandlerVoid(nextSocialTab)
-impHandlerVoid(nextShortcutsTab)
-impHandlerVoid(prevShortcutsTab)
-impHandlerVoid(nextCommandsTab)
-impHandlerVoid(prevCommandsTab)
-impHandlerVoid(nextInvTab)
-impHandlerVoid(prevInvTab)
-
-} // namespace Actions
diff --git a/src/dyetool/actions/target.cpp b/src/dyetool/actions/target.cpp
deleted file mode 100644
index 80b34a7fb..000000000
--- a/src/dyetool/actions/target.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2012-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "actions/target.h"
-
-#include "actions/actiondef.h"
-
-#include "debug.h"
-
-namespace Actions
-{
-
-impHandlerVoid(targetPlayer)
-impHandlerVoid(targetMonster)
-impHandlerVoid(targetClosestMonster)
-impHandlerVoid(targetNPC)
-impHandlerVoid(targetMercenary)
-impHandlerVoid(targetPet)
-impHandlerVoid(targetSkillUnit)
-impHandlerVoid(contextMenu)
-
-} // namespace Actions
diff --git a/src/dyetool/actions/windows.cpp b/src/dyetool/actions/windows.cpp
deleted file mode 100644
index ce5c72ce2..000000000
--- a/src/dyetool/actions/windows.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2012-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "actions/windows.h"
-
-#include "actions/actiondef.h"
-
-#include "debug.h"
-
-namespace Actions
-{
-
-impHandlerVoid(setupWindowShow)
-impHandlerVoid(hideWindows)
-impHandlerVoid(helpWindowShow)
-impHandlerVoid(aboutWindowShow)
-impHandlerVoid(statusWindowShow)
-impHandlerVoid(inventoryWindowShow)
-impHandlerVoid(equipmentWindowShow)
-impHandlerVoid(skillDialogShow)
-impHandlerVoid(minimapWindowShow)
-impHandlerVoid(chatWindowShow)
-impHandlerVoid(shortcutWindowShow)
-impHandlerVoid(debugWindowShow)
-impHandlerVoid(socialWindowShow)
-impHandlerVoid(emoteShortcutWindowShow)
-impHandlerVoid(outfitWindowShow)
-impHandlerVoid(shopWindowShow)
-impHandlerVoid(dropShortcutWindowShow)
-impHandlerVoid(killStatsWindowShow)
-impHandlerVoid(spellShortcutWindowShow)
-impHandlerVoid(whoIsOnlineWindowShow)
-impHandlerVoid(didYouKnowWindowShow)
-impHandlerVoid(questsWindowShow)
-impHandlerVoid(bankWindowShow)
-impHandlerVoid(cartWindowShow)
-impHandlerVoid(updaterWindowShow)
-impHandlerVoid(quickWindowShow)
-impHandlerVoid(mailWindowShow)
-impHandlerVoid(serverInfoWindowShow)
-impHandlerVoid(showItems)
-
-} // namespace Actions
diff --git a/src/dyetool/client.cpp b/src/dyetool/client.cpp
deleted file mode 100644
index 42b570a6b..000000000
--- a/src/dyetool/client.cpp
+++ /dev/null
@@ -1,813 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "client.h"
-
-#include "configmanager.h"
-#include "dirs.h"
-#include "eventsmanager.h"
-#include "graphicsmanager.h"
-#include "main.h"
-#include "settings.h"
-#include "soundmanager.h"
-
-#include "fs/virtfs/fs.h"
-#include "fs/virtfs/tools.h"
-
-#include "gui/dialogsmanager.h"
-#include "gui/gui.h"
-#include "gui/skin.h"
-#include "gui/popupmanager.h"
-#include "gui/windowmanager.h"
-
-#include "gui/widgets/button.h"
-#include "gui/widgets/createwidget.h"
-#include "gui/widgets/desktop.h"
-#include "gui/widgets/window.h"
-#include "gui/widgets/windowcontainer.h"
-
-#include "input/inputmanager.h"
-#include "input/joystick.h"
-#include "input/keyboardconfig.h"
-
-#include "input/touch/touchmanager.h"
-
-#include "resources/imagehelper.h"
-
-#include "resources/dye/dyepalette.h"
-
-#include "resources/resourcemanager/resourcemanager.h"
-
-#include "utils/cpu.h"
-#include "utils/delete2.h"
-#include "utils/env.h"
-#include "utils/fuzzer.h"
-#include "utils/gettext.h"
-#include "utils/gettexthelper.h"
-#include "utils/mrand.h"
-#ifdef ANDROID
-#include "fs/paths.h"
-#endif // ANDROID
-
-#include "utils/sdlcheckutils.h"
-#include "utils/timer.h"
-
-#include "utils/translation/translationmanager.h"
-
-#include "configuration.h"
-
-#include "net/ipc.h"
-
-#ifdef WIN32
-PRAGMA48(GCC diagnostic push)
-PRAGMA48(GCC diagnostic ignored "-Wshadow")
-#include <SDL_syswm.h>
-PRAGMA48(GCC diagnostic pop)
-#include <sys/time.h>
-#include "fs/specialfolder.h"
-#undef ERROR
-#endif // WIN32
-
-#ifdef ANDROID
-#ifndef USE_SDL2
-PRAGMA48(GCC diagnostic push)
-PRAGMA48(GCC diagnostic ignored "-Wshadow")
-#include <SDL_screenkeyboard.h>
-PRAGMA48(GCC diagnostic pop)
-#include <fstream>
-#endif // USE_SDL2
-#endif // ANDROID
-
-PRAGMA48(GCC diagnostic push)
-PRAGMA48(GCC diagnostic ignored "-Wshadow")
-#ifdef USE_SDL2
-#include <SDL2_framerate.h>
-#else // USE_SDL2
-#include <SDL_framerate.h>
-#endif // USE_SDL2
-PRAGMA48(GCC diagnostic pop)
-
-#include "debug.h"
-
-std::string errorMessage;
-
-Client *client = nullptr;
-
-extern FPSmanager fpsManager;
-
-volatile bool runCounters;
-bool isSafeMode = false;
-int serverVersion = 0;
-int packetVersion = 0;
-unsigned int tmwServerVersion = 0;
-time_t start_time;
-unsigned int mLastHost = 0;
-unsigned long mSearchHash = 0;
-int textures_count = 0;
-
-Client::Client() :
- ActionListener(),
- mCurrentDialog(nullptr),
- mSetupButton(nullptr),
- mVideoButton(nullptr),
- mHelpButton(nullptr),
- mAboutButton(nullptr),
- mThemesButton(nullptr),
- mPerfomanceButton(nullptr),
-#ifdef ANDROID
- mCloseButton(nullptr),
-#endif // ANDROID
- mState(State::GAME),
- mOldState(State::START),
- mSkin(nullptr),
- mButtonPadding(1),
- mButtonSpacing(3)
-{
- WindowManager::init();
-}
-
-void Client::testsInit()
-{
-}
-
-void Client::testsClear()
-{
-}
-
-// +++ need remove duplicate from here
-void Client::gameInit()
-{
- logger = new Logger;
-
- initRand();
-
- // Load branding information
- if (!settings.options.brandingPath.empty())
- branding.init(settings.options.brandingPath);
- setBrandingDefaults(branding);
-
- Dirs::initRootDir();
- Dirs::initHomeDir();
-
- // Configure logger
- if (!settings.options.logFileName.empty())
- {
- settings.logFileName = settings.options.logFileName;
- }
- else
- {
- settings.logFileName = pathJoin(settings.localDataDir,
- "manaplus.log");
- }
- logger->setLogFile(settings.logFileName);
-
-#ifdef USE_FUZZER
- Fuzzer::init();
-#endif // USE_FUZZER
-
- if (settings.options.test.empty())
- ConfigManager::backupConfig("config.xml");
- ConfigManager::initConfiguration();
- setPathsDefaults(paths);
- initPaths();
- logger->log("init 4");
- logger->setDebugLog(config.getBoolValue("debugLog"));
- logger->setReportUnimplemented(config.getBoolValue("unimplimentedLog"));
-
- config.incValue("runcount");
-
-#ifndef ANDROID
- if (settings.options.test.empty())
- ConfigManager::storeSafeParameters();
-#endif // ANDROID
-
- if (!VirtFs::setWriteDir(settings.localDataDir))
- {
- logger->error(strprintf("%s couldn't be set as home directory! "
- "Exiting.", settings.localDataDir.c_str()));
- }
-
- GettextHelper::initLang();
-
-/*
- chatLogger = new ChatLogger;
- if (settings.options.chatLogDir.empty())
- {
- chatLogger->setBaseLogDir(settings.localDataDir
- + std::string("/logs/"));
- }
- else
- {
- chatLogger->setBaseLogDir(settings.options.chatLogDir);
- }
-*/
- logger->setLogToStandardOut(config.getBoolValue("logToStandardOut"));
-
- // Log the client version
- logger->log1(FULL_VERSION);
- logger->log("Start configPath: " + config.getConfigPath());
-
- Dirs::initScreenshotDir();
-
- // Initialize SDL
- logger->log1("Initializing SDL...");
- if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0)
- {
- logger->safeError(strprintf("Could not initialize SDL: %s",
- SDL_GetError()));
- }
- atexit(SDL_Quit);
-
-#ifndef USE_SDL2
- SDL_EnableUNICODE(1);
-#endif // USE_SDL2
-
- WindowManager::applyKeyRepeat();
-
- // disable unused SDL events
-#ifndef USE_SDL2
- SDL_EventState(SDL_VIDEOEXPOSE, SDL_IGNORE);
-#endif // USE_SDL2
-
- SDL_EventState(SDL_SYSWMEVENT, SDL_IGNORE);
- SDL_EventState(SDL_USEREVENT, SDL_IGNORE);
-
-#ifdef WIN32
- Dirs::extractDataDir();
- Dirs::mountDataDir();
-#endif // WIN32
-
- WindowManager::setIcon();
- ConfigManager::checkConfigVersion();
- logVars();
- Cpu::detect();
- DyePalette::initFunctions();
-#if defined(USE_OPENGL)
-#if !defined(ANDROID) && !defined(__APPLE__) && !defined(__native_client__)
- if (!settings.options.safeMode && settings.options.test.empty()
- && !config.getBoolValue("videodetected"))
- {
- graphicsManager.detectVideoSettings();
- }
-#endif // !defined(ANDROID) && !defined(__APPLE__) &&
- // !defined(__native_client__)
-#endif // defined(USE_OPENGL)
-
- updateEnv();
- initGraphics();
-
-#ifndef WIN32
- Dirs::extractDataDir();
- Dirs::mountDataDir();
-#endif // WIN32
-
- Dirs::updateDataPath();
-
- // Add the main data directories to our PhysicsFS search path
- if (!settings.options.dataPath.empty())
- {
- VirtFs::mountDir(settings.options.dataPath,
- Append_false);
- }
-
- // Add the local data directory to PhysicsFS search path
- VirtFs::mountDir(settings.localDataDir,
- Append_false);
- TranslationManager::loadCurrentLang();
- TranslationManager::loadDictionaryLang();
-#ifdef ENABLE_CUSTOMNLS
- TranslationManager::loadGettextLang();
-#endif // ENABLE_CUSTOMNLS
-
- WindowManager::initTitle();
-
- mainGraphics->postInit();
-
- theme = new Theme;
- Theme::selectSkin();
- touchManager.init();
-
- // Initialize the item and emote shortcuts.
-// for (size_t f = 0; f < SHORTCUT_TABS; f ++)
-// itemShortcut[f] = new ItemShortcut(f);
-// emoteShortcut = new EmoteShortcut;
-// dropShortcut = new DropShortcut;
-
- gui = new Gui;
- gui->postInit(mainGraphics);
- dialogsManager = new DialogsManager;
- popupManager = new PopupManager;
-
- initSoundManager();
- eventsManager.init();
-
- // Initialize keyboard
- keyboard.init();
- inputManager.init();
-
- // Initialise player relations
- Joystick::init();
- WindowManager::createWindows();
-
- keyboard.update();
- if (joystick != nullptr)
- joystick->update();
-
-// if (mState != State::ERROR)
-// mState = State::CHOOSE_SERVER;
-
- startTimers();
-
- const int fpsLimit = config.getIntValue("fpslimit");
- settings.limitFps = fpsLimit > 0;
-
- SDL_initFramerate(&fpsManager);
- WindowManager::setFramerate(fpsLimit);
-
- start_time = time(nullptr);
-
-// PlayerInfo::init();
-
-#ifdef ANDROID
-#ifndef USE_SDL2
- WindowManager::updateScreenKeyboard(SDL_GetScreenKeyboardHeight(nullptr));
-#endif // USE_SDL2
-#endif // ANDROID
-
- mSkin = theme->load("windowmenu.xml", "");
- if (mSkin != nullptr)
- {
- mButtonPadding = mSkin->getPadding();
- mButtonSpacing = mSkin->getOption("spacing", 3);
- }
-}
-
-Client::~Client()
-{
- if (!settings.options.testMode)
- gameClear();
- else
- testsClear();
-}
-
-void Client::initSoundManager()
-{
- // Initialize sound engine
- try
- {
- if (config.getBoolValue("sound"))
- soundManager.init();
-
- soundManager.setSfxVolume(config.getIntValue("sfxVolume"));
- soundManager.setMusicVolume(config.getIntValue("musicVolume"));
- }
- catch (const char *const err)
- {
- mState = State::ERROR;
- errorMessage = err;
- logger->log("Warning: %s", err);
- }
- soundManager.playMusic(branding.getValue(
- "loginMusic",
- "Magick - Real.ogg"),
- SkipError_true);
-}
-
-void Client::initGraphics()
-{
- WindowManager::applyVSync();
- runCounters = config.getBoolValue("packetcounters");
-
- graphicsManager.initGraphics();
-
- imageHelper->postInit();
- setConfigDefaults2(config);
- WindowManager::applyGrabMode();
- WindowManager::applyGamma();
-
- mainGraphics->beginDraw();
-}
-
-void Client::gameClear()
-{
- if (logger != nullptr)
- logger->log1("Quitting1");
-
- eventsManager.shutdown();
- WindowManager::deleteWindows();
- if (windowContainer != nullptr)
- windowContainer->slowLogic();
-
- stopTimers();
-
- delete2(ipc);
-
- if (logger != nullptr)
- logger->log1("Quitting2");
-
- delete2(mCurrentDialog);
- delete2(popupManager);
- delete2(dialogsManager);
- delete2(gui);
-
- if (logger != nullptr)
- logger->log1("Quitting3");
-
- GraphicsManager::deleteRenderers();
-
- if (logger != nullptr)
- logger->log1("Quitting4");
-
- XML::cleanupXML();
-
- if (logger != nullptr)
- logger->log1("Quitting5");
-
- // Shutdown sound
- soundManager.close();
-
- if (logger != nullptr)
- logger->log1("Quitting6");
-
- touchManager.clear();
- ResourceManager::deleteInstance();
-
- if (logger != nullptr)
- logger->log1("Quitting8");
-
- WindowManager::deleteIcon();
-
- if (logger != nullptr)
- logger->log1("Quitting9");
-
- delete2(joystick);
-
- keyboard.deinit();
-
- if (logger != nullptr)
- logger->log1("Quitting10");
-
- soundManager.shutdown();
- touchManager.shutdown();
-
-#ifdef DEBUG_CONFIG
- config.enableKeyLogging();
-#endif // DEBUG_CONFIG
-
- config.removeOldKeys();
- config.write();
- serverConfig.write();
-
- config.clear();
- serverConfig.clear();
-
- if (logger != nullptr)
- logger->log1("Quitting11");
-
-#ifdef USE_PROFILER
- Perfomance::clear();
-#endif // USE_PROFILER
-
-#ifdef DEBUG_OPENGL_LEAKS
- if (logger)
- logger->log("textures left: %d", textures_count);
-#endif // DEBUG_OPENGL_LEAKS
-
- Graphics::cleanUp();
-
- if (logger != nullptr)
- logger->log1("Quitting12");
-
-// delete2(chatLogger);
- TranslationManager::close();
- VirtFs::deinit();
-}
-
-#define ADDBUTTON(var, object) var = object; \
- x -= var->getWidth() + mButtonSpacing; \
- var->setPosition(x, mButtonPadding); \
- top->add(var);
-
-void Client::stateGame()
-{
- if (gui == nullptr)
- return;
-
- BasicContainer2 *const top = static_cast<BasicContainer2*>(
- gui->getTop());
-
- if (top == nullptr)
- return;
-
- CREATEWIDGETV(desktop, Desktop, nullptr);
- top->add(desktop);
- int x = top->getWidth() - mButtonPadding;
- ADDBUTTON(mSetupButton, new Button(desktop,
- // TRANSLATORS: setup tab quick button
- _("Setup"), "Setup", this))
- ADDBUTTON(mPerfomanceButton, new Button(desktop,
- // TRANSLATORS: perfoamance tab quick button
- _("Performance"), "Perfomance", this))
- ADDBUTTON(mVideoButton, new Button(desktop,
- // TRANSLATORS: video tab quick button
- _("Video"), "Video", this))
- ADDBUTTON(mThemesButton, new Button(desktop,
- // TRANSLATORS: theme tab quick button
- _("Theme"), "Themes", this))
- ADDBUTTON(mAboutButton, new Button(desktop,
- // TRANSLATORS: theme tab quick button
- _("About"), "about", this))
- ADDBUTTON(mHelpButton, new Button(desktop,
- // TRANSLATORS: theme tab quick button
- _("Help"), "help", this))
-#ifdef ANDROID
- ADDBUTTON(mCloseButton, new Button(desktop,
- // TRANSLATORS: close quick button
- _("Close"), "close", this))
-#endif // ANDROID
-
- desktop->setSize(mainGraphics->getWidth(),
- mainGraphics->getHeight());
-}
-
-int Client::gameExec()
-{
- int lastTickTime = tick_time;
-
- while (mState != State::EXIT)
- {
- PROFILER_START();
- if (eventsManager.handleEvents())
- continue;
-
- BLOCK_START("Client::gameExec 4")
- if (gui != nullptr)
- gui->logic();
- cur_time = time(nullptr);
- int k = 0;
- while (lastTickTime != tick_time && k < 40)
- {
-// if (mGame)
-// mGame->logic();
-// else
- if (gui != nullptr)
- gui->handleInput();
-
- ++lastTickTime;
- k ++;
- }
- soundManager.logic();
-
- logic_count += k;
- if (gui != nullptr)
- gui->slowLogic();
-// if (mGame)
-// mGame->slowLogic();
- slowLogic();
- BLOCK_END("Client::gameExec 4")
-
- // This is done because at some point tick_time will wrap.
- lastTickTime = tick_time;
-
- // Update the screen when application is visible, delay otherwise.
- if (!WindowManager::getIsMinimized())
- {
- frame_count++;
- if (gui != nullptr)
- gui->draw();
- mainGraphics->updateScreen();
- }
- else
- {
- SDL_Delay(100);
- }
-
- BLOCK_START("~Client::SDL_framerateDelay")
- if (settings.limitFps)
- SDL_framerateDelay(&fpsManager);
- BLOCK_END("~Client::SDL_framerateDelay")
-
- BLOCK_START("Client::gameExec 6")
-/*
- if (mState == State::CONNECT_GAME)
- {
- stateConnectGame1();
- }
-*/
- BLOCK_END("Client::gameExec 6")
-
- if (mState != mOldState)
- {
- BLOCK_START("Client::gameExec 7")
-
- mOldState = mState;
-
- // Get rid of the dialog of the previous state
- delete2(mCurrentDialog);
-
- // State has changed, while the quitDialog was active, it might
- // not be correct anymore
-/*
- if (mQuitDialog)
- {
- mQuitDialog->scheduleDelete();
- mQuitDialog = nullptr;
- }
-*/
- BLOCK_END("Client::gameExec 7")
-
- BLOCK_START("Client::gameExec 8")
- PRAGMA45(GCC diagnostic push)
- PRAGMA45(GCC diagnostic ignored "-Wswitch-enum")
- switch (mState)
- {
- case State::GAME:
- stateGame();
- break;
-
- case State::LOAD_DATA:
- {
- BLOCK_START("Client::gameExec State::LOAD_DATA")
- logger->log1("State: LOAD DATA");
-
- // If another data path has been set,
- // we don't load any other files...
- if (settings.options.dataPath.empty())
- {
- // Add customdata directory
- VirtFs::searchAndAddArchives(
- "customdata/",
- "zip",
- Append_false);
- }
-
- if (!settings.options.skipUpdate)
- {
- VirtFs::searchAndAddArchives(pathJoin(
- settings.updatesDir, "local/"),
- "zip",
- Append_false);
-
- VirtFs::mountDir(pathJoin(
- settings.localDataDir,
- settings.updatesDir,
- "local/"),
- Append_false);
- }
-
- logger->log("Init paths");
- paths.init("paths.xml", UseVirtFs_true);
- setPathsDefaults(paths);
- initPaths();
- TranslationManager::loadCurrentLang();
- TranslationManager::loadDictionaryLang();
-
- if (desktop != nullptr)
- desktop->reloadWallpaper();
-
- mState = State::GET_CHARACTERS;
- BLOCK_END("Client::gameExec State::LOAD_DATA")
- break;
- }
- case State::START:
- default:
- mState = State::FORCE_QUIT;
- break;
- }
- PRAGMA45(GCC diagnostic pop)
- BLOCK_END("Client::gameExec 8")
- }
- PROFILER_END();
- }
-
- return 0;
-}
-
-void Client::action(const ActionEvent &event)
-{
- std::string tab;
- const std::string &eventId = event.getId();
-
- if (eventId == "close")
- {
- setState(State::FORCE_QUIT);
- return;
- }
- if (eventId == "Setup")
- {
- tab.clear();
- }
- else if (eventId == "help")
- {
- inputManager.executeAction(InputAction::WINDOW_HELP);
- return;
- }
- else if (eventId == "about")
- {
- inputManager.executeAction(InputAction::WINDOW_ABOUT);
- return;
- }
- else if (eventId == "Video")
- {
- tab = "Video";
- }
- else if (eventId == "Themes")
- {
- tab = "Theme";
- }
- else if (eventId == "Perfomance")
- {
- tab = "Perfomance";
- }
- else
- {
- return;
- }
-}
-
-void Client::moveButtons(const int width)
-{
- if (mSetupButton != nullptr)
- {
- int x = width - mSetupButton->getWidth() - mButtonPadding;
- mSetupButton->setPosition(x, mButtonPadding);
-#ifndef WIN32
- x -= mPerfomanceButton->getWidth() + mButtonSpacing;
- mPerfomanceButton->setPosition(x, mButtonPadding);
-
- x -= mVideoButton->getWidth() + mButtonSpacing;
- mVideoButton->setPosition(x, mButtonPadding);
-
- x -= mThemesButton->getWidth() + mButtonSpacing;
- mThemesButton->setPosition(x, mButtonPadding);
-
- x -= mAboutButton->getWidth() + mButtonSpacing;
- mAboutButton->setPosition(x, mButtonPadding);
-
- x -= mHelpButton->getWidth() + mButtonSpacing;
- mHelpButton->setPosition(x, mButtonPadding);
-#ifdef ANDROID
- x -= mCloseButton->getWidth() + mButtonSpacing;
- mCloseButton->setPosition(x, mButtonPadding);
-#endif // ANDROID
-#endif // WIN32
- }
-}
-
-void Client::windowRemoved(const Window *const window)
-{
- if (mCurrentDialog == window)
- mCurrentDialog = nullptr;
-}
-
-void Client::logVars()
-{
-#ifdef ANDROID
- logger->log("APPDIR: %s", getenv("APPDIR"));
- logger->log("DATADIR2: %s", getSdStoragePath().c_str());
-#endif // ANDROID
-}
-
-void Client::slowLogic()
-{
-}
-
-int Client::testsExec()
-{
- return 0;
-}
-
-bool Client::isTmw()
-{
- const std::string &name = settings.serverName;
- if (name == "server.themanaworld.org"
- || name == "themanaworld.org"
- || name == "167.114.185.71")
- {
- return true;
- }
- return false;
-}
-
-void Client::initPaths()
-{
-}
diff --git a/src/dyetool/client.h b/src/dyetool/client.h
deleted file mode 100644
index 57f62c2b9..000000000
--- a/src/dyetool/client.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef DYETOOL_CLIENT_H
-#define DYETOOL_CLIENT_H
-
-#include "enums/state.h"
-
-#include "listeners/actionlistener.h"
-
-#include "localconsts.h"
-
-class Button;
-class Skin;
-class Window;
-
-extern bool isSafeMode;
-extern int serverVersion;
-extern unsigned int tmwServerVersion;
-extern time_t start_time;
-extern int textures_count;
-
-extern std::string errorMessage;
-
-/**
- * The core part of the client. This class initializes all subsystems, runs
- * the event loop, and shuts everything down again.
- */
-class Client final : public ActionListener
-{
- public:
- Client();
-
- A_DELETE_COPY(Client)
-
- ~Client();
-
- void gameInit();
-
- void testsInit();
-
- int gameExec();
-
- static int testsExec();
-
- void setState(const StateT state)
- { mState = state; }
-
- StateT getState() const noexcept2 A_WARN_UNUSED
- { return mState; }
-
- void action(const ActionEvent &event) override final;
-
- void moveButtons(const int width);
-
- void windowRemoved(const Window *const window);
-
- void slowLogic();
-
- static bool isTmw();
-
- private:
- void stateGame();
-
- void initSoundManager();
-
- static void initGraphics();
-
- static void initPaths();
-
- void gameClear();
-
- void testsClear();
-
- static void logVars();
-
- Window *mCurrentDialog;
- Button *mSetupButton;
- Button *mVideoButton;
- Button *mHelpButton;
- Button *mAboutButton;
- Button *mThemesButton;
- Button *mPerfomanceButton;
-#ifdef ANDROID
- Button *mCloseButton;
-#endif // ANDROID
-
- StateT mState;
- StateT mOldState;
-
- Skin *mSkin;
- int mButtonPadding;
- int mButtonSpacing;
-};
-
-extern Client *client;
-extern unsigned int mLastHost;
-extern unsigned long mSearchHash;
-
-#endif // DYETOOL_CLIENT_H
diff --git a/src/dyetool/dyemain.cpp b/src/dyetool/dyemain.cpp
deleted file mode 100644
index 2217508cc..000000000
--- a/src/dyetool/dyemain.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2013-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "logger.h"
-
-#include "graphicsmanager.h"
-#include "maingui.h"
-#include "sdlshared.h"
-
-#include "fs/virtfs/fs.h"
-
-#include "resources/imagewriter.h"
-
-#include "resources/image/image.h"
-
-#ifdef USE_SDL2
-#include "resources/surfaceimagehelper.h"
-#endif // USE_SDL2
-
-#include "resources/loaders/imageloader.h"
-
-#include "utils/gettext.h"
-
-#include <iostream>
-
-#ifndef USE_SDL2
-#include "resources/sdlimagehelper.h"
-#endif // USE_SDL2
-
-PRAGMA48(GCC diagnostic push)
-PRAGMA48(GCC diagnostic ignored "-Wshadow")
-#include <SDL.h>
-PRAGMA48(GCC diagnostic pop)
-
-#include "debug.h"
-
-static void printHelp()
-{
- // TRANSLATORS: command line help
- std::cout << _("dyecmd srcfile dyestring dstfile") << std::endl;
- // TRANSLATORS: command line help
- std::cout << _("or") << std::endl;
- // TRANSLATORS: command line help
- std::cout << _("dyecmd srcdyestring dstfile") << std::endl;
-}
-
-int main(int argc, char **argv)
-{
- if (argc == 2 && (strcmp(argv[1], "--help") != 0))
- {
- return mainGui(argc, argv);
- }
- if (argc < 3 || argc > 4)
- {
- printHelp();
- return 1;
- }
-
- logger = new Logger;
- logger->setLogToStandardOut(false);
-
- VirtFs::init(argv[0]);
- SDL_Init(SDL_INIT_VIDEO);
-
- graphicsManager.createWindow(10, 10, 0, SDL_ANYFORMAT);
-
-#ifdef USE_SDL2
- imageHelper = new SurfaceImageHelper;
-#else // USE_SDL2
-
- imageHelper = new SDLImageHelper;
-#endif // USE_SDL2
-
- VirtFs::setWriteDir(".");
- VirtFs::mountDir(".", Append_false);
- VirtFs::mountDir("/", Append_false);
- std::string src = argv[1];
- std::string dst;
- if (argc == 4)
- {
- src.append("|").append(argv[2]);
- dst = argv[3];
- }
- else
- {
- dst = argv[2];
- }
-
- Image *image = Loader::getImage(src);
- if (image == nullptr)
- {
- printf("Error loading image\n");
- VirtFs::deinit();
- return 1;
- }
- SDL_Surface *const surface = ImageHelper::convertTo32Bit(
- image->getSDLSurface());
- ImageWriter::writePNG(surface, dst);
- SDL_FreeSurface(surface);
- VirtFs::deinit();
- return 0;
-}
diff --git a/src/dyetool/gui/viewport.cpp b/src/dyetool/gui/viewport.cpp
deleted file mode 100644
index 21719286f..000000000
--- a/src/dyetool/gui/viewport.cpp
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "dyetool/gui/viewport.h"
-
-#include "configuration.h"
-#include "sdlshared.h"
-
-#include "gui/gui.h"
-#include "gui/popupmanager.h"
-
-#include "render/graphics.h"
-
-#include "debug.h"
-
-Viewport *viewport = nullptr;
-
-extern volatile int tick_time;
-
-Viewport::Viewport() :
- WindowContainer(nullptr),
- MouseListener(),
- ConfigListener(),
- mMouseX(0),
- mMouseY(0),
- mMap(nullptr),
- mHoverBeing(nullptr),
- mHoverItem(nullptr),
- mHoverSign(nullptr),
- mScrollRadius(config.getIntValue("ScrollRadius")),
- mScrollLaziness(config.getIntValue("ScrollLaziness")),
- mScrollCenterOffsetX(config.getIntValue("ScrollCenterOffsetX")),
- mScrollCenterOffsetY(config.getIntValue("ScrollCenterOffsetY")),
- mMousePressX(0),
- mMousePressY(0),
- mPixelViewX(0),
- mPixelViewY(0),
- mLocalWalkTime(-1),
- mCameraRelativeX(0),
- mCameraRelativeY(0),
- mShowBeingPopup(config.getBoolValue("showBeingPopup")),
- mSelfMouseHeal(config.getBoolValue("selfMouseHeal")),
- mEnableLazyScrolling(config.getBoolValue("enableLazyScrolling")),
- mMouseDirectionMove(config.getBoolValue("mouseDirectionMove")),
- mLongMouseClick(config.getBoolValue("longmouseclick")),
- mMouseClicked(false),
- mPlayerFollowMouse(false)
-{
- setOpaque(Opaque_false);
- addMouseListener(this);
-
- config.addListener("ScrollLaziness", this);
- config.addListener("ScrollRadius", this);
- config.addListener("showBeingPopup", this);
- config.addListener("selfMouseHeal", this);
- config.addListener("enableLazyScrolling", this);
- config.addListener("mouseDirectionMove", this);
- config.addListener("longmouseclick", this);
-
- setFocusable(true);
-}
-
-Viewport::~Viewport()
-{
- config.removeListeners(this);
- CHECKLISTENERS
-}
-
-void Viewport::setMap(Map *const map A_UNUSED)
-{
-}
-
-void Viewport::draw(Graphics *const graphics)
-{
- BLOCK_START("Viewport::draw 1")
- static int lastTick = tick_time;
-
- graphics->setColor(Color(64, 64, 64));
- graphics->fillRectangle(
- Rect(0, 0, getWidth(), getHeight()));
-
- // Avoid freaking out when tick_time overflows
- if (tick_time < lastTick)
- lastTick = tick_time;
-
- // Draw contained widgets
- WindowContainer::draw(graphics);
- BLOCK_END("Viewport::draw 1")
-}
-
-void Viewport::safeDraw(Graphics *const graphics)
-{
- Viewport::draw(graphics);
-}
-
-void Viewport::logic()
-{
- BLOCK_START("Viewport::logic")
- // Make the player follow the mouse position
- // if the mouse is dragged elsewhere than in a window.
- Gui::getMouseState(mMouseX, mMouseY);
- BLOCK_END("Viewport::logic")
-}
-
-void Viewport::followMouse()
-{
-}
-
-void Viewport::drawDebugPath(Graphics *const graphics A_UNUSED)
-{
-}
-
-bool Viewport::openContextMenu(const MouseEvent &event A_UNUSED)
-{
- return false;
-}
-
-void Viewport::mousePressed(MouseEvent &event)
-{
- if (event.getSource() != this || event.isConsumed())
- return;
-
- mMouseClicked = true;
-
- mMousePressX = event.getX();
- mMousePressY = event.getY();
- const MouseButtonT eventButton = event.getButton();
-
- // Right click might open a popup
- if (eventButton == MouseButton::RIGHT)
- {
- if (openContextMenu(event))
- return;
- }
-
- // If a popup is active, just remove it
- if (PopupManager::isPopupMenuVisible())
- {
- mPlayerFollowMouse = false;
- PopupManager::hidePopupMenu();
- return;
- }
-
- // Left click can cause different actions
- if (!mLongMouseClick && eventButton == MouseButton::LEFT)
- {
- if (leftMouseAction())
- {
- mPlayerFollowMouse = false;
- return;
- }
- }
-}
-
-void Viewport::walkByMouse(const MouseEvent &event A_UNUSED)
-{
-}
-
-void Viewport::mouseDragged(MouseEvent &event)
-{
- if (event.getSource() != this || event.isConsumed())
- {
- mPlayerFollowMouse = false;
- return;
- }
- if (mMouseClicked)
- {
- if (abs(event.getX() - mMousePressX) > 32
- || abs(event.getY() - mMousePressY) > 32)
- {
- mPlayerFollowMouse = true;
- }
- }
-
- walkByMouse(event);
-}
-
-void Viewport::mouseReleased(MouseEvent &event)
-{
- mPlayerFollowMouse = false;
- mLocalWalkTime = -1;
- if (mLongMouseClick && mMouseClicked)
- {
- mMouseClicked = false;
- if (event.getSource() != this || event.isConsumed())
- return;
- const MouseButtonT eventButton = event.getButton();
- if (eventButton == MouseButton::LEFT)
- {
- // long button press
- if ((gui != nullptr) && gui->isLongPress())
- {
- if (openContextMenu(event))
- {
- gui->resetClickCount();
- return;
- }
- }
- else
- {
- if (leftMouseAction())
- return;
- }
- walkByMouse(event);
- }
- }
-}
-
-void Viewport::optionChanged(const std::string &name)
-{
- if (name == "ScrollLaziness")
- mScrollLaziness = config.getIntValue("ScrollLaziness");
- else if (name == "ScrollRadius")
- mScrollRadius = config.getIntValue("ScrollRadius");
- else if (name == "showBeingPopup")
- mShowBeingPopup = config.getBoolValue("showBeingPopup");
- else if (name == "selfMouseHeal")
- mSelfMouseHeal = config.getBoolValue("selfMouseHeal");
- else if (name == "enableLazyScrolling")
- mEnableLazyScrolling = config.getBoolValue("enableLazyScrolling");
- else if (name == "mouseDirectionMove")
- mMouseDirectionMove = config.getBoolValue("mouseDirectionMove");
- else if (name == "longmouseclick")
- mLongMouseClick = config.getBoolValue("longmouseclick");
-}
-
-void Viewport::mouseMoved(MouseEvent &event A_UNUSED)
-{
-}
-
-void Viewport::toggleMapDrawType()
-{
-}
-
-void Viewport::toggleCameraMode()
-{
-}
-
-void Viewport::cleanHoverItems()
-{
- mHoverBeing = nullptr;
- mHoverItem = nullptr;
- mHoverSign = nullptr;
-}
-
-bool Viewport::leftMouseAction()
-{
- return false;
-}
-
-void Viewport::videoResized()
-{
-}
diff --git a/src/dyetool/gui/viewport.h b/src/dyetool/gui/viewport.h
deleted file mode 100644
index 7b1aa32c4..000000000
--- a/src/dyetool/gui/viewport.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef DYETOOL_GUI_VIEWPORT_H
-#define DYETOOL_GUI_VIEWPORT_H
-
-#include "position.h"
-
-#include "gui/widgets/windowcontainer.h"
-
-#include "listeners/mouselistener.h"
-
-class ActorSprite;
-class Being;
-class FloorItem;
-class Graphics;
-class Map;
-class MapItem;
-
-/**
- * The viewport on the map. Displays the current map and handles mouse input
- * and the popup menu.
- */
-class Viewport final : public WindowContainer,
- public MouseListener,
- public ConfigListener
-{
- public:
- /**
- * Constructor.
- */
- Viewport();
-
- A_DELETE_COPY(Viewport)
-
- /**
- * Destructor.
- */
- ~Viewport();
-
- /**
- * Sets the map displayed by the viewport.
- */
- void setMap(Map *const map);
-
- /**
- * Draws the viewport.
- */
- void draw(Graphics *const graphics) override final A_NONNULL(2);
-
- void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
-
- /**
- * Implements player to keep following mouse.
- */
- void logic() override final;
-
- /**
- * Toggles whether the path debug graphics are shown. normal,
- * debug with all images and grid, debug with out big images
- * and with out grid.
- */
- void toggleMapDrawType();
-
- void toggleCameraMode();
-
- /**
- * Handles mouse press on map.
- */
- void mousePressed(MouseEvent &event) override final;
-
- /**
- * Handles mouse move on map
- */
- void mouseDragged(MouseEvent &event) override final;
-
- /**
- * Handles mouse button release on map.
- */
- void mouseReleased(MouseEvent &event) override final;
-
- /**
- * Handles mouse move on map.
- */
- void mouseMoved(MouseEvent &event) override final;
-
- /**
- * A relevant config option changed.
- */
- void optionChanged(const std::string &name) override final;
-
- /**
- * Returns camera x offset in pixels.
- */
- int getCameraX() const noexcept2 A_WARN_UNUSED
- { return mPixelViewX; }
-
- /**
- * Returns camera y offset in pixels.
- */
- int getCameraY() const noexcept2 A_WARN_UNUSED
- { return mPixelViewY; }
-
- /**
- * Changes viewpoint by relative pixel coordinates.
- */
- void scrollBy(const int x, const int y)
- { mPixelViewX += x; mPixelViewY += y; }
-
- /**
- * Clear all hover item, being etc
- */
- void cleanHoverItems();
-
- Map *getMap() const noexcept2 A_WARN_UNUSED
- { return mMap; }
-
- void moveCamera(const int dx, const int dy);
-
- int getCameraRelativeX() const noexcept2 A_WARN_UNUSED
- { return mCameraRelativeX; }
-
- int getCameraRelativeY() const noexcept2 A_WARN_UNUSED
- { return mCameraRelativeY; }
-
- void setCameraRelativeX(const int n) noexcept2
- { mCameraRelativeX = n; }
-
- void setCameraRelativeY(const int n) noexcept2
- { mCameraRelativeY = n; }
-
- void videoResized();
-
- int mMouseX; /**< Current mouse position in pixels. */
- int mMouseY; /**< Current mouse position in pixels. */
-
- private:
- /**
- * Finds a path from the player to the mouse, and draws it. This is for
- * debug purposes.
- */
- void drawDebugPath(Graphics *const graphics) A_NONNULL(2);
-
- /**
- * Draws the given path.
- */
- void drawPath(Graphics *const graphics,
- const Path &path,
- const Color &color = Color(255, 0, 0))
- const A_NONNULL(2);
-
- bool leftMouseAction();
-
- bool openContextMenu(const MouseEvent &event);
-
- void walkByMouse(const MouseEvent &event);
-
- /**
- * Make the player go to the mouse position.
- */
- void followMouse();
-
- Map *mMap; /**< The current map. */
-
- Being *mHoverBeing; /**< Being mouse is currently over. */
- FloorItem *mHoverItem; /**< FloorItem mouse is currently over. */
- MapItem *mHoverSign; /**< Map sign mouse is currently over. */
-
- int mScrollRadius;
- int mScrollLaziness;
- int mScrollCenterOffsetX;
- int mScrollCenterOffsetY;
- int mMousePressX;
- int mMousePressY;
- int mPixelViewX; /**< Current viewpoint in pixels. */
- int mPixelViewY; /**< Current viewpoint in pixels. */
-
- int mLocalWalkTime; /**< Timestamp before the next walk can be sent. */
-
- int mCameraRelativeX;
- int mCameraRelativeY;
-
- bool mShowBeingPopup;
- bool mSelfMouseHeal;
- bool mEnableLazyScrolling;
- bool mMouseDirectionMove;
- bool mLongMouseClick;
- bool mMouseClicked;
- bool mPlayerFollowMouse;
-};
-
-extern Viewport *viewport; /**< The viewport. */
-
-#endif // DYETOOL_GUI_VIEWPORT_H