Ask about ACS, DECORATE, ZScript, or any other scripting questions here!
Moderator:GZDoom Developers
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
Fishy: Why would you want to do the static_cast<> stuff...? That just sounds awful. ZScript's aim is to eliminate needing to do that, I think. Not to mention, there's no pointer stars to be used. All that is handled on the C++ side of things.
Last edited by Major Cooke on Wed Oct 19, 2016 6:08 am, edited 1 time in total.
Major Cooke wrote:Why would you want to do the static_cast<> stuff...? That just sounds awful. ZScript's aim is to eliminate needing to do that, I think.
Oh, good. I wasn't actually sure which is why I asked.
I don't think -> is something we'll have. We have periods though. But I'm not sure myself. If anything, it'll be overlays instead of readyweapon (don't quote me on that).
Last edited by Major Cooke on Wed Oct 19, 2016 6:10 am, edited 1 time in total.
Graf Zahl wrote:Assuming everything is implemented
This being key, Fishy. The ability to do that sort of thing might not be available until sometime after the first merge, and at any point it may or may not change before then.
One other thing, Graf, you said there's something to change about A_Jump functions? I'm looking around for it so I can document what needs to happen with those.
Major Cooke wrote:This being key, Fishy. The ability to do that sort of thing might not be available until sometime after the first merge, and at any point it may or may not change before then.
Yes, yes, I know. Don't think about step 20 if you haven't got to step 5 yet, I get it.
But take it easy, mate. Seeing this stuff is super exciting so I have to ask questions just to get a basic picture of what to expect. Just bear with me a little.
I only said it because I know someone else is going to ask, or someone may misunderstand that bit and jump to the conclusion that it'll be in the first commit right then.
Since not everyone's going to be browsing all the posts from start to finish, it'll work as a good reminder for those who skip straight to this page.
I wonder just how much of the engine's hardcoded internals can be exported to zscript once this is all finally working. The ReadyWeapon snippet looks very interesting!
Just wondering: how is it planned for a user to interface with zcc (or whatever the compiler may be called)? Will it be entirely builtin (automatic compilation on startup) or will it also feature an external compiler? Actor code compilation for DECORATE is already pretty fast so I don't think startup time is really a factor.
Graf Zahl wrote:And the map is not an object in that sense.
I didn't mean it that way.
Does that mean that map data won't be made available?
I mean being able to access something like "level.mapname" could be useful.
Graf Zahl wrote:Before even thinking about virtual functions and stuff like that the code generator needs to get working, and that's what I am currently at, and before that isn't done I won't waste any thought about how to hook it all in later. The goal clearly is to extend classes via scripting, but you have to be aware that in order to extend a class this class needs to be set up to be extended. ZScript won't be the magic wand to solve all problems, and in order to hook into some subsystems they will need quite a bit of refactoring first.
I know that.
You asked to discuss upcoming features so I thought this could have been interesting.
Of course you will get access to the map data. But since the map is not an object and especially not a thinker it doesn't have any real means to do stuff on its own. But it's completely open what features you may get. It's far too early to say.