From 655edc3d16ce484bd2948833b0320b180dc4fcd8 Mon Sep 17 00:00:00 2001 From: zomo Date: Wed, 23 Jun 2021 21:29:51 -0500 Subject: [PATCH] ts ini --- ts-lua/.gitignore | 1 + ts-lua/package-lock.json | 143 ++++++++++++++++++++++++++ ts-lua/package.json | 11 ++ ts-lua/readme.md | 5 + ts-lua/test.ts | 6 ++ ts-lua/tsconfig.json | 15 +++ ts-lua/types/2take1.d.ts | 15 +++ ts-lua/types/D3D.d.ts | 9 ++ ts-lua/types/Hooks.d.ts | 9 ++ ts-lua/types/Input.d.ts | 9 ++ ts-lua/types/Menu.d.ts | 45 ++++++++ ts-lua/types/RAGE/AI.d.ts | 10 ++ ts-lua/types/RAGE/Audio.d.ts | 10 ++ ts-lua/types/RAGE/Cam.d.ts | 10 ++ ts-lua/types/RAGE/Control.d.ts | 10 ++ ts-lua/types/RAGE/Cutscene.d.ts | 10 ++ ts-lua/types/RAGE/Decorator.d.ts | 10 ++ ts-lua/types/RAGE/Entity.d.ts | 10 ++ ts-lua/types/RAGE/Fire.d.ts | 10 ++ ts-lua/types/RAGE/Gameplay.d.ts | 10 ++ ts-lua/types/RAGE/Graphics.d.ts | 10 ++ ts-lua/types/RAGE/Interior.d.ts | 10 ++ ts-lua/types/RAGE/Network.d.ts | 10 ++ ts-lua/types/RAGE/Object.d.ts | 10 ++ ts-lua/types/RAGE/Ped.d.ts | 10 ++ ts-lua/types/RAGE/Player.d.ts | 10 ++ ts-lua/types/RAGE/Script.d.ts | 10 ++ ts-lua/types/RAGE/ScriptDraw.d.ts | 10 ++ ts-lua/types/RAGE/Stats.d.ts | 10 ++ ts-lua/types/RAGE/Streaming.d.ts | 10 ++ ts-lua/types/RAGE/System.d.ts | 10 ++ ts-lua/types/RAGE/Time.d.ts | 10 ++ ts-lua/types/RAGE/UI.d.ts | 10 ++ ts-lua/types/RAGE/Utils.d.ts | 10 ++ ts-lua/types/RAGE/Vehicle.d.ts | 10 ++ ts-lua/types/RAGE/Water.d.ts | 10 ++ ts-lua/types/RAGE/Weapon.d.ts | 10 ++ ts-lua/types/RAGE/Worldprobe.d.ts | 10 ++ ts-lua/types/structs/Feat.d.ts | 117 +++++++++++++++++++++ ts-lua/types/structs/MenuKey.d.ts | 29 ++++++ ts-lua/types/structs/PlayerFeat.d.ts | 42 ++++++++ ts-lua/types/structs/Regex.d.ts | 27 +++++ ts-lua/types/structs/RegexResult.d.ts | 44 ++++++++ ts-lua/types/structs/v2.d.ts | 64 ++++++++++++ ts-lua/types/structs/v3.d.ts | 102 ++++++++++++++++++ 45 files changed, 963 insertions(+) create mode 100644 ts-lua/.gitignore create mode 100644 ts-lua/package-lock.json create mode 100644 ts-lua/package.json create mode 100644 ts-lua/readme.md create mode 100644 ts-lua/test.ts create mode 100644 ts-lua/tsconfig.json create mode 100644 ts-lua/types/2take1.d.ts create mode 100644 ts-lua/types/D3D.d.ts create mode 100644 ts-lua/types/Hooks.d.ts create mode 100644 ts-lua/types/Input.d.ts create mode 100644 ts-lua/types/Menu.d.ts create mode 100644 ts-lua/types/RAGE/AI.d.ts create mode 100644 ts-lua/types/RAGE/Audio.d.ts create mode 100644 ts-lua/types/RAGE/Cam.d.ts create mode 100644 ts-lua/types/RAGE/Control.d.ts create mode 100644 ts-lua/types/RAGE/Cutscene.d.ts create mode 100644 ts-lua/types/RAGE/Decorator.d.ts create mode 100644 ts-lua/types/RAGE/Entity.d.ts create mode 100644 ts-lua/types/RAGE/Fire.d.ts create mode 100644 ts-lua/types/RAGE/Gameplay.d.ts create mode 100644 ts-lua/types/RAGE/Graphics.d.ts create mode 100644 ts-lua/types/RAGE/Interior.d.ts create mode 100644 ts-lua/types/RAGE/Network.d.ts create mode 100644 ts-lua/types/RAGE/Object.d.ts create mode 100644 ts-lua/types/RAGE/Ped.d.ts create mode 100644 ts-lua/types/RAGE/Player.d.ts create mode 100644 ts-lua/types/RAGE/Script.d.ts create mode 100644 ts-lua/types/RAGE/ScriptDraw.d.ts create mode 100644 ts-lua/types/RAGE/Stats.d.ts create mode 100644 ts-lua/types/RAGE/Streaming.d.ts create mode 100644 ts-lua/types/RAGE/System.d.ts create mode 100644 ts-lua/types/RAGE/Time.d.ts create mode 100644 ts-lua/types/RAGE/UI.d.ts create mode 100644 ts-lua/types/RAGE/Utils.d.ts create mode 100644 ts-lua/types/RAGE/Vehicle.d.ts create mode 100644 ts-lua/types/RAGE/Water.d.ts create mode 100644 ts-lua/types/RAGE/Weapon.d.ts create mode 100644 ts-lua/types/RAGE/Worldprobe.d.ts create mode 100644 ts-lua/types/structs/Feat.d.ts create mode 100644 ts-lua/types/structs/MenuKey.d.ts create mode 100644 ts-lua/types/structs/PlayerFeat.d.ts create mode 100644 ts-lua/types/structs/Regex.d.ts create mode 100644 ts-lua/types/structs/RegexResult.d.ts create mode 100644 ts-lua/types/structs/v2.d.ts create mode 100644 ts-lua/types/structs/v3.d.ts diff --git a/ts-lua/.gitignore b/ts-lua/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/ts-lua/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/ts-lua/package-lock.json b/ts-lua/package-lock.json new file mode 100644 index 0000000..dbe65df --- /dev/null +++ b/ts-lua/package-lock.json @@ -0,0 +1,143 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@rauschma/stringio": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rauschma/stringio/-/stringio-1.4.0.tgz", + "integrity": "sha512-3uor2f/MXZkmX5RJf8r+OC3WvZVzpSme0yyL0rQDPEnatE02qRcqwEwnsgpgriEck0S/n4vWtUd6tTtrJwk45Q==", + "requires": { + "@types/node": "^10.0.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + } + } + }, + "@types/node": { + "version": "14.17.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.4.tgz", + "integrity": "sha512-8kQ3+wKGRNN0ghtEn7EGps/B8CzuBz1nXZEIGGLP2GnwbqYn4dbTs7k+VKLTq1HvZLRCIDtN3Snx1Ege8B7L5A==" + }, + "enhanced-resolve": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", + "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "lua-types": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/lua-types/-/lua-types-2.10.1.tgz", + "integrity": "sha512-Ai7L25I5kHZYGN5C3LALUse7Eus0k/kM9tEO2zwReG2Xuker0c+0e2M4iyfiEvlGOmBc7cDouqJ5lFwyg8JqiQ==", + "dev": true, + "requires": { + "typescript-to-lua": "^0.39.0" + }, + "dependencies": { + "typescript-to-lua": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/typescript-to-lua/-/typescript-to-lua-0.39.6.tgz", + "integrity": "sha512-Yq+XsmFKknMlz9jm1FvTw5B7R4H8lYUly4uwxlR44aT4OFyG9S7mOImrTIF07j414PdrJSQ5dAAhQOBVRqHbMw==", + "dev": true, + "requires": { + "resolve": "^1.15.1", + "source-map": "^0.7.3", + "typescript": "~4.3.2" + } + } + } + }, + "node-ts": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/node-ts/-/node-ts-5.1.1.tgz", + "integrity": "sha512-summDCKhk7qaMlhe50vSzdhLqTowv4xCD+jEkPToYQD0fU1jshfC61hj5oPE7PZmYG1Af+HsVu8Vhr/jhFVENA==", + "requires": { + "@rauschma/stringio": "^1.4.0", + "@types/node": "^14.14.0" + } + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true + }, + "typescript": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.4.tgz", + "integrity": "sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==", + "dev": true + }, + "typescript-to-lua": { + "version": "0.40.1", + "resolved": "https://registry.npmjs.org/typescript-to-lua/-/typescript-to-lua-0.40.1.tgz", + "integrity": "sha512-wbnXddF+kPWKDQMcuVZLRUeZsMde5Qni6FnYIc3SKOAhg2/ZAm9ctWQsyQLwH8piMUX+uZzFXaJ3pMe186crfw==", + "dev": true, + "requires": { + "enhanced-resolve": "^5.8.2", + "resolve": "^1.15.1", + "source-map": "^0.7.3", + "typescript": "~4.3.2" + } + } + } +} diff --git a/ts-lua/package.json b/ts-lua/package.json new file mode 100644 index 0000000..d467f3b --- /dev/null +++ b/ts-lua/package.json @@ -0,0 +1,11 @@ +{ + "private": true, + "scripts": { + "build": "tstl", + "dev": "tstl --watch" + }, + "devDependencies": { + "lua-types": "^2.10.1", + "typescript-to-lua": "^0.40.1" + } +} diff --git a/ts-lua/readme.md b/ts-lua/readme.md new file mode 100644 index 0000000..d6a5740 --- /dev/null +++ b/ts-lua/readme.md @@ -0,0 +1,5 @@ +# notes + +- all `number` will be classified as `integer` or `float` in the `@remarks` or `@param`/`@returns` +- `vector` in the docs is represented as a `table` in lua, which is just an `object` in typescript +- `uint*_t` are `number`, not `Uint*Array` diff --git a/ts-lua/test.ts b/ts-lua/test.ts new file mode 100644 index 0000000..ef715bc --- /dev/null +++ b/ts-lua/test.ts @@ -0,0 +1,6 @@ +let a = new Feat('debug') +a.value_i + +menu.add_feature('', '', 0, () => { + +}) \ No newline at end of file diff --git a/ts-lua/tsconfig.json b/ts-lua/tsconfig.json new file mode 100644 index 0000000..eba5f1c --- /dev/null +++ b/ts-lua/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "esnext", + "lib": ["esnext"], + "moduleResolution": "node", + "types": ["lua-types/5.4"], + "strict": true, + "typeRoots": [ + "./types" + ] + }, + "tstl": { + "luaTarget": "JIT" + } +} \ No newline at end of file diff --git a/ts-lua/types/2take1.d.ts b/ts-lua/types/2take1.d.ts new file mode 100644 index 0000000..fee4099 --- /dev/null +++ b/ts-lua/types/2take1.d.ts @@ -0,0 +1,15 @@ +/** + * Menu Functions + * @public + */ +declare namespace lua2take1 { + type Player = number; + type Entity = number; + type Ped = number; + type Vehicle = number; + type Group = number; + type Hash = number; + type Ptfx = number; + type Any = number; + type Thread = number; +} \ No newline at end of file diff --git a/ts-lua/types/D3D.d.ts b/ts-lua/types/D3D.d.ts new file mode 100644 index 0000000..40b913a --- /dev/null +++ b/ts-lua/types/D3D.d.ts @@ -0,0 +1,9 @@ +/** + * D3D Functions + * @public + */ +declare namespace d3d { + + + +} \ No newline at end of file diff --git a/ts-lua/types/Hooks.d.ts b/ts-lua/types/Hooks.d.ts new file mode 100644 index 0000000..336ac01 --- /dev/null +++ b/ts-lua/types/Hooks.d.ts @@ -0,0 +1,9 @@ +/** + * Hook Functions + * @public + */ +declare namespace hook { + + + +} \ No newline at end of file diff --git a/ts-lua/types/Input.d.ts b/ts-lua/types/Input.d.ts new file mode 100644 index 0000000..ca83105 --- /dev/null +++ b/ts-lua/types/Input.d.ts @@ -0,0 +1,9 @@ +/** + * Input Functions + * @public + */ +declare namespace input { + + + +} \ No newline at end of file diff --git a/ts-lua/types/Menu.d.ts b/ts-lua/types/Menu.d.ts new file mode 100644 index 0000000..8d32cd6 --- /dev/null +++ b/ts-lua/types/Menu.d.ts @@ -0,0 +1,45 @@ +/** + * Menu Functions + * @public + */ +declare namespace menu { + + /** + * @param parent integer + */ + export function add_feature(name: string, type: string, parent: number, script_handler: (feat: Feat) => void): Feat; + + /** + * @param id int + */ + export function delete_feature(id: number): boolean; + + export function set_menu_can_navigate(): void; + + export function get_version(): void; + + /** + * @param parent integer + */ + export function add_player_feature(name: string, type: string, parent: number, script_handler: (feat: Feat) => void): PlayerFeat + + /** + * @param i uint32_t + */ + export function get_player_feature(i: number): PlayerFeat + + /** + * @param mode int + */ + export function is_threading_mode(mode: number): boolean + + /** + * @privateRemarks callback declaration may be wrong + */ + export function create_thread(callback: () => void, context: any): lua2take1.Thread + + export function has_thread_finished(id: lua2take1.Thread): boolean + + export function delete_thread(id: lua2take1.Thread): boolean + +} \ No newline at end of file diff --git a/ts-lua/types/RAGE/AI.d.ts b/ts-lua/types/RAGE/AI.d.ts new file mode 100644 index 0000000..e7bf509 --- /dev/null +++ b/ts-lua/types/RAGE/AI.d.ts @@ -0,0 +1,10 @@ +/** + * AI Functions + * @public + */ +declare namespace ai { + + + +} + diff --git a/ts-lua/types/RAGE/Audio.d.ts b/ts-lua/types/RAGE/Audio.d.ts new file mode 100644 index 0000000..096e042 --- /dev/null +++ b/ts-lua/types/RAGE/Audio.d.ts @@ -0,0 +1,10 @@ +/** + * Audio Functions + * @public + */ +declare namespace audio { + + + +} + diff --git a/ts-lua/types/RAGE/Cam.d.ts b/ts-lua/types/RAGE/Cam.d.ts new file mode 100644 index 0000000..65956b2 --- /dev/null +++ b/ts-lua/types/RAGE/Cam.d.ts @@ -0,0 +1,10 @@ +/** + * Cam Functions + * @public + */ +declare namespace cam { + + + +} + diff --git a/ts-lua/types/RAGE/Control.d.ts b/ts-lua/types/RAGE/Control.d.ts new file mode 100644 index 0000000..4166b7f --- /dev/null +++ b/ts-lua/types/RAGE/Control.d.ts @@ -0,0 +1,10 @@ +/** + * Control Functions + * @public + */ +declare namespace control { + + + +} + diff --git a/ts-lua/types/RAGE/Cutscene.d.ts b/ts-lua/types/RAGE/Cutscene.d.ts new file mode 100644 index 0000000..f73d337 --- /dev/null +++ b/ts-lua/types/RAGE/Cutscene.d.ts @@ -0,0 +1,10 @@ +/** + * Cutscene Functions + * @public + */ +declare namespace cutscene { + + + +} + diff --git a/ts-lua/types/RAGE/Decorator.d.ts b/ts-lua/types/RAGE/Decorator.d.ts new file mode 100644 index 0000000..f2306bd --- /dev/null +++ b/ts-lua/types/RAGE/Decorator.d.ts @@ -0,0 +1,10 @@ +/** + * Decorator Functions + * @public + */ +declare namespace decorator { + + + +} + diff --git a/ts-lua/types/RAGE/Entity.d.ts b/ts-lua/types/RAGE/Entity.d.ts new file mode 100644 index 0000000..01d7cb0 --- /dev/null +++ b/ts-lua/types/RAGE/Entity.d.ts @@ -0,0 +1,10 @@ +/** + * Entity Functions + * @public + */ +declare namespace entity { + + + +} + diff --git a/ts-lua/types/RAGE/Fire.d.ts b/ts-lua/types/RAGE/Fire.d.ts new file mode 100644 index 0000000..416999f --- /dev/null +++ b/ts-lua/types/RAGE/Fire.d.ts @@ -0,0 +1,10 @@ +/** + * Fire Functions + * @public + */ +declare namespace fire { + + + +} + diff --git a/ts-lua/types/RAGE/Gameplay.d.ts b/ts-lua/types/RAGE/Gameplay.d.ts new file mode 100644 index 0000000..c0af1dd --- /dev/null +++ b/ts-lua/types/RAGE/Gameplay.d.ts @@ -0,0 +1,10 @@ +/** + * Gameplay Functions + * @public + */ +declare namespace gameplay { + + + +} + diff --git a/ts-lua/types/RAGE/Graphics.d.ts b/ts-lua/types/RAGE/Graphics.d.ts new file mode 100644 index 0000000..1656414 --- /dev/null +++ b/ts-lua/types/RAGE/Graphics.d.ts @@ -0,0 +1,10 @@ +/** + * Graphics Functions + * @public + */ +declare namespace graphics { + + + +} + diff --git a/ts-lua/types/RAGE/Interior.d.ts b/ts-lua/types/RAGE/Interior.d.ts new file mode 100644 index 0000000..2a890db --- /dev/null +++ b/ts-lua/types/RAGE/Interior.d.ts @@ -0,0 +1,10 @@ +/** + * Interior Functions + * @public + */ +declare namespace interior { + + + +} + diff --git a/ts-lua/types/RAGE/Network.d.ts b/ts-lua/types/RAGE/Network.d.ts new file mode 100644 index 0000000..d1125c7 --- /dev/null +++ b/ts-lua/types/RAGE/Network.d.ts @@ -0,0 +1,10 @@ +/** + * Network Functions + * @public + */ +declare namespace network { + + + +} + diff --git a/ts-lua/types/RAGE/Object.d.ts b/ts-lua/types/RAGE/Object.d.ts new file mode 100644 index 0000000..ebceb5f --- /dev/null +++ b/ts-lua/types/RAGE/Object.d.ts @@ -0,0 +1,10 @@ +/** + * Object Functions + * @public + */ +declare namespace object { + + + +} + diff --git a/ts-lua/types/RAGE/Ped.d.ts b/ts-lua/types/RAGE/Ped.d.ts new file mode 100644 index 0000000..9124640 --- /dev/null +++ b/ts-lua/types/RAGE/Ped.d.ts @@ -0,0 +1,10 @@ +/** + * Ped Functions + * @public + */ +declare namespace ped { + + + +} + diff --git a/ts-lua/types/RAGE/Player.d.ts b/ts-lua/types/RAGE/Player.d.ts new file mode 100644 index 0000000..3c61eba --- /dev/null +++ b/ts-lua/types/RAGE/Player.d.ts @@ -0,0 +1,10 @@ +/** + * Player Functions + * @public + */ +declare namespace player { + + + +} + diff --git a/ts-lua/types/RAGE/Script.d.ts b/ts-lua/types/RAGE/Script.d.ts new file mode 100644 index 0000000..f56c3dd --- /dev/null +++ b/ts-lua/types/RAGE/Script.d.ts @@ -0,0 +1,10 @@ +/** + * Script Functions + * @public + */ +declare namespace script { + + + +} + diff --git a/ts-lua/types/RAGE/ScriptDraw.d.ts b/ts-lua/types/RAGE/ScriptDraw.d.ts new file mode 100644 index 0000000..4529e54 --- /dev/null +++ b/ts-lua/types/RAGE/ScriptDraw.d.ts @@ -0,0 +1,10 @@ +/** + * ScriptDraw Functions + * @public + */ +declare namespace scriptdraw { + + + +} + diff --git a/ts-lua/types/RAGE/Stats.d.ts b/ts-lua/types/RAGE/Stats.d.ts new file mode 100644 index 0000000..82aa7aa --- /dev/null +++ b/ts-lua/types/RAGE/Stats.d.ts @@ -0,0 +1,10 @@ +/** + * Stats Functions + * @public + */ +declare namespace stats { + + + +} + diff --git a/ts-lua/types/RAGE/Streaming.d.ts b/ts-lua/types/RAGE/Streaming.d.ts new file mode 100644 index 0000000..fb8e4d9 --- /dev/null +++ b/ts-lua/types/RAGE/Streaming.d.ts @@ -0,0 +1,10 @@ +/** + * Streaming Functions + * @public + */ +declare namespace streaming { + + + +} + diff --git a/ts-lua/types/RAGE/System.d.ts b/ts-lua/types/RAGE/System.d.ts new file mode 100644 index 0000000..e83af72 --- /dev/null +++ b/ts-lua/types/RAGE/System.d.ts @@ -0,0 +1,10 @@ +/** + * System Functions + * @public + */ +declare namespace system { + + + +} + diff --git a/ts-lua/types/RAGE/Time.d.ts b/ts-lua/types/RAGE/Time.d.ts new file mode 100644 index 0000000..7b7c925 --- /dev/null +++ b/ts-lua/types/RAGE/Time.d.ts @@ -0,0 +1,10 @@ +/** + * Time Functions + * @public + */ +declare namespace time { + + + +} + diff --git a/ts-lua/types/RAGE/UI.d.ts b/ts-lua/types/RAGE/UI.d.ts new file mode 100644 index 0000000..bb76aa4 --- /dev/null +++ b/ts-lua/types/RAGE/UI.d.ts @@ -0,0 +1,10 @@ +/** + * UI Functions + * @public + */ +declare namespace ui { + + + +} + diff --git a/ts-lua/types/RAGE/Utils.d.ts b/ts-lua/types/RAGE/Utils.d.ts new file mode 100644 index 0000000..a4cbdbf --- /dev/null +++ b/ts-lua/types/RAGE/Utils.d.ts @@ -0,0 +1,10 @@ +/** + * Utils Functions + * @public + */ +declare namespace utils { + + + +} + diff --git a/ts-lua/types/RAGE/Vehicle.d.ts b/ts-lua/types/RAGE/Vehicle.d.ts new file mode 100644 index 0000000..54428fd --- /dev/null +++ b/ts-lua/types/RAGE/Vehicle.d.ts @@ -0,0 +1,10 @@ +/** + * Vehicle Functions + * @public + */ +declare namespace vehicle { + + + +} + diff --git a/ts-lua/types/RAGE/Water.d.ts b/ts-lua/types/RAGE/Water.d.ts new file mode 100644 index 0000000..1caae5e --- /dev/null +++ b/ts-lua/types/RAGE/Water.d.ts @@ -0,0 +1,10 @@ +/** + * Water Functions + * @public + */ +declare namespace water { + + + +} + diff --git a/ts-lua/types/RAGE/Weapon.d.ts b/ts-lua/types/RAGE/Weapon.d.ts new file mode 100644 index 0000000..60487a3 --- /dev/null +++ b/ts-lua/types/RAGE/Weapon.d.ts @@ -0,0 +1,10 @@ +/** + * Weapon Functions + * @public + */ +declare namespace weapon { + + + +} + diff --git a/ts-lua/types/RAGE/Worldprobe.d.ts b/ts-lua/types/RAGE/Worldprobe.d.ts new file mode 100644 index 0000000..82bc872 --- /dev/null +++ b/ts-lua/types/RAGE/Worldprobe.d.ts @@ -0,0 +1,10 @@ +/** + * Worldprobe Functions + * @public + */ +declare namespace worldprobe { + + + +} + diff --git a/ts-lua/types/structs/Feat.d.ts b/ts-lua/types/structs/Feat.d.ts new file mode 100644 index 0000000..71a12bc --- /dev/null +++ b/ts-lua/types/structs/Feat.d.ts @@ -0,0 +1,117 @@ +/** + * a feature from the menu + * @public + */ +declare class Feat { + + /** + * only for testing, + * + * @param type "debug" + * + * @example + * + * new Feat("debug") + * + */ + constructor(type: "debug"); + + /** + * feature on/off boolean + */ + public get on(): boolean; + public set on(on: boolean); + + readonly parent: Feat|null; + + /** + * Only for parents + */ + readonly children: Feat[]; + + /** + * Only for parents + */ + readonly child_count: number; + + readonly type: number; + + /** + * Ids will be recycled after the feature is deleted + */ + readonly id: number; + + /** + * value for integer features + * + * @remarks integer + */ + public get value_i(): number; + public set value_i(value_i: number); + + /** + * min value + * + * @remarks integer + */ + public get min_1(): number; + public set min_1(min_1: number); + + /** + * max value + * + * @remarks integer + */ + public get max_i(): number; + public set max_i(max_i: number); + + /** + * step size + * + * @remarks integer + */ + public get mod_i(): number; + public set mod_i(mod_i: number); + + /** + * deprecated + * + * @deprecated + */ + public get threaded(): boolean; + public set threaded(threaded: boolean); + + public get name(): string; + public set name(name: string); + + /** + * d3d handler + * + * @privateRemarks + * + * it's only defined as `any` because I don't understand the d3d handler function enough + * + */ + public get renderer(): any; + public set renderer(renderer: any); + + /** + * show/hide featur + * + */ + public get hidden(): boolean; + public set hidden(hidden: boolean); + + /** + * additional context passed to script handlers + */ + public get data(): any; + public set data(data: any); + + /** + * + * @returns Feat + */ + public toggle(): Feat; + +} diff --git a/ts-lua/types/structs/MenuKey.d.ts b/ts-lua/types/structs/MenuKey.d.ts new file mode 100644 index 0000000..8ae5b0b --- /dev/null +++ b/ts-lua/types/structs/MenuKey.d.ts @@ -0,0 +1,29 @@ +/** + * + * @public + */ +declare class MenuKey { + + /** + * vector of virtual keys + * + * @remarks table + */ + readonly keys: object; + + /** + * @param virtualKeyCode uint32_t + */ + public push_vk(virtualKeyCode: number): void; + + public push_str(key: string): boolean; + + public pop(): void; + + public clear(): void; + + public is_down(): boolean; + + public is_down_stepped(): boolean; + +} diff --git a/ts-lua/types/structs/PlayerFeat.d.ts b/ts-lua/types/structs/PlayerFeat.d.ts new file mode 100644 index 0000000..74a0db3 --- /dev/null +++ b/ts-lua/types/structs/PlayerFeat.d.ts @@ -0,0 +1,42 @@ +/** + * a player feature + * @public + */ +declare class PlayerFeat { + + /** + * only for testing, + * + * @param type "debug" + * + * @example + * + * new Feat("debug") + * + */ + constructor(type: "debug"); + + readonly feats: Feat[]; + + readonly id: number; + + readonly parent_id: number; + + /** + * deprecated + */ + public get threaded(): boolean; + public set threaded(threaded: boolean); + + /** + * Make sure you set the renderer with the PlayerFeat function, and not the Feat function. Otherwise the handler will not receive the player id in the second param. + * + * @privateRemarks + * + * it's only defined as `any` because I don't understand the d3d handler function enough + * + */ + public get renderer(): any; + public set renderer(renderer: any); + +} diff --git a/ts-lua/types/structs/Regex.d.ts b/ts-lua/types/structs/Regex.d.ts new file mode 100644 index 0000000..472b49a --- /dev/null +++ b/ts-lua/types/structs/Regex.d.ts @@ -0,0 +1,27 @@ +/** + * + * @public + */ +declare class Regex { + + /** + * only for testing, + * + * @param type "debug" + * + * @example + * + * new Feat("debug") + * + */ + constructor(type: "debug"); + + readonly pattern: string; + + constructor(pattern: string); + + public search(subject: string): RegexResult; + + public __tostring(): string; + +} diff --git a/ts-lua/types/structs/RegexResult.d.ts b/ts-lua/types/structs/RegexResult.d.ts new file mode 100644 index 0000000..ac63387 --- /dev/null +++ b/ts-lua/types/structs/RegexResult.d.ts @@ -0,0 +1,44 @@ +/** + * + * @privateRemarks + * + * example directly translated from the api docs and is untested + * + * I also don't know if javascript's regex will work + * + * @example + * + * let r = new Regex("^(test123)"), + * s = "test123 abcd 345345", + * m = r.search(r, s) + * + * if (m.count > 0) + * ui.notify_above_map(m.matches[1], "Lua regex", 140) + * + * @public + */ +declare class RegexResult { + + /** + * only for testing, + * + * @param type "debug" + * + * @example + * + * new Feat("debug") + * + */ + constructor(type: "debug"); + + /** + * + * @remarks integer + */ + readonly count: number; + + readonly matches: string[]; + + public __tostring(): string; + +} diff --git a/ts-lua/types/structs/v2.d.ts b/ts-lua/types/structs/v2.d.ts new file mode 100644 index 0000000..9629e83 --- /dev/null +++ b/ts-lua/types/structs/v2.d.ts @@ -0,0 +1,64 @@ +/** + * a 2x1 matrix + * @public + */ +declare class v2 { + + /** + * + * @remarks float + */ + readonly x: number; + + /** + * + * @remarks float + */ + readonly y: number; + + /** + * + * @param x float + * @param y float + */ + constructor(x?: number, y?: number); + + /** + * + * @param val float + */ + public __add(val: v2|v3|number): v2; + + /** + * + * @param val float + */ + public __sub(val: v2|v3|number): v2; + + /** + * + * @param val float + */ + public __mul(val: v2|v3|number): v2; + + /** + * + * @param val float + */ + public __div(val: v2|v3|number): v2; + + public __eq(val: v2): boolean; + + public __lt(val: v2): boolean; + + public __le(val: v2): boolean; + + public __tostring(): string + + /** + * + * @returns float + */ + public magnitude(val: v2|null): number; + +} diff --git a/ts-lua/types/structs/v3.d.ts b/ts-lua/types/structs/v3.d.ts new file mode 100644 index 0000000..e6fb2c9 --- /dev/null +++ b/ts-lua/types/structs/v3.d.ts @@ -0,0 +1,102 @@ +/** + * a 3x1 matrix + * + * @privateRemarks + * + * example directly translated from the api docs and is untested + * + * @example + * + * let player_id = player.player_id(), + * player_ped = player.get_player_ped(player_id), + * pos = player.get_player_coords(player_id), + * rot = entity.get_entity_rotation(player_ped), + * dir = rot + * + * dir.transformRotToDir() + * dir *= 4 + * pos += dir + * + * @public + */ +declare class v3 { + + /** + * + * @remarks float + */ + readonly x: number; + + /** + * + * @remarks float + */ + readonly y: number; + + /** + * + * @remarks float + */ + readonly z: number; + + /** + * + * @param x float + * @param y float + * @param z float + */ + constructor(x?: number, y?: number, z?: number); + + /** + * + * @param val float + */ + public __add(val: v2|v3|number): v3; + + /** + * + * @param val float + */ + public __sub(val: v2|v3|number): v3; + + /** + * + * @param val float + */ + public __mul(val: v2|v3|number): v3; + + /** + * + * @param val float + */ + public __div(val: v2|v3|number): v3; + + public __eq(val: v2): boolean; + + public __lt(val: v2): boolean; + + public __le(val: v2): boolean; + + public __tostring(): string + + /** + * + * @returns float + */ + public magnitude(val: v3|null): number; + + /** + * + * @privateRemarks + * + * I don't understand this methough function enough to even try to test this in typescript + * + */ + public transformRotToDir(): void; + + public radToDeg(): void; + + public degToRad(): void; + +} +