Skip to content

Mikulus6/Cultures-map-editor

Repository files navigation

Cultures Map Editor

Introduction

The following application is meant to be a tool for map-making process in video games Cultures: Discovery of Vinland, Cultures: The Revenge of the Rain God and Cultures Gold. It makes it possible to freely view and modify map-related files from mentioned games. Available functionalities are implemented in a way which mimics editors present in other games from Cultures series.

example

Installation & Usage

Editor

After downloading necessary files from releases section make sure to put them in game's main directory, so that the downloaded executable file Editor.exe and game's executable file Cultures.exe are in the same location. Alternatively you can copy data_l folder from game files and paste it to directory of newly downloaded application. It is also possible to launch the editor in different directory, where game is absent. In case of such scenario you will be asked to specify manually where game is located.

Optionally, if you want to speed up the program startup you can extract data_l\data_v.lib library to game's main directory. This way, during the initialization process the application will be able to refer directly to extracted files rather than search for them in the relatively large library.

Note that when opening the program for the first time it will try to generate cache.bin file which can take significant time to load. If you want to skip this process you might be able to find this file online, however due to copyright restrictions we do not provide access to such file here. Keep in mind that cache.bin files generated for Cultures: Discovery of Vinland, Cultures: The Revenge of the Rain God and Cultures Gold will contain different content and are not interchangeable.

One can, after proper installation of Editor.exe, associate it with opening *.map files by using the context menu. Opening a map through such a file association works exactly the same as opening a file through the internal graphical interface of the aforementioned application. Remember that the display of terrain and landscapes in the editor might not be exactly the same as in the game. Always check important aesthetics by opening *.map files in the original game.

Converters

Main Editor.exe application supports viewing and modifying only *.map files. These are files that contain information mainly about terrain, heightmap, landscapes, and structures. For more dynamic elements like creatures and buildings, more complex matters like missions and bots' behaviour, or more subtle additions like minimap, fonts and texts, which are all contained in *.cif, *.fnt, *.pcx and *.txt files, it is recommended to use supplementary Converters.exe application provided in releases section and read documentation. Take into account that these additional files are not directly supported by our editor, and it might be necessary for the user to install additional third-party applications in order to properly read and modify text and images.

One subtle convention present in this project is the separation of the art of making maps (mapping) from the art of creating more general modifications of game files (modding). We define mapping as the process of editing the content of the data_l\data_m.lib file and the data_m directory aimed at making maps. Functionalities provided by the given tools are primarily meant to give the user complete control over the mapping process. However, an additional framework is also provided in the form of documentation and code modules that support most of the significant procedures relevant to modding. If you want to have access to all procedures related to modding, make sure Converters.exe and the game's executable file Cultures.exe are in the same location. Keep in mind that any modification of game files which is not part of mapping may break backward compatibility with already existing maps.

There exists additional functionality, making converters implementable to further external projects. The Converters.exe app can be launched via command line with additional --quick-conversions argument. If this argument is present, then all further arguments will be interpreted as triplets of data, and window with user interface will not be initialized. In each triplet, the first argument is a command name, which can be obtained by running uncompiled converters.py script and reading textual output. The second and third values in each triplet are respectively responsible for input path and output path relevant to the specific conversion.

Credits

This project is a fan-made tool created by CulturesNation community. It is not affiliated with the official legacy of Cultures series. For official developers' website visit Funatics.

Contributors

Mikulus: Managed project and wrote most of Python code.
Basssiiie: Decompiled important parts of game's engine via Ghidra.
Peti: Tested and documented part of textual scripts entries.
Benedikt Magnus: Helped with landscapes' data interpretation.
Tyrannica: Helped with walk sectors' data visualization.
Proszak: Drew some of the graphics for user interface.

Literature

Watto: "Game Extractor" (2004)
Bacter: "Unknown Encryption In Cultures Game" (2010)
Siguza: "Cultures 2 file formats" (2013)
FinFET: "SimplePython3DEngine" (2022)
Remik: "CEngine" (2023)

License

This program and its source code are distributed under GNU General Public License 3.0, which can be found in the license.txt file. Cultures itself is the property of Funatics Software with all rights reserved as stated in the game manual, and is not covered by the aforementioned license.

About

Map files editor for video games "Cultures: Discovery of Vinland" and "Cultures: The Revenge of the Rain God"

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •