User Tools

Site Tools


cre:compiling

CRE (Crossfire Resource Editor)

To build CRE, you first need to 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 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 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 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

Building

Linux

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

Check you are in the correct directory with the pwd command:

$ pwd
/home/<username>/crossfire-crossfire-server/utils

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.

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 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.

The latest version of the installer is available from this direct link (make sure to check the 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 this direct link (make sure to check the 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 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 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 for maps and 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
cre/compiling.txt · Last modified: 2024/03/20 01:07 by leaf