Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion build/engine-enums/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ export async function generateEngineEnums(dota2Dir: string) {
const selectedStrings = (prefix ? strings.filter((x) => x.startsWith(prefix)) : strings)
.filter((x) => !x.includes(' ') && !x.endsWith('_TYPES') && !x.endsWith('_TYPE'))
.filter(filter);
if (selectedStrings.length === 0) throw new Error(`Enum "${name}" has no matching values.`);
if (selectedStrings.length === 0) {
console.warn(`[Warning] Enum "${name}" has no matching values in server.dll. Skipping...`);
return { name, members: [] };
}

for (const string of selectedStrings) {
if (usedStrings.has(string)) {
Expand Down
6 changes: 5 additions & 1 deletion build/vscripts/api/data/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,11 @@ export const extraDeclarations = (() => {
name: 'DeepPrintTable',
description: 'Print out a table (and subtables) to the console.',
available: 'both',
args: [{ name: 'table', types: ['table', 'nil'] }],
args: [
{ name: 'table', types: ['table', 'nil'] },
{ name: 'prefix', types: ['string', 'nil'] },
{ name: 'chaseMetaTables', types: ['boolean', 'nil'] },
],
returns: ['nil'],
});

Expand Down
3,785 changes: 1,962 additions & 1,823 deletions dumper/dump

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions dumper/start-dumper.mts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ if (!fs.existsSync(addonPath)) {
}

const vscriptsPath = path.join(addonPath, 'scripts', 'vscripts');
fs.mkdirSync(vscriptsPath, { recursive: true });
fs.copyFileSync(
path.join('dumper', 'addon_game_mode.lua'),
path.join(vscriptsPath, 'addon_game_mode.lua'),
Expand Down
43 changes: 25 additions & 18 deletions files/engine-enums.json
Original file line number Diff line number Diff line change
Expand Up @@ -1827,6 +1827,22 @@
"name": "ACT_DOTA_KINETIC_FIELD",
"shortName": "DOTA_KINETIC_FIELD"
},
{
"name": "ACT_DOTA_LARGO_ULT_STRUM_FAIL",
"shortName": "DOTA_LARGO_ULT_STRUM_FAIL"
},
{
"name": "ACT_DOTA_LARGO_ULT_STRUM_SUCCESS",
"shortName": "DOTA_LARGO_ULT_STRUM_SUCCESS"
},
{
"name": "ACT_DOTA_LARGO_ULT_TOGGLE_OFF",
"shortName": "DOTA_LARGO_ULT_TOGGLE_OFF"
},
{
"name": "ACT_DOTA_LARGO_ULT_TOGGLE_ON",
"shortName": "DOTA_LARGO_ULT_TOGGLE_ON"
},
{
"name": "ACT_DOTA_LASSO_LOOP",
"shortName": "DOTA_LASSO_LOOP"
Expand Down Expand Up @@ -6466,6 +6482,14 @@
"name": "DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT",
"shortName": "DONT_RESUME_MOVEMENT"
},
{
"name": "DOTA_ABILITY_BEHAVIOR_FORCE_KEYBIND",
"shortName": "FORCE_KEYBIND"
},
{
"name": "DOTA_ABILITY_BEHAVIOR_FORCE_NO_INNATE_UI",
"shortName": "FORCE_NO_INNATE_UI"
},
{
"name": "DOTA_ABILITY_BEHAVIOR_FREE_DRAW_TARGETING",
"shortName": "FREE_DRAW_TARGETING"
Expand Down Expand Up @@ -6692,24 +6716,7 @@
},
{
"name": "AbilityType",
"members": [
{
"name": "DOTA_ABILITY_TYPE_ATTRIBUTES",
"shortName": "ATTRIBUTES"
},
{
"name": "DOTA_ABILITY_TYPE_BASIC",
"shortName": "BASIC"
},
{
"name": "DOTA_ABILITY_TYPE_HIDDEN",
"shortName": "HIDDEN"
},
{
"name": "DOTA_ABILITY_TYPE_ULTIMATE",
"shortName": "ULTIMATE"
}
]
"members": []
},
{
"name": "BotItemType",
Expand Down
38 changes: 38 additions & 0 deletions files/events.json
Original file line number Diff line number Diff line change
Expand Up @@ -5246,6 +5246,25 @@
}
]
},
{
"name": "dota_unit_aghshard_status_change",
"sourceFile": "game",
"local": false,
"fields": [
{
"name": "entindex",
"type": "EntityIndex"
},
{
"name": "has_scepter",
"type": "bool"
},
{
"name": "has_shard",
"type": "bool"
}
]
},
{
"name": "npc_spawned",
"sourceFile": "game",
Expand Down Expand Up @@ -5353,5 +5372,24 @@
"type": "EntityIndex"
}
]
},
{
"name": "dota_ancient_decoration_event",
"sourceFile": "game",
"local": false,
"fields": [
{
"name": "entindex",
"type": "EntityIndex"
},
{
"name": "teamnumber",
"type": "int"
},
{
"name": "eventname",
"type": "string"
}
]
}
]
21 changes: 18 additions & 3 deletions files/panorama/css.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@
"description": "<Needs a description>",
"examples": []
},
"animation-frame-time": {
"description": "<Needs a description>",
"examples": []
},
"animation-iteration-count": {
"description": "<Needs a description>",
"examples": []
Expand Down Expand Up @@ -442,9 +446,9 @@
"examples": []
},
"img-shadow": {
"description": "Specifies image shadows. The shadow shape will match the image the panel can generate,and this is only meaningful for images. Syntax takes horizontal offset pixels, vertical offset pixels, blur radius pixels, strength, and then shadow color.",
"description": "Specifies image shadows. The shadow shape will match the image the panel can generate,and this is only meaningful for images. Syntax takes horizontal offset pixels, vertical offset pixels, blur radius pixels, strength, shadow color and then an optional texture sample mode (alpha-only, legacy, or point).",
"examples": [
"img-shadow: 2px 2px 8px 3.0 #333333b0;"
"img-shadow: 2px 2px 8px 3.0 #333333b0 alpha-only;"
]
},
"layout-position": {
Expand Down Expand Up @@ -515,7 +519,7 @@
]
},
"opacity-mask": {
"description": "Applies an image as an opacity mask that stretches to the panel bounds and fades out it's content based on the alpha channel. The second float value is an optional opacity value for the mask itself, the image won't interpolate/cross-fade, but you can animate the opacity to fade the mask in/out. <b>Examples:</b><pre>opacity-mask: url( \"file://{images}/upper_row_mask.tga\" );\nopacity-mask: url( \"file://{images}/upper_row_mask.tga\" ) 0.5;\nopacity-mask: url( \"file://{images}/upper_row_mask.tga\" ) -1.0;\nopacity-mask-position: 5px 50%;\nopacity-mask-scale: 200%;\nopacity-mask-scale: 50% 100%;\n</pre>",
"description": "Applies an image as an opacity mask that stretches to the panel bounds and fades out it's content based on the alpha channel. The second float value is an optional opacity value for the mask itself, the image won't interpolate/cross-fade, but you can animate the opacity to fade the mask in/out. opacity-mask-threshold lets you specify a threshold and softness percentage of how the mask is applied. Below the threshold, pixels are fully transparent, and above the threshold pixels are fully opaque. The softness lets you apply a range during which the opacity is scaled by the alpha from the mask.<b>Examples:</b><pre>opacity-mask: url( \"file://{images}/upper_row_mask.tga\" );\nopacity-mask: url( \"file://{images}/upper_row_mask.tga\" ) 0.5;\nopacity-mask: url( \"file://{images}/upper_row_mask.tga\" ) -1.0;\nopacity-mask-position: 5px 50%;\nopacity-mask-scale: 200%;\nopacity-mask-scale: 50% 100%;\nopacity-mask-threshold: 0% 30%;\n</pre>",
"examples": []
},
"opacity-mask-position": {
Expand All @@ -526,6 +530,10 @@
"description": "",
"examples": []
},
"opacity-mask-threshold": {
"description": "",
"examples": []
},
"overflow": {
"description": "Specifies what to do with contents that overflow the available space for the panel. Possible values:\n\"squish\" - Children are squished to fit within the panel's bounds if needed (default)\n\"clip\" - Children maintain their desired size but their contents are clipped\n\"scroll\" - Children maintain their desired size and a scrollbar is added to this panel\n\n\"noclip\" - Children maintain their desired size and content is allowed to overflow this panel",
"examples": [
Expand Down Expand Up @@ -707,6 +715,13 @@
"transition-duration: 2.0s, 1.2s, 1.2s, 4.0s, 2.0s;"
]
},
"transition-frame-time": {
"description": "Specifies a fixed time between frames in order to simulate a lower framerate for stylistic reasons. Default is 0s.",
"examples": [
"transition-frame-time: 0.2s;",
"transition-frame-time: 0.2s, 0.0s;"
]
},
"transition-high-framerate": {
"description": "Specifies the desire for higher framerate during this transition, if we have control.",
"examples": [
Expand Down
Loading