User Tools

Site Tools


cre:compiling

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cre:compiling [2021/10/20 15:58]
ryo [Building]
cre:compiling [2024/03/20 01:07] (current)
leaf [Requirements] Requirements wording updates
Line 1: Line 1:
-To build CRE, you first need to [[:​server:​server_compiling|build the server]] and install it (''​make install''​ if running under Linux).+====== ​CRE (Crossfire Resource Editor======
  
-CRE sources are part of the server sources. 
  
-====== Requirements ====== +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).
-You need Qt5 and the associated development package.+
  
-Depending on your system, installing ''​qt5-default''​ may be enough.+The sources for CRE are included in the server sources.
  
-==== Distribution Specific Requirements ====+===== 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 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-February-29 
 + 
 +==== 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-March-01 
 + 
 + 
 +==== 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-March-02 
 + 
 +==== 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-March-02 
 + 
 +==== 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-March-02 
 + 
 +==== 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-March-03 
 + 
 +==== 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-March-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-March-06 
 + 
 +==== 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-March-06 
 + 
 +==== 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-March-06 
 + 
 +==== 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-March-06 
 + 
 +==== 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-March-07 
 + 
 +==== 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-March-07 
 + 
 +==== Manjaro ==== 
 + 
 +==== Manjaro 23.1.3 (Vulcan) ==== 
 + 
 +A quick reference for Manjaro 23.1.3 (Vulcan) 
 + 
 +  sudo pacman -S qt5-script 
 +   
 +Instructions creation date: 2024-March-08 
 + 
 +Last tested date: 2024-March-08 
 + 
 +==== OpenSUSE ==== 
 + 
 +==== OpenSUSE Leap 15.5 ==== 
 + 
 +IMPORTANT: CRE will not compile on OpenSuse 15.5, see bug [[https://​sourceforge.net/​p/​crossfire/​bugs/​955/​|CRE compile failure with OpenSUSE (QtConcurrent related) ]] 
 + 
 +A quick reference for OpenSUSE Leap 15.5 
 + 
 +  sudo zypper install libqt5-qtbase-common-devel libqt5-qtscript-devel libqt5-qttools-devel 
 + 
 +Instructions creation date: 2024-March-08 
 + 
 +Last tested date: 2024-March-09 
 + 
 + 
 +==== OpenSUSE Tumbleweed ==== 
 + 
 +IMPORTANT: CRE will not compile on OpenSuse Tumbleweed, see bug [[https://​sourceforge.net/​p/​crossfire/​bugs/​955/​|CRE compile failure with OpenSUSE (QtConcurrent related) ]] 
 + 
 +A quick reference for OpenSUSE Tumbleweed 
 + 
 +  sudo zypper install libqt5-qtbase-common-devel libqt5-qtscript-devel libqt5-qttools-devel 
 + 
 +Instructions creation date: 2024-March-08 
 + 
 +Last tested date: 2024-March-09 
 + 
 +==== 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-March-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-March-10 
 + 
 +==== 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-March-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-March-11 
 + 
 +==== Ubuntu 23.10 (Mantic Minotaur) ==== 
 + 
 + 
 +A quick reference for Ubuntu 23.10 (Mantic Minotaur) 
 + 
 +  sudo apt install qttools5-dev qttools5-dev-tools qtscript5-dev 
 +   
 +Instructions creation date: 2024-February-29 
 + 
 +Last tested date: 2024-March-11
  
-=== Ubuntu 18.04 LTS (Bionic Beaver) === 
  
-  qt5-qmake qt5-qmake-bin qt5-default qtcreator 
 ====== Building ====== ====== Building ======
  
 ===== Linux ===== ===== Linux =====
  
-Once the server has been built and installed (with ''​./​configure ​&& make install''​),​ from the server ​sources ​root:+Once the server has been built and installed (i.e., by running ​''​sh autogen.sh && make install''​), ​navigate to the ''​utils''​ directory ​from the server ​source ​root.
  
-''​cd utils/cre && qmake && make''​+  ​cd utils
  
-Make sure to use qmake from Qt version 5, and not a previous version. On Fedora for instance, ​you need to run ''​qmake-qt5''​+Check you are in the correct directory with the ''​pwd'' ​command:
  
-''​cd utils/cre && qmake-qt5 && make''​+  $ pwd 
 +  ​/home/<​username>/​crossfire-crossfire-server/​utils
  
-This should build the tool, to run it:+The first compilation step depends on the version of QT installed and the Linux distribution being used. Here are some guidelines:
  
-''​utils/​cre/​cre''​+For Debian, Devuan, Linux Mint, PopOS, and Ubuntu:
  
-should do the trick.+  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''​. 
 + 
 +Verify your location using the ''​pwd''​ command: 
 + 
 +  $ pwd 
 +  /​home/<​username>/​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
  
 ===== Windows ===== ===== Windows =====
  
-CRE has a pre-compiled .exe available ​for [[http://​crossfire.weeger.org/​cre-latest.exe|download]]. It is updated daily, and should not require any dependency ​(if it does, then please report that issue).+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? 
 + 
 +Firstcreate 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 launcheven 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.
  
-After putting ​the .exe in the directory of your choice, you need to get ''​arch''​ and ''​maps''​and put them in ''​var''​ subdirectory of this directory.+Procmon from the Sysinternals Suite may be helpfulor debugger.
 ====== Interface ====== ====== Interface ======
  
 FIXME - provide summary with each tool bar option 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: Once CRE is launched, you have the following menu options:
Line 56: Line 397:
     * Scripts - shows all the python scripts used to manage places such as guilds, certain cult altars, post office, message boards, casino, etc.     * 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     * 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 game FIXME - not sure the source of these messages+    * Messages - various message found in books and random readings (from the ''​messages''​ file in arch)
   * Save   * Save
     * Formulae     * Formulae
Line 80: Line 421:
     * Generate face variants     * Generate face variants
     * Clear map cache     * Clear map cache
- 
  
cre/compiling.1634763505.txt.gz · Last modified: 2021/10/20 15:58 by ryo