@defold-typescript/types 0.50.1 → 0.52.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/api-availability.json +4 -58
- package/api-signatures.json +1128 -1552
- package/api-targets.json +15 -5
- package/examples/translations.json +19 -71
- package/fixtures/messages_doc.json +20 -39
- package/generated/b2d_world.d.ts +10 -10
- package/generated/buffer.d.ts +9 -9
- package/generated/builtin-messages.d.ts +16 -14
- package/generated/bullet3d_collision_object.d.ts +1 -1
- package/generated/bullet3d_constraint.d.ts +109 -7
- package/generated/bullet3d_shape.d.ts +2 -2
- package/generated/collectionfactory.d.ts +1 -1
- package/generated/collectionproxy.d.ts +2 -2
- package/generated/factory.d.ts +4 -2
- package/generated/go.d.ts +114 -220
- package/generated/graphics.d.ts +5 -0
- package/generated/gui.d.ts +148 -371
- package/generated/http.d.ts +4 -2
- package/generated/image.d.ts +56 -4
- package/generated/kinds/gui-script.d.ts +3 -0
- package/generated/kinds/render-script.d.ts +15 -15
- package/generated/kinds/script.d.ts +1 -0
- package/generated/liveupdate.d.ts +5 -1
- package/generated/material.d.ts +3 -3
- package/generated/model.d.ts +4 -5
- package/generated/particlefx.d.ts +20 -1
- package/generated/physics.d.ts +48 -4
- package/generated/render-script-modules/b2d.d.ts +711 -0
- package/generated/render-script-modules/bullet3d.d.ts +73 -0
- package/generated/render-script-modules/collectionfactory.d.ts +25 -0
- package/generated/render-script-modules/collectionproxy.d.ts +39 -0
- package/generated/render-script-modules/factory.d.ts +25 -0
- package/generated/render-script-modules/go.d.ts +436 -0
- package/generated/render-script-modules/label.d.ts +105 -0
- package/generated/render-script-modules/model.d.ts +89 -0
- package/generated/render-script-modules/particlefx.d.ts +59 -0
- package/generated/render-script-modules/physics.d.ts +333 -0
- package/generated/render-script-modules/resource.d.ts +1233 -0
- package/generated/render-script-modules/sound.d.ts +227 -0
- package/generated/render-script-modules/sprite.d.ts +68 -0
- package/generated/render-script-modules/tilemap.d.ts +43 -0
- package/generated/render.d.ts +175 -21
- package/generated/resource.d.ts +31 -10
- package/generated/sprite.d.ts +49 -1
- package/generated/sys.d.ts +78 -10
- package/generated/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.12.4/buffer.d.ts +8 -8
- package/generated/versions/defold-1.12.4/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.12.4/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.12.4/factory.d.ts +4 -2
- package/generated/versions/defold-1.12.4/go.d.ts +115 -343
- package/generated/versions/defold-1.12.4/graphics.d.ts +1 -0
- package/generated/versions/defold-1.12.4/gui.d.ts +151 -513
- package/generated/versions/defold-1.12.4/http.d.ts +4 -2
- package/generated/versions/defold-1.12.4/image.d.ts +83 -3
- package/generated/versions/defold-1.12.4/index.d.ts +2 -0
- package/generated/versions/defold-1.12.4/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.12.4/model.d.ts +4 -5
- package/generated/versions/defold-1.12.4/particlefx.d.ts +22 -1
- package/generated/versions/defold-1.12.4/physics.d.ts +47 -3
- package/generated/versions/defold-1.12.4/render.d.ts +119 -15
- package/generated/versions/defold-1.12.4/resource.d.ts +43 -10
- package/generated/versions/defold-1.12.4/sprite.d.ts +58 -1
- package/generated/versions/defold-1.12.4/sys.d.ts +101 -6
- package/generated/versions/defold-1.12.4/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.12.4/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.0/buffer.d.ts +8 -8
- package/generated/versions/defold-1.13.0/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.13.0/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.13.0/factory.d.ts +4 -2
- package/generated/versions/defold-1.13.0/go.d.ts +115 -370
- package/generated/versions/defold-1.13.0/graphics.d.ts +1 -0
- package/generated/versions/defold-1.13.0/gui.d.ts +151 -513
- package/generated/versions/defold-1.13.0/http.d.ts +4 -2
- package/generated/versions/defold-1.13.0/image.d.ts +83 -3
- package/generated/versions/defold-1.13.0/index.d.ts +2 -0
- package/generated/versions/defold-1.13.0/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.13.0/material.d.ts +3 -1
- package/generated/versions/defold-1.13.0/model.d.ts +4 -5
- package/generated/versions/defold-1.13.0/particlefx.d.ts +22 -1
- package/generated/versions/defold-1.13.0/physics.d.ts +47 -3
- package/generated/versions/defold-1.13.0/render.d.ts +182 -16
- package/generated/versions/defold-1.13.0/resource.d.ts +43 -10
- package/generated/versions/defold-1.13.0/sprite.d.ts +58 -1
- package/generated/versions/defold-1.13.0/sys.d.ts +101 -6
- package/generated/versions/defold-1.13.0/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.0/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.1/buffer.d.ts +8 -8
- package/generated/versions/defold-1.13.1/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.13.1/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.13.1/factory.d.ts +4 -2
- package/generated/versions/defold-1.13.1/go.d.ts +115 -370
- package/generated/versions/defold-1.13.1/graphics.d.ts +1 -0
- package/generated/versions/defold-1.13.1/gui.d.ts +151 -529
- package/generated/versions/defold-1.13.1/http.d.ts +4 -2
- package/generated/versions/defold-1.13.1/image.d.ts +83 -3
- package/generated/versions/defold-1.13.1/index.d.ts +3 -0
- package/generated/versions/defold-1.13.1/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.13.1/material.d.ts +3 -1
- package/generated/versions/defold-1.13.1/model.d.ts +4 -5
- package/generated/versions/defold-1.13.1/particlefx.d.ts +22 -1
- package/generated/versions/defold-1.13.1/physics.d.ts +47 -3
- package/generated/versions/defold-1.13.1/render.d.ts +182 -16
- package/generated/versions/defold-1.13.1/resource.d.ts +43 -10
- package/generated/versions/defold-1.13.1/sprite.d.ts +58 -1
- package/generated/versions/defold-1.13.1/sys.d.ts +101 -6
- package/generated/versions/defold-1.13.1/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.1/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.2/b2d_world.d.ts +10 -10
- package/generated/versions/defold-1.13.2/buffer.d.ts +9 -9
- package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +1 -1
- package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +109 -7
- package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +2 -2
- package/generated/versions/defold-1.13.2/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.13.2/collectionproxy.d.ts +2 -2
- package/generated/versions/defold-1.13.2/factory.d.ts +4 -2
- package/generated/versions/defold-1.13.2/go.d.ts +114 -220
- package/generated/versions/defold-1.13.2/graphics.d.ts +1 -0
- package/generated/versions/defold-1.13.2/gui.d.ts +148 -371
- package/generated/versions/defold-1.13.2/http.d.ts +4 -2
- package/generated/versions/defold-1.13.2/image.d.ts +56 -4
- package/generated/versions/defold-1.13.2/index.d.ts +3 -0
- package/generated/versions/defold-1.13.2/liveupdate.d.ts +5 -1
- package/generated/versions/defold-1.13.2/material.d.ts +3 -3
- package/generated/versions/defold-1.13.2/model.d.ts +4 -5
- package/generated/versions/defold-1.13.2/particlefx.d.ts +20 -1
- package/generated/versions/defold-1.13.2/physics.d.ts +48 -4
- package/generated/versions/defold-1.13.2/render.d.ts +164 -20
- package/generated/versions/defold-1.13.2/resource.d.ts +31 -10
- package/generated/versions/defold-1.13.2/sprite.d.ts +49 -1
- package/generated/versions/defold-1.13.2/sys.d.ts +78 -10
- package/generated/versions/defold-1.13.2/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.2/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.2/window.d.ts +1 -1
- package/generated/vmath.d.ts +0 -24
- package/generated/window.d.ts +1 -1
- package/identity-vocabulary.json +98 -7
- package/index.d.ts +3 -0
- package/package.json +3 -1
- package/scripts/generate-api-availability.ts +6 -22
- package/scripts/generate-api-signatures.ts +87 -21
- package/scripts/materialize-version.ts +53 -6
- package/scripts/regen.ts +256 -44
- package/scripts/signature-store-fs.ts +1 -0
- package/scripts/target-version.ts +26 -0
- package/src/api-doc.ts +26 -0
- package/src/component-properties.d.ts +226 -6
- package/src/core-types.ts +82 -20
- package/src/doc-corrections.ts +53 -5
- package/src/emit-dts.ts +1300 -269
- package/src/emit-messages.ts +289 -0
- package/src/engine-globals.d.ts +8 -2
- package/src/go-overloads.d.ts +80 -15
- package/src/gui-overloads.d.ts +489 -0
- package/src/gui-texture-removal.d.ts +41 -0
- package/src/index.ts +2 -0
- package/src/lifecycle.ts +46 -37
- package/src/luals-type-expr.ts +6 -1
- package/src/msg-overloads.d.ts +25 -13
- package/src/physics-event-guard.d.ts +39 -0
- package/src/render-overloads.d.ts +2 -2
- package/src/return-correction-provenance.ts +36 -6
- package/src/signature-store.ts +50 -0
- package/src/timers.d.ts +2 -1
- package/src/vmath-overloads.d.ts +26 -0
- package/src/window-event-guard.d.ts +5 -3
|
@@ -277,7 +277,7 @@ declare global {
|
|
|
277
277
|
* });
|
|
278
278
|
* ```
|
|
279
279
|
*/
|
|
280
|
-
function create_buffer(path: string, table: { buffer: Opaque<"buffer"
|
|
280
|
+
function create_buffer(path: string, table: { buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }; transfer_ownership?: boolean }): Hash;
|
|
281
281
|
/**
|
|
282
282
|
* Creates a sound data resource
|
|
283
283
|
* Supported formats are .oggc, .opusc and .wavc
|
|
@@ -310,7 +310,7 @@ declare global {
|
|
|
310
310
|
* });
|
|
311
311
|
* ```
|
|
312
312
|
*/
|
|
313
|
-
function create_sound_data(path: string, options: { data: string | Opaque<"buffer">; filesize?: number; partial?: boolean }): Hash;
|
|
313
|
+
function create_sound_data(path: string, options: { data: string | Opaque<"buffer">; filesize?: number; partial?: boolean } & ({ partial?: false } | ({ partial: true } & Required<Pick<{ data: string | Opaque<"buffer">; filesize?: number; partial?: boolean }, "filesize">>))): Hash;
|
|
314
314
|
/**
|
|
315
315
|
* Creates a new texture resource that can be used in the same way as any texture created during build time.
|
|
316
316
|
* The path used for creating the texture must be unique, trying to create a resource at a path that is already
|
|
@@ -500,7 +500,7 @@ declare global {
|
|
|
500
500
|
* }
|
|
501
501
|
* ```
|
|
502
502
|
*/
|
|
503
|
-
function create_texture(path: string, table: { type: number; width: number; height: number; depth?: number; format: number; flags?: number; max_mipmaps?: number; compression_type?: number; page_count?: number }, buffer?: Opaque<"buffer">): Hash;
|
|
503
|
+
function create_texture(path: string, table: { type: number; width: number; height: number; depth?: number; format: number; flags?: number; max_mipmaps?: number; compression_type?: number; page_count?: number }, buffer?: Opaque<"buffer"> & { length: LuaLengthMethod<number> }): Hash;
|
|
504
504
|
/**
|
|
505
505
|
* Creates a new texture resource that can be used in the same way as any texture created during build time.
|
|
506
506
|
* The path used for creating the texture must be unique, trying to create a resource at a path that is already
|
|
@@ -670,7 +670,7 @@ declare global {
|
|
|
670
670
|
* });
|
|
671
671
|
* ```
|
|
672
672
|
*/
|
|
673
|
-
function create_texture_async(path: string, table: { type: number; width: number; height: number; depth?: number; format: number; flags?: number; max_mipmaps?: number; compression_type?: number }, buffer: Opaque<"buffer"> | undefined, callback: (...args: unknown[]) => unknown): LuaMultiReturn<[Hash, number]>;
|
|
673
|
+
function create_texture_async(path: string, table: { type: number; width: number; height: number; depth?: number; format: number; flags?: number; max_mipmaps?: number; compression_type?: number }, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> } | undefined, callback: (...args: unknown[]) => unknown): LuaMultiReturn<[Hash, number]>;
|
|
674
674
|
/**
|
|
675
675
|
* Constructor-like function with two purposes:
|
|
676
676
|
*
|
|
@@ -749,7 +749,7 @@ declare global {
|
|
|
749
749
|
* });
|
|
750
750
|
* ```
|
|
751
751
|
*/
|
|
752
|
-
function get_buffer(path: Hash | string): Opaque<"buffer"
|
|
752
|
+
function get_buffer(path: Hash | string): Opaque<"buffer"> & { length: LuaLengthMethod<number> };
|
|
753
753
|
/**
|
|
754
754
|
* Gets render target info from a render target resource path or a render target handle
|
|
755
755
|
*
|
|
@@ -848,7 +848,40 @@ declare global {
|
|
|
848
848
|
* });
|
|
849
849
|
* ```
|
|
850
850
|
*/
|
|
851
|
-
function get_text_metrics(url: Hash | string, text: string
|
|
851
|
+
function get_text_metrics(url: Hash | string, text: string): { width: number; height: number; max_ascent: number; max_descent: number };
|
|
852
|
+
/**
|
|
853
|
+
* Gets the text metrics from a font
|
|
854
|
+
*
|
|
855
|
+
* @param url - the font to get the (unscaled) metrics from
|
|
856
|
+
* @param text - text to measure
|
|
857
|
+
* @param options - A table containing parameters for the text. Supported entries:
|
|
858
|
+
*
|
|
859
|
+
* `width`
|
|
860
|
+
* number The width of the text field. Not used if `line_break` is false.
|
|
861
|
+
* `leading`
|
|
862
|
+
* number The leading (default 1.0)
|
|
863
|
+
* `tracking`
|
|
864
|
+
* number The tracking (default 0.0)
|
|
865
|
+
* `line_break`
|
|
866
|
+
* boolean If the calculation should consider line breaks (default false)
|
|
867
|
+
* @returns a table with the following fields:
|
|
868
|
+
*
|
|
869
|
+
* - width
|
|
870
|
+
* - height
|
|
871
|
+
* - max_ascent
|
|
872
|
+
* - max_descent
|
|
873
|
+
* @example
|
|
874
|
+
* ```ts
|
|
875
|
+
* export default defineScript({
|
|
876
|
+
* init() {
|
|
877
|
+
* const font = go.get<label.properties>()("#label", "font");
|
|
878
|
+
* const metrics = resource.get_text_metrics(font, "The quick brown fox\n jumps over the lazy dog");
|
|
879
|
+
* pprint(metrics);
|
|
880
|
+
* },
|
|
881
|
+
* });
|
|
882
|
+
* ```
|
|
883
|
+
*/
|
|
884
|
+
function get_text_metrics(url: Hash | string, text: string, options: { width?: number; leading?: number; tracking?: number; line_break?: boolean }): { width: number; height: number; max_ascent: number; max_descent: number };
|
|
852
885
|
/**
|
|
853
886
|
* Gets texture info from a texture resource path or a texture handle
|
|
854
887
|
*
|
|
@@ -947,7 +980,7 @@ declare global {
|
|
|
947
980
|
* // custom_resources = resources/,assets/level_data.json
|
|
948
981
|
* ```
|
|
949
982
|
*/
|
|
950
|
-
function load(path: string): Opaque<"buffer"
|
|
983
|
+
function load(path: string): Opaque<"buffer"> & { length: LuaLengthMethod<number> };
|
|
951
984
|
/**
|
|
952
985
|
* Constructor-like function with two purposes:
|
|
953
986
|
*
|
|
@@ -1034,7 +1067,7 @@ declare global {
|
|
|
1034
1067
|
* resource.set(go.get<sprite.properties>()("#sprite", "texture0"), buffer);
|
|
1035
1068
|
* ```
|
|
1036
1069
|
*/
|
|
1037
|
-
function set(path: string | Hash, buffer: Opaque<"buffer">): void;
|
|
1070
|
+
function set(path: string | Hash, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }): void;
|
|
1038
1071
|
/**
|
|
1039
1072
|
* Sets the data for a specific atlas resource. Setting new atlas data is specified by passing in
|
|
1040
1073
|
* a texture path for the backing texture of the atlas, a list of geometries and a list of animations
|
|
@@ -1213,7 +1246,7 @@ declare global {
|
|
|
1213
1246
|
* });
|
|
1214
1247
|
* ```
|
|
1215
1248
|
*/
|
|
1216
|
-
function set_buffer(path: Hash | string, buffer: Opaque<"buffer"
|
|
1249
|
+
function set_buffer(path: Hash | string, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }, table?: { transfer_ownership?: boolean }): void;
|
|
1217
1250
|
/**
|
|
1218
1251
|
* Update internal sound resource (wavc/oggc/opusc) with new data
|
|
1219
1252
|
*
|
|
@@ -1466,7 +1499,7 @@ declare global {
|
|
|
1466
1499
|
* }
|
|
1467
1500
|
* ```
|
|
1468
1501
|
*/
|
|
1469
|
-
function set_texture(path: Hash | string, table: { type: number; width: number; height: number; format: number; x?: number; y?: number; z?: number; page?: number; mipmap?: number; compression_type?: number }, buffer: Opaque<"buffer">): void;
|
|
1502
|
+
function set_texture(path: Hash | string, table: { type: number; width: number; height: number; format: number; x?: number; y?: number; z?: number; page?: number; mipmap?: number; compression_type?: number }, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }): void;
|
|
1470
1503
|
/**
|
|
1471
1504
|
* Constructor-like function with two purposes:
|
|
1472
1505
|
*
|
|
@@ -62,7 +62,64 @@ declare global {
|
|
|
62
62
|
* });
|
|
63
63
|
* ```
|
|
64
64
|
*/
|
|
65
|
-
function play_flipbook(url: string | Hash | Url, id: string | Hash, complete_function?: (self: unknown, message_id: Hash, message: { current_tile: number; id: Hash }, sender: Url) => void
|
|
65
|
+
function play_flipbook(url: string | Hash | Url, id: string | Hash, complete_function?: (self: unknown, message_id: Hash, message: { current_tile: number; id: Hash }, sender: Url) => void): void;
|
|
66
|
+
/**
|
|
67
|
+
* Play an animation on a sprite component from its tile set
|
|
68
|
+
* An optional completion callback function can be provided that will be called when
|
|
69
|
+
* the animation has completed playing. If no function is provided,
|
|
70
|
+
* a animation_done message is sent to the script that started the animation.
|
|
71
|
+
*
|
|
72
|
+
* @param url - the sprite that should play the animation
|
|
73
|
+
* @param id - hashed id of the animation to play
|
|
74
|
+
* @param complete_function - function to call when the animation has completed.
|
|
75
|
+
*
|
|
76
|
+
* `self`
|
|
77
|
+
* object The current object.
|
|
78
|
+
* `message_id`
|
|
79
|
+
* hash The name of the completion message, `"animation_done"`.
|
|
80
|
+
* `message`
|
|
81
|
+
* table Information about the completion:
|
|
82
|
+
*
|
|
83
|
+
* - number `current_tile` - the current tile of the sprite.
|
|
84
|
+
* - hash `id` - id of the animation that was completed.
|
|
85
|
+
*
|
|
86
|
+
* `sender`
|
|
87
|
+
* url The invoker of the callback: the sprite component.
|
|
88
|
+
* @param play_properties - optional table with properties:
|
|
89
|
+
*
|
|
90
|
+
* `offset`
|
|
91
|
+
* number the normalized initial value of the animation cursor when the animation starts playing.
|
|
92
|
+
* `playback_rate`
|
|
93
|
+
* number the rate with which the animation will be played. Must be positive.
|
|
94
|
+
* @example
|
|
95
|
+
* The following examples assumes that the model has id "sprite".
|
|
96
|
+
* How to play the "jump" animation followed by the "run" animation:
|
|
97
|
+
* ```ts
|
|
98
|
+
* const url = msg.url("#sprite");
|
|
99
|
+
*
|
|
100
|
+
* function anim_done(self: unknown, message_id: Hash, message: { id: Hash }) {
|
|
101
|
+
* if (message_id === hash("animation_done") && message.id === hash("jump")) {
|
|
102
|
+
* // jump animation done, chain with "run"
|
|
103
|
+
* sprite.play_flipbook(url, "run");
|
|
104
|
+
* }
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* export default defineScript({
|
|
110
|
+
* init() {
|
|
111
|
+
* const url = msg.url("#sprite");
|
|
112
|
+
* sprite.play_flipbook(url, "jump", (self, message_id, message) => {
|
|
113
|
+
* if (message_id === hash("animation_done") && message.id === hash("jump")) {
|
|
114
|
+
* // jump animation done, chain with "run"
|
|
115
|
+
* sprite.play_flipbook(url, "run");
|
|
116
|
+
* }
|
|
117
|
+
* });
|
|
118
|
+
* },
|
|
119
|
+
* });
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
function play_flipbook(url: string | Hash | Url, id: string | Hash, complete_function: ((self: unknown, message_id: Hash, message: { current_tile: number; id: Hash }, sender: Url) => void) | undefined, play_properties: { offset?: number; playback_rate?: number }): void;
|
|
66
123
|
/**
|
|
67
124
|
* Resets a shader constant for a sprite component.
|
|
68
125
|
* The constant must be defined in the material assigned to the sprite.
|
|
@@ -183,7 +183,40 @@ declare global {
|
|
|
183
183
|
* }
|
|
184
184
|
* ```
|
|
185
185
|
*/
|
|
186
|
-
function get_config_int(key: string
|
|
186
|
+
function get_config_int(key: string): number;
|
|
187
|
+
/**
|
|
188
|
+
* Get integer config value from the game.project configuration file with optional default value
|
|
189
|
+
*
|
|
190
|
+
* @param key - key to get value for. The syntax is SECTION.KEY
|
|
191
|
+
* @param default_value - (optional) default value to return if the value does not exist
|
|
192
|
+
* @returns config value as an integer. default_value if the config key does not exist. 0 if no default value was supplied.
|
|
193
|
+
* @example
|
|
194
|
+
* Get user config value
|
|
195
|
+
* ```ts
|
|
196
|
+
* const speed = sys.get_config_int("my_game.speed", 20); // with default value
|
|
197
|
+
* ```
|
|
198
|
+
* @example
|
|
199
|
+
* ```ts
|
|
200
|
+
* const testmode = sys.get_config_int("my_game.testmode"); // without default value
|
|
201
|
+
* if (testmode !== undefined) {
|
|
202
|
+
* // do stuff
|
|
203
|
+
* }
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
function get_config_int(key: string, default_value: number): number;
|
|
207
|
+
/**
|
|
208
|
+
* Get number config value from the game.project configuration file with optional default value
|
|
209
|
+
*
|
|
210
|
+
* @param key - key to get value for. The syntax is SECTION.KEY
|
|
211
|
+
* @param default_value - (optional) default value to return if the value does not exist
|
|
212
|
+
* @returns config value as an number. default_value if the config key does not exist. 0 if no default value was supplied.
|
|
213
|
+
* @example
|
|
214
|
+
* ```ts
|
|
215
|
+
* // Get user config value
|
|
216
|
+
* const speed = sys.get_config_number("my_game.speed", 20.0);
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
function get_config_number(key: string): number;
|
|
187
220
|
/**
|
|
188
221
|
* Get number config value from the game.project configuration file with optional default value
|
|
189
222
|
*
|
|
@@ -196,7 +229,7 @@ declare global {
|
|
|
196
229
|
* const speed = sys.get_config_number("my_game.speed", 20.0);
|
|
197
230
|
* ```
|
|
198
231
|
*/
|
|
199
|
-
function get_config_number(key: string, default_value
|
|
232
|
+
function get_config_number(key: string, default_value: number): number;
|
|
200
233
|
/**
|
|
201
234
|
* Returns the current network connectivity status
|
|
202
235
|
* on mobile platforms.
|
|
@@ -355,7 +388,46 @@ declare global {
|
|
|
355
388
|
* }
|
|
356
389
|
* ```
|
|
357
390
|
*/
|
|
358
|
-
function get_sys_info(
|
|
391
|
+
function get_sys_info(): { device_model: string; manufacturer: string; system_name: string; system_version: string; api_version: string; language: string; device_language: string; territory: string; gmt_offset: number; device_ident: string; user_agent: string };
|
|
392
|
+
/**
|
|
393
|
+
* Returns a table with system information.
|
|
394
|
+
*
|
|
395
|
+
* @param options - optional options table
|
|
396
|
+
* - ignore_secure boolean this flag ignores values might be secured by OS e.g. `device_ident`
|
|
397
|
+
* @returns table with system information in the following fields:
|
|
398
|
+
*
|
|
399
|
+
* `device_model`
|
|
400
|
+
* string Only available on iOS and Android.
|
|
401
|
+
* `manufacturer`
|
|
402
|
+
* string Only available on iOS and Android.
|
|
403
|
+
* `system_name`
|
|
404
|
+
* string The system name: "Darwin", "Linux", "Windows", "HTML5", "Android" or "iPhone OS"
|
|
405
|
+
* `system_version`
|
|
406
|
+
* string The system OS version.
|
|
407
|
+
* `api_version`
|
|
408
|
+
* string The API version on the system.
|
|
409
|
+
* `language`
|
|
410
|
+
* string Two character ISO-639 format, i.e. "en".
|
|
411
|
+
* `device_language`
|
|
412
|
+
* string Two character ISO-639 format (i.e. "sr") and, if applicable, followed by a dash (-) and an ISO 15924 script code (i.e. "sr-Cyrl" or "sr-Latn"). Reflects the device preferred language.
|
|
413
|
+
* `territory`
|
|
414
|
+
* string Two character ISO-3166 format, i.e. "US".
|
|
415
|
+
* `gmt_offset`
|
|
416
|
+
* number The current offset from GMT (Greenwich Mean Time), in minutes.
|
|
417
|
+
* `device_ident`
|
|
418
|
+
* string This value secured by OS. "identifierForVendor" on iOS. "android_id" on Android. On Android, you need to add `READ_PHONE_STATE` permission to be able to get this data. We don't use this permission in Defold.
|
|
419
|
+
* `user_agent`
|
|
420
|
+
* string The HTTP user agent, i.e. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8"
|
|
421
|
+
* @example
|
|
422
|
+
* ```ts
|
|
423
|
+
* // How to get system information:
|
|
424
|
+
* const info = sys.get_sys_info();
|
|
425
|
+
* if (info.system_name === "HTML5") {
|
|
426
|
+
* // We are running in a browser.
|
|
427
|
+
* }
|
|
428
|
+
* ```
|
|
429
|
+
*/
|
|
430
|
+
function get_sys_info(options: { ignore_secure?: boolean }): { device_model: string; manufacturer: string; system_name: string; system_version: string; api_version: string; language: string; device_language: string; territory: string; gmt_offset: number; device_ident: string; user_agent: string };
|
|
359
431
|
/**
|
|
360
432
|
* If the file exists, it must have been created by `sys.save` to be loaded.
|
|
361
433
|
* This function will raise a Lua error if an error occurs while loading the file.
|
|
@@ -401,7 +473,7 @@ declare global {
|
|
|
401
473
|
* const asset_2 = sys.load_buffer("/my/absolute/path");
|
|
402
474
|
* ```
|
|
403
475
|
*/
|
|
404
|
-
function load_buffer(path: string): Opaque<"buffer"
|
|
476
|
+
function load_buffer(path: string): Opaque<"buffer"> & { length: LuaLengthMethod<number> };
|
|
405
477
|
/**
|
|
406
478
|
* The sys.load_buffer function will first try to load the resource
|
|
407
479
|
* from any of the mounted resource locations and return the data if
|
|
@@ -434,7 +506,7 @@ declare global {
|
|
|
434
506
|
* Load binary data from a custom project resource and update a texture resource:
|
|
435
507
|
* ```ts
|
|
436
508
|
* function my_callback(self: unknown, request_id: unknown, result: unknown) {
|
|
437
|
-
* const { status, buf } = result as { status: number; buf:
|
|
509
|
+
* const { status, buf } = result as { status: number; buf: ReturnType<typeof sys.load_buffer> };
|
|
438
510
|
* if (status === sys.REQUEST_STATUS_FINISHED) {
|
|
439
511
|
* resource.set_texture("/my_texture", { type: graphics.TEXTURE_TYPE_2D, width: 128, height: 128, format: graphics.TEXTURE_FORMAT_RGBA }, buf);
|
|
440
512
|
* }
|
|
@@ -519,7 +591,30 @@ declare global {
|
|
|
519
591
|
* }
|
|
520
592
|
* ```
|
|
521
593
|
*/
|
|
522
|
-
function open_url(url: string
|
|
594
|
+
function open_url(url: string): boolean;
|
|
595
|
+
/**
|
|
596
|
+
* Open URL in default application, typically a browser
|
|
597
|
+
*
|
|
598
|
+
* @param url - url to open
|
|
599
|
+
* @param attributes - table with attributes
|
|
600
|
+
* `target`
|
|
601
|
+
* - string : Optional. Specifies the target attribute or the name of the window. The following values are supported:
|
|
602
|
+
* - `_self` - (default value) URL replaces the current page.
|
|
603
|
+
* - `_blank` - URL is loaded into a new window, or tab.
|
|
604
|
+
* - `_parent` - URL is loaded into the parent frame.
|
|
605
|
+
* - `_top` - URL replaces any framesets that may be loaded.
|
|
606
|
+
* - `name` - The name of the window (Note: the name does not specify the title of the new window).
|
|
607
|
+
* @returns a boolean indicating if the url could be opened or not
|
|
608
|
+
* @example
|
|
609
|
+
* ```ts
|
|
610
|
+
* // Open an URL:
|
|
611
|
+
* const success = sys.open_url("http://www.defold.com", { target: "_blank" });
|
|
612
|
+
* if (!success) {
|
|
613
|
+
* // could not open the url...
|
|
614
|
+
* }
|
|
615
|
+
* ```
|
|
616
|
+
*/
|
|
617
|
+
function open_url(url: string, attributes: { target?: string }): boolean;
|
|
523
618
|
/**
|
|
524
619
|
* Reboots the game engine with a specified set of arguments.
|
|
525
620
|
* Arguments will be translated into command line arguments. Calling reboot
|
|
@@ -66,7 +66,7 @@ declare global {
|
|
|
66
66
|
* }
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
|
-
function get_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number): number;
|
|
69
|
+
function get_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number): number | undefined;
|
|
70
70
|
/**
|
|
71
71
|
* Get the tile information at the specified position in the tilemap.
|
|
72
72
|
* The position is identified by the tile index starting at origin
|
|
@@ -94,7 +94,7 @@ declare global {
|
|
|
94
94
|
* }
|
|
95
95
|
* ```
|
|
96
96
|
*/
|
|
97
|
-
function get_tile_info(url: string | Hash | Url, layer: string | Hash, x: number, y: number): { index: number; h_flip: boolean; v_flip: boolean; rotate_90: boolean };
|
|
97
|
+
function get_tile_info(url: string | Hash | Url, layer: string | Hash, x: number, y: number): { index: number; h_flip: boolean; v_flip: boolean; rotate_90: boolean } | undefined;
|
|
98
98
|
/**
|
|
99
99
|
* Retrieves all the tiles for the specified layer in the tilemap.
|
|
100
100
|
* It returns a table of rows where the keys are the
|
|
@@ -112,13 +112,13 @@ declare global {
|
|
|
112
112
|
* let count = 0;
|
|
113
113
|
* for (let row_index = bottom; row_index <= bottom + rows_count - 1; row_index++) {
|
|
114
114
|
* for (let column_index = left; column_index <= left + columns_count - 1; column_index++) {
|
|
115
|
-
* tile = tiles
|
|
115
|
+
* tile = tiles?.get(row_index)?.get(column_index) ?? 0;
|
|
116
116
|
* count = count + 1;
|
|
117
117
|
* }
|
|
118
118
|
* }
|
|
119
119
|
* ```
|
|
120
120
|
*/
|
|
121
|
-
function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaMap<number, LuaMap<number, number
|
|
121
|
+
function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaMap<number, LuaMap<number, number>> | undefined;
|
|
122
122
|
/**
|
|
123
123
|
* Resets a shader constant for a tile map component.
|
|
124
124
|
* The constant must be defined in the material assigned to the tile map.
|
|
@@ -68,30 +68,6 @@ declare global {
|
|
|
68
68
|
* ```
|
|
69
69
|
*/
|
|
70
70
|
function cross(v1: Vector3, v2: Vector3): Vector3;
|
|
71
|
-
/**
|
|
72
|
-
* The returned value is a scalar defined as:
|
|
73
|
-
* `P ⋅ Q = |P| |Q| cos θ`
|
|
74
|
-
* where θ is the angle between the vectors P and Q.
|
|
75
|
-
*
|
|
76
|
-
* - If the dot product is positive then the angle between the vectors is below 90 degrees.
|
|
77
|
-
* - If the dot product is zero the vectors are perpendicular (at right-angles to each other).
|
|
78
|
-
* - If the dot product is negative then the angle between the vectors is more than 90 degrees.
|
|
79
|
-
*
|
|
80
|
-
* @param v1 - first vector
|
|
81
|
-
* @param v2 - second vector
|
|
82
|
-
* @returns dot product
|
|
83
|
-
* @example
|
|
84
|
-
* ```ts
|
|
85
|
-
* const vector1 = vmath.vector3(1, 0, 0);
|
|
86
|
-
* const vector2 = vmath.vector3(0, 1, 0);
|
|
87
|
-
*
|
|
88
|
-
* if (vmath.dot(vector1, vector2) === 0) {
|
|
89
|
-
* // The two vectors are perpendicular (at right-angles to each other)
|
|
90
|
-
* // ...
|
|
91
|
-
* }
|
|
92
|
-
* ```
|
|
93
|
-
*/
|
|
94
|
-
function dot(v1: Vector3 | Vector4, v2: Vector3 | Vector4): number;
|
|
95
71
|
/**
|
|
96
72
|
* The resulting matrix is the inverse of the supplied matrix.
|
|
97
73
|
* For ortho-normal matrices, e.g. regular object transformation,
|
|
@@ -68,7 +68,7 @@ declare global {
|
|
|
68
68
|
* buffer.copy_buffer(dstbuffer, 0, srcbuffer, element_count - 10, 10);
|
|
69
69
|
* ```
|
|
70
70
|
*/
|
|
71
|
-
function copy_buffer(dst: Opaque<"buffer"
|
|
71
|
+
function copy_buffer(dst: Opaque<"buffer"> & { length: LuaLengthMethod<number> }, dstoffset: number, src: Opaque<"buffer"> & { length: LuaLengthMethod<number> }, srcoffset: number, count: number): void;
|
|
72
72
|
/**
|
|
73
73
|
* Copy a specified amount of data from one stream to another.
|
|
74
74
|
* The value type and size must match between source and destination streams.
|
|
@@ -129,15 +129,15 @@ declare global {
|
|
|
129
129
|
* });
|
|
130
130
|
* ```
|
|
131
131
|
*/
|
|
132
|
-
function create(element_count: number, declaration: { name?: Hash | string; type: buffer.ValueType; count?: number }[]): Opaque<"buffer"
|
|
132
|
+
function create(element_count: number, declaration: [{ name?: Hash | string; type: buffer.ValueType; count?: number }, ...{ name?: Hash | string; type: buffer.ValueType; count?: number }[]]): Opaque<"buffer"> & { length: LuaLengthMethod<number> };
|
|
133
133
|
/**
|
|
134
|
-
* Get a copy of all the bytes
|
|
134
|
+
* Get a copy of all the bytes of the buffer, every stream included, as a Lua string.
|
|
135
135
|
*
|
|
136
136
|
* @param buffer - the source buffer
|
|
137
|
-
* @param stream_name - the name of the stream
|
|
137
|
+
* @param stream_name - the name of the stream; the engine ignores it and returns every byte of the buffer
|
|
138
138
|
* @returns the buffer data as a Lua string
|
|
139
139
|
*/
|
|
140
|
-
function get_bytes(buffer: Opaque<"buffer"
|
|
140
|
+
function get_bytes(buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }, stream_name?: Hash | string): string;
|
|
141
141
|
/**
|
|
142
142
|
* Get a named metadata entry from a buffer along with its type.
|
|
143
143
|
*
|
|
@@ -153,7 +153,7 @@ declare global {
|
|
|
153
153
|
* if (values) print(`${values.length} values in 'somefloats'`);
|
|
154
154
|
* ```
|
|
155
155
|
*/
|
|
156
|
-
function get_metadata(buf: Opaque<"buffer"
|
|
156
|
+
function get_metadata(buf: Opaque<"buffer"> & { length: LuaLengthMethod<number> }, metadata_name: Hash | string): LuaMultiReturn<[number[] | undefined, buffer.ValueType | undefined]>;
|
|
157
157
|
/**
|
|
158
158
|
* Get a specified stream from a buffer.
|
|
159
159
|
*
|
|
@@ -161,7 +161,7 @@ declare global {
|
|
|
161
161
|
* @param stream_name - the stream name
|
|
162
162
|
* @returns the data stream
|
|
163
163
|
*/
|
|
164
|
-
function get_stream(buffer: Opaque<"buffer"
|
|
164
|
+
function get_stream(buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }, stream_name: Hash | string): Opaque<"bufferstream"> & { [index: number]: number; length: LuaLengthMethod<number> };
|
|
165
165
|
/**
|
|
166
166
|
* Creates or updates a metadata array entry on a buffer.
|
|
167
167
|
* The value type and count given when updating the entry should match those used when first creating it.
|
|
@@ -182,7 +182,7 @@ declare global {
|
|
|
182
182
|
* buffer.set_metadata(buf, hash("somefloats"), [-2.5, 10.0, 32.2], buffer.VALUE_TYPE_FLOAT32);
|
|
183
183
|
* ```
|
|
184
184
|
*/
|
|
185
|
-
function set_metadata(buf: Opaque<"buffer"
|
|
185
|
+
function set_metadata(buf: Opaque<"buffer"> & { length: LuaLengthMethod<number> }, metadata_name: Hash | string, values: [number, ...number[]], value_type: Exclude<buffer.ValueType, typeof buffer.VALUE_TYPE_INT64 | typeof buffer.VALUE_TYPE_UINT64>): void;
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
|
|
@@ -85,7 +85,7 @@ declare global {
|
|
|
85
85
|
* }
|
|
86
86
|
* ```
|
|
87
87
|
*/
|
|
88
|
-
function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: LuaMap<Hash, Record<string | number, unknown>> | Record<string, Record<string | number, unknown>>, scale?: number | Vector3):
|
|
88
|
+
function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: LuaMap<Hash, Record<string | number, unknown>> | Record<string, Record<string | number, unknown>>, scale?: number | Vector3): LuaTable<Hash, Hash> & { get: LuaTableGetMethod<string, Hash> };
|
|
89
89
|
/**
|
|
90
90
|
* This returns status of the collection factory.
|
|
91
91
|
* Calling this function when the factory is not marked as dynamic loading always returns COMP_COLLECTION_FACTORY_STATUS_LOADED.
|
|
@@ -86,7 +86,7 @@ declare global {
|
|
|
86
86
|
* msg.post("/go#collectionproxy", "enable");
|
|
87
87
|
* ```
|
|
88
88
|
*/
|
|
89
|
-
function set_collection(url: string | Hash | Url, prototype: string | undefined): LuaMultiReturn<[boolean, number]>;
|
|
89
|
+
function set_collection(url: string | Hash | Url, prototype: string | undefined): LuaMultiReturn<[boolean, number | undefined]>;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
|
|
@@ -42,7 +42,9 @@ declare global {
|
|
|
42
42
|
* // create a new game object and provide property values
|
|
43
43
|
* const created = factory.create("#factory", undefined, undefined, { my_value: 1 });
|
|
44
44
|
* // communicate with the object
|
|
45
|
-
*
|
|
45
|
+
* if (created !== undefined) {
|
|
46
|
+
* msg.post(created, "hello");
|
|
47
|
+
* }
|
|
46
48
|
* },
|
|
47
49
|
* });
|
|
48
50
|
* ```
|
|
@@ -58,7 +60,7 @@ declare global {
|
|
|
58
60
|
* });
|
|
59
61
|
* ```
|
|
60
62
|
*/
|
|
61
|
-
function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: Record<string | number, unknown>, scale?: number | Vector3): Hash;
|
|
63
|
+
function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: Record<string | number, unknown>, scale?: number | Vector3): Hash | undefined;
|
|
62
64
|
/**
|
|
63
65
|
* This returns status of the factory.
|
|
64
66
|
* Calling this function when the factory is not marked as dynamic loading always returns
|