├── .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):
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 | }
--------------------------------------------------------------------------------