BROWSERS AND WINDOWS
All of the tools listed below are part of idStudio. Many are part of the main interface, while others only pop up when editing game content of an appropriate type. A few are set up to be invoked from the game itself, without requiring a full load of the entire suite of tools. Many of these are self-explanatory, but we covered a few of the big ones in more detail.
Editors |
Browsers |
Other Windows |
---|---|---|
AnimWeb Editor Articulated Figure Editor (AF Editor) Attachment Editor EntityDef Editor Entity Inspector Environment Editor Job Editor (Job List Editor) Model Editor (Animation Editor) Particle Editor Sound Editor Surface Editor State Editor Table Editor Mega Editor Text Editor TypeInfoGrid Editor Voice Over Editor Voice Track Editor World Editor |
Animation Browser Foliage Browser (Foliage) GroupsBrowser MaterialBrowser (Material List) MediaBrowser ModelBrowser PropBrowser Stamp Browser (Stamps) StringBrowser Tile Browser (Terrain Tiles) Voice Over Browser |
ConsoleWindow (Console) EngineView Light Inspector (Light Editor) Material Inspector PreviewWindow Surface Inspector WorldCamera |
Integration of Tool Windows
Most of the tools windows are integrated with each other, such that changes in one tool are automatically propagated to, reported, manipulated, or visualized in other windows. For example, the MediaBrowser can be used to select a ParticleSystem to open in either the PreviewWindow or in the ParticleEditor through a ContextMenu selection. From the ParticleEditor, the ParticleSystem can then be dropped into a GameMap running in the EngineView, for preview and adjustment in-game. The ConsoleWindow will display various engine messages emitted during the process, such as the generation of BinaryImages required to display the effect.
Similarly, an Entity can be Selected in one tool, such as the GroupBrowser, and will then show up as Selected in other windows. You can then move the Selection through either the WorldCamera or the WorldEditor, or you can edit its properties using EntityDefEditor.
Choosing an Editor
Most data in idTech 5 is stored in plain-text files, so you often have multiple ways to access and edit the data. No matter which editor is used, the data is read from and stored in the same text file, though you may need to reload that data type for the change to register in idStudio. Using the SoundSystem as an example:
* TextEditor: Allows you to edit data files in-the-raw. You will usually only want to use this for data that does not have specialized editors, or is too new to have made it into a specialized editor. Data types that support inheritance are not easy to edit, as each text file only holds data that differs from its parent. The text editor supports syntax highlighting, auto-complete, and other helpers, which are especially useful for editing Script. One use of the TextEditor might be to delete obsolete variables, if the engine does not do so for you.
* EntityInspector: A generic grid editor that not only makes data entry safer (input methods specialized for each type of data), but also allows you to easily work with inherited values of data types. If you change a parameter value that was inherited from a parent, a new entry for that parameter will be stored in the text file being edited. The fields for this editor are auto-generated from source code markup, so new variables should be available for editing as soon as a new build is up.
* SoundEditor: Specialized editors such as this present the data in a manner ideally suited for it, and often include extra tools (like the %MENU{Switch to Engine}% button). Under the hood, they work pretty much like the EntityInspector. One potential issue is that it may take time for bleeding-edge parameters to make it into the editor (the GUI needs to be designed and code written), whereas they will show up automatically in the EntityInspector if they are flagged as editable in code (using the SpecialTypeSpecifiers ==__edit== or ==__def==).
* In-House Tool: The text-based formats make it easier for you to use or create your own tools. For example, you might use a script to check out all files of a particular data type, searching for and removing (or replacing) obsolete parameters, saving the effort of having to open and edit every file by hand.