- Joined
- Jun 23, 2007
- Messages
- 4,066
I wanted to post these somewhere, not sure where. I know they're useful.
This is something for web developers, if you don't have a website then you probably won't need these.
What it does is it highlights jass code like this;
Yes, this is the exact product that hive uses.
The product for the vBulletin software is attached below, for those of you using other forum softwares the parsing function is below.
Credits to Artificial for the parsing function.
And to phyrex1an for the vBulletin product.
This is something for web developers, if you don't have a website then you probably won't need these.
What it does is it highlights jass code like this;
JASS:
local integer i = 0
Yes, this is the exact product that hive uses.
The product for the vBulletin software is attached below, for those of you using other forum softwares the parsing function is below.
Credits to Artificial for the parsing function.
And to phyrex1an for the vBulletin product.
PHP:
// Original idea and implementation by Asger Feldthaus (KaTTaNa)
// VBulletin "product" by phyrex1an
// Final "vJassSyntax" function provided by Artificial
function vJassSyntax($content) {
// Configuration
$highlight = '@';
$blockStyle = '"font-weight: bold;"';
$keywordStyle = $blockStyle;// '"color: #666;"';
$typeStyle = '"color: #4477aa; font-weight: bold;"';
$bjGlobalStyle = '"color: #4477aa;"';// '"color: #660033;"';
$operatorStyle = '"color: sienna;"';
$memberStyle = '"color: #666666;"';
$memberDotStyle = $operatorStyle;
$valueStyle = '"color: #3333ff;"';
$rawcodeStyle = '"font-weight: bold; text-decoration: underline;"';
$commentStyle = '"color: #009933;"';
$stringStyle = '"color: blue; font-style: italic;"';
$compilerStyle = '"color: #666;"';
$highlightStyle = '"background-color: #ffcccc;"';
$constantsStyle = $bjGlobalStyle;
$nativeStyle = '"color: purple;"';// '"color: #4477aa;"';
$bjStyle = '"color: #dd4444;"';
$escapeStyle = '"font-weight: bold; font-style: normal;"';
// End of configuration
$content = html_entity_decode($content);
$quote = '"';
$singQuote = "'";
$operators = '\+|-|\/|\*|,|=|:|\(|\)|>=|<=|!=|\[|\]|<|>';
$blocks = 'native|constant|exitwhen|takes|returns|private|public|keyword|static|delegate|initializer|uses|needs|requires|defaults|interface|endinterface|globals|endglobals|function|endfunction|scope|endscope|library|library_once|endlibrary|struct|endstruct|method|endmethod|loop|endloop|if|then|else|elseif|endif|operator|readonly|stub|module|endmodule|implement|optional';
$keywords = 'and|or|call|not|set|local|return|debug|extends|type';
$types = 'nothing|array|string|integer|real|code|boolean|handle|event|player|widget|unit|destructable|item|ability|buff|force|group|trigger|triggercondition|triggeraction|timer|' .
'location|region|rect|boolexpr|sound|conditionfunc|filterfunc|unitpool|itempool|race|alliancetype|racepreference|gamestate|igamestate|fgamestate|playerstate|playergameresult|' .
'unitstate|aidifficulty|eventid|gameevent|playerevent|playerunitevent|unitevent|limitop|widgetevent|dialogevent|unittype|gamespeed|gamedifficulty|gametype|mapflag|mapvisibility|' .
'mapsetting|mapdensity|mapcontrol|playerslotstate|volumegroup|camerafield|camerasetup|playercolor|placement|startlocprio|raritycontrol|blendmode|texmapflags|effect|effecttype|' .
'weathereffect|terraindeformation|fogstate|fogmodifier|dialog|button|quest|questitem|defeatcondition|timerdialog|leaderboard|multiboard|multiboarditem|trackable|gamecache|version|' .
'itemtype|texttag|playerscore|lightning|pathingtype|image|ubersplat|attacktype|damagetype|weapontype|soundtype|thistype|key|hashtable';
$bjglobals = '(bj_[A-z]+)|filterEnumDestructablesInCircleBJ|filterGetUnitsInRectOfPlayer|filterGetUnitsOfPlayerAndTypeId|filterGetUnitsOfTypeIdAll|filterIssueHauntOrderAtLocBJ|filterLivingPlayerUnitsOfTypeId|filterMeleeTrainedUnitIsHeroBJ';
$values = 'true|false|null|super|this';
$natives = 'AbilityId|AbilityId2String|Acos|AddHeroXP|AddIndicator|AddItemToAllStock|AddItemToStock|AddLightning|AddLightningEx|AddPlayerTechResearched|AddResourceAmount|AddSpecialEffect|'.
'AddSpecialEffectLoc|AddSpecialEffectTarget|AddSpellEffect|AddSpellEffectById|AddSpellEffectByIdLoc|AddSpellEffectLoc|AddSpellEffectTarget|AddSpellEffectTargetById|'.
'AddUnitAnimationProperties|AddUnitToAllStock|AddUnitToStock|AddWeatherEffect|AdjustCameraField|And|Asin|Atan|Atan2|AttachSoundToUnit|CachePlayerHeroData|CameraSetSmoothingFactor|'.
'CameraSetSourceNoise|CameraSetSourceNoiseEx|CameraSetTargetNoise|CameraSetTargetNoiseEx|CameraSetupApply|CameraSetupApplyForceDuration|CameraSetupApplyForceDurationWithZ|'.
'CameraSetupApplyWithZ|CameraSetupGetDestPositionLoc|CameraSetupGetDestPositionX|CameraSetupGetDestPositionY|CameraSetupGetField|CameraSetupSetDestPosition|CameraSetupSetField|'.
'ChangeLevel|Cheat|ChooseRandomCreep|ChooseRandomItem|ChooseRandomItemEx|ChooseRandomNPBuilding|ClearMapMusic|ClearSelection|ClearTextMessages|CommandAI|Condition|ConvertAIDifficulty|'.
'ConvertAllianceType|ConvertAttackType|ConvertBlendMode|ConvertCameraField|ConvertDamageType|ConvertDialogEvent|ConvertEffectType|ConvertFGameState|ConvertFogState|ConvertGameDifficulty|'.
'ConvertGameEvent|ConvertGameSpeed|ConvertGameType|ConvertIGameState|ConvertItemType|ConvertLimitOp|ConvertMapControl|ConvertMapDensity|ConvertMapFlag|ConvertMapSetting|'.
'ConvertMapVisibility|ConvertPathingType|ConvertPlacement|ConvertPlayerColor|ConvertPlayerEvent|ConvertPlayerGameResult|ConvertPlayerScore|ConvertPlayerSlotState|ConvertPlayerState|'.
'ConvertPlayerUnitEvent|ConvertRace|ConvertRacePref|ConvertRarityControl|ConvertSoundType|ConvertStartLocPrio|ConvertTexMapFlags|ConvertUnitEvent|ConvertUnitState|ConvertUnitType|'.
'ConvertVersion|ConvertVolumeGroup|ConvertWeaponType|ConvertWidgetEvent|CopySaveGame|Cos|CreateBlightedGoldmine|CreateCameraSetup|CreateCorpse|CreateDeadDestructable|'.
'CreateDeadDestructableZ|CreateDefeatCondition|CreateDestructable|CreateDestructableZ|CreateFogModifierRadius|CreateFogModifierRadiusLoc|CreateFogModifierRect|CreateForce|CreateGroup|'.
'CreateImage|CreateItem|CreateItemPool|CreateLeaderboard|CreateMIDISound|CreateMultiboard|CreateQuest|CreateRegion|CreateSound|CreateSoundFilenameWithLabel|CreateSoundFromLabel|'.
'CreateTextTag|CreateTimer|CreateTimerDialog|CreateTrackable|CreateTrigger|CreateUbersplat|CreateUnit|CreateUnitAtLoc|CreateUnitAtLocByName|CreateUnitByName|CreateUnitPool|'.
'CripplePlayer|DecUnitAbilityLevel|DefeatConditionSetDescription|DefineStartLocation|DefineStartLocationLoc|Deg2Rad|DestroyBoolExpr|DestroyCondition|DestroyDefeatCondition|DestroyEffect|'.
'DestroyFilter|DestroyFogModifier|DestroyForce|DestroyGroup|DestroyImage|DestroyItemPool|DestroyLeaderboard|DestroyLightning|DestroyMultiboard|DestroyQuest|DestroyTextTag|DestroyTimer|'.
'DestroyTimerDialog|DestroyTrigger|DestroyUbersplat|DestroyUnitPool|DestructableRestoreLife|DialogAddButton|DialogAddQuitButton|DialogClear|DialogCreate|DialogDestroy|DialogDisplay|'.
'DialogSetMessage|DisableRestartMission|DisableTrigger|DisplayCineFilter|DisplayLoadDialog|DisplayTextToPlayer|DisplayTimedTextFromPlayer|DisplayTimedTextToPlayer|DoNotSaveReplay|'.
'EnableDragSelect|EnableMinimapFilterButtons|EnableOcclusion|EnablePreSelect|EnableSelect|EnableTrigger|EnableUserControl|EnableUserUI|EnableWeatherEffect|EnableWorldFogBoundary|'.
'EndCinematicScene|EndGame|EndThematicMusic|EnumDestructablesInRect|EnumItemsInRect|ExecuteFunc|Filter|FinishUbersplat|FirstOfGroup|FlashQuestDialogButton|FlushGameCache|'.
'FlushStoredBoolean|FlushStoredInteger|FlushStoredMission|FlushStoredReal|FlushStoredString|FlushStoredUnit|FogEnable|FogMaskEnable|FogModifierStart|FogModifierStop|ForceAddPlayer|'.
'ForceCampaignSelectScreen|ForceCinematicSubtitles|ForceClear|ForceEnumAllies|ForceEnumEnemies|ForceEnumPlayers|ForceEnumPlayersCounted|ForcePlayerStartLocation|ForceQuestDialogUpdate|'.
'ForceRemovePlayer|ForceUICancel|ForceUIKey|ForForce|ForGroup|GetAbilityEffect|GetAbilityEffectById|GetAbilitySound|GetAbilitySoundById|GetAIDifficulty|GetAllyColorFilterState|'.
'GetAttacker|GetBuyingUnit|GetCameraBoundMaxX|GetCameraBoundMaxY|GetCameraBoundMinX|GetCameraBoundMinY|GetCameraEyePositionLoc|GetCameraEyePositionX|GetCameraEyePositionY|'.
'GetCameraEyePositionZ|GetCameraField|GetCameraMargin|GetCameraTargetPositionLoc|GetCameraTargetPositionX|GetCameraTargetPositionY|GetCameraTargetPositionZ|GetCancelledStructure|'.
'GetChangingUnit|GetChangingUnitPrevOwner|GetClickedButton|GetClickedDialog|GetConstructedStructure|GetConstructingStructure|GetCreatureDensity|GetCreepCampFilterState|'.
'GetCustomCampaignButtonVisible|GetDecayingUnit|GetDefaultDifficulty|GetDestructableLife|GetDestructableMaxLife|GetDestructableName|GetDestructableOccluderHeight|GetDestructableTypeId|'.
'GetDestructableX|GetDestructableY|GetDetectedUnit|GetDyingUnit|GetEnteringUnit|GetEnumDestructable|GetEnumItem|GetEnumPlayer|GetEnumUnit|GetEventDamage|GetEventDamageSource|'.
'GetEventDetectingPlayer|GetEventGameState|GetEventPlayerChatString|GetEventPlayerChatStringMatched|GetEventPlayerState|GetEventTargetUnit|GetEventUnitState|GetExpiredTimer|'.
'GetFilterDestructable|GetFilterItem|GetFilterPlayer|GetFilterUnit|GetFloatGameState|GetFoodMade|GetFoodUsed|GetGameDifficulty|GetGamePlacement|GetGameSpeed|GetGameTypeSelected|GetHeroAgi|'.
'GetHeroInt|GetHeroLevel|GetHeroProperName|GetHeroSkillPoints|GetHeroStr|GetHeroXP|GetIntegerGameState|GetIssuedOrderId|GetItemCharges|GetItemLevel|GetItemName|GetItemPlayer|GetItemType|'.
'GetItemTypeId|GetItemUserData|GetItemX|GetItemY|GetKillingUnit|GetLearnedSkill|GetLearnedSkillLevel|GetLearningUnit|GetLeavingUnit|GetLevelingUnit|GetLightningColorA|GetLightningColorB|'.
'GetLightningColorG|GetLightningColorR|GetLoadedUnit|GetLocalizedHotkey|GetLocalizedString|GetLocalPlayer|GetLocationX|GetLocationY|GetLocationZ|GetManipulatedItem|GetManipulatingUnit|'.
'GetObjectName|GetOrderedUnit|GetOrderPointLoc|GetOrderPointX|GetOrderPointY|GetOrderTarget|GetOrderTargetDestructable|GetOrderTargetItem|GetOrderTargetUnit|GetOwningPlayer|GetPlayerAlliance|'.
'GetPlayerColor|GetPlayerController|GetPlayerHandicap|GetPlayerHandicapXP|GetPlayerId|GetPlayerName|GetPlayerRace|GetPlayers|GetPlayerScore|GetPlayerSelectable|GetPlayerSlotState|'.
'GetPlayerStartLocation|GetPlayerState|GetPlayerStructureCount|GetPlayerTaxRate|GetPlayerTeam|GetPlayerTechCount|GetPlayerTechMaxAllowed|GetPlayerTechResearched|GetPlayerTypedUnitCount|'.
'GetPlayerUnitCount|GetRandomInt|GetRandomReal|GetRectCenterX|GetRectCenterY|GetRectMaxX|GetRectMaxY|GetRectMinX|GetRectMinY|GetRescuer|GetResearched|GetResearchingUnit|GetResourceAmount|'.
'GetResourceDensity|GetRevivableUnit|GetRevivingUnit|GetSaveBasicFilename|GetSellingUnit|GetSoldItem|GetSoldUnit|GetSoundDuration|GetSoundFileDuration|GetSoundIsLoading|GetSoundIsPlaying|'.
'GetSpellAbility|GetSpellAbilityId|GetSpellAbilityUnit|GetSpellTargetDestructable|GetSpellTargetItem|GetSpellTargetLoc|GetSpellTargetUnit|GetStartLocationLoc|GetStartLocationX|GetStartLocationY|'.
'GetStartLocPrio|GetStartLocPrioSlot|GetStoredBoolean|GetStoredInteger|GetStoredReal|GetStoredString|GetSummonedUnit|GetSummoningUnit|GetTeams|GetTerrainCliffLevel|GetTerrainType|GetTerrainVariance|'.
'GetTimeOfDayScale|GetTournamentFinishNowPlayer|GetTournamentFinishNowRule|GetTournamentFinishSoonTimeRemaining|GetTournamentScore|GetTrainedUnit|GetTrainedUnitType|GetTransportUnit|'.
'GetTriggerEvalCount|GetTriggerEventId|GetTriggerExecCount|GetTriggeringRegion|GetTriggeringTrackable|GetTriggeringTrigger|GetTriggerPlayer|GetTriggerUnit|GetTriggerWidget|GetUnitAbilityLevel|'.
'GetUnitAcquireRange|GetUnitCurrentOrder|GetUnitDefaultAcquireRange|GetUnitDefaultFlyHeight|GetUnitDefaultMoveSpeed|GetUnitDefaultPropWindow|GetUnitDefaultTurnSpeed|GetUnitFacing|GetUnitFlyHeight|'.
'GetUnitFoodMade|GetUnitFoodUsed|GetUnitLevel|GetUnitLoc|GetUnitMoveSpeed|GetUnitName|GetUnitPointValue|GetUnitPointValueByType|GetUnitPropWindow|GetUnitRace|GetUnitRallyDestructable|GetUnitRallyPoint|'.
'GetUnitRallyUnit|GetUnitState|GetUnitTurnSpeed|GetUnitTypeId|GetUnitUserData|GetUnitX|GetUnitY|GetWidgetLife|GetWidgetX|GetWidgetY|GetWinningPlayer|GetWorldBounds|GroupAddUnit|GroupClear|'.
'GroupEnumUnitsInRange|GroupEnumUnitsInRangeCounted|GroupEnumUnitsInRangeOfLoc|GroupEnumUnitsInRangeOfLocCounted|GroupEnumUnitsInRect|GroupEnumUnitsInRectCounted|GroupEnumUnitsOfPlayer|'.
'GroupEnumUnitsOfType|GroupEnumUnitsOfTypeCounted|GroupEnumUnitsSelected|GroupImmediateOrder|GroupImmediateOrderById|GroupPointOrder|GroupPointOrderById|GroupPointOrderByIdLoc|GroupPointOrderLoc|'.
'GroupRemoveUnit|GroupTargetOrder|GroupTargetOrderById|HaveStoredBoolean|HaveStoredInteger|HaveStoredReal|HaveStoredString|HaveStoredUnit|I2R|I2S|IncUnitAbilityLevel|InitGameCache|IsCineFilterDisplayed|'.
'IsDestructableInvulnerable|IsFogEnabled|IsFoggedToPlayer|IsFogMaskEnabled|IsGameTypeSupported|IsHeroUnitId|IsItemIdPawnable|IsItemIdPowerup|IsItemIdSellable|IsItemInvulnerable|IsItemOwned|IsItemPawnable|'.
'IsItemPowerup|IsItemSellable|IsItemVisible|IsLeaderboardDisplayed|IsLocationFoggedToPlayer|IsLocationInRegion|IsLocationMaskedToPlayer|IsLocationVisibleToPlayer|IsMapFlagSet|IsMaskedToPlayer|'.
'IsMultiboardDisplayed|IsMultiboardMinimized|IsNoDefeatCheat|IsNoVictoryCheat|IsPlayerAlly|IsPlayerEnemy|IsPlayerInForce|IsPlayerObserver|IsPlayerRacePrefSet|IsPointBlighted|IsPointInRegion|IsQuestCompleted|'.
'IsQuestDiscovered|IsQuestEnabled|IsQuestFailed|IsQuestItemCompleted|IsQuestRequired|IssueBuildOrder|IssueBuildOrderById|IssueImmediateOrder|IssueImmediateOrderById|IssueInstantPointOrder|'.
'IssueInstantPointOrderById|IssueInstantTargetOrder|IssueInstantTargetOrderById|IssueNeutralImmediateOrder|IssueNeutralImmediateOrderById|IssueNeutralPointOrder|IssueNeutralPointOrderById|'.
'IssueNeutralTargetOrder|IssueNeutralTargetOrderById|IssuePointOrder|IssuePointOrderById|IssuePointOrderByIdLoc|IssuePointOrderLoc|IssueTargetOrder|IssueTargetOrderById|IsSuspendedXP|'.
'IsTerrainPathable|IsTimerDialogDisplayed|IsTriggerEnabled|IsTriggerWaitOnSleeps|IsUnit|IsUnitAlly|IsUnitDetected|IsUnitEnemy|IsUnitFogged|IsUnitHidden|IsUnitIdType|IsUnitIllusion|IsUnitInForce|'.
'IsUnitInGroup|IsUnitInRange|IsUnitInRangeLoc|IsUnitInRangeXY|IsUnitInRegion|IsUnitInTransport|IsUnitInvisible|IsUnitLoaded|IsUnitMasked|IsUnitOwnedByPlayer|IsUnitPaused|IsUnitRace|IsUnitSelected|'.
'IsUnitType|IsUnitVisible|IsVisibleToPlayer|ItemPoolAddItemType|ItemPoolRemoveItemType|KillDestructable|KillSoundWhenDone|KillUnit|LeaderboardAddItem|LeaderboardClear|LeaderboardDisplay|'.
'LeaderboardGetItemCount|LeaderboardGetLabelText|LeaderboardGetPlayerIndex|LeaderboardHasPlayerItem|LeaderboardRemoveItem|LeaderboardRemovePlayerItem|LeaderboardSetItemLabel|LeaderboardSetItemLabelColor|'.
'LeaderboardSetItemStyle|LeaderboardSetItemValue|LeaderboardSetItemValueColor|LeaderboardSetLabel|LeaderboardSetLabelColor|LeaderboardSetSizeByItemCount|LeaderboardSetStyle|LeaderboardSetValueColor|'.
'LeaderboardSortItemsByLabel|LeaderboardSortItemsByPlayer|LeaderboardSortItemsByValue|LoadGame|Location|MoveLightning|MoveLightningEx|MoveLocation|MoveRectTo|MoveRectToLoc|MultiboardClear|'.
'MultiboardDisplay|MultiboardGetColumnCount|MultiboardGetItem|MultiboardGetRowCount|MultiboardGetTitleText|MultiboardMinimize|MultiboardReleaseItem|MultiboardSetColumnCount|MultiboardSetItemIcon|'.
'MultiboardSetItemsIcon|MultiboardSetItemsStyle|MultiboardSetItemStyle|MultiboardSetItemsValue|MultiboardSetItemsValueColor|MultiboardSetItemsWidth|MultiboardSetItemValue|MultiboardSetItemValueColor|'.
'MultiboardSetItemWidth|MultiboardSetRowCount|MultiboardSetTitleText|MultiboardSetTitleTextColor|MultiboardSuppressDisplay|NewSoundEnvironment|Not|Or|OrderId|OrderId2String|PanCameraTo|PanCameraToTimed|'.
'PanCameraToTimedWithZ|PanCameraToWithZ|PauseCompAI|PauseGame|PauseTimer|PauseUnit|PingMinimap|PingMinimapEx|PlaceRandomItem|PlaceRandomUnit|PlayCinematic|Player|PlayerGetLeaderboard|PlayerSetLeaderboard|'.
'PlayModelCinematic|PlayMusic|PlayMusicEx|PlayThematicMusic|PlayThematicMusicEx|Pow|Preload|PreloadEnd|PreloadEndEx|Preloader|PreloadGenClear|PreloadGenEnd|PreloadGenStart|PreloadRefresh|PreloadStart|'.
'QuestCreateItem|QuestItemSetCompleted|QuestItemSetDescription|QuestSetCompleted|QuestSetDescription|QuestSetDiscovered|QuestSetEnabled|QuestSetFailed|QuestSetIconPath|QuestSetRequired|QuestSetTitle|'.
'QueueDestructableAnimation|QueueUnitAnimation|R2I|R2S|R2SW|Rad2Deg|Rect|RectFromLoc|RecycleGuardPosition|RegionAddCell|RegionAddCellAtLoc|RegionAddRect|RegionClearCell|RegionClearCellAtLoc|RegionClearRect|'.
'RegisterStackedSound|ReloadGame|ReloadGameCachesFromDisk|RemoveAllGuardPositions|RemoveDestructable|RemoveGuardPosition|RemoveItem|RemoveItemFromAllStock|RemoveItemFromStock|RemoveLocation|RemovePlayer|'.
'RemoveRect|RemoveRegion|RemoveSaveDirectory|RemoveUnit|RemoveUnitFromAllStock|RemoveUnitFromStock|RemoveWeatherEffect|RenameSaveDirectory|ResetTerrainFog|ResetToGameCamera|ResetTrigger|ResetUbersplat|ResetUnitLookAt|'.
'RestartGame|RestoreUnit|ResumeMusic|ResumeTimer|ReviveHero|ReviveHeroLoc|S2I|S2R|SaveGame|SaveGameCache|SaveGameExists|SelectHeroSkill|SelectUnit|SetAllItemTypeSlots|SetAllUnitTypeSlots|SetAllyColorFilterState|'.
'SetAltMinimapIcon|SetBlight|SetBlightLoc|SetBlightPoint|SetBlightRect|SetCameraBounds|SetCameraField|SetCameraOrientController|SetCameraPosition|SetCameraQuickPosition|SetCameraRotateMode|SetCameraTargetController|'.
'SetCampaignAvailable|SetCampaignMenuRace|SetCampaignMenuRaceEx|SetCineFilterBlendMode|SetCineFilterDuration|SetCineFilterEndColor|SetCineFilterEndUV|SetCineFilterStartColor|SetCineFilterStartUV|SetCineFilterTexMapFlags|'.
'SetCineFilterTexture|SetCinematicCamera|SetCinematicScene|SetCreatureDensity|SetCreepCampFilterState|SetCustomCampaignButtonVisible|SetDayNightModels|SetDefaultDifficulty|SetDestructableAnimation|SetDestructableAnimationSpeed|'.
'SetDestructableInvulnerable|SetDestructableLife|SetDestructableMaxLife|SetDestructableOccluderHeight|SetDoodadAnimation|SetDoodadAnimationRect|SetEdCinematicAvailable|SetFloatGameState|SetFogStateRadius|SetFogStateRadiusLoc|'.
'SetFogStateRect|SetGameDifficulty|SetGamePlacement|SetGameSpeed|SetGameTypeSupported|SetHeroAgi|SetHeroInt|SetHeroLevel|SetHeroStr|SetHeroXP|SetImageAboveWater|SetImageColor|SetImageConstantHeight|SetImagePosition|SetImageRender|'.
'SetImageRenderAlways|SetImageType|SetIntegerGameState|SetIntroShotModel|SetIntroShotText|SetItemCharges|SetItemDropID|SetItemDropOnDeath|SetItemDroppable|SetItemInvulnerable|SetItemPawnable|SetItemPlayer|SetItemPosition|'.
'SetItemTypeSlots|SetItemUserData|SetItemVisible|SetLightningColor|SetMapDescription|SetMapFlag|SetMapMusic|SetMapName|SetMissionAvailable|SetMusicPlayPosition|SetMusicVolume|SetOpCinematicAvailable|SetPlayerAbilityAvailable|'.
'SetPlayerAlliance|SetPlayerColor|SetPlayerController|SetPlayerHandicap|SetPlayerHandicapXP|SetPlayerName|SetPlayerOnScoreScreen|SetPlayerRacePreference|SetPlayerRaceSelectable|SetPlayers|SetPlayerStartLocation|SetPlayerState|'.
'SetPlayerTaxRate|SetPlayerTeam|SetPlayerTechMaxAllowed|SetPlayerTechResearched|SetPlayerUnitsOwner|SetRandomSeed|SetRect|SetRectFromLoc|SetReservedLocalHeroButtons|SetResourceAmount|SetResourceDensity|SetSkyModel|SetSoundChannel|'.
'SetSoundConeAngles|SetSoundConeOrientation|SetSoundDistanceCutoff|SetSoundDistances|SetSoundDuration|SetSoundParamsFromLabel|SetSoundPitch|SetSoundPlayPosition|SetSoundPosition|SetSoundVelocity|SetSoundVolume|SetStartLocPrio|'.
'SetStartLocPrioCount|SetTeams|SetTerrainFog|SetTerrainFogEx|SetTerrainPathable|SetTerrainType|SetTextTagAge|SetTextTagColor|SetTextTagFadepoint|SetTextTagLifespan|SetTextTagPermanent|SetTextTagPos|SetTextTagPosUnit|SetTextTagSuspended|'.
'SetTextTagText|SetTextTagVelocity|SetTextTagVisibility|SetThematicMusicPlayPosition|SetTimeOfDayScale|SetTutorialCleared|SetUbersplatRender|SetUbersplatRenderAlways|SetUnitAbilityLevel|SetUnitAcquireRange|SetUnitAnimation|'.
'SetUnitAnimationByIndex|SetUnitAnimationWithRarity|SetUnitBlendTime|SetUnitColor|SetUnitCreepGuard|SetUnitExploded|SetUnitFacing|SetUnitFacingTimed|SetUnitFlyHeight|SetUnitFog|SetUnitInvulnerable|SetUnitLookAt|SetUnitMoveSpeed|'.
'SetUnitOwner|SetUnitPathing|SetUnitPosition|SetUnitPositionLoc|SetUnitPropWindow|SetUnitRescuable|SetUnitRescueRange|SetUnitScale|SetUnitState|SetUnitTimeScale|SetUnitTurnSpeed|SetUnitTypeSlots|SetUnitUseFood|SetUnitUserData|'.
'SetUnitVertexColor|SetUnitX|SetUnitY|SetWaterBaseColor|SetWaterDeforms|SetWidgetLife|ShowDestructable|ShowImage|ShowInterface|ShowUbersplat|ShowUnit|Sin|SquareRoot|StartCampaignAI|StartMeleeAI|StartSound|StopCamera|StopMusic|'.
'StopSound|StoreBoolean|StoreInteger|StoreReal|StoreString|StoreUnit|StringCase|StringLength|SubString|SuspendHeroXP|SuspendTimeOfDay|SyncSelections|SyncStoredBoolean|SyncStoredInteger|SyncStoredReal|SyncStoredString|'.
'SyncStoredUnit|Tan|TerrainDeformCrater|TerrainDeformRandom|TerrainDeformRipple|TerrainDeformStop|TerrainDeformStopAll|TerrainDeformWave|TimerDialogDisplay|TimerDialogSetRealTimeRemaining|TimerDialogSetSpeed|TimerDialogSetTimeColor|'.
'TimerDialogSetTitle|TimerDialogSetTitleColor|TimerGetElapsed|TimerGetRemaining|TimerGetTimeout|TimerStart|TriggerAddAction|TriggerAddCondition|TriggerClearActions|TriggerClearConditions|TriggerEvaluate|TriggerExecute|'.
'TriggerExecuteWait|TriggerRegisterDeathEvent|TriggerRegisterDialogButtonEvent|TriggerRegisterDialogEvent|TriggerRegisterEnterRegion|TriggerRegisterFilterUnitEvent|TriggerRegisterGameEvent|TriggerRegisterGameStateEvent|'.
'TriggerRegisterLeaveRegion|TriggerRegisterPlayerAllianceChange|TriggerRegisterPlayerChatEvent|TriggerRegisterPlayerEvent|TriggerRegisterPlayerStateEvent|TriggerRegisterPlayerUnitEvent|TriggerRegisterTimerEvent|TriggerRegisterTimerExpireEvent|'.
'TriggerRegisterTrackableHitEvent|TriggerRegisterTrackableTrackEvent|TriggerRegisterUnitEvent|TriggerRegisterUnitInRange|TriggerRegisterUnitStateEvent|TriggerRegisterVariableEvent|TriggerRemoveAction|TriggerRemoveCondition|TriggerSleepAction|'.
'TriggerSyncReady|TriggerSyncStart|TriggerWaitForSound|TriggerWaitOnSleeps|UnitAddAbility|UnitAddIndicator|UnitAddItem|UnitAddItemById|UnitAddItemToSlotById|UnitAddSleep|UnitAddSleepPerm|UnitAddType|UnitApplyTimedLife|UnitCanSleep|UnitCanSleepPerm|'.
'UnitCountBuffsEx|UnitDamagePoint|UnitDamageTarget|UnitDropItemPoint|UnitDropItemSlot|UnitDropItemTarget|UnitHasBuffsEx|UnitHasItem|UnitId|UnitId2String|UnitIgnoreAlarm|UnitIgnoreAlarmToggled|UnitInventorySize|UnitIsSleeping|UnitItemInSlot|'.
'UnitMakeAbilityPermanent|UnitModifySkillPoints|UnitPauseTimedLife|UnitPoolAddUnitType|UnitPoolRemoveUnitType|UnitRemoveAbility|UnitRemoveBuffs|UnitRemoveBuffsEx|UnitRemoveItem|UnitRemoveItemFromSlot|UnitRemoveType|UnitResetCooldown|'.
'UnitSetConstructionProgress|UnitSetUpgradeProgress|UnitSetUsesAltIcon|UnitShareVision|UnitStripHeroLevel|UnitSuspendDecay|UnitUseItem|UnitUseItemPoint|UnitUseItemTarget|UnitWakeUp|UnregisterStackedSound|VersionCompatible|VersionGet|'.
'FlushChildHashtable|FlushParentHashtable|GetHandleId|GetTriggerDestructable|HaveSavedBoolean|HaveSavedHandle|HaveSavedInteger|HaveSavedReal|HaveSavedString|InitHashtable|LoadAbilityHandle|LoadBoolean|LoadBooleanExprHandle|LoadButtonHandle|LoadDefeatConditionHandle|'.
'LoadDestructableHandle|LoadDialogHandle|LoadEffectHandle|LoadFogModifierHandle|LoadFogStateHandle|LoadForceHandle|LoadGroupHandle|LoadImageHandle|LoadInteger|LoadItemHandle|LoadItemPoolHandle|LoadLeaderboardHandle|LoadLightningHandle|LoadLocationHandle|LoadMultiboardHandle|'.
'LoadMultiboardItemHandle|LoadPlayerHandle|LoadQuestHandle|LoadQuestItemHandle|LoadReal|LoadRectHandle|LoadRegionHandle|LoadSoundHandle|LoadStr|LoadTextTagHandle|LoadTimerDialogHandle|LoadTimerHandle|LoadTrackableHandle|LoadTriggerActionHandle|LoadTriggerConditionHandle|'.
'LoadTriggerEventHandle|LoadTriggerHandle|LoadUbersplatHandle|LoadUnitHandle|LoadUnitPoolHandle|LoadWidgetHandle|RemoveSavedBoolean|RemoveSavedHandle|RemoveSavedInteger|RemoveSavedReal|RemoveSavedString|SaveAbilityHandle|SaveBoolean|SaveBooleanExprHandle|SaveButtonHandle|'.
'SaveDefeatConditionHandle|SaveDestructableHandle|SaveDialogHandle|SaveEffectHandle|SaveFogModifierHandle|SaveFogStateHandle|SaveForceHandle|SaveGroupHandle|SaveImageHandle|SaveInteger|SaveItemHandle|SaveItemPoolHandle|SaveLeaderboardHandle|SaveLightningHandle|SaveLocationHandle|'.
'SaveMultiboardHandle|SaveMultiboardItemHandle|SavePlayerHandle|SaveQuestHandle|SaveQuestItemHandle|SaveReal|SaveRectHandle|SaveRegionHandle|SaveSoundHandle|SaveStr|SaveTextTagHandle|SaveTimerDialogHandle|SaveTimerHandle|SaveTrackableHandle|SaveTriggerActionHandle|'.
'SaveTriggerConditionHandle|SaveTriggerEventHandle|SaveTriggerHandle|SaveUbersplatHandle|SaveUnitHandle|SaveUnitPoolHandle|SaveWidgetHandle|StringHash|'.
'VersionSupported|VolumeGroupReset|VolumeGroupSetVolume|WaygateActivate|WaygateGetDestinationX|WaygateGetDestinationY|WaygateIsActive|WaygateSetDestination';
$bjs = 'AbortCinematicFadeBJ|AcosBJ|AddHeroXPSwapped|AddItemToStockBJ|AddLightningLoc|AddResourceAmountBJ|AddSpecialEffectLocBJ|AddSpecialEffectTargetUnitBJ|AddUnitAnimationPropertiesBJ|'.
'AddUnitToStockBJ|AddWeatherEffectSaveLast|AdjustCameraBoundsBJ|AdjustCameraBoundsForPlayerBJ|AdjustPlayerStateBJ|AdjustPlayerStateSimpleBJ|AllowVictoryDefeat|AngleBetweenPoints|'.
'AsinBJ|Atan2BJ|AtanBJ|AttachSoundToUnitBJ|BJDebugMsg|BlightGoldMineForPlayer|BlightGoldMineForPlayerBJ|CameraClearNoiseForPlayer|CameraResetSmoothingFactorBJ|CameraSetEQNoiseForPlayer|'.
'CameraSetSmoothingFactorBJ|CameraSetSourceNoiseForPlayer|CameraSetTargetNoiseForPlayer|CameraSetupApplyForPlayer|CameraSetupGetFieldSwap|CancelCineSceneBJ|ChangeElevatorHeight|'.
'ChangeElevatorWallBlocker|ChangeElevatorWalls|CheckInitPlayerSlotAvailability|CheckItemcodeStatus|CheckItemStatus|ChooseRandomCreepBJ|ChooseRandomItemBJ|ChooseRandomItemExBJ|'.
'ChooseRandomNPBuildingBJ|CinematicFadeBJ|CinematicFadeCommonBJ|CinematicFilterGenericBJ|CinematicModeBJ|CinematicModeExBJ|ClearMapMusicBJ|ClearSelectionForPlayer|ClearTextMessagesBJ|'.
'CommentString|CompareLocationsBJ|CompareRectsBJ|ConditionalTriggerExecute|ConfigureNeutralVictim|ContinueCinematicFadeAfterBJ|ContinueCinematicFadeBJ|ConvertedPlayer|CopySaveGameBJ|'.
'CosBJ|CountLivingPlayerUnitsOfTypeId|CountPlayersInForceBJ|CountPlayersInForceEnum|CountUnitsInGroup|CountUnitsInGroupEnum|CreateCorpseLocBJ|CreateDeadDestructableLocBJ|CreateDefeatConditionBJ|'.
'CreateDestructableLoc|CreateFogModifierRadiusLocBJ|CreateFogModifierRadiusLocSimple|CreateFogModifierRectBJ|CreateFogModifierRectSimple|CreateImageBJ|CreateItemLoc|CreateLeaderboardBJ|CreateMultiboardBJ|'.
'CreateNUnitsAtLoc|CreateNUnitsAtLocFacingLocBJ|CreatePermanentCorpseLocBJ|CreateQuestBJ|CreateQuestItemBJ|CreateTextTagLocBJ|CreateTextTagUnitBJ|CreateTimerBJ|CreateTimerDialogBJ|CreateUbersplatBJ|'.
'CreateUnitAtLocSaveLast|CustomDefeatBJ|CustomDefeatDialogBJ|CustomDefeatLoadBJ|CustomDefeatQuitBJ|CustomDefeatReduceDifficultyBJ|CustomDefeatRestartBJ|CustomVictoryBJ|CustomVictoryDialogBJ|CustomVictoryOkBJ|'.
'CustomVictoryQuitBJ|CustomVictorySkipBJ|DecUnitAbilityLevelSwapped|DefeatConditionSetDescriptionBJ|DelayedSuspendDecay|DelayedSuspendDecayBoneEnum|DelayedSuspendDecayCreate|DelayedSuspendDecayFleshEnum|'.
'DelayedSuspendDecayStopAnimEnum|DestroyDefeatConditionBJ|DestroyEffectBJ|DestroyLeaderboardBJ|DestroyLightningBJ|DestroyMultiboardBJ|DestroyQuestBJ|DestroyTextTagBJ|DestroyTimerBJ|DestroyTimerDialogBJ|'.
'DestructableAddIndicatorBJ|DetectGameStarted|DialogAddButtonBJ|DialogAddButtonWithHotkeyBJ|DialogClearBJ|DialogDisplayBJ|DialogSetMessageBJ|DisplayCineFilterBJ|DisplayTextToForce|DisplayTimedTextToForce|'.
'DistanceBetweenPoints|DoesUnitGenerateAlarms|DoNothing|DoTransmissionBasicsXYBJ|EnableCreepSleepBJ|EnableDawnDusk|EnableOcclusionBJ|EnableWorldFogBoundaryBJ|EndGameBJ|EndThematicMusicBJ|EnumDestructablesInCircleBJ|'.
'EnumDestructablesInCircleBJFilter|EnumDestructablesInRectAll|EnumItemsInRectBJ|EnumUnitsSelected|ExplodeUnitBJ|FFAInitPlayerSlots|FindElevatorWallBlockerEnum|FinishCinematicFadeAfterBJ|FinishCinematicFadeBJ|'.
'FlashQuestDialogButtonBJ|FlushGameCacheBJ|FlushStoredMissionBJ|FogEnableOff|FogEnableOn|FogMaskEnableOff|FogMaskEnableOn|ForceAddPlayerSimple|ForceCinematicSubtitlesBJ|ForcePickRandomPlayer|ForcePickRandomPlayerEnum|'.
'ForceRemovePlayerSimple|ForceSetLeaderboardBJ|ForceUICancelBJ|ForceUIKeyBJ|ForGroupBJ|GameOverDialogBJ|GetAbilityEffectBJ|GetAbilityName|GetAbilitySoundBJ|GetAttackedUnitBJ|GetBooleanAnd|GetBooleanOr|GetCameraBoundsMapRect|'.
'GetClickedButtonBJ|GetClickedDialogBJ|GetConvertedPlayerId|GetCurrentCameraBoundsMapRectBJ|GetCurrentCameraSetup|GetDestructableLoc|GetDyingDestructable|GetElevatorHeight|GetEntireMapRect|GetFadeFromSeconds|GetForceOfPlayer|'.
'GetForLoopIndexA|GetForLoopIndexB|GetHeroStatBJ|GetInventoryIndexOfItemTypeBJ|GetIssuedOrderIdBJ|GetItemLifeBJ|GetItemLoc|GetItemOfTypeFromUnitBJ|GetKillingUnitBJ|GetLastCreatedButtonBJ|GetLastCreatedDefeatConditionBJ|'.
'GetLastCreatedDestructable|GetLastCreatedEffectBJ|GetLastCreatedFogModifier|GetLastCreatedGameCacheBJ|GetLastCreatedGroup|GetLastCreatedGroupEnum|GetLastCreatedImage|GetLastCreatedItem|GetLastCreatedLeaderboard|'.
'GetLastCreatedLightningBJ|GetLastCreatedMultiboard|GetLastCreatedQuestBJ|GetLastCreatedQuestItemBJ|GetLastCreatedTerrainDeformation|GetLastCreatedTextTag|GetLastCreatedTimerBJ|GetLastCreatedTimerDialogBJ|GetLastCreatedUbersplat|'.
'GetLastCreatedUnit|GetLastCreatedWeatherEffect|GetLastHauntedGoldMine|GetLastPlayedMusic|GetLastPlayedSound|GetLastRemovedItem|GetLastReplacedUnitBJ|GetLastRestoredUnitBJ|GetLastTransmissionDurationBJ|GetLearnedSkillBJ|'.
'GetLightningColorABJ|GetLightningColorBBJ|GetLightningColorGBJ|GetLightningColorRBJ|GetLoadedUnitBJ|GetPlayableMapRect|GetPlayerHandicapBJ|GetPlayerHandicapXPBJ|GetPlayersAll|GetPlayersAllies|GetPlayersByMapControl|'.
'GetPlayersEnemies|GetPlayersMatching|GetPlayerStartLocationLoc|GetPlayerStartLocationX|GetPlayerStartLocationY|GetPlayerTaxRateBJ|GetPlayerTechCountSimple|GetPlayerTechMaxAllowedSwap|GetRandomDirectionDeg|GetRandomLocInRect|'.
'GetRandomPercentageBJ|GetRandomSubGroup|GetRandomSubGroupEnum|GetRectCenter|GetRectFromCircleBJ|GetRectHeightBJ|GetRectWidthBJ|GetSoundDurationBJ|GetSoundFileDurationBJ|GetSoundIsPlayingBJ|GetStoredBooleanBJ|GetStoredIntegerBJ|'.
'GetStoredRealBJ|GetStoredStringBJ|GetTerrainCliffLevelBJ|GetTerrainTypeBJ|GetTerrainVarianceBJ|GetTimeOfDay|GetTimeOfDayScalePercentBJ|GetTransmissionDuration|GetTransportUnitBJ|GetUnitAbilityLevelSwapped|GetUnitDefaultPropWindowBJ|'.
'GetUnitLifePercent|GetUnitManaPercent|GetUnitPropWindowBJ|GetUnitsInRangeOfLocAll|GetUnitsInRangeOfLocMatching|GetUnitsInRectAll|GetUnitsInRectMatching|GetUnitsInRectOfPlayer|GetUnitsInRectOfPlayerFilter|GetUnitsOfPlayerAll|'.
'GetUnitsOfPlayerAndTypeId|GetUnitsOfPlayerAndTypeIdFilter|GetUnitsOfPlayerMatching|GetUnitsOfTypeIdAll|GetUnitsOfTypeIdAllFilter|GetUnitsSelectedAll|GetUnitStatePercent|GetUnitStateSwap|GroupAddGroup|GroupAddGroupEnum|GroupAddUnitSimple|'.
'GroupImmediateOrderBJ|GroupPickRandomUnit|GroupPickRandomUnitEnum|GroupPointOrderLocBJ|GroupRemoveGroup|GroupRemoveGroupEnum|GroupRemoveUnitSimple|GroupTargetDestructableOrder|GroupTargetItemOrder|GroupTargetOrderBJ|GroupTrainOrderByIdBJ|'.
'HaveStoredValue|IAbsBJ|IMaxBJ|IMinBJ|IncUnitAbilityLevelSwapped|InitBlizzard|InitBlizzardGlobals|InitDNCSounds|InitGameCacheBJ|InitGenericPlayerSlots|InitMapRects|InitNeutralBuildings|InitQueuedTriggers|InitRescuableBehaviorBJ|InitSummonableCaps|'.
'IntegerTertiaryOp|IsCustomCampaignButtonVisibile|IsDawnDuskEnabled|IsDestructableAliveBJ|IsDestructableDeadBJ|IsDestructableInvulnerableBJ|ISignBJ|IsItemHiddenBJ|IsPlayerFlagSetBJ|IsPlayerSlotState|IsPointBlightedBJ|IssueBuildOrderByIdLocBJ|'.
'IssueHauntOrderAtLocBJ|IssueHauntOrderAtLocBJFilter|IssueImmediateOrderBJ|IssuePointOrderLocBJ|IssueTargetDestructableOrder|IssueTargetItemOrder|IssueTargetOrderBJ|IssueTrainOrderByIdBJ|IssueUpgradeOrderByIdBJ|IsTerrainPathableBJ|'.
'IsTriggerQueuedBJ|IsTriggerQueueEmptyBJ|IsUnitAliveBJ|IsUnitDeadBJ|IsUnitGroupDeadBJ|IsUnitGroupDeadBJEnum|IsUnitGroupEmptyBJ|IsUnitGroupEmptyBJEnum|IsUnitGroupInRectBJ|IsUnitGroupInRectBJEnum|IsUnitHiddenBJ|IsUnitIllusionBJ|IsUnitInTransportBJ|'.
'IsUnitLoadedBJ|IsUnitPausedBJ|ItemAddIndicatorBJ|KillSoundWhenDoneBJ|LeaderboardAddItemBJ|LeaderboardDisplayBJ|LeaderboardGetIndexedPlayerBJ|LeaderboardGetItemCountBJ|LeaderboardGetPlayerIndexBJ|LeaderboardHasPlayerItemBJ|LeaderboardRemovePlayerItemBJ|'.
'LeaderboardResizeBJ|LeaderboardSetLabelBJ|LeaderboardSetLabelColorBJ|LeaderboardSetPlayerItemLabelBJ|LeaderboardSetPlayerItemLabelColorBJ|LeaderboardSetPlayerItemStyleBJ|LeaderboardSetPlayerItemValueBJ|LeaderboardSetPlayerItemValueColorBJ|'.
'LeaderboardSetStyleBJ|LeaderboardSetValueColorBJ|LeaderboardSortItemsBJ|LeaderboardSortItemsByLabelBJ|LeaderboardSortItemsByPlayerBJ|LivingPlayerUnitsOfTypeIdFilter|LoadGameBJ|LockGameSpeedBJ|LockGuardPosition|MakeUnitRescuableToForceBJ|'.
'MakeUnitRescuableToForceBJEnum|MakeUnitsPassiveForPlayer|MakeUnitsPassiveForPlayerEnum|MakeUnitsPassiveForTeam|MarkGameStarted|MeleeCheckAddedUnit|MeleeCheckForCrippledPlayers|MeleeCheckForLosersAndVictors|MeleeCheckForVictors|MeleeCheckLostUnit|'.
'MeleeClearExcessUnit|MeleeClearExcessUnits|MeleeClearNearbyUnits|MeleeCrippledPlayerTimeout|MeleeDefeatDialogBJ|MeleeDoDefeat|MeleeDoDefeatEnum|MeleeDoDrawEnum|MeleeDoLeave|MeleeDoVictoryEnum|MeleeEnumFindNearestMine|MeleeExposeAllPlayers|'.
'MeleeExposePlayer|MeleeFindNearestMine|MeleeGetAllyCount|MeleeGetAllyKeyStructureCount|MeleeGetAllyStructureCount|MeleeGetCrippledRevealedMessage|MeleeGetCrippledTimerMessage|MeleeGetCrippledWarningMessage|MeleeGetLocWithinRect|MeleeGetNearestValueWithin|'.
'MeleeGetProjectedLoc|MeleeGrantHeroItems|MeleeGrantItemsToHero|MeleeGrantItemsToHiredHero|MeleeGrantItemsToTrainedHero|MeleeInitPlayerSlots|MeleeInitVictoryDefeat|MeleePlayerIsCrippled|MeleePlayerIsOpponent|MeleeRandomHeroLoc|MeleeRemoveObservers|'.
'MeleeStartingAI|MeleeStartingHeroLimit|MeleeStartingResources|MeleeStartingUnits|MeleeStartingUnitsForPlayer|MeleeStartingUnitsHuman|MeleeStartingUnitsNightElf|MeleeStartingUnitsOrc|MeleeStartingUnitsUndead|MeleeStartingUnitsUnknownRace|MeleeStartingVisibility|'.
'MeleeTournamentFinishNowRuleA|MeleeTrainedUnitIsHeroBJFilter|MeleeTriggerActionAllianceChange|MeleeTriggerActionConstructCancel|MeleeTriggerActionPlayerDefeated|MeleeTriggerActionPlayerLeft|MeleeTriggerActionUnitConstructionStart|MeleeTriggerActionUnitDeath|'.
'MeleeTriggerTournamentFinishNow|MeleeTriggerTournamentFinishSoon|MeleeVictoryDialogBJ|MeleeWasUserPlayer|ModifyGateBJ|ModifyHeroSkillPoints|ModifyHeroStat|ModuloInteger|ModuloReal|MoveLightningLoc|MultiboardAllowDisplayBJ|MultiboardDisplayBJ|MultiboardMinimizeBJ|'.
'MultiboardSetItemColorBJ|MultiboardSetItemIconBJ|MultiboardSetItemStyleBJ|MultiboardSetItemValueBJ|MultiboardSetItemWidthBJ|MultiboardSetTitleTextColorBJ|NearbyElevatorExists|NearbyElevatorExistsEnum|NudgeItemsInRectEnum|NudgeObjectsInRect|NudgeUnitsInRectEnum|'.
'OffsetLocation|OffsetRectBJ|OneOnOneInitPlayerSlots|OrderId2StringBJ|PanCameraToForPlayer|PanCameraToLocForPlayer|PanCameraToTimedForPlayer|PanCameraToTimedLocForPlayer|PanCameraToTimedLocWithZForPlayer|PauseAllUnitsBJ|PauseAllUnitsBJEnum|PauseGameOff|'.
'PauseGameOn|PauseTimerBJ|PauseUnitBJ|PercentTo255|PercentToInt|PerformStockUpdates|PickMeleeAI|PingMinimapForForce|PingMinimapForForceEx|PingMinimapForPlayer|PingMinimapLocForForce|PingMinimapLocForForceEx|PingMinimapLocForPlayer|PlayerGetLeaderboardBJ|'.
'PlayersAreCoAllied|PlayMusicBJ|PlayMusicExBJ|PlaySound|PlaySoundAtPointBJ|PlaySoundBJ|PlaySoundFromOffsetBJ|PlaySoundOnUnitBJ|PlayThematicMusicBJ|PlayThematicMusicExBJ|PolarProjectionBJ|PolledWait|PostTriggerExecuteBJ|QuestItemSetCompletedBJ|'.
'QuestItemSetDescriptionBJ|QuestMessageBJ|QuestSetCompletedBJ|QuestSetDescriptionBJ|QuestSetDiscoveredBJ|QuestSetEnabledBJ|QuestSetFailedBJ|QuestSetTitleBJ|QueueDestructableAnimationBJ|QueuedTriggerAddBJ|QueuedTriggerAttemptExec|QueuedTriggerCheck|'.
'QueuedTriggerClearBJ|QueuedTriggerClearInactiveBJ|QueuedTriggerCountBJ|QueuedTriggerDoneBJ|QueuedTriggerGetIndex|QueuedTriggerRemoveBJ|QueuedTriggerRemoveByIndex|QueueUnitAnimationBJ|RAbsBJ|RandomDestructableInRectBJ|RandomDestructableInRectBJEnum|'.
'RandomDestructableInRectSimpleBJ|RandomDistAddItem|RandomDistChoose|RandomDistReset|RandomItemInRectBJ|RandomItemInRectBJEnum|RandomItemInRectSimpleBJ|RectContainsCoords|RectContainsItem|RectContainsLoc|RectContainsUnit|RectFromCenterSizeBJ|'.
'ReducePlayerTechMaxAllowed|RegisterDestDeathInRegionEnum|RemoveItemFromStockBJ|RemovePlayerPreserveUnitsBJ|RemovePurchasedItem|RemoveSaveDirectoryBJ|RemoveUnitFromStockBJ|RemoveWeatherEffectBJ|RenameSaveDirectoryBJ|ReplaceUnitBJ|RescueUnitBJ|'.
'ResetTerrainFogBJ|ResetToGameCameraForPlayer|ResetUnitAnimation|RestoreUnitLocFacingAngleBJ|RestoreUnitLocFacingPointBJ|ResumeMusicBJ|RMaxBJ|RMinBJ|RotateCameraAroundLocBJ|RSignBJ|SaveAndChangeLevelBJ|SaveAndLoadGameBJ|SaveDyingWidget|'.
'SaveGameCacheBJ|SelectGroupBJ|SelectGroupBJEnum|SelectGroupForPlayerBJ|SelectUnitAdd|SelectUnitAddForPlayer|SelectUnitForPlayerSingle|SelectUnitRemove|SelectUnitRemoveForPlayer|SelectUnitSingle|SetAmbientDaySound|SetAmbientNightSound|'.
'SetBlightRadiusLocBJ|SetBlightRectBJ|SetCameraBoundsToRect|SetCameraBoundsToRectForPlayerBJ|SetCameraFieldForPlayer|SetCameraOrientControllerForPlayerBJ|SetCameraPositionForPlayer|SetCameraPositionLocForPlayer|SetCameraQuickPositionForPlayer|'.
'SetCameraQuickPositionLoc|SetCameraQuickPositionLocForPlayer|SetCameraTargetControllerNoZForPlayer|SetCampaignAvailableBJ|SetCampaignMenuRaceBJ|SetCinematicAvailableBJ|SetCinematicCameraForPlayer|SetCinematicSceneBJ|SetCineModeVolumeGroupsBJ|'.
'SetCineModeVolumeGroupsImmediateBJ|SetDestAnimationSpeedPercent|SetDestructableAnimationBJ|SetDestructableInvulnerableBJ|SetDestructableLifePercentBJ|SetDestructableMaxLifeBJ|SetDNCSoundsDawn|SetDNCSoundsDay|SetDNCSoundsDusk|SetDNCSoundsNight|'.
'SetDoodadAnimationBJ|SetDoodadAnimationRectBJ|SetForceAllianceStateBJ|SetForLoopIndexA|SetForLoopIndexB|SetHeroLevelBJ|SetHeroStat|SetImageColorBJ|SetImagePositionBJ|SetItemDropOnDeathBJ|SetItemDroppableBJ|SetItemInvulnerableBJ|SetItemLifeBJ|'.
'SetItemPlayerBJ|SetItemPositionLoc|SetItemVisibleBJ|SetLightningColorBJ|SetMapMusicIndexedBJ|SetMapMusicRandomBJ|SetMissionAvailableBJ|SetMusicOffsetBJ|SetMusicVolumeBJ|SetNextLevelBJ|SetPlayerAbilityAvailableBJ|SetPlayerAllianceBJ|'.
'SetPlayerAllianceStateAllyBJ|SetPlayerAllianceStateBJ|SetPlayerAllianceStateControlBJ|SetPlayerAllianceStateFullControlBJ|SetPlayerAllianceStateVisionBJ|SetPlayerColorBJ|SetPlayerColorBJEnum|SetPlayerFlagBJ|SetPlayerHandicapBJ|'.
'SetPlayerHandicapXPBJ|SetPlayerMaxHeroesAllowed|SetPlayerOnScoreScreenBJ|SetPlayerSlotAvailable|SetPlayerStateBJ|SetPlayerTaxRateBJ|SetPlayerTechMaxAllowedSwap|SetPlayerTechResearchedSwap|SetPlayerUnitAvailableBJ|SetRescueBuildingColorChangeBJ|'.
'SetRescueUnitColorChangeBJ|SetSoundConeAnglesBJ|SetSoundDistanceCutoffBJ|SetSoundOffsetBJ|SetSoundPitchBJ|SetSoundPositionLocBJ|SetSoundVolumeBJ|SetSpeechVolumeGroupsBJ|SetSpeechVolumeGroupsImmediateBJ|SetStackedSoundBJ|SetTerrainFogExBJ|'.
'SetTerrainPathableBJ|SetTerrainTypeBJ|SetTextTagAgeBJ|SetTextTagColorBJ|SetTextTagFadepointBJ|SetTextTagLifespanBJ|SetTextTagPermanentBJ|SetTextTagPosBJ|SetTextTagPosUnitBJ|SetTextTagSuspendedBJ|SetTextTagTextBJ|SetTextTagVelocityBJ|'.
'SetThematicMusicOffsetBJ|SetTimeOfDay|SetTimeOfDayScalePercentBJ|SetUnitAbilityLevelSwapped|SetUnitAcquireRangeBJ|SetUnitBlendTimeBJ|SetUnitExplodedBJ|SetUnitFacingToFaceLocTimed|SetUnitFacingToFaceUnitTimed|SetUnitFlyHeightBJ|SetUnitLifeBJ|'.
'SetUnitLifePercentBJ|SetUnitManaBJ|SetUnitManaPercentBJ|SetUnitPositionLocFacingBJ|SetUnitPositionLocFacingLocBJ|SetUnitPropWindowBJ|SetUnitRallyDestructable|SetUnitRallyPoint|SetUnitRallyUnit|SetUnitScalePercent|SetUnitTimeScalePercent|'.
'SetUnitTurnSpeedBJ|SetUnitUseFoodBJ|SetUnitVertexColorBJ|SetUserControlForceOff|SetUserControlForceOn|SetWaterBaseColorBJ|ShareEverythingWithTeam|ShareEverythingWithTeamAI|ShowCustomCampaignButton|ShowDestructableBJ|ShowImageBJ|ShowInterfaceForceOff|'.
'ShowInterfaceForceOn|ShowTextTagForceBJ|ShowUbersplatBJ|ShowUnitHide|ShowUnitShow|SinBJ|SmartCameraPanBJ|StartSoundForPlayerBJ|StartStockUpdates|StartTimerBJ|StopCameraForPlayerBJ|StopMusicBJ|StopSoundBJ|StoreBooleanBJ|StoreIntegerBJ|StoreRealBJ|'.
'StoreStringBJ|StoreUnitBJ|String2OrderIdBJ|String2UnitIdBJ|StringIdentity|SubStringBJ|SuspendHeroXPBJ|TanBJ|TeamInitPlayerSlots|TerrainDeformationCraterBJ|TerrainDeformationRandomBJ|TerrainDeformationRippleBJ|TerrainDeformationStopBJ|TerrainDeformationWaveBJ|'.
'TextTagSize2Height|TextTagSpeed2Velocity|TimerDialogDisplayBJ|TimerDialogDisplayForPlayerBJ|TimerDialogSetSpeedBJ|TimerDialogSetTimeColorBJ|TimerDialogSetTitleBJ|TimerDialogSetTitleColorBJ|TransmissionFromUnitTypeWithNameBJ|TransmissionFromUnitWithNameBJ|'.
'TriggerActionUnitRescuedBJ|TriggerExecuteBJ|TriggerRegisterAnyUnitEventBJ|TriggerRegisterBuildSubmenuEventBJ|TriggerRegisterDestDeathInRegionEvent|TriggerRegisterDialogEventBJ|TriggerRegisterDistanceBetweenUnits|TriggerRegisterEnterRectSimple|TriggerRegisterEnterRegionSimple|'.
'TriggerRegisterGameLoadedEventBJ|TriggerRegisterGameSavedEventBJ|TriggerRegisterGameStateEventTimeOfDay|TriggerRegisterLeaveRectSimple|TriggerRegisterLeaveRegionSimple|TriggerRegisterPlayerEventAllianceChanged|TriggerRegisterPlayerEventDefeat|TriggerRegisterPlayerEventEndCinematic|'.
'TriggerRegisterPlayerEventLeave|TriggerRegisterPlayerEventVictory|TriggerRegisterPlayerKeyEventBJ|TriggerRegisterPlayerSelectionEventBJ|TriggerRegisterPlayerUnitEventSimple|TriggerRegisterShowSkillEventBJ|TriggerRegisterTimerEventPeriodic|TriggerRegisterTimerEventSingle|'.
'TriggerRegisterTimerExpireEventBJ|TriggerRegisterUnitInRangeSimple|TriggerRegisterUnitLifeEvent|TriggerRegisterUnitManaEvent|TryInitCinematicBehaviorBJ|TryInitRescuableTriggersBJ|UnitAddAbilityBJ|UnitAddIndicatorBJ|UnitAddItemByIdSwapped|UnitAddItemSwapped|UnitAddTypeBJ|'.
'UnitApplyTimedLifeBJ|UnitCanSleepBJ|UnitCountBuffsExBJ|UnitDamagePointLoc|UnitDamageTargetBJ|UnitDropItem|UnitDropItemPointBJ|UnitDropItemPointLoc|UnitDropItemSlotBJ|UnitDropItemTargetBJ|UnitGenerateAlarms|UnitHasBuffBJ|UnitHasItemOfTypeBJ|UnitId2OrderIdBJ|UnitId2StringBJ|'.
'UnitInventoryCount|UnitInventorySizeBJ|UnitIsSleepingBJ|UnitItemInSlotBJ|UnitMakeAbilityPermanentBJ|UnitPauseTimedLifeBJ|UnitRemoveAbilityBJ|UnitRemoveBuffBJ|UnitRemoveBuffsBJ|UnitRemoveBuffsExBJ|UnitRemoveItemFromSlotSwapped|UnitRemoveItemSwapped|UnitRemoveTypeBJ|'.
'UnitSetCanSleepBJ|UnitSetUsesAltIconBJ|UnitShareVisionBJ|UnitSuspendDecayBJ|UnitUseItemDestructable|UnitUseItemPointLoc|UnitWakeUpBJ|UnlockGameSpeedBJ|UpdateEachStockBuilding|UpdateEachStockBuildingEnum|UpdateStockAvailability|UseTimeOfDayBJ|VolumeGroupResetBJ|'.
'VolumeGroupResetImmediateBJ|VolumeGroupSetVolumeBJ|VolumeGroupSetVolumeForPlayerBJ|WaitForSoundBJ|WaitTransmissionDuration|WakePlayerUnits|WakePlayerUnitsEnum|WaygateActivateBJ|WaygateGetDestinationLocBJ|WaygateIsActiveBJ|WaygateSetDestinationLocBJ|WidgetDropItem|'.
'FlushChildHashtableBJ|FlushParentHashtableBJ|GetHandleIdBJ|GetLastCreatedHashtableBJ|HaveSavedValue|InitHashtableBJ|LoadAbilityHandleBJ|LoadBooleanBJ|LoadBooleanExprHandleBJ|LoadButtonHandleBJ|LoadDefeatConditionHandleBJ|LoadDestructableHandleBJ|LoadDialogHandleBJ|'.
'LoadEffectHandleBJ|LoadFogModifierHandleBJ|LoadFogStateHandleBJ|LoadForceHandleBJ|LoadGroupHandleBJ|LoadImageHandleBJ|LoadIntegerBJ|LoadItemHandleBJ|LoadItemPoolHandleBJ|LoadLeaderboardHandleBJ|LoadLightningHandleBJ|LoadLocationHandleBJ|LoadMultiboardHandleBJ|'.
'LoadMultiboardItemHandleBJ|LoadPlayerHandleBJ|LoadQuestHandleBJ|LoadQuestItemHandleBJ|LoadRealBJ|LoadRectHandleBJ|LoadRegionHandleBJ|LoadSoundHandleBJ|LoadStringBJ|LoadTextTagHandleBJ|LoadTimerDialogHandleBJ|LoadTimerHandleBJ|LoadTrackableHandleBJ|LoadTriggerActionHandleBJ|'.
'LoadTriggerConditionHandleBJ|LoadTriggerEventHandleBJ|LoadTriggerHandleBJ|LoadUbersplatHandleBJ|LoadUnitHandleBJ|LoadUnitPoolHandleBJ|LoadWidgetHandleBJ|SaveAbilityHandleBJ|SaveBooleanBJ|SaveBooleanExprHandleBJ|SaveButtonHandleBJ|SaveDefeatConditionHandleBJ|'.
'SaveDestructableHandleBJ|SaveDialogHandleBJ|SaveEffectHandleBJ|SaveFogModifierHandleBJ|SaveFogStateHandleBJ|SaveForceHandleBJ|SaveGroupHandleBJ|SaveImageHandleBJ|SaveIntegerBJ|SaveItemHandleBJ|SaveItemPoolHandleBJ|SaveLeaderboardHandleBJ|SaveLightningHandleBJ|'.
'SaveLocationHandleBJ|SaveMultiboardHandleBJ|SaveMultiboardItemHandleBJ|SavePlayerHandleBJ|SaveQuestHandleBJ|SaveQuestItemHandleBJ|SaveRealBJ|SaveRectHandleBJ|SaveRegionHandleBJ|SaveSoundHandleBJ|SaveStringBJ|SaveTextTagHandleBJ|SaveTimerDialogHandleBJ|SaveTimerHandleBJ|'.
'SaveTrackableHandleBJ|SaveTriggerActionHandleBJ|SaveTriggerConditionHandleBJ|SaveTriggerEventHandleBJ|SaveTriggerHandleBJ|SaveUbersplatHandleBJ|SaveUnitHandleBJ|SaveUnitPoolHandleBJ|SaveWidgetHandleBJ|StoreBooleanBJ|StoreIntegerBJ|StoreRealBJ|StringHashBJ';
$constants = 'AI_DIFFICULTY_INSANE|AI_DIFFICULTY_NEWBIE|AI_DIFFICULTY_NORMAL|ALLIANCE_HELP_REQUEST|ALLIANCE_HELP_RESPONSE|'.
'ALLIANCE_PASSIVE|ALLIANCE_RESCUABLE|ALLIANCE_SHARED_ADVANCED_CONTROL|ALLIANCE_SHARED_CONTROL|ALLIANCE_SHARED_SPELLS|'.
'ALLIANCE_SHARED_VISION|ALLIANCE_SHARED_VISION_FORCED|ALLIANCE_SHARED_XP|ATTACK_TYPE_CHAOS|ATTACK_TYPE_HERO|'.
'ATTACK_TYPE_MAGIC|ATTACK_TYPE_MELEE|ATTACK_TYPE_NORMAL|ATTACK_TYPE_PIERCE|ATTACK_TYPE_SIEGE|BLEND_MODE_ADDITIVE|'.
'BLEND_MODE_BLEND|BLEND_MODE_DONT_CARE|BLEND_MODE_KEYALPHA|BLEND_MODE_MODULATE|BLEND_MODE_MODULATE_2X|BLEND_MODE_NONE|'.
'CAMERA_FIELD_ANGLE_OF_ATTACK|CAMERA_FIELD_FARZ|CAMERA_FIELD_FIELD_OF_VIEW|CAMERA_FIELD_ROLL|CAMERA_FIELD_ROTATION|'.
'CAMERA_FIELD_TARGET_DISTANCE|CAMERA_FIELD_ZOFFSET|CAMERA_MARGIN_BOTTOM|CAMERA_MARGIN_LEFT|CAMERA_MARGIN_RIGHT|'.
'CAMERA_MARGIN_TOP|DAMAGE_TYPE_ACID|DAMAGE_TYPE_COLD|DAMAGE_TYPE_DEATH|DAMAGE_TYPE_DEFENSIVE|DAMAGE_TYPE_DEMOLITION|'.
'DAMAGE_TYPE_DISEASE|DAMAGE_TYPE_DIVINE|DAMAGE_TYPE_ENHANCED|DAMAGE_TYPE_FIRE|DAMAGE_TYPE_FORCE|DAMAGE_TYPE_LIGHTNING|'.
'DAMAGE_TYPE_MAGIC|DAMAGE_TYPE_MIND|DAMAGE_TYPE_NORMAL|DAMAGE_TYPE_PLANT|DAMAGE_TYPE_POISON|DAMAGE_TYPE_SHADOW_STRIKE|'.
'DAMAGE_TYPE_SLOW_POISON|DAMAGE_TYPE_SONIC|DAMAGE_TYPE_SPIRIT_LINK|DAMAGE_TYPE_UNIVERSAL|DAMAGE_TYPE_UNKNOWN|'.
'EFFECT_TYPE_AREA_EFFECT|EFFECT_TYPE_CASTER|EFFECT_TYPE_EFFECT|EFFECT_TYPE_LIGHTNING|EFFECT_TYPE_MISSILE|'.
'EFFECT_TYPE_SPECIAL|EFFECT_TYPE_TARGET|EQUAL|EVENT_DIALOG_BUTTON_CLICK|EVENT_DIALOG_CLICK|EVENT_GAME_BUILD_SUBMENU|'.
'EVENT_GAME_END_LEVEL|EVENT_GAME_ENTER_REGION|EVENT_GAME_LEAVE_REGION|EVENT_GAME_LOADED|EVENT_GAME_SAVE|'.
'EVENT_GAME_SHOW_SKILL|EVENT_GAME_STATE_LIMIT|EVENT_GAME_TIMER_EXPIRED|EVENT_GAME_TOURNAMENT_FINISH_NOW|'.
'EVENT_GAME_TOURNAMENT_FINISH_SOON|EVENT_GAME_TRACKABLE_HIT|EVENT_GAME_TRACKABLE_TRACK|EVENT_GAME_VARIABLE_LIMIT|'.
'EVENT_GAME_VICTORY|EVENT_PLAYER_ALLIANCE_CHANGED|EVENT_PLAYER_ARROW_DOWN_DOWN|EVENT_PLAYER_ARROW_DOWN_UP|'.
'EVENT_PLAYER_ARROW_LEFT_DOWN|EVENT_PLAYER_ARROW_LEFT_UP|EVENT_PLAYER_ARROW_RIGHT_DOWN|EVENT_PLAYER_ARROW_RIGHT_UP|'.
'EVENT_PLAYER_ARROW_UP_DOWN|EVENT_PLAYER_ARROW_UP_UP|EVENT_PLAYER_CHAT|EVENT_PLAYER_DEFEAT|EVENT_PLAYER_END_CINEMATIC|'.
'EVENT_PLAYER_HERO_LEVEL|EVENT_PLAYER_HERO_REVIVABLE|EVENT_PLAYER_HERO_REVIVE_CANCEL|EVENT_PLAYER_HERO_REVIVE_FINISH|'.
'EVENT_PLAYER_HERO_REVIVE_START|EVENT_PLAYER_HERO_SKILL|EVENT_PLAYER_LEAVE|EVENT_PLAYER_STATE_LIMIT|'.
'EVENT_PLAYER_UNIT_ATTACKED|EVENT_PLAYER_UNIT_CHANGE_OWNER|EVENT_PLAYER_UNIT_CONSTRUCT_CANCEL|'.
'EVENT_PLAYER_UNIT_CONSTRUCT_FINISH|EVENT_PLAYER_UNIT_CONSTRUCT_START|EVENT_PLAYER_UNIT_DEATH|EVENT_PLAYER_UNIT_DECAY|'.
'EVENT_PLAYER_UNIT_DESELECTED|EVENT_PLAYER_UNIT_DETECTED|EVENT_PLAYER_UNIT_DROP_ITEM|EVENT_PLAYER_UNIT_HIDDEN|'.
'EVENT_PLAYER_UNIT_ISSUED_ORDER|EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER|EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER|'.
'EVENT_PLAYER_UNIT_ISSUED_UNIT_ORDER|EVENT_PLAYER_UNIT_LOADED|EVENT_PLAYER_UNIT_PAWN_ITEM|EVENT_PLAYER_UNIT_PICKUP_ITEM|'.
'EVENT_PLAYER_UNIT_RESCUED|EVENT_PLAYER_UNIT_RESEARCH_CANCEL|EVENT_PLAYER_UNIT_RESEARCH_FINISH|'.
'EVENT_PLAYER_UNIT_RESEARCH_START|EVENT_PLAYER_UNIT_SELECTED|EVENT_PLAYER_UNIT_SELL|EVENT_PLAYER_UNIT_SELL_ITEM|'.
'EVENT_PLAYER_UNIT_SPELL_CAST|EVENT_PLAYER_UNIT_SPELL_CHANNEL|EVENT_PLAYER_UNIT_SPELL_EFFECT|'.
'EVENT_PLAYER_UNIT_SPELL_ENDCAST|EVENT_PLAYER_UNIT_SPELL_FINISH|EVENT_PLAYER_UNIT_SUMMON|EVENT_PLAYER_UNIT_TRAIN_CANCEL|'.
'EVENT_PLAYER_UNIT_TRAIN_FINISH|EVENT_PLAYER_UNIT_TRAIN_START|EVENT_PLAYER_UNIT_UPGRADE_CANCEL|'.
'EVENT_PLAYER_UNIT_UPGRADE_FINISH|EVENT_PLAYER_UNIT_UPGRADE_START|EVENT_PLAYER_UNIT_USE_ITEM|EVENT_PLAYER_VICTORY|'.
'EVENT_UNIT_ACQUIRED_TARGET|EVENT_UNIT_ATTACKED|EVENT_UNIT_CHANGE_OWNER|EVENT_UNIT_CONSTRUCT_CANCEL|'.
'EVENT_UNIT_CONSTRUCT_FINISH|EVENT_UNIT_DAMAGED|EVENT_UNIT_DEATH|EVENT_UNIT_DECAY|EVENT_UNIT_DESELECTED|'.
'EVENT_UNIT_DETECTED|EVENT_UNIT_DROP_ITEM|EVENT_UNIT_HERO_LEVEL|EVENT_UNIT_HERO_REVIVABLE|EVENT_UNIT_HERO_REVIVE_CANCEL|'.
'EVENT_UNIT_HERO_REVIVE_FINISH|EVENT_UNIT_HERO_REVIVE_START|EVENT_UNIT_HERO_SKILL|EVENT_UNIT_HIDDEN|'.
'EVENT_UNIT_ISSUED_ORDER|EVENT_UNIT_ISSUED_POINT_ORDER|EVENT_UNIT_ISSUED_TARGET_ORDER|EVENT_UNIT_LOADED|'.
'EVENT_UNIT_PAWN_ITEM|EVENT_UNIT_PICKUP_ITEM|EVENT_UNIT_RESCUED|EVENT_UNIT_RESEARCH_CANCEL|EVENT_UNIT_RESEARCH_FINISH|'.
'EVENT_UNIT_RESEARCH_START|EVENT_UNIT_SELECTED|EVENT_UNIT_SELL|EVENT_UNIT_SELL_ITEM|EVENT_UNIT_SPELL_CAST|'.
'EVENT_UNIT_SPELL_CHANNEL|EVENT_UNIT_SPELL_EFFECT|EVENT_UNIT_SPELL_ENDCAST|EVENT_UNIT_SPELL_FINISH|'.
'EVENT_UNIT_STATE_LIMIT|EVENT_UNIT_SUMMON|EVENT_UNIT_TARGET_IN_RANGE|EVENT_UNIT_TRAIN_CANCEL|EVENT_UNIT_TRAIN_FINISH|'.
'EVENT_UNIT_TRAIN_START|EVENT_UNIT_UPGRADE_CANCEL|EVENT_UNIT_UPGRADE_FINISH|EVENT_UNIT_UPGRADE_START|'.
'EVENT_UNIT_USE_ITEM|EVENT_WIDGET_DEATH|FALSE|FOG_OF_WAR_FOGGED|FOG_OF_WAR_MASKED|FOG_OF_WAR_VISIBLE|'.
'GAME_STATE_DISCONNECTED|GAME_STATE_DIVINE_INTERVENTION|GAME_STATE_TIME_OF_DAY|GAME_TYPE_BLIZ|GAME_TYPE_FFA|'.
'GAME_TYPE_FOUR_TEAM_PLAY|GAME_TYPE_MELEE|GAME_TYPE_ONE_ON_ONE|GAME_TYPE_THREE_TEAM_PLAY|GAME_TYPE_TWO_TEAM_PLAY|'.
'GAME_TYPE_USE_MAP_SETTINGS|GREATER_THAN|GREATER_THAN_OR_EQUAL|ITEM_TYPE_ANY|ITEM_TYPE_ARTIFACT|ITEM_TYPE_CAMPAIGN|'.
'ITEM_TYPE_CHARGED|ITEM_TYPE_MISCELLANEOUS|ITEM_TYPE_PERMANENT|ITEM_TYPE_POWERUP|ITEM_TYPE_PURCHASABLE|ITEM_TYPE_TOME|'.
'ITEM_TYPE_UNKNOWN|JASS_MAX_ARRAY_SIZE|LESS_THAN|LESS_THAN_OR_EQUAL|MAP_ALLIANCE_CHANGES_HIDDEN|MAP_CHEATS|'.
'MAP_CHEATS_HIDDEN|MAP_CONTROL_COMPUTER|MAP_CONTROL_CREEP|MAP_CONTROL_NEUTRAL|MAP_CONTROL_NONE|MAP_CONTROL_RESCUABLE|'.
'MAP_CONTROL_USER|MAP_DENSITY_HEAVY|MAP_DENSITY_LIGHT|MAP_DENSITY_MEDIUM|MAP_DENSITY_NONE|MAP_DIFFICULTY_EASY|'.
'MAP_DIFFICULTY_HARD|MAP_DIFFICULTY_INSANE|MAP_DIFFICULTY_NORMAL|MAP_FIXED_COLORS|MAP_FOG_ALWAYS_VISIBLE|'.
'MAP_FOG_HIDE_TERRAIN|MAP_FOG_MAP_EXPLORED|MAP_LOC_PRIO_HIGH|MAP_LOC_PRIO_LOW|MAP_LOC_PRIO_NOT|'.
'MAP_LOCK_ALLIANCE_CHANGES|MAP_LOCK_RANDOM_SEED|MAP_LOCK_RESOURCE_TRADING|MAP_LOCK_SPEED|MAP_OBSERVERS|'.
'MAP_OBSERVERS_ON_DEATH|MAP_PLACEMENT_FIXED|MAP_PLACEMENT_RANDOM|MAP_PLACEMENT_TEAMS_TOGETHER|'.
'MAP_PLACEMENT_USE_MAP_SETTINGS|MAP_RANDOM_HERO|MAP_RANDOM_RACES|MAP_RELOADED|MAP_RESOURCE_TRADING_ALLIES_ONLY|'.
'MAP_SHARED_ADVANCED_CONTROL|MAP_SPEED_FAST|MAP_SPEED_FASTEST|MAP_SPEED_NORMAL|MAP_SPEED_SLOW|MAP_SPEED_SLOWEST|'.
'MAP_USE_HANDICAPS|NOT_EQUAL|PATHING_TYPE_AMPHIBIOUSPATHING|PATHING_TYPE_ANY|PATHING_TYPE_BLIGHTPATHING|'.
'PATHING_TYPE_BUILDABILITY|PATHING_TYPE_FLOATABILITY|PATHING_TYPE_FLYABILITY|PATHING_TYPE_PEONHARVESTPATHING|'.
'PATHING_TYPE_WALKABILITY|PLAYER_COLOR_AQUA|PLAYER_COLOR_BLUE|PLAYER_COLOR_BROWN|PLAYER_COLOR_CYAN|PLAYER_COLOR_GREEN|'.
'PLAYER_COLOR_LIGHT_BLUE|PLAYER_COLOR_LIGHT_GRAY|PLAYER_COLOR_ORANGE|PLAYER_COLOR_PINK|PLAYER_COLOR_PURPLE|'.
'PLAYER_COLOR_RED|PLAYER_COLOR_YELLOW|PLAYER_GAME_RESULT_DEFEAT|PLAYER_GAME_RESULT_NEUTRAL|PLAYER_GAME_RESULT_TIE|'.
'PLAYER_GAME_RESULT_VICTORY|PLAYER_NEUTRAL_AGGRESSIVE|PLAYER_NEUTRAL_PASSIVE|PLAYER_SCORE_FOOD_MAXPROD|'.
'PLAYER_SCORE_FOOD_MAXUSED|PLAYER_SCORE_GOLD_GIVEN|PLAYER_SCORE_GOLD_LOST_TAX|PLAYER_SCORE_GOLD_LOST_UPKEEP|'.
'PLAYER_SCORE_GOLD_MINED_TOTAL|PLAYER_SCORE_GOLD_MINED_UPKEEP|PLAYER_SCORE_GOLD_RECEIVED|PLAYER_SCORE_HERO_TOTAL|'.
'PLAYER_SCORE_HEROES_KILLED|PLAYER_SCORE_ITEMS_GAINED|PLAYER_SCORE_LUMBER_GIVEN|PLAYER_SCORE_LUMBER_LOST_TAX|'.
'PLAYER_SCORE_LUMBER_LOST_UPKEEP|PLAYER_SCORE_LUMBER_RECEIVED|PLAYER_SCORE_LUMBER_TOTAL|PLAYER_SCORE_MERCS_HIRED|'.
'PLAYER_SCORE_RESOURCE_TOTAL|PLAYER_SCORE_STRUCT_BUILT|PLAYER_SCORE_STRUCT_RAZED|PLAYER_SCORE_TECH_PERCENT|'.
'PLAYER_SCORE_TOTAL|PLAYER_SCORE_UNIT_TOTAL|PLAYER_SCORE_UNITS_KILLED|PLAYER_SCORE_UNITS_TRAINED|'.
'PLAYER_SLOT_STATE_EMPTY|PLAYER_SLOT_STATE_LEFT|PLAYER_SLOT_STATE_PLAYING|PLAYER_STATE_ALLIED_VICTORY|'.
'PLAYER_STATE_FOOD_CAP_CEILING|PLAYER_STATE_GAME_RESULT|PLAYER_STATE_GIVES_BOUNTY|PLAYER_STATE_GOLD_GATHERED|'.
'PLAYER_STATE_GOLD_UPKEEP_RATE|PLAYER_STATE_LUMBER_GATHERED|PLAYER_STATE_LUMBER_UPKEEP_RATE|'.
'PLAYER_STATE_NO_CREEP_SLEEP|PLAYER_STATE_OBSERVER|PLAYER_STATE_OBSERVER_ON_DEATH|PLAYER_STATE_PLACED|'.
'PLAYER_STATE_RESOURCE_FOOD_CAP|PLAYER_STATE_RESOURCE_FOOD_USED|PLAYER_STATE_RESOURCE_GOLD|'.
'PLAYER_STATE_RESOURCE_HERO_TOKENS|PLAYER_STATE_RESOURCE_LUMBER|PLAYER_STATE_UNFOLLOWABLE|RACE_DEMON|RACE_HUMAN|'.
'RACE_NIGHTELF|RACE_ORC|RACE_OTHER|RACE_PREF_DEMON|RACE_PREF_HUMAN|RACE_PREF_NIGHTELF|RACE_PREF_ORC|RACE_PREF_RANDOM|'.
'RACE_PREF_UNDEAD|RACE_PREF_USER_SELECTABLE|RACE_UNDEAD|RARITY_FREQUENT|RARITY_RARE|SOUND_TYPE_EFFECT|'.
'SOUND_TYPE_EFFECT_LOOPED|SOUND_VOLUMEGROUP_AMBIENTSOUNDS|SOUND_VOLUMEGROUP_COMBAT|SOUND_VOLUMEGROUP_FIRE|'.
'SOUND_VOLUMEGROUP_MUSIC|SOUND_VOLUMEGROUP_SPELLS|SOUND_VOLUMEGROUP_UI|SOUND_VOLUMEGROUP_UNITMOVEMENT|'.
'SOUND_VOLUMEGROUP_UNITSOUNDS|TEXMAP_FLAG_NONE|TEXMAP_FLAG_WRAP_U|TEXMAP_FLAG_WRAP_UV|TEXMAP_FLAG_WRAP_V|TRUE|'.
'UNIT_STATE_LIFE|UNIT_STATE_MANA|UNIT_STATE_MAX_LIFE|UNIT_STATE_MAX_MANA|UNIT_TYPE_ANCIENT|UNIT_TYPE_ATTACKS_FLYING|'.
'UNIT_TYPE_ATTACKS_GROUND|UNIT_TYPE_DEAD|UNIT_TYPE_ETHEREAL|UNIT_TYPE_FLYING|UNIT_TYPE_GIANT|UNIT_TYPE_GROUND|'.
'UNIT_TYPE_HERO|UNIT_TYPE_MAGIC_IMMUNE|UNIT_TYPE_MECHANICAL|UNIT_TYPE_MELEE_ATTACKER|UNIT_TYPE_PEON|UNIT_TYPE_PLAGUED|'.
'UNIT_TYPE_POISONED|UNIT_TYPE_POLYMORPHED|UNIT_TYPE_RANGED_ATTACKER|UNIT_TYPE_RESISTANT|UNIT_TYPE_SAPPER|'.
'UNIT_TYPE_SLEEPING|UNIT_TYPE_SNARED|UNIT_TYPE_STRUCTURE|UNIT_TYPE_STUNNED|UNIT_TYPE_SUMMONED|UNIT_TYPE_TAUREN|'.
'UNIT_TYPE_TOWNHALL|UNIT_TYPE_UNDEAD|VERSION_FROZEN_THRONE|VERSION_REIGN_OF_CHAOS|WEAPON_TYPE_AXE_MEDIUM_CHOP|'.
'WEAPON_TYPE_CLAW_HEAVY_SLICE|WEAPON_TYPE_CLAW_LIGHT_SLICE|WEAPON_TYPE_CLAW_MEDIUM_SLICE|WEAPON_TYPE_METAL_HEAVY_BASH|'.
'WEAPON_TYPE_METAL_HEAVY_CHOP|WEAPON_TYPE_METAL_HEAVY_SLICE|WEAPON_TYPE_METAL_HEAVY_STAB|WEAPON_TYPE_METAL_LIGHT_CHOP|'.
'WEAPON_TYPE_METAL_LIGHT_SLICE|WEAPON_TYPE_METAL_MEDIUM_BASH|WEAPON_TYPE_METAL_MEDIUM_CHOP|'.
'WEAPON_TYPE_METAL_MEDIUM_SLICE|WEAPON_TYPE_METAL_MEDIUM_STAB|WEAPON_TYPE_ROCK_HEAVY_BASH|WEAPON_TYPE_WHOKNOWS|'.
'WEAPON_TYPE_WOOD_HEAVY_BASH|WEAPON_TYPE_WOOD_HEAVY_SLICE|WEAPON_TYPE_WOOD_LIGHT_BASH|WEAPON_TYPE_WOOD_LIGHT_SLICE|'.
'WEAPON_TYPE_WOOD_LIGHT_STAB|WEAPON_TYPE_WOOD_MEDIUM_BASH|WEAPON_TYPE_WOOD_MEDIUM_SLICE|WEAPON_TYPE_WOOD_MEDIUM_STAB';
$content = str_replace("\t", ' ', $content);
$content = trim($content, "\n\r");
// We want to get rid of the extra spaces in the beginning of lines.
// The line with the least spaces before it should have 0 spaces, and
// the rest should have (the amount they had) - (the amount the one with least had).
$lines = explode("\n", $content);
$count = count($lines);
$offset = -1;
$min = 1000;
for($i = 0; $i < $count AND $min != 0; $i++) {
if (preg_match('/[^ \0\n\r]/', $lines[$i])) {
$parts = preg_split('/[^( )]/', $lines[$i], 2);
$spaces = $parts[0];
$min = min($min, strlen($spaces));
} elseif ($offset == $i - 1)
$offset = $i;
}
if ($min != 0) {
$content = "";
for($i = $offset + 1; $i < $count; $i++)
$content .= preg_replace('/^( ){'. $min .'}/', '', $lines[$i]) . "\n";
}
$content .= "\n";
$separators = array('\\\\.', "\n", "\/\/", "\/\*", "\*\/", $singQuote, $quote, $highlight);
$elements = preg_split('/('. join('|', $separators) .')/', $content, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
$inString = false;
$inComment = false;
$inRawcode = false;
$longComment = 0;
$inHighlight = false;
$final = "";
$tempStr = "";
$length = 0;
foreach($elements as $element) {
if ($inString) {
if ($element == $quote) { // String ends
$final .= $quote . '</span>';
$inString = false;
} else
if (preg_match('/\\\./', $element))
$final .= '<span style=' . $escapeStyle . '>' . $element . '</span>';
else
$final .= preg_replace('/</', '<', $element);
} elseif ($inComment) {
if ($element == "\n") { // Comment ends
$final .= rtrim($tempStr) . "</span>\n";
$inComment = false;
$tempStr = "";
} else {
$tempStr .= preg_replace('/</', '<', $element);
}
} elseif ($inRawcode) {
if ($element == $singQuote OR $element == "\n") { // Rawcode ends
if ($element == $singQuote AND ($length == 4 OR $length == 1))
$final .= '<span style='. $rawcodeStyle .">'" . $tempStr . "'</span>";
else
$final .= "'" . $tempStr . $element;
$tempStr = "";
$inRawcode = false;
$length = 0;
} else
if (preg_match('/\\\./', $element)) {
$tempStr .= preg_replace('/</', '<', $element);
$length += 1;
} else {
$tempStr .= preg_replace('/</', '<', $element);
$length += strlen($element);
}
} elseif ($longComment) {
if ($element == "/*") { // A nested comment.
$longComment++;
$tempStr .= '/*';
} elseif ($element == "*/") { // A (nested?) comment ends.
$longComment--;
$tempStr .= '*/';
if ($longComment == 0) { // The comment ends.
$final .= $tempStr . "</span>";
$tempStr = '';
}
} else { // Comment text.
$tempStr .= preg_replace('/</', '<', $element);
}
} elseif ($element == $quote) { // String starts
$final .= '<span style='. $stringStyle .'>'. $quote;
$inString = true;
} elseif ($element == "//") { // Comment starts
$final .= '<span style='. $commentStyle .'>//';
$inComment = true;
} elseif ($element == "'") { // Rawcode starts
$inRawcode = true;
} elseif ($element == "/*") { // Long comment starts
$longComment = 1;
$tempStr = '<span style='. $commentStyle .'>/*';
} else { // Normal code.
if ($element == $highlight)
if ($inHighlight) { // Highlight ends
$final .= '</span>';
$inHighlight = false;
} else { // Highlight ends
$final .= '<span style='. $highlightStyle .'>';
$inHighlight = true;
}
else {
$element = preg_replace('/(' . $operators . ')/', '<span style=' . $operatorStyle . '>\\0</span>', $element);
//$element = preg_replace('/\b\d+\.\d+\b/', '<span style=' . $valueStyle . '>\\0</span>', $element);
$element = preg_replace('/\b(\d+\.)\B/', '<span style=' . $valueStyle . '>\\0</span>', $element);
$element = preg_replace('/\B(\.\d+)\b/', '<span style=' . $valueStyle . '>\\0</span>', $element);
//$element = preg_replace('/\b(\d+)\b/', '<span style=' . $valueStyle . '>\\0</span>', $element);
$element = preg_replace('/\b\d+(\.\d+){0,1}\b/', '<span style=' . $valueStyle . '>\\0</span>', $element);
$element = preg_replace('/\b0x[0-9a-f]*\b/', '<span style=' . $valueStyle . '>\\0</span>', $element);
$element = preg_replace('/\b('. $blocks .')\b/', '<span style=' . $blockStyle . '>\\0</span>', $element);
$element = preg_replace('/\b('. $keywords .')\b/', '<span style=' . $keywordStyle . '>\\0</span>', $element);
$element = preg_replace('/\b('. $types .')\b/', '<span style=' . $typeStyle . '>\\0</span>', $element);
$element = preg_replace('/\b('. $bjglobals .')/', '<span style=' . $bjGlobalStyle . '>\\0</span>', $element);
$element = preg_replace('/\b('. $values . ')\b/', '<span style=' . $valueStyle . '>\\0</span>', $element);
$element = preg_replace('/\b('. $natives .')\b/', '<span style=' . $nativeStyle . '>\\0</span>', $element);
$element = preg_replace('/\b('. $bjs .')\b/', '<span style=' . $bjStyle . '>\\0</span>', $element);
$element = preg_replace('/\b('. $constants .')\b/', '<span style='. $constantsStyle .'>\\0</span>', $element);
$element = preg_replace('/\. *[A-Za-z]+[A-Za-z0-9]*(_+[A-Za-z0-9]+)*/', '<span style=' . $memberStyle . '>\\0</span>', $element);
$final .= $element;
}
}
}
$final = preg_replace('/<span style='. $commentStyle .'>\/\/!/', '<span style='. $compilerStyle .'>//!', $final);
$final = preg_replace('/<span style='. $memberStyle .'>./', '<span style='. $memberDotStyle .'>.</span><span style='. $memberStyle .'>', $final);
if ($inHighlight)
$final .= '</span>';
return rtrim($final);
}
Attachments
Last edited: