forked from Mirrors/openclonk
Use macros to reduce duplication in script engine definitions
While at it, make AddFunc take a C4PropList* instead of a C4AulScript*.epoxy
parent
5287121d86
commit
5be63d1e96
|
@ -2748,175 +2748,174 @@ void InitGameFunctionMap(C4AulScriptEngine *pEngine)
|
|||
assert(pCDef->ValType == C4V_Int); // only int supported currently
|
||||
pEngine->RegisterGlobalConstant(pCDef->Identifier, C4VInt(pCDef->Data));
|
||||
}
|
||||
C4PropListStatic * p = pEngine->GetPropList();
|
||||
// add all def script funcs
|
||||
for (C4ScriptFnDef *pDef = &C4ScriptGameFnMap[0]; pDef->Identifier; pDef++)
|
||||
new C4AulDefFunc(pEngine->GetPropList(), pDef);
|
||||
#define F(f) AddFunc(pEngine, #f, Fn##f)
|
||||
|
||||
AddFunc(pEngine, "GetX", FnGetX);
|
||||
AddFunc(pEngine, "GetY", FnGetY);
|
||||
AddFunc(pEngine, "GetDefinition", FnGetDefinition);
|
||||
AddFunc(pEngine, "GetPlayerName", FnGetPlayerName);
|
||||
AddFunc(pEngine, "GetPlayerType", FnGetPlayerType);
|
||||
AddFunc(pEngine, "GetPlayerColor", FnGetPlayerColor);
|
||||
AddFunc(pEngine, "GetPlrClonkSkin", FnGetPlrClonkSkin);
|
||||
AddFunc(pEngine, "CreateObject", FnCreateObject);
|
||||
AddFunc(pEngine, "CreateObjectAbove", FnCreateObjectAbove);
|
||||
AddFunc(pEngine, "CreateConstruction", FnCreateConstruction);
|
||||
AddFunc(pEngine, "FindConstructionSite", FnFindConstructionSite);
|
||||
AddFunc(pEngine, "CheckConstructionSite", FnCheckConstructionSite);
|
||||
AddFunc(pEngine, "Sound", FnSound);
|
||||
AddFunc(pEngine, "SoundAt", FnSoundAt);
|
||||
AddFunc(pEngine, "ChangeSoundModifier", FnChangeSoundModifier);
|
||||
AddFunc(pEngine, "SetGlobalSoundModifier", FnSetGlobalSoundModifier);
|
||||
AddFunc(pEngine, "Music", FnMusic);
|
||||
AddFunc(pEngine, "MusicLevel", FnMusicLevel);
|
||||
AddFunc(pEngine, "SetPlayList", FnSetPlayList);
|
||||
AddFunc(pEngine, "SetPlrView", FnSetPlrView);
|
||||
AddFunc(pEngine, "SetPlrKnowledge", FnSetPlrKnowledge);
|
||||
AddFunc(pEngine, "GetPlrViewMode", FnGetPlrViewMode);
|
||||
AddFunc(pEngine, "ResetCursorView", FnResetCursorView);
|
||||
AddFunc(pEngine, "GetPlrView", FnGetPlrView);
|
||||
AddFunc(pEngine, "GetWealth", FnGetWealth);
|
||||
AddFunc(pEngine, "SetWealth", FnSetWealth);
|
||||
AddFunc(pEngine, "DoPlayerScore", FnDoPlayerScore);
|
||||
AddFunc(pEngine, "GetPlayerScore", FnGetPlayerScore);
|
||||
AddFunc(pEngine, "GetPlayerScoreGain", FnGetPlayerScoreGain);
|
||||
AddFunc(pEngine, "GetWind", FnGetWind);
|
||||
AddFunc(pEngine, "SetWind", FnSetWind);
|
||||
AddFunc(pEngine, "GetTemperature", FnGetTemperature);
|
||||
AddFunc(pEngine, "SetTemperature", FnSetTemperature);
|
||||
AddFunc(pEngine, "ShakeFree", FnShakeFree);
|
||||
AddFunc(pEngine, "DigFree", FnDigFree);
|
||||
AddFunc(pEngine, "DigFreeRect", FnDigFreeRect);
|
||||
AddFunc(pEngine, "ClearFreeRect", FnClearFreeRect);
|
||||
AddFunc(pEngine, "Hostile", FnHostile);
|
||||
AddFunc(pEngine, "SetHostility", FnSetHostility);
|
||||
AddFunc(pEngine, "PlaceVegetation", FnPlaceVegetation);
|
||||
AddFunc(pEngine, "PlaceAnimal", FnPlaceAnimal);
|
||||
AddFunc(pEngine, "GameOver", FnGameOver);
|
||||
AddFunc(pEngine, "GetHiRank", FnGetHiRank);
|
||||
AddFunc(pEngine, "GetCrew", FnGetCrew);
|
||||
AddFunc(pEngine, "GetCrewCount", FnGetCrewCount);
|
||||
AddFunc(pEngine, "GetPlayerCount", FnGetPlayerCount);
|
||||
AddFunc(pEngine, "GetPlayerByIndex", FnGetPlayerByIndex);
|
||||
AddFunc(pEngine, "EliminatePlayer", FnEliminatePlayer);
|
||||
AddFunc(pEngine, "SurrenderPlayer", FnSurrenderPlayer);
|
||||
AddFunc(pEngine, "GetLeagueScore", FnGetLeagueScore);
|
||||
AddFunc(pEngine, "SetLeaguePerformance", FnSetLeaguePerformance);
|
||||
AddFunc(pEngine, "SetLeagueProgressData", FnSetLeagueProgressData);
|
||||
AddFunc(pEngine, "GetLeagueProgressData", FnGetLeagueProgressData);
|
||||
AddFunc(pEngine, "CreateScriptPlayer", FnCreateScriptPlayer);
|
||||
AddFunc(pEngine, "GetCursor", FnGetCursor);
|
||||
AddFunc(pEngine, "GetViewCursor", FnGetViewCursor);
|
||||
AddFunc(pEngine, "SetCursor", FnSetCursor);
|
||||
AddFunc(pEngine, "SetViewCursor", FnSetViewCursor);
|
||||
AddFunc(pEngine, "GetMaterial", FnGetMaterial);
|
||||
AddFunc(pEngine, "GetBackMaterial", FnGetBackMaterial);
|
||||
AddFunc(pEngine, "GetTexture", FnGetTexture);
|
||||
AddFunc(pEngine, "GetBackTexture", FnGetBackTexture);
|
||||
AddFunc(pEngine, "GetAverageTextureColor", FnGetAverageTextureColor);
|
||||
AddFunc(pEngine, "GetMaterialCount", FnGetMaterialCount);
|
||||
AddFunc(pEngine, "GBackSolid", FnGBackSolid);
|
||||
AddFunc(pEngine, "GBackSemiSolid", FnGBackSemiSolid);
|
||||
AddFunc(pEngine, "GBackLiquid", FnGBackLiquid);
|
||||
AddFunc(pEngine, "GBackSky", FnGBackSky);
|
||||
AddFunc(pEngine, "Material", FnMaterial);
|
||||
AddFunc(pEngine, "BlastFree", FnBlastFree);
|
||||
AddFunc(pEngine, "InsertMaterial", FnInsertMaterial);
|
||||
AddFunc(pEngine, "CanInsertMaterial", FnCanInsertMaterial);
|
||||
AddFunc(pEngine, "LandscapeWidth", FnLandscapeWidth);
|
||||
AddFunc(pEngine, "LandscapeHeight", FnLandscapeHeight);
|
||||
AddFunc(pEngine, "SetAmbientBrightness", FnSetAmbientBrightness);
|
||||
AddFunc(pEngine, "GetAmbientBrightness", FnGetAmbientBrightness);
|
||||
AddFunc(pEngine, "SetSeason", FnSetSeason);
|
||||
AddFunc(pEngine, "GetSeason", FnGetSeason);
|
||||
AddFunc(pEngine, "SetClimate", FnSetClimate);
|
||||
AddFunc(pEngine, "GetClimate", FnGetClimate);
|
||||
AddFunc(pEngine, "SetPlayerZoomByViewRange", FnSetPlayerZoomByViewRange);
|
||||
AddFunc(pEngine, "GetPlayerZoomLimits", FnGetPlayerZoomLimits);
|
||||
AddFunc(pEngine, "SetPlayerZoom", FnSetPlayerZoom);
|
||||
AddFunc(pEngine, "SetPlayerViewLock", FnSetPlayerViewLock);
|
||||
AddFunc(pEngine, "DoBaseMaterial", FnDoBaseMaterial);
|
||||
AddFunc(pEngine, "DoBaseProduction", FnDoBaseProduction);
|
||||
AddFunc(pEngine, "GainMissionAccess", FnGainMissionAccess);
|
||||
AddFunc(pEngine, "IsNetwork", FnIsNetwork);
|
||||
AddFunc(pEngine, "GetLeague", FnGetLeague);
|
||||
AddFunc(pEngine, "TestMessageBoard", FnTestMessageBoard, false);
|
||||
AddFunc(pEngine, "CallMessageBoard", FnCallMessageBoard, false);
|
||||
AddFunc(pEngine, "AbortMessageBoard", FnAbortMessageBoard, false);
|
||||
AddFunc(pEngine, "SetFoW", FnSetFoW);
|
||||
AddFunc(pEngine, "SetMaxPlayer", FnSetMaxPlayer);
|
||||
AddFunc(pEngine, "Object", FnObject);
|
||||
AddFunc(pEngine, "GetTime", FnGetTime);
|
||||
AddFunc(pEngine, "GetMissionAccess", FnGetMissionAccess);
|
||||
AddFunc(pEngine, "MaterialName", FnMaterialName);
|
||||
AddFunc(pEngine, "DrawMap", FnDrawMap);
|
||||
AddFunc(pEngine, "DrawDefMap", FnDrawDefMap);
|
||||
AddFunc(pEngine, "CreateParticle", FnCreateParticle);
|
||||
AddFunc(pEngine, "ClearParticles", FnClearParticles);
|
||||
AddFunc(pEngine, "SetSkyAdjust", FnSetSkyAdjust);
|
||||
AddFunc(pEngine, "SetMatAdjust", FnSetMatAdjust);
|
||||
AddFunc(pEngine, "GetSkyAdjust", FnGetSkyAdjust);
|
||||
AddFunc(pEngine, "GetMatAdjust", FnGetMatAdjust);
|
||||
AddFunc(pEngine, "SetSkyParallax", FnSetSkyParallax);
|
||||
AddFunc(pEngine, "ReloadDef", FnReloadDef);
|
||||
AddFunc(pEngine, "ReloadParticle", FnReloadParticle);
|
||||
AddFunc(pEngine, "SetGamma", FnSetGamma);
|
||||
AddFunc(pEngine, "ResetGamma", FnResetGamma);
|
||||
AddFunc(pEngine, "FrameCounter", FnFrameCounter);
|
||||
AddFunc(pEngine, "DrawMaterialQuad", FnDrawMaterialQuad);
|
||||
AddFunc(pEngine, "SetFilmView", FnSetFilmView);
|
||||
AddFunc(pEngine, "AddMsgBoardCmd", FnAddMsgBoardCmd);
|
||||
AddFunc(pEngine, "SetGameSpeed", FnSetGameSpeed, false);
|
||||
AddFunc(pEngine, "DrawMatChunks", FnDrawMatChunks, false);
|
||||
AddFunc(pEngine, "GetPathLength", FnGetPathLength);
|
||||
AddFunc(pEngine, "SetTextureIndex", FnSetTextureIndex);
|
||||
AddFunc(pEngine, "RemoveUnusedTexMapEntries", FnRemoveUnusedTexMapEntries);
|
||||
AddFunc(pEngine, "SimFlight", FnSimFlight);
|
||||
AddFunc(pEngine, "LoadScenarioSection", FnLoadScenarioSection);
|
||||
AddFunc(pEngine, "RemoveEffect", FnRemoveEffect);
|
||||
AddFunc(pEngine, "GetEffect", FnGetEffect);
|
||||
AddFunc(pEngine, "SetViewOffset", FnSetViewOffset);
|
||||
AddFunc(pEngine, "SetPreSend", FnSetPreSend, false);
|
||||
AddFunc(pEngine, "GetPlayerID", FnGetPlayerID);
|
||||
AddFunc(pEngine, "GetPlayerTeam", FnGetPlayerTeam);
|
||||
AddFunc(pEngine, "SetPlayerTeam", FnSetPlayerTeam);
|
||||
AddFunc(pEngine, "GetTeamConfig", FnGetTeamConfig);
|
||||
AddFunc(pEngine, "GetTeamName", FnGetTeamName);
|
||||
AddFunc(pEngine, "GetTeamColor", FnGetTeamColor);
|
||||
AddFunc(pEngine, "GetTeamByIndex", FnGetTeamByIndex);
|
||||
AddFunc(pEngine, "GetTeamCount", FnGetTeamCount);
|
||||
AddFunc(pEngine, "InitScenarioPlayer", FnInitScenarioPlayer, false);
|
||||
AddFunc(pEngine, "SetScoreboardData", FnSetScoreboardData);
|
||||
AddFunc(pEngine, "GetScoreboardString", FnGetScoreboardString, false);
|
||||
AddFunc(pEngine, "GetScoreboardData", FnGetScoreboardData, false);
|
||||
AddFunc(pEngine, "DoScoreboardShow", FnDoScoreboardShow);
|
||||
AddFunc(pEngine, "SortScoreboard", FnSortScoreboard);
|
||||
AddFunc(pEngine, "AddEvaluationData", FnAddEvaluationData);
|
||||
AddFunc(pEngine, "HideSettlementScoreInEvaluation", FnHideSettlementScoreInEvaluation);
|
||||
AddFunc(pEngine, "ExtractMaterialAmount", FnExtractMaterialAmount);
|
||||
AddFunc(pEngine, "GetEffectCount", FnGetEffectCount);
|
||||
AddFunc(pEngine, "CustomMessage", FnCustomMessage);
|
||||
AddFunc(pEngine, "GuiOpen", FnGuiOpen);
|
||||
AddFunc(pEngine, "GuiUpdateTag", FnGuiUpdateTag);
|
||||
AddFunc(pEngine, "GuiClose", FnGuiClose);
|
||||
AddFunc(pEngine, "GuiUpdate", FnGuiUpdate);
|
||||
AddFunc(pEngine, "PauseGame", FnPauseGame, false);
|
||||
AddFunc(pEngine, "PathFree", FnPathFree);
|
||||
AddFunc(pEngine, "PathFree2", FnPathFree2);
|
||||
AddFunc(pEngine, "SetNextMission", FnSetNextMission);
|
||||
AddFunc(pEngine, "GetPlayerControlState", FnGetPlayerControlState);
|
||||
AddFunc(pEngine, "SetPlayerControlEnabled", FnSetPlayerControlEnabled);
|
||||
AddFunc(pEngine, "GetPlayerControlEnabled", FnGetPlayerControlEnabled);
|
||||
AddFunc(pEngine, "GetPlayerControlAssignment", FnGetPlayerControlAssignment);
|
||||
AddFunc(pEngine, "GetStartupPlayerCount", FnGetStartupPlayerCount);
|
||||
AddFunc(pEngine, "GetStartupTeamCount", FnGetStartupTeamCount);
|
||||
AddFunc(pEngine, "PlayerObjectCommand", FnPlayerObjectCommand);
|
||||
AddFunc(pEngine, "EditCursor", FnEditCursor);
|
||||
AddFunc(pEngine, "GainScenarioAchievement", FnGainScenarioAchievement);
|
||||
AddFunc(pEngine, "GetPXSCount", FnGetPXSCount);
|
||||
|
||||
new C4AulDefFunc(p, pDef);
|
||||
#define F(f) ::AddFunc(p, #f, Fn##f)
|
||||
F(GetX);
|
||||
F(GetY);
|
||||
F(GetDefinition);
|
||||
F(GetPlayerName);
|
||||
F(GetPlayerType);
|
||||
F(GetPlayerColor);
|
||||
F(GetPlrClonkSkin);
|
||||
F(CreateObject);
|
||||
F(CreateObjectAbove);
|
||||
F(CreateConstruction);
|
||||
F(FindConstructionSite);
|
||||
F(CheckConstructionSite);
|
||||
F(Sound);
|
||||
F(SoundAt);
|
||||
F(ChangeSoundModifier);
|
||||
F(SetGlobalSoundModifier);
|
||||
F(Music);
|
||||
F(MusicLevel);
|
||||
F(SetPlayList);
|
||||
F(SetPlrView);
|
||||
F(SetPlrKnowledge);
|
||||
F(GetPlrViewMode);
|
||||
F(ResetCursorView);
|
||||
F(GetPlrView);
|
||||
F(GetWealth);
|
||||
F(SetWealth);
|
||||
F(DoPlayerScore);
|
||||
F(GetPlayerScore);
|
||||
F(GetPlayerScoreGain);
|
||||
F(GetWind);
|
||||
F(SetWind);
|
||||
F(GetTemperature);
|
||||
F(SetTemperature);
|
||||
F(ShakeFree);
|
||||
F(DigFree);
|
||||
F(DigFreeRect);
|
||||
F(ClearFreeRect);
|
||||
F(Hostile);
|
||||
F(SetHostility);
|
||||
F(PlaceVegetation);
|
||||
F(PlaceAnimal);
|
||||
F(GameOver);
|
||||
F(GetHiRank);
|
||||
F(GetCrew);
|
||||
F(GetCrewCount);
|
||||
F(GetPlayerCount);
|
||||
F(GetPlayerByIndex);
|
||||
F(EliminatePlayer);
|
||||
F(SurrenderPlayer);
|
||||
F(GetLeagueScore);
|
||||
F(SetLeaguePerformance);
|
||||
F(SetLeagueProgressData);
|
||||
F(GetLeagueProgressData);
|
||||
F(CreateScriptPlayer);
|
||||
F(GetCursor);
|
||||
F(GetViewCursor);
|
||||
F(SetCursor);
|
||||
F(SetViewCursor);
|
||||
F(GetMaterial);
|
||||
F(GetBackMaterial);
|
||||
F(GetTexture);
|
||||
F(GetBackTexture);
|
||||
F(GetAverageTextureColor);
|
||||
F(GetMaterialCount);
|
||||
F(GBackSolid);
|
||||
F(GBackSemiSolid);
|
||||
F(GBackLiquid);
|
||||
F(GBackSky);
|
||||
F(Material);
|
||||
F(BlastFree);
|
||||
F(InsertMaterial);
|
||||
F(CanInsertMaterial);
|
||||
F(LandscapeWidth);
|
||||
F(LandscapeHeight);
|
||||
F(SetAmbientBrightness);
|
||||
F(GetAmbientBrightness);
|
||||
F(SetSeason);
|
||||
F(GetSeason);
|
||||
F(SetClimate);
|
||||
F(GetClimate);
|
||||
F(SetPlayerZoomByViewRange);
|
||||
F(GetPlayerZoomLimits);
|
||||
F(SetPlayerZoom);
|
||||
F(SetPlayerViewLock);
|
||||
F(DoBaseMaterial);
|
||||
F(DoBaseProduction);
|
||||
F(GainMissionAccess);
|
||||
F(IsNetwork);
|
||||
F(GetLeague);
|
||||
::AddFunc(p, "TestMessageBoard", FnTestMessageBoard, false);
|
||||
::AddFunc(p, "CallMessageBoard", FnCallMessageBoard, false);
|
||||
::AddFunc(p, "AbortMessageBoard", FnAbortMessageBoard, false);
|
||||
F(SetFoW);
|
||||
F(SetMaxPlayer);
|
||||
F(Object);
|
||||
F(GetTime);
|
||||
F(GetMissionAccess);
|
||||
F(MaterialName);
|
||||
F(DrawMap);
|
||||
F(DrawDefMap);
|
||||
F(CreateParticle);
|
||||
F(ClearParticles);
|
||||
F(SetSkyAdjust);
|
||||
F(SetMatAdjust);
|
||||
F(GetSkyAdjust);
|
||||
F(GetMatAdjust);
|
||||
F(SetSkyParallax);
|
||||
F(ReloadDef);
|
||||
F(ReloadParticle);
|
||||
F(SetGamma);
|
||||
F(ResetGamma);
|
||||
F(FrameCounter);
|
||||
F(DrawMaterialQuad);
|
||||
F(SetFilmView);
|
||||
F(AddMsgBoardCmd);
|
||||
::AddFunc(p, "SetGameSpeed", FnSetGameSpeed, false);
|
||||
::AddFunc(p, "DrawMatChunks", FnDrawMatChunks, false);
|
||||
F(GetPathLength);
|
||||
F(SetTextureIndex);
|
||||
F(RemoveUnusedTexMapEntries);
|
||||
F(SimFlight);
|
||||
F(LoadScenarioSection);
|
||||
F(RemoveEffect);
|
||||
F(GetEffect);
|
||||
F(SetViewOffset);
|
||||
::AddFunc(p, "SetPreSend", FnSetPreSend, false);
|
||||
F(GetPlayerID);
|
||||
F(GetPlayerTeam);
|
||||
F(SetPlayerTeam);
|
||||
F(GetTeamConfig);
|
||||
F(GetTeamName);
|
||||
F(GetTeamColor);
|
||||
F(GetTeamByIndex);
|
||||
F(GetTeamCount);
|
||||
::AddFunc(p, "InitScenarioPlayer", FnInitScenarioPlayer, false);
|
||||
F(SetScoreboardData);
|
||||
::AddFunc(p, "GetScoreboardString", FnGetScoreboardString, false);
|
||||
::AddFunc(p, "GetScoreboardData", FnGetScoreboardData, false);
|
||||
F(DoScoreboardShow);
|
||||
F(SortScoreboard);
|
||||
F(AddEvaluationData);
|
||||
F(HideSettlementScoreInEvaluation);
|
||||
F(ExtractMaterialAmount);
|
||||
F(GetEffectCount);
|
||||
F(CustomMessage);
|
||||
F(GuiOpen);
|
||||
F(GuiUpdateTag);
|
||||
F(GuiClose);
|
||||
F(GuiUpdate);
|
||||
::AddFunc(p, "PauseGame", FnPauseGame, false);
|
||||
F(PathFree);
|
||||
F(PathFree2);
|
||||
F(SetNextMission);
|
||||
F(GetPlayerControlState);
|
||||
F(SetPlayerControlEnabled);
|
||||
F(GetPlayerControlEnabled);
|
||||
F(GetPlayerControlAssignment);
|
||||
F(GetStartupPlayerCount);
|
||||
F(GetStartupTeamCount);
|
||||
F(PlayerObjectCommand);
|
||||
F(EditCursor);
|
||||
F(GainScenarioAchievement);
|
||||
F(GetPXSCount);
|
||||
F(GetPlrKnowledge);
|
||||
F(GetComponent);
|
||||
F(GetBaseMaterial);
|
||||
|
@ -2932,7 +2931,6 @@ void InitGameFunctionMap(C4AulScriptEngine *pEngine)
|
|||
F(GetPlrExtraData);
|
||||
F(AddEffect);
|
||||
F(CheckEffect);
|
||||
|
||||
F(PV_Linear);
|
||||
F(PV_Random);
|
||||
F(PV_Direction);
|
||||
|
@ -2945,10 +2943,10 @@ void InitGameFunctionMap(C4AulScriptEngine *pEngine)
|
|||
F(PC_Die);
|
||||
F(PC_Bounce);
|
||||
F(PC_Stop);
|
||||
|
||||
AddFunc(pEngine, "IncinerateLandscape", FnIncinerateLandscape);
|
||||
AddFunc(pEngine, "GetGravity", FnGetGravity);
|
||||
AddFunc(pEngine, "SetGravity", FnSetGravity);
|
||||
F(IncinerateLandscape);
|
||||
F(GetGravity);
|
||||
F(SetGravity);
|
||||
#undef F
|
||||
}
|
||||
|
||||
C4ScriptConstDef C4ScriptGameConstMap[]=
|
||||
|
|
|
@ -677,19 +677,20 @@ void C4MapScriptHost::InitFunctionMap(C4AulScriptEngine *pEngine)
|
|||
void C4MapScriptHost::AddEngineFunctions()
|
||||
{
|
||||
// adds all engine functions to the MapLayer context
|
||||
::AddFunc(this, "Draw", FnLayerDraw);
|
||||
::AddFunc(this, "Blit", FnLayerBlit);
|
||||
::AddFunc(this, "CreateLayer", FnCreateLayer);
|
||||
::AddFunc(this, "Duplicate", FnLayerDuplicate);
|
||||
::AddFunc(this, "GetMaterialTextureIndex", FnLayerGetMaterialTextureIndex);
|
||||
::AddFunc(this, "GetDefaultBackgroundIndex", FnLayerGetDefaultBackgroundIndex);
|
||||
::AddFunc(this, "GetPixel", FnLayerGetPixel);
|
||||
::AddFunc(this, "GetBackPixel", FnLayerGetBackPixel);
|
||||
::AddFunc(this, "SetPixel", FnLayerSetPixel);
|
||||
::AddFunc(this, "GetPixelCount", FnLayerGetPixelCount);
|
||||
::AddFunc(this, "Resize", FnLayerResize);
|
||||
::AddFunc(this, "FindPosition", FnLayerFindPosition);
|
||||
::AddFunc(this, "CreateMatTexMask", FnLayerCreateMatTexMask);
|
||||
C4PropListStatic * p = GetPropList();
|
||||
::AddFunc(p, "Draw", FnLayerDraw);
|
||||
::AddFunc(p, "Blit", FnLayerBlit);
|
||||
::AddFunc(p, "CreateLayer", FnCreateLayer);
|
||||
::AddFunc(p, "Duplicate", FnLayerDuplicate);
|
||||
::AddFunc(p, "GetMaterialTextureIndex", FnLayerGetMaterialTextureIndex);
|
||||
::AddFunc(p, "GetDefaultBackgroundIndex", FnLayerGetDefaultBackgroundIndex);
|
||||
::AddFunc(p, "GetPixel", FnLayerGetPixel);
|
||||
::AddFunc(p, "GetBackPixel", FnLayerGetBackPixel);
|
||||
::AddFunc(p, "SetPixel", FnLayerSetPixel);
|
||||
::AddFunc(p, "GetPixelCount", FnLayerGetPixelCount);
|
||||
::AddFunc(p, "Resize", FnLayerResize);
|
||||
::AddFunc(p, "FindPosition", FnLayerFindPosition);
|
||||
::AddFunc(p, "CreateMatTexMask", FnLayerCreateMatTexMask);
|
||||
}
|
||||
|
||||
bool C4MapScriptHost::Load(C4Group & g, const char * f, const char * l, C4LangStringTable * t)
|
||||
|
|
|
@ -2570,167 +2570,170 @@ void InitObjectFunctionMap(C4AulScriptEngine *pEngine)
|
|||
assert(pCDef->ValType == C4V_Int); // only int supported currently
|
||||
pEngine->RegisterGlobalConstant(pCDef->Identifier, C4VInt(pCDef->Data));
|
||||
}
|
||||
C4PropListStatic * p = pEngine->GetPropList();
|
||||
#define F(f) ::AddFunc(p, #f, Fn##f)
|
||||
|
||||
AddFunc(pEngine, "DoCon", FnDoCon);
|
||||
AddFunc(pEngine, "GetCon", FnGetCon);
|
||||
AddFunc(pEngine, "DoDamage", FnDoDamage);
|
||||
AddFunc(pEngine, "DoEnergy", FnDoEnergy);
|
||||
AddFunc(pEngine, "DoBreath", FnDoBreath);
|
||||
AddFunc(pEngine, "GetEnergy", FnGetEnergy);
|
||||
AddFunc(pEngine, "OnFire", FnOnFire);
|
||||
AddFunc(pEngine, "Stuck", FnStuck);
|
||||
AddFunc(pEngine, "InLiquid", FnInLiquid);
|
||||
AddFunc(pEngine, "SetAction", FnSetAction);
|
||||
AddFunc(pEngine, "SetActionData", FnSetActionData);
|
||||
F(DoCon);
|
||||
F(GetCon);
|
||||
F(DoDamage);
|
||||
F(DoEnergy);
|
||||
F(DoBreath);
|
||||
F(GetEnergy);
|
||||
F(OnFire);
|
||||
F(Stuck);
|
||||
F(InLiquid);
|
||||
F(SetAction);
|
||||
F(SetActionData);
|
||||
|
||||
AddFunc(pEngine, "SetBridgeActionData", FnSetBridgeActionData);
|
||||
AddFunc(pEngine, "GetAction", FnGetAction);
|
||||
AddFunc(pEngine, "GetActTime", FnGetActTime);
|
||||
AddFunc(pEngine, "GetOwner", FnGetOwner);
|
||||
AddFunc(pEngine, "GetMass", FnGetMass);
|
||||
AddFunc(pEngine, "GetBreath", FnGetBreath);
|
||||
AddFunc(pEngine, "GetMenu", FnGetMenu);
|
||||
AddFunc(pEngine, "GetVertexNum", FnGetVertexNum);
|
||||
AddFunc(pEngine, "GetVertex", FnGetVertex);
|
||||
AddFunc(pEngine, "SetVertex", FnSetVertex);
|
||||
AddFunc(pEngine, "AddVertex", FnAddVertex);
|
||||
AddFunc(pEngine, "RemoveVertex", FnRemoveVertex);
|
||||
AddFunc(pEngine, "SetContactDensity", FnSetContactDensity, false);
|
||||
AddFunc(pEngine, "GetController", FnGetController);
|
||||
AddFunc(pEngine, "SetController", FnSetController);
|
||||
AddFunc(pEngine, "GetName", FnGetName);
|
||||
AddFunc(pEngine, "SetName", FnSetName);
|
||||
AddFunc(pEngine, "GetKiller", FnGetKiller);
|
||||
AddFunc(pEngine, "SetKiller", FnSetKiller);
|
||||
AddFunc(pEngine, "GetPhase", FnGetPhase);
|
||||
AddFunc(pEngine, "SetPhase", FnSetPhase);
|
||||
AddFunc(pEngine, "GetCategory", FnGetCategory);
|
||||
AddFunc(pEngine, "GetOCF", FnGetOCF);
|
||||
AddFunc(pEngine, "SetAlive", FnSetAlive);
|
||||
AddFunc(pEngine, "GetAlive", FnGetAlive);
|
||||
AddFunc(pEngine, "GetDamage", FnGetDamage);
|
||||
AddFunc(pEngine, "ComponentAll", FnComponentAll, false);
|
||||
AddFunc(pEngine, "SetComDir", FnSetComDir);
|
||||
AddFunc(pEngine, "GetComDir", FnGetComDir);
|
||||
AddFunc(pEngine, "SetDir", FnSetDir);
|
||||
AddFunc(pEngine, "GetDir", FnGetDir);
|
||||
AddFunc(pEngine, "SetEntrance", FnSetEntrance);
|
||||
AddFunc(pEngine, "GetEntrance", FnGetEntrance);
|
||||
AddFunc(pEngine, "SetCategory", FnSetCategory);
|
||||
AddFunc(pEngine, "FinishCommand", FnFinishCommand);
|
||||
AddFunc(pEngine, "ActIdle", FnActIdle);
|
||||
AddFunc(pEngine, "SetRDir", FnSetRDir);
|
||||
AddFunc(pEngine, "GetRDir", FnGetRDir);
|
||||
AddFunc(pEngine, "GetXDir", FnGetXDir);
|
||||
AddFunc(pEngine, "GetYDir", FnGetYDir);
|
||||
AddFunc(pEngine, "GetR", FnGetR);
|
||||
AddFunc(pEngine, "SetXDir", FnSetXDir);
|
||||
AddFunc(pEngine, "SetYDir", FnSetYDir);
|
||||
AddFunc(pEngine, "SetR", FnSetR);
|
||||
AddFunc(pEngine, "SetOwner", FnSetOwner);
|
||||
AddFunc(pEngine, "MakeCrewMember", FnMakeCrewMember);
|
||||
AddFunc(pEngine, "GrabObjectInfo", FnGrabObjectInfo);
|
||||
AddFunc(pEngine, "CreateContents", FnCreateContents);
|
||||
AddFunc(pEngine, "ShiftContents", FnShiftContents);
|
||||
AddFunc(pEngine, "ComposeContents", FnComposeContents);
|
||||
AddFunc(pEngine, "GetNeededMatStr", FnGetNeededMatStr);
|
||||
AddFunc(pEngine, "GetID", FnGetID);
|
||||
AddFunc(pEngine, "Contents", FnContents);
|
||||
AddFunc(pEngine, "ScrollContents", FnScrollContents);
|
||||
AddFunc(pEngine, "Contained", FnContained);
|
||||
AddFunc(pEngine, "ContentsCount", FnContentsCount);
|
||||
AddFunc(pEngine, "FindContents", FnFindContents, false);
|
||||
AddFunc(pEngine, "FindOtherContents", FnFindOtherContents, false);
|
||||
AddFunc(pEngine, "RemoveObject", FnRemoveObject);
|
||||
AddFunc(pEngine, "GetActionTarget", FnGetActionTarget);
|
||||
AddFunc(pEngine, "SetActionTargets", FnSetActionTargets);
|
||||
AddFunc(pEngine, "SetComponent", FnSetComponent);
|
||||
AddFunc(pEngine, "SetCrewStatus", FnSetCrewStatus, false);
|
||||
AddFunc(pEngine, "SetPosition", FnSetPosition);
|
||||
AddFunc(pEngine, "CreateMenu", FnCreateMenu);
|
||||
AddFunc(pEngine, "AddMenuItem", FnAddMenuItem);
|
||||
AddFunc(pEngine, "SelectMenuItem", FnSelectMenuItem);
|
||||
AddFunc(pEngine, "SetMenuDecoration", FnSetMenuDecoration);
|
||||
AddFunc(pEngine, "SetMenuTextProgress", FnSetMenuTextProgress);
|
||||
AddFunc(pEngine, "ObjectDistance", FnObjectDistance);
|
||||
AddFunc(pEngine, "GetValue", FnGetValue);
|
||||
AddFunc(pEngine, "GetRank", FnGetRank);
|
||||
AddFunc(pEngine, "SetTransferZone", FnSetTransferZone);
|
||||
AddFunc(pEngine, "SetMass", FnSetMass);
|
||||
AddFunc(pEngine, "GetColor", FnGetColor);
|
||||
AddFunc(pEngine, "SetColor", FnSetColor);
|
||||
AddFunc(pEngine, "SetLightRange", FnSetLightRange);
|
||||
AddFunc(pEngine, "GetLightColor", FnGetLightColor);
|
||||
AddFunc(pEngine, "SetLightColor", FnSetLightColor);
|
||||
AddFunc(pEngine, "SetPicture", FnSetPicture);
|
||||
AddFunc(pEngine, "GetProcedure", FnGetProcedure);
|
||||
AddFunc(pEngine, "CanConcatPictureWith", FnCanConcatPictureWith);
|
||||
AddFunc(pEngine, "SetGraphics", FnSetGraphics);
|
||||
AddFunc(pEngine, "ObjectNumber", FnObjectNumber);
|
||||
AddFunc(pEngine, "ShowInfo", FnShowInfo);
|
||||
AddFunc(pEngine, "CheckVisibility", FnCheckVisibility);
|
||||
AddFunc(pEngine, "SetClrModulation", FnSetClrModulation);
|
||||
AddFunc(pEngine, "GetClrModulation", FnGetClrModulation);
|
||||
AddFunc(pEngine, "CloseMenu", FnCloseMenu);
|
||||
AddFunc(pEngine, "GetMenuSelection", FnGetMenuSelection);
|
||||
AddFunc(pEngine, "GetDefBottom", FnGetDefBottom);
|
||||
AddFunc(pEngine, "SetMenuSize", FnSetMenuSize);
|
||||
AddFunc(pEngine, "GetCrewEnabled", FnGetCrewEnabled);
|
||||
AddFunc(pEngine, "SetCrewEnabled", FnSetCrewEnabled);
|
||||
AddFunc(pEngine, "DoCrewExp", FnDoCrewExp);
|
||||
AddFunc(pEngine, "ClearMenuItems", FnClearMenuItems);
|
||||
AddFunc(pEngine, "GetObjectLayer", FnGetObjectLayer);
|
||||
AddFunc(pEngine, "SetObjectLayer", FnSetObjectLayer);
|
||||
AddFunc(pEngine, "SetShape", FnSetShape);
|
||||
AddFunc(pEngine, "SetObjDrawTransform", FnSetObjDrawTransform);
|
||||
AddFunc(pEngine, "SetObjDrawTransform2", FnSetObjDrawTransform2, false);
|
||||
AddFunc(pEngine, "SetObjectStatus", FnSetObjectStatus, false);
|
||||
AddFunc(pEngine, "GetObjectStatus", FnGetObjectStatus, false);
|
||||
AddFunc(pEngine, "AdjustWalkRotation", FnAdjustWalkRotation, false);
|
||||
AddFunc(pEngine, "GetContact", FnGetContact);
|
||||
AddFunc(pEngine, "SetObjectBlitMode", FnSetObjectBlitMode);
|
||||
AddFunc(pEngine, "GetObjectBlitMode", FnGetObjectBlitMode);
|
||||
AddFunc(pEngine, "GetUnusedOverlayID", FnGetUnusedOverlayID, false);
|
||||
AddFunc(pEngine, "ExecuteCommand", FnExecuteCommand);
|
||||
F(SetBridgeActionData);
|
||||
F(GetAction);
|
||||
F(GetActTime);
|
||||
F(GetOwner);
|
||||
F(GetMass);
|
||||
F(GetBreath);
|
||||
F(GetMenu);
|
||||
F(GetVertexNum);
|
||||
F(GetVertex);
|
||||
F(SetVertex);
|
||||
F(AddVertex);
|
||||
F(RemoveVertex);
|
||||
::AddFunc(p, "SetContactDensity", FnSetContactDensity, false);
|
||||
F(GetController);
|
||||
F(SetController);
|
||||
F(GetName);
|
||||
F(SetName);
|
||||
F(GetKiller);
|
||||
F(SetKiller);
|
||||
F(GetPhase);
|
||||
F(SetPhase);
|
||||
F(GetCategory);
|
||||
F(GetOCF);
|
||||
F(SetAlive);
|
||||
F(GetAlive);
|
||||
F(GetDamage);
|
||||
::AddFunc(p, "ComponentAll", FnComponentAll, false);
|
||||
F(SetComDir);
|
||||
F(GetComDir);
|
||||
F(SetDir);
|
||||
F(GetDir);
|
||||
F(SetEntrance);
|
||||
F(GetEntrance);
|
||||
F(SetCategory);
|
||||
F(FinishCommand);
|
||||
F(ActIdle);
|
||||
F(SetRDir);
|
||||
F(GetRDir);
|
||||
F(GetXDir);
|
||||
F(GetYDir);
|
||||
F(GetR);
|
||||
F(SetXDir);
|
||||
F(SetYDir);
|
||||
F(SetR);
|
||||
F(SetOwner);
|
||||
F(MakeCrewMember);
|
||||
F(GrabObjectInfo);
|
||||
F(CreateContents);
|
||||
F(ShiftContents);
|
||||
F(ComposeContents);
|
||||
F(GetNeededMatStr);
|
||||
F(GetID);
|
||||
F(Contents);
|
||||
F(ScrollContents);
|
||||
F(Contained);
|
||||
F(ContentsCount);
|
||||
::AddFunc(p, "FindContents", FnFindContents, false);
|
||||
::AddFunc(p, "FindOtherContents", FnFindOtherContents, false);
|
||||
F(RemoveObject);
|
||||
F(GetActionTarget);
|
||||
F(SetActionTargets);
|
||||
F(SetComponent);
|
||||
::AddFunc(p, "SetCrewStatus", FnSetCrewStatus, false);
|
||||
F(SetPosition);
|
||||
F(CreateMenu);
|
||||
F(AddMenuItem);
|
||||
F(SelectMenuItem);
|
||||
F(SetMenuDecoration);
|
||||
F(SetMenuTextProgress);
|
||||
F(ObjectDistance);
|
||||
F(GetValue);
|
||||
F(GetRank);
|
||||
F(SetTransferZone);
|
||||
F(SetMass);
|
||||
F(GetColor);
|
||||
F(SetColor);
|
||||
F(SetLightRange);
|
||||
F(GetLightColor);
|
||||
F(SetLightColor);
|
||||
F(SetPicture);
|
||||
F(GetProcedure);
|
||||
F(CanConcatPictureWith);
|
||||
F(SetGraphics);
|
||||
F(ObjectNumber);
|
||||
F(ShowInfo);
|
||||
F(CheckVisibility);
|
||||
F(SetClrModulation);
|
||||
F(GetClrModulation);
|
||||
F(CloseMenu);
|
||||
F(GetMenuSelection);
|
||||
F(GetDefBottom);
|
||||
F(SetMenuSize);
|
||||
F(GetCrewEnabled);
|
||||
F(SetCrewEnabled);
|
||||
F(DoCrewExp);
|
||||
F(ClearMenuItems);
|
||||
F(GetObjectLayer);
|
||||
F(SetObjectLayer);
|
||||
F(SetShape);
|
||||
F(SetObjDrawTransform);
|
||||
::AddFunc(p, "SetObjDrawTransform2", FnSetObjDrawTransform2, false);
|
||||
::AddFunc(p, "SetObjectStatus", FnSetObjectStatus, false);
|
||||
::AddFunc(p, "GetObjectStatus", FnGetObjectStatus, false);
|
||||
::AddFunc(p, "AdjustWalkRotation", FnAdjustWalkRotation, false);
|
||||
F(GetContact);
|
||||
F(SetObjectBlitMode);
|
||||
F(GetObjectBlitMode);
|
||||
::AddFunc(p, "GetUnusedOverlayID", FnGetUnusedOverlayID, false);
|
||||
F(ExecuteCommand);
|
||||
|
||||
AddFunc(pEngine, "PlayAnimation", FnPlayAnimation);
|
||||
AddFunc(pEngine, "TransformBone", FnTransformBone);
|
||||
AddFunc(pEngine, "StopAnimation", FnStopAnimation);
|
||||
AddFunc(pEngine, "GetRootAnimation", FnGetRootAnimation);
|
||||
AddFunc(pEngine, "GetAnimationList", FnGetAnimationList);
|
||||
AddFunc(pEngine, "GetAnimationLength", FnGetAnimationLength);
|
||||
AddFunc(pEngine, "GetAnimationName", FnGetAnimationName);
|
||||
AddFunc(pEngine, "GetAnimationPosition", FnGetAnimationPosition);
|
||||
AddFunc(pEngine, "GetAnimationWeight", FnGetAnimationWeight);
|
||||
AddFunc(pEngine, "SetAnimationPosition", FnSetAnimationPosition);
|
||||
AddFunc(pEngine, "SetAnimationBoneTransform", FnSetAnimationBoneTransform);
|
||||
AddFunc(pEngine, "SetAnimationWeight", FnSetAnimationWeight);
|
||||
AddFunc(pEngine, "AttachMesh", FnAttachMesh);
|
||||
AddFunc(pEngine, "DetachMesh", FnDetachMesh);
|
||||
AddFunc(pEngine, "SetAttachBones", FnSetAttachBones);
|
||||
AddFunc(pEngine, "SetAttachTransform", FnSetAttachTransform);
|
||||
AddFunc(pEngine, "GetMeshMaterial", FnGetMeshMaterial);
|
||||
AddFunc(pEngine, "SetMeshMaterial", FnSetMeshMaterial);
|
||||
AddFunc(pEngine, "CreateParticleAtBone", FnCreateParticleAtBone);
|
||||
AddFunc(pEngine, "ChangeDef", FnChangeDef);
|
||||
AddFunc(pEngine, "GrabContents", FnGrabContents);
|
||||
AddFunc(pEngine, "Punch", FnPunch);
|
||||
AddFunc(pEngine, "Kill", FnKill);
|
||||
AddFunc(pEngine, "Fling", FnFling);
|
||||
AddFunc(pEngine, "Jump", FnJump, false);
|
||||
AddFunc(pEngine, "Enter", FnEnter);
|
||||
AddFunc(pEngine, "DeathAnnounce", FnDeathAnnounce);
|
||||
AddFunc(pEngine, "SetSolidMask", FnSetSolidMask);
|
||||
AddFunc(pEngine, "SetHalfVehicleSolidMask", FnSetHalfVehicleSolidMask);
|
||||
AddFunc(pEngine, "Exit", FnExit);
|
||||
AddFunc(pEngine, "Collect", FnCollect);
|
||||
F(PlayAnimation);
|
||||
F(TransformBone);
|
||||
F(StopAnimation);
|
||||
F(GetRootAnimation);
|
||||
F(GetAnimationList);
|
||||
F(GetAnimationLength);
|
||||
F(GetAnimationName);
|
||||
F(GetAnimationPosition);
|
||||
F(GetAnimationWeight);
|
||||
F(SetAnimationPosition);
|
||||
F(SetAnimationBoneTransform);
|
||||
F(SetAnimationWeight);
|
||||
F(AttachMesh);
|
||||
F(DetachMesh);
|
||||
F(SetAttachBones);
|
||||
F(SetAttachTransform);
|
||||
F(GetMeshMaterial);
|
||||
F(SetMeshMaterial);
|
||||
F(CreateParticleAtBone);
|
||||
F(ChangeDef);
|
||||
F(GrabContents);
|
||||
F(Punch);
|
||||
F(Kill);
|
||||
F(Fling);
|
||||
::AddFunc(p, "Jump", FnJump, false);
|
||||
F(Enter);
|
||||
F(DeathAnnounce);
|
||||
F(SetSolidMask);
|
||||
F(SetHalfVehicleSolidMask);
|
||||
F(Exit);
|
||||
F(Collect);
|
||||
|
||||
AddFunc(pEngine, "SetCommand", FnSetCommand);
|
||||
AddFunc(pEngine, "AddCommand", FnAddCommand);
|
||||
AddFunc(pEngine, "AppendCommand", FnAppendCommand);
|
||||
AddFunc(pEngine, "GetCommand", FnGetCommand);
|
||||
AddFunc(pEngine, "SetCrewExtraData", FnSetCrewExtraData);
|
||||
AddFunc(pEngine, "GetCrewExtraData", FnGetCrewExtraData);
|
||||
AddFunc(pEngine, "GetDefWidth", FnGetDefWidth);
|
||||
AddFunc(pEngine, "GetDefHeight", FnGetDefHeight);
|
||||
F(SetCommand);
|
||||
F(AddCommand);
|
||||
F(AppendCommand);
|
||||
F(GetCommand);
|
||||
F(SetCrewExtraData);
|
||||
F(GetCrewExtraData);
|
||||
F(GetDefWidth);
|
||||
F(GetDefHeight);
|
||||
#undef F
|
||||
}
|
||||
|
|
|
@ -255,9 +255,9 @@ protected:
|
|||
};
|
||||
|
||||
template <typename RType, typename ThisType, typename ...ParTypes>
|
||||
inline void AddFunc(C4AulScript * pOwner, const char * Name, RType (*pFunc)(ThisType *, ParTypes...), bool Public=true)
|
||||
inline void AddFunc(C4PropListStatic * Parent, const char * Name, RType (*pFunc)(ThisType *, ParTypes...), bool Public=true)
|
||||
{
|
||||
new C4AulEngineFunc<RType, ThisType, ParTypes...>(pOwner->GetPropList(), Name, pFunc, Public);
|
||||
new C4AulEngineFunc<RType, ThisType, ParTypes...>(Parent, Name, pFunc, Public);
|
||||
}
|
||||
|
||||
// a definition of a script constant
|
||||
|
|
|
@ -776,10 +776,11 @@ void InitCoreFunctionMap(C4AulScriptEngine *pEngine)
|
|||
pEngine->RegisterGlobalConstant(pCDef->Identifier, C4VInt(pCDef->Data));
|
||||
}
|
||||
|
||||
C4PropListStatic * p = pEngine->GetPropList();
|
||||
// add all def script funcs
|
||||
for (C4ScriptFnDef *pDef = &C4ScriptFnMap[0]; pDef->Identifier; pDef++)
|
||||
new C4AulDefFunc(pEngine->GetPropList(), pDef);
|
||||
#define F(f) AddFunc(pEngine, #f, Fn##f)
|
||||
new C4AulDefFunc(p, pDef);
|
||||
#define F(f) ::AddFunc(p, #f, Fn##f)
|
||||
F(Abs);
|
||||
F(Min);
|
||||
F(Max);
|
||||
|
@ -826,7 +827,7 @@ void InitCoreFunctionMap(C4AulScriptEngine *pEngine)
|
|||
F(eval);
|
||||
F(GetConstantNameByValue);
|
||||
|
||||
AddFunc(pEngine, "Translate", C4AulExec::FnTranslate);
|
||||
AddFunc(pEngine, "LogCallStack", C4AulExec::FnLogCallStack);
|
||||
::AddFunc(p, "Translate", C4AulExec::FnTranslate);
|
||||
::AddFunc(p, "LogCallStack", C4AulExec::FnLogCallStack);
|
||||
#undef F
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue