- fixed CheckRange return value.

- removed the error message for multiple state blocks in DECORATE.
- added some constants for state types.
This commit is contained in:
Christoph Oelckers 2016-11-14 17:50:09 +01:00
parent ba62a86c80
commit 199e2e2f9c
5 changed files with 28 additions and 7 deletions

View file

@ -1062,11 +1062,6 @@ static void ParseActor(FScanner &sc)
break;
case TK_States:
if (bag.StateSet)
{
sc.ScriptMessage("'%s' contains multiple state declarations", bag.Info->TypeName.GetChars());
FScriptPosition::ErrorCounter++;
}
ParseStates(sc, bag.Info, (AActor *)bag.Info->Defaults, bag);
bag.StateSet = true;
break;

View file

@ -63,6 +63,7 @@ class FStateDefinitions
FState *laststatebeforelabel;
intptr_t lastlabel;
TArray<FState> StateArray;
uint8_t UseType;
static FStateDefine *FindStateLabelInList(TArray<FStateDefine> &list, FName name, bool create);
static FStateLabels *CreateStateLabelList(TArray<FStateDefine> &statelist);
@ -74,6 +75,10 @@ class FStateDefinitions
FState *ResolveGotoLabel(AActor *actor, PClassActor *mytype, char *name);
static void FixStatePointers(PClassActor *actor, TArray<FStateDefine> & list);
void ResolveGotoLabels(PClassActor *actor, AActor *defaults, TArray<FStateDefine> & list);
void SetUseType(int type)
{
UseType = uint8_t(type);
}
public: