General.reld

From OHRRPGCE-Wiki
Jump to navigationJump to 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).
    • edit_time float - number of seconds that the game has been edited (excluding time spent idle) (This is a WIP feature)
    • created float - timestamp when the game was created, as a FB timeserial - only if it was created since Fufluns (This is a WIP feature)
      • str string - timestamp formatted as a string for human consumption, format "yyyy mmm dd hh:mm"
    • last_saved float - timestamp when the game was last saved, as a FB timeserial (This is a WIP feature)
      • str string - timestamp formatted as a string for human consumption, format "yyyy mmm dd hh:mm"
    • 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 - parent node for touch textbox options (on older versions the presence or absence of this node toggled the option)
        • enabled bool - defaults to True
    • 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, documented by the User-Interface Colors article.
          • 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
      • savename string - if present and not zero-length, gives the name to use for the .saves directory (not including the .saves extension). (Defaults to the basename of the .rpg file.) For example, wander means use wander.saves/. (Also used for fallback location if the current directory is unwritable instead of prefsdir.) (This is a WIP feature)
    • elementals - parent node for data affecting elemental behavior
      • 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)
    • mouse - parent node for options related to mouse and touch preferences (This is a WIP feature)
      • show_cursor bool - Enables the display of the mouse cursor, even when in full-screen mode. (can still be overridden by plotscripting) Defaults to False
      • move_hero bool - Enables or disables the feature to move the hero and activate NPCs by clicking on the map. Defaults to False
        • max_path_length int - The maximum number of tiles that the hero can walk when pathfinding, or zero for no limit. Defaults to 0.
        • display_dest bool - Whether to show a visual indicator of the hero's destination. Defaults to False
        • cancel_on_battle bool - Whether hero pathfinding should be cancelled after battles. Defaults to True
        • cancel_on_textbox bool - Whether hero pathfinding should be cancelled when a textbox displays. Defaults to True
        • cancel_on_menu bool - Whether hero pathfinding should be cancelled when a menu displays. Defaults to True
      • menu_right_click bool - Whether right-clicking should open the main menu. Defaults to False
      • mouse_menus bool - Whether mouse support should be enabled in menus
      • mouse_battles bool - Whether mouse support should be enabled in the battle system
      • click_textboxes bool - Whether to advance textboxes when you click