The most important functions to know off the top of your head are:
void Draw(int state,double TicFrac)
draws the actual status barvoid DrawImage(String texture, Vector2 pos, int flags = 0, double Alpha = 1., Vector2 box = (-1, -1), Vector2 scale = (1, 1));
draws an imagevoid DrawString(HUDFont font, String string, Vector2 pos, int flags = 0, int translation = Font.CR_UNTRANSLATED, double Alpha = 1., int wrapwidth = -1, int linespacing = 4)
draws a stringstring FormatNumber(int number, int minsize = 0, int maxsize = 0, int format = 0, String prefix = "")
because there's no separate "DrawNumber"void DrawInventoryBar(InventoryBarState parms, Vector2 position, int numfields, int flags = 0, double bgalpha = 1.)
the inventory selectorAn array is a list of items. A vector is a list of 2 or 3 numbers.
Use a
"for loop" to draw the same thing a bunch of times (e.g., you want your hud to show every individual round loaded into the mag at the moment)
"cplayer.mo" is the name of the pointer for the affected playerpawn.
Once you've got that down, everything really just boils down to "If
this is happening, I'd like
this thing drawn
here in
this manner".
It will take some time to figure out what exactly can be done and how to match that up with what you want, so for your project I'd recommend doing a bugfix release that you can expect people to rely on for a few months while you work on the new status bar. Do
not delete the old SBARINFO; if you need to update anything, you can just go into Mapinfo, comment out the reference to the ZScript status bar, and upload, and everyone will just see the old SBARINFO bar instead of the ZScript one.
With that in mind, you can then just try to get some really basic stuff working (say, show a picture of a blue key card at the bottom of the screen if you have that card, then maybe one CLIPA0 in the corner for every 10 Clip you have) and build up from there.
Do you know how to do functions?