- added compile time checks for bad state links and state label references.
- preserve a state's source line information for the postprocessing phase so that the checker can output more useful information. - added missing check for weapon psprites to DPSprite::SetState.
This commit is contained in:
parent
647e1399f1
commit
96d093d01f
10 changed files with 179 additions and 45 deletions
|
|
@ -63,6 +63,7 @@ class FStateDefinitions
|
|||
FState *laststatebeforelabel;
|
||||
intptr_t lastlabel;
|
||||
TArray<FState> StateArray;
|
||||
TArray<FScriptPosition> SourceLines;
|
||||
|
||||
static FStateDefine *FindStateLabelInList(TArray<FStateDefine> &list, FName name, bool create);
|
||||
static FStateLabels *CreateStateLabelList(TArray<FStateDefine> &statelist);
|
||||
|
|
@ -97,10 +98,14 @@ public:
|
|||
bool SetStop();
|
||||
bool SetWait();
|
||||
bool SetLoop();
|
||||
int AddStates(FState *state, const char *framechars);
|
||||
int AddStates(FState *state, const char *framechars, const FScriptPosition &sc);
|
||||
int GetStateCount() const { return StateArray.Size(); }
|
||||
};
|
||||
|
||||
|
||||
void SaveStateSourceLines(FState *firststate, TArray<FScriptPosition> &positions);
|
||||
FScriptPosition & GetStateSource(FState *state);
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// Extra info maintained while defining an actor.
|
||||
|
|
@ -152,7 +157,7 @@ void ParseFunctionParameters(FScanner &sc, PClassActor *cls, TArray<FxExpression
|
|||
FxExpression *ParseActions(FScanner &sc, FState state, FString statestring, Baggage &bag, bool &endswithret);
|
||||
class FxVMFunctionCall *ParseAction(FScanner &sc, FState state, FString statestring, Baggage &bag);
|
||||
FName CheckCastKludges(FName in);
|
||||
void SetImplicitArgs(TArray<PType *> *args, TArray<DWORD> *argflags, TArray<FName> *argnames, PClass *cls, DWORD funcflags);
|
||||
void SetImplicitArgs(TArray<PType *> *args, TArray<DWORD> *argflags, TArray<FName> *argnames, PClass *cls, DWORD funcflags, int useflags);
|
||||
PFunction *CreateAnonymousFunction(PClass *containingclass, PType *returntype, int flags);
|
||||
PFunction *FindClassMemberFunction(PClass *cls, PClass *funccls, FName name, FScriptPosition &sc, bool *error);
|
||||
void CreateDamageFunction(PClassActor *info, AActor *defaults, FxExpression *id, bool fromDecorate);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue