The status bar is garbled when I test my .z3 game (it just shows some text from elsewhere in the game, and doesn’t change as player moves).
My game is large for a .z3:
In: 13 source code files 13496 syntactic lines
21101 textual lines 636112 characters (ISO 8859-1 Latin1)
Allocated:
2380 symbols 1014256 bytes of memory
Out: Version 3 “Standard” story file 1.260228 (124.5K long):
22 classes 250 objects
126 global vars (maximum 233) 1577 variable/array space
105 verbs 667 dictionary entries
228 grammar lines (version 3) 400 grammar tokens (unlimited)
114 actions 32 attributes (maximum 32)
29 common props (maximum 29) 49 individual props (unlimited)
89834 bytes of Z-code 1012 unused bytes stripped out (1.1%)
121596 characters used in text 67998 bytes compressed (rate 0.559)
96 abbreviations (maximum 96) 732 routines (unlimited)
11050 instructions of Z-code 7149 sequence points
21510 bytes readable memory used (maximum 65536)
127330 bytes used in Z-machine 3742 bytes free in Z-machine
If it helps, here’s the data map from infodump:
Base End Size
0 3f 40 Story file header
40 41 2
42 1ff 1be Abbreviation data
200 2bf c0 Abbreviation pointer table
2c0 2c7 8 Header extension table
2c8 bcf 908 Object table
bd0 2991 1dc2 Property data
2992 29bf 2e Class Prototype Object Numbers
29c0 2a91 d2 Property Names Table
2a92 2af1 60 Attribute Names Table
2af2 36e0 bef
36e1 38c0 1e0 Global variables
38c1 3c33 373
3c34 3d05 d2 Grammar pointer table
3d06 4270 56b Grammar data
4271 4352 e2 Action routine table
4353 4392 40 Parsing routine table
4393 1387a f4e8 Preposition table
43a9 5351 fa9 Dictionary
5352 5405 b4
5406 1f161 19d5c Paged memory
I’m not doing anything fancy or custom with the status bar (or doing any other drawing-commands under z3)
Constant STATUSLINE_SCORE; Statusline score;
I’m not sure where to begin debugging this.
Possibly related or possibly a hint: I have a bunch of quote arrays at the end of my source code, for use with PunyInform’s QuoteBox. I used to mark those as static arrays (since they never change). However, that would randomly cause programming-errors of out-of-bounds-for-array. I wasn’t able to figure that out, but marked the arrays as no-longer-static, and they started behaving fine. I didn’t care that much about the slightly wasted dynamic memory, so didn’t bother digging into this.