by Drake Raider » Wed Dec 26, 2018 8:47 pm
I don't know ZScript, so ACS or Decorate would be my target area. It would be really helpful, for instance, in a script I'm fighting with right now where I'm trying to adjust a global string variable but I can't tell what the value is upfront.
However, it would be particularly useful when transitioning to ZScript as well, to help buffer the learning curve.
Perhaps a filter could be used in the dump, that holds all builtin actors in decorate, say, and automatically deletes any functions from the dump log that are created by builtin classes?
In case that made no sense, instead of trying to filter which things get reported by the engine, have the printout itself filter things afterwards. Like, say, format the output this way:
ACTOR <NAME> TNT1A A_FunctionDemonstration(x,y,b,c) when an action function is called, or
ACTOR <NAME> <StateLabel> <Pointer> when a pointer is called.
Then have the dump check for any actors in the dump that share classes with builtin ones, like ACTOR DoomImp, and delete those entries.
This doesn't fix the performance of course, but would fix the readability problem. (As long as people aren't hacking GZDoom.pk3 itself, but that's really on them.)
For the performance you could have a toggle where it only checks the information if a CVar is active perhaps?
I don't know ZScript, so ACS or Decorate would be my target area. It would be really helpful, for instance, in a script I'm fighting with right now where I'm trying to adjust a global string variable but I can't tell what the value is upfront.
However, it would be particularly useful when transitioning to ZScript as well, to help buffer the learning curve.
Perhaps a filter could be used in the dump, that holds all builtin actors in decorate, say, and automatically deletes any functions from the dump log that are created by builtin classes?
In case that made no sense, instead of trying to filter which things get reported by the engine, have the printout itself filter things afterwards. Like, say, format the output this way:
ACTOR <NAME> TNT1A A_FunctionDemonstration(x,y,b,c) when an action function is called, or
ACTOR <NAME> <StateLabel> <Pointer> when a pointer is called.
Then have the dump check for any actors in the dump that share classes with builtin ones, like ACTOR DoomImp, and delete those entries.
This doesn't fix the performance of course, but would fix the readability problem. (As long as people aren't hacking GZDoom.pk3 itself, but that's really on them.)
For the performance you could have a toggle where it only checks the information if a CVar is active perhaps?