====== CRE (Crossfire Resource Editor) ====== To build CRE, you first need to [[:server:server_compiling|build the server]] and install it (''sh autogen.sh && make install'' if running under Linux). The sources for CRE are included in the server sources. ===== Requirements ===== You will need Qt5 and its associated development package. Depending on your system, simply installing ''qmake'' or ''qt5-default'' may suffice. ===== Distribution Specific Requirements ===== ==== Arch Linux ==== FIXME - Placeholder text ==== Debian ==== ==== Debian 10 (Buster) ==== A quick reference for Debian 10 (Buster) sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-February-29 Last tested date: 2024-February-29 ==== Debian 11 (Bullseye) ==== A quick reference for Debian 11 (Bullseye) sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-February-29 Last tested date: 2024-February-29 ==== Debian 12 (Bookworm) ==== A quick reference for Debian 12 (Bookworm) sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-February-29 Last tested date: 2024-February-29 ==== Devuan ==== ==== Devuan Beowulf 3.1.1 ==== A quick reference for Devuan Beowulf 3.1.1 sudo apt install qt5-default qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-May-2 Last tested date: 2024-May-2 ==== Devuan Chimaera 4.0 ==== A quick reference for Devuan Chimaera 4.0 sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-February-29 Last tested date: 2024-May-2 ==== Devuan Daedalus 5.0 ==== A quick reference for Daedalus 5.0 sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-March-01 Last tested date: 2024-May-03 ==== Fedora ==== ==== Fedora 37 ==== A quick reference for Fedora 37 sudo dnf install qt5-qtbase-devel qt5-qttools-devel Instructions creation date: 2024-March-02 Last tested date: 2024-May-04 ==== Fedora 38 ==== A quick reference for Fedora 38 sudo dnf install qt5-qtbase-devel qt5-qtscript-devel qt5-qttools-devel Instructions creation date: 2024-March-02 Last tested date: 2024-May-05 ==== Fedora 39 ==== A quick reference for Fedora 39 sudo dnf install qt5-qtbase-devel qt5-qtscript-devel qt5-qttools-devel Instructions creation date: 2024-March-02 Last tested date: 2024-May-05 ==== Fedora 40 ==== A quick reference for Fedora 40 sudo dnf install qt5-qtbase-devel qt5-qtscript-devel qt5-qttools-devel Instructions creation date: 2024-April-25 Last tested date: 2024-April-25 ==== Linux Mint ==== ==== Linux Mint 20 (Ulyana) ==== A quick reference for Linux Mint 20 (Ulyana) sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-March-03 Last tested date: 2024-May-05 ==== Linux Mint 20.1 (Ulyssa) ==== A quick reference for Linux Mint 20.1 (Ulyssa) sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-March-06 Last tested date: 2024-May-06 ==== Linux Mint 20.2 (Uma) ==== A quick reference for Linux Mint 20.2 (Uma) sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-March-06 Last tested date: 2024-May-08 ==== Mint 20.3 (Una) ==== A quick reference for Linux Mint 20.3 (Una) sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-March-06 Last tested date: 2024-May-08 ==== Linux Mint 21 (Vanessa) ==== A quick reference for Linux Mint 21 (Vanessa) sudo apt install qt5-qmake qt5-qmake-bin qttools5-dev qttools5-dev-tools qtbase5-dev qtscript5-dev Instructions creation date: 2024-March-06 Last tested date: 2024-May-08 ==== Linux Mint 21.1 (Vera) ==== A quick reference for Linux Mint 21.1 (Vera) sudo apt install qt5-qmake qt5-qmake-bin qttools5-dev qttools5-dev-tools qtbase5-dev qtscript5-dev Instructions creation date: 2024-March-06 Last tested date: 2024-May-08 ==== Linux Mint 21.2 (Victoria) ==== A quick reference for Linux Mint 21.2 (Victoria) sudo apt install qt5-qmake qt5-qmake-bin qttools5-dev qttools5-dev-tools qtbase5-dev qtscript5-dev Instructions creation date: 2024-March-07 Last tested date: 2024-May-08 ==== Linux Mint 21.3 (Virginia) ==== A quick reference for Linux Mint 21.3 (Virginia) sudo apt install qt5-qmake qt5-qmake-bin qttools5-dev qttools5-dev-tools qtbase5-dev qtscript5-dev Instructions creation date: 2024-May-12 Last tested date: 2024-May-12 ==== Linux Mint 22 (Wilma) ==== A quick reference for Linux Mint 22 (Wilma) sudo apt install qt5-qmake qt5-qmake-bin qttools5-dev qttools5-dev-tools qtbase5-dev qtscript5-dev Instructions creation date: 2024-July-26 Last tested date: 2024-July-26 ==== Linux Mint Debian Edition ==== A quick reference for Linux Mint Debian Edition sudo apt install qt5-qmake qt5-qmake-bin qttools5-dev qttools5-dev-tools qtbase5-dev qtscript5-dev Instructions creation date: 2024-March-07 Last tested date: 2024-May-08 ==== Manjaro ==== ==== Manjaro 23.1.3 (Vulcan) ==== A quick reference for Manjaro 23.1.3 (Vulcan) sudo pacman -S qt5-script qt5-tools Instructions creation date: 2024-March-08 Last tested date: 2024-May-08 ==== Manjaro 24 (Wynsdey) ==== A quick reference for Manjaro 24 (Wynsdey) sudo pacman -S qt5-script qt5-tools Instructions creation date: 2024-May-15 Last tested date: 2024-May-15 ==== OpenSUSE ==== ==== OpenSUSE Leap 15.5 ==== A quick reference for OpenSUSE Leap 15.5 sudo zypper install libqt5-qtbase-common-devel libqt5-qtscript-devel libqt5-qttools-devel libqt5concurrent-devel Instructions creation date: 2024-March-08 Last tested date: 2024-May-09 ==== OpenSUSE Tumbleweed ==== A quick reference for OpenSUSE Tumbleweed sudo zypper install libqt5-qtbase-common-devel libqt5-qtscript-devel libqt5-qttools-devel libqt5concurrent-devel Instructions creation date: 2024-March-08 Last tested date: 2024-May-10 ==== Pop!_OS ==== ==== Pop!_OS 22.04 LTS ==== A quick reference for Pop!_OS 22.04 LTS sudo apt install qtbase5-dev qt5-qmake qt5-qmake-bin qtscript5-dev qttools5-dev qttools5-dev-tools Instructions creation date: 2024-March-10 Last tested date: 2024-May-10 ==== Pop!_OS 22.04 LTS (NVIDIA) ==== A quick reference for Pop!_OS 22.04 LTS (NVIDIA) sudo apt install qtbase5-dev qt5-qmake qt5-qmake-bin qtscript5-dev qttools5-dev qttools5-dev-tools Instructions creation date: 2024-March-10 Last tested date: 2024-May-11 ==== Ubuntu ==== ==== Ubuntu 20.04 LTS (Focal Fossa) ==== A quick reference for Ubuntu 20.04 LTS (Focal Fossa) sudo apt install qtbase5-dev qt5-qmake qt5-qmake-bin qtscript5-dev qttools5-dev qttools5-dev-tools Instructions creation date: 2024-March-11 Last tested date: 2024-May-11 ==== Ubuntu 22.04 LTS (Jammy Jellyfish) ==== A quick reference for Ubuntu 22.04 LTS (Jammy Jellyfish) sudo apt install qtbase5-dev qt5-qmake qt5-qmake-bin qtscript5-dev qttools5-dev qttools5-dev-tools Instructions creation date: 2024-March-11 Last tested date: 2024-May-12 ==== Ubuntu 24.04 (Noble Numbat) ==== A quick reference for Ubuntu 24.04 (Noble Numbat) sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev Instructions creation date: 2024-April-23 Last tested date: 2024-April-26 ====== Building ====== ===== Linux ===== Once the server has been built and installed (i.e., by running ''sh autogen.sh && make install''), navigate to the ''utils/cre'' directory from the server source root. cd utils/cre Check you are in the correct directory with the ''pwd'' command: $ pwd /home//crossfire-crossfire-server/utils/cre The first compilation step depends on the version of QT installed and the Linux distribution being used. Here are some guidelines: For Debian, Devuan, Linux Mint, PopOS, and Ubuntu: qmake For Fedora and Manjaro: qmake-qt5 The ''qmake'' or ''qmake-qt5'' command usually executes quickly and only displays output if there is an issue. Next, execute the ''make'' command. This process may take up to 5 minutes or more and can output over 300 lines of text. Any alerts or warnings can generally be ignored during this process. make Once the compilation process is complete, change directory to ''cre''. $ cd cre Verify your location using the ''pwd'' command: $ pwd /home//crossfire-crossfire-server/utils/cre To run CRE, enter: ./cre Alternatively, you can launch CRE from your home directory using: ./crossfire-crossfire-server/utils/cre/cre ===== First Launch on Linux ===== After your first or initial launch of CRE, you will get a popup screen sking about the Cache directory for CRE. It is recommended to use the default location, so click on the Save button and then let CRE go through its initial launch and setup. ===== Windows ===== Windows users wishing to use CRE have two options if they don't wish to compile CRE themselves: use the installer, or use the standalone executable. They are available from [[http://crossfire.weeger.org]]. Both are updated daily, with some ''archives''. In both cases, it is required to get ''maps'' and ''arch'' (read below). Both CRE versions are cross-compiled, so there may be unknown issues. Please report any issues, or problems with this documentation. ==== Using the installer (recommended) ==== The latest version of the installer is available from [[http://crossfire.weeger.org/CREInstaller-latest.exe|this direct link]] (make sure to check the [[http://crossfire.weeger.org/CREInstaller-latest.exe.sha512|sha512 sum]]). It will create required directories and add start menu and desktop shortcuts if wanted. Note that if you run the installer when a version is already installed, the old version is uninstalled silently. ==== Using the standalone executable ==== CRE standalone is available from [[http://crossfire.weeger.org/cre-latest.exe|this direct link]] (make sure to check the [[http://crossfire.weeger.org/cre-latest.exe.sha512|sha512 sum]]). FIXME - are the manual setup steps listed below still required with the current .exe installer? After putting the ''.exe'' in the directory of your choice, you need to assemble a few prerequisites before it will run: FIXME - Discord/IRC discussion indicates, "CRE expects cre's dir/var/{arch,maps}" - is this still correct? First, create a directory alongside the .exe, named ''share''. Get the ''i18n'' directory from the server source (it's in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/lib/i18n/|lib\i18n]]'') and place it here too. Next, create a directory alongside the .exe, named ''etc''. Find ''exp_table'', ''settings'', and ''stat_bonus'' from the server source (they're in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/lib/config/|lib\config]]''), and place them here in ''etc''. Note that if you are running a Crossfire server, maybe you want to pull these files from your server config instead. Finally, create a directory alongside the .exe, named ''var''. CRE may place temporary files here at runtime. ==== Finishing steps ==== Get ''arch'' and ''maps'', and put them into ''share''. One way is to get a snapshot from Sourceforge, available [[https://sourceforge.net/p/crossfire/crossfire-maps/ci/master/tarball?path=|for maps]] and [[https://sourceforge.net/p/crossfire/crossfire-arch/ci/master/tarball?path=|for arch]]. Another option is to clone the git repositories so you can easily push your changes upstream. ==== Troubleshooting ==== Note that it can take quite a few seconds for CRE to launch, even longer if your disk is slow, as it loads many files on launch. If CRE launches and then exits, it may be having trouble finding some paths. There should be a log file in ''%temp%\cre.log'' giving some details. Procmon from the Sysinternals Suite may be helpful, or a debugger. ====== Interface ====== FIXME - provide summary with each tool bar option At first start, CRE will ask you to choose a ''cache'' directory. This directory will contain data kept between runs, to speed up start. Don't use a temporary directory that is erased now and then, but you don't need a fully backup-ed one either, since the data may be rebuilt. When launched, CRE will start browsing maps. As long as a message is displayed in the right side of the status bar, then the process is not complete. You can use almost all features, but some information may be incomplete (for instance, archetype use will not report on maps which are not yet browsed). Once CRE is launched, you have the following menu options: * Open * Resources - searchable interface for archetypes, animations, treasures forumale, artifacts, faces, maps, quests, NPC dialogs, scripts, random maps, messages * Artifacts - searchable interface for potions, food, drink, skill tool, bow, arrow, container, amulet, gem, boots, cloak, rod ring, armour, glove, shield, helmet, weapon,none * Archetypes - a searchable listing of the archetypes * Treasures - a searchable listing of all monsters (in alphabetical order) and the treasure that is found when they are slain * Animations - shows all the in-game items that have an animation, the individual graphics or frames to make the animation, and a preview of the item animation * Formulae - lists all the items that can be crafted with the various in-game skills (smithery, woodsman, alchemy, et al.) based on the number of ingredient requirements * Faces - a long list of all graphics (or faces) used in the game * Maps - this is a list of all available maps sorted by region; each heading then lists individual maps that show the total experience that can be gained from the map, it's listed difficulty and it's calculated difficulty based on monster population and other factors, also included is map exits from and to the selected map * Quests - incomplete (or in development) list of quests with a summary and requirement steps * NPC dialogs - interface for all the .msg dialog files used by NPC characters, also include conditions met or key word requirements for the dialog * Experience - shows a listing of experience need to progress or gain levels, one column shows the grand total of needed experience (i.e., 4000 for level 3, 8000 for level 4) and the second column shows the experience needed to gain one level (i.e., 61000 experience needed to go from level 7 to level 8) * Scripts - shows all the python scripts used to manage places such as guilds, certain cult altars, post office, message boards, casino, etc. * Random Maps - lists all the randomly generated maps and where they are located, plus if the random map ends in a static map, and lists the depth (or number of levels) that the map contains; when a map is selected it shows its dimensions such as wallstyle, floorstyle, monsterstyle, decorestyle, exitstyle, difficulty_increase rate, dungeon level (difficulty), and dungeon depth * Messages - various message found in books and random readings (from the ''messages'' file in arch) * Save * Formulae * Quests * Dialogs * Reports * Faces and animations report * Spell damage * Alchemy * Alchemy graph * Spells * Players vs monsters * Summoned pets statistics * Shop specializations * Quest solved by players * Materials * Unused archetypes * Tools * Edit monsters * Generate smooth face base * Generate HP bar * Combat simulator * Generate face variants * Clear map cache