General.reld

From OHRRPGCE-Wiki
Jump to: navigation, search

The general.reld lump is a RELOAD document that contains misc data about an rpg file. It is a modern and more easy-to-extend companion to the GEN lump.

  • general_data - root node
    • prev_editor_versions - contains a history of all editor_version nodes from older versions that this rpg file has been edited with.
    • editor_version string - contains information about the version of the editor that was most recently used to edit this rpg file. The string value is the name of the program, normally OHRRPGCE but could be something else for third-party editors that manipulate rpg files.
      • long_version string - The full name of the editor version, for example "OHRRPGCE wip 20130411.5775 gfx_sdl+fb/music_sdl FreeBASIC 0.24.0 (08-19-2012) -g -exx Linux"
      • branch_name string - the short codename for a stable release, such as "beelzebufo" or "wip" for non-stable releases.
      • build_date string - the date the editor was compiled in the format YYYYMMDD
      • revision int - the svn revision, if available (otherwise omitted)
      • branch_revision int - the svn revision at which this release was branched, if on the "wip" branch then this is equal to revision if available (otherwise omitted)
    • automatic_upgrader_version - The same format as editor_version except that it stores the newest (NOT the last) version of Game which has upgraded this game, if any. This currently only happens when playing .rpgdirs in-place (not making a copy).
    • mobile_options - parent node for options that apply only to mobile devices (currently only Android)
      • disable_virtual_gamepad - If this node is present, the virtual gamepad is completely disabled (for purely mouse-driven games like Slimes or Vocabmosaic)
      • hide_virtual_gamepad_when_suspendplayer bool - If this node is true, the virtual gamepad will be hidden while the "suspendplayer" command is active (unless a menu or a non-touch textbox is open). If this node is missing it will default to false
      • virtual_gamepad - parent node for virtual gamepad button mapping
        • button int - zero to 6 button nodes. The integer value is an SDL scancode number. The order of the nodes is significant. Default is two button nodes with the scancodes for ENTER and ESC
      • virtual_gamepad_battle - parent node for virtual gamepad button mapping in battle mode.
        • button int - zero to 6 button nodes. The integer value is an SDL scancode number. The order of the nodes is significant. Default is two button nodes with the scancodes for ENTER and ESC
      • touch_textboxes - if this node is present, the virtual gamepad will vanish when text boxes appear. Touch the textbox to advance.
    • console_options - parent node for options that only apply to console devices (OUYA, GameStick, Fire-TV)
      • safe_margin int - default TV safe zone margin (if not overridden by the player). The value is an integer representing the percentage size of the margin. The valid range is 0 to 10. If this node is missing, use the default of 8.
    • gamepad - parent node for button mapping for Gamepads (Currently only implemented for Android Consoles) If a child node is missing or zero, the default will be used. The scancodes are stored as OHR scancode numbers, and it is up to the engine to convert them into backend-specific scancodes.
      • A int - OHR scancode number (default ENTER) this button is "O" on OUYA
      • B int - OHR scancode number (default ESC) this button is "A" on OUYA
      • X int - OHR scancode number (default ESC) this button is "U" on OUYA
      • Y int - OHR scancode number (default ESC) this button is "Y" on OUYA
      • L1 int - OHR scancode number (default PageUp)
      • L2 int - OHR scancode number (default Home)
      • R1 int - OHR scancode number (default PageDown)
      • R2 int - OHR scancode number (default End)
    • multiplayer_gamepads - parent node for mapping additional gamepads for players 2, 3, 4 in a multiplayer game. Currently only supported on OUYA.
      • player int - parent node for mapping additional multiplayer gamepads. integer value is the player number 1-3 (0 is the first player, and should be mapped in the gamepad node)
        • Child nodes are the same as the child nodes for gamepad with the following additions:
        • UP int - OHR scancode number for the DPAD up arrow
        • RIGHT int - OHR scancode number for the DPAD right arrow
        • DOWN int - OHR scancode number for the DPAD down arrow
        • LEFT int - OHR scancode number for the DPAD left arrow
    • buttonnames - parent node for platform-specific button name text codes.
      • code int - zero or more nodes. the value is the id code id number
        • keyboard string - default string value for this code on Mac/Windows/Linux/Android and anything that doesn't fit into another more specific category
        • touchscreen string - if this node is present it contains the string used if the platform is mobile touch screen (any non-console Android)
        • console string - if this node is present it contains the string used if the platform is a non-ouya Android console (A/B/X/Y buttons)
        • ouya string - if this node is present it contains the string used if the platform is ouya. (O/A/U/Y buttons)
    • uicolors - parent node for colors.
      • forpalette int - There will be a separate set of UI colors for each master palette. the integer value is the master palette number. At a minimum, the node for master palette 0 should be present. When this node is missing, it will be created from the old UICOLORS.BIN lump
        • uilook int - parent node for each color. integer is the color number and corresponds to the colors numbers in uiconst.bi (some of which are documented at UICOLORS.BIN). See also User-Interface Colors which describes each possible colour.
          • col int - color index in the master palette
        • boxlook int - parent node for box styles. Integer is the style number. See also Box Styles which describes the special uses of each box style.
          • bgcol int - background color
          • edgecol int - box edge color (often covered up by the border sprite)
          • border int - border sprite set number. If node is not present, there is no sprite border
    • saved_games - parent node for save game options
      • sprite_layer - if exists, the sprite layer, aka script layer slice tree should be saved in RSAV
      • strings - if exists, strings/"plotstrings" are saved to and loaded from RSAV
    • elementals - parent node for data affecting elemental behavior (This is a WIP feature)
      • element int - one numbered node for each elemental
        • non_elemental int - 0 or 1. If this is 1, then this elemental bit on an attack will not prevent "spawn on non-elemental" from being triggered. Should be defaulted to 0 if not found, except that old games being upgraded from rpg version 14 or older will default to 1 for elementals 8-15 (type-killer elements)