I've been working on removing limits meanwhile, and I've met following problem.
At the moment the number of room hotspots/regions/walkable areas and walkbehinds (I'll call them simply "regions") is constant. User may set name and properties / write event handlers for them even if they are not yet drawn (and even if they never will be).
Interesting thing is, that this opens unusual possibility to have "hidden" (unpainted) regions and still call their interactions with script (e.g. hotspot[20].RunInteraction(eModeTalkTo) or whatever).
Now, assuming that the limit will be removed, or rather increased to technical maximum (which is 256, because the regions are defined with a 8-bit mask graphics), question arises: should their number be still a constant or a variable?
Of course 256 is not 2147483647 (maximal number to store in the "int" variable) nor 4294967295 (unsigned int), and it won't take that much extra memory (the mask bitmap is still only one for all regions, regardless of their count), but it still will take extra memory.
Also it might be pretty confusing for user: how many hotspots does he actually have: the 3 he painted over room or 256?
The actual problem with the variable number of regions is that the current Editor interface is not fit to handle them.
There's no means to define real number of regions (hotspots, etc) and there's no means to add/remove them. You may erase a region from the room background, but the element itself will stay (and may be referred from script, as noted above).
Furthermore, current interface is very inefficient to work with large amount of room elements, in my opinion. Except for using a graphical "picker" to select a region there is a combo box that will become really annoying if you will have, for example, 100 walkable areas.
Though, this issue is far minor relative to the first one.
Does anyone have good ideas how to change the editor interface to allow addition/removal of regions?
At the moment the number of room hotspots/regions/walkable areas and walkbehinds (I'll call them simply "regions") is constant. User may set name and properties / write event handlers for them even if they are not yet drawn (and even if they never will be).
Interesting thing is, that this opens unusual possibility to have "hidden" (unpainted) regions and still call their interactions with script (e.g. hotspot[20].RunInteraction(eModeTalkTo) or whatever).
Now, assuming that the limit will be removed, or rather increased to technical maximum (which is 256, because the regions are defined with a 8-bit mask graphics), question arises: should their number be still a constant or a variable?
Of course 256 is not 2147483647 (maximal number to store in the "int" variable) nor 4294967295 (unsigned int), and it won't take that much extra memory (the mask bitmap is still only one for all regions, regardless of their count), but it still will take extra memory.
Also it might be pretty confusing for user: how many hotspots does he actually have: the 3 he painted over room or 256?
The actual problem with the variable number of regions is that the current Editor interface is not fit to handle them.
There's no means to define real number of regions (hotspots, etc) and there's no means to add/remove them. You may erase a region from the room background, but the element itself will stay (and may be referred from script, as noted above).
Furthermore, current interface is very inefficient to work with large amount of room elements, in my opinion. Except for using a graphical "picker" to select a region there is a combo box that will become really annoying if you will have, for example, 100 walkable areas.
Though, this issue is far minor relative to the first one.
Does anyone have good ideas how to change the editor interface to allow addition/removal of regions?