reverseport 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -26
- package/THIRD_PARTY_NOTICES.md +1 -0
- package/bin/reverseport.mjs +13 -1
- package/dist/generatedPackageMetadata.js +1 -1
- package/licenses/README.md +1 -0
- package/licenses/godot-engine-MIT.txt +20 -0
- package/native/windows/build/manifest.json +1 -1
- package/package.json +1 -1
- package/port/cli.mjs +6 -4
- package/port/knowledge/apis/godot-3-to-4-renames.json +1 -0
- package/port/knowledge/apis/godot-3.json +1 -0
- package/port/knowledge/apis/godot-4.3.json +1 -0
- package/port/knowledge/apis/godot-4.7.json +1 -0
- package/port/src/agent.mjs +1 -1
- package/port/src/agentdisk.mjs +83 -0
- package/port/src/apicheck.mjs +280 -0
- package/port/src/archive.mjs +34 -4
- package/port/src/convert.mjs +3 -1
- package/port/src/dormant.mjs +159 -0
- package/port/src/formats.mjs +1 -0
- package/port/src/gamearchives.mjs +476 -0
- package/port/src/godotbin.mjs +544 -0
- package/port/src/il2cpp.mjs +148 -0
- package/port/src/jsworkspace.mjs +2 -2
- package/port/src/knowledge.mjs +3 -1
- package/port/src/physics.mjs +135 -0
- package/port/src/plan.mjs +94 -11
- package/port/src/porters.mjs +87 -5
- package/port/src/refs.mjs +120 -0
- package/port/src/rpgmaker.mjs +416 -0
- package/port/src/save.mjs +326 -0
- package/port/src/scene.mjs +37 -3
- package/port/src/shader.mjs +385 -0
- package/port/src/strings.mjs +327 -0
- package/port/src/tools.mjs +48 -8
- package/port/src/trace.mjs +302 -0
- package/port/src/unity-anim.mjs +229 -0
- package/port/src/upgrade.mjs +219 -0
- package/skills/build-inspector/SKILL.md +8 -0
- package/skills/godot-port/SKILL.md +2 -0
- package/skills/port-verify/SKILL.md +20 -9
- package/skills/reverse-engineer-anything/SKILL.md +18 -2
- package/skills/reverse-engineer-anything/references/porting-and-rebuilds.md +35 -4
- package/skills/unity-to-godot/SKILL.md +14 -2
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ npx reverseport setup
|
|
|
21
21
|
|
|
22
22
|
<sub>A real run on <a href="https://github.com/godotengine/godot-demo-projects/tree/master/2d/platformer">Godot's 2D platformer demo</a>, JSON trimmed to the key fields.</sub>
|
|
23
23
|
|
|
24
|
-
[Website](https://laaielichter.github.io/Reverseport/) · [Quick start](#quick-start) · [Every agent](#works-with-every-agent) · [What it does](#what-it-does) · [How it compares](#how-it-compares) · [FAQ](#faq) · [Docs](#documentation)
|
|
24
|
+
[Website](https://laaielichter.github.io/Reverseport/) · [Quick start](#quick-start) · [Every agent](#works-with-every-agent) · [Skills](#skills) · [What it does](#what-it-does) · [How it compares](#how-it-compares) · [FAQ](#faq) · [Changelog](CHANGELOG.md) · [Docs](#documentation)
|
|
25
25
|
|
|
26
26
|
</div>
|
|
27
27
|
|
|
@@ -34,7 +34,8 @@ unit, verified. No files at all? Give it a name or a store page.
|
|
|
34
34
|
ReversePort gives agents one consistent way to do all of that:
|
|
35
35
|
|
|
36
36
|
- 🔍 **Understand anything** — engine and version of any project or exported game, dependency graphs, scenes,
|
|
37
|
-
symbols in 30+ languages, executables, packs and unknown data.
|
|
37
|
+
symbols in 30+ languages, executables, packs and unknown data. JS/TS monorepos (pnpm, Turborepo, Nx, Lerna, Rush,
|
|
38
|
+
tsconfig paths) and Rust workspaces resolve too. No build step, no dependencies.
|
|
38
39
|
- 🧠 **Go deep** — decompile, cross-reference and trace native, managed (.NET), Android, Electron/JavaScript,
|
|
39
40
|
WebAssembly, firmware and browser targets through Ghidra, Hopper, IDA, JADX and more. ReversePort connects to the
|
|
40
41
|
tools you have installed, drives them and shows the evidence behind every conclusion.
|
|
@@ -112,23 +113,64 @@ Built for the agent's circumstances too:
|
|
|
112
113
|
can switch itself with `set_tool_profile`.
|
|
113
114
|
- **One error shape everywhere**, with a code, whether retrying helps, and the exact next step.
|
|
114
115
|
- **A `next` field wherever there is an obvious next step** (graphs, truncated results, every porting step), with the exact call.
|
|
116
|
+
- **Big results do not flood the context.** Answers over 256 KB are saved to `~/.reverseport/tool-output/`; the
|
|
117
|
+
agent gets a short version with the path. Slightly wrong input from smaller models is repaired where it is safe.
|
|
115
118
|
- **Agents are heard.** `share_feedback` leaves a note for the maintainers; it stays on the user's machine until
|
|
116
119
|
they share it.
|
|
117
120
|
|
|
118
121
|
See [Connect any agent](docs/connect-any-agent.md).
|
|
119
122
|
|
|
123
|
+
## Skills
|
|
124
|
+
|
|
125
|
+
Setup and the Claude Code plugin install skills that teach the agent the workflows, so it knows which tool comes
|
|
126
|
+
next without being told:
|
|
127
|
+
|
|
128
|
+
| Skill | Use it for |
|
|
129
|
+
| ------------------ | -------------------------------------------------------------------------------------------------------- |
|
|
130
|
+
| `reverse-engineer` | "How does this work?" — engine and stack, architecture, dependency graph, classes, scenes, unknown files |
|
|
131
|
+
| `build-inspector` | Exported builds: engine and version, what is inside the `.pck` or Unity/Unreal build, what changed |
|
|
132
|
+
| `rebuild` | No files: find out how a game, app or site is built, then write a measured clean-room rebuild spec |
|
|
133
|
+
| `port-project` | Any port, unit by unit in dependency order, with API maps, converted scenes and a verified result |
|
|
134
|
+
| `godot-port` | Godot 4 → Unity, Unreal, three.js or Godot C#: signals, node paths, autoloads, physics, input, axes |
|
|
135
|
+
| `unity-to-godot` | Unity → Godot 4: MonoBehaviours, prefabs and scenes to `.tscn`, colliders, rigidbodies |
|
|
136
|
+
| `port-verify` | The finish line: fix leftovers and missing functions, then hand over with an honest list of what is left |
|
|
137
|
+
| `proof-case` | Keep an investigation honest: evidence, claims that cite it, decisions, tests and open unknowns |
|
|
138
|
+
| `troubleshoot` | Errors and odd results: unreadable scenes, packs that will not list, refused paths, MCP problems |
|
|
139
|
+
|
|
140
|
+
The Claude Code plugin also adds the `port-architect` agent, which runs a whole port from recon to hand-over, and
|
|
141
|
+
[guard hooks](docs/proof-and-memory.md) that ask before a tool attaches to a program and stop a "done" while a proof
|
|
142
|
+
case fails its check.
|
|
143
|
+
|
|
144
|
+
A skill copied into an agent's folder can be older than the installed tool. `reverseport skills` lists the skills of
|
|
145
|
+
the version you have and `reverseport skills get <name>` prints the matching guide.
|
|
146
|
+
|
|
120
147
|
## Prompts to try
|
|
121
148
|
|
|
122
|
-
| You ask
|
|
123
|
-
|
|
|
124
|
-
| _What is this game made with, and how is it built?_
|
|
125
|
-
| _Map this codebase and write ARCHITECTURE.md._
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
|
149
|
+
| You ask | ReversePort does |
|
|
150
|
+
| ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
151
|
+
| _What is this game made with, and how is it built?_ | `re_scan` → engine + version, languages, entry points, how it starts |
|
|
152
|
+
| _Map this codebase and write ARCHITECTURE.md._ | `re_graph`, `re_symbols`, `re_report` |
|
|
153
|
+
| _How do the packages in this Turborepo/pnpm monorepo depend on each other?_ | `re_scan` finds the workspace and its packages; `re_graph` resolves workspace names and tsconfig paths and shows who uses whom |
|
|
154
|
+
| _Show me how this button on the website is built._ | `capture_web_screenshot` with a `selector`: a cropped image of the element, its HTML and its computed CSS |
|
|
155
|
+
| _All I have is data.win / an .rpa / a .pak / a .swf / a sound bank / a web build._ | `re_archive`: names, assets and facts out of GameMaker, Ren'Py, Unreal, Flash, FMOD, Wwise, Unity WebGL and Emscripten containers |
|
|
156
|
+
| _I only have the exported Godot game, not the project._ | `re_archive` extracts the .pck, `re_decode` turns .gdc/.scn/.res/project.binary back into an editable project |
|
|
157
|
+
| _A Unity IL2CPP game without its C# source._ | `re_il2cpp`: classes, methods and literals from global-metadata.dat, plus a C# skeleton |
|
|
158
|
+
| _What changed between build 43 and 44?_ | `re_compare` folder-to-folder and pack-to-pack, biggest changes first |
|
|
159
|
+
| _Why are my Unity materials pink and scripts "missing" after a move?_ | `re_refs`: dangling, duplicate and missing GUIDs, with remap suggestions |
|
|
160
|
+
| _Get every player-facing string out of this game so we can translate it._ | `re_strings`: .pot/.csv with ids and placeholders; `apply` writes a translated copy |
|
|
161
|
+
| _Is this GDScript valid for Godot 4.3, or did the model mix in Godot 3?_ | `re_apicheck`: renamed names with replacements, invented members, too-new classes |
|
|
162
|
+
| _What is in this save file, is it checksummed, and which field is the gold?_ | `re_save`: layers, fields with roles, verified checksums, diff of two saves, schema + SaveData classes |
|
|
163
|
+
| _Upgrade my Godot 3 game to Godot 4._ | `port_upgrade`: converted copy (renames, @annotations, await, signals, scenes, project.godot) + what needs a human |
|
|
164
|
+
| _Decompile the function that saves settings in this app and explain it._ | opens the binary, finds it, decompiles it, shows the evidence |
|
|
165
|
+
| _How does this Electron app talk to its native side?_ | maps modules, IPC and Electron boundaries |
|
|
166
|
+
| _What is `<some game>` made with? I don't have the files._ | `re_lookup` from public sources: engine with confidence, stack, layout, remakes |
|
|
167
|
+
| _Rebuild the movement of `<game>` as precisely as possible in Godot._ | `re_blueprint`: systems, parameters to measure, parity table, skeleton |
|
|
168
|
+
| _Port my Unity UI, prefab variants and Animator to Godot._ | `port_scene`: Control nodes with anchors, inherited scenes, AnimationPlayer + state machine from .anim/.controller |
|
|
169
|
+
| _Port this Unity shader (or a Shadertoy) to Godot._ | `port_shader`: uniforms, intrinsics and built-ins mapped, `PORT:` markers and leftovers for the rest |
|
|
170
|
+
| _Why does my ported game fall, slide and jump differently?_ | `port_convert {physics}`: gravity, fixed step, damping, friction/bounce rules, layers → masks, jump velocity recomputed |
|
|
171
|
+
| _Does the port really behave the same?_ | `port_verify` flags tick/delta/seed/order differences; `port_trace` logs both per tick and finds the first divergence |
|
|
172
|
+
| _Move my RPG Maker MV/MZ game to Godot._ | `port_rpgmaker`: maps drawn from the tilesets, events running, database autoload, list of what is left |
|
|
173
|
+
| _Port my Godot game to Unity._ | `port_plan` → `port_unit`/`port_write` loop → `port_scene` → `port_verify` |
|
|
132
174
|
|
|
133
175
|
```text
|
|
134
176
|
You: Port my Godot game to Unity.
|
|
@@ -151,7 +193,7 @@ Agent: re_scan → Godot 4.3, 6 scripts, 5 scenes, main scene main.tscn, autolo
|
|
|
151
193
|
| .NET assemblies | Metadata, CIL, native boundaries, build comparisons | Nothing |
|
|
152
194
|
| Android | Manifest, classes, decompiled methods, references, resources, devices | JADX / Apktool / adb ([guide](docs/android-analysis.md)) |
|
|
153
195
|
| JavaScript and Electron | Modules, imports, source maps, Electron boundaries, runtime observation | Nothing; a browser for runtime |
|
|
154
|
-
| Websites | Page, network and runtime evidence; stack fingerprint without files
|
|
196
|
+
| Websites | Page, network and runtime evidence; one element by CSS selector (cropped image, HTML, computed CSS); stack fingerprint without files | A browser for runtime |
|
|
155
197
|
| Firmware, EVM, crashes, captures | Regions and extraction, selectors, recorded crashes, HAR/mitmproxy captures | See the [guides](docs/index.md) |
|
|
156
198
|
|
|
157
199
|
### Rebuild and port
|
|
@@ -182,6 +224,7 @@ reverseport blueprint --lookup-id <id> # clean-room rebuild spec + par
|
|
|
182
224
|
reverseport plan ./MyGame --to unity # start a port
|
|
183
225
|
reverseport case init --question "…" --target ./Build # proof case: evidence → claims → decision → tests
|
|
184
226
|
reverseport doctor # check engines and agent registrations
|
|
227
|
+
reverseport skills get port-project # the skill guide that matches this version
|
|
185
228
|
reverseport help # overview · reverseport port help · reverseport engine --help
|
|
186
229
|
```
|
|
187
230
|
|
|
@@ -192,13 +235,14 @@ Install the command for regular use with `npm install --global reverseport`, or
|
|
|
192
235
|
|
|
193
236
|
One MCP server (`reverseport mcp`) serves every tool:
|
|
194
237
|
|
|
195
|
-
| ReversePort tools
|
|
196
|
-
|
|
|
197
|
-
| `re_scan` `re_graph` `re_symbols` `re_scene`
|
|
198
|
-
| `re_binary` `re_archive` `re_probe` `re_extract` `re_compare` `re_report`
|
|
199
|
-
| `re_lookup` `re_blueprint`
|
|
200
|
-
| `port_map` `port_convert` `port_plan` `port_unit` `port_write` `port_scene` `port_copy_assets` `port_status` `port_verify`
|
|
201
|
-
| `
|
|
238
|
+
| ReversePort tools | |
|
|
239
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
240
|
+
| `re_scan` `re_graph` `re_symbols` `re_scene` | projects and builds: engine, dependencies, symbols, scenes |
|
|
241
|
+
| `re_binary` `re_archive` `re_probe` `re_extract` `re_compare` `re_refs` `re_strings` `re_apicheck` `re_save` `re_decode` `re_il2cpp` `re_report` | executables, packs (Godot, zip, asar, Ren'Py, GameMaker, FMOD/Wwise, Unreal, SWF), unknown data, diffs, GUID audit, localisation, API check, save files, ARCHITECTURE.md |
|
|
242
|
+
| `re_lookup` `re_blueprint` | recon without files, clean-room rebuild specs |
|
|
243
|
+
| `port_map` `port_convert` `port_plan` `port_unit` `port_write` `port_scene` `port_copy_assets` `port_status` `port_verify` | porting, verified |
|
|
244
|
+
| `port_upgrade` `port_shader` `port_trace` `port_rpgmaker` | Godot 3 → 4 as a converted copy plus the manual list; shader first drafts; per-tick behaviour traces compared |
|
|
245
|
+
| `re_case` | proof case: evidence, claims, unknowns, decisions, tests |
|
|
202
246
|
|
|
203
247
|
Next to these come the deep-analysis tools — `open_binary`, `procedure_pseudo_code`, `xrefs`, `search_strings`, `analyze_javascript_application`,
|
|
204
248
|
`inspect_android_package`, `inspect_managed_artifact`, `observe_web_session` and many more. `engine_tools` lists them from the running server, and
|
|
@@ -225,8 +269,9 @@ DRM, anti-cheat or licensing. See [RESPONSIBLE-USE.md](RESPONSIBLE-USE.md).
|
|
|
225
269
|
**Does it upload my files?** No. It runs on your machine, only reads the target and writes output to new folders.
|
|
226
270
|
|
|
227
271
|
**Does it port my code automatically?** Scenes, transforms and assets convert automatically. Code is written by your
|
|
228
|
-
agent, one unit at a time, with an API map for the engine pair; `port_verify` then checks for leftovers
|
|
229
|
-
functions
|
|
272
|
+
agent, one unit at a time, with an API map for the engine pair; `port_verify` then checks for leftovers, missing
|
|
273
|
+
functions and dormant logic (stub bodies, functions nothing calls, silenced warnings), so a port that "compiles" but
|
|
274
|
+
does nothing is not reported as done.
|
|
230
275
|
|
|
231
276
|
**Do I need Ghidra?** Only for decompiling native binaries. Scanning, packs, lookup, blueprints and porting need
|
|
232
277
|
nothing extra.
|
|
@@ -242,10 +287,10 @@ command and its JSON error. Every error names the next step, so include that lin
|
|
|
242
287
|
Two small tools from the same author that work well next to ReversePort. Both are local, open source and have their
|
|
243
288
|
own MCP server, and both install from the ReversePort marketplace:
|
|
244
289
|
|
|
245
|
-
| Tool | What it does
|
|
246
|
-
| ---------------------------------------------------------- |
|
|
247
|
-
| [**Stashpad**](https://github.com/laaielichter/stashpad) | Memory for agents that you can read, edit and trust: plain Markdown files with a source and dates, a review queue for agent writes, and a handoff note for the next session. `re_case remember` sends a proof case's findings there ([how](docs/proof-and-memory.md#memory-across-sessions-stashpad-optional)).
|
|
248
|
-
| [**agentdisk**](https://github.com/laaielichter/agentdisk) | The disk report for coding agents: the worktrees, checkpoints, `node_modules`, `.venv` and `.godot/` folders agents leave behind (porting work makes plenty), and a cleanup you can undo. Needs the `agentdisk` binary ([install](https://github.com/laaielichter/agentdisk#install)).
|
|
290
|
+
| Tool | What it does | Claude Code |
|
|
291
|
+
| ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
|
|
292
|
+
| [**Stashpad**](https://github.com/laaielichter/stashpad) | Memory for agents that you can read, edit and trust: plain Markdown files with a source and dates, a review queue for agent writes, and a handoff note for the next session. `re_case remember` sends a proof case's findings there ([how](docs/proof-and-memory.md#memory-across-sessions-stashpad-optional)). | `/plugin install stashpad@reverseport` |
|
|
293
|
+
| [**agentdisk**](https://github.com/laaielichter/agentdisk) | The disk report for coding agents: the worktrees, checkpoints, `node_modules`, `.venv` and `.godot/` folders agents leave behind (porting work makes plenty), and a cleanup you can undo. `reverseport port doctor` uses it to show what the workspace would really free ([how](docs/installation.md#disk-use-agentdisk-optional)). Needs the `agentdisk` binary ([install](https://github.com/laaielichter/agentdisk#install)). | `/plugin install agentdisk@reverseport` |
|
|
249
294
|
|
|
250
295
|
Add the marketplace first with `/plugin marketplace add laaielichter/reverseport`. Other agents: see each project's
|
|
251
296
|
README.
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -20,6 +20,7 @@ notices supplied with the software you actually obtain or redistribute.
|
|
|
20
20
|
| EVM analysis | `evmole@0.9.3`, MIT, copyright 2023 Maxim Andreev. The published npm archive omits its license document; ReversePort retains the [original upstream license](third_party/evmole/LICENSE) and [provenance](third_party/evmole/README.md). It is also included in the runtime notices. |
|
|
21
21
|
| Windows native addon | The release addon is compiled with MinGW-w64 and statically links GCC runtime libraries. Preserve the [MinGW-w64 runtime notices](licenses/MinGW-w64-runtime.txt), [GPLv3 text](licenses/GPL-3.0.txt), and [GCC Runtime Library Exception 3.1](licenses/GCC-Runtime-Library-Exception-3.1.txt). The exception governs eligible compiled combinations; it does not relicense the runtime itself under MIT. The Node-API build headers are from Node 22.19.0; its [original license and component notices](licenses/Node-22.19.0-LICENSE.txt) are retained. Node itself is supplied by the user. Snapshot provenance and release-toolchain review requirements are in [licenses/README.md](licenses/README.md). |
|
|
22
22
|
| Proof cases | `port/src/proofcase.mjs` is a Node port of `skills/digfox/scripts/proof.py` from [Devaretanmay/digfox](https://github.com/Devaretanmay/digfox/tree/4925920), MIT, copyright 2026 Digfox contributors. The [skills/proof-case](skills/proof-case/SKILL.md) skill adapts its workflow. Preserve the [Digfox MIT notice](licenses/digfox-MIT.txt). |
|
|
23
|
+
| Godot API snapshots | `port/knowledge/apis/godot-*.json` are name-only snapshots (classes, members, signals, constants) derived from `extension_api-4-*.json` in [godotengine/godot-cpp](https://github.com/godotengine/godot-cpp/tree/2bb1acf) and `api.json` in [godotengine/godot-headers](https://github.com/godotengine/godot-headers/tree/9aea2a1); `godot-3-to-4-renames.json` is converted from `editor/project_upgrade/renames_map_3_to_4.cpp` in [godotengine/godot](https://github.com/godotengine/godot/tree/81ab961). All MIT, copyright Godot Engine contributors; preserve the [Godot MIT notice](licenses/godot-engine-MIT.txt). |
|
|
23
24
|
| Guard hooks | `port/hooks/guard.mjs` follows the hook points of [juan-viox/rea-jev](https://github.com/juan-viox/rea-jev/tree/3104d0d), MIT, copyright 2026 Juan Alvarado, and reuses its list of runtime-class tool names. Preserve the [rea-jev MIT notice](licenses/rea-jev-MIT.txt). |
|
|
24
25
|
| Challenge self-check | `bench/challenges/generate.mjs`, `large.mjs` and `oracle.mjs` are vendored unchanged (apart from a header note) from [pablodiazjorge/rea-lab](https://github.com/pablodiazjorge/rea-lab/tree/67caf0e), MIT, copyright 2026 pablodiazjorge. Preserve the [rea-lab MIT notice](licenses/rea-lab-MIT.txt). Not part of the npm package. |
|
|
25
26
|
| Dinosaur website example | Selected excerpts from [wayou/t-rex-runner](https://github.com/wayou/t-rex-runner/tree/5455bfa408ec6b707c7300ff194b7390733a766d), derived from Chromium's dinosaur game. The website retains the [original BSD-3-Clause notices](website/public/assets/licenses/dinosaur.txt), including Chromium authors and wayou. This asset is not part of the npm runtime. |
|
package/bin/reverseport.mjs
CHANGED
|
@@ -17,7 +17,9 @@ const VERSION = JSON.parse(readFileSync(path.join(REPO, 'package.json'), 'utf8')
|
|
|
17
17
|
const PORT_COMMANDS = new Set([
|
|
18
18
|
'scan', 'graph', 'symbols', 'scene', 'binary', 'bin', 'archive', 'pck', 'probe', 'extract', 'carve', 'diff',
|
|
19
19
|
'compare-builds', 'report', 'lookup', 'recon', 'web', 'blueprint', 'rebuild', 'map', 'convert', 'plan', 'unit',
|
|
20
|
-
'write', 'port-scene', 'copy-assets', 'status', 'verify', 'case', 'proof', 'tools', 'serve', 'describe', 'feedback',
|
|
20
|
+
'write', 'port-scene', 'copy-assets', 'status', 'verify', 'case', 'proof', 'tools', 'serve', 'describe', 'feedback',
|
|
21
|
+
'connect', 'skills', 'refs', 'guids', 'strings', 'i18n', 'l10n', 'apicheck', 'api', 'upgrade', 'godot3to4', 'save',
|
|
22
|
+
'savefile', 'shader', 'trace', 'rpgmaker', 'rpgm', 'decode', 'gdc', 'il2cpp',
|
|
21
23
|
]);
|
|
22
24
|
const ALWAYS_ENGINE = ['setup', 'doctor', 'update', 'uninstall', 'mcp', 'capabilities', 'providers', 'help'];
|
|
23
25
|
|
|
@@ -61,6 +63,16 @@ Understand anything (no build needed)
|
|
|
61
63
|
reverseport binary <file> PE/.NET/ELF/Mach-O/wasm/class/dex at a glance
|
|
62
64
|
reverseport archive <file> Godot .pck (also inside .exe), zip/apk/jar, tar.gz, asar — list or extract
|
|
63
65
|
reverseport diff <a> <b> what changed between two builds, packs or binaries
|
|
66
|
+
reverseport refs <unity-project> broken Unity GUID references, duplicate and missing .meta files
|
|
67
|
+
reverseport strings <folder> extract translatable text (.pot/.csv); --action apply writes a translated copy
|
|
68
|
+
reverseport decode <folder|file> Godot export → .gd/.tscn/.tres/project.godot (after re_archive extract)
|
|
69
|
+
reverseport il2cpp <global-metadata.dat> Unity IL2CPP: classes, methods, literals, C# skeleton
|
|
70
|
+
reverseport apicheck <file|folder> Godot 3 names, invented members, too-new classes; --engine godot@4.3
|
|
71
|
+
reverseport upgrade <godot3-project> Godot 3 → 4 as a copy; --action apply --out <folder>; lists what needs a human
|
|
72
|
+
reverseport save <file> [other] save file: layers, fields with roles, checksums, diff against another save; --action schema
|
|
73
|
+
reverseport shader <file> <godot|threejs|unity> first draft of a shader in another engine, leftovers listed
|
|
74
|
+
reverseport rpgmaker <project> [out] RPG Maker MV/MZ → runnable Godot 4 project + list of what is left
|
|
75
|
+
reverseport trace harness <engine> | trace compare --a <json> --b <json> prove behaviour parity per tick
|
|
64
76
|
reverseport report <folder> ARCHITECTURE.md
|
|
65
77
|
reverseport port help every ReversePort command and option
|
|
66
78
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Generated from package.json and package-lock.json; do not edit. */
|
|
2
2
|
export const PACKAGE_METADATA = {
|
|
3
3
|
name: "reverseport",
|
|
4
|
-
version: "1.
|
|
4
|
+
version: "1.8.0", // x-release-please-version
|
|
5
5
|
serverSdkVersion: "2.3.1",
|
|
6
6
|
clientSdkVersion: "2.3.1",
|
|
7
7
|
coreSdkVersion: "2.3.1",
|
package/licenses/README.md
CHANGED
|
@@ -16,6 +16,7 @@ upstream texts; they do not change [REA's MIT license](../LICENSE).
|
|
|
16
16
|
| `MinGW-w64-runtime.txt` | Upstream's combined runtime copyright and license notices, snapshot from v12.0.0, for the statically linked Windows addon. This is a notice snapshot, not a pin of the compiler used in release CI. |
|
|
17
17
|
| `GPL-3.0.txt`, `GCC-Runtime-Library-Exception-3.1.txt` | Unchanged GPLv3 and GCC runtime exception texts from GCC 14.2.0. The exception permits eligible compiled combinations under its conditions; the runtime keeps its own license. This snapshot does not assert that every release uses GCC 14.2.0. |
|
|
18
18
|
| `Node-22.19.0-LICENSE.txt` | The original Node 22.19.0 license and third-party notices. The Windows addon uses Node-API headers from that release; the complete Node runtime and all components listed in this reference document are not bundled. |
|
|
19
|
+
| `godot-engine-MIT.txt` | Unchanged Godot Engine license, for the name-only API snapshots and the 3→4 rename table under `port/knowledge/apis/` (derived data, see the root notices). |
|
|
19
20
|
| `upstream-sources.json` | Source URLs and SHA-256 digests for the new unchanged reference and supplemental texts. These digests identify the preserved local texts. |
|
|
20
21
|
|
|
21
22
|
Additional preserved originals live at
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md).
|
|
2
|
+
Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
|
|
3
|
+
|
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
in the Software without restriction, including without limitation the rights
|
|
7
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
furnished to do so, subject to the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
SOFTWARE.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reverseport",
|
|
3
3
|
"mcpName": "io.github.laaielichter/reverseport",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.8.0",
|
|
5
5
|
"description": "Reverse engineer anything. Port it anywhere. One CLI and MCP server that lets coding agents take apart apps, games, binaries and websites — decompile, trace, compare builds, recon without files — and rebuild or port them to Godot, Unity, Unreal, three.js or any language.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
package/port/cli.mjs
CHANGED
|
@@ -12,17 +12,18 @@ import os from 'node:os';
|
|
|
12
12
|
import path from 'node:path';
|
|
13
13
|
import { tools, callTool, VERSION } from './src/tools.mjs';
|
|
14
14
|
import { workspaceRoot } from './src/workspace.mjs';
|
|
15
|
+
import { diskReport } from './src/agentdisk.mjs';
|
|
15
16
|
import { isMainModule } from './src/main-module.mjs';
|
|
16
17
|
import { errorPayload, formatTools, FORMATS, closest, readFeedback } from './src/agent.mjs';
|
|
17
18
|
import { RPError } from './src/util.mjs';
|
|
18
19
|
|
|
19
20
|
const ALIASES = {
|
|
20
21
|
scan: 're_scan', graph: 're_graph', symbols: 're_symbols', scene: 're_scene', binary: 're_binary', bin: 're_binary', archive: 're_archive', pck: 're_archive',
|
|
21
|
-
probe: 're_probe', extract: 're_extract', carve: 're_extract', compare: 're_compare', diff: 're_compare', 'compare-builds': 're_compare', report: 're_report',
|
|
22
|
+
probe: 're_probe', extract: 're_extract', carve: 're_extract', compare: 're_compare', diff: 're_compare', 'compare-builds': 're_compare', refs: 're_refs', guids: 're_refs', strings: 're_strings', i18n: 're_strings', l10n: 're_strings', apicheck: 're_apicheck', decode: 're_decode', il2cpp: 're_il2cpp', gdc: 're_decode', api: 're_apicheck', upgrade: 'port_upgrade', 'godot3to4': 'port_upgrade', save: 're_save', savefile: 're_save', shader: 'port_shader', trace: 'port_trace', rpgmaker: 'port_rpgmaker', rpgm: 'port_rpgmaker', report: 're_report',
|
|
22
23
|
lookup: 're_lookup', recon: 're_lookup', web: 're_lookup', blueprint: 're_blueprint', rebuild: 're_blueprint',
|
|
23
24
|
map: 'port_map', convert: 'port_convert', plan: 'port_plan', unit: 'port_unit', write: 'port_write', 'port-scene': 'port_scene', 'copy-assets': 'port_copy_assets', status: 'port_status', verify: 'port_verify', case: 're_case', proof: 're_case',
|
|
24
25
|
};
|
|
25
|
-
const POSITIONAL = { re_scan: ['path'], re_graph: ['path'], re_symbols: ['path'], re_scene: ['file'], re_binary: ['file'], re_archive: ['file'], re_probe: ['file'], re_extract: ['file'], re_compare: ['a', 'b'], re_report: ['path'], re_lookup: ['query'], re_blueprint: ['name'], port_map: ['from', 'to'], port_convert: ['from', 'to'], port_plan: ['source'], port_unit: ['planId', 'unit'], port_write: ['planId', 'unit'], port_scene: ['planId', 'unit'], port_copy_assets: ['planId'], port_status: ['planId'], port_verify: ['planId'], re_case: ['action', 'caseId'] };
|
|
26
|
+
const POSITIONAL = { re_scan: ['path'], re_graph: ['path'], re_symbols: ['path'], re_scene: ['file'], re_binary: ['file'], re_archive: ['file'], re_probe: ['file'], re_extract: ['file'], re_compare: ['a', 'b'], re_refs: ['path'], re_strings: ['path'], re_apicheck: ['path'], re_decode: ['path'], re_il2cpp: ['file'], port_upgrade: ['path'], re_save: ['file', 'compare'], port_shader: ['file', 'to'], port_trace: ['action', 'engine'], port_rpgmaker: ['path', 'out'], re_report: ['path'], re_lookup: ['query'], re_blueprint: ['name'], port_map: ['from', 'to'], port_convert: ['from', 'to'], port_plan: ['source'], port_unit: ['planId', 'unit'], port_write: ['planId', 'unit'], port_scene: ['planId', 'unit'], port_copy_assets: ['planId'], port_status: ['planId'], port_verify: ['planId'], re_case: ['action', 'caseId'] };
|
|
26
27
|
|
|
27
28
|
/** List arguments whose items can contain commas, so a plain value stays one item. */
|
|
28
29
|
const KEEP_COMMAS = new Set(['insteadOf']);
|
|
@@ -74,7 +75,8 @@ export async function doctor() {
|
|
|
74
75
|
try { await fs.mkdir(ws, { recursive: true }); await fs.writeFile(path.join(ws, '.doctor'), 'ok'); await fs.rm(path.join(ws, '.doctor')); } catch { writable = false; }
|
|
75
76
|
const [maj, min] = process.versions.node.split('.').map(Number);
|
|
76
77
|
const nodeOk = (maj === 22 && min >= 19) || (maj === 24 && min >= 11) || maj >= 26 || maj === 25 || maj === 23;
|
|
77
|
-
|
|
78
|
+
const disk = await diskReport(ws);
|
|
79
|
+
return { ok: nodeOk && writable, version: VERSION, node: process.versions.node, nodeOk, nodeRequired: '>=22.19 (22.x), >=24.11 (24.x) or newer', workspace: ws, workspaceWritable: writable, workspaceBytes: disk.bytes, workspaceFolders: disk.folders.slice(0, 12), agentdisk: disk.agentdisk, tools: tools.length, platform: `${os.platform()} ${os.arch()}` };
|
|
78
80
|
}
|
|
79
81
|
|
|
80
82
|
function help() {
|
|
@@ -124,7 +126,7 @@ Other
|
|
|
124
126
|
connect [client] config snippet for any agent: MCP clients, HTTP/OpenAPI, OpenAI, Anthropic, Gemini, shell
|
|
125
127
|
serve HTTP API on http://127.0.0.1:32147 (REVERSEPORT_PORT)
|
|
126
128
|
mcp MCP server on stdio (these tools + the deep-analysis engine)
|
|
127
|
-
port doctor check Node and the workspace (${workspaceRoot()})
|
|
129
|
+
port doctor check Node and the workspace (${workspaceRoot()}); disk use, with agentdisk when installed
|
|
128
130
|
`;
|
|
129
131
|
}
|
|
130
132
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"source":"Godot Engine editor/project_upgrade/renames_map_3_to_4.cpp (MIT, Godot Engine contributors)","tables":{"enum_renames":[["BUTTON_LEFT","MOUSE_BUTTON_LEFT"],["BUTTON_MASK_LEFT","MOUSE_BUTTON_MASK_LEFT"],["BUTTON_MASK_MIDDLE","MOUSE_BUTTON_MASK_MIDDLE"],["BUTTON_MASK_RIGHT","MOUSE_BUTTON_MASK_RIGHT"],["BUTTON_MASK_XBUTTON1","MOUSE_BUTTON_MASK_XBUTTON1"],["BUTTON_MASK_XBUTTON2","MOUSE_BUTTON_MASK_XBUTTON2"],["BUTTON_MIDDLE","MOUSE_BUTTON_MIDDLE"],["BUTTON_RIGHT","MOUSE_BUTTON_RIGHT"],["BUTTON_WHEEL_DOWN","MOUSE_BUTTON_WHEEL_DOWN"],["BUTTON_WHEEL_LEFT","MOUSE_BUTTON_WHEEL_LEFT"],["BUTTON_WHEEL_RIGHT","MOUSE_BUTTON_WHEEL_RIGHT"],["BUTTON_WHEEL_UP","MOUSE_BUTTON_WHEEL_UP"],["BUTTON_XBUTTON1","MOUSE_BUTTON_XBUTTON1"],["BUTTON_XBUTTON2","MOUSE_BUTTON_XBUTTON2"],["KEY_CONTROL","KEY_CTRL"],["SIDE_BOTTOM","MARGIN_BOTTOM"],["SIDE_LEFT","MARGIN_LEFT"],["SIDE_RIGHT","MARGIN_RIGHT"],["SIDE_TOP","MARGIN_TOP"],["TYPE_COLOR_ARRAY","TYPE_PACKED_COLOR_ARRAY"],["TYPE_FLOAT64_ARRAY","TYPE_PACKED_FLOAT64_ARRAY"],["TYPE_INT64_ARRAY","TYPE_PACKED_INT64_ARRAY"],["TYPE_INT_ARRAY","TYPE_PACKED_INT32_ARRAY"],["TYPE_QUAT","TYPE_QUATERNION"],["TYPE_RAW_ARRAY","TYPE_PACKED_BYTE_ARRAY"],["TYPE_REAL","TYPE_FLOAT"],["TYPE_REAL_ARRAY","TYPE_PACKED_FLOAT32_ARRAY"],["TYPE_STRING_ARRAY","TYPE_PACKED_STRING_ARRAY"],["TYPE_TRANSFORM","TYPE_TRANSFORM3D"],["TYPE_VECTOR2_ARRAY","TYPE_PACKED_VECTOR2_ARRAY"],["TYPE_VECTOR3_ARRAY","TYPE_PACKED_VECTOR3_ARRAY"],["ALIGN_BEGIN","ALIGNMENT_BEGIN"],["ALIGN_CENTER","ALIGNMENT_CENTER"],["ALIGN_END","ALIGNMENT_END"],["ARRAY_COMPRESS_BASE","ARRAY_COMPRESS_FLAGS_BASE"],["ARVR_AR","XR_AR"],["ARVR_EXCESSIVE_MOTION","XR_EXCESSIVE_MOTION"],["ARVR_EXTERNAL","XR_EXTERNAL"],["ARVR_INSUFFICIENT_FEATURES","XR_INSUFFICIENT_FEATURES"],["ARVR_MONO","XR_MONO"],["ARVR_NONE","XR_NONE"],["ARVR_NORMAL_TRACKING","XR_NORMAL_TRACKING"],["ARVR_NOT_TRACKING","XR_NOT_TRACKING"],["ARVR_STEREO","XR_STEREO"],["ARVR_UNKNOWN_TRACKING","XR_UNKNOWN_TRACKING"],["BAKE_ERROR_INVALID_MESH","BAKE_ERROR_MESHES_INVALID"],["BODY_MODE_CHARACTER","BODY_MODE_RIGID_LINEAR"],["CLEAR_MODE_ONLY_NEXT_FRAME","CLEAR_MODE_ONCE"],["COMPRESS_PVRTC4","COMPRESS_PVRTC1_4"],["CONNECT_ONESHOT","CONNECT_ONE_SHOT"],["CONTAINER_PROPERTY_EDITOR_BOTTOM","CONTAINER_INSPECTOR_BOTTOM"],["CUBEMAP_BACK","CUBEMAP_LAYER_BACK"],["CUBEMAP_BOTTOM","CUBEMAP_LAYER_BOTTOM"],["CUBEMAP_FRONT","CUBEMAP_LAYER_FRONT"],["CUBEMAP_LEFT","CUBEMAP_LAYER_LEFT"],["CUBEMAP_RIGHT","CUBEMAP_LAYER_RIGHT"],["CUBEMAP_TOP","CUBEMAP_LAYER_TOP"],["DAMPED_STRING_DAMPING","DAMPED_SPRING_DAMPING"],["DAMPED_STRING_REST_LENGTH","DAMPED_SPRING_REST_LENGTH"],["DAMPED_STRING_STIFFNESS","DAMPED_SPRING_STIFFNESS"],["FLAG_ALIGN_Y_TO_VELOCITY","PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY"],["FLAG_DISABLE_Z","PARTICLE_FLAG_DISABLE_Z"],["FLAG_ROTATE_Y","PARTICLE_FLAG_ROTATE_Y"],["FLAG_USE_BAKED_LIGHT","GI_MODE_BAKED"],["FORMAT_PVRTC2","FORMAT_PVRTC1_2"],["FORMAT_PVRTC2A","FORMAT_PVRTC1_2A"],["FORMAT_PVRTC4","FORMAT_PVRTC1_4"],["FORMAT_PVRTC4A","FORMAT_PVRTC1_4A"],["FUNC_FRAC","FUNC_FRACT"],["INSTANCE_LIGHTMAP_CAPTURE","INSTANCE_LIGHTMAP"],["JOINT_6DOF","JOINT_TYPE_6DOF"],["JOINT_CONE_TWIST","JOINT_TYPE_CONE_TWIST"],["JOINT_DAMPED_SPRING","JOINT_TYPE_DAMPED_SPRING"],["JOINT_GROOVE","JOINT_TYPE_GROOVE"],["JOINT_HINGE","JOINT_TYPE_HINGE"],["JOINT_PIN","JOINT_TYPE_PIN"],["JOINT_SLIDER","JOINT_TYPE_SLIDER"],["LOOP_PING_PONG","LOOP_PINGPONG"],["MODE_KINEMATIC","FREEZE_MODE_KINEMATIC"],["MODE_OPEN_ANY","FILE_MODE_OPEN_ANY"],["MODE_OPEN_DIR","FILE_MODE_OPEN_DIR"],["MODE_OPEN_FILE","FILE_MODE_OPEN_FILE"],["MODE_OPEN_FILES","FILE_MODE_OPEN_FILES"],["MODE_SAVE_FILE","FILE_MODE_SAVE_FILE"],["MODE_STATIC","FREEZE_MODE_STATIC"],["NOTIFICATION_APP_PAUSED","NOTIFICATION_APPLICATION_PAUSED"],["NOTIFICATION_APP_RESUMED","NOTIFICATION_APPLICATION_RESUMED"],["NOTIFICATION_INSTANCED","NOTIFICATION_SCENE_INSTANTIATED"],["NOTIFICATION_PATH_CHANGED","NOTIFICATION_PATH_RENAMED"],["NOTIFICATION_WM_FOCUS_IN","NOTIFICATION_APPLICATION_FOCUS_IN"],["NOTIFICATION_WM_FOCUS_OUT","NOTIFICATION_APPLICATION_FOCUS_OUT"],["NOTIFICATION_WM_UNFOCUS_REQUEST","NOTIFICATION_WM_WINDOW_FOCUS_OUT"],["PAUSE_MODE_INHERIT","PROCESS_MODE_INHERIT"],["PAUSE_MODE_PROCESS","PROCESS_MODE_ALWAYS"],["PAUSE_MODE_STOP","PROCESS_MODE_PAUSABLE"],["RENDER_DRAW_CALLS_IN_FRAME","RENDER_TOTAL_DRAW_CALLS_IN_FRAME"],["RENDER_OBJECTS_IN_FRAME","RENDER_TOTAL_OBJECTS_IN_FRAME"],["SOURCE_GEOMETRY_NAVMESH_CHILDREN","SOURCE_GEOMETRY_ROOT_NODE_CHILDREN"],["TEXTURE_TYPE_2D_ARRAY","TEXTURE_LAYERED_2D_ARRAY"],["TEXTURE_TYPE_CUBEMAP","TEXTURE_LAYERED_CUBEMAP_ARRAY"],["TRACKER_LEFT_HAND","TRACKER_HAND_LEFT"],["TRACKER_RIGHT_HAND","TRACKER_HAND_RIGHT"],["TYPE_NORMALMAP","TYPE_NORMAL_MAP"],["AlignMode","AlignmentMode"],["AnimationProcessMode","AnimationProcessCallback"],["Camera2DProcessMode","Camera2DProcessCallback"],["CubeMapSide","CubeMapLayer"],["DampedStringParam","DampedSpringParam"],["FFT_Size","FFTSize"],["PauseMode","ProcessMode"],["TimerProcessMode","TimerProcessCallback"],["Tracking_status","TrackingStatus"]],"gdscript_function_renames":[["_about_to_show","_about_to_popup"],["_get_configuration_warning","_get_configuration_warnings"],["_set_current","set_current"],["_set_editor_description","set_editor_description"],["_toplevel_raise_self","_top_level_raise_self"],["add_cancel","add_cancel_button"],["add_central_force","apply_central_force"],["add_child_below_node","add_sibling"],["add_color_override","add_theme_color_override"],["add_constant_override","add_theme_constant_override"],["add_font_override","add_theme_font_override"],["add_force","apply_force"],["add_icon_override","add_theme_icon_override"],["add_scene_import_plugin","add_scene_format_importer_plugin"],["add_spatial_gizmo_plugin","add_node_3d_gizmo_plugin"],["add_stylebox_override","add_theme_stylebox_override"],["add_torque","apply_torque"],["agent_set_neighbor_dist","agent_set_neighbor_distance"],["apply_changes","_apply_changes"],["body_add_force","body_apply_force"],["body_add_torque","body_apply_torque"],["bumpmap_to_normalmap","bump_map_to_normal_map"],["can_be_hidden","_can_be_hidden"],["can_drop_data","_can_drop_data"],["can_generate_small_preview","_can_generate_small_preview"],["can_instance","can_instantiate"],["canvas_light_set_scale","canvas_light_set_texture_scale"],["capture_get_device","get_input_device"],["capture_get_device_list","get_input_device_list"],["capture_set_device","set_input_device"],["center_viewport_to_cursor","center_viewport_to_caret"],["change_scene","change_scene_to_file"],["change_scene_to","change_scene_to_packed"],["clip_polygons_2d","clip_polygons"],["clip_polyline_with_polygon_2d","clip_polyline_with_polygon"],["commit_handle","_commit_handle"],["convex_hull_2d","convex_hull"],["create_gizmo","_create_gizmo"],["cursor_get_blink_speed","get_caret_blink_interval"],["cursor_get_column","get_caret_column"],["cursor_get_line","get_caret_line"],["cursor_set_blink_enabled","set_caret_blink_enabled"],["cursor_set_blink_speed","set_caret_blink_interval"],["cursor_set_column","set_caret_column"],["cursor_set_line","set_caret_line"],["damped_spring_joint_create","joint_make_damped_spring"],["damped_string_joint_get_param","damped_spring_joint_get_param"],["damped_string_joint_set_param","damped_spring_joint_set_param"],["dectime","move_toward"],["delete_char_at_cursor","delete_char_at_caret"],["deselect_items","deselect_all"],["disable_plugin","_disable_plugin"],["drop_data","_drop_data"],["exclude_polygons_2d","exclude_polygons"],["find_node","find_child"],["find_scancode_from_string","find_keycode_from_string"],["forward_canvas_draw_over_viewport","_forward_canvas_draw_over_viewport"],["forward_canvas_force_draw_over_viewport","_forward_canvas_force_draw_over_viewport"],["forward_canvas_gui_input","_forward_canvas_gui_input"],["forward_spatial_draw_over_viewport","_forward_3d_draw_over_viewport"],["forward_spatial_force_draw_over_viewport","_forward_3d_force_draw_over_viewport"],["forward_spatial_gui_input","_forward_3d_gui_input"],["generate_from_path","_generate_from_path"],["generate_small_preview_automatically","_generate_small_preview_automatically"],["get_action_list","action_get_events"],["get_alt","is_alt_pressed"],["get_animation_process_mode","get_process_callback"],["get_applied_force","get_constant_force"],["get_applied_torque","get_constant_torque"],["get_audio_bus","get_audio_bus_name"],["get_bound_child_nodes_to_bone","get_bone_children"],["get_camera","get_camera_3d"],["get_cancel","get_cancel_button"],["get_caption","_get_caption"],["get_cast_to","get_target_position"],["get_child_by_name","_get_child_by_name"],["get_child_nodes","_get_child_nodes"],["get_closest_point_to_segment_2d","get_closest_point_to_segment"],["get_closest_point_to_segment_uncapped_2d","get_closest_point_to_segment_uncapped"],["get_closest_points_between_segments_2d","get_closest_point_to_segment"],["get_collision_layer_bit","get_collision_layer_value"],["get_collision_mask_bit","get_collision_mask_value"],["get_color_types","get_color_type_list"],["get_command","is_command_or_control_pressed"],["get_constant_types","get_constant_type_list"],["get_control","is_ctrl_pressed"],["get_cull_mask_bit","get_cull_mask_value"],["get_cursor_position","get_caret_column"],["get_d","get_distance"],["get_default_length","get_length"],["get_depth_bias_enable","get_depth_bias_enabled"],["get_device","get_output_device"],["get_device_list","get_output_device_list"],["get_drag_data","_get_drag_data"],["get_editor_viewport","get_editor_main_screen"],["get_enabled_focus_mode","get_focus_mode"],["get_endian_swap","is_big_endian"],["get_error_string","get_error_message"],["get_filename","get_scene_file_path"],["get_final_location","get_final_position"],["get_focus_neighbour","get_focus_neighbor"],["get_follow_smoothing","get_position_smoothing_speed"],["get_font_types","get_font_type_list"],["get_frame_color","get_color"],["get_global_rate_scale","get_playback_speed_scale"],["get_gravity_distance_scale","get_gravity_point_unit_distance"],["get_gravity_vector","get_gravity_direction"],["get_h_scrollbar","get_h_scroll_bar"],["get_hand","get_tracker_hand"],["get_handle_name","_get_handle_name"],["get_handle_value","_get_handle_value"],["get_icon_align","get_icon_alignment"],["get_icon_types","get_icon_type_list"],["get_idle_frames","get_process_frames"],["get_import_options","_get_import_options"],["get_import_order","_get_import_order"],["get_importer_name","_get_importer_name"],["get_interior_ambient","get_ambient_color"],["get_interior_ambient_energy","get_ambient_color_energy"],["get_item_navmesh","get_item_navigation_mesh"],["get_item_navmesh_transform","get_item_navigation_mesh_transform"],["get_iterations_per_second","get_physics_ticks_per_second"],["get_last_mouse_speed","get_last_mouse_velocity"],["get_layer_mask_bit","get_layer_mask_value"],["get_len","get_length"],["get_max_atlas_size","get_max_texture_size"],["get_metakey","is_meta_pressed"],["get_mid_height","get_height"],["get_motion_remainder","get_remainder"],["get_nav_path","get_current_navigation_path"],["get_nav_path_index","get_current_navigation_path_index"],["get_neighbor_dist","get_neighbor_distance"],["get_network_connected_peers","get_peers"],["get_network_master","get_multiplayer_authority"],["get_network_peer","get_multiplayer_peer"],["get_network_unique_id","get_unique_id"],["get_next_location","get_next_path_position"],["get_ok","get_ok_button"],["get_oneshot","get_one_shot"],["get_option_visibility","_get_option_visibility"],["get_parameter_default_value","_get_parameter_default_value"],["get_parameter_list","_get_parameter_list"],["get_parent_spatial","get_parent_node_3d"],["get_pause_mode","get_process_mode"],["get_physical_scancode","get_physical_keycode"],["get_physical_scancode_with_modifiers","get_physical_keycode_with_modifiers"],["get_plugin_icon","_get_plugin_icon"],["get_plugin_name","_get_plugin_name"],["get_preset_count","_get_preset_count"],["get_preset_name","_get_preset_name"],["get_recognized_extensions","_get_recognized_extensions"],["get_render_info","get_rendering_info"],["get_render_targetsize","get_render_target_size"],["get_resource_type","_get_resource_type"],["get_result","get_data"],["get_reverb_bus","set_reverb_bus_name"],["get_rpc_sender_id","get_remote_sender_id"],["get_save_extension","_get_save_extension"],["get_scancode","get_keycode"],["get_scancode_string","get_keycode_string"],["get_scancode_with_modifiers","get_keycode_with_modifiers"],["get_selected_path","get_current_directory"],["get_shader_param","get_shader_parameter"],["get_shift","is_shift_pressed"],["get_size_override","get_size_2d_override"],["get_slide_count","get_slide_collision_count"],["get_slips_on_slope","get_slide_on_slope"],["get_space_override_mode","get_gravity_space_override_mode"],["get_spatial_node","get_node_3d"],["get_speed","get_velocity"],["get_stylebox_types","get_stylebox_type_list"],["get_surface_material","get_surface_override_material"],["get_surface_material_count","get_surface_override_material_count"],["get_tab_disabled","is_tab_disabled"],["get_tab_hidden","is_tab_hidden"],["get_target_location","get_target_position"],["get_text_align","get_text_alignment"],["get_theme_item_types","get_theme_item_type_list"],["get_timer_process_mode","get_timer_process_callback"],["get_translation","get_position"],["get_uniform_name","get_parameter_name"],["get_unit_db","get_volume_db"],["get_unit_offset","get_progress_ratio"],["get_use_in_baked_light","is_baking_navigation"],["get_verts_per_poly","get_vertices_per_polygon"],["get_v_scrollbar","get_v_scroll_bar"],["get_visible_name","_get_visible_name"],["get_window_layout","_get_window_layout"],["get_word_under_cursor","get_word_under_caret"],["get_world","get_world_3d"],["get_zfar","get_far"],["get_znear","get_near"],["groove_joint_create","joint_make_groove"],["handle_menu_selected","_handle_menu_selected"],["handles_type","_handles_type"],["has_color","has_theme_color"],["has_color_override","has_theme_color_override"],["has_constant","has_theme_constant"],["has_constant_override","has_theme_constant_override"],["has_filter","_has_filter"],["has_font","has_theme_font"],["has_font_override","has_theme_font_override"],["has_icon","has_theme_icon"],["has_icon_override","has_theme_icon_override"],["has_main_screen","_has_main_screen"],["has_network_peer","has_multiplayer_peer"],["has_stylebox","has_theme_stylebox"],["has_stylebox_override","has_theme_stylebox_override"],["http_escape","uri_encode"],["http_unescape","uri_decode"],["import_scene_from_other_importer","_import_scene"],["instance_set_surface_material","instance_set_surface_override_material"],["interpolate","sample"],["intersect_polygons_2d","intersect_polygons"],["intersect_polyline_with_polygon_2d","intersect_polyline_with_polygon"],["is_a_parent_of","is_ancestor_of"],["is_commiting_action","is_committing_action"],["is_doubleclick","is_double_click"],["is_draw_red","is_draw_warning"],["is_follow_smoothing_enabled","is_position_smoothing_enabled"],["is_h_drag_enabled","is_drag_horizontal_enabled"],["is_handle_highlighted","_is_handle_highlighted"],["is_inverting_faces","get_flip_faces"],["is_network_master","is_multiplayer_authority"],["is_network_server","is_server"],["is_normalmap","is_normal_map"],["is_refusing_new_network_connections","is_refusing_new_connections"],["is_region","is_region_enabled"],["is_rotating","is_ignoring_rotation"],["is_scancode_unicode","is_keycode_unicode"],["is_selectable_when_hidden","_is_selectable_when_hidden"],["is_set_as_toplevel","is_set_as_top_level"],["is_shortcut","matches_event"],["is_size_override_stretch_enabled","is_size_2d_override_stretch_enabled"],["is_sort_enabled","is_y_sort_enabled"],["is_static_body","is_able_to_sleep"],["is_v_drag_enabled","is_drag_vertical_enabled"],["joint_create_cone_twist","joint_make_cone_twist"],["joint_create_generic_6dof","joint_make_generic_6dof"],["joint_create_hinge","joint_make_hinge"],["joint_create_pin","joint_make_pin"],["joint_create_slider","joint_make_slider"],["line_intersects_line_2d","line_intersects_line"],["load_from_globals","load_from_project_settings"],["load_interactive","load_threaded_request"],["make_convex_from_brothers","make_convex_from_siblings"],["make_visible","_make_visible"],["merge_polygons_2d","merge_polygons"],["mesh_surface_get_format","mesh_surface_get_format_attribute_stride"],["mesh_surface_update_region","mesh_surface_update_attribute_region"],["move_to_bottom","move_after"],["move_to_top","move_before"],["multimesh_allocate","multimesh_allocate_data"],["normalmap_to_xy","normal_map_to_xy"],["offset_polygon_2d","offset_polygon"],["offset_polyline_2d","offset_polyline"],["percent_decode","uri_decode"],["percent_encode","uri_encode"],["pin_joint_create","joint_make_pin"],["popup_centered_minsize","popup_centered_clamped"],["post_import","_post_import"],["print_stray_nodes","print_orphan_nodes"],["property_list_changed_notify","notify_property_list_changed"],["recognize","_recognize"],["regen_normalmaps","regen_normal_maps"],["region_bake_navmesh","region_bake_navigation_mesh"],["region_set_navmesh","region_set_navigation_mesh"],["region_set_navpoly","region_set_navigation_polygon"],["reload_scripts","reload_open_files"],["remove_animation","remove_animation_library"],["remove_color_override","remove_theme_color_override"],["remove_constant_override","remove_theme_constant_override"],["remove_font_override","remove_theme_font_override"],["remove_icon_override","remove_theme_icon_override"],["remove_scene_import_plugin","remove_scene_format_importer_plugin"],["remove_spatial_gizmo_plugin","remove_node_3d_gizmo_plugin"],["remove_stylebox_override","remove_theme_stylebox_override"],["rename_animation","rename_animation_library"],["rename_dependencies","_rename_dependencies"],["save_external_data","_save_external_data"],["segment_intersects_segment_2d","segment_intersects_segment"],["set_adjustment_enable","set_adjustment_enabled"],["set_alt","set_alt_pressed"],["set_anchor_and_margin","set_anchor_and_offset"],["set_anchors_and_margins_preset","set_anchors_and_offsets_preset"],["set_animation_process_mode","set_process_callback"],["set_as_bulk_array","set_buffer"],["set_as_normalmap","set_as_normal_map"],["set_as_toplevel","set_as_top_level"],["set_audio_bus","set_audio_bus_name"],["set_autowrap","set_autowrap_mode"],["set_cast_to","set_target_position"],["set_collision_layer_bit","set_collision_layer_value"],["set_collision_mask_bit","set_collision_mask_value"],["set_column_min_width","set_column_custom_minimum_width"],["set_command","set_meta_pressed"],["set_control","set_ctrl_pressed"],["set_create_options","_set_create_options"],["set_cull_mask_bit","set_cull_mask_value"],["set_cursor_position","set_caret_column"],["set_d","set_distance"],["set_default_length","set_length"],["set_depth_bias_enable","set_depth_bias_enabled"],["set_device","set_output_device"],["set_doubleclick","set_double_click"],["set_draw_red","set_draw_warning"],["set_enable_follow_smoothing","set_position_smoothing_enabled"],["set_enabled_focus_mode","set_focus_mode"],["set_endian_swap","set_big_endian"],["set_expand_to_text_length","set_expand_to_text_length_enabled"],["set_filename","set_scene_file_path"],["set_focus_neighbour","set_focus_neighbor"],["set_follow_smoothing","set_position_smoothing_speed"],["set_frame_color","set_color"],["set_global_rate_scale","set_playback_speed_scale"],["set_gravity_distance_scale","set_gravity_point_unit_distance"],["set_gravity_vector","set_gravity_direction"],["set_h_drag_enabled","set_drag_horizontal_enabled"],["set_icon_align","set_icon_alignment"],["set_interior_ambient","set_ambient_color"],["set_interior_ambient_energy","set_ambient_color_energy"],["set_invert_faces","set_flip_faces"],["set_is_initialized","_is_initialized"],["set_is_primary","set_primary"],["set_item_navmesh","set_item_navigation_mesh"],["set_item_navmesh_transform","set_item_navigation_mesh_transform"],["set_iterations_per_second","set_physics_ticks_per_second"],["set_layer_mask_bit","set_layer_mask_value"],["set_margins_preset","set_offsets_preset"],["set_max_atlas_size","set_max_texture_size"],["set_metakey","set_meta_pressed"],["set_mid_height","set_height"],["set_neighbor_dist","set_neighbor_distance"],["set_network_master","set_multiplayer_authority"],["set_network_peer","set_multiplayer_peer"],["set_oneshot","set_one_shot"],["set_pause_mode","set_process_mode"],["set_physical_scancode","set_physical_keycode"],["set_proximity_fade","set_proximity_fade_enabled"],["set_refuse_new_network_connections","set_refuse_new_connections"],["set_region","set_region_enabled"],["set_region_filter_clip","set_region_filter_clip_enabled"],["set_reverb_bus","set_reverb_bus_name"],["set_rotate","set_rotates"],["set_scancode","set_keycode"],["set_shader_param","set_shader_parameter"],["set_shift","set_shift_pressed"],["set_size_override","set_size_2d_override"],["set_size_override_stretch","set_size_2d_override_stretch"],["set_slips_on_slope","set_slide_on_slope"],["set_sort_enabled","set_y_sort_enabled"],["set_space_override_mode","set_gravity_space_override_mode"],["set_spatial_node","set_node_3d"],["set_speed","set_velocity"],["set_ssao_edge_sharpness","set_ssao_sharpness"],["set_surface_material","set_surface_override_material"],["set_tab_align","set_tab_alignment"],["set_tangent","surface_set_tangent"],["set_target_location","set_target_position"],["set_text_align","set_text_alignment"],["set_timer_process_mode","set_timer_process_callback"],["set_translation","set_position"],["set_uniform_name","set_parameter_name"],["set_unit_db","set_volume_db"],["set_unit_offset","set_progress_ratio"],["set_uv2","surface_set_uv2"],["set_verts_per_poly","set_vertices_per_polygon"],["set_v_drag_enabled","set_drag_vertical_enabled"],["set_valign","set_vertical_alignment"],["set_window_layout","_set_window_layout"],["set_zfar","set_far"],["set_znear","set_near"],["shortcut_match","is_match"],["skeleton_allocate","skeleton_allocate_data"],["surface_update_region","surface_update_attribute_region"],["track_remove_key_at_position","track_remove_key_at_time"],["triangulate_delaunay_2d","triangulate_delaunay"],["unselect","deselect"],["unselect_all","deselect_all"],["update_configuration_warning","update_configuration_warnings"],["update_gizmo","update_gizmos"],["viewport_set_use_arvr","viewport_set_use_xr"],["warp_mouse_position","warp_mouse"],["world_to_map","local_to_map"],["clamped","limit_length"],["get_rotation_quat","get_rotation_quaternion"],["grow_margin","grow_side"],["is_abs_path","is_absolute_path"],["is_valid_integer","is_valid_int"],["linear_interpolate","lerp"],["find_last","rfind"],["to_ascii","to_ascii_buffer"],["to_utf8","to_utf8_buffer"],["to_wchar","to_wchar_buffer"],["bytes2var","bytes_to_var"],["bytes2var_with_objects","bytes_to_var_with_objects"],["db2linear","db_to_linear"],["deg2rad","deg_to_rad"],["linear2db","linear_to_db"],["rad2deg","rad_to_deg"],["rand_range","randf_range"],["range_lerp","remap"],["stepify","snapped"],["str2var","str_to_var"],["var2str","var_to_str"],["var2bytes","var_to_bytes"],["var2bytes_with_objects","var_to_bytes_with_objects"],["dict2inst","dict_to_inst"],["inst2dict","inst_to_dict"]],"csharp_function_renames":[["_AboutToShow","_AboutToPopup"],["_GetConfigurationWarning","_GetConfigurationWarnings"],["_SetCurrent","SetCurrent"],["_SetEditorDescription","SetEditorDescription"],["_SetPlaying","SetPlaying"],["_ToplevelRaiseSelf","_TopLevelRaiseSelf"],["AddCancel","AddCancelButton"],["AddCentralForce","AddConstantCentralForce"],["AddChildBelowNode","AddSibling"],["AddColorOverride","AddThemeColorOverride"],["AddConstantOverride","AddThemeConstantOverride"],["AddFontOverride","AddThemeFontOverride"],["AddForce","AddConstantForce"],["AddIconOverride","AddThemeIconOverride"],["AddSceneImportPlugin","AddSceneFormatImporterPlugin"],["AddSpatialGizmoPlugin","AddNode3dGizmoPlugin"],["AddStyleboxOverride","AddThemeStyleboxOverride"],["AddTorque","AddConstantTorque"],["AgentSetNeighborDist","AgentSetNeighborDistance"],["BindChildNodeToBone","SetBoneChildren"],["BumpmapToNormalmap","BumpMapToNormalMap"],["CanBeHidden","_CanBeHidden"],["CanDropData","_CanDropData"],["CanDropDataFw","_CanDropDataFw"],["CanGenerateSmallPreview","_CanGenerateSmallPreview"],["CanInstance","CanInstantiate"],["CanvasLightSetScale","CanvasLightSetTextureScale"],["CaptureGetDevice","GetInputDevice"],["CaptureGetDeviceList","GetInputDeviceList"],["CaptureSetDevice","SetInputDevice"],["CenterViewportToCursor","CenterViewportToCaret"],["ChangeScene","ChangeSceneToFile"],["ChangeSceneTo","ChangeSceneToPacked"],["ClipPolygons2d","ClipPolygons"],["ClipPolylineWithPolygon2d","ClipPolylineWithPolygon"],["CommitHandle","_CommitHandle"],["ConvexHull2d","ConvexHull"],["CursorGetBlinkSpeed","GetCaretBlinkInterval"],["CursorGetColumn","GetCaretColumn"],["CursorGetLine","GetCaretLine"],["CursorSetBlinkEnabled","SetCaretBlinkEnabled"],["CursorSetBlinkSpeed","SetCaretBlinkInterval"],["CursorSetColumn","SetCaretColumn"],["CursorSetLine","SetCaretLine"],["DampedSpringJointCreate","JointMakeDampedSpring"],["DampedStringJointGetParam","DampedSpringJointGetParam"],["DampedStringJointSetParam","DampedSpringJointSetParam"],["DeleteCharAtCursor","DeleteCharAtCaret"],["DeselectItems","DeselectAll"],["DropData","_DropData"],["DropDataFw","_DropDataFw"],["ExcludePolygons2d","ExcludePolygons"],["FindScancodeFromString","FindKeycodeFromString"],["ForwardCanvasDrawOverViewport","_ForwardCanvasDrawOverViewport"],["ForwardCanvasForceDrawOverViewport","_ForwardCanvasForceDrawOverViewport"],["ForwardCanvasGuiInput","_ForwardCanvasGuiInput"],["ForwardSpatialDrawOverViewport","_Forward3dDrawOverViewport"],["ForwardSpatialForceDrawOverViewport","_Forward3dForceDrawOverViewport"],["ForwardSpatialGuiInput","_Forward3dGuiInput"],["GenerateFromPath","_GenerateFromPath"],["GenerateSmallPreviewAutomatically","_GenerateSmallPreviewAutomatically"],["GetActionList","ActionGetEvents"],["GetAlt","IsAltPressed"],["GetAnimationProcessMode","GetProcessCallback"],["GetAppliedForce","GetConstantForce"],["GetAppliedTorque","GetConstantTorque"],["GetAudioBus","GetAudioBusName"],["GetBoundChildNodesToBone","GetBoneChildren"],["GetCamera","GetCamera3d"],["GetCancel","GetCancelButton"],["GetCaption","_GetCaption"],["GetCastTo","GetTargetPosition"],["GetChildByName","_GetChildByName"],["GetChildNodes","_GetChildNodes"],["GetClosestPointToSegment2d","GetClosestPointToSegment"],["GetClosestPointToSegmentUncapped2d","GetClosestPointToSegmentUncapped"],["GetClosestPointsBetweenSegments2d","GetClosestPointToSegment"],["GetCollisionLayerBit","GetCollisionLayerValue"],["GetCollisionMaskBit","GetCollisionMaskValue"],["GetColorTypes","GetColorTypeList"],["GetCommand","IsCommandPressed"],["GetConstantTypes","GetConstantTypeList"],["GetControl","IsCtrlPressed"],["GetCullMaskBit","GetCullMaskValue"],["GetCursorPosition","GetCaretColumn"],["GetD","GetDistance"],["GetDefaultLength","GetLength"],["GetDepthBiasEnable","GetDepthBiasEnabled"],["GetDevice","GetOutputDevice"],["GetDeviceList","GetOutputDeviceList"],["GetDragDataFw","_GetDragDataFw"],["GetEditorViewport","GetViewport"],["GetEnabledFocusMode","GetFocusMode"],["GetEndianSwap","IsBigEndian"],["GetErrorString","GetErrorMessage"],["GetFinalLocation","GetFinalPosition"],["GetFocusNeighbour","GetFocusNeighbor"],["GetFollowSmoothing","GetPositionSmoothingSpeed"],["GetFontTypes","GetFontTypeList"],["GetFrameColor","GetColor"],["GetGlobalRateScale","GetPlaybackSpeedScale"],["GetGravityDistanceScale","GetGravityPointDistanceScale"],["GetGravityVector","GetGravityDirection"],["GetHScrollbar","GetHScrollBar"],["GetHand","GetTrackerHand"],["GetHandleName","_GetHandleName"],["GetHandleValue","_GetHandleValue"],["GetIconAlign","GetIconAlignment"],["GetIconTypes","GetIconTypeList"],["GetIdleFrames","GetProcessFrames"],["GetImportOptions","_GetImportOptions"],["GetImportOrder","_GetImportOrder"],["GetImporterName","_GetImporterName"],["GetInteriorAmbient","GetAmbientColor"],["GetInteriorAmbientEnergy","GetAmbientColorEnergy"],["GetItemNavmesh","GetItemMavigationMesh"],["GetItemNavmeshTransform","GetItemNavigationMeshTransform"],["GetIterationsPerSecond","GetPhysicsTicksPerSecond"],["GetLastMouseSpeed","GetLastMouseVelocity"],["GetLayerMaskBit","GetLayerMaskValue"],["GetLen","GetLength"],["GetMaxAtlasSize","GetMaxTextureSize"],["GetMetakey","IsMetaPressed"],["GetMidHeight","GetHeight"],["GetMotionRemainder","GetRemainder"],["GetNavPath","GetCurrentNavigationPath"],["GetNavPathIndex","GetCurrentNavigationPathIndex"],["GetNeighborDist","GetNeighborDistance"],["GetNetworkConnectedPeers","GetPeers"],["GetNetworkMaster","GetMultiplayerAuthority"],["GetNetworkPeer","GetMultiplayerPeer"],["GetNetworkUniqueId","GetUniqueId"],["GetNextLocation","GetNextPathPosition"],["GetOneshot","GetOneShot"],["GetOk","GetOkButton"],["GetOptionVisibility","_GetOptionVisibility"],["GetParameterDefaultValue","_GetParameterDefaultValue"],["GetParameterList","_GetParameterList"],["GetParentSpatial","GetParentNode3d"],["GetPhysicalScancode","GetPhysicalKeycode"],["GetPhysicalScancodeWithModifiers","GetPhysicalKeycodeWithModifiers"],["GetPluginIcon","_GetPluginIcon"],["GetPluginName","_GetPluginName"],["GetPresetCount","_GetPresetCount"],["GetPresetName","_GetPresetName"],["GetRecognizedExtensions","_GetRecognizedExtensions"],["GetRenderInfo","GetRenderingInfo"],["GetRenderTargetsize","GetRenderTargetSize"],["GetResourceType","_GetResourceType"],["GetResult","GetData"],["GetReverbBus","GetReverbBusName"],["GetRpcSenderId","GetRemoteSenderId"],["GetSaveExtension","_GetSaveExtension"],["GetScancode","GetKeycode"],["GetScancodeString","GetKeycodeString"],["GetScancodeWithModifiers","GetKeycodeWithModifiers"],["GetShaderParam","GetShaderParameter"],["GetShift","IsShiftPressed"],["GetSizeOverride","GetSize2dOverride"],["GetSlipsOnSlope","GetSlideOnSlope"],["GetSpaceOverrideMode","GetGravitySpaceOverrideMode"],["GetSpatialNode","GetNode3d"],["GetSpeed","GetVelocity"],["GetStyleboxTypes","GetStyleboxTypeList"],["GetSurfaceMaterial","GetSurfaceOverrideMaterial"],["GetSurfaceMaterialCount","GetSurfaceOverrideMaterialCount"],["GetTabDisabled","IsTabDisabled"],["GetTabHidden","IsTabHidden"],["GetTargetLocation","GetTargetPosition"],["GetTextAlign","GetTextAlignment"],["GetThemeItemTypes","GetThemeItemTypeList"],["GetTimerProcessMode","GetTimerProcessCallback"],["GetTranslation","GetPosition"],["GetUniformName","GetParameterName"],["GetUnitDb","GetVolumeDb"],["GetUnitOffset","GetProgressRatio"],["GetUseInBakedLight","IsBakingNavigation"],["GetVertsPerPoly","GetVerticesPerPolygon"],["GetVScrollbar","GetVScrollBar"],["GetVisibleName","_GetVisibleName"],["GetWindowLayout","_GetWindowLayout"],["GetWordUnderCursor","GetWordUnderCaret"],["GetWorld","GetWorld3d"],["GetZfar","GetFar"],["GetZnear","GetNear"],["GrooveJointCreate","JointMakeGroove"],["HandleMenuSelected","_HandleMenuSelected"],["HandlesType","_HandlesType"],["HasColor","HasThemeColor"],["HasColorOverride","HasThemeColorOverride"],["HasConstant","HasThemeConstant"],["HasConstantOverride","HasThemeConstantOverride"],["HasFilter","_HasFilter"],["HasFont","HasThemeFont"],["HasFontOverride","HasThemeFontOverride"],["HasIcon","HasThemeIcon"],["HasIconOverride","HasThemeIconOverride"],["HasMainScreen","_HasMainScreen"],["HasNetworkPeer","HasMultiplayerPeer"],["HasStylebox","HasThemeStylebox"],["HasStyleboxOverride","HasThemeStyleboxOverride"],["HttpEscape","UriEncode"],["HttpUnescape","UriDecode"],["ImportAnimationFromOtherImporter","_ImportAnimation"],["ImportSceneFromOtherImporter","_ImportScene"],["InstanceSetSurfaceMaterial","InstanceSetSurfaceOverrideMaterial"],["IntersectPolygons2d","IntersectPolygons"],["IntersectPolylineWithPolygon2d","IntersectPolylineWithPolygon"],["IsAParentOf","IsAncestorOf"],["IsCommitingAction","IsCommittingAction"],["IsDoubleclick","IsDoubleClick"],["IsFollowSmoothingEnabled","IsPositionSmoothingEnabled"],["IsHDragEnabled","IsDragHorizontalEnabled"],["IsHandleHighlighted","_IsHandleHighlighted"],["IsNetworkMaster","IsMultiplayerAuthority"],["IsNetworkServer","IsServer"],["IsNormalmap","IsNormalMap"],["IsRefusingNewNetworkConnections","IsRefusingNewConnections"],["IsRegion","IsRegionEnabled"],["IsRotating","IsIgnoringRotation"],["IsScancodeUnicode","IsKeycodeUnicode"],["IsSelectableWhenHidden","_IsSelectableWhenHidden"],["IsSetAsToplevel","IsSetAsTopLevel"],["IsShortcut","MatchesEvent"],["IsSizeOverrideStretchEnabled","IsSize2dOverrideStretchEnabled"],["IsSortEnabled","IsYSortEnabled"],["IsStaticBody","IsAbleToSleep"],["IsVDragEnabled","IsDragVerticalEnabled"],["JointCreateConeTwist","JointMakeConeTwist"],["JointCreateGeneric6dof","JointMakeGeneric6dof"],["JointCreateHinge","JointMakeHinge"],["JointCreatePin","JointMakePin"],["JointCreateSlider","JointMakeSlider"],["LineIntersectsLine2d","LineIntersectsLine"],["LoadFromGlobals","LoadFromProjectSettings"],["MakeConvexFromBrothers","MakeConvexFromSiblings"],["MergePolygons2d","MergePolygons"],["MeshSurfaceGetFormat","MeshSurfaceGetFormatAttributeStride"],["MeshSurfaceUpdateRegion","MeshSurfaceUpdateAttributeRegion"],["MoveToBottom","MoveAfter"],["MoveToTop","MoveBefore"],["MultimeshAllocate","MultimeshAllocateData"],["NormalmapToXy","NormalMapToXy"],["OffsetPolygon2d","OffsetPolygon"],["OffsetPolyline2d","OffsetPolyline"],["PercentDecode","UriDecode"],["PercentEncode","UriEncode"],["PinJointCreate","JointMakePin"],["PopupCenteredMinsize","PopupCenteredClamped"],["PostImport","_PostImport"],["PrintStrayNodes","PrintOrphanNodes"],["PropertyListChangedNotify","NotifyPropertyListChanged"],["Recognize","_Recognize"],["RegenNormalmaps","RegenNormalMaps"],["RegionBakeNavmesh","region_bake_navigation_mesh"],["RegionSetNavmesh","RegionSetNavigationMesh"],["RegionSetNavpoly","RegionSetNavigationPolygon"],["RemoveAnimation","RemoveAnimationLibrary"],["RemoveColorOverride","RemoveThemeColorOverride"],["RemoveConstantOverride","RemoveThemeConstantOverride"],["RemoveFontOverride","RemoveThemeFontOverride"],["RemoveSceneImportPlugin","RemoveSceneFormatImporterPlugin"],["RemoveSpatialGizmoPlugin","RemoveNode3dGizmoPlugin"],["RemoveStyleboxOverride","RemoveThemeStyleboxOverride"],["RenameAnimation","RenameAnimationLibrary"],["RenameDependencies","_RenameDependencies"],["SaveExternalData","_SaveExternalData"],["SegmentIntersectsSegment2d","SegmentIntersectsSegment"],["SetAdjustmentEnable","SetAdjustmentEnabled"],["SetAlt","SetAltPressed"],["SetAnchorAndMargin","SetAnchorAndOffset"],["SetAnchorsAndMarginsPreset","SetAnchorsAndOffsetsPreset"],["SetAnimationProcessMode","SetProcessCallback"],["SetAsBulkArray","SetBuffer"],["SetAsNormalmap","SetAsNormalMap"],["SetAsToplevel","SetAsTopLevel"],["SetAudioBus","SetAudioBusName"],["SetAutowrap","SetAutowrapMode"],["SetCastTo","SetTargetPosition"],["SetCollisionLayerBit","SetCollisionLayerValue"],["SetCollisionMaskBit","SetCollisionMaskValue"],["SetColumnMinWidth","SetColumnCustomMinimumWidth"],["SetCommand","SetCommandPressed"],["SetControl","SetCtrlPressed"],["SetCreateOptions","_SetCreateOptions"],["SetCullMaskBit","SetCullMaskValue"],["SetCursorPosition","SetCaretColumn"],["SetD","SetDistance"],["SetDefaultLength","SetLength"],["SetDepthBiasEnable","SetDepthBiasEnabled"],["SetDevice","SetOutputDevice"],["SetDoubleclick","SetDoubleClick"],["SetEnableFollowSmoothing","SetPositionSmoothingEnabled"],["SetEnabledFocusMode","SetFocusMode"],["SetEndianSwap","SetBigEndian"],["SetExpandToTextLength","SetExpandToTextLengthEnabled"],["SetFocusNeighbour","SetFocusNeighbor"],["SetFollowSmoothing","SetPositionSmoothingSpeed"],["SetFrameColor","SetColor"],["SetGlobalRateScale","SetPlaybackSpeedScale"],["SetGravityDistanceScale","SetGravityPointDistanceScale"],["SetGravityVector","SetGravityDirection"],["SetHDragEnabled","SetDragHorizontalEnabled"],["SetIconAlign","SetIconAlignment"],["SetInteriorAmbient","SetAmbientColor"],["SetInteriorAmbientEnergy","SetAmbientColorEnergy"],["SetIsInitialized","_IsInitialized"],["SetIsPrimary","SetPrimary"],["SetItemNavmesh","SetItemNavigationMesh"],["SetItemNavmeshTransform","SetItemNavigationMeshTransform"],["SetIterationsPerSecond","SetPhysicsTicksPerSecond"],["SetLayerMaskBit","SetLayerMaskValue"],["SetMarginsPreset","SetOffsetsPreset"],["SetMaxAtlasSize","SetMaxTextureSize"],["SetMetakey","SetMetaPressed"],["SetMidHeight","SetHeight"],["SetNeighborDist","SetNeighborDistance"],["SetNetworkMaster","SetMultiplayerAuthority"],["SetNetworkPeer","SetMultiplayerPeer"],["SetOneshot","SetOneShot"],["SetPhysicalScancode","SetPhysicalKeycode"],["SetProximityFade","SetProximityFadeEnabled"],["SetRefuseNewNetworkConnections","SetRefuseNewConnections"],["SetRegion","SetRegionEnabled"],["SetRegionFilterClip","SetRegionFilterClipEnabled"],["SetReverbBus","SetReverbBusName"],["SetRotate","SetRotates"],["SetScancode","SetKeycode"],["SetShaderParam","SetShaderParameter"],["SetShift","SetShiftPressed"],["SetSizeOverride","SetSize2dOverride"],["SetSizeOverrideStretch","SetSize2dOverrideStretch"],["SetSlipsOnSlope","SetSlideOnSlope"],["SetSortEnabled","SetYSortEnabled"],["SetSpaceOverrideMode","SetGravitySpaceOverrideMode"],["SetSpatialNode","SetNode3d"],["SetSpeed","SetVelocity"],["SetSsaoEdgeSharpness","SetSsaoSharpness"],["SetSurfaceMaterial","SetSurfaceOverrideMaterial"],["SetTabAlign","SetTabAlignment"],["SetTangent","SurfaceSetTangent"],["SetTargetLocation","SetTargetPosition"],["SetTextAlign","SetTextAlignment"],["SetTimerProcessMode","SetTimerProcessCallback"],["SetTonemapAutoExposure","SetTonemapAutoExposureEnabled"],["SetTranslation","SetPosition"],["SetUniformName","SetParameterName"],["SetUnitDb","SetVolumeDb"],["SetUnitOffset","SetProgressRatio"],["SetUv2","SurfaceSetUv2"],["SetVertsPerPoly","SetVerticesPerPolygon"],["SetVDragEnabled","SetDragVerticalEnabled"],["SetValign","SetVerticalAlignment"],["SetWindowLayout","_SetWindowLayout"],["SetZfar","SetFar"],["SetZnear","SetNear"],["ShortcutMatch","IsMatch"],["SkeletonAllocate","SkeletonAllocateData"],["SurfaceUpdateRegion","SurfaceUpdateAttributeRegion"],["TrackRemoveKeyAtPosition","TrackRemoveKeyAtTime"],["TriangulateDelaunay2d","TriangulateDelaunay"],["UnbindChildNodeFromBone","RemoveBoneChild"],["Unselect","Deselect"],["UnselectAll","DeselectAll"],["UpdateConfigurationWarning","UpdateConfigurationWarnings"],["UpdateGizmo","UpdateGizmos"],["ViewportSetUseArvr","ViewportSetUseXr"],["WarpMousePosition","WarpMouse"],["WorldToMap","LocalToMap"],["Clamped","LimitLength"],["GetRotationQuat","GetRotationQuaternion"],["GrowMargin","GrowSide"],["IsAbsPath","IsAbsolutePath"],["IsValidInteger","IsValidInt"],["LinearInterpolate","Lerp"],["ToAscii","ToAsciiBuffer"],["ToUtf8","ToUtf8Buffer"],["Bytes2Var","BytesToVar"],["Bytes2VarWithObjects","BytesToVarWithObjects"],["Db2Linear","DbToLinear"],["Deg2Rad","DegToRad"],["Linear2Db","LinearToDb"],["Rad2Deg","RadToDeg"],["RandRange","RandfRange"],["RangeLerp","Remap"],["Stepify","Snapped"],["Str2Var","StrToVar"],["Var2Str","VarToStr"],["Var2Bytes","VarToBytes"],["Var2BytesWithObjects","VarToBytesWithObjects"],["Dict2Inst","DictToInst"],["Inst2Dict","InstToDict"]],"gdscript_properties_renames":[["as_normalmap","as_normal_map"],["bbcode_text","text"],["bg_focus","focus"],["capture_device","input_device"],["caret_blink_speed","caret_blink_interval"],["caret_moving_by_right_click","caret_move_on_right_click"],["caret_position","caret_column"],["cast_to","target_position"],["check_vadjust","check_v_offset"],["close_h_ofs","close_h_offset"],["close_v_ofs","close_v_offset"],["commentfocus","comment_focus"],["contacts_reported","max_contacts_reported"],["depth_bias_enable","depth_bias_enabled"],["drag_margin_bottom","drag_bottom_margin"],["drag_margin_h_enabled","drag_horizontal_enabled"],["drag_margin_left","drag_left_margin"],["drag_margin_right","drag_right_margin"],["drag_margin_top","drag_top_margin"],["drag_margin_v_enabled","drag_vertical_enabled"],["enabled_focus_mode","focus_mode"],["extra_spacing_bottom","spacing_bottom"],["extra_spacing_top","spacing_top"],["focus_neighbour_bottom","focus_neighbor_bottom"],["focus_neighbour_left","focus_neighbor_left"],["focus_neighbour_right","focus_neighbor_right"],["focus_neighbour_top","focus_neighbor_top"],["follow_viewport_enable","follow_viewport_enabled"],["file_icon_modulate","file_icon_color"],["files_disabled","file_disabled_color"],["folder_icon_modulate","folder_icon_color"],["global_rate_scale","playback_speed_scale"],["global_translation","global_position"],["gravity_distance_scale","gravity_point_unit_distance"],["gravity_vec","gravity_direction"],["hint_tooltip","tooltip_text"],["hseparation","h_separation"],["icon_align","icon_alignment"],["iterations_per_second","physics_ticks_per_second"],["invert_enable","invert_enabled"],["margin_bottom","offset_bottom"],["margin_left","offset_left"],["margin_right","offset_right"],["margin_top","offset_top"],["mid_height","height"],["navpoly","navigation_polygon"],["navmesh","navigation_mesh"],["neighbor_dist","neighbor_distance"],["octaves","fractal_octaves"],["offset_h","drag_horizontal_offset"],["offset_v","drag_vertical_offset"],["off_disabled","unchecked_disabled"],["on_disabled","checked_disabled"],["oneshot","one_shot"],["out_of_range_mode","max_polyphony"],["pause_mode","process_mode"],["physical_scancode","physical_keycode"],["polygon_verts_per_poly","polygon_vertices_per_polyon"],["popup_exclusive","exclusive"],["proximity_fade_enable","proximity_fade_enabled"],["rect_position","position"],["rect_global_position","global_position"],["rect_size","size"],["rect_min_size","custom_minimum_size"],["rect_rotation","rotation"],["rect_scale","scale"],["rect_pivot_offset","pivot_offset"],["rect_clip_content","clip_contents"],["refuse_new_network_connections","refuse_new_connections"],["region_filter_clip","region_filter_clip_enabled"],["reverb_bus_enable","reverb_bus_enabled"],["scancode","keycode"],["selectedframe","selected_frame"],["size_override_stretch","size_2d_override_stretch"],["slips_on_slope","slide_on_slope"],["smoothing_enabled","position_smoothing_enabled"],["smoothing_speed","position_smoothing_speed"],["ss_reflections_depth_tolerance","ssr_depth_tolerance"],["ss_reflections_enabled","ssr_enabled"],["ss_reflections_fade_in","ssr_fade_in"],["ss_reflections_fade_out","ssr_fade_out"],["ss_reflections_max_steps","ssr_max_steps"],["state_machine_selectedframe","state_machine_selected_frame"],["syntax_highlighting","syntax_highlighter"],["tab_align","tab_alignment"],["table_hseparation","table_h_separation"],["table_vseparation","table_v_separation"],["tangent","orthogonal"],["target_location","target_position"],["toplevel","top_level"],["translation","position"],["unit_db","volume_db"],["unit_offset","progress_ratio"],["vseparation","v_separation"]],"csharp_properties_renames":[["AsNormalmap","AsNormalMap"],["BbcodeText","Text"],["BgFocus","Focus"],["CaptureDevice","InputDevice"],["CaretBlinkSpeed","CaretBlinkInterval"],["CaretMovingByRightClick","CaretMoveOnRightClick"],["CaretPosition","CaretColumn"],["CastTo","TargetPosition"],["CheckVadjust","CheckVAdjust"],["CloseHOfs","CloseHOffset"],["CloseVOfs","CloseVOffset"],["Commentfocus","CommentFocus"],["ContactsReported","MaxContactsReported"],["DepthBiasEnable","DepthBiasEnabled"],["DragMarginBottom","DragBottomMargin"],["DragMarginHEnabled","DragHorizontalEnabled"],["DragMarginLeft","DragLeftMargin"],["DragMarginRight","DragRightMargin"],["DragMarginTop","DragTopMargin"],["DragMarginVEnabled","DragVerticalEnabled"],["EnabledFocusMode","FocusMode"],["ExtraSpacingBottom","SpacingBottom"],["ExtraSpacingTop","SpacingTop"],["FocusNeighbourBottom","FocusNeighborBottom"],["FocusNeighbourLeft","FocusNeighborLeft"],["FocusNeighbourRight","FocusNeighborRight"],["FocusNeighbourTop","FocusNeighborTop"],["FollowViewportEnable","FollowViewportEnabled"],["FileIconModulate","FileIconColor"],["FilesDisabled","FileDisabledColor"],["FolderIconModulate","FolderIconColor"],["GlobalRateScale","PlaybackSpeedScale"],["GravityDistanceScale","GravityPointDistanceScale"],["GravityVec","GravityDirection"],["HintTooltip","TooltipText"],["Hseparation","HSeparation"],["IconAlign","IconAlignment"],["IterationsPerSecond","PhysicsTicksPerSecond"],["InvertEnable","InvertEnabled"],["MarginBottom","OffsetBottom"],["MarginLeft","OffsetLeft"],["MarginRight","OffsetRight"],["MarginTop","OffsetTop"],["MidHeight","Height"],["Navpoly","NavigationPolygon"],["Navmesh","NavigationMesh"],["NeighborDist","NeighborDistance"],["Octaves","FractalOctaves"],["OffsetH","DragHorizontalOffset"],["OffsetV","DragVerticalOffset"],["OffDisabled","UncheckedDisabled"],["OnDisabled","CheckedDisabled"],["Oneshot","OneShot"],["OutOfRangeMode","MaxPolyphony"],["PauseMode","ProcessMode"],["Perpendicular","Orthogonal"],["PhysicalScancode","PhysicalKeycode"],["PopupExclusive","Exclusive"],["ProximityFadeEnable","ProximityFadeEnabled"],["RectPosition","Position"],["RectGlobalPosition","GlobalPosition"],["RectSize","Size"],["RectMinSize","CustomMinimumSize"],["RectRotation","Rotation"],["RectScale","Scale"],["RectPivotOffset","PivotOffset"],["RectClipContent","ClipContents"],["RefuseNewNetworkConnections","RefuseNewConnections"],["RegionFilterClip","RegionFilterClipEnabled"],["ReverbBusEnable","ReverbBusEnabled"],["Scancode","Keycode"],["Selectedframe","SelectedFrame"],["SizeOverrideStretch","Size2dOverrideStretch"],["SlipsOnSlope","SlideOnSlope"],["SmoothingEnabled","PositionSmoothingEnabled"],["SmoothingSpeed","PositionSmoothingSpeed"],["SsReflectionsDepthTolerance","SsrDepthTolerance"],["SsReflectionsEnabled","SsrEnabled"],["SsReflectionsFadeIn","SsrFadeIn"],["SsReflectionsFadeOut","SsrFadeOut"],["SsReflectionsMaxSteps","SsrMaxSteps"],["StateMachineSelectedframe","StateMachineSelectedFrame"],["SyntaxHighlighting","SyntaxHighlighter"],["TabAlign","TabAlignment"],["TableHseparation","TableHSeparation"],["TableVseparation","TableVSeparation"],["Tangent","Orthogonal"],["TargetLocation","TargetPosition"],["Toplevel","TopLevel"],["Translation","Position"],["UnitDb","VolumeDb"],["UnitOffset","ProgressRatio"],["Vseparation","VSeparation"]],"gdscript_signals_renames":[["about_to_show","about_to_popup"],["button_release","button_released"],["cancelled","canceled"],["item_double_clicked","item_icon_double_clicked"],["network_peer_connected","peer_connected"],["network_peer_disconnected","peer_disconnected"],["network_peer_packet","peer_packet"],["node_unselected","node_deselected"],["offset_changed","position_offset_changed"],["settings_changed","changed"],["skeleton_updated","pose_updated"],["tab_close","tab_closed"],["tab_hover","tab_hovered"],["text_entered","text_submitted"]],"csharp_signals_renames":[["AboutToShow","AboutToPopup"],["ButtonRelease","ButtonReleased"],["Cancelled","Canceled"],["ItemDoubleClicked","ItemIconDoubleClicked"],["NetworkPeerConnected","PeerConnected"],["NetworkPeerDisconnected","PeerDisconnected"],["NetworkPeerPacket","PeerPacket"],["NodeUnselected","NodeDeselected"],["OffsetChanged","PositionOffsetChanged"],["SettingsChanged","Changed"],["SkeletonUpdated","PoseUpdated"],["TabClose","TabClosed"],["TabHover","TabHovered"],["TextEntered","TextSubmitted"]],"project_settings_renames":[["audio/channel_disable_threshold_db","audio/buses/channel_disable_threshold_db"],["audio/channel_disable_time","audio/buses/channel_disable_time"],["audio/default_bus_layout","audio/buses/default_bus_layout"],["audio/driver","audio/driver/driver"],["audio/enable_audio_input","audio/driver/enable_input"],["audio/mix_rate","audio/driver/mix_rate"],["audio/output_latency","audio/driver/output_latency"],["audio/output_latency.web","audio/driver/output_latency.web"],["audio/video_delay_compensation_ms","audio/video/video_delay_compensation_ms"],["display/window/size/width","display/window/size/viewport_width"],["display/window/size/height","display/window/size/viewport_height"],["display/window/size/test_width","display/window/size/window_width_override"],["display/window/size/test_height","display/window/size/window_height_override"],["display/window/vsync/use_vsync","display/window/vsync/vsync_mode"],["editor/main_run_args","editor/run/main_run_args"],["gui/common/swap_ok_cancel","gui/common/swap_cancel_ok"],["network/limits/debugger_stdout/max_chars_per_second","network/limits/debugger/max_chars_per_second"],["network/limits/debugger_stdout/max_errors_per_second","network/limits/debugger/max_errors_per_second"],["network/limits/debugger_stdout/max_messages_per_frame","network/limits/debugger/max_queued_messages"],["network/limits/debugger_stdout/max_warnings_per_second","network/limits/debugger/max_warnings_per_second"],["network/ssl/certificates","network/tls/certificate_bundle_override"],["physics/2d/thread_model","physics/2d/run_on_thread"],["rendering/environment/default_clear_color","rendering/environment/defaults/default_clear_color"],["rendering/environment/default_environment","rendering/environment/defaults/default_environment"],["rendering/quality/depth_prepass/disable_for_vendors","rendering/driver/depth_prepass/disable_for_vendors"],["rendering/quality/depth_prepass/enable","rendering/driver/depth_prepass/enable"],["rendering/quality/shading/force_blinn_over_ggx","rendering/shading/overrides/force_blinn_over_ggx"],["rendering/quality/shading/force_blinn_over_ggx.mobile","rendering/shading/overrides/force_blinn_over_ggx.mobile"],["rendering/quality/shading/force_lambert_over_burley","rendering/shading/overrides/force_lambert_over_burley"],["rendering/quality/shading/force_lambert_over_burley.mobile","rendering/shading/overrides/force_lambert_over_burley.mobile"],["rendering/quality/shading/force_vertex_shading","rendering/shading/overrides/force_vertex_shading"],["rendering/quality/shadow_atlas/quadrant_0_subdiv","rendering/lights_and_shadows/shadow_atlas/quadrant_0_subdiv"],["rendering/quality/shadow_atlas/quadrant_1_subdiv","rendering/lights_and_shadows/shadow_atlas/quadrant_1_subdiv"],["rendering/quality/shadow_atlas/quadrant_2_subdiv","rendering/lights_and_shadows/shadow_atlas/quadrant_2_subdiv"],["rendering/quality/shadow_atlas/quadrant_3_subdiv","rendering/lights_and_shadows/shadow_atlas/quadrant_3_subdiv"],["rendering/quality/shadow_atlas/size","rendering/lights_and_shadows/shadow_atlas/size"],["rendering/quality/shadow_atlas/size.mobile","rendering/lights_and_shadows/shadow_atlas/size.mobile"],["rendering/vram_compression/import_etc2","rendering/textures/vram_compression/import_etc2_astc"],["rendering/vram_compression/import_s3tc","rendering/textures/vram_compression/import_s3tc_bptc"]],"project_godot_renames":[["channel_disable_threshold_db","buses/channel_disable_threshold_db"],["channel_disable_time","buses/channel_disable_time"],["default_bus_layout","buses/default_bus_layout"],["enable_audio_input","driver/enable_input"],["output_latency","driver/output_latency"],["output_latency.web","driver/output_latency.web"],["video_delay_compensation_ms","video/video_delay_compensation_ms"],["window/size/width","window/size/viewport_width"],["window/size/height","window/size/viewport_height"],["window/size/test_width","window/size/window_width_override"],["window/size/test_height","window/size/window_height_override"],["window/vsync/use_vsync","window/vsync/vsync_mode"],["main_run_args","run/main_run_args"],["common/swap_ok_cancel","common/swap_cancel_ok"],["limits/debugger_stdout/max_chars_per_second","limits/debugger/max_chars_per_second"],["limits/debugger_stdout/max_errors_per_second","limits/debugger/max_errors_per_second"],["limits/debugger_stdout/max_messages_per_frame","limits/debugger/max_queued_messages"],["limits/debugger_stdout/max_warnings_per_second","limits/debugger/max_warnings_per_second"],["ssl/certificates","tls/certificate_bundle_override"],["2d/thread_model","2d/run_on_thread"],["environment/default_clear_color","environment/defaults/default_clear_color"],["environment/default_environment","environment/defaults/default_environment"],["quality/depth_prepass/disable_for_vendors","driver/depth_prepass/disable_for_vendors"],["quality/depth_prepass/enable","driver/depth_prepass/enable"],["quality/shading/force_blinn_over_ggx","shading/overrides/force_blinn_over_ggx"],["quality/shading/force_blinn_over_ggx.mobile","shading/overrides/force_blinn_over_ggx.mobile"],["quality/shading/force_lambert_over_burley","shading/overrides/force_lambert_over_burley"],["quality/shading/force_lambert_over_burley.mobile","shading/overrides/force_lambert_over_burley.mobile"],["quality/shading/force_vertex_shading","shading/overrides/force_vertex_shading"],["quality/shadow_atlas/quadrant_0_subdiv","lights_and_shadows/shadow_atlas/quadrant_0_subdiv"],["quality/shadow_atlas/quadrant_1_subdiv","lights_and_shadows/shadow_atlas/quadrant_1_subdiv"],["quality/shadow_atlas/quadrant_2_subdiv","lights_and_shadows/shadow_atlas/quadrant_2_subdiv"],["quality/shadow_atlas/quadrant_3_subdiv","lights_and_shadows/shadow_atlas/quadrant_3_subdiv"],["quality/shadow_atlas/size","lights_and_shadows/shadow_atlas/size"],["quality/shadow_atlas/size.mobile","lights_and_shadows/shadow_atlas/size.mobile"],["vram_compression/import_etc2","textures/vram_compression/import_etc2_astc"],["vram_compression/import_s3tc","textures/vram_compression/import_s3tc_bptc"]],"input_map_renames":[[",\"alt\":",",\"alt_pressed\":"],[",\"shift\":",",\"shift_pressed\":"],[",\"control\":",",\"ctrl_pressed\":"],[",\"meta\":",",\"meta_pressed\":"],[",\"scancode\":",",\"keycode\":"],[",\"physical_scancode\":",",\"physical_keycode\":"],[",\"doubleclick\":",",\"double_click\":"]],"builtin_types_renames":[["PoolByteArray","PackedByteArray"],["PoolColorArray","PackedColorArray"],["PoolIntArray","PackedInt32Array"],["PoolRealArray","PackedFloat32Array"],["PoolStringArray","PackedStringArray"],["PoolVector2Array","PackedVector2Array"],["PoolVector3Array","PackedVector3Array"],["Quat","Quaternion"],["Transform","Transform3D"]],"shaders_renames":[["ALPHA_SCISSOR","ALPHA_SCISSOR_THRESHOLD"],["CAMERA_MATRIX","INV_VIEW_MATRIX"],["INV_CAMERA_MATRIX","VIEW_MATRIX"],["NORMALMAP","NORMAL_MAP"],["NORMALMAP_DEPTH","NORMAL_MAP_DEPTH"],["TRANSMISSION","BACKLIGHT"],["WORLD_MATRIX","MODEL_MATRIX"],["depth_draw_alpha_prepass","depth_prepass_alpha"],["hint_albedo","source_color"],["hint_aniso","hint_anisotropy"],["hint_black","hint_default_black"],["hint_black_albedo","hint_default_black"],["hint_color","source_color"],["hint_white","hint_default_white"]],"class_renames":[["Area","Area3D"],["Camera","Camera3D"],["Path","Path3D"],["Reference","RefCounted"],["Shape","Shape3D"],["Tabs","TabBar"],["ARVRAnchor","XRAnchor3D"],["ARVRCamera","XRCamera3D"],["ARVRController","XRController3D"],["ARVRInterface","XRInterface"],["ARVRInterfaceGDNative","Node3D"],["ARVROrigin","XROrigin3D"],["ARVRPositionalTracker","XRPositionalTracker"],["ARVRServer","XRServer"],["AStar","AStar3D"],["AnimatedSprite","AnimatedSprite2D"],["AudioStreamOGGVorbis","AudioStreamOggVorbis"],["AudioStreamRandomPitch","AudioStreamRandomizer"],["AudioStreamSample","AudioStreamWAV"],["BakedLightmap","LightmapGI"],["BakedLightmapData","LightmapGIData"],["BitmapFont","FontFile"],["BoneAttachment","BoneAttachment3D"],["BoxShape","BoxShape3D"],["CPUParticles","CPUParticles3D"],["CSGBox","CSGBox3D"],["CSGCombiner","CSGCombiner3D"],["CSGCylinder","CSGCylinder3D"],["CSGMesh","CSGMesh3D"],["CSGPolygon","CSGPolygon3D"],["CSGPrimitive","CSGPrimitive3D"],["CSGShape","CSGShape3D"],["CSGSphere","CSGSphere3D"],["CSGTorus","CSGTorus3D"],["CapsuleShape","CapsuleShape3D"],["ClippedCamera","Camera3D"],["CollisionObject","CollisionObject3D"],["CollisionPolygon","CollisionPolygon3D"],["CollisionShape","CollisionShape3D"],["ConcavePolygonShape","ConcavePolygonShape3D"],["ConeTwistJoint","ConeTwistJoint3D"],["ConvexPolygonShape","ConvexPolygonShape3D"],["CubeMap","Cubemap"],["CubeMesh","BoxMesh"],["CylinderShape","CylinderShape3D"],["DirectionalLight","DirectionalLight3D"],["Directory","DirAccess"],["DynamicFont","FontFile"],["DynamicFontData","FontFile"],["EditorNavigationMeshGenerator","NavigationMeshGenerator"],["EditorSceneImporter","EditorSceneFormatImporter"],["EditorSceneImporterFBX","EditorSceneFormatImporterFBX2GLTF"],["EditorSceneImporterGLTF","EditorSceneFormatImporterGLTF"],["EditorSpatialGizmo","EditorNode3DGizmo"],["EditorSpatialGizmoPlugin","EditorNode3DGizmoPlugin"],["GIProbe","VoxelGI"],["GIProbeData","VoxelGIData"],["Generic6DOFJoint","Generic6DOFJoint3D"],["GeometryInstance","GeometryInstance3D"],["GradientTexture","GradientTexture2D"],["HeightMapShape","HeightMapShape3D"],["HingeJoint","HingeJoint3D"],["ImmediateGeometry","ImmediateMesh"],["ImmediateGeometry3D","ImmediateMesh"],["InterpolatedCamera","Camera3D"],["InterpolatedCamera3D","Camera3D"],["JSONParseResult","JSON"],["Joint","Joint3D"],["KinematicBody","CharacterBody3D"],["KinematicBody2D","CharacterBody2D"],["KinematicCollision","KinematicCollision3D"],["LargeTexture","ImageTexture"],["Light","Light3D"],["Light2D","PointLight2D"],["LineShape2D","WorldBoundaryShape2D"],["Listener","AudioListener3D"],["Listener2D","AudioListener2D"],["MeshInstance","MeshInstance3D"],["MultiMeshInstance","MultiMeshInstance3D"],["MultiplayerPeerGDNative","MultiplayerPeerExtension"],["Navigation2DServer","NavigationServer2D"],["NavigationAgent","NavigationAgent3D"],["NavigationMeshInstance","NavigationRegion3D"],["NavigationObstacle","NavigationObstacle3D"],["NavigationPolygonInstance","NavigationRegion2D"],["NavigationRegion","NavigationRegion3D"],["NavigationServer","NavigationServer3D"],["NetworkedMultiplayerCustom","MultiplayerPeerExtension"],["NetworkedMultiplayerENet","ENetMultiplayerPeer"],["NetworkedMultiplayerPeer","MultiplayerPeer"],["Occluder","OccluderInstance3D"],["OmniLight","OmniLight3D"],["OpenSimplexNoise","FastNoiseLite"],["PHashTranslation","OptimizedTranslation"],["PacketPeerGDNative","PacketPeerExtension"],["PanoramaSky","Sky"],["Particles2D","GPUParticles2D"],["ParticlesMaterial","ParticleProcessMaterial"],["PathFollow","PathFollow3D"],["PhysicalBone","PhysicalBone3D"],["Physics2DDirectBodyState","PhysicsDirectBodyState2D"],["Physics2DDirectSpaceState","PhysicsDirectSpaceState2D"],["Physics2DServer","PhysicsServer2D"],["Physics2DServerSW","GodotPhysicsServer2D"],["Physics2DShapeQueryParameters","PhysicsShapeQueryParameters2D"],["Physics2DTestMotionResult","PhysicsTestMotionResult2D"],["PhysicsBody","PhysicsBody3D"],["PhysicsDirectBodyState","PhysicsDirectBodyState3D"],["PhysicsDirectSpaceState","PhysicsDirectSpaceState3D"],["PhysicsServer","PhysicsServer3D"],["PhysicsShapeQueryParameters","PhysicsShapeQueryParameters3D"],["PhysicsTestMotionResult","PhysicsTestMotionResult3D"],["PinJoint","PinJoint3D"],["PlaneShape","WorldBoundaryShape3D"],["PopupDialog","Popup"],["Position2D","Marker2D"],["Position3D","Marker3D"],["ProceduralSky","Sky"],["RayCast","RayCast3D"],["RayShape","SeparationRayShape3D"],["RayShape2D","SeparationRayShape2D"],["RemoteTransform","RemoteTransform3D"],["ResourceInteractiveLoader","ResourceLoader"],["RigidBody","RigidBody3D"],["SceneTreeTween","Tween"],["ShortCut","Shortcut"],["Skeleton","Skeleton3D"],["SkeletonIK","SkeletonIK3D"],["SliderJoint","SliderJoint3D"],["SoftBody","SoftBody3D"],["Spatial","Node3D"],["SpatialGizmo","Node3DGizmo"],["SpatialMaterial","StandardMaterial3D"],["SphereShape","SphereShape3D"],["SpotLight","SpotLight3D"],["SpringArm","SpringArm3D"],["Sprite","Sprite2D"],["StaticBody","StaticBody3D"],["StreamCubemap","CompressedCubemap"],["StreamCubemapArray","CompressedCubemapArray"],["StreamPeerGDNative","StreamPeerExtension"],["StreamPeerSSL","StreamPeerTLS"],["StreamTexture","CompressedTexture2D"],["StreamTexture2D","CompressedTexture2D"],["StreamTexture2DArray","CompressedTexture2DArray"],["StreamTextureLayered","CompressedTextureLayered"],["TCP_Server","TCPServer"],["TextFile","Node3D"],["Texture","Texture2D"],["TextureArray","Texture2DArray"],["TextureProgress","TextureProgressBar"],["ToolButton","Button"],["VehicleBody","VehicleBody3D"],["VehicleWheel","VehicleWheel3D"],["VideoPlayer","VideoStreamPlayer"],["Viewport","SubViewport"],["ViewportContainer","SubViewportContainer"],["VisibilityEnabler","VisibleOnScreenEnabler3D"],["VisibilityEnabler2D","VisibleOnScreenEnabler2D"],["VisibilityNotifier","VisibleOnScreenNotifier3D"],["VisibilityNotifier2D","VisibleOnScreenNotifier2D"],["VisibilityNotifier3D","VisibleOnScreenNotifier3D"],["VisualInstance","VisualInstance3D"],["VisualServer","RenderingServer"],["VisualShaderNodeCubeMap","VisualShaderNodeCubemap"],["VisualShaderNodeScalarClamp","VisualShaderNodeClamp"],["VisualShaderNodeScalarConstant","VisualShaderNodeFloatConstant"],["VisualShaderNodeScalarFunc","VisualShaderNodeFloatFunc"],["VisualShaderNodeScalarInterp","VisualShaderNodeMix"],["VisualShaderNodeScalarOp","VisualShaderNodeFloatOp"],["VisualShaderNodeScalarSmoothStep","VisualShaderNodeSmoothStep"],["VisualShaderNodeScalarSwitch","VisualShaderNodeSwitch"],["VisualShaderNodeScalarTransformMult","VisualShaderNodeTransformOp"],["VisualShaderNodeTransformMult","VisualShaderNode"],["VisualShaderNodeVectorClamp","VisualShaderNodeClamp"],["VisualShaderNodeVectorInterp","VisualShaderNodeMix"],["VisualShaderNodeVectorScalarMix","VisualShaderNodeMix"],["VisualShaderNodeVectorScalarSmoothStep","VisualShaderNodeSmoothStep"],["VisualShaderNodeVectorScalarStep","VisualShaderNodeStep"],["VisualShaderNodeVectorSmoothStep","VisualShaderNodeSmoothStep"],["VisualShaderNodeBooleanUniform","VisualShaderNodeBooleanParameter"],["VisualShaderNodeColorUniform","VisualShaderNodeColorParameter"],["VisualShaderNodeScalarUniform","VisualShaderNodeFloatParameter"],["VisualShaderNodeCubemapUniform","VisualShaderNodeCubemapParameter"],["VisualShaderNodeTextureUniform","VisualShaderNodeTexture2DParameter"],["VisualShaderNodeTextureUniformTriplanar","VisualShaderNodeTextureParameterTriplanar"],["VisualShaderNodeTransformUniform","VisualShaderNodeTransformParameter"],["VisualShaderNodeVec3Uniform","VisualShaderNodeVec3Parameter"],["VisualShaderNodeUniform","VisualShaderNodeParameter"],["VisualShaderNodeUniformRef","VisualShaderNodeParameterRef"],["WebRTCDataChannelGDNative","WebRTCDataChannelExtension"],["WebRTCMultiplayer","WebRTCMultiplayerPeer"],["WebRTCPeerConnectionGDNative","WebRTCPeerConnectionExtension"],["WindowDialog","Window"],["XRAnchor","XRAnchor3D"],["XRController","XRController3D"],["XROrigin","XROrigin3D"],["YSort","Node2D"]],"color_renames":[["aliceblue","ALICE_BLUE"],["antiquewhite","ANTIQUE_WHITE"],["aqua","AQUA"],["aquamarine","AQUAMARINE"],["azure","AZURE"],["beige","BEIGE"],["bisque","BISQUE"],["black","BLACK"],["blanchedalmond","BLANCHED_ALMOND"],["blue","BLUE"],["blueviolet","BLUE_VIOLET"],["brown","BROWN"],["burlywood","BURLYWOOD"],["cadetblue","CADET_BLUE"],["chartreuse","CHARTREUSE"],["chocolate","CHOCOLATE"],["coral","CORAL"],["cornflowerblue","CORNFLOWER_BLUE"],["cornsilk","CORNSILK"],["crimson","CRIMSON"],["cyan","CYAN"],["darkblue","DARK_BLUE"],["darkcyan","DARK_CYAN"],["darkgoldenrod","DARK_GOLDENROD"],["darkgray","DARK_GRAY"],["darkgreen","DARK_GREEN"],["darkkhaki","DARK_KHAKI"],["darkmagenta","DARK_MAGENTA"],["darkolivegreen","DARK_OLIVE_GREEN"],["darkorange","DARK_ORANGE"],["darkorchid","DARK_ORCHID"],["darkred","DARK_RED"],["darksalmon","DARK_SALMON"],["darkseagreen","DARK_SEA_GREEN"],["darkslateblue","DARK_SLATE_BLUE"],["darkslategray","DARK_SLATE_GRAY"],["darkturquoise","DARK_TURQUOISE"],["darkviolet","DARK_VIOLET"],["deeppink","DEEP_PINK"],["deepskyblue","DEEP_SKY_BLUE"],["dimgray","DIM_GRAY"],["dodgerblue","DODGER_BLUE"],["firebrick","FIREBRICK"],["floralwhite","FLORAL_WHITE"],["forestgreen","FOREST_GREEN"],["fuchsia","FUCHSIA"],["gainsboro","GAINSBORO"],["ghostwhite","GHOST_WHITE"],["gold","GOLD"],["goldenrod","GOLDENROD"],["gray","GRAY"],["green","GREEN"],["greenyellow","GREEN_YELLOW"],["honeydew","HONEYDEW"],["hotpink","HOT_PINK"],["indianred","INDIAN_RED"],["indigo","INDIGO"],["ivory","IVORY"],["khaki","KHAKI"],["lavender","LAVENDER"],["lavenderblush","LAVENDER_BLUSH"],["lawngreen","LAWN_GREEN"],["lemonchiffon","LEMON_CHIFFON"],["lightblue","LIGHT_BLUE"],["lightcoral","LIGHT_CORAL"],["lightcyan","LIGHT_CYAN"],["lightgoldenrod","LIGHT_GOLDENROD"],["lightgray","LIGHT_GRAY"],["lightgreen","LIGHT_GREEN"],["lightpink","LIGHT_PINK"],["lightsalmon","LIGHT_SALMON"],["lightseagreen","LIGHT_SEA_GREEN"],["lightskyblue","LIGHT_SKY_BLUE"],["lightslategray","LIGHT_SLATE_GRAY"],["lightsteelblue","LIGHT_STEEL_BLUE"],["lightyellow","LIGHT_YELLOW"],["lime","LIME"],["limegreen","LIME_GREEN"],["linen","LINEN"],["magenta","MAGENTA"],["maroon","MAROON"],["mediumaquamarine","MEDIUM_AQUAMARINE"],["mediumblue","MEDIUM_BLUE"],["mediumorchid","MEDIUM_ORCHID"],["mediumpurple","MEDIUM_PURPLE"],["mediumseagreen","MEDIUM_SEA_GREEN"],["mediumslateblue","MEDIUM_SLATE_BLUE"],["mediumspringgreen","MEDIUM_SPRING_GREEN"],["mediumturquoise","MEDIUM_TURQUOISE"],["mediumvioletred","MEDIUM_VIOLET_RED"],["midnightblue","MIDNIGHT_BLUE"],["mintcream","MINT_CREAM"],["mistyrose","MISTY_ROSE"],["moccasin","MOCCASIN"],["navajowhite","NAVAJO_WHITE"],["navyblue","NAVY_BLUE"],["oldlace","OLD_LACE"],["olive","OLIVE"],["olivedrab","OLIVE_DRAB"],["orange","ORANGE"],["orangered","ORANGE_RED"],["orchid","ORCHID"],["palegoldenrod","PALE_GOLDENROD"],["palegreen","PALE_GREEN"],["paleturquoise","PALE_TURQUOISE"],["palevioletred","PALE_VIOLET_RED"],["papayawhip","PAPAYA_WHIP"],["peachpuff","PEACH_PUFF"],["peru","PERU"],["pink","PINK"],["plum","PLUM"],["powderblue","POWDER_BLUE"],["purple","PURPLE"],["rebeccapurple","REBECCA_PURPLE"],["red","RED"],["rosybrown","ROSY_BROWN"],["royalblue","ROYAL_BLUE"],["saddlebrown","SADDLE_BROWN"],["salmon","SALMON"],["sandybrown","SANDY_BROWN"],["seagreen","SEA_GREEN"],["seashell","SEASHELL"],["sienna","SIENNA"],["silver","SILVER"],["skyblue","SKY_BLUE"],["slateblue","SLATE_BLUE"],["slategray","SLATE_GRAY"],["snow","SNOW"],["springgreen","SPRING_GREEN"],["steelblue","STEEL_BLUE"],["tan","TAN"],["teal","TEAL"],["thistle","THISTLE"],["tomato","TOMATO"],["transparent","TRANSPARENT"],["turquoise","TURQUOISE"],["violet","VIOLET"],["webgray","WEB_GRAY"],["webgreen","WEB_GREEN"],["webmaroon","WEB_MAROON"],["webpurple","WEB_PURPLE"],["wheat","WHEAT"],["white","WHITE"],["whitesmoke","WHITE_SMOKE"],["yellow","YELLOW"],["yellowgreen","YELLOW_GREEN"]],"theme_override_renames":[["custom_colors/","theme_override_colors/"],["custom_constants/","theme_override_constants/"],["custom_fonts/","theme_override_fonts/"],["custom_icons/","theme_override_icons/"],["custom_styles/","theme_override_styles/"],["theme_override_constants/offset_right","theme_override_constants/margin_right"],["theme_override_constants/offset_top","theme_override_constants/margin_top"],["theme_override_constants/offset_left","theme_override_constants/margin_left"],["theme_override_constants/offset_bottom","theme_override_constants/margin_bottom"],["theme_override_styles/panel","theme_override_styles/panel"],["theme_override_styles/tab_bg","theme_override_styles/tab_unselected"],["theme_override_styles/tab_fg","theme_override_styles/tab_selected"],["theme_override_colors/font_color_hover","theme_override_colors/font_hover_color"],["theme_override_colors/font_color_pressed","theme_override_colors/font_pressed_color"],["theme_override_colors/font_color_disabled","theme_override_colors/font_disabled_color"],["theme_override_colors/font_color_focus","theme_override_colors/font_focus_color"],["theme_override_colors/font_color_hover_pressed","theme_override_colors/font_hover_pressed_color"],["theme_override_colors/font_outline_modulate","theme_override_colors/font_outline_color"],["theme_override_colors/font_color_shadow","theme_override_colors/font_shadow_color"],["theme_override_constants/shadow_as_outline","theme_override_constants/shadow_outline_size"],["theme_override_constants/table_vseparation","theme_override_constants/table_v_separation"],["theme_override_constants/table_hseparation","theme_override_constants/table_h_separation"]]}}
|