Skip to content

Spellmaker

Carmina16 edited this page Apr 28, 2018 · 1 revision

Form descriptions

Each form description has the following general structure:

FORMHDR header;
FORMCTL controls[N];

FORMHDR

WORD lpTitle, lpImageFilename;
WORD nControls;
WORD PriceX, PriceY;
WORD ExitL, ExitT, ExitR, ExitB;

FORMCTL

WORD SpinnerX, SpinnerY;
WORD X, Y;
WORD MinValue, MaxValue;
WORD Offset; // offset from the start of SPELLDATA structure
WORD Buddy;  // relative index of the buddy control (usually +1/-1)
WORD Step;

If MinValue is less than 0, then MaxValue is a bit mask. If MinValue is 0xFFFF, the control is a checkbox; if 0xFFFE, it is a radiobutton.

The first control in the buddy pair is the minimal value of a range, of OFF. The second one is the maximal value, or ON.

All coordinates are relative to the top left corner of the form. The numeric values are right-aligned in a constant width field; the width depends on the MaxValue.

Clone this wiki locally