Tome
A generic data editor for games supporting arbitrary input and output formats.
Tome Documentation

Tome

Tome is a generic data editor for games supporting arbitrary input and output formats.

Developing games is all about data. With game systems for modifying data and user interfaces for presenting it, finding a sophisticated data model is key to creating successful games. Even more, being able to change this data and iterate on a day-to-day basis is mandatory in today's production cycles.

Tome solves two problems that arise with every new game you build: First, you can import the definition of your game's data so game designers can create new data records and modify existing ones very conveniently. Second, you can export the results to any format your game engine understands.

The tool is pretty self-explanatory. However, to give you a headstart, feel free to take a look at the Tome wiki pages.

Features

Development Cycle

Feel free to take a look at the public development roadmap.

We know that using a tool like Tome in production requires you to be completely sure about stability and compatibility. Thus, new releases of Tome are created using Semantic Versioning. In short:

Bugs & Feature Requests

We are sorry that you've experienced issues or are missing a feature! After verifying that you are using the latest version of Tome and having checked whether a similar issue has already been reported, feel free to open a new issue. In order to help us resolving your problem as fast as possible, please include the following details in your report:

After being able to reproduce the issue, we'll look into fixing it immediately.

Contributing

You'd like to help make Tome even more awesome? Seems like today's our lucky day! In order to maintain stability of the tool and its code base, please adhere to the following steps, and we'll be pleased to include your additions in our next release.

Note that Tome is distributed under the GNU Lesser General Public License 3.0. So will be your code.

Step 1: Choose what to do

If you've got no idea how to help, head over to our issue tracker and see what you'd like to do most. You can basically pick anything you want to, as long as it's not already assigned to anyone.

If you know exactly what you're missing, open a new issue to begin a short discussion about your idea and how it fits the project. If we all agree, you're good to go!

Step 2: Fork the project and check out the code

Tome is developed using the GitFlow branching model. In order to contribute, you should check out the latest develop branch, and create a new feature or hotfix branch to be merged back.

Step 3: Implement your feature or bugfix

Tome is based on Qt 5.8.

You might also want to take a look at the Tome API documentation (see below).

Step 4: Open a pull request

Finally, open a pull request so we can review your changes together, and finally integrate it into the next release.

Building Tome

Tome is built and deployed using the usual Qt tools for Windows and Mac OS X.

Tome for Windows

  1. Open a command prompt.
  2. Call C:\Program Files (x86)\Qt\5.8\mingw53_32\bin\qtenv2.bat to set up your environment variables.
  3. Make a release build of Tome in QtCreator.
  4. Navigate to the output directory Bin\release\Tome.
  5. Run windeployqt.exe Tome.exe.
  6. Copy C:\Program Files (x86)\Qt\Tools\mingw530_32\opt\bin\libeay32.dll to the output directory (required for Google Sheets import).
  7. Copy C:\Program Files (x86)\Qt\Tools\mingw530_32\opt\bin\ssleay32.dll to the output directory (required for Google Sheets import).

Tome Issue Reporter for Windows

  1. Open a command prompt.
  2. Call C:\Program Files (x86)\Qt\5.8\mingw53_32\bin\qtenv2.bat to set up your environment variables.
  3. Correctly set GITHUB_USER and GITHUB_PASSWORD in config.h.
  4. Make a release build of TomeIssueReporter in QtCreator.
  5. Navigate to the output directory Bin\release\TomeIssueReporter.
  6. Run windeployqt.exe TomeIssueReporter.exe.
  7. Copy C:\Program Files (x86)\Qt\Tools\mingw530_32\opt\bin\libeay32.dll to the output directory (required for creating GitHub issues).
  8. Copy C:\Program Files (x86)\Qt\Tools\mingw530_32\opt\bin\ssleay32.dll to the output directory (required for creating GitHub issues).

Tome for Mac OS X

  1. Open a shell.
  2. Make a release build of Tome in QtCreator.
  3. Navigate to the output directory, e.g. build-Tome-Desktop_Qt_5_8_0_clang_64bit-Release.
  4. Run Qt/5.8/clang_64/bin/macdeployqt Tome.app -dmg.

Building API documentation

We are using Doxygen for documenting the API of Tome. You can generate the files and add them to QtCreator as follows:

  1. Run Doxygen for the Doxyfile in the repository root, e.g. by entering "C:\Program Files\doxygen\bin\doxygen.exe" Doxyfile.
  2. Run QHelpGenerator for the generated Qt Help Project file, e.g. by entering "C:\Program Files (x86)\Qt\5.8\mingw53_32\bin\qhelpgenerator.exe" Doc\Api\html\index.qhp.
  3. In QtCreator, add the generated file Doc\Api\html\index.qch to Tools > Options > Help > Documentation.

You should now be able to access the full API documentation

The most recent API documentation is also available at http://www.tome-editor.org/api/1.0/.

License

Tome is released under the GNU Lesser General Public License 3.0.