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 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: 2025-January-29

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/<username>/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/<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

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.

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 - lists all the graphical faces used and what map, race, class, and monsters uses the graphic and animation
    • Spell damage - shows a table of the damage of cause light wounds, cause critical wounds, vitriol, cause medium wounds, holy orb and cause heavy wounds spells at level 1 up to 114
    • Alchemy - provides a list of all alchemy, bowyer, jeweler, smithery, thaumaturgy, woodsman crafting recipes. Also shows use of other ingredients and how many recipes use those ingredients in alphabetical order and how those ingredients are used in a recipe
    • Alchemy graph - generates a .dot file that requires external applications to view the graphical output - which shows the relation of all ingredients and the crafting results
    • Spells - displays a full list of spells by school, then in alphabetical order by level along with the spell path
    • Players vs monsters - Generates a table summary of when a theoretical player would defeat the listed monster using various combat skills (NOTE: this report can take several minutes to generate)
    • Summoned pets statistics - shows a summary of summoned monster stats based on the caster level from level 1 up to level 111
    • Shop specializations - Generates a table summary of shop names and locations and what they pay the highest and lowest prices on along with other factors (gree, race, min, max payment) that influence pricing
    • Quest solved by players - Shows a list of incomplete or unfinished quests by players on the server were CRE is being run or launched from FIXME - check for accuracy of this summary
    • Materials - Shows a list of material components in the game and their ability to withstand damage from different attack types
    • Unused archetypes - Displays a list of archetypes or objects that are not found in any maps
    • License checks - Creates a report of missing license files for items, objects, and archetypes
    • Map reset groups - Generates a report of all the maps (and their count) that are in a reset group which is basically the maps in that group will not reset if any of the maps has a player on them
  • Tools
    • Edit monsters
    • Monster resistances overview
    • Generate smooth face base
    • Generate HP bar
    • Combat simulator
    • Generate face variants
    • Clear map cache
    • Reload assets
    • Sounds
    • Facesets
      • classic
      • standard
      • Use set fallback for missing faces
  • Windows
    • Restore windows positions at launch
    • Close current window
    • Close all windows
    • Tile windows
    • Cascade windows
  • Help
    • Help
    • About
    • Show changes after updating
    • Changes
cre/compiling.txt · Last modified: 2025/01/29 16:56 by leaf