All Projects → Electron-x → GbxDump

Electron-x / GbxDump

Licence: other
A Microsoft Windows application that displays the contents of the file header of *.Gbx files used by the Nadeo game engine GameBox.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to GbxDump

Python Altium
Altium schematic format documentation, SVG converter and TK viewer
Stars: ✭ 112 (+489.47%)
Mutual labels:  viewer, file-format
ManiaControl
The newly designed and easy to use ManiaPlanet Server Controller.
Stars: ✭ 26 (+36.84%)
Mutual labels:  trackmania, maniaplanet
UASECO-Maniaplanet
UASECO is a fork of the XAseco2/1.03 controller for Trackmania and has been overhauled to support the Modescript Gamemodes of Trackmania² in Maniaplanet and changes to run with PHP/7.x or newer. Only Modescript Gamemodes of Trackmania² are supported, there is no support included for the legacy Gamemodes of Trackmania².
Stars: ✭ 25 (+31.58%)
Mutual labels:  trackmania, maniaplanet
game-modes
Maniaplanet scripts and resources
Stars: ✭ 24 (+26.32%)
Mutual labels:  trackmania, maniaplanet
oculante
A minimalistic crossplatform image viewer written in rust
Stars: ✭ 169 (+789.47%)
Mutual labels:  viewer, dds
jhdf
A pure Java HDF5 library
Stars: ✭ 83 (+336.84%)
Mutual labels:  file-format
bpmn-visualization-js
A TypeScript library for visualizing process execution data on BPMN diagrams
Stars: ✭ 113 (+494.74%)
Mutual labels:  viewer
albis
Albis: High-Performance File Format for Big Data Systems
Stars: ✭ 20 (+5.26%)
Mutual labels:  file-format
android-3d-model-viewer
Android app to load 3D models in obj, stl, dae & gltf format using pure OpenGL ES 2.0. Published on Play Store https://play.google.com/store/apps/details?id=org.andresoviedo.dddmodel2
Stars: ✭ 150 (+689.47%)
Mutual labels:  viewer
paper-terminal
Print Markdown to a paper in your terminal
Stars: ✭ 33 (+73.68%)
Mutual labels:  viewer
CTR-tools
Crash Team Racing (PS1) tools - a C# framework by DCxDemo and a set of tools to parse files found in the original kart racing game by Naughty Dog.
Stars: ✭ 93 (+389.47%)
Mutual labels:  viewer
PdfViewerDemo
pdf阅读器,基于MuPDF开发,可横竖切换浏览、多种批注功能、电子签章
Stars: ✭ 103 (+442.11%)
Mutual labels:  viewer
ACViewer
Viewer / Utility for DAT files for the game Asheron's Call
Stars: ✭ 19 (+0%)
Mutual labels:  viewer
react-imageViewer
React component for image displaying in full screen
Stars: ✭ 61 (+221.05%)
Mutual labels:  viewer
Msiler
CIL (MSIL) Code Viewer Extension for Visual Studio 2017
Stars: ✭ 25 (+31.58%)
Mutual labels:  viewer
vscode-ibmi-languages
Syntax highlighting for IBM i languages such as RPG, CL, DDS, MI, and RPGLE fixed/free.
Stars: ✭ 28 (+47.37%)
Mutual labels:  dds
ReClassicfication
Maybe one day a WINE-style implementation of the classic Mac Toolbox.
Stars: ✭ 29 (+52.63%)
Mutual labels:  file-format
instagram json viewer
Transforms Instagram's *.json / backup data - that you get via the Data Download Tool - to a readable format!
Stars: ✭ 41 (+115.79%)
Mutual labels:  viewer
eXpansion
eXpand your Manialive server controller to the new hights
Stars: ✭ 19 (+0%)
Mutual labels:  maniaplanet
coco-viewer
Simple COCO Viewer in Tkinter
Stars: ✭ 65 (+242.11%)
Mutual labels:  viewer

GbxDump

GBX file header viewer application

GbxDump is a little Windows application that displays the contents of the file header of mainly maps, challenges, replays, packs, blocks, objects and items used by the Nadeo game engine GameBox (.gbx files). The tool is also able to display the file header of DirectDraw Surface files (.dds files).

Main features:

  • Displays general track properties
  • Displays external dependencies
  • Displays the author comment
  • Shows and exports the thumbnail
  • Online interface to the TMX and MX trackbase
  • Online interface to the Dedimania records database

Screenshot of GbxDump

After installation the context menu of .gbx files has an additional entry GbxDump. Using this command you can view into this .gbx file. You can also run the tool from the Start menu and open any .gbx file within the program (Start » Programs » Gbx File Dumper). Nevertheless, the easiest way is to use drag-and-drop from Microsoft Windows Explorer. Then several files can immediately be analyzed at once.

GbxDump shows lot of technical data (like block identifiers and sizes) to support all types of .gbx files and to detect future changes of the file format. But the provided information can still be very useful for map builders, title producers, server admins and normal players.

For example:

  • All map properties are indicated together at one place using only two mouse clicks.
  • Links to external dependencies could be easily tested by copy'n'paste them into a browser.
  • The dependence between maps to titles can be checked (via title ID).
  • The lightmap cache hash is useful to discover the lightmap file in the cache folder.
  • The T/MX map ID, the numbers of awards and records could be retrieved from T/MX or Dedimania.
  • The thumbnail of (macro-) blocks, objects and items supplies a good indication of the file content.
  • The used texture compression of a .dds file could discover an incompatibility with DirectX9.

The tool was originally used to examine the .gbx and .pak file formats. Both formats have been well documented by several members of the Trackmania community in the Mania Tech Wiki. The file parsers of GbxDump are almost completely based on the information of this wiki.

Status of the project

The development of the application is basically finished. It is not intended to add many new functionalities or to change the structure of the source code significantly. However, the project will continue to be maintained. For example, there will be updates when changes to the header of .gbx files become known.

For a long time, the to-do list contained the further structuring of the gbx reader using C++ classes. Due to a lack of OOP practice, however, this has not yet been achieved. For this reason, only a size limited static table is used to store the names for identifiers. But this limitation is not a problem for processing the data in the file header. For some chunks in the file body, however, larger lists are required.

The application displays all known information from the file header and the contents of the reference table. It was never planned to display content from the body of gbx files.
The main reason for this was the formerly proprietary license of GbxDump. It was not compatible with the LZO library, which is necessary to decompress the file body. In addition, complete information about the structure of the complex MediaTracker block, which is required for proper data parsing, is still missing. Furthermore, the file body may contain information that is not intended for the public.

Building the project

This is a generic C/C++ Win32 desktop project created with Microsoft Visual Studio. The workspace consists of the main project GbxDump, the subprojects libjpeg with the Independent JPEG Group's JPEG software and crnlib with the Advanced DXTn texture compression library as well as two setup projects for 32 and 64 bit.
This repository contains two VC++ project files for Visual Studio 2005 and Visual Studio 2017. VS2005 requires the Microsoft Windows SDK 7.1 and VS2017 requires the Windows XP platform toolset.
The project file for Visual Studio 2017 includes the decoder libraries libwebpdecoder.lib and libwebpdecoder_debug.lib from the WebP Codec. These must be created separately. For details, see the libwebp/doc folder.

To create the project with versions between VS2005 and VS2017, please note the following points:

  • For all configurations, the Windows XP platform toolset Visual Studio 20xx - Windows XP (v1xx_xp) should be selected.

  • All manifest files that Visual Studio manages on its own must be removed from the project configurations. For example, starting with Visual Studio 2008, the reference to the file TrustInfo.manifest has to be removed and starting with Visual Studio 2010, the reference to the file DeclareDPIAware.manifest has to be removed, etc. The corresponding metadata must then be set in the project settings.

  • Starting with Visual Studio 2012, setup projects are no longer provided out-of-the-box. For each version, however, a corresponding extension is available for download in the Visual Studio Marketplace.

    The setup projects from the Marketplace are unfortunately not completely bug free. For example, the installation of the created MSI packages may fail under Windows XP and older. And after restarting the IDE, the setup project no longer recognizes the active configuration correctly. A workaround is to create the setup for each configuration one after the other. To do this, first change the configuration e.g. from Debug (Win32) to Release (Win32) and then reload the solution. Now you can create the setup for Release (Win32) (but not for other configurations). Then change the configuration to e.g. Release (x64) and reload the solution. Now you can create the setup for Release (x64), etc. In the Solution Explorer, the icon of the primary output indicates whether the configuration has been loaded correctly.

Contributing

The project was mainly published for reference purposes. However, contributions leading to better code are very welcome. New functionalities are only included if the ratio of costs (source code, external libraries, resources) to benefits is appropriate. More extensive changes require a new branch. See also the section Status of the project above.

Licenses

Copyright © 2010 - 2022 by Electron

Licensed under the European Union Public Licence (EUPL), Version 1.2 - see the Licence.txt file for details.

The WebP codec used in this software is released under the license of the WebM project. For details, see https://www.webmproject.org/license/software/ or the COPYING file in the libwebp directory.

The used Advanced DXTn texture compression library is in the public domain. Please see license.txt in the crunch directory.

This software is based in part on the work of the Independent JPEG Group.

Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].