Main.ini (Config pack)
main.ini - General config pack settings. Provides the main settings of the configuration package and its identification.
Basic settings of this configuration pack
| [ main ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
Description | |||
| config_name | string | config_name = "Raocow Talkhaus" | The full name of configuration pack |
| config_desc | string | config_desc = "Config pack with stuff made by Raocow's Talkhaus team" | Additional description about this configuration package |
| config-pack-id | string | config-pack-id = "A2XT-MOONDUST" | The unique config pack maker for level and world map files, saved by Editor with using of this configuration package. This feature allows to manage the compatibility of levels and episodes made for different and incompatible configuration packages and reduce confusion of users. |
| target-engine-name | string | target-engine-name = "Non-Boring Demo Adventures" | The human-readable name of a game or engine for which files made with this config pack were targeted. |
| home-page | string | home-page = "http://wohlsoft.ru" | A homepage URL for your project. |
Compatibility control | |||
| api-version | integer | api-version = "42" | An API version for config pack. If API version is higher than Editor or Engine has, the warning message box will be shown during to the startup. |
| enable-version-notify | boolean | enable-version-notify = true | Enable the compatibility warning when running Editor or Engine with an incompatible or outdated configuration package. |
| pge-editor-version | string | pge-editor-version = "0.3.14" | [DEPRECATED]Target Editor version. If Editor version doesn't match to this, the warning message box will be shown. |
| pge-engine-version | string | pge-engine-version = "0.3.1" | [DEPRECATED]Target Engine version. If Moondust Engine version doesn't match to this, the warning message box will be shown during the startup. |
Global resource paths | |||
| application-dir | [0,1] | application-dir = 0 | Use an application root instead of the data sub folder for the resources search. Use this flag to build the integrational configuration package. |
| application-path | string | application-path = "/usr/local/games/pge_default/" | Definition of an absolute path to data directory. Will work if the 'application-dir' option will be set to 1. |
| application-path-configured | boolean | application-path-configured = true | [DEPRECATED SINCE API VERSION 42] (Integrational config pack only) The configure state of the config pack. If value set to "false" or undefined, the configure.js script will be ran on every Editor startup if presented. |
| worlds | string | worlds = "Raocow Games" | A directory name for the default episodes store. If it's undefined, the generic 'worlds' directory name will be used. |
| music | string | music = "music" | A directory name for the music resource directory. The default location is the 'data' sub-directory. |
| sound | string | sound = "sound" | A directory name for the sound effects resource directory. The default location is the 'data' sub-directory. |
| graphics-level | string | graphics-level = "graphics/level" | A directory name or a sub-path for the level graphics resources directory. |
| graphics-worldmap | string | graphics-worldmap = "graphics/worldmap" | A directory name or a sub-path for the world map graphics resources directory. |
| graphics-characters | string | graphics-characters = "graphics/characters" | A directory name or a sub-path for the playable characters resources directory. |
| graphics-common | string | graphics-common = "graphics/common" | A directory name or a sub-path for a common engine graphics resources. |
| custom-data | string | custom-data = "data-custom" | [reserved field] Additional environment directory for extra resources store. |
Testing engines support | |||
| default-engine-type | Enum: * moondust * lunatester * thextech * smbx38a |
default-engine-type = moondust | Specify the default runtime engine for level and world map testing with the Editor. Supported values: |
| hide-non-default-engines | [0,1] | hide-non-default-engines = 1 | Disable the ability to use any but default runtime engine and hide the ability to run testing through any other runtime engine. |
LunaTester | |||
| smbx-compatible | [0,1] | smbx-compatible = 1 | [reserved flag] This option will disable the use of non-SMBX features for games created with this config.
This will allow saved level files, etc. to be compatible with SMBX 1.3 If you set this option to 0, you can read SMBX files, but you will lose data if you try to save in SMBX format, and you will get rendering bugs if you try to open the file in SMBX |
| smbx-exe-name | string | smbx-exe-name = "smbx.exe" | A name for SMBX Windows executable, needed for a LunaTester work to automatically determinite the executable for test running. |
Some settings of the editing process and graphics setup
| [ graphics ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| default-grid | >=0 | default-grid = 32 | Default global alignment grid size. You can define any grid size for your game. |
Default file formats for untitled files
| [ file-formats ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| level | Enum: * smbx64 * pgex * smbx38a |
level = pgex | Specify the default format for level files: smbx64 is the SMBX 1.3 compatible level file; pgex is the own PGE format which supports all available features of PGE Project; smbx38a is a SMBX-38A compatible level file format. |
| world | Enum: * smbx64 * pgex * smbx38a |
world = pgex | Specify the default format for world map files: smbx64 is the SMBX 1.3 compatible world map file; pgex is the own PGE format which supports all available features of PGE Project; smbx38a is a SMBX-38A compatible world map file format. |
List of available playable characters in game (DEPRECATED, use lvl_characters.ini instead)
| [ characters ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| characters | >0 | characters = 5 | Total number of available playable characters |
| character*-name | string | character*-name = "Raocow" | Name of character selected number (instead of * write the character ID [1...total characters]). You should define all allocated character names! |
Global editor GUI settings
| [ gui ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| editor-icon | string | editor-icon = "icon_small.png" | Icon of the configuration package which will be shown in the config selection dialog in the Editor. |
| engine-icon | string | engine-icon = "icon_small.png" | Icon of the configuration package which will be shown in the config selection screen in the Engine. |
| editor-splash | string | editor-splash = "graphics/common/editor_splash.png" | Default editor splash of this configuration package |
| default-theme | string | default-theme = "Raocow Style" | Folder name of theme which will be used as default |
| animations | >=0 | animations = 3 | Number of additional animated images which will be drawn over splash logo |
Define of one of splash animation with number from 1 to total number of animations
| [ splash-animation-* ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| image | string | image = "graphics/common/coin.png" | Path to image which will be shown on the splash logo |
| frames | >=1 | frames = 4 | Number of animation frames. If not defined or 1 - image will be shown as static image |
| speed | >=1 | speed = 78 | Delay between frames (in ms). Default 128 ms. |
| x | >=0 | x = 416 | Horizontal position of image relative to left-top corner of splash |
| y | >=0 | y = 242 | Vertical position of image relative to left-top corner of splash |
Define initial dock widgets visibility in the Editor (applying on the first Editor run) (Added since May 26, 2018)
| [ widgets-default-visibility ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| lvl-itembox | 0, 1, true, false | lvl-itembox = true | Initial visibility of Level ItemBox |
| lvl-itembox-enforce-default | 0, 1, true, false | lvl-itembox-enforce-default = false | Enforce default visibility on startup of Level ItemBox |
| lvl-section-props | 0, 1, true, false | lvl-section-props = true | Initial visibility of Level Section Properties |
| lvl-section-props-enforce-default | 0, 1, true, false | lvl-section-props-enforce-default = false | Enforce default visibility on startup of Level Section Properties |
| lvl-warp-props | 0, 1, true, false | lvl-warp-props = true | Initial visibility of Level Warps and Doors |
| lvl-warp-props-enforce-default | 0, 1, true, false | lvl-warp-props-enforce-default = false | Enforce default visibility on startup of Level Warps and Doors |
| lvl-layers | 0, 1, true, false | lvl-layers = true | Initial visibility of Level Layers box |
| lvl-layers-enforce-default | 0, 1, true, false | lvl-layers-enforce-default = false | Enforce default visibility on startup of Level Layers box |
| lvl-events | 0, 1, true, false | lvl-events = true | Initial visibility of Level Classic Events box |
| lvl-events-enforce-default | 0, 1, true, false | lvl-events-enforce-default = false | Enforce default visibility on startup of Level Classic Events box |
| lvl-search | 0, 1, true, false | lvl-search = true | Initial visibility of Level Item Search box |
| lvl-search-enforce-default | 0, 1, true, false | lvl-search-enforce-default = false | Enforce default visibility on startup of Level Item Search box |
| wld-itembox | 0, 1, true, false | wld-itembox = true | Initial visibility of World map ItemBox |
| wld-itembox-enforce-default | 0, 1, true, false | wld-itembox-enforce-default = false | Enforce default visibility on startup of World map ItemBox |
| wld-settings | 0, 1, true, false | wld-settings = true | Initial visibility of World map Settings |
| wld-settings-enforce-default | 0, 1, true, false | wld-settings-enforce-default = false | Enforce default visibility on startup of World map Settings |
| wld-search | 0, 1, true, false | wld-search = true | Initial visibility of World map Item Search box |
| wld-search-enforce-default | 0, 1, true, false | wld-search-enforce-default = false | Enforce default visibility on startup of World map Item Search box |
| tilesets-box | 0, 1, true, false | tilesets-box = true | Initial visibility of Tilesets ItemBox |
| tilesets-box-enforce-default | 0, 1, true, false | tilesets-box-enforce-default = false | Enforce default visibility on startup of Tilesets ItemBox |
| debugger-box | 0, 1, true, false | debugger-box = true | Initial visibility of Debugger box |
| debugger-box-enforce-default | 0, 1, true, false | debugger-box-enforce-default = false | Enforce default visibility on startup of Debugger box |
| bookmarks-box | 0, 1, true, false | bookmarks-box = true | Initial visibility of Bookmarks box |
| bookmarks-box-enforce-default | 0, 1, true, false | bookmarks-box-enforce-default = false | Enforce default visibility on startup of Bookmarks box |
| variables-box | 0, 1, true, false | variables-box = true | Initial visibility of Variables box |
| variables-box-enforce-default | 0, 1, true, false | variables-box-enforce-default = false | Enforce default visibility on startup of Variables box |
Definition of initial state of toolboxes such as position, size, and the docking state (Supported since January 17, 2021)
| [ widgets-default-state ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
Sub-fields: (Every toolbox has the next set of parameters you can define) | |||
| *-dock | Enum: * floating * docked-left * docked-right * docked-bottom |
*-dock = floating | Set the dock state: attach the toolbox to the side of the main window or keep it floating. |
| *-x | Integer | *-x = 0 | Set the initial relative X position to the edge of the main window. Set the 0 to don't change the embedded default position. Positive value is the relative to left edge of the main window. Negative value the relative offset to the right edge of the main window. |
| *-y | Integer | *-y = 0 | Set the initial relative Y position to the edge of the main window. Set the 0 to don't change the embedded default position. Positive value is the relative to top edge of the main window. Negative value the relative offset to the bottom edge of the main window. |
| *-width | Integer | *-width = -1 | Set the initial width of a toolbox. Less than zero (-1) - don't change the embedded default size, or positive value to specify the width value. |
| *-height | Integer | *-height = -1 | Set the initial height of a toolbox. Less than zero (-1) - don't change the embedded default size, or positive value to specify the width value. |
Toolboxes: | |||
| level-item-browser-* | * | level-item-browser-* = * | Level Items Browser (or Search Browser). |
| level-warps-box-* | * | level-warps-box-* = * | Warps and doors toolbox. |
| level-item-properties-* | * | level-item-properties-* = * | Item properties toolbox. |
| level-search-box-* | * | level-search-box-* = * | Level Item Search box. |
| level-classic-events-box-* | * | level-classic-events-box-* = * | Classic Events toolbox. |
| level-layers-box-* | * | level-layers-box-* = * | Layers toolbox. |
| level-section-properties-* | * | level-section-properties-* = * | Section settings toolbox. |
| world-item-browser-* | * | world-item-browser-* = * | World map Items Browser. |
| world-music-boxes-* | * | world-music-boxes-* = * | World map Music Boxes toolbox. |
| world-item-properties-* | * | world-item-properties-* = * | World map Item properties toolbox. |
| world-settings-box-* | * | world-settings-box-* = * | World map settings toolbox. |
| world-search-box-* | * | world-search-box-* = * | World map Item Search box. |
| bookmarks-box-* | * | bookmarks-box-* = * | Position Bookmarks toolbox. |
| debugger-box-* | * | debugger-box-* = * | Debugger toolbox. |
| variables-box-* | * | variables-box-* = * | Variables toolbox (incompled and disabled for release builds). |
| tilesets-item-box-* | * | tilesets-item-box-* = * | Tilesets item box. |
Disable certain in-editor feature (Added since April 5, 2019)
| [ supported-features ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| level-section-vertical-wrap | active, inactive, hidden | level-section-vertical-wrap = active | Enable or Disable vertical wrap checkbox in Section Settings. |
| level-section-21-plus | active, inactive, hidden | level-section-21-plus = active | Enable or Disable ability to create and switch more than 21 section per level. |
| level-phys-ez-new-types | active, inactive, hidden | level-phys-ez-new-types = active | Enable or Disable new physical environment types. |
| level-bgo-z-layer | active, inactive, hidden | level-bgo-z-layer = active | Enable or Disable Z-Layer field for BGO. |
| level-bgo-z-position | active, inactive, hidden | level-bgo-z-position = active | Enable or Disable Z-Offset/Position field for BGO. |
| level-bgo-smbx64-sp | active, inactive, hidden | level-bgo-smbx64-sp = active | Enable or Disable SMBX64 Sorting Priority field for BGO. |
| level-warp-two-way | active, inactive, hidden | level-warp-two-way = active | Enable or Disable two-way warp checkbox. |
| level-warp-portal | active, inactive, hidden | level-warp-portal = active | Enable or Disable the portal warp type. |
| level-warp-bomb-exit | active, inactive, hidden | level-warp-bomb-exit = active | Enable or Disable bomb exit warp checkbox. |
| level-warp-allow-special-state-only | active, inactive, hidden | level-warp-allow-special-state-only = active | Enable or Disable the "allow the special state only" checkbox for a warp. |
| level-warp-hide-interlevel-scene | active, inactive, hidden | level-warp-hide-interlevel-scene = active | Enable or Disable hide inter-level scene when going another level by warp. |
| level-warp-allow-interlevel-npc | active, inactive, hidden | level-warp-allow-interlevel-npc = active | Enable or Disable allow inter-level NPC carrying for warp. |
| level-warp-hide-stars | active, inactive, hidden | level-warp-hide-stars = active | Enable or Disable hide star mark for warp. |
| level-warp-needed-stars-message | active, inactive, hidden | level-warp-needed-stars-message = active | Enable or Disable custom need stars message for warp. |
| level-warp-on-enter-event | active, inactive, hidden | level-warp-on-enter-event = active | Enable or Disable the on-enter event support at a warp. |
| level-warp-cannon-exit | active, inactive, hidden | level-warp-cannon-exit = active | Enable or Disable the cannon exit feature at the warp. |
| world-hawkmouth-exit | active, inactive, hidden | world-hawkmouth-exit = active | Enable or Disable the "hawkmoth" exit type at the warp. |
Definition of initial Editor setup (Supported since January 17, 2021)
| [ editor-defaults ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| enable-first-launch-greeting | true,false | enable-first-launch-greeting = true | Show the First Launch Greeting dialog on a first launch of the Editor. |
| enable-tip-of-the-day | true,false | enable-tip-of-the-day = true | Show the Tip of the day at startup. |
Extra compatibility features
| [ compatibility ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| extra-settings-local-at-root | [0,1] | extra-settings-local-at-root = 1 | Don't split extra settings by the local and global JSON branches, store all local extra settings values in the root JSON branch. |