What are the limits on various things?
From OHRRPGCE-Wiki
Many people ask about the various limits on different features. Here is a more-or-less complete list of all the limits on various things in an OHRRPGCE game.
Contents |
[edit] Graphics
All 16-color paletted graphics, including heroes, walkabouts, enemies of each size, weapons and attacks are limited to 32767 graphics sets. (See also What are the correct sizes for each type of graphics?)
- Walkabouts may have 8 frames: 2 in each direction
- Hero sprites have 8 frames: Standing/Walk Frame A, Walk Frame B, Attack A, Attack B, Cast/Use Item, Defend, Hurt, Dead
- Enemy sprites all have 1 frame
- Weapons have 2 frames
- Attacks have 3 frames animated any number of ways
See also: Plan for raising sprite frame limits
[edit] Backdrops
You can have up to 32767 backdrops (battle & textbox backgrounds)
[edit] Palettes
You can have up to 32767 master palettes, only one of which can be used at once. Each master palette contains 256 colours from the usual 24-bit RGB colour-space. It can also be modified in-game. You can have 32767 16-color palettes, with colours chosen from the active master palette.
[edit] Maps
Starting with release rusalka, you can have up to 32767 maps. In version quaternion and older, the limit was 100 maps. This limit was raised thanks to the efforts of The Mad Cacti.
Map width and height must multiply together to a number less than or equal to 32000. for example, 200*100 = 20000, is okay, but 170*200 = 34000, is not allowed.
Each map can have three layers, numbered 0 to 2. The top layer (#2) is drawn on top of the hero and NPC sprites.
[edit] Tilesets
You can have up to 32767 tilesets. Each layer of a map can optionally use a different tileset. (You can change tilesets with plotscripting using the 'load tileset' command.)
[edit] Songs
You can have up to 32767 songs, which can be any of BAMs, MIDIs, OGGs, WAVs, or various Module formats. Previously, you could have up to 100 BAM songs. See: BAM
[edit] Sound Effects
You can have up to 32767 sound effects. They are in OGG format, but you can also import WAV and MP3 files and they will be converted.
[edit] Heroes
You can have 4 heroes in your active party at a time. You can have 41 heroes at a time total, including both active and reserve heroes. You can have 60 heroes defined in your whole game. Each hero you create in CUSTOM.EXE may appear in the party any number of times (that is, up to 41). All of these limits were imposed by memory limits in the old DOS version, and persist for historical reasons.
[edit] NPCs
There is a maximum of 36 100 NPCs defined per map, although you can place more than one copy of the same NPC in different places on the map. There is a maximum of 300 total NPC "instances" per map. These are historical limitations left over from the DOS version.
See also: Plan for raising NPC-per-map limits
[edit] Doors
There is a maximum of 100 doors per map. However, you can have up to 200 door links leading away from a map, with any number per door. This is so that the same door can lead to different places depending on conditionals.
[edit] Attacks
You can define up to 32767 attacks.
[edit] Enemies
You can define up to 32767 enemies.
[edit] Enemy Formations
You can combine your enemies into up to 32767 formations.
[edit] Enemy Formation Sets
You can combine your formations into up to 255 formation sets. This limitation is because the formation set number has to be stored in 8-bits of data.
[edit] Items
Starting with version ypsiliform the limit is 32000 items.
There are 600 slots in your inventory (up to 600 types of items in your inventory at a time) This is a limit imposed by the SAV format, and it will be raised further in the future.
You can have up to 99 instances of each of those items in each slot of your inventory. That is just a screen-space limit, plus it is longstanding RPG tradition. If you gain more than 99 of an item, the next 99 will fill another slot in the items menu, and so on.
See also: Plan for increasing item limit
[edit] Tags
There are 1000 tags. (tags 0 and 1 are special, 2-999 are customizable) This is a file format and backwards compatability limitation.
See also: Plan for increasing available tags
[edit] One-time usable NPCs
You can have up to 1000 one-time usable NPCs. Internally, one-time NPCs are actually stored the same way as tags.
See also: Plan for increasing available tags
[edit] Scripts
Your game can contain more than 16383 scripts. The script interpreter can handle up to 128 scripts at a time, with up to 2048 local variables in total (including recursive scripts). The maximum size of a single compiled script is 256KB (which is a few times more than all the scripts in Wandering Hamster put together), besides this there is no script buffer limit.
You can have up to 4096 global script variables (numbered 0 to 4095) and 32 strings (numbered 0 to 31). Global and local variables are signed 32-bit integers, which means they can take values from -2147483648 to 2147483647. (Before Ubersetzung they were 16-bit, limited to -32768 to 32767). There is no limit on the length of a string (before Ubersetzung, it was 40 characters)
[edit] Script strings
You can use 32 different plot strings at a time, numbered from 0 to 31, although you can use the Create text command to display more than 32 strings at a time. There is also a plan for allowing an unlimited number of strings, and to make them behave more like strings behave in a full-fledged programming language.
[edit] Script timers
You can use 16 different plot timers at a time, numbered 0 to 15
[edit] Text boxes
You can have up to 32767 text boxes.
[edit] Shops
You can have up to 100 shops defined (numbered 0-99) (save format limitation), and each shop can contain up to 50 items/heroes (file format limitation)
[edit] Spells
Each hero can have up to 4 spell lists, each containing up to 24 spells.
[edit] Vehicles
You can define up to 32767 vehicle types, but the number of vehicles you can actually place is limited by the number of NPCs per map.
[edit] Money
The maximum amount of money the party can carry is 2000000000. This is the largest neatly rounded number that can fit in a signed 32 bit number. (2147483648 is the real largest 32-bit number, but 2 billion seemed cleaner)