From Doors CS, Doors CSE, and Doors CE Wiki
Revision as of 14:26, 27 June 2010 by KermMartian (talk | contribs) (→‎Outputs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search


Pushes an item onto the GUI stack. The first element on the stack must be either GUIRNull, GUIRLargeWin, or GUIRSmallWin. Every time one of those three items appears on the stack, it indicates the start of a new entry. This function takes three arguments. Note that the OpenGUIStack routine should be called before using this function. Also note that if there is insufficient RAM to fit the GUI elements being pushed, undesirable results may be obtained. Doors CS will check for and catch situations in which there is less memory than would be required for a push operation, but the program initiating the push(es) should be aware that it may lose control in such circumstance. Avoid pushing excessive information onto the GUI Stack without checking that there is sufficient memory available to do so. Also be aware that a very small amount of data is added to the GUI Stack within the GUIMouse routine to incorporate clickable hotspots.

Technical Details


a = Item type. Examples: GUIRSmallWin, GUIRRadio, GUIRPassIn
hl = Pointer to stack entry data.
de = Length of data in bytes.


Adds the specified entry to the GUI stack. This routine does not render the GUI, however.
hl = first byte of stack entry (after 2 bytes of size and 1 byte of type)