Tutorial:Config modification

This article is an unfinished work in progress or contains transferred information that needs to be rewritten or reformatted to fit our standards. Please excuse the mess and do not mark for deletion.

Config Modification is an important aspect of Modding the PC Game. The main hub of all the game's code is located in the Lego.cfg file. This file brings together all the important files and sorts them out and works out all the properties of all the entities in the game, the levels, the HUD, the sound effects...more or less everything.

Depending on the mod, there are many ways to go about making changes to the CFG file. The most important thing is to make sure no spelling errors are made, as the smallest of errors in the cfg can cause the game to crash. For this reason, it is always a good idea to make backups of this file as you are making changes (especially a backup of the Virgin cfg).

For a more detailed description of the cfg file's various parameters, see Config Documentation.

Modding The Config File

Different aspects of the game are sorted into different sections, including the game's Main properties, Interface, Sound, Stats/Entities, & Levels.

Tweaking the Main Properties

All of the game's major properties can be found under the first section of the cfg, under Main{}. This contains a variety of settings ranging from memory pools, to graphics settings, to basic interface and text settings. In terms of interface, this section designates the loading screen (along loading bar, text, etc.) as well as the intro images and video clips. Not all the parameters here are used and some of these can be activated/deactivated. For example, the DDI logo bitmap is enabled, however, since no AVI was used for the DDI logo, that parameter is disabled. The opposite is true for the intro videos.

Memory pool settings such as TextureUsage can affect a great many things within the game, and it is recommended that these not be altered without being particular careful, as they can cause problems if the pools are set to large or too small. Memory pools simply allocate how much memory is used for a specific aspect of the game. They exist so that the game's engine can run stably without freezing or crashing. The engine is rather old and outdated and can't take a whole lot of processed information at once, regardless of the user's computer specifications.

The other miscellaneous settings are fairly straight forward, including the settings for the in-game camera (speed, acceleration, displacement from center of rotation, etc.), basic sound/music/CD settings (activating the CD and designated the number of tracks used, etc.), graphics settings (render type, filtering, etc.), ambient colors, and randomly assorted interface images.

Interface Modification

The game's interface has many aspects to it that are dealt with throughout most of the cfg. The interface includes all settings regarding the game's appearance and some functionality. This includes the menu tree for the game (the various menu's, what they contain, how they are organized, associated confirmation messages, etc.), labels for many different types of entities and descriptive text blocks for some of those entities, as well as icons, panels, buttons, pop-ups, etc. Editing these values is fairly straightforward, however using different textures than the original game will require a bit more work as described in the Texture Modification tutorial (more or less making sure that all bitmap images are in the same, correct format).

It should be noted that text blocks cannot include spaces, and instead include underscores "_" which are translated into spaces in game. Many settings regarding color are in a RGB (Red-Green-Blue) color balance format separated usually by bars "|". All text that appears in the game, ranging from entity names, to message text can be modified in the cfg (text appearance/font is designated in texture files which are referenced in the cfg).

Sound Modification

Stats/Entity Modification

Level Organization/Modification