Skip to content

Commit b4717f3

Browse files
authored
Merge pull request #93 from ReDucTor/save-load-init-order-fix
Fixing issue with loading from a save on game start crashing
2 parents b720ec4 + d23729e commit b4717f3

File tree

1 file changed

+5
-19
lines changed

1 file changed

+5
-19
lines changed

sp/src/public/vscript/ivscript.h

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -695,27 +695,13 @@ struct ScriptEnumDesc_t
695695
#define BEGIN_SCRIPTDESC( className, baseClass, description ) BEGIN_SCRIPTDESC_NAMED( className, baseClass, #className, description )
696696
#define BEGIN_SCRIPTDESC_ROOT( className, description ) BEGIN_SCRIPTDESC_ROOT_NAMED( className, #className, description )
697697

698-
#ifdef MSVC
699-
#define DEFINE_SCRIPTDESC_FUNCTION( className, baseClass ) \
700-
ScriptClassDesc_t * GetScriptDesc( className * )
701-
#else
702-
#define DEFINE_SCRIPTDESC_FUNCTION( className, baseClass ) \
703-
template <> ScriptClassDesc_t * GetScriptDesc<baseClass>( baseClass *); \
704-
template <> ScriptClassDesc_t * GetScriptDesc<className>( className *)
705-
#endif
706-
707698
#define BEGIN_SCRIPTDESC_NAMED( className, baseClass, scriptName, description ) \
708-
ScriptClassDesc_t g_##className##_ScriptDesc; \
709-
DEFINE_SCRIPTDESC_FUNCTION( className, baseClass ) \
699+
template <> ScriptClassDesc_t* GetScriptDesc<baseClass>(baseClass*); \
700+
template <> ScriptClassDesc_t* GetScriptDesc<className>(className*); \
701+
ScriptClassDesc_t & g_##className##_ScriptDesc = *GetScriptDesc<className>(nullptr); \
702+
template <> ScriptClassDesc_t* GetScriptDesc<className>(className*) \
710703
{ \
711-
static bool bInitialized; \
712-
if ( bInitialized ) \
713-
{ \
714-
return &g_##className##_ScriptDesc; \
715-
} \
716-
\
717-
bInitialized = true; \
718-
\
704+
static ScriptClassDesc_t g_##className##_ScriptDesc; \
719705
typedef className _className; \
720706
ScriptClassDesc_t *pDesc = &g_##className##_ScriptDesc; \
721707
pDesc->m_pszDescription = description; \

0 commit comments

Comments
 (0)