├── .gitignore ├── CHANGELOG.md ├── README.md ├── archive ├── CHIMERA_LUA_DOCS_2_X_X.pdf └── SAPP_DOCS_2.5.pdf ├── blam.lua ├── debug_bundle.json ├── docs └── CHIMERA_LUA.md ├── examples ├── console_commands.lua ├── haloworld.lua ├── invisibility.lua ├── requests_example.lua └── ui.lua ├── img ├── blam-logo.png └── blam-logo.rli ├── lua ├── debug.lua ├── docs │ ├── balltze.lua │ ├── engine.lua │ ├── fmt.lua │ └── types │ │ ├── balltzeCommonTypes.lua │ │ ├── balltzeEvent.lua │ │ ├── engineCore.lua │ │ ├── engineDataTypes.lua │ │ ├── engineGameState.lua │ │ ├── engineMap.lua │ │ ├── engineNetgame.lua │ │ ├── engineRenderer.lua │ │ ├── engineTag.lua │ │ ├── engineUserInterface.lua │ │ └── tag_data │ │ ├── engineTagDataActor.lua │ │ ├── engineTagDataActorVariant.lua │ │ ├── engineTagDataAntenna.lua │ │ ├── engineTagDataBiped.lua │ │ ├── engineTagDataBitfield.lua │ │ ├── engineTagDataBitmap.lua │ │ ├── engineTagDataCameraTrack.lua │ │ ├── engineTagDataColorTable.lua │ │ ├── engineTagDataContinuousDamageEffect.lua │ │ ├── engineTagDataContrail.lua │ │ ├── engineTagDataDamageEffect.lua │ │ ├── engineTagDataDecal.lua │ │ ├── engineTagDataDetailObjectCollection.lua │ │ ├── engineTagDataDevice.lua │ │ ├── engineTagDataDeviceControl.lua │ │ ├── engineTagDataDeviceLightFixture.lua │ │ ├── engineTagDataDeviceMachine.lua │ │ ├── engineTagDataDialogue.lua │ │ ├── engineTagDataEffect.lua │ │ ├── engineTagDataEnum.lua │ │ ├── engineTagDataEquipment.lua │ │ ├── engineTagDataFlag.lua │ │ ├── engineTagDataFog.lua │ │ ├── engineTagDataFont.lua │ │ ├── engineTagDataGarbage.lua │ │ ├── engineTagDataGbxmodel.lua │ │ ├── engineTagDataGlobals.lua │ │ ├── engineTagDataGlow.lua │ │ ├── engineTagDataGrenadeHudInterface.lua │ │ ├── engineTagDataHudGlobals.lua │ │ ├── engineTagDataHudInterfaceTypes.lua │ │ ├── engineTagDataHudMessageText.lua │ │ ├── engineTagDataHudNumber.lua │ │ ├── engineTagDataInputDeviceDefaults.lua │ │ ├── engineTagDataItem.lua │ │ ├── engineTagDataItemCollection.lua │ │ ├── engineTagDataLensFlare.lua │ │ ├── engineTagDataLight.lua │ │ ├── engineTagDataLightVolume.lua │ │ ├── engineTagDataLightning.lua │ │ ├── engineTagDataMaterialEffects.lua │ │ ├── engineTagDataMeter.lua │ │ ├── engineTagDataModel.lua │ │ ├── engineTagDataModelAnimations.lua │ │ ├── engineTagDataModelCollisionGeometry.lua │ │ ├── engineTagDataMultiplayerScenarioDescription.lua │ │ ├── engineTagDataObject.lua │ │ ├── engineTagDataParticle.lua │ │ ├── engineTagDataParticleSystem.lua │ │ ├── engineTagDataPhysics.lua │ │ ├── engineTagDataPlaceholder.lua │ │ ├── engineTagDataPointPhysics.lua │ │ ├── engineTagDataPreferencesNetworkGame.lua │ │ ├── engineTagDataProjectile.lua │ │ ├── engineTagDataScenario.lua │ │ ├── engineTagDataScenarioStructureBsp.lua │ │ ├── engineTagDataScenery.lua │ │ ├── engineTagDataShader.lua │ │ ├── engineTagDataShaderEnvironment.lua │ │ ├── engineTagDataShaderModel.lua │ │ ├── engineTagDataShaderTransparentChicago.lua │ │ ├── engineTagDataShaderTransparentChicagoExtended.lua │ │ ├── engineTagDataShaderTransparentGeneric.lua │ │ ├── engineTagDataShaderTransparentGlass.lua │ │ ├── engineTagDataShaderTransparentMeter.lua │ │ ├── engineTagDataShaderTransparentPlasma.lua │ │ ├── engineTagDataShaderTransparentWater.lua │ │ ├── engineTagDataSky.lua │ │ ├── engineTagDataSound.lua │ │ ├── engineTagDataSoundEnvironment.lua │ │ ├── engineTagDataSoundLooping.lua │ │ ├── engineTagDataSoundScenery.lua │ │ ├── engineTagDataStringList.lua │ │ ├── engineTagDataTagCollection.lua │ │ ├── engineTagDataUiWidgetDefinition.lua │ │ ├── engineTagDataUnicodeStringList.lua │ │ ├── engineTagDataUnit.lua │ │ ├── engineTagDataUnitHudInterface.lua │ │ ├── engineTagDataVehicle.lua │ │ ├── engineTagDataVirtualKeyboard.lua │ │ ├── engineTagDataWeapon.lua │ │ ├── engineTagDataWeaponHudInterface.lua │ │ ├── engineTagDataWeatherParticleSystem.lua │ │ └── engineTagDataWind.lua ├── modules │ ├── bit.lua │ ├── blam.lua │ ├── compat53 │ │ ├── init.lua │ │ └── module.lua │ ├── debug │ │ ├── README.md │ │ ├── commands.lua │ │ └── game.lua │ ├── glue.lua │ ├── inspect.lua │ ├── luaunit.lua │ ├── luna.lua │ ├── unicode.lua │ └── utf8string.lua └── tools │ ├── scripts │ └── sceneryMapper.lua │ ├── tag.lua │ ├── ustr.lua │ └── widget.lua ├── tests ├── blam-test.lua └── chimera-test.lua └── testsBundle.json /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Lua sources 2 | luac.out 3 | 4 | # luarocks build files 5 | *.src.rock 6 | *.zip 7 | *.tar.gz 8 | 9 | # Object files 10 | *.o 11 | *.os 12 | *.ko 13 | *.obj 14 | *.elf 15 | 16 | # Precompiled Headers 17 | *.gch 18 | *.pch 19 | 20 | # Libraries 21 | *.lib 22 | *.a 23 | *.la 24 | *.lo 25 | *.def 26 | *.exp 27 | 28 | # Shared objects (inc. Windows DLLs) 29 | *.dll 30 | *.so 31 | *.so.* 32 | *.dylib 33 | 34 | # Executables 35 | *.exe 36 | *.out 37 | *.app 38 | *.i*86 39 | *.x86_64 40 | *.hex 41 | 42 | # VS Code 43 | .vscode 44 | 45 | # Projects folder, release, etc 46 | dist/ 47 | tags/* 48 | data/* -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | # 1.8.0 4 | - Added `console_debug` function, allows to print debug messages to the console 5 | - Added experimental angle rotation functions 6 | - Added experimental properties for `player` structure 7 | 8 | # 1.7.0 9 | - Added color properties for objects that allow changing from A -> D with lower and upper variants 10 | - Added requests implementation for client and server side 11 | - Added more SAPP bindings 12 | - Added `getObjectIdBySyncedIndex` returns an object id for a network synced object given synced index 13 | - Fixed minor annotation issues 14 | - Added `scale` property to `object` structure, allows to change object scale 15 | - Added `maxHealth` property to `object` structure 16 | - Added `maxShield` property to `object` structure 17 | - Added `parentObjectId` property to `object` structure 18 | - Added `firstWeaponObjectId` property to `object` structure from 1st to 4th weapon index 19 | - Added `carrierObjectId` property to `weapon` structure 20 | - Added `isInInventory` property to `weapon` structure 21 | - Added `primaryTriggerState` property to `weapon` structure 22 | - Added `totalAmmo` property to `weapon` structure 23 | - Added `loadedAmmo` property to `weapon` structure 24 | - Fixed a typo in `positionGroupIndex` for `deviceMachine` structure 25 | - Added `blam.null` defintion, returns 0xFFFFFFFF 26 | 27 | # 1.6.0 28 | - Improved annotations (add better autocompletion, new variables, etc) 29 | - Added new SAPP bindings 30 | - Fixed some functions return 31 | - Added `isApparentlyDead` and `isSilentlyKilled` properties to `blamObject` structure 32 | 33 | # 1.5.1 34 | - Minor fixes 35 | 36 | # 1.5.0 37 | - Added `findTag` and `findTagsList` functions to search tags using a keyword or partial tag path 38 | 39 | Example: 40 | ```lua 41 | -- Returns first Tag found matching keyworkd in the tag path, if no tag was found 42 | local assaultRifle = blam.findTag("assault", blam.tagClasses.weapon) 43 | --- assaultRifle.id 44 | --- assaultRifle.path 45 | --- assaultRifle.class 46 | --- assaultRifle.index 47 | --- assaultRifle.indexed 48 | 49 | -- Returns a Tag list of multiple matching keywords, nil if no tags found 50 | local weapons = blam.findTagsList("weapons\\", blam.tagClasses.weapon) 51 | for _, weaponTag in pairs(weapons) do 52 | --- weaponTag.id 53 | --- weaponTag.path 54 | --- weaponTag.class 55 | --- weaponTag.index 56 | --- weaponTag.indexed 57 | end 58 | ``` 59 | - Fixed wrong chimera functions annotations 60 | - Fixed bad count reading on `list` type object properties 61 | - Added `cutsceneFlag` property to `scenario` structure 62 | 63 | Example: 64 | ```lua 65 | local cutsceneFlag = blam.scenario(0).cutsceneFlags[1] 66 | --- cutsceneFlag.name 67 | --- cutsceneFlag.x 68 | --- cutsceneFlag.y 69 | --- cutsceneFlag.z 70 | --- cutsceneFlag.vX 71 | --- cutsceneFlag.vY 72 | ``` 73 | - Improved EmmyLua autocompletion, added more Chimera and SAPP functions/bindings 74 | - Added more properties to `uiWidgetDefintion` tag structure 75 | 76 | # 1.4.0 77 | - Added `getDeviceGroup` function, similar util function to `getTag` and `getObject` but oriented 78 | to device machines 79 | 80 | Example: 81 | ```lua 82 | -- Blam uses a on memory table to store data about device machines state changes 83 | -- This function provides an easy way to retrieve data from that table 84 | 85 | -- Get device machine object properties 86 | local machine = blam.deviceMachine(get_object(machineAddress)) 87 | -- This does not return accurate data on the server side, just in client side 88 | local currentMachinePosition = machine.position 89 | -- Luckily this works on server and client but just for retrieving data, not writing 90 | local desiredMachinePosition = blam.getDeviceGroup(machine.positionGroupIndex) 91 | ``` 92 | - Added `getObject` function, similar util function to `getTag` 93 | 94 | Example: 95 | ```lua 96 | -- Helps to keep a unique codebase due to SAPP limitations to only retrieve data by id 97 | 98 | -- Get blam object by index 99 | local object = blam.getObject(1) 100 | 101 | -- Get blam object by id 102 | local object = blam.getObject(3526457484) 103 | ``` 104 | - Added few handy functions to get game host mode 105 | ```lua 106 | blam.isGameHost() 107 | blam.isGameSinglePlayer() 108 | blam.isGameDedicated() 109 | blam.isGameSAPP() 110 | ``` 111 | - Added `hudGlobals` tag structure, returns data from hud globals tags 112 | 113 | Example: 114 | ```lua 115 | local hudGlobals = blam.hudGlobals(3464573488) 116 | -- hudGlobals.anchor 117 | -- hudGlobals.x 118 | -- hudGlobals.y 119 | -- hudGlobals.width 120 | -- hudGlobals.height 121 | -- hudGlobals.upTime 122 | -- hudGlobals.fadeTime 123 | -- hudGlobals.iconColorA 124 | -- hudGlobals.iconColorR 125 | -- hudGlobals.iconColorG 126 | -- hudGlobals.iconColorB 127 | -- hudGlobals.textSpacing 128 | ``` 129 | - Added `deviceMachine` object structure, returns data from machine objects 130 | 131 | Example: 132 | ```lua 133 | local machine = blam.deviceMachine(get_object(machineAddress)) 134 | -- machine.powerGroupIndex 135 | -- machine.power 136 | -- machine.powerChange 137 | -- machine.positonGroupIndex 138 | -- machine.position 139 | -- machine.positionChange 140 | ``` 141 | - Added `bipedTag` structure, returns data from biped tags 142 | 143 | Example: 144 | ```lua 145 | local cyborgBipedTag = blam.bipedTag(34574363363) 146 | -- cyborgBipedTag.disableCollision 147 | ``` 148 | - Moved `mostRecentDamagerPlayer` property to `biped` structure 149 | - Moved `vehicleObjectId` property to `biped` structure 150 | - Fixed wrong class declaration in `firstPersonInterface` annotation 151 | - Added new blam engine general addresses 152 | - Added property `isCollideable` and `hasNoCollision` to `object` structure 153 | - Added `bipedTag` structure, returns data from a biped tag 154 | - Fixed missing return annotation in property `spawnLocationList` for `scenario` structure 155 | - Added `nameIndex` property to `object` structure 156 | - Added `objectNamesCount` property to `scenario` structure 157 | - Added `objectNames` property to `scenario` structure 158 | Example: 159 | ```lua 160 | local scenario = blam.scenario() 161 | console_out(scenario.objectNames[1]) -- "covenant_box" 162 | ``` 163 | 164 | # 1.3.0 165 | - Fixed jump structure intepretation on property `sequences` on `bitmap` structure 166 | - Fixed return annotation for property `sequences` on `bitmap` structure 167 | - Added `walkingState` property to `biped` structure 168 | - Added `motionState` property to `biped` structure 169 | - Added `kills` property to `player` structure 170 | - Fixed a missing return annotation to function `blam.player` 171 | - Added `firstPerson` object structure, returns data from player first person elements 172 | 173 | Example: 174 | ```lua 175 | -- Get first person object 176 | local firstPerson = blam.firstPerson() 177 | -- firstPerson.weaponObjectId 178 | ``` 179 | 180 | - Added `weapon` object structure, returns data from weapon objects 181 | 182 | Example: 183 | ```lua 184 | -- Get weapon object data 185 | local weapon = blam.weapon(get_object(weaponObjectAddress)) 186 | -- weapon.isWeaponPunching 187 | -- weapon.pressedReloadKey 188 | ``` 189 | 190 | - Added `getJoystickInput` method, returns input data from the joystick attached to to the 191 | game 192 | 193 | Example: 194 | ```lua 195 | -- Get button 1 input from the controller 196 | local button1 = blam.getJoystickInput(blam.joystickInputs.button1) 197 | if (button1) then 198 | console_out("Button 1 is being pressed!") 199 | end 200 | ``` 201 | 202 | - Added `globalsTag` structure, it returns some data from the globals tag from the map 203 | 204 | Example: 205 | ```lua 206 | -- Looks for "globals\\globals" by default if there is no tag path or tag id 207 | local globals = blam.globalsTag() 208 | -- globals.multiplayerInformation[1].flag 209 | -- globals.multiplayerInformation[1].unit 210 | -- globals.firstPersonInterface[1].firstPersonHands 211 | 212 | -- NOTE: For some reason the game handles multiplayer info and first person interface as an static array of one index 213 | -- That's why we need to access the first element in the list to interact with the data 214 | ``` 215 | **Warning:** Like almost every tag reference on lua-blam it only considers tag id reference, 216 | attempting to replace these properties this with a different tag type can result in game crashes, 217 | also the property is a list/array by default due to how the game expects that globals data. 218 | 219 | # 1.2.0 220 | - Added `vehicleObjectId` property to `object` structure 221 | - Added 222 | - Added `vehicleSeatIndex` property to `biped` structure 223 | - Added `player` structure, it returns data from the players table entry 224 | 225 | Example 226 | ```lua 227 | local playerData = blam.player(get_object()) 228 | -- playerData.id 229 | -- playerData.host 230 | -- playerData.name 231 | -- playerData.team 232 | -- playerData.objectId 233 | -- playerData.color 234 | -- playerData.speed 235 | -- playerData.ping 236 | ``` 237 | - Updated description for `landing` property on `biped` structure 238 | - Updated descriptions for `model` structure 239 | - Deprecated and renamed property from `frozen` to `isFrozen` on `object` structure, still compatible under `frozen` name until next major relase, autocompletion will recommend `isFrozen` hereinafter 240 | 241 | # 1.1.0 242 | - Fixed a problem with autocompletion for the `weaponHudInterface` structure 243 | - Added `x` and `y` properties to `weaponHudInterface` structure 244 | - Added `landing` property to `biped` structure 245 | 246 | # 1.0.0 247 | - Initial release -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # lua-blam 2 | 3 | 4 | Lua module to handle Halo Custom Edition game engine on runtime 5 | 6 | ## What is lua-blam? 7 | Is a Lua module for scripting that allows you to handle Halo Custom Edition memory as objects 8 | (tables) in your script, it also includes some features as API extension and unification between 9 | Chimera and SAPP. 10 | 11 | ## What is intended for? 12 | LuaBlam aims to make easier and more understandable scripts providing simple syntax and accessible 13 | API functions making a standard for game memory editing. 14 | 15 | ## Why should I use it? 16 | Scripting with raw low level functions to edit memory can lead to undesirable situations where you 17 | can introduce lot of harmful errors if you are not careful enough to maintain your code secure and 18 | continuously tested, also readability for your code is key when it comes to open source scripts or 19 | collaborative work, lua-blam is perfect for both, keeping all the memory handling isolated and tested 20 | separately and helping developers to write simpler and understandable code with good abstraction. 21 | 22 | ## Highlights 23 | - Simple to implement and simple to learn 24 | - Highly customizable 25 | - Cross-platform (Chimera, SAPP) 26 | - In code documentation 27 | - Auto completion (using [EmmyLua](https://github.com/EmmyLua) via [Sumneko's Lua Language Server](https://marketplace.visualstudio.com/items?itemName=sumneko.lua)) 28 | 29 | ## Scripting using lua-blam: 30 | ```lua 31 | -- Make current player invisible with flashlight key 32 | local player = blam.biped(get_dynamic_player()) 33 | if player then 34 | if player.flashlightKey then 35 | player.invisible = true 36 | end 37 | end 38 | ``` 39 | 40 | ## Scripting WITHOUT lua-blam: 41 | ```lua 42 | -- Make current player invisible with flashlight key 43 | local playerAddress = get_dynamic_player() 44 | if playerAddress then 45 | local player = get_object(playerAddress) 46 | if player then 47 | local playerFlashlightKey = read_bit(player + 0x208, 8) 48 | if playerFlashlightKey == 1 then 49 | write_bit(player + 0x204, 4, 1) 50 | end 51 | end 52 | end 53 | ``` 54 | 55 | ## Visual Studio Code Integration with [Sumneko's Lua Language Server](https://marketplace.visualstudio.com/items?itemName=sumneko.lua):![lua-blamvscode](https://i.imgur.com/Ai2SuFH.gif) 56 | 57 | ## Installation 58 | Place a copy of the `blam.lua` file in the project folder of your script to enable autocompletion, 59 | to use this module on Halo Custom Edition you need to place the `blam.lua` on the lua modules 60 | of your chimera folder `My Games\Halo CE\chimera\lua\modules`, however if you want to distribute your 61 | script with this module builtin you can take a look at bundling modular lua scripts using 62 | [Mercury](https://github.com/Sledmine/Mercury). 63 | 64 | ## Documentation 65 | As mentioned above lua-blam provides in code documentation, basically by using EmmyLua all the 66 | documentation needed can be found via autocompletion of the IDE. 67 | 68 | Give a look to the examples folder in this repository for real use cases and examples of how to use implement lua-blam. 69 | 70 | There is a documentation for Chimera Lua scripting on this repository, also a Changelog is 71 | hosted here: 72 | 73 | - [Chimera Lua API Documentation](docs/CHIMERA_LUA.md) 74 | - [ARCHIVED - SAPP Documentation](archive/SAPP_DOCS_2.5.pdf) 75 | - [ARCHIVED - Chimera Lua API Documentation](archive/CHIMERA_LUA_DOCS_2_X_X.pdf) 76 | - [Changelog](CHANGELOG.md) 77 | 78 | ## Support 79 | If you want to have assistance about how to use this module, join the 80 | [Shadowmods Discord Server](https://discord.shadowmods.net/) to get help on the scripting channel. 81 | -------------------------------------------------------------------------------- /archive/CHIMERA_LUA_DOCS_2_X_X.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sledmine/lua-blam/db505ddccc6a334dfdb570f03c32560c416fe766/archive/CHIMERA_LUA_DOCS_2_X_X.pdf -------------------------------------------------------------------------------- /archive/SAPP_DOCS_2.5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sledmine/lua-blam/db505ddccc6a334dfdb570f03c32560c416fe766/archive/SAPP_DOCS_2.5.pdf -------------------------------------------------------------------------------- /debug_bundle.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Debug Modding Tools", 3 | "target": "lua53", 4 | "include": [ 5 | "lua", 6 | "lua/modules" 7 | ], 8 | "modules": [], 9 | "main": "lua/debug", 10 | "output": "dist/debug.lua" 11 | } -------------------------------------------------------------------------------- /examples/console_commands.lua: -------------------------------------------------------------------------------- 1 | -- Commands (Chimera Script) 2 | -- Example of how to use Chimera custom commands with blam 3 | 4 | -- Import blam module 5 | local blam = require "blam" 6 | 7 | -- Set Chimera API version 8 | clua_version = 2.056 9 | 10 | function OnCommand(command) 11 | if (command == "jump") then 12 | local player = blam.biped(get_dynamic_player()) 13 | if (player) then 14 | -- Apply velocity to the player to make it "jump", lua-blam powah! 15 | player.zVel = player.zVel + 0.2 16 | end 17 | console_out("Wahooo!") -- Mario is that you? 18 | --[[ Return false if we are intercepting the correct command to prevent the game from 19 | sending the "Requested function blablabla" message]] 20 | return false 21 | end 22 | end 23 | 24 | set_callback("command", "OnCommand") 25 | -------------------------------------------------------------------------------- /examples/haloworld.lua: -------------------------------------------------------------------------------- 1 | -- Halo World (Chimera Script) 2 | -- Example to print text on console 3 | 4 | -- Set Chimera API version 5 | clua_version = 2.056 6 | 7 | function OnMapLoad() 8 | console_out("Halo World!") 9 | end 10 | 11 | set_callback("map load", "OnMapLoad") 12 | -------------------------------------------------------------------------------- /examples/invisibility.lua: -------------------------------------------------------------------------------- 1 | -- Invisiblity (Chimera Script) 2 | -- Example of how to get and modify data from biped objects 3 | 4 | -- Import blam module 5 | local blam = require "blam" 6 | 7 | -- Set Chimera API version 8 | clua_version = 2.056 9 | 10 | function OnTick() 11 | local playerBiped = blam.biped(get_dynamic_player()) 12 | if (playerBiped) then 13 | if (playerBiped.crouchHold) then 14 | playerBiped.invisible = true 15 | else 16 | playerBiped.invisible = false 17 | end 18 | end 19 | end 20 | 21 | set_callback("tick", "OnTick") 22 | -------------------------------------------------------------------------------- /examples/requests_example.lua: -------------------------------------------------------------------------------- 1 | blam = require "blam" 2 | 3 | -- Server 4 | blam.rcon.event("Ping", function(message, playerIndex) 5 | return "Pong" 6 | end) 7 | 8 | -- Client 9 | blam.rcon.dispatch("Ping").callback(function(response) 10 | console_out(response) 11 | end) 12 | -------------------------------------------------------------------------------- /examples/ui.lua: -------------------------------------------------------------------------------- 1 | -- UI (Chimera Script) 2 | -- Example of how to get and modify data from ui widgets using lua-blam 3 | 4 | -- Set Chimera API version 5 | clua_version = 2.056 6 | 7 | -- Import blam module 8 | local blam = require "blam" 9 | 10 | -- Provide global and short syntax for multiple tag classes references 11 | tagClasses = blam.tagClasses 12 | 13 | function OnMapLoad() 14 | -- Get widget table properties 15 | local pauseMenu = blam.uiWidgetDefinition("ui\\shell\\multiplayer_game\\pause_game\\1p_pause_game") 16 | if (pauseMenu) then 17 | -- Getting widget properties 18 | console_out(pauseMenu.name) 19 | console_out(pauseMenu.width) 20 | console_out(pauseMenu.height) 21 | console_out(pauseMenu.boundsX) 22 | console_out(pauseMenu.boundsY) 23 | -- Iterating through all the child widgets 24 | for _, childWidgetTagId in pairs(pauseMenu.childWidgetsList) do 25 | -- Getting child widget properties 26 | local widget = blam.uiWidgetDefinition(childWidgetTagId) 27 | if (widget) then 28 | console_out(widget.name) 29 | end 30 | end 31 | -- Getting background bitmap data as a tag from this widget 32 | local backgroundBitmapTag = blam.getTag(pauseMenu.backgroundBitmap) 33 | if (backgroundBitmapTag) then 34 | console_out(backgroundBitmapTag.path) 35 | end 36 | -- Change background bitmap by the loading background bitmap 37 | -- Get bitmap data as a tag 38 | local loadingBitmapTag = blam.getTag("ui\\shell\\bitmaps\\background", tagClasses.bitmap) 39 | if (loadingBitmapTag) then 40 | pauseMenu.backgroundBitmap = loadingBitmapTag.id 41 | end 42 | else 43 | console_out("Widget tag was not found on this map!") 44 | end 45 | end 46 | 47 | function OnTick() 48 | -- Get local player biped data 49 | local playerBiped = blam.biped(get_dynamic_player()) 50 | if (playerBiped) then 51 | if (playerBiped.flashlightKey) then 52 | -- Open ui widget when the player uses the flashlightKey 53 | local widgetLoaded = load_ui_widget("ui\\shell\\multiplayer_game\\pause_game\\1p_pause_game") 54 | if (not widgetLoaded) then 55 | console_out("An error occurred while loading ui widget!") 56 | end 57 | end 58 | else 59 | console_out("Player does not have a biped alive or assigned!") 60 | end 61 | end 62 | 63 | set_callback("map load", "OnMapLoad") 64 | set_callback("tick", "OnTick") 65 | 66 | -- Allow fast reload of this script on local/development mode 67 | -- My recommendation is to remove this on release due to triggering the same function twice 68 | if (server_type == "local") then 69 | OnMapLoad() 70 | end -------------------------------------------------------------------------------- /img/blam-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sledmine/lua-blam/db505ddccc6a334dfdb570f03c32560c416fe766/img/blam-logo.png -------------------------------------------------------------------------------- /img/blam-logo.rli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sledmine/lua-blam/db505ddccc6a334dfdb570f03c32560c416fe766/img/blam-logo.rli -------------------------------------------------------------------------------- /lua/docs/fmt.lua: -------------------------------------------------------------------------------- 1 | -- SPDX-License-Identifier: GPL-3.0-only 2 | -- This file is used to document the Lua plugins engine API. It should not be included. 3 | 4 | ---@meta lfmt 5 | 6 | local fmt = {} 7 | 8 | ---Format a string using the given arguments. 9 | ---@param text string @Format string. 10 | ---@param ... any @Arguments to be used in the format string. 11 | function fmt.format(text, ...) end 12 | 13 | return fmt 14 | -------------------------------------------------------------------------------- /lua/docs/types/balltzeCommonTypes.lua: -------------------------------------------------------------------------------- 1 | -- SPDX-License-Identifier: GPL-3.0-only 2 | 3 | ---@meta _ 4 | 5 | ------------------------------------------------------- 6 | -- Basic types 7 | ------------------------------------------------------- 8 | 9 | ---@class Enum 10 | ---@field tostring fun(self: Enum): string 11 | ---@field tointeger fun(self: Enum): integer 12 | -------------------------------------------------------------------------------- /lua/docs/types/engineCore.lua: -------------------------------------------------------------------------------- 1 | -- SPDX-License-Identifier: GPL-3.0-only 2 | 3 | ---@meta _ 4 | 5 | ------------------------------------------------------- 6 | -- Engine core types 7 | ------------------------------------------------------- 8 | 9 | ---@alias EngineEdition 10 | ---| 'retail' 11 | ---| 'demo' 12 | ---| 'custom' 13 | -------------------------------------------------------------------------------- /lua/docs/types/engineDataTypes.lua: -------------------------------------------------------------------------------- 1 | -- SPDX-License-Identifier: GPL-3.0-only 2 | 3 | ---@meta _ 4 | 5 | ------------------------------------------------------- 6 | -- Engine common types 7 | ------------------------------------------------------- 8 | 9 | ---@class EngineColorARGB 10 | ---@field alpha number 11 | ---@field red number 12 | ---@field green number 13 | ---@field blue number 14 | 15 | ---@class MetaEngineColorARGB: EngineColorARGB 16 | 17 | ---@class EngineColorARGBInt 18 | ---@field alpha integer 19 | ---@field red integer 20 | ---@field green integer 21 | ---@field blue integer 22 | 23 | ---@class MetaEngineColorARGBInt: EngineColorARGBInt 24 | ---@class MetaEngineTagDataColorARGBInt: EngineColorARGBInt 25 | 26 | ---@class EngineColorRGB 27 | ---@field red number 28 | ---@field green number 29 | ---@field blue number 30 | 31 | ---@class MetaEngineColorRGB: EngineColorRGB 32 | 33 | ---@class EnginePoint2D 34 | ---@field x number 35 | ---@field y number 36 | 37 | ---@class MetaEnginePoint2D: EnginePoint2D 38 | 39 | ---@class EnginePoint2DInt 40 | ---@field x integer 41 | ---@field y integer 42 | 43 | ---@class MetaEnginePoint2DInt: EnginePoint2DInt 44 | 45 | ---@class EnginePoint3D 46 | ---@field x number 47 | ---@field y number 48 | ---@field z number 49 | 50 | ---@class MetaEnginePoint3D: EnginePoint3D 51 | 52 | ---@class EngineVector2D 53 | ---@field i number 54 | ---@field j number 55 | 56 | ---@class MetaEngineVector2D: EngineVector2D 57 | 58 | ---@class EngineVector3D 59 | ---@field i number 60 | ---@field j number 61 | ---@field k number 62 | 63 | ---@class MetaEngineVector3D: EngineVector3D 64 | 65 | ---@class EngineResourceHandle 66 | ---@field value integer 67 | ---@field index integer 68 | ---@field id integer 69 | ---@field isNull fun():boolean 70 | 71 | ---@class EngineTagHandle: EngineResourceHandle 72 | 73 | ---@class EngineObjectHandle: EngineResourceHandle 74 | 75 | ---@class EnginePlayerHandle: EngineResourceHandle 76 | 77 | ---@class EngineEuler3DPYR 78 | ---@field pitch number 79 | ---@field yaw number 80 | ---@field roll number 81 | 82 | ---@class MetaEngineEuler3DPYR: EngineEuler3DPYR 83 | 84 | ---@class EngineEuler2D 85 | ---@field yaw number 86 | ---@field pitch number 87 | 88 | ---@class MetaEngineEuler2D: EngineEuler2D 89 | 90 | ---@class EngineEuler3D 91 | ---@field yaw number 92 | ---@field pitch number 93 | ---@field roll number 94 | 95 | ---@class MetaEngineEuler3D: EngineEuler3D 96 | 97 | ---@class EngineRectangle2D 98 | ---@field top number 99 | ---@field left number 100 | ---@field bottom number 101 | ---@field right number 102 | 103 | ---@class MetaEngineRectangle2D: EngineRectangle2D 104 | 105 | ---@class EngineRectangle2DF 106 | ---@field top number 107 | ---@field left number 108 | ---@field bottom number 109 | ---@field right number 110 | 111 | ---@class MetaEngineRectangle2DF: EngineRectangle2DF 112 | 113 | ---@class EnginePlane2D 114 | ---@field i number 115 | ---@field j number 116 | 117 | ---@class MetaEnginePlane2D: EnginePlane2D 118 | 119 | ---@class EnginePlane3D: EngineVector3D 120 | ---@field w number 121 | 122 | ---@class MetaEnginePlane3D: EnginePlane3D 123 | 124 | ---@class MetaEngineTagString : string 125 | 126 | ---@class EngineTagDependency 127 | ---@field tagHandle EngineTagHandle 128 | ---@field tagClass string 129 | ---@field path string 130 | 131 | ---@class MetaEngineTagDependency: EngineTagDependency 132 | 133 | ---@class MetaEngineIndex: integer 134 | 135 | ---@class EngineTagDataOffset 136 | ---@field size integer 137 | ---@field external boolean 138 | ---@field fileOffset integer | nil 139 | ---@field pointer integer | nil 140 | 141 | ---@class MetaEngineTagDataOffset: EngineTagDataOffset 142 | 143 | ---@class EngineAngle: number 144 | 145 | ---@class MetaEngineAngle: EngineAngle 146 | 147 | ---@class EngineFraction 148 | 149 | ---@class MetaEngineFraction: EngineFraction 150 | 151 | ---@class EngineQuaternion 152 | ---@field i number 153 | ---@field j number 154 | ---@field k number 155 | ---@field w number 156 | 157 | ---@class MetaEngineQuaternion: EngineQuaternion 158 | 159 | ---@class EngineMatrix: table> 160 | 161 | ---@class MetaEngineMatrix: EngineMatrix 162 | 163 | ---@class EngineScenarioScriptNodeValue 164 | ---@field float number 165 | ---@field integer integer 166 | ---@field tag EngineTagHandle 167 | 168 | ---@class MetaEngineScenarioScriptNodeValue: EngineScenarioScriptNodeValue 169 | 170 | ---@alias EngineGenericFont 171 | ---| "console" 172 | ---| "system" 173 | ---| "small" 174 | ---| "smaller" 175 | ---| "large" 176 | ---| "ticker" 177 | 178 | ---@alias EngineInputDevice 179 | ---| "keyboard" 180 | ---| "mouse" 181 | ---| "gamepad" 182 | ---| "unknown" 183 | 184 | ---@class EngineWidgetRenderVertex 185 | ---@field x number 186 | ---@field y number 187 | ---@field z number 188 | ---@field rhw number 189 | ---@field u number 190 | ---@field v number 191 | 192 | ---@class EngineUIWidgetRenderVertices 193 | ---@field topLeft EngineWidgetRenderVertex 194 | ---@field topRight EngineWidgetRenderVertex 195 | ---@field bottomLeft EngineWidgetRenderVertex 196 | ---@field bottomRight EngineWidgetRenderVertex 197 | -------------------------------------------------------------------------------- /lua/docs/types/engineMap.lua: -------------------------------------------------------------------------------- 1 | -- SPDX-License-Identifier: GPL-3.0-only 2 | 3 | ---@meta _ 4 | 5 | ------------------------------------------------------- 6 | -- Engine map types 7 | ------------------------------------------------------- 8 | 9 | ---@alias EngineCacheFileEngine 10 | ---| 'xbox' 11 | ---| 'demo' 12 | ---| 'retail' 13 | ---| 'custom' 14 | ---| 'invader' 15 | ---| 'demo compressed' 16 | ---| 'retail compressed' 17 | ---| 'custom compressed' 18 | ---| 'unknown' 19 | 20 | ---@alias EngineMapGameType 21 | ---| 'single_player' 22 | ---| 'multiplayer' 23 | ---| 'user_interface' 24 | 25 | ---@class EngineMapHeader 26 | ---@field engineType EngineCacheFileEngine 27 | ---@field fileSize integer 28 | ---@field tagDataOffset integer 29 | ---@field tagDataSize integer 30 | ---@field name string 31 | ---@field build string 32 | ---@field gameType EngineMapGameType 33 | ---@field crc32 integer 34 | -------------------------------------------------------------------------------- /lua/docs/types/engineNetgame.lua: -------------------------------------------------------------------------------- 1 | -- SPDX-License-Identifier: GPL-3.0-only 2 | 3 | ---@meta _ 4 | 5 | ------------------------------------------------------- 6 | -- Engine netgame types 7 | ------------------------------------------------------- 8 | 9 | ---@alias EngineNetworkGameServerType 10 | ---| 'none' 11 | ---| 'dedicated' 12 | ---| 'local' 13 | ---| 'unknown' 14 | 15 | ---@alias EngineNetworkGameType 16 | ---| 'ctf' 17 | ---| 'slayer' 18 | ---| 'oddball' 19 | ---| 'king' 20 | ---| 'race' 21 | ---| 'none' 22 | 23 | ---@alias EngineNetworkGameMessageHudChatType 24 | ---| 'none' 25 | ---| 'all' 26 | ---| 'team' 27 | ---| 'vehicle' 28 | ---| 'unknown' 29 | -------------------------------------------------------------------------------- /lua/docs/types/engineRenderer.lua: -------------------------------------------------------------------------------- 1 | -- SPDX-License-Identifier: GPL-3.0-only 2 | 3 | ---@meta _ 4 | 5 | ------------------------------------------------------- 6 | -- Engine renderer types 7 | ------------------------------------------------------- 8 | 9 | ---@class EngineResolution 10 | ---@field height integer 11 | ---@field width integer 12 | 13 | -------------------------------------------------------------------------------- /lua/docs/types/engineUserInterface.lua: -------------------------------------------------------------------------------- 1 | -- SPDX-License-Identifier: GPL-3.0-only 2 | 3 | ---@meta _ 4 | 5 | ------------------------------------------------------- 6 | -- Engine user interface types 7 | ------------------------------------------------------- 8 | 9 | ---@class EngineWidget 10 | ---@field definitionTagHandle EngineTagHandle 11 | ---@field name string 12 | ---@field controllerIndex boolean 13 | ---@field position EnginePoint2DInt 14 | ---@field type EngineTagDataUIWidgetType 15 | ---@field visible boolean 16 | ---@field renderRegardlessOfControllerIndex boolean 17 | ---@field pausesGameTime boolean 18 | ---@field deleted boolean 19 | ---@field creationProcessStartTime integer 20 | ---@field msToClose integer 21 | ---@field msToCloseFadeTime integer 22 | ---@field opacity number 23 | ---@field previousWidget MetaEngineWidget|nil 24 | ---@field nextWidget MetaEngineWidget|nil 25 | ---@field parentWidget MetaEngineWidget|nil 26 | ---@field childWidget MetaEngineWidget|nil 27 | ---@field focusedChild MetaEngineWidget|nil 28 | ---@field textAddress integer @The address of the text; nil if the widget is not a text widget, be careful! 29 | ---@field cursorIndex integer @Index of the last child widget focused by the mouse 30 | ---@field extendedDescriptionWidget EngineWidget 31 | ---@field bitmapIndex integer 32 | 33 | ---@class MetaEngineWidget: EngineWidget 34 | 35 | ---@class EngineInputBufferedKeyModifierEnum : Enum 36 | ---@class EngineInputBufferedKeyModifierAlt : EngineInputBufferedKeyModifierEnum 37 | ---@class EngineInputBufferedKeyModifierCtrl : EngineInputBufferedKeyModifierEnum 38 | ---@class EngineInputBufferedKeyModifierShift : EngineInputBufferedKeyModifierEnum 39 | 40 | ---@alias EngineInputBufferedModifier 41 | ---| EngineInputBufferedKeyModifierAlt 42 | ---| EngineInputBufferedKeyModifierCtrl 43 | ---| EngineInputBufferedKeyModifierShift 44 | 45 | ---@class EngineInputBufferedKeyEnumTable 46 | ---@field alt EngineInputBufferedKeyModifierAlt 47 | ---@field ctrl EngineInputBufferedKeyModifierCtrl 48 | ---@field shift EngineInputBufferedKeyModifierShift 49 | 50 | ---@class EngineInputBufferedKey 51 | ---@field modifier EngineInputBufferedModifier 52 | ---@field character integer 53 | ---@field keycode integer 54 | 55 | ---@alias EngineWidgetNavigationSound 56 | ---| 'cursor' 57 | ---| 'forward' 58 | ---| 'back' 59 | ---| 'flag_failure' 60 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataActorVariant.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataActorVariantMovementTypeEnum : Enum 2 | 3 | ---@class EngineTagDataActorVariantMovementTypeAlwaysRun : EngineTagDataActorVariantMovementTypeEnum 4 | ---@class EngineTagDataActorVariantMovementTypeAlwaysCrouch : EngineTagDataActorVariantMovementTypeEnum 5 | ---@class EngineTagDataActorVariantMovementTypeSwitchTypes : EngineTagDataActorVariantMovementTypeEnum 6 | 7 | ---@alias EngineTagDataActorVariantMovementType 8 | ---| EngineTagDataActorVariantMovementTypeAlwaysRun 9 | ---| EngineTagDataActorVariantMovementTypeAlwaysCrouch 10 | ---| EngineTagDataActorVariantMovementTypeSwitchTypes 11 | 12 | ---@class EngineTagDataActorVariantMovementTypeTable 13 | ---@field peAlwaysRun EngineTagDataActorVariantMovementTypeAlwaysRun 14 | ---@field peAlwaysCrouch EngineTagDataActorVariantMovementTypeAlwaysCrouch 15 | ---@field peSwitchTypes EngineTagDataActorVariantMovementTypeSwitchTypes 16 | Engine.tag.actorVariantMovementType = {} 17 | 18 | ---@class EngineTagDataActorVariantSpecialFireModeEnum : Enum 19 | 20 | ---@class EngineTagDataActorVariantSpecialFireModeNone : EngineTagDataActorVariantSpecialFireModeEnum 21 | ---@class EngineTagDataActorVariantSpecialFireModeOvercharge : EngineTagDataActorVariantSpecialFireModeEnum 22 | ---@class EngineTagDataActorVariantSpecialFireModeSecondaryTrigger : EngineTagDataActorVariantSpecialFireModeEnum 23 | 24 | ---@alias EngineTagDataActorVariantSpecialFireMode 25 | ---| EngineTagDataActorVariantSpecialFireModeNone 26 | ---| EngineTagDataActorVariantSpecialFireModeOvercharge 27 | ---| EngineTagDataActorVariantSpecialFireModeSecondaryTrigger 28 | 29 | ---@class EngineTagDataActorVariantSpecialFireModeTable 30 | ---@field odeNone EngineTagDataActorVariantSpecialFireModeNone 31 | ---@field odeOvercharge EngineTagDataActorVariantSpecialFireModeOvercharge 32 | ---@field odeSecondaryTrigger EngineTagDataActorVariantSpecialFireModeSecondaryTrigger 33 | Engine.tag.actorVariantSpecialFireMode = {} 34 | 35 | ---@class EngineTagDataActorVariantSpecialFireSituationEnum : Enum 36 | 37 | ---@class EngineTagDataActorVariantSpecialFireSituationNever : EngineTagDataActorVariantSpecialFireSituationEnum 38 | ---@class EngineTagDataActorVariantSpecialFireSituationEnemyVisible : EngineTagDataActorVariantSpecialFireSituationEnum 39 | ---@class EngineTagDataActorVariantSpecialFireSituationEnemyOutOfSight : EngineTagDataActorVariantSpecialFireSituationEnum 40 | ---@class EngineTagDataActorVariantSpecialFireSituationStrafing : EngineTagDataActorVariantSpecialFireSituationEnum 41 | 42 | ---@alias EngineTagDataActorVariantSpecialFireSituation 43 | ---| EngineTagDataActorVariantSpecialFireSituationNever 44 | ---| EngineTagDataActorVariantSpecialFireSituationEnemyVisible 45 | ---| EngineTagDataActorVariantSpecialFireSituationEnemyOutOfSight 46 | ---| EngineTagDataActorVariantSpecialFireSituationStrafing 47 | 48 | ---@class EngineTagDataActorVariantSpecialFireSituationTable 49 | ---@field ionNever EngineTagDataActorVariantSpecialFireSituationNever 50 | ---@field ionEnemyVisible EngineTagDataActorVariantSpecialFireSituationEnemyVisible 51 | ---@field ionEnemyOutOfSight EngineTagDataActorVariantSpecialFireSituationEnemyOutOfSight 52 | ---@field ionStrafing EngineTagDataActorVariantSpecialFireSituationStrafing 53 | Engine.tag.actorVariantSpecialFireSituation = {} 54 | 55 | ---@class EngineTagDataActorVariantTrajectoryTypeEnum : Enum 56 | 57 | ---@class EngineTagDataActorVariantTrajectoryTypeToss : EngineTagDataActorVariantTrajectoryTypeEnum 58 | ---@class EngineTagDataActorVariantTrajectoryTypeLob : EngineTagDataActorVariantTrajectoryTypeEnum 59 | ---@class EngineTagDataActorVariantTrajectoryTypeBounce : EngineTagDataActorVariantTrajectoryTypeEnum 60 | 61 | ---@alias EngineTagDataActorVariantTrajectoryType 62 | ---| EngineTagDataActorVariantTrajectoryTypeToss 63 | ---| EngineTagDataActorVariantTrajectoryTypeLob 64 | ---| EngineTagDataActorVariantTrajectoryTypeBounce 65 | 66 | ---@class EngineTagDataActorVariantTrajectoryTypeTable 67 | ---@field peToss EngineTagDataActorVariantTrajectoryTypeToss 68 | ---@field peLob EngineTagDataActorVariantTrajectoryTypeLob 69 | ---@field peBounce EngineTagDataActorVariantTrajectoryTypeBounce 70 | Engine.tag.actorVariantTrajectoryType = {} 71 | 72 | ---@class EngineTagDataActorVariantGrenadeStimulusEnum : Enum 73 | 74 | ---@class EngineTagDataActorVariantGrenadeStimulusNever : EngineTagDataActorVariantGrenadeStimulusEnum 75 | ---@class EngineTagDataActorVariantGrenadeStimulusVisibleTarget : EngineTagDataActorVariantGrenadeStimulusEnum 76 | ---@class EngineTagDataActorVariantGrenadeStimulusSeekCover : EngineTagDataActorVariantGrenadeStimulusEnum 77 | 78 | ---@alias EngineTagDataActorVariantGrenadeStimulus 79 | ---| EngineTagDataActorVariantGrenadeStimulusNever 80 | ---| EngineTagDataActorVariantGrenadeStimulusVisibleTarget 81 | ---| EngineTagDataActorVariantGrenadeStimulusSeekCover 82 | 83 | ---@class EngineTagDataActorVariantGrenadeStimulusTable 84 | ---@field usNever EngineTagDataActorVariantGrenadeStimulusNever 85 | ---@field usVisibleTarget EngineTagDataActorVariantGrenadeStimulusVisibleTarget 86 | ---@field usSeekCover EngineTagDataActorVariantGrenadeStimulusSeekCover 87 | Engine.tag.actorVariantGrenadeStimulus = {} 88 | 89 | ---@class MetaEngineTagDataActorVariantFlags 90 | ---@field canShootWhileFlying boolean 91 | ---@field interpolateColorInHsv boolean 92 | ---@field hasUnlimitedGrenades boolean 93 | ---@field movementSwitchingTryToStayWithFriends boolean 94 | ---@field activeCamouflage boolean 95 | ---@field superActiveCamouflage boolean 96 | ---@field cannotUseRangedWeapons boolean 97 | ---@field preferPassengerSeat boolean 98 | 99 | ---@class MetaEngineTagDataActorVariantChangeColors 100 | ---@field colorLowerBound MetaEngineColorRGB 101 | ---@field colorUpperBound MetaEngineColorRGB 102 | 103 | ---@class MetaEngineTagDataActorVariant 104 | ---@field flags MetaEngineTagDataActorVariantFlags 105 | ---@field actorDefinition MetaEngineTagDependency 106 | ---@field unit MetaEngineTagDependency 107 | ---@field majorVariant MetaEngineTagDependency 108 | ---@field metagameType EngineTagDataMetagameType 109 | ---@field metagameClass EngineTagDataMetagameClass 110 | ---@field movementType EngineTagDataActorVariantMovementType 111 | ---@field initialCrouchChance number 112 | ---@field crouchTime number 113 | ---@field runTime number 114 | ---@field weapon MetaEngineTagDependency 115 | ---@field maximumFiringDistance number 116 | ---@field rateOfFire number 117 | ---@field projectileError MetaEngineAngle 118 | ---@field firstBurstDelayTime number 119 | ---@field newTargetFiringPatternTime number 120 | ---@field surpriseDelayTime number 121 | ---@field surpriseFireWildlyTime number 122 | ---@field deathFireWildlyChance number 123 | ---@field deathFireWildlyTime number 124 | ---@field desiredCombatRange number 125 | ---@field customStandGunOffset MetaEngineVector3D 126 | ---@field customCrouchGunOffset MetaEngineVector3D 127 | ---@field targetTracking number 128 | ---@field targetLeading number 129 | ---@field weaponDamageModifier number 130 | ---@field damagePerSecond number 131 | ---@field burstOriginRadius number 132 | ---@field burstOriginAngle MetaEngineAngle 133 | ---@field burstReturnLength number 134 | ---@field burstReturnAngle MetaEngineAngle 135 | ---@field burstDuration number 136 | ---@field burstSeparation number 137 | ---@field burstAngularVelocity MetaEngineAngle 138 | ---@field specialDamageModifier number 139 | ---@field specialProjectileError MetaEngineAngle 140 | ---@field newTargetBurstDuration number 141 | ---@field newTargetBurstSeparation number 142 | ---@field newTargetRateOfFire number 143 | ---@field newTargetProjectileError number 144 | ---@field movingBurstDuration number 145 | ---@field movingBurstSeparation number 146 | ---@field movingRateOfFire number 147 | ---@field movingProjectileError number 148 | ---@field berserkBurstDuration number 149 | ---@field berserkBurstSeparation number 150 | ---@field berserkRateOfFire number 151 | ---@field berserkProjectileError number 152 | ---@field superBallisticRange number 153 | ---@field bombardmentRange number 154 | ---@field modifiedVisionRange number 155 | ---@field specialFireMode EngineTagDataActorVariantSpecialFireMode 156 | ---@field specialFireSituation EngineTagDataActorVariantSpecialFireSituation 157 | ---@field specialFireChance number 158 | ---@field specialFireDelay number 159 | ---@field meleeRange number 160 | ---@field meleeAbortRange number 161 | ---@field berserkFiringRanges number 162 | ---@field berserkMeleeRange number 163 | ---@field berserkMeleeAbortRange number 164 | ---@field grenadeType EngineTagDataGrenadeType 165 | ---@field trajectoryType EngineTagDataActorVariantTrajectoryType 166 | ---@field grenadeStimulus EngineTagDataActorVariantGrenadeStimulus 167 | ---@field minimumEnemyCount integer 168 | ---@field enemyRadius number 169 | ---@field grenadeVelocity number 170 | ---@field grenadeRanges number 171 | ---@field collateralDamageRadius number 172 | ---@field grenadeChance MetaEngineFraction 173 | ---@field grenadeCheckTime number 174 | ---@field encounterGrenadeTimeout number 175 | ---@field equipment MetaEngineTagDependency 176 | ---@field grenadeCount integer 177 | ---@field dontDropGrenadesChance number 178 | ---@field dropWeaponLoaded number 179 | ---@field dropWeaponAmmo integer 180 | ---@field bodyVitality number 181 | ---@field shieldVitality number 182 | ---@field shieldSappingRadius number 183 | ---@field forcedShaderPermutation MetaEngineIndex 184 | ---@field changeColors TagBlock 185 | 186 | 187 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataAntenna.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataAntennaVertex 2 | ---@field springStrengthCoefficient MetaEngineFraction 3 | ---@field angles MetaEngineEuler2D 4 | ---@field length number 5 | ---@field sequenceIndex MetaEngineIndex 6 | ---@field color MetaEngineColorARGB 7 | ---@field lodColor MetaEngineColorARGB 8 | ---@field offset MetaEnginePoint3D 9 | 10 | ---@class MetaEngineTagDataAntenna 11 | ---@field attachmentMarkerName MetaEngineTagString 12 | ---@field bitmaps MetaEngineTagDependency 13 | ---@field physics MetaEngineTagDependency 14 | ---@field springStrengthCoefficient MetaEngineFraction 15 | ---@field falloffPixels number 16 | ---@field cutoffPixels number 17 | ---@field length number 18 | ---@field vertices TagBlock 19 | 20 | 21 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataBiped.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataBipedFunctionInEnum : Enum 2 | 3 | ---@class EngineTagDataBipedFunctionInNone : EngineTagDataBipedFunctionInEnum 4 | ---@class EngineTagDataBipedFunctionInFlyingVelocity : EngineTagDataBipedFunctionInEnum 5 | 6 | ---@alias EngineTagDataBipedFunctionIn 7 | ---| EngineTagDataBipedFunctionInNone 8 | ---| EngineTagDataBipedFunctionInFlyingVelocity 9 | 10 | ---@class EngineTagDataBipedFunctionInTable 11 | ---@field nNone EngineTagDataBipedFunctionInNone 12 | ---@field nFlyingVelocity EngineTagDataBipedFunctionInFlyingVelocity 13 | Engine.tag.bipedFunctionIn = {} 14 | 15 | ---@class MetaEngineTagDataBipedFlags 16 | ---@field turnsWithoutAnimating boolean 17 | ---@field usesPlayerPhysics boolean 18 | ---@field flying boolean 19 | ---@field physicsPillCenteredAtOrigin boolean 20 | ---@field spherical boolean 21 | ---@field passesThroughOtherBipeds boolean 22 | ---@field canClimbAnySurface boolean 23 | ---@field immuneToFallingDamage boolean 24 | ---@field rotateWhileAirborne boolean 25 | ---@field usesLimpBodyPhysics boolean 26 | ---@field hasNoDyingAirborne boolean 27 | ---@field randomSpeedIncrease boolean 28 | ---@field unitUsesOldNtscPlayerPhysics boolean 29 | 30 | ---@class MetaEngineTagDataBipedContactPoint 31 | ---@field markerName MetaEngineTagString 32 | 33 | ---@class MetaEngineTagDataBiped: MetaEngineTagDataUnit 34 | ---@field movingTurningSpeed MetaEngineAngle 35 | ---@field bipedFlags MetaEngineTagDataBipedFlags 36 | ---@field stationaryTurningThreshold MetaEngineAngle 37 | ---@field bipedAIn EngineTagDataBipedFunctionIn 38 | ---@field bipedBIn EngineTagDataBipedFunctionIn 39 | ---@field bipedCIn EngineTagDataBipedFunctionIn 40 | ---@field bipedDIn EngineTagDataBipedFunctionIn 41 | ---@field dontUse MetaEngineTagDependency 42 | ---@field bankAngle MetaEngineAngle 43 | ---@field bankApplyTime number 44 | ---@field bankDecayTime number 45 | ---@field pitchRatio number 46 | ---@field maxVelocity number 47 | ---@field maxSidestepVelocity number 48 | ---@field acceleration number 49 | ---@field deceleration number 50 | ---@field angularVelocityMaximum MetaEngineAngle 51 | ---@field angularAccelerationMaximum MetaEngineAngle 52 | ---@field crouchVelocityModifier number 53 | ---@field maximumSlopeAngle MetaEngineAngle 54 | ---@field downhillFalloffAngle MetaEngineAngle 55 | ---@field downhillCutoffAngle MetaEngineAngle 56 | ---@field downhillVelocityScale number 57 | ---@field uphillFalloffAngle MetaEngineAngle 58 | ---@field uphillCutoffAngle MetaEngineAngle 59 | ---@field uphillVelocityScale number 60 | ---@field footsteps MetaEngineTagDependency 61 | ---@field jumpVelocity number 62 | ---@field maximumSoftLandingTime number 63 | ---@field maximumHardLandingTime number 64 | ---@field minimumSoftLandingVelocity number 65 | ---@field minimumHardLandingVelocity number 66 | ---@field maximumHardLandingVelocity number 67 | ---@field deathHardLandingVelocity number 68 | ---@field standingCameraHeight number 69 | ---@field crouchingCameraHeight number 70 | ---@field crouchTransitionTime number 71 | ---@field standingCollisionHeight number 72 | ---@field crouchingCollisionHeight number 73 | ---@field collisionRadius number 74 | ---@field autoaimWidth number 75 | ---@field cosineStationaryTurningThreshold number 76 | ---@field crouchCameraVelocity number 77 | ---@field cosineMaximumSlopeAngle number 78 | ---@field negativeSineDownhillFalloffAngle number 79 | ---@field negativeSineDownhillCutoffAngle number 80 | ---@field sineUphillFalloffAngle number 81 | ---@field sineUphillCutoffAngle number 82 | ---@field pelvisModelNodeIndex MetaEngineIndex 83 | ---@field headModelNodeIndex MetaEngineIndex 84 | ---@field contactPoint TagBlock 85 | 86 | 87 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataBitfield.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataIsUnusedFlag 2 | ---@field unused boolean 3 | 4 | ---@class MetaEngineTagDataIsUnfilteredFlag 5 | ---@field unfiltered boolean 6 | 7 | ---@class MetaEngineTagDataColorInterpolationFlags 8 | ---@field blendInHsv boolean 9 | ---@field moreColors boolean 10 | 11 | 12 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataCameraTrack.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataCameraTrackControlPoint 2 | ---@field position MetaEnginePoint3D 3 | ---@field orientation MetaEngineQuaternion 4 | 5 | ---@class MetaEngineTagDataCameraTrack 6 | ---@field flags MetaEngineTagDataIsUnusedFlag 7 | ---@field controlPoints TagBlock 8 | 9 | 10 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataColorTable.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataColorTableColor 2 | ---@field name MetaEngineTagString 3 | ---@field color MetaEngineColorARGB 4 | 5 | ---@class MetaEngineTagDataColorTable 6 | ---@field colors TagBlock 7 | 8 | 9 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataContinuousDamageEffect.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataContinuousDamageEffect 2 | ---@field radius number 3 | ---@field cutoffScale number 4 | ---@field lowFrequencyVibrateFrequency number 5 | ---@field highFrequencyVibrateFrequency number 6 | ---@field cameraShakingRandomTranslation number 7 | ---@field cameraShakingRandomRotation MetaEngineAngle 8 | ---@field cameraShakingWobbleFunction EngineTagDataWaveFunction 9 | ---@field cameraShakingWobblePeriod number 10 | ---@field cameraShakingWobbleWeight number 11 | ---@field damageSideEffect EngineTagDataDamageEffectSideEffect 12 | ---@field damageCategory EngineTagDataDamageEffectCategory 13 | ---@field damageFlags MetaEngineTagDataDamageEffectDamageFlags 14 | ---@field damageLowerBound number 15 | ---@field damageUpperBound number 16 | ---@field damageVehiclePassthroughPenalty number 17 | ---@field damageStun number 18 | ---@field damageMaximumStun number 19 | ---@field damageStunTime number 20 | ---@field damageInstantaneousAcceleration MetaEngineVector3D 21 | ---@field dirt number 22 | ---@field sand number 23 | ---@field stone number 24 | ---@field snow number 25 | ---@field wood number 26 | ---@field metalHollow number 27 | ---@field metalThin number 28 | ---@field metalThick number 29 | ---@field rubber number 30 | ---@field glass number 31 | ---@field forceField number 32 | ---@field grunt number 33 | ---@field hunterArmor number 34 | ---@field hunterSkin number 35 | ---@field elite number 36 | ---@field jackal number 37 | ---@field jackalEnergyShield number 38 | ---@field engineerSkin number 39 | ---@field engineerForceField number 40 | ---@field floodCombatForm number 41 | ---@field floodCarrierForm number 42 | ---@field cyborgArmor number 43 | ---@field cyborgEnergyShield number 44 | ---@field humanArmor number 45 | ---@field humanSkin number 46 | ---@field sentinel number 47 | ---@field monitor number 48 | ---@field plastic number 49 | ---@field water number 50 | ---@field leaves number 51 | ---@field eliteEnergyShield number 52 | ---@field ice number 53 | ---@field hunterShield number 54 | 55 | 56 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataContrail.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataContrailRenderTypeEnum : Enum 2 | 3 | ---@class EngineTagDataContrailRenderTypeVerticalOrientation : EngineTagDataContrailRenderTypeEnum 4 | ---@class EngineTagDataContrailRenderTypeHorizontalOrientation : EngineTagDataContrailRenderTypeEnum 5 | ---@class EngineTagDataContrailRenderTypeMediaMapped : EngineTagDataContrailRenderTypeEnum 6 | ---@class EngineTagDataContrailRenderTypeGroundMapped : EngineTagDataContrailRenderTypeEnum 7 | ---@class EngineTagDataContrailRenderTypeViewerFacing : EngineTagDataContrailRenderTypeEnum 8 | ---@class EngineTagDataContrailRenderTypeDoubleMarkerLinked : EngineTagDataContrailRenderTypeEnum 9 | 10 | ---@alias EngineTagDataContrailRenderType 11 | ---| EngineTagDataContrailRenderTypeVerticalOrientation 12 | ---| EngineTagDataContrailRenderTypeHorizontalOrientation 13 | ---| EngineTagDataContrailRenderTypeMediaMapped 14 | ---| EngineTagDataContrailRenderTypeGroundMapped 15 | ---| EngineTagDataContrailRenderTypeViewerFacing 16 | ---| EngineTagDataContrailRenderTypeDoubleMarkerLinked 17 | 18 | ---@class EngineTagDataContrailRenderTypeTable 19 | ---@field eVerticalOrientation EngineTagDataContrailRenderTypeVerticalOrientation 20 | ---@field eHorizontalOrientation EngineTagDataContrailRenderTypeHorizontalOrientation 21 | ---@field eMediaMapped EngineTagDataContrailRenderTypeMediaMapped 22 | ---@field eGroundMapped EngineTagDataContrailRenderTypeGroundMapped 23 | ---@field eViewerFacing EngineTagDataContrailRenderTypeViewerFacing 24 | ---@field eDoubleMarkerLinked EngineTagDataContrailRenderTypeDoubleMarkerLinked 25 | Engine.tag.contrailRenderType = {} 26 | 27 | ---@class MetaEngineTagDataContrailPointStateScaleFlags 28 | ---@field duration boolean 29 | ---@field durationDelta boolean 30 | ---@field transitionDuration boolean 31 | ---@field transitionDurationDelta boolean 32 | ---@field width boolean 33 | ---@field color boolean 34 | 35 | ---@class MetaEngineTagDataContrailFlags 36 | ---@field firstPointUnfaded boolean 37 | ---@field lastPointUnfaded boolean 38 | ---@field pointsStartPinnedToMedia boolean 39 | ---@field pointsStartPinnedToGround boolean 40 | ---@field pointsAlwaysPinnedToMedia boolean 41 | ---@field pointsAlwaysPinnedToGround boolean 42 | ---@field edgeEffectFadesSlowly boolean 43 | 44 | ---@class MetaEngineTagDataContrailScaleFlags 45 | ---@field pointGenerationRate boolean 46 | ---@field pointVelocity boolean 47 | ---@field pointVelocityDelta boolean 48 | ---@field pointVelocityConeAngle boolean 49 | ---@field inheritedVelocityFraction boolean 50 | ---@field sequenceAnimationRate boolean 51 | ---@field textureScaleU boolean 52 | ---@field textureScaleV boolean 53 | ---@field textureAnimationU boolean 54 | ---@field textureAnimationV boolean 55 | 56 | ---@class MetaEngineTagDataContrailPointState 57 | ---@field duration number 58 | ---@field transitionDuration number 59 | ---@field physics MetaEngineTagDependency 60 | ---@field width number 61 | ---@field colorLowerBound MetaEngineColorARGB 62 | ---@field colorUpperBound MetaEngineColorARGB 63 | ---@field scaleFlags MetaEngineTagDataContrailPointStateScaleFlags 64 | 65 | ---@class MetaEngineTagDataContrail 66 | ---@field flags MetaEngineTagDataContrailFlags 67 | ---@field scaleFlags MetaEngineTagDataContrailScaleFlags 68 | ---@field pointGenerationRate number 69 | ---@field pointVelocity number 70 | ---@field pointVelocityConeAngle MetaEngineAngle 71 | ---@field inheritedVelocityFraction MetaEngineFraction 72 | ---@field renderType EngineTagDataContrailRenderType 73 | ---@field textureRepeatsU number 74 | ---@field textureRepeatsV number 75 | ---@field textureAnimationU number 76 | ---@field textureAnimationV number 77 | ---@field animationRate number 78 | ---@field bitmap MetaEngineTagDependency 79 | ---@field firstSequenceIndex MetaEngineIndex 80 | ---@field sequenceCount integer 81 | ---@field unknownInt integer 82 | ---@field shaderFlags MetaEngineTagDataParticleShaderFlags 83 | ---@field framebufferBlendFunction EngineTagDataFramebufferBlendFunction 84 | ---@field framebufferFadeMode EngineTagDataFramebufferFadeMode 85 | ---@field mapFlags MetaEngineTagDataIsUnfilteredFlag 86 | ---@field secondaryBitmap MetaEngineTagDependency 87 | ---@field anchor EngineTagDataParticleAnchor 88 | ---@field secondaryMapFlags MetaEngineTagDataIsUnfilteredFlag 89 | ---@field uAnimationSource EngineTagDataFunctionOut 90 | ---@field uAnimationFunction EngineTagDataWaveFunction 91 | ---@field uAnimationPeriod number 92 | ---@field uAnimationPhase number 93 | ---@field uAnimationScale number 94 | ---@field vAnimationSource EngineTagDataFunctionOut 95 | ---@field vAnimationFunction EngineTagDataWaveFunction 96 | ---@field vAnimationPeriod number 97 | ---@field vAnimationPhase number 98 | ---@field vAnimationScale number 99 | ---@field rotationAnimationSource EngineTagDataFunctionOut 100 | ---@field rotationAnimationFunction EngineTagDataWaveFunction 101 | ---@field rotationAnimationPeriod number 102 | ---@field rotationAnimationPhase number 103 | ---@field rotationAnimationScale MetaEngineAngle 104 | ---@field rotationAnimationCenter MetaEnginePoint2D 105 | ---@field zspriteRadiusScale number 106 | ---@field pointStates TagBlock 107 | 108 | 109 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataDecal.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataDecalTypeEnum : Enum 2 | 3 | ---@class EngineTagDataDecalTypeScratch : EngineTagDataDecalTypeEnum 4 | ---@class EngineTagDataDecalTypeSplatter : EngineTagDataDecalTypeEnum 5 | ---@class EngineTagDataDecalTypeBurn : EngineTagDataDecalTypeEnum 6 | ---@class EngineTagDataDecalTypePaintedSign : EngineTagDataDecalTypeEnum 7 | 8 | ---@alias EngineTagDataDecalType 9 | ---| EngineTagDataDecalTypeScratch 10 | ---| EngineTagDataDecalTypeSplatter 11 | ---| EngineTagDataDecalTypeBurn 12 | ---| EngineTagDataDecalTypePaintedSign 13 | 14 | ---@class EngineTagDataDecalTypeTable 15 | ---@field scratch EngineTagDataDecalTypeScratch 16 | ---@field splatter EngineTagDataDecalTypeSplatter 17 | ---@field burn EngineTagDataDecalTypeBurn 18 | ---@field paintedSign EngineTagDataDecalTypePaintedSign 19 | Engine.tag.decalType = {} 20 | 21 | ---@class EngineTagDataDecalLayerEnum : Enum 22 | 23 | ---@class EngineTagDataDecalLayerPrimary : EngineTagDataDecalLayerEnum 24 | ---@class EngineTagDataDecalLayerSecondary : EngineTagDataDecalLayerEnum 25 | ---@class EngineTagDataDecalLayerLight : EngineTagDataDecalLayerEnum 26 | ---@class EngineTagDataDecalLayerAlphaTested : EngineTagDataDecalLayerEnum 27 | ---@class EngineTagDataDecalLayerWater : EngineTagDataDecalLayerEnum 28 | 29 | ---@alias EngineTagDataDecalLayer 30 | ---| EngineTagDataDecalLayerPrimary 31 | ---| EngineTagDataDecalLayerSecondary 32 | ---| EngineTagDataDecalLayerLight 33 | ---| EngineTagDataDecalLayerAlphaTested 34 | ---| EngineTagDataDecalLayerWater 35 | 36 | ---@class EngineTagDataDecalLayerTable 37 | ---@field primary EngineTagDataDecalLayerPrimary 38 | ---@field secondary EngineTagDataDecalLayerSecondary 39 | ---@field light EngineTagDataDecalLayerLight 40 | ---@field alphaTested EngineTagDataDecalLayerAlphaTested 41 | ---@field water EngineTagDataDecalLayerWater 42 | Engine.tag.decalLayer = {} 43 | 44 | ---@class MetaEngineTagDataDecalFlags 45 | ---@field geometryInheritedByNextDecalInChain boolean 46 | ---@field interpolateColorInHsv boolean 47 | ---@field moreColors boolean 48 | ---@field noRandomRotation boolean 49 | ---@field waterEffect boolean 50 | ---@field sapienSnapToAxis boolean 51 | ---@field sapienIncrementalCounter boolean 52 | ---@field animationLoop boolean 53 | ---@field preserveAspect boolean 54 | ---@field disabledInAnniversaryByBloodSetting boolean 55 | 56 | ---@class MetaEngineTagDataDecal 57 | ---@field flags MetaEngineTagDataDecalFlags 58 | ---@field type EngineTagDataDecalType 59 | ---@field layer EngineTagDataDecalLayer 60 | ---@field nextDecalInChain MetaEngineTagDependency 61 | ---@field radius number 62 | ---@field intensity MetaEngineFraction 63 | ---@field colorLowerBounds MetaEngineColorRGB 64 | ---@field colorUpperBounds MetaEngineColorRGB 65 | ---@field animationLoopFrame integer 66 | ---@field animationSpeed integer 67 | ---@field lifetime number 68 | ---@field decayTime number 69 | ---@field framebufferBlendFunction EngineTagDataFramebufferBlendFunction 70 | ---@field map MetaEngineTagDependency 71 | ---@field maximumSpriteExtent number 72 | 73 | 74 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataDetailObjectCollection.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataDetailObjectCollectionTypeEnum : Enum 2 | 3 | ---@class EngineTagDataDetailObjectCollectionTypeScreenFacing : EngineTagDataDetailObjectCollectionTypeEnum 4 | ---@class EngineTagDataDetailObjectCollectionTypeViewerFacing : EngineTagDataDetailObjectCollectionTypeEnum 5 | 6 | ---@alias EngineTagDataDetailObjectCollectionType 7 | ---| EngineTagDataDetailObjectCollectionTypeScreenFacing 8 | ---| EngineTagDataDetailObjectCollectionTypeViewerFacing 9 | 10 | ---@class EngineTagDataDetailObjectCollectionTypeTable 11 | ---@field peScreenFacing EngineTagDataDetailObjectCollectionTypeScreenFacing 12 | ---@field peViewerFacing EngineTagDataDetailObjectCollectionTypeViewerFacing 13 | Engine.tag.detailObjectCollectionType = {} 14 | 15 | ---@class MetaEngineTagDataDetailObjectCollectionTypeFlags 16 | ---@field unusedA boolean 17 | ---@field unusedB boolean 18 | ---@field interpolateColorInHsv boolean 19 | ---@field moreColors boolean 20 | 21 | ---@class MetaEngineTagDataDetailObjectCollectionObjectType 22 | ---@field name MetaEngineTagString 23 | ---@field sequenceIndex integer 24 | ---@field flags MetaEngineTagDataDetailObjectCollectionTypeFlags 25 | ---@field firstSpriteIndex integer 26 | ---@field spriteCount integer 27 | ---@field colorOverrideFactor MetaEngineFraction 28 | ---@field nearFadeDistance number 29 | ---@field farFadeDistance number 30 | ---@field size number 31 | ---@field minimumColor MetaEngineColorRGB 32 | ---@field maximumColor MetaEngineColorRGB 33 | ---@field ambientColor MetaEngineColorARGBInt 34 | 35 | ---@class MetaEngineTagDataDetailObjectCollection 36 | ---@field collectionType EngineTagDataDetailObjectCollectionType 37 | ---@field globalZOffset number 38 | ---@field spritePlate MetaEngineTagDependency 39 | ---@field types TagBlock 40 | 41 | 42 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataDevice.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataDeviceInEnum : Enum 2 | 3 | ---@class EngineTagDataDeviceInNone : EngineTagDataDeviceInEnum 4 | ---@class EngineTagDataDeviceInPower : EngineTagDataDeviceInEnum 5 | ---@class EngineTagDataDeviceInChangeInPower : EngineTagDataDeviceInEnum 6 | ---@class EngineTagDataDeviceInPosition : EngineTagDataDeviceInEnum 7 | ---@class EngineTagDataDeviceInChangeInPosition : EngineTagDataDeviceInEnum 8 | ---@class EngineTagDataDeviceInLocked : EngineTagDataDeviceInEnum 9 | ---@class EngineTagDataDeviceInDelay : EngineTagDataDeviceInEnum 10 | 11 | ---@alias EngineTagDataDeviceIn 12 | ---| EngineTagDataDeviceInNone 13 | ---| EngineTagDataDeviceInPower 14 | ---| EngineTagDataDeviceInChangeInPower 15 | ---| EngineTagDataDeviceInPosition 16 | ---| EngineTagDataDeviceInChangeInPosition 17 | ---| EngineTagDataDeviceInLocked 18 | ---| EngineTagDataDeviceInDelay 19 | 20 | ---@class EngineTagDataDeviceInTable 21 | ---@field none EngineTagDataDeviceInNone 22 | ---@field power EngineTagDataDeviceInPower 23 | ---@field changeInPower EngineTagDataDeviceInChangeInPower 24 | ---@field position EngineTagDataDeviceInPosition 25 | ---@field changeInPosition EngineTagDataDeviceInChangeInPosition 26 | ---@field locked EngineTagDataDeviceInLocked 27 | ---@field delay EngineTagDataDeviceInDelay 28 | Engine.tag.deviceIn = {} 29 | 30 | ---@class MetaEngineTagDataDeviceFlags 31 | ---@field positionLoops boolean 32 | ---@field positionNotInterpolated boolean 33 | 34 | ---@class MetaEngineTagDataDevice: MetaEngineTagDataObject 35 | ---@field deviceFlags MetaEngineTagDataDeviceFlags 36 | ---@field powerTransitionTime number 37 | ---@field powerAccelerationTime number 38 | ---@field positionTransitionTime number 39 | ---@field positionAccelerationTime number 40 | ---@field depoweredPositionTransitionTime number 41 | ---@field depoweredPositionAccelerationTime number 42 | ---@field deviceAIn EngineTagDataDeviceIn 43 | ---@field deviceBIn EngineTagDataDeviceIn 44 | ---@field deviceCIn EngineTagDataDeviceIn 45 | ---@field deviceDIn EngineTagDataDeviceIn 46 | ---@field open MetaEngineTagDependency 47 | ---@field close MetaEngineTagDependency 48 | ---@field opened MetaEngineTagDependency 49 | ---@field closed MetaEngineTagDependency 50 | ---@field depowered MetaEngineTagDependency 51 | ---@field repowered MetaEngineTagDependency 52 | ---@field delayTime number 53 | ---@field delayEffect MetaEngineTagDependency 54 | ---@field automaticActivationRadius number 55 | ---@field inversePowerAccelerationTime number 56 | ---@field inversePowerTransitionTime number 57 | ---@field inverseDepoweredPositionAccelerationTime number 58 | ---@field inverseDepoweredPositionTransitionTime number 59 | ---@field inversePositionAccelerationTime number 60 | ---@field inversePositionTransitionTime number 61 | ---@field delayTimeTicks number 62 | 63 | 64 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataDeviceControl.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataDeviceTypeEnum : Enum 2 | 3 | ---@class EngineTagDataDeviceTypeToggleSwitch : EngineTagDataDeviceTypeEnum 4 | ---@class EngineTagDataDeviceTypeOnButton : EngineTagDataDeviceTypeEnum 5 | ---@class EngineTagDataDeviceTypeOffButton : EngineTagDataDeviceTypeEnum 6 | ---@class EngineTagDataDeviceTypeCallButton : EngineTagDataDeviceTypeEnum 7 | 8 | ---@alias EngineTagDataDeviceType 9 | ---| EngineTagDataDeviceTypeToggleSwitch 10 | ---| EngineTagDataDeviceTypeOnButton 11 | ---| EngineTagDataDeviceTypeOffButton 12 | ---| EngineTagDataDeviceTypeCallButton 13 | 14 | ---@class EngineTagDataDeviceTypeTable 15 | ---@field toggleSwitch EngineTagDataDeviceTypeToggleSwitch 16 | ---@field onButton EngineTagDataDeviceTypeOnButton 17 | ---@field offButton EngineTagDataDeviceTypeOffButton 18 | ---@field callButton EngineTagDataDeviceTypeCallButton 19 | Engine.tag.deviceType = {} 20 | 21 | ---@class EngineTagDataDeviceTriggersWhenEnum : Enum 22 | 23 | ---@class EngineTagDataDeviceTriggersWhenTouchedByPlayer : EngineTagDataDeviceTriggersWhenEnum 24 | ---@class EngineTagDataDeviceTriggersWhenDestroyed : EngineTagDataDeviceTriggersWhenEnum 25 | 26 | ---@alias EngineTagDataDeviceTriggersWhen 27 | ---| EngineTagDataDeviceTriggersWhenTouchedByPlayer 28 | ---| EngineTagDataDeviceTriggersWhenDestroyed 29 | 30 | ---@class EngineTagDataDeviceTriggersWhenTable 31 | ---@field nTouchedByPlayer EngineTagDataDeviceTriggersWhenTouchedByPlayer 32 | ---@field nDestroyed EngineTagDataDeviceTriggersWhenDestroyed 33 | Engine.tag.deviceTriggersWhen = {} 34 | 35 | ---@class MetaEngineTagDataDeviceControl: MetaEngineTagDataDevice 36 | ---@field type EngineTagDataDeviceType 37 | ---@field triggersWhen EngineTagDataDeviceTriggersWhen 38 | ---@field callValue number 39 | ---@field on MetaEngineTagDependency 40 | ---@field off MetaEngineTagDependency 41 | ---@field deny MetaEngineTagDependency 42 | 43 | 44 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataDeviceLightFixture.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataDeviceLightFixture: MetaEngineTagDataDevice 2 | 3 | 4 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataDeviceMachine.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataMachineTypeEnum : Enum 2 | 3 | ---@class EngineTagDataMachineTypeDoor : EngineTagDataMachineTypeEnum 4 | ---@class EngineTagDataMachineTypePlatform : EngineTagDataMachineTypeEnum 5 | ---@class EngineTagDataMachineTypeGear : EngineTagDataMachineTypeEnum 6 | 7 | ---@alias EngineTagDataMachineType 8 | ---| EngineTagDataMachineTypeDoor 9 | ---| EngineTagDataMachineTypePlatform 10 | ---| EngineTagDataMachineTypeGear 11 | 12 | ---@class EngineTagDataMachineTypeTable 13 | ---@field door EngineTagDataMachineTypeDoor 14 | ---@field platform EngineTagDataMachineTypePlatform 15 | ---@field gear EngineTagDataMachineTypeGear 16 | Engine.tag.machineType = {} 17 | 18 | ---@class EngineTagDataMachineCollisionResponseEnum : Enum 19 | 20 | ---@class EngineTagDataMachineCollisionResponsePauseUntilCrushed : EngineTagDataMachineCollisionResponseEnum 21 | ---@class EngineTagDataMachineCollisionResponseReverseDirections : EngineTagDataMachineCollisionResponseEnum 22 | 23 | ---@alias EngineTagDataMachineCollisionResponse 24 | ---| EngineTagDataMachineCollisionResponsePauseUntilCrushed 25 | ---| EngineTagDataMachineCollisionResponseReverseDirections 26 | 27 | ---@class EngineTagDataMachineCollisionResponseTable 28 | ---@field ePauseUntilCrushed EngineTagDataMachineCollisionResponsePauseUntilCrushed 29 | ---@field eReverseDirections EngineTagDataMachineCollisionResponseReverseDirections 30 | Engine.tag.machineCollisionResponse = {} 31 | 32 | ---@class MetaEngineTagDataMachineFlags 33 | ---@field pathfindingObstacle boolean 34 | ---@field butNotWhenOpen boolean 35 | ---@field elevator boolean 36 | 37 | ---@class MetaEngineTagDataDeviceMachine: MetaEngineTagDataDevice 38 | ---@field machineType EngineTagDataMachineType 39 | ---@field machineFlags MetaEngineTagDataMachineFlags 40 | ---@field doorOpenTime number 41 | ---@field collisionResponse EngineTagDataMachineCollisionResponse 42 | ---@field elevatorNode MetaEngineIndex 43 | ---@field doorOpenTimeTicks integer 44 | 45 | 46 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataDialogue.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataDialogue 2 | ---@field idleNoncombat MetaEngineTagDependency 3 | ---@field idleCombat MetaEngineTagDependency 4 | ---@field idleFlee MetaEngineTagDependency 5 | ---@field painBodyMinor MetaEngineTagDependency 6 | ---@field painBodyMajor MetaEngineTagDependency 7 | ---@field painShield MetaEngineTagDependency 8 | ---@field painFalling MetaEngineTagDependency 9 | ---@field screamFear MetaEngineTagDependency 10 | ---@field screamPain MetaEngineTagDependency 11 | ---@field maimedLimb MetaEngineTagDependency 12 | ---@field maimedHead MetaEngineTagDependency 13 | ---@field deathQuiet MetaEngineTagDependency 14 | ---@field deathViolent MetaEngineTagDependency 15 | ---@field deathFalling MetaEngineTagDependency 16 | ---@field deathAgonizing MetaEngineTagDependency 17 | ---@field deathInstant MetaEngineTagDependency 18 | ---@field deathFlying MetaEngineTagDependency 19 | ---@field damagedFriend MetaEngineTagDependency 20 | ---@field damagedFriendPlayer MetaEngineTagDependency 21 | ---@field damagedEnemy MetaEngineTagDependency 22 | ---@field damagedEnemyCm MetaEngineTagDependency 23 | ---@field hurtFriend MetaEngineTagDependency 24 | ---@field hurtFriendRe MetaEngineTagDependency 25 | ---@field hurtFriendPlayer MetaEngineTagDependency 26 | ---@field hurtEnemy MetaEngineTagDependency 27 | ---@field hurtEnemyRe MetaEngineTagDependency 28 | ---@field hurtEnemyCm MetaEngineTagDependency 29 | ---@field hurtEnemyBullet MetaEngineTagDependency 30 | ---@field hurtEnemyNeedler MetaEngineTagDependency 31 | ---@field hurtEnemyPlasma MetaEngineTagDependency 32 | ---@field hurtEnemySniper MetaEngineTagDependency 33 | ---@field hurtEnemyGrenade MetaEngineTagDependency 34 | ---@field hurtEnemyExplosion MetaEngineTagDependency 35 | ---@field hurtEnemyMelee MetaEngineTagDependency 36 | ---@field hurtEnemyFlame MetaEngineTagDependency 37 | ---@field hurtEnemyShotgun MetaEngineTagDependency 38 | ---@field hurtEnemyVehicle MetaEngineTagDependency 39 | ---@field hurtEnemyMountedweapon MetaEngineTagDependency 40 | ---@field killedFriend MetaEngineTagDependency 41 | ---@field killedFriendCm MetaEngineTagDependency 42 | ---@field killedFriendPlayer MetaEngineTagDependency 43 | ---@field killedFriendPlayerCm MetaEngineTagDependency 44 | ---@field killedEnemy MetaEngineTagDependency 45 | ---@field killedEnemyCm MetaEngineTagDependency 46 | ---@field killedEnemyPlayer MetaEngineTagDependency 47 | ---@field killedEnemyPlayerCm MetaEngineTagDependency 48 | ---@field killedEnemyCovenant MetaEngineTagDependency 49 | ---@field killedEnemyCovenantCm MetaEngineTagDependency 50 | ---@field killedEnemyFloodcombat MetaEngineTagDependency 51 | ---@field killedEnemyFloodcombatCm MetaEngineTagDependency 52 | ---@field killedEnemyFloodcarrier MetaEngineTagDependency 53 | ---@field killedEnemyFloodcarrierCm MetaEngineTagDependency 54 | ---@field killedEnemySentinel MetaEngineTagDependency 55 | ---@field killedEnemySentinelCm MetaEngineTagDependency 56 | ---@field killedEnemyBullet MetaEngineTagDependency 57 | ---@field killedEnemyNeedler MetaEngineTagDependency 58 | ---@field killedEnemyPlasma MetaEngineTagDependency 59 | ---@field killedEnemySniper MetaEngineTagDependency 60 | ---@field killedEnemyGrenade MetaEngineTagDependency 61 | ---@field killedEnemyExplosion MetaEngineTagDependency 62 | ---@field killedEnemyMelee MetaEngineTagDependency 63 | ---@field killedEnemyFlame MetaEngineTagDependency 64 | ---@field killedEnemyShotgun MetaEngineTagDependency 65 | ---@field killedEnemyVehicle MetaEngineTagDependency 66 | ---@field killedEnemyMountedweapon MetaEngineTagDependency 67 | ---@field killingSpree MetaEngineTagDependency 68 | ---@field playerKillCm MetaEngineTagDependency 69 | ---@field playerKillBulletCm MetaEngineTagDependency 70 | ---@field playerKillNeedlerCm MetaEngineTagDependency 71 | ---@field playerKillPlasmaCm MetaEngineTagDependency 72 | ---@field playerKillSniperCm MetaEngineTagDependency 73 | ---@field anyoneKillGrenadeCm MetaEngineTagDependency 74 | ---@field playerKillExplosionCm MetaEngineTagDependency 75 | ---@field playerKillMeleeCm MetaEngineTagDependency 76 | ---@field playerKillFlameCm MetaEngineTagDependency 77 | ---@field playerKillShotgunCm MetaEngineTagDependency 78 | ---@field playerKillVehicleCm MetaEngineTagDependency 79 | ---@field playerKillMountedweaponCm MetaEngineTagDependency 80 | ---@field playerKilllingSpreeCm MetaEngineTagDependency 81 | ---@field friendDied MetaEngineTagDependency 82 | ---@field friendPlayerDied MetaEngineTagDependency 83 | ---@field friendKilledByFriend MetaEngineTagDependency 84 | ---@field friendKilledByFriendlyPlayer MetaEngineTagDependency 85 | ---@field friendKilledByEnemy MetaEngineTagDependency 86 | ---@field friendKilledByEnemyPlayer MetaEngineTagDependency 87 | ---@field friendKilledByCovenant MetaEngineTagDependency 88 | ---@field friendKilledByFlood MetaEngineTagDependency 89 | ---@field friendKilledBySentinel MetaEngineTagDependency 90 | ---@field friendBetrayed MetaEngineTagDependency 91 | ---@field newCombatAlone MetaEngineTagDependency 92 | ---@field newEnemyRecentCombat MetaEngineTagDependency 93 | ---@field oldEnemySighted MetaEngineTagDependency 94 | ---@field unexpectedEnemy MetaEngineTagDependency 95 | ---@field deadFriendFound MetaEngineTagDependency 96 | ---@field allianceBroken MetaEngineTagDependency 97 | ---@field allianceReformed MetaEngineTagDependency 98 | ---@field grenadeThrowing MetaEngineTagDependency 99 | ---@field grenadeSighted MetaEngineTagDependency 100 | ---@field grenadeStartle MetaEngineTagDependency 101 | ---@field grenadeDangerEnemy MetaEngineTagDependency 102 | ---@field grenadeDangerSelf MetaEngineTagDependency 103 | ---@field grenadeDangerFriend MetaEngineTagDependency 104 | ---@field newCombatGroupRe MetaEngineTagDependency 105 | ---@field newCombatNearbyRe MetaEngineTagDependency 106 | ---@field alertFriend MetaEngineTagDependency 107 | ---@field alertFriendRe MetaEngineTagDependency 108 | ---@field alertLostContact MetaEngineTagDependency 109 | ---@field alertLostContactRe MetaEngineTagDependency 110 | ---@field blocked MetaEngineTagDependency 111 | ---@field blockedRe MetaEngineTagDependency 112 | ---@field searchStart MetaEngineTagDependency 113 | ---@field searchQuery MetaEngineTagDependency 114 | ---@field searchQueryRe MetaEngineTagDependency 115 | ---@field searchReport MetaEngineTagDependency 116 | ---@field searchAbandon MetaEngineTagDependency 117 | ---@field searchGroupAbandon MetaEngineTagDependency 118 | ---@field groupUncover MetaEngineTagDependency 119 | ---@field groupUncoverRe MetaEngineTagDependency 120 | ---@field advance MetaEngineTagDependency 121 | ---@field advanceRe MetaEngineTagDependency 122 | ---@field retreat MetaEngineTagDependency 123 | ---@field retreatRe MetaEngineTagDependency 124 | ---@field cover MetaEngineTagDependency 125 | ---@field sightedFriendPlayer MetaEngineTagDependency 126 | ---@field shooting MetaEngineTagDependency 127 | ---@field shootingVehicle MetaEngineTagDependency 128 | ---@field shootingBerserk MetaEngineTagDependency 129 | ---@field shootingGroup MetaEngineTagDependency 130 | ---@field shootingTraitor MetaEngineTagDependency 131 | ---@field taunt MetaEngineTagDependency 132 | ---@field tauntRe MetaEngineTagDependency 133 | ---@field flee MetaEngineTagDependency 134 | ---@field fleeRe MetaEngineTagDependency 135 | ---@field fleeLeaderDied MetaEngineTagDependency 136 | ---@field attemptedFlee MetaEngineTagDependency 137 | ---@field attemptedFleeRe MetaEngineTagDependency 138 | ---@field lostContact MetaEngineTagDependency 139 | ---@field hidingFinished MetaEngineTagDependency 140 | ---@field vehicleEntry MetaEngineTagDependency 141 | ---@field vehicleExit MetaEngineTagDependency 142 | ---@field vehicleWoohoo MetaEngineTagDependency 143 | ---@field vehicleScared MetaEngineTagDependency 144 | ---@field vehicleCollision MetaEngineTagDependency 145 | ---@field partiallySighted MetaEngineTagDependency 146 | ---@field nothingThere MetaEngineTagDependency 147 | ---@field pleading MetaEngineTagDependency 148 | ---@field surprise MetaEngineTagDependency 149 | ---@field berserk MetaEngineTagDependency 150 | ---@field meleeAttack MetaEngineTagDependency 151 | ---@field dive MetaEngineTagDependency 152 | ---@field uncoverExclamation MetaEngineTagDependency 153 | ---@field leapAttack MetaEngineTagDependency 154 | ---@field resurrection MetaEngineTagDependency 155 | ---@field celebration MetaEngineTagDependency 156 | ---@field checkBodyEnemy MetaEngineTagDependency 157 | ---@field checkBodyFriend MetaEngineTagDependency 158 | ---@field shootingDeadEnemy MetaEngineTagDependency 159 | ---@field shootingDeadEnemyPlayer MetaEngineTagDependency 160 | ---@field alone MetaEngineTagDependency 161 | ---@field unscathed MetaEngineTagDependency 162 | ---@field seriouslyWounded MetaEngineTagDependency 163 | ---@field seriouslyWoundedRe MetaEngineTagDependency 164 | ---@field massacre MetaEngineTagDependency 165 | ---@field massacreRe MetaEngineTagDependency 166 | ---@field rout MetaEngineTagDependency 167 | ---@field routRe MetaEngineTagDependency 168 | 169 | 170 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataEffect.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataEffectCreateInEnum : Enum 2 | 3 | ---@class EngineTagDataEffectCreateInAnyEnvironment : EngineTagDataEffectCreateInEnum 4 | ---@class EngineTagDataEffectCreateInAirOnly : EngineTagDataEffectCreateInEnum 5 | ---@class EngineTagDataEffectCreateInWaterOnly : EngineTagDataEffectCreateInEnum 6 | ---@class EngineTagDataEffectCreateInSpaceOnly : EngineTagDataEffectCreateInEnum 7 | 8 | ---@alias EngineTagDataEffectCreateIn 9 | ---| EngineTagDataEffectCreateInAnyEnvironment 10 | ---| EngineTagDataEffectCreateInAirOnly 11 | ---| EngineTagDataEffectCreateInWaterOnly 12 | ---| EngineTagDataEffectCreateInSpaceOnly 13 | 14 | ---@class EngineTagDataEffectCreateInTable 15 | ---@field nAnyEnvironment EngineTagDataEffectCreateInAnyEnvironment 16 | ---@field nAirOnly EngineTagDataEffectCreateInAirOnly 17 | ---@field nWaterOnly EngineTagDataEffectCreateInWaterOnly 18 | ---@field nSpaceOnly EngineTagDataEffectCreateInSpaceOnly 19 | Engine.tag.effectCreateIn = {} 20 | 21 | ---@class EngineTagDataEffectViolenceModeEnum : Enum 22 | 23 | ---@class EngineTagDataEffectViolenceModeEitherMode : EngineTagDataEffectViolenceModeEnum 24 | ---@class EngineTagDataEffectViolenceModeViolentModeOnly : EngineTagDataEffectViolenceModeEnum 25 | ---@class EngineTagDataEffectViolenceModeNonviolentModeOnly : EngineTagDataEffectViolenceModeEnum 26 | 27 | ---@alias EngineTagDataEffectViolenceMode 28 | ---| EngineTagDataEffectViolenceModeEitherMode 29 | ---| EngineTagDataEffectViolenceModeViolentModeOnly 30 | ---| EngineTagDataEffectViolenceModeNonviolentModeOnly 31 | 32 | ---@class EngineTagDataEffectViolenceModeTable 33 | ---@field eEitherMode EngineTagDataEffectViolenceModeEitherMode 34 | ---@field eViolentModeOnly EngineTagDataEffectViolenceModeViolentModeOnly 35 | ---@field eNonviolentModeOnly EngineTagDataEffectViolenceModeNonviolentModeOnly 36 | Engine.tag.effectViolenceMode = {} 37 | 38 | ---@class EngineTagDataEffectCreateEnum : Enum 39 | 40 | ---@class EngineTagDataEffectCreateIndependentOfCameraMode : EngineTagDataEffectCreateEnum 41 | ---@class EngineTagDataEffectCreateOnlyInFirstPerson : EngineTagDataEffectCreateEnum 42 | ---@class EngineTagDataEffectCreateOnlyInThirdPerson : EngineTagDataEffectCreateEnum 43 | ---@class EngineTagDataEffectCreateInFirstPersonIfPossible : EngineTagDataEffectCreateEnum 44 | 45 | ---@alias EngineTagDataEffectCreate 46 | ---| EngineTagDataEffectCreateIndependentOfCameraMode 47 | ---| EngineTagDataEffectCreateOnlyInFirstPerson 48 | ---| EngineTagDataEffectCreateOnlyInThirdPerson 49 | ---| EngineTagDataEffectCreateInFirstPersonIfPossible 50 | 51 | ---@class EngineTagDataEffectCreateTable 52 | ---@field independentOfCameraMode EngineTagDataEffectCreateIndependentOfCameraMode 53 | ---@field onlyInFirstPerson EngineTagDataEffectCreateOnlyInFirstPerson 54 | ---@field onlyInThirdPerson EngineTagDataEffectCreateOnlyInThirdPerson 55 | ---@field inFirstPersonIfPossible EngineTagDataEffectCreateInFirstPersonIfPossible 56 | Engine.tag.effectCreate = {} 57 | 58 | ---@class EngineTagDataEffectDistributionFunctionEnum : Enum 59 | 60 | ---@class EngineTagDataEffectDistributionFunctionStart : EngineTagDataEffectDistributionFunctionEnum 61 | ---@class EngineTagDataEffectDistributionFunctionEnd : EngineTagDataEffectDistributionFunctionEnum 62 | ---@class EngineTagDataEffectDistributionFunctionConstant : EngineTagDataEffectDistributionFunctionEnum 63 | ---@class EngineTagDataEffectDistributionFunctionBuildup : EngineTagDataEffectDistributionFunctionEnum 64 | ---@class EngineTagDataEffectDistributionFunctionFalloff : EngineTagDataEffectDistributionFunctionEnum 65 | ---@class EngineTagDataEffectDistributionFunctionBuildupAndFalloff : EngineTagDataEffectDistributionFunctionEnum 66 | 67 | ---@alias EngineTagDataEffectDistributionFunction 68 | ---| EngineTagDataEffectDistributionFunctionStart 69 | ---| EngineTagDataEffectDistributionFunctionEnd 70 | ---| EngineTagDataEffectDistributionFunctionConstant 71 | ---| EngineTagDataEffectDistributionFunctionBuildup 72 | ---| EngineTagDataEffectDistributionFunctionFalloff 73 | ---| EngineTagDataEffectDistributionFunctionBuildupAndFalloff 74 | 75 | ---@class EngineTagDataEffectDistributionFunctionTable 76 | ---@field nStart EngineTagDataEffectDistributionFunctionStart 77 | ---@field nEnd EngineTagDataEffectDistributionFunctionEnd 78 | ---@field nConstant EngineTagDataEffectDistributionFunctionConstant 79 | ---@field nBuildup EngineTagDataEffectDistributionFunctionBuildup 80 | ---@field nFalloff EngineTagDataEffectDistributionFunctionFalloff 81 | ---@field nBuildupAndFalloff EngineTagDataEffectDistributionFunctionBuildupAndFalloff 82 | Engine.tag.effectDistributionFunction = {} 83 | 84 | ---@class MetaEngineTagDataEffectPartFlags 85 | ---@field faceDownRegardlessOfLocationDecals boolean 86 | ---@field unused boolean 87 | ---@field makeEffectWork boolean 88 | 89 | ---@class MetaEngineTagDataEffectPartScalesValues 90 | ---@field velocity boolean 91 | ---@field velocityDelta boolean 92 | ---@field velocityConeAngle boolean 93 | ---@field angularVelocity boolean 94 | ---@field angularVelocityDelta boolean 95 | ---@field typeSpecificScale boolean 96 | 97 | ---@class MetaEngineTagDataEffectParticleFlags 98 | ---@field stayAttachedToMarker boolean 99 | ---@field randomInitialAngle boolean 100 | ---@field tintFromObjectColor boolean 101 | ---@field interpolateTintAsHsv boolean 102 | ---@field acrossTheLongHuePath boolean 103 | 104 | ---@class MetaEngineTagDataEffectParticleScalesValues 105 | ---@field velocity boolean 106 | ---@field velocityDelta boolean 107 | ---@field velocityConeAngle boolean 108 | ---@field angularVelocity boolean 109 | ---@field angularVelocityDelta boolean 110 | ---@field count boolean 111 | ---@field countDelta boolean 112 | ---@field distributionRadius boolean 113 | ---@field distributionRadiusDelta boolean 114 | ---@field particleRadius boolean 115 | ---@field particleRadiusDelta boolean 116 | ---@field tint boolean 117 | 118 | ---@class MetaEngineTagDataEffectFlags 119 | ---@field deletedWhenAttachmentDeactivates boolean 120 | ---@field mustBeDeterministicXbox boolean 121 | ---@field mustBeDeterministicPc boolean 122 | ---@field disabledInAnniversaryByBloodSetting boolean 123 | 124 | ---@class MetaEngineTagDataEffectLocation 125 | ---@field markerName MetaEngineTagString 126 | 127 | ---@class MetaEngineTagDataEffectPart 128 | ---@field createIn EngineTagDataEffectCreateIn 129 | ---@field violenceMode EngineTagDataEffectViolenceMode 130 | ---@field location MetaEngineIndex 131 | ---@field flags MetaEngineTagDataEffectPartFlags 132 | ---@field typeClass integer 133 | ---@field type MetaEngineTagDependency 134 | ---@field velocityBounds number 135 | ---@field velocityConeAngle MetaEngineAngle 136 | ---@field angularVelocityBounds MetaEngineAngle 137 | ---@field radiusModifierBounds number 138 | ---@field aScalesValues MetaEngineTagDataEffectPartScalesValues 139 | ---@field bScalesValues MetaEngineTagDataEffectPartScalesValues 140 | 141 | ---@class MetaEngineTagDataEffectParticle 142 | ---@field createIn EngineTagDataEffectCreateIn 143 | ---@field violenceMode EngineTagDataEffectViolenceMode 144 | ---@field create EngineTagDataEffectCreate 145 | ---@field location MetaEngineIndex 146 | ---@field relativeDirection MetaEngineEuler2D 147 | ---@field relativeOffset MetaEnginePoint3D 148 | ---@field relativeDirectionVector MetaEngineVector3D 149 | ---@field particleType MetaEngineTagDependency 150 | ---@field flags MetaEngineTagDataEffectParticleFlags 151 | ---@field distributionFunction EngineTagDataEffectDistributionFunction 152 | ---@field count integer 153 | ---@field distributionRadius number 154 | ---@field velocity number 155 | ---@field velocityConeAngle MetaEngineAngle 156 | ---@field angularVelocity MetaEngineAngle 157 | ---@field radius number 158 | ---@field tintLowerBound MetaEngineColorARGB 159 | ---@field tintUpperBound MetaEngineColorARGB 160 | ---@field aScalesValues MetaEngineTagDataEffectParticleScalesValues 161 | ---@field bScalesValues MetaEngineTagDataEffectParticleScalesValues 162 | 163 | ---@class MetaEngineTagDataEffectEvent 164 | ---@field skipFraction MetaEngineFraction 165 | ---@field delayBounds number 166 | ---@field durationBounds number 167 | ---@field parts TagBlock 168 | ---@field particles TagBlock 169 | 170 | ---@class MetaEngineTagDataEffect 171 | ---@field flags MetaEngineTagDataEffectFlags 172 | ---@field loopStartEvent MetaEngineIndex 173 | ---@field loopStopEvent MetaEngineIndex 174 | ---@field maximumDamageRadius number 175 | ---@field locations TagBlock 176 | ---@field events TagBlock 177 | 178 | 179 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataEquipment.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataEquipmentPowerupTypeEnum : Enum 2 | 3 | ---@class EngineTagDataEquipmentPowerupTypeNone : EngineTagDataEquipmentPowerupTypeEnum 4 | ---@class EngineTagDataEquipmentPowerupTypeDoubleSpeed : EngineTagDataEquipmentPowerupTypeEnum 5 | ---@class EngineTagDataEquipmentPowerupTypeOverShield : EngineTagDataEquipmentPowerupTypeEnum 6 | ---@class EngineTagDataEquipmentPowerupTypeActiveCamouflage : EngineTagDataEquipmentPowerupTypeEnum 7 | ---@class EngineTagDataEquipmentPowerupTypeFullSpectrumVision : EngineTagDataEquipmentPowerupTypeEnum 8 | ---@class EngineTagDataEquipmentPowerupTypeHealth : EngineTagDataEquipmentPowerupTypeEnum 9 | ---@class EngineTagDataEquipmentPowerupTypeGrenade : EngineTagDataEquipmentPowerupTypeEnum 10 | 11 | ---@alias EngineTagDataEquipmentPowerupType 12 | ---| EngineTagDataEquipmentPowerupTypeNone 13 | ---| EngineTagDataEquipmentPowerupTypeDoubleSpeed 14 | ---| EngineTagDataEquipmentPowerupTypeOverShield 15 | ---| EngineTagDataEquipmentPowerupTypeActiveCamouflage 16 | ---| EngineTagDataEquipmentPowerupTypeFullSpectrumVision 17 | ---| EngineTagDataEquipmentPowerupTypeHealth 18 | ---| EngineTagDataEquipmentPowerupTypeGrenade 19 | 20 | ---@class EngineTagDataEquipmentPowerupTypeTable 21 | ---@field eNone EngineTagDataEquipmentPowerupTypeNone 22 | ---@field eDoubleSpeed EngineTagDataEquipmentPowerupTypeDoubleSpeed 23 | ---@field eOverShield EngineTagDataEquipmentPowerupTypeOverShield 24 | ---@field eActiveCamouflage EngineTagDataEquipmentPowerupTypeActiveCamouflage 25 | ---@field eFullSpectrumVision EngineTagDataEquipmentPowerupTypeFullSpectrumVision 26 | ---@field eHealth EngineTagDataEquipmentPowerupTypeHealth 27 | ---@field eGrenade EngineTagDataEquipmentPowerupTypeGrenade 28 | Engine.tag.equipmentPowerupType = {} 29 | 30 | ---@class MetaEngineTagDataEquipment: MetaEngineTagDataItem 31 | ---@field powerupType EngineTagDataEquipmentPowerupType 32 | ---@field grenadeType EngineTagDataGrenadeType 33 | ---@field powerupTime number 34 | ---@field pickupSound MetaEngineTagDependency 35 | 36 | 37 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataFlag.lua: -------------------------------------------------------------------------------- 1 | -- SPDX-License-Identifier: GPL-3.0-only 2 | -- This file is used to document the Lua plugins engine API. It should not be included. 3 | 4 | ---@meta _ 5 | 6 | ---@class EngineTagDataFlagTrailingEdgeShapeEnum : Enum 7 | 8 | ---@class EngineTagDataFlagTrailingEdgeShapeFlat : EngineTagDataFlagTrailingEdgeShapeEnum 9 | ---@class EngineTagDataFlagTrailingEdgeShapeConcaveTriangular : EngineTagDataFlagTrailingEdgeShapeEnum 10 | ---@class EngineTagDataFlagTrailingEdgeShapeConvexTriangular : EngineTagDataFlagTrailingEdgeShapeEnum 11 | ---@class EngineTagDataFlagTrailingEdgeShapeTrapezoidShortTop : EngineTagDataFlagTrailingEdgeShapeEnum 12 | ---@class EngineTagDataFlagTrailingEdgeShapeTrapezoidShortBottom : EngineTagDataFlagTrailingEdgeShapeEnum 13 | 14 | ---@alias EngineTagDataFlagTrailingEdgeShape 15 | ---| EngineTagDataFlagTrailingEdgeShapeFlat 16 | ---| EngineTagDataFlagTrailingEdgeShapeConcaveTriangular 17 | ---| EngineTagDataFlagTrailingEdgeShapeConvexTriangular 18 | ---| EngineTagDataFlagTrailingEdgeShapeTrapezoidShortTop 19 | ---| EngineTagDataFlagTrailingEdgeShapeTrapezoidShortBottom 20 | 21 | ---@class EngineTagDataFlagTrailingEdgeShapeTable 22 | ---@field peFlat EngineTagDataFlagTrailingEdgeShapeFlat 23 | ---@field peConcaveTriangular EngineTagDataFlagTrailingEdgeShapeConcaveTriangular 24 | ---@field peConvexTriangular EngineTagDataFlagTrailingEdgeShapeConvexTriangular 25 | ---@field peTrapezoidShortTop EngineTagDataFlagTrailingEdgeShapeTrapezoidShortTop 26 | ---@field peTrapezoidShortBottom EngineTagDataFlagTrailingEdgeShapeTrapezoidShortBottom 27 | Engine.tag.flagTrailingEdgeShape = {} 28 | 29 | ---@class EngineTagDataFlagAttachedEdgeShapeEnum : Enum 30 | 31 | ---@class EngineTagDataFlagAttachedEdgeShapeFlat : EngineTagDataFlagAttachedEdgeShapeEnum 32 | ---@class EngineTagDataFlagAttachedEdgeShapeConcaveTriangular : EngineTagDataFlagAttachedEdgeShapeEnum 33 | 34 | ---@alias EngineTagDataFlagAttachedEdgeShape 35 | ---| EngineTagDataFlagAttachedEdgeShapeFlat 36 | ---| EngineTagDataFlagAttachedEdgeShapeConcaveTriangular 37 | 38 | ---@class EngineTagDataFlagAttachedEdgeShapeTable 39 | ---@field peFlat EngineTagDataFlagAttachedEdgeShapeFlat 40 | ---@field peConcaveTriangular EngineTagDataFlagAttachedEdgeShapeConcaveTriangular 41 | Engine.tag.flagAttachedEdgeShape = {} 42 | 43 | ---@class MetaEngineTagDataFlagAttachmentPoint 44 | ---@field heightToNextAttachment integer 45 | ---@field markerName MetaEngineTagString 46 | 47 | ---@class MetaEngineTagDataFlag 48 | ---@field flags MetaEngineTagDataIsUnusedFlag 49 | ---@field trailingEdgeShape EngineTagDataFlagTrailingEdgeShape 50 | ---@field trailingEdgeShapeOffset integer 51 | ---@field attachedEdgeShape EngineTagDataFlagAttachedEdgeShape 52 | ---@field width integer 53 | ---@field height integer 54 | ---@field cellWidth number 55 | ---@field cellHeight number 56 | ---@field redFlagShader MetaEngineTagDependency 57 | ---@field physics MetaEngineTagDependency 58 | ---@field windNoise number 59 | ---@field blueFlagShader MetaEngineTagDependency 60 | ---@field attachmentPoints TagBlock 61 | 62 | 63 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataFog.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataFogFlags 2 | ---@field isWater boolean 3 | ---@field atmosphereDominant boolean 4 | ---@field fogScreenOnly boolean 5 | 6 | ---@class MetaEngineTagDataFogScreenFlags 7 | ---@field noEnvironmentMultipass boolean 8 | ---@field noModelMultipass boolean 9 | ---@field noTextureBasedFalloff boolean 10 | 11 | ---@class MetaEngineTagDataFog 12 | ---@field flags MetaEngineTagDataFogFlags 13 | ---@field maximumDensity MetaEngineFraction 14 | ---@field opaqueDistance number 15 | ---@field opaqueDepth number 16 | ---@field distanceToWaterPlane number 17 | ---@field color MetaEngineColorRGB 18 | ---@field flags1 MetaEngineTagDataFogScreenFlags 19 | ---@field layerCount integer 20 | ---@field distanceGradient number 21 | ---@field densityGradient MetaEngineFraction 22 | ---@field startDistanceFromFogPlane number 23 | ---@field screenLayersColor MetaEngineColorARGBInt 24 | ---@field rotationMultiplier MetaEngineFraction 25 | ---@field strafingMultiplier MetaEngineFraction 26 | ---@field zoomMultiplier MetaEngineFraction 27 | ---@field mapScale number 28 | ---@field map MetaEngineTagDependency 29 | ---@field animationPeriod number 30 | ---@field windVelocity number 31 | ---@field windPeriod number 32 | ---@field windAccelerationWeight MetaEngineFraction 33 | ---@field windPerpendicularWeight MetaEngineFraction 34 | ---@field backgroundSound MetaEngineTagDependency 35 | ---@field soundEnvironment MetaEngineTagDependency 36 | 37 | 38 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataFont.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataFontCharacterIndex 2 | ---@field characterIndex MetaEngineIndex 3 | 4 | ---@class MetaEngineTagDataFontCharacterTables 5 | ---@field characterTable TagBlock 6 | 7 | ---@class MetaEngineTagDataFontCharacter 8 | ---@field character integer 9 | ---@field characterWidth integer 10 | ---@field bitmapWidth integer 11 | ---@field bitmapHeight integer 12 | ---@field bitmapOriginX integer 13 | ---@field bitmapOriginY integer 14 | ---@field hardwareCharacterIndex integer 15 | ---@field pixelsOffset integer 16 | 17 | ---@class MetaEngineTagDataFont 18 | ---@field flags integer 19 | ---@field ascendingHeight integer 20 | ---@field descendingHeight integer 21 | ---@field leadingHeight integer 22 | ---@field leadingWidth integer 23 | ---@field characterTables TagBlock 24 | ---@field bold MetaEngineTagDependency 25 | ---@field italic MetaEngineTagDependency 26 | ---@field condense MetaEngineTagDependency 27 | ---@field underline MetaEngineTagDependency 28 | ---@field characters TagBlock 29 | ---@field pixels MetaEngineTagDataOffset 30 | 31 | 32 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataGarbage.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataGarbage: MetaEngineTagDataItem 2 | 3 | 4 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataGbxmodel.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataGBXModelGeometryPart: MetaEngineTagDataModelGeometryPart 2 | ---@field localNodeCount integer 3 | ---@field localNodeIndices integer 4 | 5 | ---@class MetaEngineTagDataGBXModelGeometry 6 | ---@field flags MetaEngineTagDataIsUnusedFlag 7 | ---@field parts TagBlock 8 | 9 | ---@class MetaEngineTagDataGbxmodel 10 | ---@field flags MetaEngineTagDataModelFlags 11 | ---@field nodeListChecksum integer 12 | ---@field superHighDetailCutoff number 13 | ---@field highDetailCutoff number 14 | ---@field mediumDetailCutoff number 15 | ---@field lowDetailCutoff number 16 | ---@field superLowDetailCutoff number 17 | ---@field superLowDetailNodeCount integer 18 | ---@field lowDetailNodeCount integer 19 | ---@field mediumDetailNodeCount integer 20 | ---@field highDetailNodeCount integer 21 | ---@field superHighDetailNodeCount integer 22 | ---@field baseMapUScale number 23 | ---@field baseMapVScale number 24 | ---@field markers TagBlock 25 | ---@field nodes TagBlock 26 | ---@field regions TagBlock 27 | ---@field geometries TagBlock 28 | ---@field shaders TagBlock 29 | 30 | 31 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataGlow.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataGlowBoundaryEffectEnum : Enum 2 | 3 | ---@class EngineTagDataGlowBoundaryEffectBounce : EngineTagDataGlowBoundaryEffectEnum 4 | ---@class EngineTagDataGlowBoundaryEffectWrap : EngineTagDataGlowBoundaryEffectEnum 5 | 6 | ---@alias EngineTagDataGlowBoundaryEffect 7 | ---| EngineTagDataGlowBoundaryEffectBounce 8 | ---| EngineTagDataGlowBoundaryEffectWrap 9 | 10 | ---@class EngineTagDataGlowBoundaryEffectTable 11 | ---@field tBounce EngineTagDataGlowBoundaryEffectBounce 12 | ---@field tWrap EngineTagDataGlowBoundaryEffectWrap 13 | Engine.tag.glowBoundaryEffect = {} 14 | 15 | ---@class EngineTagDataGlowNormalParticleDistributionEnum : Enum 16 | 17 | ---@class EngineTagDataGlowNormalParticleDistributionDistributedRandomly : EngineTagDataGlowNormalParticleDistributionEnum 18 | ---@class EngineTagDataGlowNormalParticleDistributionDistributedUniformly : EngineTagDataGlowNormalParticleDistributionEnum 19 | 20 | ---@alias EngineTagDataGlowNormalParticleDistribution 21 | ---| EngineTagDataGlowNormalParticleDistributionDistributedRandomly 22 | ---| EngineTagDataGlowNormalParticleDistributionDistributedUniformly 23 | 24 | ---@class EngineTagDataGlowNormalParticleDistributionTable 25 | ---@field onDistributedRandomly EngineTagDataGlowNormalParticleDistributionDistributedRandomly 26 | ---@field onDistributedUniformly EngineTagDataGlowNormalParticleDistributionDistributedUniformly 27 | Engine.tag.glowNormalParticleDistribution = {} 28 | 29 | ---@class EngineTagDataGlowTrailingParticleDistributionEnum : Enum 30 | 31 | ---@class EngineTagDataGlowTrailingParticleDistributionEmitVertically : EngineTagDataGlowTrailingParticleDistributionEnum 32 | ---@class EngineTagDataGlowTrailingParticleDistributionEmitNormalUp : EngineTagDataGlowTrailingParticleDistributionEnum 33 | ---@class EngineTagDataGlowTrailingParticleDistributionEmitRandomly : EngineTagDataGlowTrailingParticleDistributionEnum 34 | 35 | ---@alias EngineTagDataGlowTrailingParticleDistribution 36 | ---| EngineTagDataGlowTrailingParticleDistributionEmitVertically 37 | ---| EngineTagDataGlowTrailingParticleDistributionEmitNormalUp 38 | ---| EngineTagDataGlowTrailingParticleDistributionEmitRandomly 39 | 40 | ---@class EngineTagDataGlowTrailingParticleDistributionTable 41 | ---@field onEmitVertically EngineTagDataGlowTrailingParticleDistributionEmitVertically 42 | ---@field onEmitNormalUp EngineTagDataGlowTrailingParticleDistributionEmitNormalUp 43 | ---@field onEmitRandomly EngineTagDataGlowTrailingParticleDistributionEmitRandomly 44 | Engine.tag.glowTrailingParticleDistribution = {} 45 | 46 | ---@class MetaEngineTagDataGlowFlags 47 | ---@field modifyParticleColorInRange boolean 48 | ---@field particlesMoveBackwards boolean 49 | ---@field particesMoveInBothDirections boolean 50 | ---@field trailingParticlesFadeOverTime boolean 51 | ---@field trailingParticlesShrinkOverTime boolean 52 | ---@field trailingParticlesSlowOverTime boolean 53 | 54 | ---@class MetaEngineTagDataGlow 55 | ---@field attachmentMarker MetaEngineTagString 56 | ---@field numberOfParticles integer 57 | ---@field boundaryEffect EngineTagDataGlowBoundaryEffect 58 | ---@field normalParticleDistribution EngineTagDataGlowNormalParticleDistribution 59 | ---@field trailingParticleDistribution EngineTagDataGlowTrailingParticleDistribution 60 | ---@field glowFlags MetaEngineTagDataGlowFlags 61 | ---@field attachment0 EngineTagDataFunctionOut 62 | ---@field particleRotationalVelocity number 63 | ---@field particleRotVelMulLow number 64 | ---@field particleRotVelMulHigh number 65 | ---@field attachment1 EngineTagDataFunctionOut 66 | ---@field effectRotationalVelocity number 67 | ---@field effectRotVelMulLow number 68 | ---@field effectRotVelMulHigh number 69 | ---@field attachment2 EngineTagDataFunctionOut 70 | ---@field effectTranslationalVelocity number 71 | ---@field effectTransVelMulLow number 72 | ---@field effectTransVelMulHigh number 73 | ---@field attachment3 EngineTagDataFunctionOut 74 | ---@field minDistanceParticleToObject number 75 | ---@field maxDistanceParticleToObject number 76 | ---@field distanceToObjectMulLow number 77 | ---@field distanceToObjectMulHigh number 78 | ---@field attachment4 EngineTagDataFunctionOut 79 | ---@field particleSizeBounds number 80 | ---@field sizeAttachmentMultiplier number 81 | ---@field attachment5 EngineTagDataFunctionOut 82 | ---@field colorBound0 MetaEngineColorARGB 83 | ---@field colorBound1 MetaEngineColorARGB 84 | ---@field scaleColor0 MetaEngineColorARGB 85 | ---@field scaleColor1 MetaEngineColorARGB 86 | ---@field colorRateOfChange number 87 | ---@field fadingPercentageOfGlow number 88 | ---@field particleGenerationFreq number 89 | ---@field lifetimeOfTrailingParticles number 90 | ---@field velocityOfTrailingParticles number 91 | ---@field trailingParticleMinimumT number 92 | ---@field trailingParticleMaximumT number 93 | ---@field texture MetaEngineTagDependency 94 | 95 | 96 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataGrenadeHudInterface.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataGrenadeHUDInterfaceOverlayType 2 | ---@field showOnFlashing boolean 3 | ---@field showOnEmpty boolean 4 | ---@field showOnDefault boolean 5 | ---@field showAlways boolean 6 | 7 | ---@class MetaEngineTagDataGrenadeHUDInterfaceSoundLatchedTo 8 | ---@field lowGrenadeCount boolean 9 | ---@field noGrenadesLeft boolean 10 | ---@field throwOnNoGrenades boolean 11 | 12 | ---@class MetaEngineTagDataGrenadeHUDInterfaceOverlay 13 | ---@field anchorOffset MetaEnginePoint2DInt 14 | ---@field widthScale number 15 | ---@field heightScale number 16 | ---@field scalingFlags MetaEngineTagDataHUDInterfaceScalingFlags 17 | ---@field defaultColor MetaEngineColorARGBInt 18 | ---@field flashingColor MetaEngineColorARGBInt 19 | ---@field flashPeriod number 20 | ---@field flashDelay number 21 | ---@field numberOfFlashes integer 22 | ---@field flashFlags MetaEngineTagDataHUDInterfaceFlashFlags 23 | ---@field flashLength number 24 | ---@field disabledColor MetaEngineColorARGBInt 25 | ---@field frameRate number 26 | ---@field sequenceIndex MetaEngineIndex 27 | ---@field type MetaEngineTagDataGrenadeHUDInterfaceOverlayType 28 | ---@field flags MetaEngineTagDataHUDInterfaceOverlayFlashFlags 29 | 30 | ---@class MetaEngineTagDataGrenadeHUDInterfaceSound 31 | ---@field sound MetaEngineTagDependency 32 | ---@field latchedTo MetaEngineTagDataGrenadeHUDInterfaceSoundLatchedTo 33 | ---@field scale number 34 | 35 | ---@class MetaEngineTagDataGrenadeHudInterface 36 | ---@field anchor EngineTagDataHUDInterfaceAnchor 37 | ---@field backgroundAnchorOffset MetaEnginePoint2DInt 38 | ---@field backgroundWidthScale number 39 | ---@field backgroundHeightScale number 40 | ---@field backgroundScalingFlags MetaEngineTagDataHUDInterfaceScalingFlags 41 | ---@field backgroundInterfaceBitmap MetaEngineTagDependency 42 | ---@field backgroundDefaultColor MetaEngineColorARGBInt 43 | ---@field backgroundFlashingColor MetaEngineColorARGBInt 44 | ---@field backgroundFlashPeriod number 45 | ---@field backgroundFlashDelay number 46 | ---@field backgroundNumberOfFlashes integer 47 | ---@field backgroundFlashFlags MetaEngineTagDataHUDInterfaceFlashFlags 48 | ---@field backgroundFlashLength number 49 | ---@field backgroundDisabledColor MetaEngineColorARGBInt 50 | ---@field backgroundSequenceIndex MetaEngineIndex 51 | ---@field backgroundMultitextureOverlays TagBlock 52 | ---@field totalGrenadesBackgroundAnchorOffset MetaEnginePoint2DInt 53 | ---@field totalGrenadesBackgroundWidthScale number 54 | ---@field totalGrenadesBackgroundHeightScale number 55 | ---@field totalGrenadesBackgroundScalingFlags MetaEngineTagDataHUDInterfaceScalingFlags 56 | ---@field totalGrenadesBackgroundInterfaceBitmap MetaEngineTagDependency 57 | ---@field totalGrenadesBackgroundDefaultColor MetaEngineColorARGBInt 58 | ---@field totalGrenadesBackgroundFlashingColor MetaEngineColorARGBInt 59 | ---@field totalGrenadesBackgroundFlashPeriod number 60 | ---@field totalGrenadesBackgroundFlashDelay number 61 | ---@field totalGrenadesBackgroundNumberOfFlashes integer 62 | ---@field totalGrenadesBackgroundFlashFlags MetaEngineTagDataHUDInterfaceFlashFlags 63 | ---@field totalGrenadesBackgroundFlashLength number 64 | ---@field totalGrenadesBackgroundDisabledColor MetaEngineColorARGBInt 65 | ---@field totalGrenadesBackgroundSequenceIndex MetaEngineIndex 66 | ---@field totalGrenadesBackgroundMultitextureOverlays TagBlock 67 | ---@field totalGrenadesNumbersAnchorOffset MetaEnginePoint2DInt 68 | ---@field totalGrenadesNumbersWidthScale number 69 | ---@field totalGrenadesNumbersHeightScale number 70 | ---@field totalGrenadesNumbersScalingFlags MetaEngineTagDataHUDInterfaceScalingFlags 71 | ---@field totalGrenadesNumbersDefaultColor MetaEngineColorARGBInt 72 | ---@field totalGrenadesNumbersFlashingColor MetaEngineColorARGBInt 73 | ---@field totalGrenadesNumbersFlashPeriod number 74 | ---@field totalGrenadesNumbersFlashDelay number 75 | ---@field totalGrenadesNumbersNumberOfFlashes integer 76 | ---@field totalGrenadesNumbersFlashFlags MetaEngineTagDataHUDInterfaceFlashFlags 77 | ---@field totalGrenadesNumbersFlashLength number 78 | ---@field totalGrenadesNumbersDisabledColor MetaEngineColorARGBInt 79 | ---@field totalGrenadesNumbersMaximumNumberOfDigits integer 80 | ---@field totalGrenadesNumbersFlags MetaEngineTagDataHUDInterfaceNumberFlags 81 | ---@field totalGrenadesNumbersNumberOfFractionalDigits integer 82 | ---@field flashCutoff integer 83 | ---@field totalGrenadesOverlayBitmap MetaEngineTagDependency 84 | ---@field totalGrenadesOverlays TagBlock 85 | ---@field totalGrenadesWarningSounds TagBlock 86 | ---@field messagingInformationSequenceIndex MetaEngineIndex 87 | ---@field messagingInformationWidthOffset integer 88 | ---@field messagingInformationOffsetFromReferenceCorner MetaEnginePoint2DInt 89 | ---@field messagingInformationOverrideIconColor MetaEngineColorARGBInt 90 | ---@field messagingInformationFrameRate integer 91 | ---@field messagingInformationFlags MetaEngineTagDataHUDInterfaceMessagingFlags 92 | ---@field messagingInformationTextIndex MetaEngineIndex 93 | 94 | 95 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataHudMessageText.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataHUDMessageTextElement 2 | ---@field type integer 3 | ---@field data integer 4 | 5 | ---@class MetaEngineTagDataHUDMessageTextMessage 6 | ---@field name MetaEngineTagString 7 | ---@field startIndexIntoTextBlob MetaEngineIndex 8 | ---@field startIndexOfMessageBlock MetaEngineIndex 9 | ---@field panelCount integer 10 | 11 | ---@class MetaEngineTagDataHudMessageText 12 | ---@field textData MetaEngineTagDataOffset 13 | ---@field messageElements TagBlock 14 | ---@field messages TagBlock 15 | 16 | 17 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataHudNumber.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataHudNumber 2 | ---@field digitsBitmap MetaEngineTagDependency 3 | ---@field bitmapDigitWidth integer 4 | ---@field screenDigitWidth integer 5 | ---@field xOffset integer 6 | ---@field yOffset integer 7 | ---@field decimalPointWidth integer 8 | ---@field colonWidth integer 9 | 10 | 11 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataInputDeviceDefaults.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataInputDeviceDefaultsDeviceTypeEnum : Enum 2 | 3 | ---@class EngineTagDataInputDeviceDefaultsDeviceTypeMouseAndKeyboard : EngineTagDataInputDeviceDefaultsDeviceTypeEnum 4 | ---@class EngineTagDataInputDeviceDefaultsDeviceTypeJoysticksGamepadsEtc : EngineTagDataInputDeviceDefaultsDeviceTypeEnum 5 | ---@class EngineTagDataInputDeviceDefaultsDeviceTypeFullProfileDefinition : EngineTagDataInputDeviceDefaultsDeviceTypeEnum 6 | 7 | ---@alias EngineTagDataInputDeviceDefaultsDeviceType 8 | ---| EngineTagDataInputDeviceDefaultsDeviceTypeMouseAndKeyboard 9 | ---| EngineTagDataInputDeviceDefaultsDeviceTypeJoysticksGamepadsEtc 10 | ---| EngineTagDataInputDeviceDefaultsDeviceTypeFullProfileDefinition 11 | 12 | ---@class EngineTagDataInputDeviceDefaultsDeviceTypeTable 13 | ---@field ypeMouseAndKeyboard EngineTagDataInputDeviceDefaultsDeviceTypeMouseAndKeyboard 14 | ---@field ypeJoysticksGamepadsEtc EngineTagDataInputDeviceDefaultsDeviceTypeJoysticksGamepadsEtc 15 | ---@field ypeFullProfileDefinition EngineTagDataInputDeviceDefaultsDeviceTypeFullProfileDefinition 16 | Engine.tag.inputDeviceDefaultsDeviceType = {} 17 | 18 | ---@class MetaEngineTagDataInputDeviceDefaultsFlags 19 | ---@field unused boolean 20 | 21 | ---@class MetaEngineTagDataInputDeviceDefaults 22 | ---@field deviceType EngineTagDataInputDeviceDefaultsDeviceType 23 | ---@field flags MetaEngineTagDataInputDeviceDefaultsFlags 24 | ---@field deviceId MetaEngineTagDataOffset 25 | ---@field profile MetaEngineTagDataOffset 26 | 27 | 28 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataItem.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataItemFlags 2 | ---@field alwaysMaintainsZUp boolean 3 | ---@field destroyedByExplosions boolean 4 | ---@field unaffectedByGravity boolean 5 | 6 | ---@class MetaEngineTagDataItem: MetaEngineTagDataObject 7 | ---@field itemFlags MetaEngineTagDataItemFlags 8 | ---@field pickupTextIndex MetaEngineIndex 9 | ---@field sortOrder integer 10 | ---@field scale number 11 | ---@field hudMessageValueScale integer 12 | ---@field itemAIn EngineTagDataObjectFunctionIn 13 | ---@field itemBIn EngineTagDataObjectFunctionIn 14 | ---@field itemCIn EngineTagDataObjectFunctionIn 15 | ---@field itemDIn EngineTagDataObjectFunctionIn 16 | ---@field materialEffects MetaEngineTagDependency 17 | ---@field collisionSound MetaEngineTagDependency 18 | ---@field detonationDelay number 19 | ---@field detonatingEffect MetaEngineTagDependency 20 | ---@field detonationEffect MetaEngineTagDependency 21 | 22 | 23 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataItemCollection.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataItemCollectionPermutation 2 | ---@field weight number 3 | ---@field item MetaEngineTagDependency 4 | 5 | ---@class MetaEngineTagDataItemCollection 6 | ---@field permutations TagBlock 7 | ---@field defaultSpawnTime integer 8 | 9 | 10 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataLensFlare.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataLensFlareRadiusScaledByEnum : Enum 2 | 3 | ---@class EngineTagDataLensFlareRadiusScaledByNone : EngineTagDataLensFlareRadiusScaledByEnum 4 | ---@class EngineTagDataLensFlareRadiusScaledByRotation : EngineTagDataLensFlareRadiusScaledByEnum 5 | ---@class EngineTagDataLensFlareRadiusScaledByRotationAndStrafing : EngineTagDataLensFlareRadiusScaledByEnum 6 | ---@class EngineTagDataLensFlareRadiusScaledByDistanceFromCenter : EngineTagDataLensFlareRadiusScaledByEnum 7 | 8 | ---@alias EngineTagDataLensFlareRadiusScaledBy 9 | ---| EngineTagDataLensFlareRadiusScaledByNone 10 | ---| EngineTagDataLensFlareRadiusScaledByRotation 11 | ---| EngineTagDataLensFlareRadiusScaledByRotationAndStrafing 12 | ---| EngineTagDataLensFlareRadiusScaledByDistanceFromCenter 13 | 14 | ---@class EngineTagDataLensFlareRadiusScaledByTable 15 | ---@field byNone EngineTagDataLensFlareRadiusScaledByNone 16 | ---@field byRotation EngineTagDataLensFlareRadiusScaledByRotation 17 | ---@field byRotationAndStrafing EngineTagDataLensFlareRadiusScaledByRotationAndStrafing 18 | ---@field byDistanceFromCenter EngineTagDataLensFlareRadiusScaledByDistanceFromCenter 19 | Engine.tag.lensFlareRadiusScaledBy = {} 20 | 21 | ---@class EngineTagDataLensFlareOcclusionOffsetDirectionEnum : Enum 22 | 23 | ---@class EngineTagDataLensFlareOcclusionOffsetDirectionTowardViewer : EngineTagDataLensFlareOcclusionOffsetDirectionEnum 24 | ---@class EngineTagDataLensFlareOcclusionOffsetDirectionMarkerForward : EngineTagDataLensFlareOcclusionOffsetDirectionEnum 25 | ---@class EngineTagDataLensFlareOcclusionOffsetDirectionNone : EngineTagDataLensFlareOcclusionOffsetDirectionEnum 26 | 27 | ---@alias EngineTagDataLensFlareOcclusionOffsetDirection 28 | ---| EngineTagDataLensFlareOcclusionOffsetDirectionTowardViewer 29 | ---| EngineTagDataLensFlareOcclusionOffsetDirectionMarkerForward 30 | ---| EngineTagDataLensFlareOcclusionOffsetDirectionNone 31 | 32 | ---@class EngineTagDataLensFlareOcclusionOffsetDirectionTable 33 | ---@field ionTowardViewer EngineTagDataLensFlareOcclusionOffsetDirectionTowardViewer 34 | ---@field ionMarkerForward EngineTagDataLensFlareOcclusionOffsetDirectionMarkerForward 35 | ---@field ionNone EngineTagDataLensFlareOcclusionOffsetDirectionNone 36 | Engine.tag.lensFlareOcclusionOffsetDirection = {} 37 | 38 | ---@class EngineTagDataLensFlareRotationFunctionEnum : Enum 39 | 40 | ---@class EngineTagDataLensFlareRotationFunctionNone : EngineTagDataLensFlareRotationFunctionEnum 41 | ---@class EngineTagDataLensFlareRotationFunctionRotationA : EngineTagDataLensFlareRotationFunctionEnum 42 | ---@class EngineTagDataLensFlareRotationFunctionRotationB : EngineTagDataLensFlareRotationFunctionEnum 43 | ---@class EngineTagDataLensFlareRotationFunctionRotationTranslation : EngineTagDataLensFlareRotationFunctionEnum 44 | ---@class EngineTagDataLensFlareRotationFunctionTranslation : EngineTagDataLensFlareRotationFunctionEnum 45 | 46 | ---@alias EngineTagDataLensFlareRotationFunction 47 | ---| EngineTagDataLensFlareRotationFunctionNone 48 | ---| EngineTagDataLensFlareRotationFunctionRotationA 49 | ---| EngineTagDataLensFlareRotationFunctionRotationB 50 | ---| EngineTagDataLensFlareRotationFunctionRotationTranslation 51 | ---| EngineTagDataLensFlareRotationFunctionTranslation 52 | 53 | ---@class EngineTagDataLensFlareRotationFunctionTable 54 | ---@field onNone EngineTagDataLensFlareRotationFunctionNone 55 | ---@field onRotationA EngineTagDataLensFlareRotationFunctionRotationA 56 | ---@field onRotationB EngineTagDataLensFlareRotationFunctionRotationB 57 | ---@field onRotationTranslation EngineTagDataLensFlareRotationFunctionRotationTranslation 58 | ---@field onTranslation EngineTagDataLensFlareRotationFunctionTranslation 59 | Engine.tag.lensFlareRotationFunction = {} 60 | 61 | ---@class MetaEngineTagDataLensFlareReflectionFlags 62 | ---@field alignRotationWithScreenCenter boolean 63 | ---@field radiusNotScaledByDistance boolean 64 | ---@field radiusScaledByOcclusionFactor boolean 65 | ---@field occludedBySolidObjects boolean 66 | 67 | ---@class MetaEngineTagDataLensFlareReflectionMoreFlags 68 | ---@field interpolateColorsInHsv boolean 69 | ---@field moreColors boolean 70 | 71 | ---@class MetaEngineTagDataLensFlareFlags 72 | ---@field sun boolean 73 | ---@field noOcclusionTest boolean 74 | ---@field onlyRenderInFirstPerson boolean 75 | ---@field onlyRenderInThirdPerson boolean 76 | ---@field fadeInMoreQuickly boolean 77 | ---@field fadeOutMoreQuickly boolean 78 | ---@field scaleByMarker boolean 79 | 80 | ---@class MetaEngineTagDataLensFlareReflection 81 | ---@field flags MetaEngineTagDataLensFlareReflectionFlags 82 | ---@field bitmapIndex MetaEngineIndex 83 | ---@field position number 84 | ---@field rotationOffset number 85 | ---@field radius number 86 | ---@field radiusScaledBy EngineTagDataLensFlareRadiusScaledBy 87 | ---@field brightness MetaEngineFraction 88 | ---@field brightnessScaledBy EngineTagDataLensFlareRadiusScaledBy 89 | ---@field tintColor MetaEngineColorARGB 90 | ---@field colorLowerBound MetaEngineColorARGB 91 | ---@field colorUpperBound MetaEngineColorARGB 92 | ---@field moreFlags MetaEngineTagDataLensFlareReflectionMoreFlags 93 | ---@field animationFunction EngineTagDataWaveFunction 94 | ---@field animationPeriod number 95 | ---@field animationPhase number 96 | 97 | ---@class MetaEngineTagDataLensFlare 98 | ---@field falloffAngle MetaEngineAngle 99 | ---@field cutoffAngle MetaEngineAngle 100 | ---@field cosFalloffAngle number 101 | ---@field cosCutoffAngle number 102 | ---@field occlusionRadius number 103 | ---@field occlusionOffsetDirection EngineTagDataLensFlareOcclusionOffsetDirection 104 | ---@field nearFadeDistance number 105 | ---@field farFadeDistance number 106 | ---@field bitmap MetaEngineTagDependency 107 | ---@field flags MetaEngineTagDataLensFlareFlags 108 | ---@field rotationFunction EngineTagDataLensFlareRotationFunction 109 | ---@field rotationFunctionScale MetaEngineAngle 110 | ---@field horizontalScale number 111 | ---@field verticalScale number 112 | ---@field reflections TagBlock 113 | 114 | 115 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataLight.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataLightFlags 2 | ---@field dynamic boolean 3 | ---@field noSpecular boolean 4 | ---@field dontLightOwnObject boolean 5 | ---@field supersizeInFirstPerson boolean 6 | ---@field firstPersonFlashlight boolean 7 | ---@field dontFadeActiveCamouflage boolean 8 | 9 | ---@class MetaEngineTagDataLight 10 | ---@field flags MetaEngineTagDataLightFlags 11 | ---@field radius number 12 | ---@field radiusModifer number 13 | ---@field falloffAngle MetaEngineAngle 14 | ---@field cutoffAngle MetaEngineAngle 15 | ---@field lensFlareOnlyRadius number 16 | ---@field cosFalloffAngle number 17 | ---@field cosCutoffAngle number 18 | ---@field unknownTwo number 19 | ---@field sinCutoffAngle number 20 | ---@field interpolationFlags MetaEngineTagDataColorInterpolationFlags 21 | ---@field colorLowerBound MetaEngineColorARGB 22 | ---@field colorUpperBound MetaEngineColorARGB 23 | ---@field primaryCubeMap MetaEngineTagDependency 24 | ---@field textureAnimationFunction EngineTagDataWaveFunction 25 | ---@field textureAnimationPeriod number 26 | ---@field secondaryCubeMap MetaEngineTagDependency 27 | ---@field yawFunction EngineTagDataWaveFunction 28 | ---@field yawPeriod number 29 | ---@field rollFunction EngineTagDataWaveFunction 30 | ---@field rollPeriod number 31 | ---@field pitchFunction EngineTagDataWaveFunction 32 | ---@field pitchPeriod number 33 | ---@field lensFlare MetaEngineTagDependency 34 | ---@field intensity number 35 | ---@field color MetaEngineColorRGB 36 | ---@field duration number 37 | ---@field falloffFunction EngineTagDataFunctionType 38 | 39 | 40 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataLightVolume.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataLightVolumeFlags 2 | ---@field interpolateColorInHsv boolean 3 | ---@field moreColors boolean 4 | 5 | ---@class MetaEngineTagDataLightVolumeFrame 6 | ---@field offsetFromMarker number 7 | ---@field offsetExponent number 8 | ---@field length number 9 | ---@field radiusHither number 10 | ---@field radiusYon number 11 | ---@field radiusExponent number 12 | ---@field tintColorHither MetaEngineColorARGB 13 | ---@field tintColorYon MetaEngineColorARGB 14 | ---@field tintColorExponent number 15 | ---@field brightnessExponent number 16 | 17 | ---@class MetaEngineTagDataLightVolume 18 | ---@field attachmentMarker MetaEngineTagString 19 | ---@field flags MetaEngineTagDataLightVolumeFlags 20 | ---@field nearFadeDistance number 21 | ---@field farFadeDistance number 22 | ---@field perpendicularBrightnessScale MetaEngineFraction 23 | ---@field parallelBrightnessScale MetaEngineFraction 24 | ---@field brightnessScaleSource EngineTagDataFunctionOut 25 | ---@field map MetaEngineTagDependency 26 | ---@field sequenceIndex MetaEngineIndex 27 | ---@field count integer 28 | ---@field frameAnimationSource EngineTagDataFunctionOut 29 | ---@field frames TagBlock 30 | 31 | 32 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataLightning.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataLightningMarkerFlag 2 | ---@field notConnectedToNextMarker boolean 3 | 4 | ---@class MetaEngineTagDataLightningMarker 5 | ---@field attachmentMarker MetaEngineTagString 6 | ---@field flags MetaEngineTagDataLightningMarkerFlag 7 | ---@field octavesToNextMarker integer 8 | ---@field randomPositionBounds MetaEngineVector3D 9 | ---@field randomJitter number 10 | ---@field thickness number 11 | ---@field tint MetaEngineColorARGB 12 | 13 | ---@class MetaEngineTagDataLightningShader 14 | ---@field makeItWork integer 15 | ---@field shaderFlags MetaEngineTagDataParticleShaderFlags 16 | ---@field framebufferBlendFunction EngineTagDataFramebufferBlendFunction 17 | ---@field framebufferFadeMode EngineTagDataFramebufferFadeMode 18 | ---@field mapFlags MetaEngineTagDataIsUnfilteredFlag 19 | ---@field someMoreStuffThatShouldBeSetForSomeReason integer 20 | 21 | ---@class MetaEngineTagDataLightning 22 | ---@field count integer 23 | ---@field nearFadeDistance number 24 | ---@field farFadeDistance number 25 | ---@field jitterScaleSource EngineTagDataFunctionOut 26 | ---@field thicknessScaleSource EngineTagDataFunctionOut 27 | ---@field tintModulationSource EngineTagDataFunctionNameNullable 28 | ---@field brightnessScaleSource EngineTagDataFunctionOut 29 | ---@field bitmap MetaEngineTagDependency 30 | ---@field markers TagBlock 31 | ---@field shader TagBlock 32 | 33 | 34 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataMaterialEffects.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataMaterialEffectsMaterialEffectMaterial 2 | ---@field effect MetaEngineTagDependency 3 | ---@field sound MetaEngineTagDependency 4 | 5 | ---@class MetaEngineTagDataMaterialEffectsMaterialEffect 6 | ---@field materials TagBlock 7 | 8 | ---@class MetaEngineTagDataMaterialEffects 9 | ---@field effects TagBlock 10 | 11 | 12 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataMeter.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataMeterInterpolateColorsEnum : Enum 2 | 3 | ---@class EngineTagDataMeterInterpolateColorsLinearly : EngineTagDataMeterInterpolateColorsEnum 4 | ---@class EngineTagDataMeterInterpolateColorsFasterNearEmpty : EngineTagDataMeterInterpolateColorsEnum 5 | ---@class EngineTagDataMeterInterpolateColorsFasterNearFull : EngineTagDataMeterInterpolateColorsEnum 6 | ---@class EngineTagDataMeterInterpolateColorsThroughRandomNoise : EngineTagDataMeterInterpolateColorsEnum 7 | 8 | ---@alias EngineTagDataMeterInterpolateColors 9 | ---| EngineTagDataMeterInterpolateColorsLinearly 10 | ---| EngineTagDataMeterInterpolateColorsFasterNearEmpty 11 | ---| EngineTagDataMeterInterpolateColorsFasterNearFull 12 | ---| EngineTagDataMeterInterpolateColorsThroughRandomNoise 13 | 14 | ---@class EngineTagDataMeterInterpolateColorsTable 15 | ---@field sLinearly EngineTagDataMeterInterpolateColorsLinearly 16 | ---@field sFasterNearEmpty EngineTagDataMeterInterpolateColorsFasterNearEmpty 17 | ---@field sFasterNearFull EngineTagDataMeterInterpolateColorsFasterNearFull 18 | ---@field sThroughRandomNoise EngineTagDataMeterInterpolateColorsThroughRandomNoise 19 | Engine.tag.meterInterpolateColors = {} 20 | 21 | ---@class EngineTagDataMeterAnchorColorsEnum : Enum 22 | 23 | ---@class EngineTagDataMeterAnchorColorsAtBothEnds : EngineTagDataMeterAnchorColorsEnum 24 | ---@class EngineTagDataMeterAnchorColorsAtEmpty : EngineTagDataMeterAnchorColorsEnum 25 | ---@class EngineTagDataMeterAnchorColorsAtFull : EngineTagDataMeterAnchorColorsEnum 26 | 27 | ---@alias EngineTagDataMeterAnchorColors 28 | ---| EngineTagDataMeterAnchorColorsAtBothEnds 29 | ---| EngineTagDataMeterAnchorColorsAtEmpty 30 | ---| EngineTagDataMeterAnchorColorsAtFull 31 | 32 | ---@class EngineTagDataMeterAnchorColorsTable 33 | ---@field sAtBothEnds EngineTagDataMeterAnchorColorsAtBothEnds 34 | ---@field sAtEmpty EngineTagDataMeterAnchorColorsAtEmpty 35 | ---@field sAtFull EngineTagDataMeterAnchorColorsAtFull 36 | Engine.tag.meterAnchorColors = {} 37 | 38 | ---@class MetaEngineTagDataMeter 39 | ---@field flags MetaEngineTagDataIsUnusedFlag 40 | ---@field stencilBitmaps MetaEngineTagDependency 41 | ---@field sourceBitmap MetaEngineTagDependency 42 | ---@field stencilSequenceIndex integer 43 | ---@field sourceSequenceIndex integer 44 | ---@field interpolateColors EngineTagDataMeterInterpolateColors 45 | ---@field anchorColors EngineTagDataMeterAnchorColors 46 | ---@field emptyColor MetaEngineColorARGB 47 | ---@field fullColor MetaEngineColorARGB 48 | ---@field unmaskDistance number 49 | ---@field maskDistance number 50 | ---@field encodedStencil MetaEngineTagDataOffset 51 | 52 | 53 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataModel.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataModelRegionPermutationFlags 2 | ---@field cannotBeChosenRandomly boolean 3 | 4 | ---@class MetaEngineTagDataModelGeometryPartFlags 5 | ---@field strippedInternal boolean 6 | ---@field zoner boolean 7 | 8 | ---@class MetaEngineTagDataModelFlags 9 | ---@field blendSharedNormals boolean 10 | ---@field partsHaveLocalNodes boolean 11 | ---@field ignoreSkinning boolean 12 | 13 | ---@class MetaEngineTagDataModelMarkerInstance 14 | ---@field regionIndex integer 15 | ---@field permutationIndex integer 16 | ---@field nodeIndex integer 17 | ---@field translation MetaEnginePoint3D 18 | ---@field rotation MetaEngineQuaternion 19 | 20 | ---@class MetaEngineTagDataModelMarker 21 | ---@field name MetaEngineTagString 22 | ---@field magicIdentifier integer 23 | ---@field instances TagBlock 24 | 25 | ---@class MetaEngineTagDataModelNode 26 | ---@field name MetaEngineTagString 27 | ---@field nextSiblingNodeIndex MetaEngineIndex 28 | ---@field firstChildNodeIndex MetaEngineIndex 29 | ---@field parentNodeIndex MetaEngineIndex 30 | ---@field defaultTranslation MetaEnginePoint3D 31 | ---@field defaultRotation MetaEngineQuaternion 32 | ---@field nodeDistanceFromParent number 33 | ---@field scale number 34 | ---@field rotation MetaEngineMatrix 35 | ---@field translation MetaEnginePoint3D 36 | 37 | ---@class MetaEngineTagDataModelRegionPermutationMarker 38 | ---@field name MetaEngineTagString 39 | ---@field nodeIndex MetaEngineIndex 40 | ---@field rotation MetaEngineQuaternion 41 | ---@field translation MetaEnginePoint3D 42 | 43 | ---@class MetaEngineTagDataModelRegionPermutation 44 | ---@field name MetaEngineTagString 45 | ---@field flags MetaEngineTagDataModelRegionPermutationFlags 46 | ---@field permutationNumber integer 47 | ---@field superLow MetaEngineIndex 48 | ---@field low MetaEngineIndex 49 | ---@field medium MetaEngineIndex 50 | ---@field high MetaEngineIndex 51 | ---@field superHigh MetaEngineIndex 52 | ---@field markers TagBlock 53 | 54 | ---@class MetaEngineTagDataModelRegion 55 | ---@field name MetaEngineTagString 56 | ---@field permutations TagBlock 57 | 58 | ---@class MetaEngineTagDataModelVertexUncompressed 59 | ---@field position MetaEnginePoint3D 60 | ---@field normal MetaEngineVector3D 61 | ---@field binormal MetaEngineVector3D 62 | ---@field tangent MetaEngineVector3D 63 | ---@field textureCoords MetaEnginePoint2D 64 | ---@field node0Index MetaEngineIndex 65 | ---@field node1Index MetaEngineIndex 66 | ---@field node0Weight number 67 | ---@field node1Weight number 68 | 69 | ---@class MetaEngineTagDataModelVertexCompressed 70 | ---@field position MetaEnginePoint3D 71 | ---@field normal integer 72 | ---@field binormal integer 73 | ---@field tangent integer 74 | ---@field textureCoordinateU integer 75 | ---@field textureCoordinateV integer 76 | ---@field node0Index integer 77 | ---@field node1Index integer 78 | ---@field node0Weight integer 79 | 80 | ---@class MetaEngineTagDataModelTriangle 81 | ---@field vertex0Index MetaEngineIndex 82 | ---@field vertex1Index MetaEngineIndex 83 | ---@field vertex2Index MetaEngineIndex 84 | 85 | ---@class MetaEngineTagDataModelGeometryPart 86 | ---@field flags MetaEngineTagDataModelGeometryPartFlags 87 | ---@field shaderIndex MetaEngineIndex 88 | ---@field prevFilthyPartIndex integer 89 | ---@field nextFilthyPartIndex integer 90 | ---@field centroidPrimaryNode MetaEngineIndex 91 | ---@field centroidSecondaryNode MetaEngineIndex 92 | ---@field centroidPrimaryWeight MetaEngineFraction 93 | ---@field centroidSecondaryWeight MetaEngineFraction 94 | ---@field centroid MetaEnginePoint3D 95 | ---@field uncompressedVertices TagBlock 96 | ---@field compressedVertices TagBlock 97 | ---@field triangles TagBlock 98 | ---@field doNotCrashTheGame integer 99 | ---@field triangleCount integer 100 | ---@field triangleOffset integer 101 | ---@field triangleOffset2 integer 102 | ---@field vertexType EngineTagDataVertexType 103 | ---@field vertexCount integer 104 | ---@field vertexPointer integer 105 | ---@field vertexOffset integer 106 | 107 | ---@class MetaEngineTagDataModelGeometry 108 | ---@field flags MetaEngineTagDataIsUnusedFlag 109 | ---@field parts TagBlock 110 | 111 | ---@class MetaEngineTagDataModelShaderReference 112 | ---@field shader MetaEngineTagDependency 113 | ---@field permutation MetaEngineIndex 114 | 115 | ---@class MetaEngineTagDataModel 116 | ---@field flags MetaEngineTagDataModelFlags 117 | ---@field nodeListChecksum integer 118 | ---@field superHighDetailCutoff number 119 | ---@field highDetailCutoff number 120 | ---@field mediumDetailCutoff number 121 | ---@field lowDetailCutoff number 122 | ---@field superLowDetailCutoff number 123 | ---@field superLowDetailNodeCount integer 124 | ---@field lowDetailNodeCount integer 125 | ---@field mediumDetailNodeCount integer 126 | ---@field highDetailNodeCount integer 127 | ---@field superHighDetailNodeCount integer 128 | ---@field baseMapUScale number 129 | ---@field baseMapVScale number 130 | ---@field markers TagBlock 131 | ---@field nodes TagBlock 132 | ---@field regions TagBlock 133 | ---@field geometries TagBlock 134 | ---@field shaders TagBlock 135 | 136 | 137 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataModelCollisionGeometry.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataModelCollisionGeometryMaterialFlags 2 | ---@field head boolean 3 | 4 | ---@class MetaEngineTagDataModelCollisionGeometryRegionFlags 5 | ---@field livesUntilObjectDies boolean 6 | ---@field forcesObjectToDie boolean 7 | ---@field diesWhenObjectDies boolean 8 | ---@field diesWhenObjectIsDamaged boolean 9 | ---@field disappearsWhenShieldIsOff boolean 10 | ---@field inhibitsMeleeAttack boolean 11 | ---@field inhibitsWeaponAttack boolean 12 | ---@field inhibitsWalking boolean 13 | ---@field forcesDropWeapon boolean 14 | ---@field causesHeadMaimedScream boolean 15 | 16 | ---@class MetaEngineTagDataModelCollisionGeometryBSPLeafFlags 17 | ---@field containsDoubleSidedSurfaces boolean 18 | 19 | ---@class MetaEngineTagDataModelCollisionGeometryBSPSurfaceFlags 20 | ---@field twoSided boolean 21 | ---@field invisible boolean 22 | ---@field climbable boolean 23 | ---@field breakable boolean 24 | 25 | ---@class MetaEngineTagDataModelCollisionGeometryFlags 26 | ---@field takesShieldDamageForChildren boolean 27 | ---@field takesBodyDamageForChildren boolean 28 | ---@field alwaysShieldsFriendlyDamage boolean 29 | ---@field passesAreaDamageToChildren boolean 30 | ---@field parentNeverTakesBodyDamageForUs boolean 31 | ---@field onlyDamagedByExplosives boolean 32 | ---@field onlyDamagedWhileOccupied boolean 33 | 34 | ---@class MetaEngineTagDataModelCollisionGeometryMaterial 35 | ---@field name MetaEngineTagString 36 | ---@field flags MetaEngineTagDataModelCollisionGeometryMaterialFlags 37 | ---@field materialType EngineTagDataMaterialType 38 | ---@field shieldLeakPercentage MetaEngineFraction 39 | ---@field shieldDamageMultiplier number 40 | ---@field bodyDamageMultiplier number 41 | 42 | ---@class MetaEngineTagDataModelCollisionGeometryPermutation 43 | ---@field name MetaEngineTagString 44 | 45 | ---@class MetaEngineTagDataModelCollisionGeometryRegion 46 | ---@field name MetaEngineTagString 47 | ---@field flags MetaEngineTagDataModelCollisionGeometryRegionFlags 48 | ---@field damageThreshold number 49 | ---@field destroyedEffect MetaEngineTagDependency 50 | ---@field permutations TagBlock 51 | 52 | ---@class MetaEngineTagDataModelCollisionGeometryModifier 53 | 54 | ---@class MetaEngineTagDataModelCollisionGeometrySphere 55 | ---@field node MetaEngineIndex 56 | ---@field center MetaEnginePoint3D 57 | ---@field radius number 58 | 59 | ---@class MetaEngineTagDataModelCollisionGeometryBSP3DNode 60 | ---@field plane integer 61 | ---@field backChild integer 62 | ---@field frontChild integer 63 | 64 | ---@class MetaEngineTagDataModelCollisionGeometryBSPPlane 65 | ---@field plane MetaEnginePlane3D 66 | 67 | ---@class MetaEngineTagDataModelCollisionGeometryBSPLeaf 68 | ---@field flags MetaEngineTagDataModelCollisionGeometryBSPLeafFlags 69 | ---@field bsp2dReferenceCount integer 70 | ---@field firstBsp2dReference integer 71 | 72 | ---@class MetaEngineTagDataModelCollisionGeometryBSP2DReference 73 | ---@field plane integer 74 | ---@field bsp2dNode integer 75 | 76 | ---@class MetaEngineTagDataModelCollisionGeometryBSP2DNode 77 | ---@field plane MetaEnginePlane2D 78 | ---@field leftChild integer 79 | ---@field rightChild integer 80 | 81 | ---@class MetaEngineTagDataModelCollisionGeometryBSPSurface 82 | ---@field plane integer 83 | ---@field firstEdge integer 84 | ---@field flags MetaEngineTagDataModelCollisionGeometryBSPSurfaceFlags 85 | ---@field breakableSurface integer 86 | ---@field material MetaEngineIndex 87 | 88 | ---@class MetaEngineTagDataModelCollisionGeometryBSPEdge 89 | ---@field startVertex integer 90 | ---@field endVertex integer 91 | ---@field forwardEdge integer 92 | ---@field reverseEdge integer 93 | ---@field leftSurface integer 94 | ---@field rightSurface integer 95 | 96 | ---@class MetaEngineTagDataModelCollisionGeometryBSPVertex 97 | ---@field point MetaEnginePoint3D 98 | ---@field firstEdge integer 99 | 100 | ---@class MetaEngineTagDataModelCollisionGeometryBSP 101 | ---@field bsp3dNodes TagBlock 102 | ---@field planes TagBlock 103 | ---@field leaves TagBlock 104 | ---@field bsp2dReferences TagBlock 105 | ---@field bsp2dNodes TagBlock 106 | ---@field surfaces TagBlock 107 | ---@field edges TagBlock 108 | ---@field vertices TagBlock 109 | 110 | ---@class MetaEngineTagDataModelCollisionGeometryNode 111 | ---@field name MetaEngineTagString 112 | ---@field region MetaEngineIndex 113 | ---@field parentNode MetaEngineIndex 114 | ---@field nextSiblingNode MetaEngineIndex 115 | ---@field firstChildNode MetaEngineIndex 116 | ---@field nameThing integer 117 | ---@field bsps TagBlock 118 | 119 | ---@class MetaEngineTagDataModelCollisionGeometry 120 | ---@field flags MetaEngineTagDataModelCollisionGeometryFlags 121 | ---@field indirectDamageMaterial MetaEngineIndex 122 | ---@field maximumBodyVitality number 123 | ---@field bodySystemShock number 124 | ---@field friendlyDamageResistance MetaEngineFraction 125 | ---@field localizedDamageEffect MetaEngineTagDependency 126 | ---@field areaDamageEffectThreshold number 127 | ---@field areaDamageEffect MetaEngineTagDependency 128 | ---@field bodyDamagedThreshold number 129 | ---@field bodyDamagedEffect MetaEngineTagDependency 130 | ---@field bodyDepletedEffect MetaEngineTagDependency 131 | ---@field bodyDestroyedThreshold number 132 | ---@field bodyDestroyedEffect MetaEngineTagDependency 133 | ---@field maximumShieldVitality number 134 | ---@field shieldMaterialType EngineTagDataMaterialType 135 | ---@field shieldFailureFunction EngineTagDataFunctionType 136 | ---@field shieldFailureThreshold MetaEngineFraction 137 | ---@field failingShieldLeakFraction MetaEngineFraction 138 | ---@field minimumStunDamage number 139 | ---@field stunTime number 140 | ---@field rechargeTime number 141 | ---@field shieldDamagedThreshold number 142 | ---@field shieldDamagedEffect MetaEngineTagDependency 143 | ---@field shieldDepletedEffect MetaEngineTagDependency 144 | ---@field shieldRechargingEffect MetaEngineTagDependency 145 | ---@field shieldRechargeRate number 146 | ---@field materials TagBlock 147 | ---@field regions TagBlock 148 | ---@field modifiers TagBlock 149 | ---@field x number 150 | ---@field y number 151 | ---@field z number 152 | ---@field pathfindingSpheres TagBlock 153 | ---@field nodes TagBlock 154 | 155 | 156 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataMultiplayerScenarioDescription.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataMultiplayerScenarioDescriptionScenarioDescription 2 | ---@field descriptiveBitmap MetaEngineTagDependency 3 | ---@field displayedMapName MetaEngineTagDependency 4 | ---@field scenarioTagDirectoryPath MetaEngineTagString 5 | 6 | ---@class MetaEngineTagDataMultiplayerScenarioDescription 7 | ---@field multiplayerScenarios TagBlock 8 | 9 | 10 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataParticle.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataParticleOrientationEnum : Enum 2 | 3 | ---@class EngineTagDataParticleOrientationScreenFacing : EngineTagDataParticleOrientationEnum 4 | ---@class EngineTagDataParticleOrientationParallelToDirection : EngineTagDataParticleOrientationEnum 5 | ---@class EngineTagDataParticleOrientationPerpendicularToDirection : EngineTagDataParticleOrientationEnum 6 | 7 | ---@alias EngineTagDataParticleOrientation 8 | ---| EngineTagDataParticleOrientationScreenFacing 9 | ---| EngineTagDataParticleOrientationParallelToDirection 10 | ---| EngineTagDataParticleOrientationPerpendicularToDirection 11 | 12 | ---@class EngineTagDataParticleOrientationTable 13 | ---@field screenFacing EngineTagDataParticleOrientationScreenFacing 14 | ---@field parallelToDirection EngineTagDataParticleOrientationParallelToDirection 15 | ---@field perpendicularToDirection EngineTagDataParticleOrientationPerpendicularToDirection 16 | Engine.tag.particleOrientation = {} 17 | 18 | ---@class EngineTagDataParticleAnchorEnum : Enum 19 | 20 | ---@class EngineTagDataParticleAnchorWithPrimary : EngineTagDataParticleAnchorEnum 21 | ---@class EngineTagDataParticleAnchorWithScreenSpace : EngineTagDataParticleAnchorEnum 22 | ---@class EngineTagDataParticleAnchorZsprite : EngineTagDataParticleAnchorEnum 23 | 24 | ---@alias EngineTagDataParticleAnchor 25 | ---| EngineTagDataParticleAnchorWithPrimary 26 | ---| EngineTagDataParticleAnchorWithScreenSpace 27 | ---| EngineTagDataParticleAnchorZsprite 28 | 29 | ---@class EngineTagDataParticleAnchorTable 30 | ---@field withPrimary EngineTagDataParticleAnchorWithPrimary 31 | ---@field withScreenSpace EngineTagDataParticleAnchorWithScreenSpace 32 | ---@field zsprite EngineTagDataParticleAnchorZsprite 33 | Engine.tag.particleAnchor = {} 34 | 35 | ---@class MetaEngineTagDataParticleFlags 36 | ---@field canAnimateBackwards boolean 37 | ---@field animationStopsAtRest boolean 38 | ---@field animationStartsOnRandomFrame boolean 39 | ---@field animateOncePerFrame boolean 40 | ---@field diesAtRest boolean 41 | ---@field diesOnContactWithStructure boolean 42 | ---@field tintFromDiffuseTexture boolean 43 | ---@field diesOnContactWithWater boolean 44 | ---@field diesOnContactWithAir boolean 45 | ---@field selfIlluminated boolean 46 | ---@field randomHorizontalMirroring boolean 47 | ---@field randomVerticalMirroring boolean 48 | 49 | ---@class MetaEngineTagDataParticleShaderFlags 50 | ---@field sortBias boolean 51 | ---@field nonlinearTint boolean 52 | ---@field dontOverdrawFpWeapon boolean 53 | 54 | ---@class MetaEngineTagDataParticle 55 | ---@field flags MetaEngineTagDataParticleFlags 56 | ---@field bitmap MetaEngineTagDependency 57 | ---@field physics MetaEngineTagDependency 58 | ---@field sirMartyExchangedHisChildrenForThine MetaEngineTagDependency 59 | ---@field lifespan number 60 | ---@field fadeInTime number 61 | ---@field fadeOutTime number 62 | ---@field collisionEffect MetaEngineTagDependency 63 | ---@field deathEffect MetaEngineTagDependency 64 | ---@field minimumSize number 65 | ---@field radiusAnimation number 66 | ---@field animationRate number 67 | ---@field contactDeterioration number 68 | ---@field fadeStartSize number 69 | ---@field fadeEndSize number 70 | ---@field firstSequenceIndex MetaEngineIndex 71 | ---@field initialSequenceCount integer 72 | ---@field loopingSequenceCount integer 73 | ---@field finalSequenceCount integer 74 | ---@field spriteSize number 75 | ---@field orientation EngineTagDataParticleOrientation 76 | ---@field makeItActuallyWork integer 77 | ---@field shaderFlags MetaEngineTagDataParticleShaderFlags 78 | ---@field framebufferBlendFunction EngineTagDataFramebufferBlendFunction 79 | ---@field framebufferFadeMode EngineTagDataFramebufferFadeMode 80 | ---@field mapFlags MetaEngineTagDataIsUnfilteredFlag 81 | ---@field secondaryBitmap MetaEngineTagDependency 82 | ---@field anchor EngineTagDataParticleAnchor 83 | ---@field secondaryMapFlags MetaEngineTagDataIsUnfilteredFlag 84 | ---@field uAnimationSource EngineTagDataFunctionOut 85 | ---@field uAnimationFunction EngineTagDataWaveFunction 86 | ---@field uAnimationPeriod number 87 | ---@field uAnimationPhase number 88 | ---@field uAnimationScale number 89 | ---@field vAnimationSource EngineTagDataFunctionOut 90 | ---@field vAnimationFunction EngineTagDataWaveFunction 91 | ---@field vAnimationPeriod number 92 | ---@field vAnimationPhase number 93 | ---@field vAnimationScale number 94 | ---@field rotationAnimationSource EngineTagDataFunctionOut 95 | ---@field rotationAnimationFunction EngineTagDataWaveFunction 96 | ---@field rotationAnimationPeriod number 97 | ---@field rotationAnimationPhase number 98 | ---@field rotationAnimationScale number 99 | ---@field rotationAnimationCenter MetaEnginePoint2D 100 | ---@field zspriteRadiusScale number 101 | 102 | 103 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataParticleSystem.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataParticleSystemParticleCreationPhysicsEnum : Enum 2 | 3 | ---@class EngineTagDataParticleSystemParticleCreationPhysicsDefault : EngineTagDataParticleSystemParticleCreationPhysicsEnum 4 | ---@class EngineTagDataParticleSystemParticleCreationPhysicsExplosion : EngineTagDataParticleSystemParticleCreationPhysicsEnum 5 | ---@class EngineTagDataParticleSystemParticleCreationPhysicsJet : EngineTagDataParticleSystemParticleCreationPhysicsEnum 6 | 7 | ---@alias EngineTagDataParticleSystemParticleCreationPhysics 8 | ---| EngineTagDataParticleSystemParticleCreationPhysicsDefault 9 | ---| EngineTagDataParticleSystemParticleCreationPhysicsExplosion 10 | ---| EngineTagDataParticleSystemParticleCreationPhysicsJet 11 | 12 | ---@class EngineTagDataParticleSystemParticleCreationPhysicsTable 13 | ---@field icsDefault EngineTagDataParticleSystemParticleCreationPhysicsDefault 14 | ---@field icsExplosion EngineTagDataParticleSystemParticleCreationPhysicsExplosion 15 | ---@field icsJet EngineTagDataParticleSystemParticleCreationPhysicsJet 16 | Engine.tag.particleSystemParticleCreationPhysics = {} 17 | 18 | ---@class EngineTagDataParticleSystemParticleUpdatePhysicsEnum : Enum 19 | 20 | ---@class EngineTagDataParticleSystemParticleUpdatePhysicsDefault : EngineTagDataParticleSystemParticleUpdatePhysicsEnum 21 | 22 | ---@alias EngineTagDataParticleSystemParticleUpdatePhysics 23 | ---| EngineTagDataParticleSystemParticleUpdatePhysicsDefault 24 | 25 | ---@class EngineTagDataParticleSystemParticleUpdatePhysicsTable 26 | ---@field icsDefault EngineTagDataParticleSystemParticleUpdatePhysicsDefault 27 | Engine.tag.particleSystemParticleUpdatePhysics = {} 28 | 29 | ---@class EngineTagDataParticleSystemComplexSpriteRenderModesEnum : Enum 30 | 31 | ---@class EngineTagDataParticleSystemComplexSpriteRenderModesSimple : EngineTagDataParticleSystemComplexSpriteRenderModesEnum 32 | ---@class EngineTagDataParticleSystemComplexSpriteRenderModesRotational : EngineTagDataParticleSystemComplexSpriteRenderModesEnum 33 | 34 | ---@alias EngineTagDataParticleSystemComplexSpriteRenderModes 35 | ---| EngineTagDataParticleSystemComplexSpriteRenderModesSimple 36 | ---| EngineTagDataParticleSystemComplexSpriteRenderModesRotational 37 | 38 | ---@class EngineTagDataParticleSystemComplexSpriteRenderModesTable 39 | ---@field odesSimple EngineTagDataParticleSystemComplexSpriteRenderModesSimple 40 | ---@field odesRotational EngineTagDataParticleSystemComplexSpriteRenderModesRotational 41 | Engine.tag.particleSystemComplexSpriteRenderModes = {} 42 | 43 | ---@class EngineTagDataParticleSystemSystemUpdatePhysicsEnum : Enum 44 | 45 | ---@class EngineTagDataParticleSystemSystemUpdatePhysicsDefault : EngineTagDataParticleSystemSystemUpdatePhysicsEnum 46 | ---@class EngineTagDataParticleSystemSystemUpdatePhysicsExplosion : EngineTagDataParticleSystemSystemUpdatePhysicsEnum 47 | 48 | ---@alias EngineTagDataParticleSystemSystemUpdatePhysics 49 | ---| EngineTagDataParticleSystemSystemUpdatePhysicsDefault 50 | ---| EngineTagDataParticleSystemSystemUpdatePhysicsExplosion 51 | 52 | ---@class EngineTagDataParticleSystemSystemUpdatePhysicsTable 53 | ---@field icsDefault EngineTagDataParticleSystemSystemUpdatePhysicsDefault 54 | ---@field icsExplosion EngineTagDataParticleSystemSystemUpdatePhysicsExplosion 55 | Engine.tag.particleSystemSystemUpdatePhysics = {} 56 | 57 | ---@class MetaEngineTagDataParticleSystemTypeFlags 58 | ---@field typeStatesLoop boolean 59 | ---@field forwardBackward boolean 60 | ---@field particleStatesLoop boolean 61 | ---@field forwardBackward1 boolean 62 | ---@field particlesDieInWater boolean 63 | ---@field particlesDieInAir boolean 64 | ---@field particlesDieOnGround boolean 65 | ---@field rotationalSpritesAnimateSideways boolean 66 | ---@field disabled boolean 67 | ---@field tintByEffectColor boolean 68 | ---@field initialCountScalesWithEffect boolean 69 | ---@field minimumCountScalesWithEffect boolean 70 | ---@field creationRateScalesWithEffect boolean 71 | ---@field scaleScalesWithEffect boolean 72 | ---@field animationRateScalesWithEffect boolean 73 | ---@field rotationRateScalesWithEffect boolean 74 | ---@field doNotDrawInFirstPerson boolean 75 | ---@field doNotDrawInThirdPerson boolean 76 | 77 | ---@class MetaEngineTagDataParticleSystemPhysicsConstant 78 | ---@field k number 79 | 80 | ---@class MetaEngineTagDataParticleSystemTypeStates 81 | ---@field name MetaEngineTagString 82 | ---@field durationBounds number 83 | ---@field transitionTimeBounds number 84 | ---@field scaleMultiplier number 85 | ---@field animationRateMultiplier number 86 | ---@field rotationRateMultiplier number 87 | ---@field colorMultiplier MetaEngineColorARGB 88 | ---@field radiusMultiplier number 89 | ---@field minimumParticleCount number 90 | ---@field particleCreationRate number 91 | ---@field particleCreationPhysics EngineTagDataParticleSystemParticleCreationPhysics 92 | ---@field particleUpdatePhysics EngineTagDataParticleSystemParticleUpdatePhysics 93 | ---@field physicsConstants TagBlock 94 | 95 | ---@class MetaEngineTagDataParticleSystemTypeParticleState 96 | ---@field name MetaEngineTagString 97 | ---@field durationBounds number 98 | ---@field transitionTimeBounds number 99 | ---@field bitmaps MetaEngineTagDependency 100 | ---@field sequenceIndex MetaEngineIndex 101 | ---@field scale number 102 | ---@field animationRate number 103 | ---@field rotationRate MetaEngineAngle 104 | ---@field color1 MetaEngineColorARGB 105 | ---@field color2 MetaEngineColorARGB 106 | ---@field radiusMultiplier number 107 | ---@field pointPhysics MetaEngineTagDependency 108 | ---@field unknownInt integer 109 | ---@field shaderFlags MetaEngineTagDataParticleShaderFlags 110 | ---@field framebufferBlendFunction EngineTagDataFramebufferBlendFunction 111 | ---@field framebufferFadeMode EngineTagDataFramebufferFadeMode 112 | ---@field mapFlags MetaEngineTagDataIsUnfilteredFlag 113 | ---@field secondaryMapBitmap MetaEngineTagDependency 114 | ---@field anchor EngineTagDataParticleAnchor 115 | ---@field flags MetaEngineTagDataIsUnfilteredFlag 116 | ---@field uAnimationSource EngineTagDataFunctionOut 117 | ---@field uAnimationFunction EngineTagDataWaveFunction 118 | ---@field uAnimationPeriod number 119 | ---@field uAnimationPhase number 120 | ---@field uAnimationScale number 121 | ---@field vAnimationSource EngineTagDataFunctionOut 122 | ---@field vAnimationFunction EngineTagDataWaveFunction 123 | ---@field vAnimationPeriod number 124 | ---@field vAnimationPhase number 125 | ---@field vAnimationScale number 126 | ---@field rotationAnimationSource EngineTagDataFunctionOut 127 | ---@field rotationAnimationFunction EngineTagDataWaveFunction 128 | ---@field rotationAnimationPeriod number 129 | ---@field rotationAnimationPhase number 130 | ---@field rotationAnimationScale number 131 | ---@field rotationAnimationCenter MetaEnginePoint2D 132 | ---@field zspriteRadiusScale number 133 | ---@field physicsConstants TagBlock 134 | 135 | ---@class MetaEngineTagDataParticleSystemType 136 | ---@field name MetaEngineTagString 137 | ---@field flags MetaEngineTagDataParticleSystemTypeFlags 138 | ---@field initialParticleCount integer 139 | ---@field complexSpriteRenderModes EngineTagDataParticleSystemComplexSpriteRenderModes 140 | ---@field radius number 141 | ---@field particleCreationPhysics EngineTagDataParticleSystemParticleCreationPhysics 142 | ---@field physicsFlags MetaEngineTagDataIsUnusedFlag 143 | ---@field physicsConstants TagBlock 144 | ---@field states TagBlock 145 | ---@field particleStates TagBlock 146 | 147 | ---@class MetaEngineTagDataParticleSystem 148 | ---@field pointPhysics MetaEngineTagDependency 149 | ---@field systemUpdatePhysics EngineTagDataParticleSystemSystemUpdatePhysics 150 | ---@field physicsFlags MetaEngineTagDataIsUnusedFlag 151 | ---@field physicsConstants TagBlock 152 | ---@field particleTypes TagBlock 153 | 154 | 155 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataPhysics.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataPhysicsFrictionTypeEnum : Enum 2 | 3 | ---@class EngineTagDataPhysicsFrictionTypePoint : EngineTagDataPhysicsFrictionTypeEnum 4 | ---@class EngineTagDataPhysicsFrictionTypeForward : EngineTagDataPhysicsFrictionTypeEnum 5 | ---@class EngineTagDataPhysicsFrictionTypeLeft : EngineTagDataPhysicsFrictionTypeEnum 6 | ---@class EngineTagDataPhysicsFrictionTypeUp : EngineTagDataPhysicsFrictionTypeEnum 7 | 8 | ---@alias EngineTagDataPhysicsFrictionType 9 | ---| EngineTagDataPhysicsFrictionTypePoint 10 | ---| EngineTagDataPhysicsFrictionTypeForward 11 | ---| EngineTagDataPhysicsFrictionTypeLeft 12 | ---| EngineTagDataPhysicsFrictionTypeUp 13 | 14 | ---@class EngineTagDataPhysicsFrictionTypeTable 15 | ---@field ePoint EngineTagDataPhysicsFrictionTypePoint 16 | ---@field eForward EngineTagDataPhysicsFrictionTypeForward 17 | ---@field eLeft EngineTagDataPhysicsFrictionTypeLeft 18 | ---@field eUp EngineTagDataPhysicsFrictionTypeUp 19 | Engine.tag.physicsFrictionType = {} 20 | 21 | ---@class MetaEngineTagDataPhysicsPoweredMassPointFlags 22 | ---@field groundFriction boolean 23 | ---@field waterFriction boolean 24 | ---@field airFriction boolean 25 | ---@field waterLift boolean 26 | ---@field airLift boolean 27 | ---@field thrust boolean 28 | ---@field antigrav boolean 29 | 30 | ---@class MetaEngineTagDataPhysicsMassPointFlags 31 | ---@field metallic boolean 32 | 33 | ---@class MetaEngineTagDataPhysicsInertialMatrix 34 | ---@field matrix MetaEngineMatrix 35 | 36 | ---@class MetaEngineTagDataPhysicsPoweredMassPoint 37 | ---@field name MetaEngineTagString 38 | ---@field flags MetaEngineTagDataPhysicsPoweredMassPointFlags 39 | ---@field antigravStrength number 40 | ---@field antigravOffset number 41 | ---@field antigravHeight number 42 | ---@field antigravDampFraction number 43 | ---@field antigravNormalK1 number 44 | ---@field antigravNormalK0 number 45 | 46 | ---@class MetaEngineTagDataPhysicsMassPoint 47 | ---@field name MetaEngineTagString 48 | ---@field poweredMassPoint integer 49 | ---@field modelNode integer 50 | ---@field flags MetaEngineTagDataPhysicsMassPointFlags 51 | ---@field relativeMass number 52 | ---@field mass number 53 | ---@field relativeDensity number 54 | ---@field density number 55 | ---@field position MetaEnginePoint3D 56 | ---@field forward MetaEngineVector3D 57 | ---@field up MetaEngineVector3D 58 | ---@field frictionType EngineTagDataPhysicsFrictionType 59 | ---@field frictionParallelScale number 60 | ---@field frictionPerpendicularScale number 61 | ---@field radius number 62 | 63 | ---@class MetaEngineTagDataPhysics 64 | ---@field radius number 65 | ---@field momentScale MetaEngineFraction 66 | ---@field mass number 67 | ---@field centerOfMass MetaEnginePoint3D 68 | ---@field density number 69 | ---@field gravityScale number 70 | ---@field groundFriction number 71 | ---@field groundDepth number 72 | ---@field groundDampFraction MetaEngineFraction 73 | ---@field groundNormalK1 number 74 | ---@field groundNormalK0 number 75 | ---@field waterFriction number 76 | ---@field waterDepth number 77 | ---@field waterDensity number 78 | ---@field airFriction MetaEngineFraction 79 | ---@field xxMoment number 80 | ---@field yyMoment number 81 | ---@field zzMoment number 82 | ---@field inertialMatrixAndInverse TagBlock 83 | ---@field poweredMassPoints TagBlock 84 | ---@field massPoints TagBlock 85 | 86 | 87 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataPlaceholder.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataPlaceholder: MetaEngineTagDataBasicObject 2 | 3 | 4 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataPointPhysics.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataPointPhysicsFlags 2 | ---@field flamethrowerParticleCollision boolean 3 | ---@field collidesWithStructures boolean 4 | ---@field collidesWithWaterSurface boolean 5 | ---@field usesSimpleWind boolean 6 | ---@field usesDampedWind boolean 7 | ---@field noGravity boolean 8 | 9 | ---@class MetaEngineTagDataPointPhysics 10 | ---@field flags MetaEngineTagDataPointPhysicsFlags 11 | ---@field unknownConstant number 12 | ---@field waterGravityScale number 13 | ---@field airGravityScale number 14 | ---@field density number 15 | ---@field airFriction number 16 | ---@field waterFriction number 17 | ---@field surfaceFriction number 18 | ---@field elasticity number 19 | 20 | 21 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataPreferencesNetworkGame.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataPreferencesNetworkGame 2 | ---@field name MetaEngineTagString 3 | ---@field primaryColor MetaEngineColorRGB 4 | ---@field secondaryColor MetaEngineColorRGB 5 | ---@field pattern MetaEngineTagDependency 6 | ---@field patternBitmapIndex MetaEngineIndex 7 | ---@field decal MetaEngineTagDependency 8 | ---@field decalBitmapIndex MetaEngineIndex 9 | 10 | 11 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataProjectile.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataProjectileResponseEnum : Enum 2 | 3 | ---@class EngineTagDataProjectileResponseDisappear : EngineTagDataProjectileResponseEnum 4 | ---@class EngineTagDataProjectileResponseDetonate : EngineTagDataProjectileResponseEnum 5 | ---@class EngineTagDataProjectileResponseReflect : EngineTagDataProjectileResponseEnum 6 | ---@class EngineTagDataProjectileResponseOverpenetrate : EngineTagDataProjectileResponseEnum 7 | ---@class EngineTagDataProjectileResponseAttach : EngineTagDataProjectileResponseEnum 8 | 9 | ---@alias EngineTagDataProjectileResponse 10 | ---| EngineTagDataProjectileResponseDisappear 11 | ---| EngineTagDataProjectileResponseDetonate 12 | ---| EngineTagDataProjectileResponseReflect 13 | ---| EngineTagDataProjectileResponseOverpenetrate 14 | ---| EngineTagDataProjectileResponseAttach 15 | 16 | ---@class EngineTagDataProjectileResponseTable 17 | ---@field disappear EngineTagDataProjectileResponseDisappear 18 | ---@field detonate EngineTagDataProjectileResponseDetonate 19 | ---@field reflect EngineTagDataProjectileResponseReflect 20 | ---@field overpenetrate EngineTagDataProjectileResponseOverpenetrate 21 | ---@field attach EngineTagDataProjectileResponseAttach 22 | Engine.tag.projectileResponse = {} 23 | 24 | ---@class EngineTagDataProjectileScaleEffectsByEnum : Enum 25 | 26 | ---@class EngineTagDataProjectileScaleEffectsByDamage : EngineTagDataProjectileScaleEffectsByEnum 27 | ---@class EngineTagDataProjectileScaleEffectsByAngle : EngineTagDataProjectileScaleEffectsByEnum 28 | 29 | ---@alias EngineTagDataProjectileScaleEffectsBy 30 | ---| EngineTagDataProjectileScaleEffectsByDamage 31 | ---| EngineTagDataProjectileScaleEffectsByAngle 32 | 33 | ---@class EngineTagDataProjectileScaleEffectsByTable 34 | ---@field byDamage EngineTagDataProjectileScaleEffectsByDamage 35 | ---@field byAngle EngineTagDataProjectileScaleEffectsByAngle 36 | Engine.tag.projectileScaleEffectsBy = {} 37 | 38 | ---@class EngineTagDataProjectileDetonationTimerStartsEnum : Enum 39 | 40 | ---@class EngineTagDataProjectileDetonationTimerStartsImmediately : EngineTagDataProjectileDetonationTimerStartsEnum 41 | ---@class EngineTagDataProjectileDetonationTimerStartsAfterFirstBounce : EngineTagDataProjectileDetonationTimerStartsEnum 42 | ---@class EngineTagDataProjectileDetonationTimerStartsWhenAtRest : EngineTagDataProjectileDetonationTimerStartsEnum 43 | 44 | ---@alias EngineTagDataProjectileDetonationTimerStarts 45 | ---| EngineTagDataProjectileDetonationTimerStartsImmediately 46 | ---| EngineTagDataProjectileDetonationTimerStartsAfterFirstBounce 47 | ---| EngineTagDataProjectileDetonationTimerStartsWhenAtRest 48 | 49 | ---@class EngineTagDataProjectileDetonationTimerStartsTable 50 | ---@field tsImmediately EngineTagDataProjectileDetonationTimerStartsImmediately 51 | ---@field tsAfterFirstBounce EngineTagDataProjectileDetonationTimerStartsAfterFirstBounce 52 | ---@field tsWhenAtRest EngineTagDataProjectileDetonationTimerStartsWhenAtRest 53 | Engine.tag.projectileDetonationTimerStarts = {} 54 | 55 | ---@class EngineTagDataProjectileFunctionInEnum : Enum 56 | 57 | ---@class EngineTagDataProjectileFunctionInNone : EngineTagDataProjectileFunctionInEnum 58 | ---@class EngineTagDataProjectileFunctionInRangeRemaining : EngineTagDataProjectileFunctionInEnum 59 | ---@class EngineTagDataProjectileFunctionInTimeRemaining : EngineTagDataProjectileFunctionInEnum 60 | ---@class EngineTagDataProjectileFunctionInTracer : EngineTagDataProjectileFunctionInEnum 61 | 62 | ---@alias EngineTagDataProjectileFunctionIn 63 | ---| EngineTagDataProjectileFunctionInNone 64 | ---| EngineTagDataProjectileFunctionInRangeRemaining 65 | ---| EngineTagDataProjectileFunctionInTimeRemaining 66 | ---| EngineTagDataProjectileFunctionInTracer 67 | 68 | ---@class EngineTagDataProjectileFunctionInTable 69 | ---@field nNone EngineTagDataProjectileFunctionInNone 70 | ---@field nRangeRemaining EngineTagDataProjectileFunctionInRangeRemaining 71 | ---@field nTimeRemaining EngineTagDataProjectileFunctionInTimeRemaining 72 | ---@field nTracer EngineTagDataProjectileFunctionInTracer 73 | Engine.tag.projectileFunctionIn = {} 74 | 75 | ---@class MetaEngineTagDataProjectileFlags 76 | ---@field orientedAlongVelocity boolean 77 | ---@field aiMustUseBallisticAiming boolean 78 | ---@field detonationMaxTimeIfAttached boolean 79 | ---@field hasSuperCombiningExplosion boolean 80 | ---@field combineInitialVelocityWithParentVelocity boolean 81 | ---@field randomAttachedDetonationTime boolean 82 | ---@field minimumUnattachedDetonationTime boolean 83 | 84 | ---@class MetaEngineTagDataProjectileMaterialResponseFlags 85 | ---@field cannotBeOverpenetrated boolean 86 | 87 | ---@class MetaEngineTagDataProjectileMaterialResponsePotentialFlags 88 | ---@field onlyAgainstUnits boolean 89 | ---@field neverAgainstUnits boolean 90 | 91 | ---@class MetaEngineTagDataProjectileMaterialResponse 92 | ---@field flags MetaEngineTagDataProjectileMaterialResponseFlags 93 | ---@field defaultResponse EngineTagDataProjectileResponse 94 | ---@field defaultEffect MetaEngineTagDependency 95 | ---@field potentialResponse EngineTagDataProjectileResponse 96 | ---@field potentialFlags MetaEngineTagDataProjectileMaterialResponsePotentialFlags 97 | ---@field potentialSkipFraction MetaEngineFraction 98 | ---@field potentialBetween MetaEngineAngle 99 | ---@field potentialAnd number 100 | ---@field potentialEffect MetaEngineTagDependency 101 | ---@field scaleEffectsBy EngineTagDataProjectileScaleEffectsBy 102 | ---@field angularNoise MetaEngineAngle 103 | ---@field velocityNoise number 104 | ---@field detonationEffect MetaEngineTagDependency 105 | ---@field initialFriction number 106 | ---@field maximumDistance number 107 | ---@field parallelFriction number 108 | ---@field perpendicularFriction number 109 | 110 | ---@class MetaEngineTagDataProjectile: MetaEngineTagDataObject 111 | ---@field projectileFlags MetaEngineTagDataProjectileFlags 112 | ---@field detonationTimerStarts EngineTagDataProjectileDetonationTimerStarts 113 | ---@field impactNoise EngineTagDataObjectNoise 114 | ---@field projectileAIn EngineTagDataProjectileFunctionIn 115 | ---@field projectileBIn EngineTagDataProjectileFunctionIn 116 | ---@field projectileCIn EngineTagDataProjectileFunctionIn 117 | ---@field projectileDIn EngineTagDataProjectileFunctionIn 118 | ---@field superDetonation MetaEngineTagDependency 119 | ---@field aiPerceptionRadius number 120 | ---@field collisionRadius number 121 | ---@field armingTime number 122 | ---@field dangerRadius number 123 | ---@field effect MetaEngineTagDependency 124 | ---@field timer number 125 | ---@field minimumVelocity number 126 | ---@field maximumRange number 127 | ---@field airGravityScale number 128 | ---@field airDamageRange number 129 | ---@field waterGravityScale number 130 | ---@field waterDamageRange number 131 | ---@field initialVelocity number 132 | ---@field finalVelocity number 133 | ---@field guidedAngularVelocity MetaEngineAngle 134 | ---@field detonationNoise EngineTagDataObjectNoise 135 | ---@field detonationStarted MetaEngineTagDependency 136 | ---@field flybySound MetaEngineTagDependency 137 | ---@field attachedDetonationDamage MetaEngineTagDependency 138 | ---@field impactDamage MetaEngineTagDependency 139 | ---@field projectileMaterialResponse TagBlock 140 | 141 | 142 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataScenery.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataScenery: MetaEngineTagDataBasicObject 2 | 3 | 4 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataShaderEnvironment.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataShaderEnvironmentTypeEnum : Enum 2 | 3 | ---@class EngineTagDataShaderEnvironmentTypeNormal : EngineTagDataShaderEnvironmentTypeEnum 4 | ---@class EngineTagDataShaderEnvironmentTypeBlended : EngineTagDataShaderEnvironmentTypeEnum 5 | ---@class EngineTagDataShaderEnvironmentTypeBlendedBaseSpecular : EngineTagDataShaderEnvironmentTypeEnum 6 | 7 | ---@alias EngineTagDataShaderEnvironmentType 8 | ---| EngineTagDataShaderEnvironmentTypeNormal 9 | ---| EngineTagDataShaderEnvironmentTypeBlended 10 | ---| EngineTagDataShaderEnvironmentTypeBlendedBaseSpecular 11 | 12 | ---@class EngineTagDataShaderEnvironmentTypeTable 13 | ---@field eNormal EngineTagDataShaderEnvironmentTypeNormal 14 | ---@field eBlended EngineTagDataShaderEnvironmentTypeBlended 15 | ---@field eBlendedBaseSpecular EngineTagDataShaderEnvironmentTypeBlendedBaseSpecular 16 | Engine.tag.shaderEnvironmentType = {} 17 | 18 | ---@class EngineTagDataShaderEnvironmentReflectionTypeEnum : Enum 19 | 20 | ---@class EngineTagDataShaderEnvironmentReflectionTypeBumpedCubeMap : EngineTagDataShaderEnvironmentReflectionTypeEnum 21 | ---@class EngineTagDataShaderEnvironmentReflectionTypeFlatCubeMap : EngineTagDataShaderEnvironmentReflectionTypeEnum 22 | ---@class EngineTagDataShaderEnvironmentReflectionTypeBumpedRadiosity : EngineTagDataShaderEnvironmentReflectionTypeEnum 23 | 24 | ---@alias EngineTagDataShaderEnvironmentReflectionType 25 | ---| EngineTagDataShaderEnvironmentReflectionTypeBumpedCubeMap 26 | ---| EngineTagDataShaderEnvironmentReflectionTypeFlatCubeMap 27 | ---| EngineTagDataShaderEnvironmentReflectionTypeBumpedRadiosity 28 | 29 | ---@class EngineTagDataShaderEnvironmentReflectionTypeTable 30 | ---@field peBumpedCubeMap EngineTagDataShaderEnvironmentReflectionTypeBumpedCubeMap 31 | ---@field peFlatCubeMap EngineTagDataShaderEnvironmentReflectionTypeFlatCubeMap 32 | ---@field peBumpedRadiosity EngineTagDataShaderEnvironmentReflectionTypeBumpedRadiosity 33 | Engine.tag.shaderEnvironmentReflectionType = {} 34 | 35 | ---@class MetaEngineTagDataShaderEnvironmentFlags 36 | ---@field alphaTested boolean 37 | ---@field bumpMapIsSpecularMask boolean 38 | ---@field trueAtmosphericFog boolean 39 | 40 | ---@class MetaEngineTagDataShaderEnvironmentDiffuseFlags 41 | ---@field rescaleDetailMaps boolean 42 | ---@field rescaleBumpMap boolean 43 | 44 | ---@class MetaEngineTagDataShaderEnvironmentSpecularFlags 45 | ---@field overbright boolean 46 | ---@field extraShiny boolean 47 | ---@field lightmapIsSpecular boolean 48 | 49 | ---@class MetaEngineTagDataShaderEnvironmentReflectionFlags 50 | ---@field dynamicMirror boolean 51 | 52 | ---@class MetaEngineTagDataShaderEnvironment: MetaEngineTagDataShader 53 | ---@field shaderEnvironmentFlags MetaEngineTagDataShaderEnvironmentFlags 54 | ---@field shaderEnvironmentType EngineTagDataShaderEnvironmentType 55 | ---@field lensFlareSpacing number 56 | ---@field lensFlare MetaEngineTagDependency 57 | ---@field diffuseFlags MetaEngineTagDataShaderEnvironmentDiffuseFlags 58 | ---@field baseMap MetaEngineTagDependency 59 | ---@field detailMapFunction EngineTagDataShaderDetailFunction 60 | ---@field primaryDetailMapScale number 61 | ---@field primaryDetailMap MetaEngineTagDependency 62 | ---@field secondaryDetailMapScale number 63 | ---@field secondaryDetailMap MetaEngineTagDependency 64 | ---@field microDetailMapFunction EngineTagDataShaderDetailFunction 65 | ---@field microDetailMapScale number 66 | ---@field microDetailMap MetaEngineTagDependency 67 | ---@field materialColor MetaEngineColorRGB 68 | ---@field bumpMapScale number 69 | ---@field bumpMap MetaEngineTagDependency 70 | ---@field bumpMapScaleXy MetaEnginePoint2D 71 | ---@field uAnimationFunction EngineTagDataWaveFunction 72 | ---@field uAnimationPeriod number 73 | ---@field uAnimationScale number 74 | ---@field vAnimationFunction EngineTagDataWaveFunction 75 | ---@field vAnimationPeriod number 76 | ---@field vAnimationScale number 77 | ---@field selfIlluminationFlags MetaEngineTagDataIsUnfilteredFlag 78 | ---@field primaryOnColor MetaEngineColorRGB 79 | ---@field primaryOffColor MetaEngineColorRGB 80 | ---@field primaryAnimationFunction EngineTagDataWaveFunction 81 | ---@field primaryAnimationPeriod number 82 | ---@field primaryAnimationPhase number 83 | ---@field secondaryOnColor MetaEngineColorRGB 84 | ---@field secondaryOffColor MetaEngineColorRGB 85 | ---@field secondaryAnimationFunction EngineTagDataWaveFunction 86 | ---@field secondaryAnimationPeriod number 87 | ---@field secondaryAnimationPhase number 88 | ---@field plasmaOnColor MetaEngineColorRGB 89 | ---@field plasmaOffColor MetaEngineColorRGB 90 | ---@field plasmaAnimationFunction EngineTagDataWaveFunction 91 | ---@field plasmaAnimationPeriod number 92 | ---@field plasmaAnimationPhase number 93 | ---@field mapScale number 94 | ---@field map MetaEngineTagDependency 95 | ---@field specularFlags MetaEngineTagDataShaderEnvironmentSpecularFlags 96 | ---@field brightness MetaEngineFraction 97 | ---@field perpendicularColor MetaEngineColorRGB 98 | ---@field parallelColor MetaEngineColorRGB 99 | ---@field reflectionFlags MetaEngineTagDataShaderEnvironmentReflectionFlags 100 | ---@field reflectionType EngineTagDataShaderEnvironmentReflectionType 101 | ---@field lightmapBrightnessScale MetaEngineFraction 102 | ---@field perpendicularBrightness MetaEngineFraction 103 | ---@field parallelBrightness MetaEngineFraction 104 | ---@field reflectionCubeMap MetaEngineTagDependency 105 | 106 | 107 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataShaderModel.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataShaderModelDetailMaskEnum : Enum 2 | 3 | ---@class EngineTagDataShaderModelDetailMaskNone : EngineTagDataShaderModelDetailMaskEnum 4 | ---@class EngineTagDataShaderModelDetailMaskReflectionMaskInverse : EngineTagDataShaderModelDetailMaskEnum 5 | ---@class EngineTagDataShaderModelDetailMaskReflectionMask : EngineTagDataShaderModelDetailMaskEnum 6 | ---@class EngineTagDataShaderModelDetailMaskSelfIlluminationMaskInverse : EngineTagDataShaderModelDetailMaskEnum 7 | ---@class EngineTagDataShaderModelDetailMaskSelfIlluminationMask : EngineTagDataShaderModelDetailMaskEnum 8 | ---@class EngineTagDataShaderModelDetailMaskChangeColorMaskInverse : EngineTagDataShaderModelDetailMaskEnum 9 | ---@class EngineTagDataShaderModelDetailMaskChangeColorMask : EngineTagDataShaderModelDetailMaskEnum 10 | ---@class EngineTagDataShaderModelDetailMaskAuxiliaryMaskInverse : EngineTagDataShaderModelDetailMaskEnum 11 | ---@class EngineTagDataShaderModelDetailMaskAuxiliaryMask : EngineTagDataShaderModelDetailMaskEnum 12 | 13 | ---@alias EngineTagDataShaderModelDetailMask 14 | ---| EngineTagDataShaderModelDetailMaskNone 15 | ---| EngineTagDataShaderModelDetailMaskReflectionMaskInverse 16 | ---| EngineTagDataShaderModelDetailMaskReflectionMask 17 | ---| EngineTagDataShaderModelDetailMaskSelfIlluminationMaskInverse 18 | ---| EngineTagDataShaderModelDetailMaskSelfIlluminationMask 19 | ---| EngineTagDataShaderModelDetailMaskChangeColorMaskInverse 20 | ---| EngineTagDataShaderModelDetailMaskChangeColorMask 21 | ---| EngineTagDataShaderModelDetailMaskAuxiliaryMaskInverse 22 | ---| EngineTagDataShaderModelDetailMaskAuxiliaryMask 23 | 24 | ---@class EngineTagDataShaderModelDetailMaskTable 25 | ---@field skNone EngineTagDataShaderModelDetailMaskNone 26 | ---@field skReflectionMaskInverse EngineTagDataShaderModelDetailMaskReflectionMaskInverse 27 | ---@field skReflectionMask EngineTagDataShaderModelDetailMaskReflectionMask 28 | ---@field skSelfIlluminationMaskInverse EngineTagDataShaderModelDetailMaskSelfIlluminationMaskInverse 29 | ---@field skSelfIlluminationMask EngineTagDataShaderModelDetailMaskSelfIlluminationMask 30 | ---@field skChangeColorMaskInverse EngineTagDataShaderModelDetailMaskChangeColorMaskInverse 31 | ---@field skChangeColorMask EngineTagDataShaderModelDetailMaskChangeColorMask 32 | ---@field skAuxiliaryMaskInverse EngineTagDataShaderModelDetailMaskAuxiliaryMaskInverse 33 | ---@field skAuxiliaryMask EngineTagDataShaderModelDetailMaskAuxiliaryMask 34 | Engine.tag.shaderModelDetailMask = {} 35 | 36 | ---@class MetaEngineTagDataShaderModelFlags 37 | ---@field detailAfterReflection boolean 38 | ---@field twoSided boolean 39 | ---@field notAlphaTested boolean 40 | ---@field alphaBlendedDecal boolean 41 | ---@field trueAtmosphericFog boolean 42 | ---@field disableTwoSidedCulling boolean 43 | ---@field useXboxMultipurposeChannelOrder boolean 44 | 45 | ---@class MetaEngineTagDataShaderModelMoreFlags 46 | ---@field noRandomPhase boolean 47 | 48 | ---@class MetaEngineTagDataShaderModel: MetaEngineTagDataShader 49 | ---@field shaderModelFlags MetaEngineTagDataShaderModelFlags 50 | ---@field translucency MetaEngineFraction 51 | ---@field changeColorSource EngineTagDataFunctionNameNullable 52 | ---@field shaderModelMoreFlags MetaEngineTagDataShaderModelMoreFlags 53 | ---@field colorSource EngineTagDataFunctionNameNullable 54 | ---@field animationFunction EngineTagDataWaveFunction 55 | ---@field animationPeriod number 56 | ---@field animationColorLowerBound MetaEngineColorRGB 57 | ---@field animationColorUpperBound MetaEngineColorRGB 58 | ---@field mapUScale number 59 | ---@field mapVScale number 60 | ---@field baseMap MetaEngineTagDependency 61 | ---@field multipurposeMap MetaEngineTagDependency 62 | ---@field detailFunction EngineTagDataShaderDetailFunction 63 | ---@field detailMask EngineTagDataShaderModelDetailMask 64 | ---@field detailMapScale number 65 | ---@field detailMap MetaEngineTagDependency 66 | ---@field detailMapVScale number 67 | ---@field uAnimationSource EngineTagDataFunctionOut 68 | ---@field uAnimationFunction EngineTagDataWaveFunction 69 | ---@field uAnimationPeriod number 70 | ---@field uAnimationPhase number 71 | ---@field uAnimationScale number 72 | ---@field vAnimationSource EngineTagDataFunctionOut 73 | ---@field vAnimationFunction EngineTagDataWaveFunction 74 | ---@field vAnimationPeriod number 75 | ---@field vAnimationPhase number 76 | ---@field vAnimationScale number 77 | ---@field rotationAnimationSource EngineTagDataFunctionOut 78 | ---@field rotationAnimationFunction EngineTagDataWaveFunction 79 | ---@field rotationAnimationPeriod number 80 | ---@field rotationAnimationPhase number 81 | ---@field rotationAnimationScale number 82 | ---@field rotationAnimationCenter MetaEnginePoint2D 83 | ---@field reflectionFalloffDistance number 84 | ---@field reflectionCutoffDistance number 85 | ---@field perpendicularBrightness MetaEngineFraction 86 | ---@field perpendicularTintColor MetaEngineColorRGB 87 | ---@field parallelBrightness MetaEngineFraction 88 | ---@field parallelTintColor MetaEngineColorRGB 89 | ---@field reflectionCubeMap MetaEngineTagDependency 90 | ---@field unknown number 91 | 92 | 93 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataShaderTransparentChicago.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataShaderTransparentChicagoMapFlags 2 | ---@field unfiltered boolean 3 | ---@field alphaReplicate boolean 4 | ---@field uClamped boolean 5 | ---@field vClamped boolean 6 | 7 | ---@class MetaEngineTagDataShaderTransparentChicagoExtraFlags 8 | ---@field dontFadeActiveCamouflage boolean 9 | ---@field numericCountdownTimer boolean 10 | ---@field customEditionBlending boolean 11 | 12 | ---@class MetaEngineTagDataShaderTransparentChicagoMap 13 | ---@field flags MetaEngineTagDataShaderTransparentChicagoMapFlags 14 | ---@field colorFunction EngineTagDataShaderColorFunctionType 15 | ---@field alphaFunction EngineTagDataShaderColorFunctionType 16 | ---@field mapUScale number 17 | ---@field mapVScale number 18 | ---@field mapUOffset number 19 | ---@field mapVOffset number 20 | ---@field mapRotation number 21 | ---@field mipmapBias MetaEngineFraction 22 | ---@field map MetaEngineTagDependency 23 | ---@field uAnimationSource EngineTagDataFunctionOut 24 | ---@field uAnimationFunction EngineTagDataWaveFunction 25 | ---@field uAnimationPeriod number 26 | ---@field uAnimationPhase number 27 | ---@field uAnimationScale number 28 | ---@field vAnimationSource EngineTagDataFunctionOut 29 | ---@field vAnimationFunction EngineTagDataWaveFunction 30 | ---@field vAnimationPeriod number 31 | ---@field vAnimationPhase number 32 | ---@field vAnimationScale number 33 | ---@field rotationAnimationSource EngineTagDataFunctionOut 34 | ---@field rotationAnimationFunction EngineTagDataWaveFunction 35 | ---@field rotationAnimationPeriod number 36 | ---@field rotationAnimationPhase number 37 | ---@field rotationAnimationScale number 38 | ---@field rotationAnimationCenter MetaEnginePoint2D 39 | 40 | ---@class MetaEngineTagDataShaderTransparentChicago: MetaEngineTagDataShader 41 | ---@field numericCounterLimit integer 42 | ---@field shaderTransparentChicagoFlags MetaEngineTagDataShaderTransparentGenericFlags 43 | ---@field firstMapType EngineTagDataShaderFirstMapType 44 | ---@field framebufferBlendFunction EngineTagDataFramebufferBlendFunction 45 | ---@field framebufferFadeMode EngineTagDataFramebufferFadeMode 46 | ---@field framebufferFadeSource EngineTagDataFunctionOut 47 | ---@field lensFlareSpacing number 48 | ---@field lensFlare MetaEngineTagDependency 49 | ---@field extraLayers TagBlock 50 | ---@field maps TagBlock 51 | ---@field extraFlags MetaEngineTagDataShaderTransparentChicagoExtraFlags 52 | 53 | 54 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataShaderTransparentChicagoExtended.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataShaderTransparentChicagoExtended: MetaEngineTagDataShader 2 | ---@field numericCounterLimit integer 3 | ---@field shaderTransparentChicagoExtendedFlags MetaEngineTagDataShaderTransparentGenericFlags 4 | ---@field firstMapType EngineTagDataShaderFirstMapType 5 | ---@field framebufferBlendFunction EngineTagDataFramebufferBlendFunction 6 | ---@field framebufferFadeMode EngineTagDataFramebufferFadeMode 7 | ---@field framebufferFadeSource EngineTagDataFunctionOut 8 | ---@field lensFlareSpacing number 9 | ---@field lensFlare MetaEngineTagDependency 10 | ---@field extraLayers TagBlock 11 | ---@field maps4Stage TagBlock 12 | ---@field maps2Stage TagBlock 13 | ---@field extraFlags MetaEngineTagDataShaderTransparentChicagoExtraFlags 14 | 15 | 16 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataShaderTransparentGlass.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataShaderTransparentGlassReflectionTypeEnum : Enum 2 | 3 | ---@class EngineTagDataShaderTransparentGlassReflectionTypeBumpedCubeMap : EngineTagDataShaderTransparentGlassReflectionTypeEnum 4 | ---@class EngineTagDataShaderTransparentGlassReflectionTypeFlatCubeMap : EngineTagDataShaderTransparentGlassReflectionTypeEnum 5 | ---@class EngineTagDataShaderTransparentGlassReflectionTypeDynamicMirror : EngineTagDataShaderTransparentGlassReflectionTypeEnum 6 | 7 | ---@alias EngineTagDataShaderTransparentGlassReflectionType 8 | ---| EngineTagDataShaderTransparentGlassReflectionTypeBumpedCubeMap 9 | ---| EngineTagDataShaderTransparentGlassReflectionTypeFlatCubeMap 10 | ---| EngineTagDataShaderTransparentGlassReflectionTypeDynamicMirror 11 | 12 | ---@class EngineTagDataShaderTransparentGlassReflectionTypeTable 13 | ---@field ypeBumpedCubeMap EngineTagDataShaderTransparentGlassReflectionTypeBumpedCubeMap 14 | ---@field ypeFlatCubeMap EngineTagDataShaderTransparentGlassReflectionTypeFlatCubeMap 15 | ---@field ypeDynamicMirror EngineTagDataShaderTransparentGlassReflectionTypeDynamicMirror 16 | Engine.tag.shaderTransparentGlassReflectionType = {} 17 | 18 | ---@class MetaEngineTagDataShaderTransparentGlassFlags 19 | ---@field alphaTested boolean 20 | ---@field decal boolean 21 | ---@field twoSided boolean 22 | ---@field bumpMapIsSpecularMask boolean 23 | 24 | ---@class MetaEngineTagDataShaderTransparentGlass: MetaEngineTagDataShader 25 | ---@field shaderTransparentGlassFlags MetaEngineTagDataShaderTransparentGlassFlags 26 | ---@field backgroundTintColor MetaEngineColorRGB 27 | ---@field backgroundTintMapScale number 28 | ---@field backgroundTintMap MetaEngineTagDependency 29 | ---@field reflectionType EngineTagDataShaderTransparentGlassReflectionType 30 | ---@field perpendicularBrightness MetaEngineFraction 31 | ---@field perpendicularTintColor MetaEngineColorRGB 32 | ---@field parallelBrightness MetaEngineFraction 33 | ---@field parallelTintColor MetaEngineColorRGB 34 | ---@field reflectionMap MetaEngineTagDependency 35 | ---@field bumpMapScale number 36 | ---@field bumpMap MetaEngineTagDependency 37 | ---@field diffuseMapScale number 38 | ---@field diffuseMap MetaEngineTagDependency 39 | ---@field diffuseDetailMapScale number 40 | ---@field diffuseDetailMap MetaEngineTagDependency 41 | ---@field specularMapScale number 42 | ---@field specularMap MetaEngineTagDependency 43 | ---@field specularDetailMapScale number 44 | ---@field specularDetailMap MetaEngineTagDependency 45 | 46 | 47 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataShaderTransparentMeter.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataShaderTransparentMeterFlags 2 | ---@field decal boolean 3 | ---@field twoSided boolean 4 | ---@field flashColorIsNegative boolean 5 | ---@field tintMode2 boolean 6 | ---@field unfiltered boolean 7 | 8 | ---@class MetaEngineTagDataShaderTransparentMeter: MetaEngineTagDataShader 9 | ---@field meterFlags MetaEngineTagDataShaderTransparentMeterFlags 10 | ---@field map MetaEngineTagDependency 11 | ---@field gradientMinColor MetaEngineColorRGB 12 | ---@field gradientMaxColor MetaEngineColorRGB 13 | ---@field backgroundColor MetaEngineColorRGB 14 | ---@field flashColor MetaEngineColorRGB 15 | ---@field meterTintColor MetaEngineColorRGB 16 | ---@field meterTransparency MetaEngineFraction 17 | ---@field backgroundTransparency MetaEngineFraction 18 | ---@field meterBrightnessSource EngineTagDataFunctionOut 19 | ---@field flashBrightnessSource EngineTagDataFunctionOut 20 | ---@field valueSource EngineTagDataFunctionOut 21 | ---@field gradientSource EngineTagDataFunctionOut 22 | ---@field flashExtensionSource EngineTagDataFunctionOut 23 | 24 | 25 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataShaderTransparentPlasma.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataShaderTransparentPlasma: MetaEngineTagDataShader 2 | ---@field intensitySource EngineTagDataFunctionOut 3 | ---@field intensityExponent number 4 | ---@field offsetSource EngineTagDataFunctionOut 5 | ---@field offsetAmount number 6 | ---@field offsetExponent number 7 | ---@field perpendicularBrightness MetaEngineFraction 8 | ---@field perpendicularTintColor MetaEngineColorRGB 9 | ---@field parallelBrightness MetaEngineFraction 10 | ---@field parallelTintColor MetaEngineColorRGB 11 | ---@field tintColorSource EngineTagDataFunctionNameNullable 12 | ---@field primaryAnimationPeriod number 13 | ---@field primaryAnimationDirection MetaEngineVector3D 14 | ---@field primaryNoiseMapScale number 15 | ---@field primaryNoiseMap MetaEngineTagDependency 16 | ---@field secondaryAnimationPeriod number 17 | ---@field secondaryAnimationDirection MetaEngineVector3D 18 | ---@field secondaryNoiseMapScale number 19 | ---@field secondaryNoiseMap MetaEngineTagDependency 20 | 21 | 22 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataShaderTransparentWater.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataShaderTransparentWaterFlags 2 | ---@field baseMapAlphaModulatesReflection boolean 3 | ---@field baseMapColorModulatesBackground boolean 4 | ---@field atmosphericFog boolean 5 | ---@field drawBeforeFog boolean 6 | 7 | ---@class MetaEngineTagDataShaderTransparentWaterRipple 8 | ---@field contributionFactor MetaEngineFraction 9 | ---@field animationAngle MetaEngineAngle 10 | ---@field animationVelocity number 11 | ---@field mapOffset MetaEngineVector2D 12 | ---@field mapRepeats integer 13 | ---@field mapIndex MetaEngineIndex 14 | 15 | ---@class MetaEngineTagDataShaderTransparentWater: MetaEngineTagDataShader 16 | ---@field waterFlags MetaEngineTagDataShaderTransparentWaterFlags 17 | ---@field baseMap MetaEngineTagDependency 18 | ---@field viewPerpendicularBrightness MetaEngineFraction 19 | ---@field viewPerpendicularTintColor MetaEngineColorRGB 20 | ---@field viewParallelBrightness MetaEngineFraction 21 | ---@field viewParallelTintColor MetaEngineColorRGB 22 | ---@field reflectionMap MetaEngineTagDependency 23 | ---@field rippleAnimationAngle MetaEngineAngle 24 | ---@field rippleAnimationVelocity number 25 | ---@field rippleScale number 26 | ---@field rippleMaps MetaEngineTagDependency 27 | ---@field rippleMipmapLevels integer 28 | ---@field rippleMipmapFadeFactor MetaEngineFraction 29 | ---@field rippleMipmapDetailBias number 30 | ---@field ripples TagBlock 31 | 32 | 33 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataSky.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataSkyLightFlags 2 | ---@field affectsExteriors boolean 3 | ---@field affectsInteriors boolean 4 | 5 | ---@class MetaEngineTagDataSkyFunction 6 | ---@field functionName MetaEngineTagString 7 | 8 | ---@class MetaEngineTagDataSkyAnimation 9 | ---@field animationIndex integer 10 | ---@field period number 11 | 12 | ---@class MetaEngineTagDataSkyLight 13 | ---@field lensFlare MetaEngineTagDependency 14 | ---@field lensFlareMarkerName MetaEngineTagString 15 | ---@field flags MetaEngineTagDataSkyLightFlags 16 | ---@field color MetaEngineColorRGB 17 | ---@field power number 18 | ---@field testDistance number 19 | ---@field direction MetaEngineEuler2D 20 | ---@field diameter number 21 | 22 | ---@class MetaEngineTagDataSky 23 | ---@field model MetaEngineTagDependency 24 | ---@field animationGraph MetaEngineTagDependency 25 | ---@field indoorAmbientRadiosityColor MetaEngineColorRGB 26 | ---@field indoorAmbientRadiosityPower number 27 | ---@field outdoorAmbientRadiosityColor MetaEngineColorRGB 28 | ---@field outdoorAmbientRadiosityPower number 29 | ---@field outdoorFogColor MetaEngineColorRGB 30 | ---@field outdoorFogMaximumDensity MetaEngineFraction 31 | ---@field outdoorFogStartDistance number 32 | ---@field outdoorFogOpaqueDistance number 33 | ---@field indoorFogColor MetaEngineColorRGB 34 | ---@field indoorFogMaximumDensity MetaEngineFraction 35 | ---@field indoorFogStartDistance number 36 | ---@field indoorFogOpaqueDistance number 37 | ---@field indoorFogScreen MetaEngineTagDependency 38 | ---@field shaderFunctions TagBlock 39 | ---@field animations TagBlock 40 | ---@field lights TagBlock 41 | 42 | 43 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataSoundEnvironment.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataSoundEnvironment 2 | ---@field unknown integer 3 | ---@field priority integer 4 | ---@field roomIntensity MetaEngineFraction 5 | ---@field roomIntensityHf MetaEngineFraction 6 | ---@field roomRolloff number 7 | ---@field decayTime number 8 | ---@field decayHfRatio number 9 | ---@field reflectionsIntensity MetaEngineFraction 10 | ---@field reflectionsDelay number 11 | ---@field reverbIntensity MetaEngineFraction 12 | ---@field reverbDelay number 13 | ---@field diffusion number 14 | ---@field density number 15 | ---@field hfReference number 16 | 17 | 18 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataSoundLooping.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataSoundLoopingTrackFlags 2 | ---@field fadeInAtStart boolean 3 | ---@field fadeOutAtStop boolean 4 | ---@field fadeInAlternate boolean 5 | 6 | ---@class MetaEngineTagDataSoundLoopingDetailFlags 7 | ---@field dontPlayWithAlternate boolean 8 | ---@field dontPlayWithoutAlternate boolean 9 | 10 | ---@class MetaEngineTagDataSoundLoopingFlags 11 | ---@field deafeningToAis boolean 12 | ---@field notALoop boolean 13 | ---@field stopsMusic boolean 14 | ---@field siegeOfMadrigal boolean 15 | 16 | ---@class MetaEngineTagDataSoundLoopingTrack 17 | ---@field flags MetaEngineTagDataSoundLoopingTrackFlags 18 | ---@field gain MetaEngineFraction 19 | ---@field fadeInDuration number 20 | ---@field fadeOutDuration number 21 | ---@field start MetaEngineTagDependency 22 | ---@field loop MetaEngineTagDependency 23 | ---@field end MetaEngineTagDependency 24 | ---@field alternateLoop MetaEngineTagDependency 25 | ---@field alternateEnd MetaEngineTagDependency 26 | 27 | ---@class MetaEngineTagDataSoundLoopingDetail 28 | ---@field sound MetaEngineTagDependency 29 | ---@field randomPeriodBounds number 30 | ---@field gain MetaEngineFraction 31 | ---@field flags MetaEngineTagDataSoundLoopingDetailFlags 32 | ---@field yawBounds MetaEngineAngle 33 | ---@field pitchBounds MetaEngineAngle 34 | ---@field distanceBounds number 35 | 36 | ---@class MetaEngineTagDataSoundLooping 37 | ---@field flags MetaEngineTagDataSoundLoopingFlags 38 | ---@field zeroDetailSoundPeriod number 39 | ---@field zeroDetailUnknownFloats number 40 | ---@field oneDetailSoundPeriod number 41 | ---@field oneDetailUnknownFloats number 42 | ---@field unknownInt integer 43 | ---@field maximumDistance number 44 | ---@field continuousDamageEffect MetaEngineTagDependency 45 | ---@field tracks TagBlock 46 | ---@field detailSounds TagBlock 47 | 48 | 49 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataSoundScenery.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataSoundScenery: MetaEngineTagDataBasicObject 2 | 3 | 4 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataStringList.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataStringListString 2 | ---@field string MetaEngineTagDataOffset 3 | 4 | ---@class MetaEngineTagDataStringList 5 | ---@field strings TagBlock 6 | 7 | 8 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataTagCollection.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataTagCollectionTag 2 | ---@field reference MetaEngineTagDependency 3 | 4 | ---@class MetaEngineTagDataTagCollection 5 | ---@field tags TagBlock 6 | 7 | 8 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataUnicodeStringList.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataUnicodeStringListString 2 | ---@field string MetaEngineTagDataOffset 3 | 4 | ---@class MetaEngineTagDataUnicodeStringList 5 | ---@field strings TagBlock 6 | 7 | 8 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataWeatherParticleSystem.lua: -------------------------------------------------------------------------------- 1 | ---@class EngineTagDataWeatherParticleSystemRenderDirectionSourceEnum : Enum 2 | 3 | ---@class EngineTagDataWeatherParticleSystemRenderDirectionSourceFromVelocity : EngineTagDataWeatherParticleSystemRenderDirectionSourceEnum 4 | ---@class EngineTagDataWeatherParticleSystemRenderDirectionSourceFromAcceleration : EngineTagDataWeatherParticleSystemRenderDirectionSourceEnum 5 | 6 | ---@alias EngineTagDataWeatherParticleSystemRenderDirectionSource 7 | ---| EngineTagDataWeatherParticleSystemRenderDirectionSourceFromVelocity 8 | ---| EngineTagDataWeatherParticleSystemRenderDirectionSourceFromAcceleration 9 | 10 | ---@class EngineTagDataWeatherParticleSystemRenderDirectionSourceTable 11 | ---@field urceFromVelocity EngineTagDataWeatherParticleSystemRenderDirectionSourceFromVelocity 12 | ---@field urceFromAcceleration EngineTagDataWeatherParticleSystemRenderDirectionSourceFromAcceleration 13 | Engine.tag.weatherParticleSystemRenderDirectionSource = {} 14 | 15 | ---@class MetaEngineTagDataWeatherParticleSystemParticleTypeFlags 16 | ---@field interpolateColorsInHsv boolean 17 | ---@field alongLongHuePath boolean 18 | ---@field randomRotation boolean 19 | 20 | ---@class MetaEngineTagDataWeatherParticleSystemParticleType 21 | ---@field name MetaEngineTagString 22 | ---@field flags MetaEngineTagDataWeatherParticleSystemParticleTypeFlags 23 | ---@field fadeInStartDistance number 24 | ---@field fadeInEndDistance number 25 | ---@field fadeOutStartDistance number 26 | ---@field fadeOutEndDistance number 27 | ---@field fadeInStartHeight number 28 | ---@field fadeInEndHeight number 29 | ---@field fadeOutStartHeight number 30 | ---@field fadeOutEndHeight number 31 | ---@field particleCount number 32 | ---@field physics MetaEngineTagDependency 33 | ---@field accelerationMagnitude number 34 | ---@field accelerationTurningRate MetaEngineFraction 35 | ---@field accelerationChangeRate number 36 | ---@field particleRadius number 37 | ---@field animationRate number 38 | ---@field rotationRate MetaEngineAngle 39 | ---@field colorLowerBound MetaEngineColorARGB 40 | ---@field colorUpperBound MetaEngineColorARGB 41 | ---@field spriteSize number 42 | ---@field spriteBitmap MetaEngineTagDependency 43 | ---@field renderMode EngineTagDataParticleOrientation 44 | ---@field renderDirectionSource EngineTagDataWeatherParticleSystemRenderDirectionSource 45 | ---@field notBroken integer 46 | ---@field shaderFlags MetaEngineTagDataParticleShaderFlags 47 | ---@field framebufferBlendFunction EngineTagDataFramebufferBlendFunction 48 | ---@field framebufferFadeMode EngineTagDataFramebufferFadeMode 49 | ---@field mapFlags MetaEngineTagDataIsUnfilteredFlag 50 | ---@field bitmap MetaEngineTagDependency 51 | ---@field anchor EngineTagDataParticleAnchor 52 | ---@field flags1 MetaEngineTagDataIsUnfilteredFlag 53 | ---@field uAnimationSource EngineTagDataFunctionOut 54 | ---@field uAnimationFunction EngineTagDataWaveFunction 55 | ---@field uAnimationPeriod number 56 | ---@field uAnimationPhase number 57 | ---@field uAnimationScale number 58 | ---@field vAnimationSource EngineTagDataFunctionOut 59 | ---@field vAnimationFunction EngineTagDataWaveFunction 60 | ---@field vAnimationPeriod number 61 | ---@field vAnimationPhase number 62 | ---@field vAnimationScale number 63 | ---@field rotationAnimationSource EngineTagDataFunctionOut 64 | ---@field rotationAnimationFunction EngineTagDataWaveFunction 65 | ---@field rotationAnimationPeriod number 66 | ---@field rotationAnimationPhase number 67 | ---@field rotationAnimationScale MetaEngineAngle 68 | ---@field rotationAnimationCenter MetaEnginePoint2D 69 | ---@field zspriteRadiusScale number 70 | 71 | ---@class MetaEngineTagDataWeatherParticleSystem 72 | ---@field flags MetaEngineTagDataIsUnusedFlag 73 | ---@field particleTypes TagBlock 74 | 75 | 76 | -------------------------------------------------------------------------------- /lua/docs/types/tag_data/engineTagDataWind.lua: -------------------------------------------------------------------------------- 1 | ---@class MetaEngineTagDataWind 2 | ---@field velocity number 3 | ---@field variationArea MetaEngineEuler2D 4 | ---@field localVariationWeight number 5 | ---@field localVariationRate number 6 | ---@field damping number 7 | 8 | 9 | -------------------------------------------------------------------------------- /lua/modules/bit.lua: -------------------------------------------------------------------------------- 1 | local M = {_TYPE='module', _NAME='bitop.funcs', _VERSION='1.0-0'} 2 | 3 | local floor = math.floor 4 | 5 | local MOD = 2^32 6 | local MODM = MOD-1 7 | 8 | local function memoize(f) 9 | 10 | local mt = {} 11 | local t = setmetatable({}, mt) 12 | 13 | function mt:__index(k) 14 | local v = f(k) 15 | t[k] = v 16 | return v 17 | end 18 | 19 | return t 20 | end 21 | 22 | local function make_bitop_uncached(t, m) 23 | local function bitop(a, b) 24 | local res,p = 0,1 25 | while a ~= 0 and b ~= 0 do 26 | local am, bm = a%m, b%m 27 | res = res + t[am][bm]*p 28 | a = (a - am) / m 29 | b = (b - bm) / m 30 | p = p*m 31 | end 32 | res = res + (a+b) * p 33 | return res 34 | end 35 | return bitop 36 | end 37 | 38 | local function make_bitop(t) 39 | local op1 = make_bitop_uncached(t, 2^1) 40 | local op2 = memoize(function(a) 41 | return memoize(function(b) 42 | return op1(a, b) 43 | end) 44 | end) 45 | return make_bitop_uncached(op2, 2^(t.n or 1)) 46 | end 47 | 48 | -- ok? probably not if running on a 32-bit int Lua number type platform 49 | function M.tobit(x) 50 | return x % 2^32 51 | end 52 | 53 | M.bxor = make_bitop {[0]={[0]=0,[1]=1},[1]={[0]=1,[1]=0}, n=4} 54 | local bxor = M.bxor 55 | 56 | function M.bnot(a) return MODM - a end 57 | local bnot = M.bnot 58 | 59 | function M.band(a,b) return ((a+b) - bxor(a,b))/2 end 60 | local band = M.band 61 | 62 | function M.bor(a,b) return MODM - band(MODM - a, MODM - b) end 63 | local bor = M.bor 64 | 65 | local lshift, rshift -- forward declare 66 | 67 | function M.rshift(a,disp) -- Lua5.2 insipred 68 | if disp < 0 then return lshift(a,-disp) end 69 | return floor(a % 2^32 / 2^disp) 70 | end 71 | rshift = M.rshift 72 | 73 | function M.lshift(a,disp) -- Lua5.2 inspired 74 | if disp < 0 then return rshift(a,-disp) end 75 | return (a * 2^disp) % 2^32 76 | end 77 | lshift = M.lshift 78 | 79 | function M.tohex(x, n) -- BitOp style 80 | n = n or 8 81 | local up 82 | if n <= 0 then 83 | if n == 0 then return '' end 84 | up = true 85 | n = - n 86 | end 87 | x = band(x, 16^n-1) 88 | return ('%0'..n..(up and 'X' or 'x')):format(x) 89 | end 90 | local tohex = M.tohex 91 | 92 | function M.extract(n, field, width) -- Lua5.2 inspired 93 | width = width or 1 94 | return band(rshift(n, field), 2^width-1) 95 | end 96 | local extract = M.extract 97 | 98 | function M.replace(n, v, field, width) -- Lua5.2 inspired 99 | width = width or 1 100 | local mask1 = 2^width-1 101 | v = band(v, mask1) -- required by spec? 102 | local mask = bnot(lshift(mask1, field)) 103 | return band(n, mask) + lshift(v, field) 104 | end 105 | local replace = M.replace 106 | 107 | function M.bswap(x) -- BitOp style 108 | local a = band(x, 0xff); x = rshift(x, 8) 109 | local b = band(x, 0xff); x = rshift(x, 8) 110 | local c = band(x, 0xff); x = rshift(x, 8) 111 | local d = band(x, 0xff) 112 | return lshift(lshift(lshift(a, 8) + b, 8) + c, 8) + d 113 | end 114 | local bswap = M.bswap 115 | 116 | function M.rrotate(x, disp) -- Lua5.2 inspired 117 | disp = disp % 32 118 | local low = band(x, 2^disp-1) 119 | return rshift(x, disp) + lshift(low, 32-disp) 120 | end 121 | local rrotate = M.rrotate 122 | 123 | function M.lrotate(x, disp) -- Lua5.2 inspired 124 | return rrotate(x, -disp) 125 | end 126 | local lrotate = M.lrotate 127 | 128 | M.rol = M.lrotate -- LuaOp inspired 129 | M.ror = M.rrotate -- LuaOp insipred 130 | 131 | 132 | function M.arshift(x, disp) -- Lua5.2 inspired 133 | local z = rshift(x, disp) 134 | if x >= 0x80000000 then z = z + lshift(2^disp-1, 32-disp) end 135 | return z 136 | end 137 | local arshift = M.arshift 138 | 139 | function M.btest(x, y) -- Lua5.2 inspired 140 | return band(x, y) ~= 0 141 | end 142 | 143 | -- 144 | -- Start Lua 5.2 "bit32" compat section. 145 | -- 146 | 147 | M.bit32 = {} -- Lua 5.2 'bit32' compatibility 148 | 149 | 150 | local function bit32_bnot(x) 151 | return (-1 - x) % MOD 152 | end 153 | M.bit32.bnot = bit32_bnot 154 | 155 | local function bit32_bxor(a, b, c, ...) 156 | local z 157 | if b then 158 | a = a % MOD 159 | b = b % MOD 160 | z = bxor(a, b) 161 | if c then 162 | z = bit32_bxor(z, c, ...) 163 | end 164 | return z 165 | elseif a then 166 | return a % MOD 167 | else 168 | return 0 169 | end 170 | end 171 | M.bit32.bxor = bit32_bxor 172 | 173 | local function bit32_band(a, b, c, ...) 174 | local z 175 | if b then 176 | a = a % MOD 177 | b = b % MOD 178 | z = ((a+b) - bxor(a,b)) / 2 179 | if c then 180 | z = bit32_band(z, c, ...) 181 | end 182 | return z 183 | elseif a then 184 | return a % MOD 185 | else 186 | return MODM 187 | end 188 | end 189 | M.bit32.band = bit32_band 190 | 191 | local function bit32_bor(a, b, c, ...) 192 | local z 193 | if b then 194 | a = a % MOD 195 | b = b % MOD 196 | z = MODM - band(MODM - a, MODM - b) 197 | if c then 198 | z = bit32_bor(z, c, ...) 199 | end 200 | return z 201 | elseif a then 202 | return a % MOD 203 | else 204 | return 0 205 | end 206 | end 207 | M.bit32.bor = bit32_bor 208 | 209 | function M.bit32.btest(...) 210 | return bit32_band(...) ~= 0 211 | end 212 | 213 | function M.bit32.lrotate(x, disp) 214 | return lrotate(x % MOD, disp) 215 | end 216 | 217 | function M.bit32.rrotate(x, disp) 218 | return rrotate(x % MOD, disp) 219 | end 220 | 221 | function M.bit32.lshift(x,disp) 222 | if disp > 31 or disp < -31 then return 0 end 223 | return lshift(x % MOD, disp) 224 | end 225 | 226 | function M.bit32.rshift(x,disp) 227 | if disp > 31 or disp < -31 then return 0 end 228 | return rshift(x % MOD, disp) 229 | end 230 | 231 | function M.bit32.arshift(x,disp) 232 | x = x % MOD 233 | if disp >= 0 then 234 | if disp > 31 then 235 | return (x >= 0x80000000) and MODM or 0 236 | else 237 | local z = rshift(x, disp) 238 | if x >= 0x80000000 then z = z + lshift(2^disp-1, 32-disp) end 239 | return z 240 | end 241 | else 242 | return lshift(x, -disp) 243 | end 244 | end 245 | 246 | function M.bit32.extract(x, field, ...) 247 | local width = ... or 1 248 | if field < 0 or field > 31 or width < 0 or field+width > 32 then error 'out of range' end 249 | x = x % MOD 250 | return extract(x, field, ...) 251 | end 252 | 253 | function M.bit32.replace(x, v, field, ...) 254 | local width = ... or 1 255 | if field < 0 or field > 31 or width < 0 or field+width > 32 then error 'out of range' end 256 | x = x % MOD 257 | v = v % MOD 258 | return replace(x, v, field, ...) 259 | end 260 | 261 | 262 | -- 263 | -- Start LuaBitOp "bit" compat section. 264 | -- 265 | 266 | M.bit = {} -- LuaBitOp "bit" compatibility 267 | 268 | function M.bit.tobit(x) 269 | x = x % MOD 270 | if x >= 0x80000000 then x = x - MOD end 271 | return x 272 | end 273 | local bit_tobit = M.bit.tobit 274 | 275 | function M.bit.tohex(x, ...) 276 | return tohex(x % MOD, ...) 277 | end 278 | 279 | function M.bit.bnot(x) 280 | return bit_tobit(bnot(x % MOD)) 281 | end 282 | 283 | local function bit_bor(a, b, c, ...) 284 | if c then 285 | return bit_bor(bit_bor(a, b), c, ...) 286 | elseif b then 287 | return bit_tobit(bor(a % MOD, b % MOD)) 288 | else 289 | return bit_tobit(a) 290 | end 291 | end 292 | M.bit.bor = bit_bor 293 | 294 | local function bit_band(a, b, c, ...) 295 | if c then 296 | return bit_band(bit_band(a, b), c, ...) 297 | elseif b then 298 | return bit_tobit(band(a % MOD, b % MOD)) 299 | else 300 | return bit_tobit(a) 301 | end 302 | end 303 | M.bit.band = bit_band 304 | 305 | local function bit_bxor(a, b, c, ...) 306 | if c then 307 | return bit_bxor(bit_bxor(a, b), c, ...) 308 | elseif b then 309 | return bit_tobit(bxor(a % MOD, b % MOD)) 310 | else 311 | return bit_tobit(a) 312 | end 313 | end 314 | M.bit.bxor = bit_bxor 315 | 316 | function M.bit.lshift(x, n) 317 | return bit_tobit(lshift(x % MOD, n % 32)) 318 | end 319 | 320 | function M.bit.rshift(x, n) 321 | return bit_tobit(rshift(x % MOD, n % 32)) 322 | end 323 | 324 | function M.bit.arshift(x, n) 325 | return bit_tobit(arshift(x % MOD, n % 32)) 326 | end 327 | 328 | function M.bit.rol(x, n) 329 | return bit_tobit(lrotate(x % MOD, n % 32)) 330 | end 331 | 332 | function M.bit.ror(x, n) 333 | return bit_tobit(rrotate(x % MOD, n % 32)) 334 | end 335 | 336 | function M.bit.bswap(x) 337 | return bit_tobit(bswap(x % MOD)) 338 | end 339 | 340 | return M -------------------------------------------------------------------------------- /lua/modules/debug/README.md: -------------------------------------------------------------------------------- 1 | # Debug Commands Documentation 2 | This document provides a list of debug commands available in the game. Each command includes a 3 | description, syntax, and example usage, you can use these commands in the console to manipulate 4 | game objects, properties, and other aspects of the game environment. 5 | 6 | ## debug_spawn 7 | 8 | **Description** 9 | Attempt to spawn any object in the map. 10 | 11 | **Syntax** 12 | ```c 13 | void debug_spawn(string tagClass, string tagKeyword) 14 | ``` 15 | **Example** 16 | ```lisp 17 | debug_spawn weapon pistol 18 | debug_spawn vehicle warthog 19 | ; You can also use the full tag path 20 | debug_spawn vehicle vehicles\warthog\warthog 21 | ``` 22 | 23 | --- 24 | 25 | ## debug_tags_list 26 | 27 | **Description** 28 | List all tags of the specified class, optionally filtered by name. 29 | 30 | **Syntax** 31 | ```c 32 | void debug_tags_list(string tagClass, string tagName) 33 | ``` 34 | **Example** 35 | ```lisp 36 | debug_tags_list vehicle 37 | debug_tags_list vehicle warthog 38 | debug_tags_list weapon pistol 39 | debug_tags_list weapon weapons\pistol 40 | ``` 41 | 42 | --- 43 | 44 | ## debug_player_animation 45 | 46 | **Description** 47 | Play the specified animation index on the player biped. 48 | 49 | **Syntax** 50 | ```c 51 | void debug_player_animation(int animIndex) 52 | ``` 53 | 54 | --- 55 | 56 | ## debug_player_speed 57 | 58 | **Description** 59 | Set the player movement speed. 60 | 61 | **Syntax** 62 | ```c 63 | void debug_player_speed(float speed) 64 | ``` 65 | 66 | --- 67 | 68 | ## debug_object_property 69 | 70 | **Description** 71 | Get or set the specified object property. 72 | 73 | **Syntax** 74 | ```c 75 | void debug_object_property(int objectIndex, string property, string value) 76 | ``` 77 | 78 | --- 79 | 80 | ## debug_object_names 81 | 82 | **Description** 83 | List all object names in the scenario, optionally filtered by name. 84 | 85 | **Syntax** 86 | ```c 87 | void debug_object_names(string objectName) 88 | ``` 89 | 90 | --- 91 | 92 | ## debug_open_widget 93 | 94 | **Description** 95 | Open the specified widget. 96 | 97 | **Syntax** 98 | ```c 99 | void debug_open_widget(string tagKeyword) 100 | ``` 101 | **Example** 102 | ```lisp 103 | debug_open_widget main_menu 104 | debug_open_widget settings_menu 105 | ``` 106 | 107 | --- 108 | 109 | ## debug_list_objects 110 | 111 | **Description** 112 | List all objects in the map. 113 | 114 | **Syntax** 115 | ```c 116 | void debug_list_objects() 117 | ``` 118 | 119 | --- 120 | 121 | ## debug_tag_count 122 | 123 | **Description** 124 | Print the number of tags in the map. 125 | 126 | **Syntax** 127 | ```c 128 | void debug_tag_count() 129 | ``` 130 | 131 | --- 132 | 133 | ## debug_delete_object 134 | 135 | **Description** 136 | Delete the specified object. 137 | 138 | **Syntax** 139 | ```c 140 | void debug_delete_object(int objectIndex) 141 | ``` 142 | 143 | --- 144 | 145 | ## debug_network_objects 146 | 147 | **Description** 148 | Print all network objects in the map or get information about the specified object. 149 | 150 | **Syntax** 151 | ```c 152 | void debug_network_objects(int syncedIndex) 153 | ``` 154 | 155 | --- 156 | 157 | ## debug_player_property 158 | 159 | **Description** 160 | Get or set the specified player property. 161 | 162 | **Syntax** 163 | ```c 164 | void debug_player_property(string property, string value) 165 | ``` 166 | 167 | --- 168 | 169 | ## debug_teleport_to_object 170 | 171 | **Description** 172 | Teleport the player to the specified object. 173 | 174 | **Syntax** 175 | ```c 176 | void debug_teleport_to_object(int objectIndex) 177 | ``` 178 | 179 | --- 180 | 181 | ## debug_game_objects 182 | 183 | **Description** 184 | Enable or disable the debug game objects information on the screen. 185 | 186 | **Syntax** 187 | ```c 188 | void debug_game_objects(bool enable) 189 | ``` 190 | 191 | --- 192 | 193 | ## debug_assign_weapon 194 | 195 | **Description** 196 | Assign the specified weapon to the specified object. 197 | 198 | **Syntax** 199 | ```c 200 | void debug_assign_weapon(int objectIndex, int weaponObjectIndex) 201 | ``` 202 | 203 | --- 204 | 205 | ## debug_enter_vehicle 206 | 207 | **Description** 208 | Make the specified object enter the specified vehicle. 209 | 210 | **Syntax** 211 | ```c 212 | void debug_enter_vehicle(int objectIndex, int vehicleObjectIndex) 213 | ``` 214 | 215 | --- 216 | 217 | ## debug_exit_vehicle 218 | 219 | **Description** 220 | Make specified object exit any vehicle it is in. 221 | 222 | **Syntax** 223 | ```c 224 | void debug_exit_vehicle(int objectIndex) 225 | ``` 226 | 227 | --- 228 | 229 | ## debug_add_weapon_to_inventory 230 | 231 | **Description** 232 | Add the specified weapon to the player's inventory. 233 | 234 | **Syntax** 235 | ```c 236 | void debug_add_weapon_to_inventory(int unitIndex, int weaponObjectIndex, int action) 237 | ``` 238 | 239 | --- 240 | 241 | ## debug_player_add_weapon_to_inventory 242 | 243 | **Description** 244 | Add the specified weapon to the player's inventory. 245 | 246 | **Syntax** 247 | ```c 248 | void debug_player_add_weapon_to_inventory(int weaponObjectIndex, int action) 249 | ``` 250 | 251 | --- 252 | 253 | ## debug_delete_all_weapons 254 | 255 | **Description** 256 | Delete all weapons in the map. 257 | 258 | **Syntax** 259 | ```c 260 | void debug_delete_all_weapons() 261 | ``` 262 | 263 | --- 264 | 265 | ## debug_object_attach_to_marker 266 | 267 | **Description** 268 | Attach the specified object to the specified marker. 269 | 270 | **Syntax** 271 | ```c 272 | void debug_object_attach_to_marker(int objectIndex, string marker, int attachmentIndex, string attachmentMarker) 273 | ``` 274 | 275 | --- 276 | 277 | ## debug_advanced_camera 278 | 279 | **Description** 280 | Enable advanced camera mode. 281 | 282 | **Syntax** 283 | ```c 284 | void debug_advanced_camera(bool enable) 285 | ``` 286 | 287 | --- 288 | 289 | ## debug_game_data 290 | 291 | **Description** 292 | Enable printing useful debug game data on the screen. 293 | 294 | **Syntax** 295 | ```c 296 | void debug_game_data(bool enable) 297 | ``` -------------------------------------------------------------------------------- /lua/modules/debug/game.lua: -------------------------------------------------------------------------------- 1 | local blam = require "blam" 2 | local sqrt = math.sqrt 3 | local abs = math.abs 4 | local floor = math.floor 5 | local ceil = math.ceil 6 | local find = string.find 7 | local pi = math.pi 8 | local atan = math.atan 9 | local tan = math.tan 10 | local sin = math.sin 11 | local cos = math.cos 12 | local rad = math.rad 13 | 14 | local engine = {} 15 | 16 | --- Returns a new 3D vector 17 | ---@param x? number 18 | ---@param y? number 19 | ---@param z? number 20 | ---@return vector3D 21 | local function new3dVector(x, y, z) 22 | return {x = x or 0, y = y or 0, z = z or 0} 23 | end 24 | 25 | local function new4x4Matrix() 26 | return {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 27 | end 28 | 29 | local function len(a) 30 | return sqrt(a.x * a.x + a.y * a.y + a.z * a.z) 31 | end 32 | 33 | local function multiplyVector4(out, a, b) 34 | local tv4 = {0, 0, 0, 0} 35 | tv4[1] = b[1] * a[1] + b[2] * a[5] + b[3] * a[9] + b[4] * a[13] 36 | tv4[2] = b[1] * a[2] + b[2] * a[6] + b[3] * a[10] + b[4] * a[14] 37 | tv4[3] = b[1] * a[3] + b[2] * a[7] + b[3] * a[11] + b[4] * a[15] 38 | tv4[4] = b[1] * a[4] + b[2] * a[8] + b[3] * a[12] + b[4] * a[16] 39 | 40 | for i = 1, 4 do 41 | out[i] = tv4[i] 42 | end 43 | 44 | return out 45 | end 46 | 47 | local function cross(a, b) 48 | return new3dVector(a.y * b.z - a.z * b.y, a.z * b.x - a.x * b.z, a.x * b.y - a.y * b.x) 49 | end 50 | 51 | local function project(x, y, z, view, projection, viewport) 52 | local position = {x, y, z, 1} 53 | 54 | multiplyVector4(position, view, position) 55 | multiplyVector4(position, projection, position) 56 | 57 | if position[4] ~= 0 then 58 | position[1] = position[1] / position[4] * 0.5 + 0.5 59 | position[2] = position[2] / position[4] * 0.5 + 0.5 60 | position[3] = position[3] / position[4] * 0.5 + 0.5 61 | end 62 | 63 | position[1] = position[1] * viewport[3] + viewport[1] 64 | position[2] = position[2] * viewport[4] + viewport[2] 65 | return position[1], position[2], position[3] 66 | end 67 | 68 | local function scale(a, b) 69 | return new3dVector(a.x * b, a.y * b, a.z * b) 70 | end 71 | 72 | local function isZero(a) 73 | return a.x == 0 and a.y == 0 and a.z == 0 74 | end 75 | 76 | local function normalizeValue(a) 77 | if isZero(a) then 78 | return new3dVector() 79 | end 80 | return scale(a, (1 / len(a))) 81 | end 82 | 83 | local function fromPerspective(verticalFov, aspect, near, far) 84 | assert(aspect ~= 0) 85 | assert(near ~= far) 86 | 87 | local t = tan(rad(verticalFov) / 2) 88 | local out = new4x4Matrix() 89 | out[1] = 1 / (t * aspect) 90 | out[6] = 1 / t 91 | out[11] = -(far + near) / (far - near) 92 | out[12] = -1 93 | out[15] = -(2 * far * near) / (far - near) 94 | out[16] = 0 95 | 96 | return out 97 | end 98 | 99 | --- Returns a new 4x4 matrix 100 | ---@param out table 101 | ---@param eye vector3D 102 | ---@param look vector3D 103 | ---@param up vector3D 104 | ---@return table 105 | local function lookAt(out, eye, look, up) 106 | eye.x = eye.x - look.x 107 | eye.y = eye.y - look.y 108 | eye.z = eye.z - look.z 109 | local zAxis = normalizeValue(eye) 110 | local xAxis = normalizeValue(cross(up, zAxis)) 111 | local yAxis = cross(zAxis, xAxis) 112 | out[1] = xAxis.x 113 | out[2] = yAxis.x 114 | out[3] = zAxis.x 115 | out[4] = 0 116 | out[5] = xAxis.y 117 | out[6] = yAxis.y 118 | out[7] = zAxis.y 119 | out[8] = 0 120 | out[9] = xAxis.z 121 | out[10] = yAxis.z 122 | out[11] = zAxis.z 123 | out[12] = 0 124 | out[13] = 0 125 | out[14] = 0 126 | out[15] = 0 127 | out[16] = 1 128 | 129 | return out 130 | end 131 | 132 | --- Returns the vertical field of view 133 | ---@param fov number 134 | ---@return number 135 | function engine.getVerticalFov(fov) 136 | local fov = fov * 180 / pi 137 | local verticalFov = atan(tan(fov * pi / 360) * (1 / blam.getScreenData().aspectRatio)) * 360 / 138 | pi 139 | return verticalFov 140 | end 141 | 142 | --- Returns the distance between two 3D vectors 143 | ---@param v1 vector3D 144 | ---@param v2 vector3D 145 | ---@return number 146 | function engine.getVectorsDistance(v1, v2) 147 | local dx = v1.x - v2.x 148 | local dy = v1.y - v2.y 149 | local dz = v1.z - v2.z 150 | return sqrt(dx * dx + dy * dy + dz * dz) 151 | end 152 | 153 | --- Returns projected 3D coordinates to screen space 154 | ---@param x number 155 | ---@param y number 156 | ---@param z number 157 | ---@param eyeX number 158 | ---@param eyeY number 159 | ---@param eyeZ number 160 | ---@param lookX number 161 | ---@param lookY number 162 | ---@param lookZ number 163 | ---@param verticalFov number 164 | ---@return number screenSpaceX, number screenSpaceY, number screenSpaceZ 165 | function engine.worldCoordinatesToScreenSpace(x, 166 | y, 167 | z, 168 | eyeX, 169 | eyeY, 170 | eyeZ, 171 | lookX, 172 | lookY, 173 | lookZ, 174 | verticalFov) 175 | local viewXY = 0 176 | local viewWidth = 1 -- 1.12 177 | local viewHeight = 1 -- 1.12 178 | 179 | local view = new4x4Matrix() 180 | local eye = {x = eyeX, y = eyeY, z = eyeZ} 181 | local look = {x = lookX, y = lookY, z = lookZ} 182 | local up = {x = 0, y = 0, z = 1} 183 | 184 | local aspect = blam.getScreenData().aspectRatio 185 | local near = 0.000001 186 | local far = 1000000 187 | 188 | view = lookAt(view, eye, look, up) 189 | local projection = fromPerspective(verticalFov, aspect, near, far) 190 | local viewport = {viewXY, viewXY, viewWidth, viewHeight} 191 | 192 | --return project(x, y, z, view, projection, viewport) 193 | return engine.screenSpaceToCoordinates(project(x, y, z, view, projection, viewport)) 194 | end 195 | 196 | --- Returns screen space converted coordinates from screen space 197 | ---@param screenSpaceX number 198 | ---@param screenSpaceY number 199 | ---@param screenSpaceZ number 200 | ---@return number x, number y, number z 201 | function engine.screenSpaceToCoordinates(screenSpaceX, screenSpaceY, screenSpaceZ) 202 | -- Convert to screen space coordinates 203 | local x = -floor((50 - screenSpaceX * 100) * 6.4) 204 | local y = floor((50 - screenSpaceY * 100) * 4.9) + 200 205 | local z = screenSpaceZ 206 | return x, y, z 207 | end 208 | 209 | return engine 210 | -------------------------------------------------------------------------------- /lua/tools/scripts/sceneryMapper.lua: -------------------------------------------------------------------------------- 1 | local tag = require "tools.modules.tag" 2 | local inspect = require "inspect" 3 | require "modules.luna" 4 | 5 | local scenarioPath = arg[1] 6 | 7 | local sceneryPalette = {} 8 | local scenerys = {} 9 | local sceneryProps = {"type", "position", "rotation"} 10 | 11 | -- Get scenery palette 12 | local sceneryPaletteCount = tag.count(scenarioPath, "scenery_palette") 13 | for i = 0, sceneryPaletteCount - 1 do 14 | table.insert(sceneryPalette, tag.get(scenarioPath, "scenery_palette", i, "name")) 15 | end 16 | 17 | -- Get scenerys 18 | local sceneryCount = tag.count(scenarioPath, "scenery") 19 | for sceneryIndex = 0, sceneryCount - 1 do 20 | local scenery = {} 21 | for _, prop in ipairs(sceneryProps) do 22 | 23 | scenery[prop] = tag.get(scenarioPath, "scenery", sceneryIndex, prop) --[[@as string]] 24 | if prop == "type" then 25 | scenery.type = sceneryPalette[tonumber(scenery.type)] 26 | elseif prop == "position" then 27 | ---@type string 28 | local elements = scenery[prop] 29 | local values = elements:split(",") 30 | scenery[prop] = {x = values[1], y = values[2], z = values[3]} 31 | elseif prop == "rotation" then 32 | ---@type string 33 | local elements = scenery[prop] 34 | local values = elements:split(",") 35 | scenery[prop] = {y = values[1], p = values[2], r = values[3]} 36 | end 37 | end 38 | table.insert(scenerys, scenery) 39 | end 40 | 41 | print(inspect(scenerys)) 42 | -------------------------------------------------------------------------------- /lua/tools/tag.lua: -------------------------------------------------------------------------------- 1 | -- Tag creator/editor module 2 | -- This module is a wrapper for invader-edit to create and edit tags 3 | local glue = require "lua.modules.glue" 4 | 5 | local tag = {} 6 | 7 | local editCmd = [[invader-edit "%s"]] 8 | local countCmd = [[invader-edit "%s" -C %s]] 9 | local getCmd = [[invader-edit "%s" -G %s]] 10 | local insertCmd = [[invader-edit "%s" -I %s %s %s]] 11 | local createCmd = [[invader-edit "%s" -N]] 12 | local eraseCmd = [[invader-edit "%s" -E %s]] 13 | 14 | function nulled(value) 15 | if (tonumber(value)) then 16 | value = tonumber(value) 17 | if (value == 0xFF or value == 0xFFFF or value == 0xFFFFFFFF or value == nil) then 18 | return nil 19 | end 20 | end 21 | return value 22 | end 23 | 24 | --- Build properties assignment type to invader string parameter 25 | local function writeMapFields(key, value) 26 | local valueType = type(value) 27 | if (valueType ~= "table") then 28 | -- print(field .. " = " .. tostring(value)) 29 | end 30 | -- Text property 31 | if (valueType == "string") then 32 | return (" -S %s \"%s\""):format(key, tostring(value)) 33 | -- Boolean property 34 | elseif (valueType == "boolean") then 35 | if (value) then 36 | return (" -S %s %s"):format(key, 1) 37 | end 38 | return (" -S %s %s"):format(key, 0) 39 | -- Number property 40 | elseif (valueType == "number") then 41 | return (" -S %s %s"):format(key, tostring(value)) 42 | -- Table 43 | elseif (valueType == "table") then 44 | local sentence = "" 45 | for subField, subValue in pairs(value) do 46 | if (tonumber(subField)) then 47 | sentence = sentence .. 48 | writeMapFields((key .. "[%s]"):format(subField - 1), subValue) 49 | else 50 | sentence = sentence .. writeMapFields(key .. "." .. subField, subValue) 51 | end 52 | end 53 | return sentence 54 | else 55 | print(key) 56 | error("Unknown property type!") 57 | end 58 | end 59 | 60 | local function createKeys(keys, value) 61 | local valueType = type(value) 62 | if (valueType ~= "table") then 63 | -- print("Writting " .. keys .. " = " .. tostring(value)) 64 | end 65 | -- Text property 66 | if (valueType == "string") then 67 | -- FIXME Split button index asignation via keyword without string formatting 68 | return (" -S %s \"%s\""):format(keys, tostring(value)) 69 | -- Boolean property 70 | elseif (valueType == "boolean") then 71 | if (value) then 72 | return (" -S %s %s"):format(keys, 1) 73 | end 74 | return (" -S %s %s"):format(keys, 0) 75 | -- Number property 76 | elseif (valueType == "number") then 77 | return (" -S %s %s"):format(keys, tostring(value)) 78 | -- Table 79 | elseif (valueType == "table" and #value == 0) then 80 | local sentence = "" 81 | for subField, subValue in pairs(value) do 82 | sentence = sentence .. createKeys(keys .. "." .. subField, subValue) 83 | end 84 | return sentence 85 | -- Array 86 | elseif (valueType == "table" and #value > 0) then 87 | -- Reserve elements space 88 | local sentence = (" -I %s %s end"):format(keys, #value) 89 | for elementIndex, subValue in ipairs(value) do 90 | sentence = sentence .. createKeys((keys .. "[%s]"):format(elementIndex - 1), subValue) 91 | end 92 | return sentence 93 | else 94 | print(keys) 95 | error("Unknown property type!") 96 | end 97 | end 98 | 99 | --- Set properties to tag 100 | ---@param tagPath string Path to tag 101 | ---@param keys any 102 | function tag.edit(tagPath, keys) 103 | print("Editing: " .. tagPath) 104 | local updateTagCmd = editCmd:format(tagPath) 105 | glue.map(keys, function(property, value) 106 | updateTagCmd = updateTagCmd .. writeMapFields(property, value) 107 | end) 108 | if os.execute(updateTagCmd) then 109 | return true 110 | end 111 | error("Error at editing: " .. tagPath) 112 | end 113 | 114 | ---Get a value from a tag given key 115 | ---@param tagPath string 116 | ---@param key string 117 | ---@param index? number 118 | ---@param subkey? string 119 | ---@return string | number | nil 120 | function tag.get(tagPath, key, index, subkey) 121 | local cmd = getCmd:format(tagPath, key) 122 | if (index) then 123 | cmd = getCmd:format(tagPath, key .. "[" .. index .. "]") 124 | if (subkey) then 125 | cmd = getCmd:format(tagPath, key .. "[" .. index .. "]." .. (subkey or "")) 126 | end 127 | end 128 | local pipe = io.popen(cmd) 129 | assert(pipe, "Error at attempting to read: " .. tagPath .. " " .. key) 130 | local value = pipe:read("*a") 131 | if not pipe:close() then 132 | print("Attempting to read:") 133 | print(tagPath, key, index, subkey) 134 | error(value) 135 | end 136 | return nulled(glue.string.trim(value)) 137 | end 138 | 139 | ---Count entries from a tag given key 140 | ---@param tagPath any 141 | ---@param key any 142 | ---@return number 143 | function tag.count(tagPath, key) 144 | local pipe = io.popen(countCmd:format(tagPath, key)) 145 | assert(pipe, "Error at attempting to count: " .. tagPath .. " " .. key) 146 | local value = pipe:read("*a") 147 | if not pipe:close() then 148 | print("Attempting to count:") 149 | print(tagPath, key) 150 | error(value) 151 | end 152 | return tonumber(value) --[[@as number]] 153 | end 154 | 155 | ---Erase structure from a tag given key 156 | ---@param tagPath any 157 | ---@param key any 158 | ---@return boolean 159 | function tag.erase(tagPath, key) 160 | if os.execute(eraseCmd:format(tagPath, key)) then 161 | return true 162 | end 163 | error("Error at attempting to erase: " .. tagPath .. " " .. key) 164 | end 165 | 166 | ---Insert a quantity of structs to specific key 167 | ---@param tagPath string 168 | ---@param key string 169 | ---@param count number 170 | ---@param position? number | '"end"' 171 | function tag.insert(tagPath, key, count, position) 172 | if os.execute(insertCmd:format(tagPath, key, count, position or 0)) then 173 | return true 174 | end 175 | error("Error at attempting to insert: " .. tagPath .. " " .. key) 176 | end 177 | 178 | ---Create a new tag with specified keys 179 | ---@param tagPath string 180 | ---@param keys any 181 | function tag.create(tagPath, keys) 182 | print("Creating: " .. tagPath) 183 | -- Create widget from scratch 184 | local createTagCmd = createCmd:format(tagPath) 185 | glue.map(keys, function(property, value) 186 | createTagCmd = createTagCmd .. createKeys(property, value) 187 | end) 188 | if os.execute(createTagCmd) then 189 | return true 190 | end 191 | error("Error at creating tag: " .. tagPath) 192 | end 193 | 194 | return tag 195 | -------------------------------------------------------------------------------- /lua/tools/ustr.lua: -------------------------------------------------------------------------------- 1 | -- Create unicode string list tag, given a string list 2 | -- Sledmine 3 | -- Full string length and UTF-16 support 4 | package.path = package.path .. ";lua/modules/?.lua" 5 | require "lua.modules.compat53.init" 6 | local utf8string = require "lua.modules.utf8string" 7 | require "lua.modules.unicode" 8 | -- local crc32 = require "lua.scripts.modules.crc32" 9 | 10 | local function padding(length) 11 | return string.rep("\0", length) 12 | end 13 | 14 | local function byte(value) 15 | return string.char(value) 16 | end 17 | 18 | ---Map a value as a dword 19 | ---@param value any 20 | ---@return string 21 | local function dword(value) 22 | return string.pack(">I", value) 23 | end 24 | 25 | ---Create unicode string list tag 26 | ---@param strings string[] 27 | ---@return string? 28 | local function ustr(tagPath, strings) 29 | local outputTagPath = "tags/" .. tagPath 30 | local stringTag = io.open(outputTagPath, "wb") 31 | if stringTag then 32 | print("Creating USTR: " .. tagPath) 33 | 34 | stringTag:write(padding(36)) 35 | -- Tag class/group 36 | stringTag:write("ustr") 37 | -- CRC32 checksum 38 | stringTag:write("\xFF\xFF\xFF\xFF") 39 | stringTag:write(padding(3)) 40 | -- Unknown 41 | stringTag:write(byte(0x40)) 42 | stringTag:write(padding(9)) 43 | -- Unknown 44 | stringTag:write(byte(0x1)) 45 | stringTag:write(padding(1)) 46 | -- Unknown 47 | stringTag:write(byte(0xFF)) 48 | -- Engine target 49 | stringTag:write("blam") 50 | -- Strings quantity 51 | stringTag:write(dword(#strings)) 52 | stringTag:write(padding(8)) 53 | -- Tag body 54 | 55 | -- Generate string indexes 56 | for _, str in ipairs(strings) do 57 | local ustring = utf8string(str) 58 | local unicodeStringSize = (#ustring * 2) + 2 59 | stringTag:write(dword(unicodeStringSize)) 60 | stringTag:write(padding(16)) 61 | end 62 | -- Generate unicode strings 63 | for _, str in ipairs(strings) do 64 | local ustring = utf8string(str) 65 | stringTag:write(utf8to16(tostring(ustring))) 66 | stringTag:write(padding(2)) 67 | end 68 | -- TODO Add real tag checksum calculation 69 | -- local tagBody = table.concat(tag, "", 10) 70 | -- local crc = crc32(tagBody) 71 | -- print(crc) 72 | -- tag[3] = glue.string.fromhex(tostring(crc)) 73 | 74 | stringTag:close() 75 | return tagPath 76 | end 77 | error("Could not create USTR tag") 78 | end 79 | 80 | return ustr 81 | -------------------------------------------------------------------------------- /tests/chimera-test.lua: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------------ 2 | -- Chimera Test 3 | -- Sledmine, JerryBrick 4 | -- This script must run perfectly in stock Bloodgulch!! 5 | ------------------------------------------------------------------------------ 6 | clua_version = 2.042 7 | 8 | local lu = require "luaunit" 9 | local blam = require "blam" 10 | local glue = require "glue" 11 | local inspect = require "inspect" 12 | 13 | -- Mocked function to redirect print calls to test print 14 | local function tprint(message, ...) 15 | if (message) then 16 | message = tostring(message) 17 | if (message:find("Starting")) then 18 | console_out(message) -- CHANGE THIS TO CONSOLE OUT WITH COLORS! 19 | return 20 | end 21 | console_out(message) 22 | end 23 | end 24 | 25 | function OnCommand(command) 26 | if (command == "ctest") then 27 | local runner = lu.LuaUnit.new() 28 | runner:setOutputType("junit", "chimera_tests_results") 29 | runner:runSuite() 30 | return false 31 | end 32 | end 33 | 34 | set_callback("command", "OnCommand") 35 | 36 | ----------------- Functions Tests ----------------------- 37 | 38 | testFunctions = {} 39 | 40 | function testFunctions:testGetDynamicPlayer() 41 | local memoryResult = get_dynamic_player() 42 | lu.assertNotIsNil(memoryResult) 43 | end 44 | 45 | function testFunctions:testGetDynamicPlayerBlamValue() 46 | local memoryResult = get_dynamic_player() 47 | local player = blam.biped(memoryResult) 48 | lu.assertEquals(player.zoomLevel, 255) 49 | end 50 | 51 | function testFunctions:testReadFile() 52 | local testFile = read_file("test.txt") 53 | local testJson = read_file("test.json") 54 | lu.assertEquals(testFile, "This is a test text") 55 | lu.assertEquals(testJson, "{\"test\":\"This is a text property\"}") 56 | end 57 | 58 | function testFunctions:testWriteFile() 59 | local writeText = "This is another test text" 60 | write_file("write.txt", writeText) 61 | local writeResult = read_file("write.txt") 62 | lu.assertEquals(writeText, writeResult) 63 | end 64 | 65 | ----------------- Objects Tests ----------------------- 66 | 67 | testObjects = {} 68 | 69 | function testObjects:testObjectsSpawnAndDelete() 70 | local objectResult = false 71 | local objectId = spawn_object("biped", "characters\\cyborg_mp\\cyborg_mp", 31, -82, 0.061) 72 | lu.assertNotIsNil(objectId) 73 | delete_object(objectId) 74 | end 75 | 76 | -- Mocked arguments and executions for standalone execution and in game execution 77 | if (not arg) then 78 | arg = {"-v"} 79 | -- bprint = print 80 | print = tprint 81 | end 82 | -------------------------------------------------------------------------------- /testsBundle.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Blam Tests", 3 | "target": "lua53", 4 | "include": [ 5 | "./", 6 | "lua/modules/", 7 | "tests/" 8 | ], 9 | "modules": [ 10 | "glue", 11 | "blam", 12 | "inspect", 13 | "luaunit" 14 | ], 15 | "main": "blam-test", 16 | "output": "dist/blam-tests.lua" 17 | } --------------------------------------------------------------------------------