Page 1 of 1

special1 question

Posted: Tue Feb 24, 2015 6:48 pm
by zrrion the insect
I see a lot of things use special1, but I see no way to access it. Could someone explain why that is?

Re: special1 question

Posted: Wed Feb 25, 2015 12:40 am
by edward850
It's an internal counter used by a selection of Hexen/Heretic actors.

Re: special1 question

Posted: Wed Feb 25, 2015 2:26 am
by zrrion the insect
Yes. That is indeed what special1 is, but that's not what I was asking about. I'm wanting to know why it isn't accessible to anything other than the few functions that use it.
I see no way to do anything with it directly in a manner resembling A_SetArg(0,special1) or A_JumpIf(special1 > 0, "See") or something of that nature. I'm assuming that is because special1 is, well, special and shouldn't be mucked with, but why is that?

Re: special1 question

Posted: Wed Feb 25, 2015 2:32 am
by edward850
No, and there is no reason for you to either. You have another, vastly more up to date, method. Special1 is antiquated and specifically non-specific (for lack of a better term) and should be left to those native functions.

Re: special1 question

Posted: Wed Feb 25, 2015 2:41 am
by zrrion the insect
So the reason it isn't accessible is because I shouldn't want to access it in lieu of better options and not because there's actually anything about special1 that makes accessing it difficult/bug-prone/it breaks things?

Re: special1 question

Posted: Wed Feb 25, 2015 2:48 am
by Graf Zahl
It's used for various internal thing, depending on the actor class that uses it. So unless you have some detailed knowledge of what's up it's close to useless as part of an A_Jump expression. Moreover, this is an implementation detail that's subject to change at any given time, if a problem or a clash is detected.