[MENTION=42714]Gleeok[/MENTION]: As I understand, the reason for blocking the declaation of zc types globally, if that if the pointers roll over--reaching 4,294,967,295, then roling over to 1--that they'd be invalid; that the global values might be using a pointer that is assigned to another object...and that pointers would lose their value on system reset.
Preallocating global pointers, similar to global array allocation, and using a range between n and n2, for dynamic allocation, would alow global declarations, at least, I believe it would.
Grayswandir, Moosh, Dimentio, probably Evan, and I all pretty much want to be able to do global declarations for npc, ffc, and *weapon, as it'd simplify a lot of things. I'm just looking for the most reliable way to do it; although the easiest path would be ideal.
I'm not sure how, or why allocating 256 to 511 of each as global pointer values would be bad.
0: NULL
1-255: Screen objects:. Used by assignment.
256-511: Global pointers.
511-4,294,967,296: Dynamic alocation on declaration at a non-global scope.
Game-> arrays, I thought would be interesting, as their data would be saved, and we wouldn't need to change compiler, or object behaviour at all. It would allow referencing a pointer declared, for example, in the active script, from anywhere, as if it were a global pointer, by storing its value in the Gamei>Object[n] array, and reading it from there, from script, at any scope.
Being able to typecast between the zc types, and float, would likewise permit that, except...I believe that the pointers are unsigned, so zc floats would only cover half of them.
Throw me a solution that seems better than any of these, if you can think of one.