Basic Concepts and Recommended Applications

From Battletech Modding Wiki
Jump to: navigation, search

Welcome to the wiki! If you're here reading this, you're likely trying to get started -- and that's great! However, there are a few things we should go over to make sure you're on the same 'page' as most of the wiki. It expects you to have at least some general knowledge of editing and very basic programming skills. We'll begin with some basic concepts you'll encounter throughout the wiki.

File Types

You'll see a number of different file types mentioned through out the wiki, .Json, .Png, .Bnk & .csv are the most common, but as time goes on that may expand. Below you'll find a little information on each of these file types.


JSON, or JavaScript Object Notation, is a 'human readable' file that contains information on an object that would be stored in a 'class' within an application. 'Human readable' means that you can open it in a text file and read it, while programs that make use of it see it as a container that stores values and definitions. One big thing to remember, however, is that the punctuation and formatting characters you see in the files are important! If you want more information on JSON files, you can find it here. We recommend Notepad++ for editing.


These are image files that are either 24 or 32 bit and allow for storage of multiple channels. These channels are R,G,B, and A -- or Red, Green, Blue and Alpha Transparency. This is the core format used for images when it comes to icons in the game. Paint, Photoshop, GIMP, etc all support it.


The .BNK files store music and sound, and are 'Sound Bank' files (hence the extension, .bnk). You can find a lot more information on these files in the tutorial about them.


CSV files are Comma Separated Value spreadsheets, which we use as a core manifest file. It can be opened in a Text editor or in Excel. We recommend CSVed or Notepad++ for editing.

Variable Types

On a lot of the file format documentation you will see things like "Variable" :- INT or "Variable":- Bool. These are basic data types common to all programming languages. Here's a quick introduction:


Float is a floating point number. We also tend to use it for doubles. It can be a number - or +, and multiple decimal places (e.g. 1.41 is a float, as is 0.31, -1.41 etc.).


Int's, or Integers, are WHOLE numbers. They do not have decimal values but may be positive or negative (e.g. 1, 4, 2, -1, -5 etc. are all INT).


String is text; however, it is important to note that a string is always inside quotation marks -- e.g. "This is a String". Without the quotation marks, the system doesn't know how to deal with the text.


Bool, or Boolean, is a simple true/false value. It can only ever have these two states.

Recommended Applications

Database browser for SQLite - This is a handy application for opening the database when you need to.

Notepad++ - Notepad ++ is an amazing Text editor and really what most of us WISH Notepad in Windows was. We recommend it for editing the .json and any other text file.

Microsoft Visual Studio - If you're looking at really getting into programming and making your own shortcuts to doing things, Visual Studio is where you'll want to go. It's not likely going to be used much on here, but if you want to program on Windows, the Community edition is your go-to place for hobbyist needs. It even comes with UNITY3D now, the very engine Battletech uses.

CSVed - This is a way to make the VersionManifest.csv file human readable and easily navigated. While Notepad++ can handle the file, CSVed is designed to make them easy to read and edit.

Battletech Mod Loader and [1] - Tools for creating and loading Battletech Mods in a standard, fairly simple manner.