@defold-typescript/types 0.51.0 → 0.53.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 +2804 -3172
- package/api-targets.json +15 -5
- package/examples/translations.json +19 -71
- package/generated/b2d.d.ts +39 -39
- package/generated/b2d_body.d.ts +11 -11
- package/generated/b2d_chain.d.ts +3 -3
- package/generated/b2d_fixture.d.ts +5 -5
- package/generated/b2d_joint.d.ts +29 -29
- package/generated/b2d_shape.d.ts +13 -13
- package/generated/b2d_world.d.ts +15 -15
- package/generated/buffer.d.ts +10 -11
- package/generated/bullet3d.d.ts +6 -6
- package/generated/bullet3d_collision_object.d.ts +10 -10
- package/generated/bullet3d_constraint.d.ts +173 -71
- package/generated/bullet3d_rigid_body.d.ts +3 -3
- package/generated/bullet3d_shape.d.ts +11 -11
- package/generated/bullet3d_world.d.ts +20 -20
- package/generated/camera.d.ts +4 -4
- package/generated/collectionfactory.d.ts +2 -3
- package/generated/collectionproxy.d.ts +5 -5
- package/generated/compute.d.ts +5 -5
- package/generated/crash.d.ts +7 -7
- package/generated/editor-vm/http.d.ts +13 -13
- package/generated/editor-vm/image.d.ts +4 -4
- package/generated/editor-vm/json.d.ts +1 -1
- package/generated/editor-vm/tilemap_tiles.d.ts +9 -9
- package/generated/editor-vm/zip.d.ts +4 -4
- package/generated/editor.d.ts +183 -183
- package/generated/factory.d.ts +2 -3
- package/generated/font.d.ts +4 -4
- package/generated/go.d.ts +122 -230
- package/generated/graphics.d.ts +23 -25
- package/generated/gui.d.ts +186 -423
- package/generated/http.d.ts +3 -3
- package/generated/image.d.ts +63 -11
- package/generated/json.d.ts +4 -4
- package/generated/kinds/gui-script.d.ts +2 -0
- package/generated/kinds/render-script.d.ts +14 -15
- package/generated/label.d.ts +5 -5
- package/generated/liveupdate.d.ts +7 -3
- package/generated/material.d.ts +49 -49
- package/generated/model.d.ts +46 -14
- package/generated/particlefx.d.ts +24 -5
- package/generated/physics.d.ts +64 -20
- package/generated/profiler.d.ts +3 -5
- 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 +24 -0
- package/generated/render-script-modules/collectionproxy.d.ts +39 -0
- package/generated/render-script-modules/factory.d.ts +24 -0
- package/generated/render-script-modules/go.d.ts +434 -0
- package/generated/render-script-modules/label.d.ts +105 -0
- package/generated/render-script-modules/model.d.ts +121 -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 +1232 -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 +172 -47
- package/generated/resource.d.ts +81 -61
- package/generated/socket.d.ts +18 -23
- package/generated/sound.d.ts +6 -6
- package/generated/sprite.d.ts +51 -3
- package/generated/sys.d.ts +87 -24
- package/generated/tilemap.d.ts +3 -3
- package/generated/timer.d.ts +3 -3
- package/generated/versions/defold-1.12.4/b2d.d.ts +2 -2
- package/generated/versions/defold-1.12.4/b2d_body.d.ts +2 -2
- package/generated/versions/defold-1.12.4/buffer.d.ts +8 -8
- package/generated/versions/defold-1.12.4/go.d.ts +117 -345
- package/generated/versions/defold-1.12.4/graphics.d.ts +2 -1
- package/generated/versions/defold-1.12.4/gui.d.ts +169 -532
- package/generated/versions/defold-1.12.4/http.d.ts +2 -2
- package/generated/versions/defold-1.12.4/image.d.ts +82 -2
- package/generated/versions/defold-1.12.4/index.d.ts +1 -0
- package/generated/versions/defold-1.12.4/label.d.ts +1 -1
- package/generated/versions/defold-1.12.4/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.12.4/model.d.ts +42 -10
- package/generated/versions/defold-1.12.4/particlefx.d.ts +23 -2
- package/generated/versions/defold-1.12.4/physics.d.ts +46 -2
- package/generated/versions/defold-1.12.4/render.d.ts +83 -7
- package/generated/versions/defold-1.12.4/resource.d.ts +50 -17
- package/generated/versions/defold-1.12.4/socket.d.ts +12 -12
- package/generated/versions/defold-1.12.4/sound.d.ts +1 -1
- package/generated/versions/defold-1.12.4/sprite.d.ts +59 -2
- package/generated/versions/defold-1.12.4/sys.d.ts +103 -8
- package/generated/versions/defold-1.12.4/tilemap.d.ts +1 -1
- package/generated/versions/defold-1.12.4/vmath.d.ts +0 -24
- package/generated/versions/defold-1.12.4/window.d.ts +3 -4
- package/generated/versions/defold-1.13.0/b2d.d.ts +2 -2
- package/generated/versions/defold-1.13.0/b2d_body.d.ts +2 -2
- package/generated/versions/defold-1.13.0/b2d_chain.d.ts +1 -1
- package/generated/versions/defold-1.13.0/b2d_joint.d.ts +1 -1
- package/generated/versions/defold-1.13.0/b2d_shape.d.ts +1 -1
- package/generated/versions/defold-1.13.0/buffer.d.ts +8 -8
- package/generated/versions/defold-1.13.0/camera.d.ts +1 -1
- package/generated/versions/defold-1.13.0/go.d.ts +117 -372
- package/generated/versions/defold-1.13.0/graphics.d.ts +2 -1
- package/generated/versions/defold-1.13.0/gui.d.ts +169 -532
- package/generated/versions/defold-1.13.0/http.d.ts +2 -2
- package/generated/versions/defold-1.13.0/image.d.ts +82 -2
- package/generated/versions/defold-1.13.0/index.d.ts +1 -0
- package/generated/versions/defold-1.13.0/label.d.ts +1 -1
- 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 +42 -10
- package/generated/versions/defold-1.13.0/particlefx.d.ts +23 -2
- package/generated/versions/defold-1.13.0/physics.d.ts +46 -2
- package/generated/versions/defold-1.13.0/render.d.ts +147 -9
- package/generated/versions/defold-1.13.0/resource.d.ts +50 -17
- package/generated/versions/defold-1.13.0/socket.d.ts +12 -12
- package/generated/versions/defold-1.13.0/sound.d.ts +1 -1
- package/generated/versions/defold-1.13.0/sprite.d.ts +59 -2
- package/generated/versions/defold-1.13.0/sys.d.ts +103 -8
- package/generated/versions/defold-1.13.0/tilemap.d.ts +1 -1
- package/generated/versions/defold-1.13.0/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.0/window.d.ts +3 -4
- package/generated/versions/defold-1.13.1/b2d.d.ts +2 -2
- package/generated/versions/defold-1.13.1/b2d_body.d.ts +2 -2
- package/generated/versions/defold-1.13.1/b2d_chain.d.ts +1 -1
- package/generated/versions/defold-1.13.1/b2d_joint.d.ts +1 -1
- package/generated/versions/defold-1.13.1/b2d_shape.d.ts +1 -1
- package/generated/versions/defold-1.13.1/buffer.d.ts +8 -8
- package/generated/versions/defold-1.13.1/camera.d.ts +1 -1
- package/generated/versions/defold-1.13.1/go.d.ts +117 -372
- package/generated/versions/defold-1.13.1/graphics.d.ts +2 -1
- package/generated/versions/defold-1.13.1/gui.d.ts +169 -548
- package/generated/versions/defold-1.13.1/http.d.ts +2 -2
- package/generated/versions/defold-1.13.1/image.d.ts +82 -2
- package/generated/versions/defold-1.13.1/index.d.ts +2 -0
- package/generated/versions/defold-1.13.1/label.d.ts +1 -1
- 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 +42 -10
- package/generated/versions/defold-1.13.1/particlefx.d.ts +23 -2
- package/generated/versions/defold-1.13.1/physics.d.ts +46 -2
- package/generated/versions/defold-1.13.1/render.d.ts +147 -9
- package/generated/versions/defold-1.13.1/resource.d.ts +50 -17
- package/generated/versions/defold-1.13.1/socket.d.ts +12 -12
- package/generated/versions/defold-1.13.1/sound.d.ts +1 -1
- package/generated/versions/defold-1.13.1/sprite.d.ts +59 -2
- package/generated/versions/defold-1.13.1/sys.d.ts +103 -8
- package/generated/versions/defold-1.13.1/tilemap.d.ts +1 -1
- package/generated/versions/defold-1.13.1/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.1/window.d.ts +3 -4
- package/generated/versions/defold-1.13.2/b2d.d.ts +39 -39
- package/generated/versions/defold-1.13.2/b2d_body.d.ts +11 -11
- package/generated/versions/defold-1.13.2/b2d_chain.d.ts +3 -3
- package/generated/versions/defold-1.13.2/b2d_fixture.d.ts +5 -5
- package/generated/versions/defold-1.13.2/b2d_joint.d.ts +29 -29
- package/generated/versions/defold-1.13.2/b2d_shape.d.ts +13 -13
- package/generated/versions/defold-1.13.2/b2d_world.d.ts +15 -15
- package/generated/versions/defold-1.13.2/buffer.d.ts +10 -11
- package/generated/versions/defold-1.13.2/bullet3d.d.ts +6 -6
- package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +10 -10
- package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +173 -71
- package/generated/versions/defold-1.13.2/bullet3d_rigid_body.d.ts +3 -3
- package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +11 -11
- package/generated/versions/defold-1.13.2/bullet3d_world.d.ts +20 -20
- package/generated/versions/defold-1.13.2/camera.d.ts +4 -4
- package/generated/versions/defold-1.13.2/collectionfactory.d.ts +2 -3
- package/generated/versions/defold-1.13.2/collectionproxy.d.ts +5 -5
- package/generated/versions/defold-1.13.2/compute.d.ts +5 -5
- package/generated/versions/defold-1.13.2/crash.d.ts +7 -7
- package/generated/versions/defold-1.13.2/editor-vm/http.d.ts +13 -13
- package/generated/versions/defold-1.13.2/editor-vm/image.d.ts +4 -4
- package/generated/versions/defold-1.13.2/editor-vm/json.d.ts +1 -1
- package/generated/versions/defold-1.13.2/editor-vm/tilemap_tiles.d.ts +9 -9
- package/generated/versions/defold-1.13.2/editor-vm/zip.d.ts +4 -4
- package/generated/versions/defold-1.13.2/editor.d.ts +183 -183
- package/generated/versions/defold-1.13.2/factory.d.ts +2 -3
- package/generated/versions/defold-1.13.2/font.d.ts +4 -4
- package/generated/versions/defold-1.13.2/go.d.ts +122 -230
- package/generated/versions/defold-1.13.2/graphics.d.ts +22 -24
- package/generated/versions/defold-1.13.2/gui.d.ts +186 -423
- package/generated/versions/defold-1.13.2/http.d.ts +3 -3
- package/generated/versions/defold-1.13.2/image.d.ts +63 -11
- package/generated/versions/defold-1.13.2/index.d.ts +2 -0
- package/generated/versions/defold-1.13.2/json.d.ts +4 -4
- package/generated/versions/defold-1.13.2/label.d.ts +5 -5
- package/generated/versions/defold-1.13.2/liveupdate.d.ts +7 -3
- package/generated/versions/defold-1.13.2/material.d.ts +49 -49
- package/generated/versions/defold-1.13.2/model.d.ts +46 -14
- package/generated/versions/defold-1.13.2/particlefx.d.ts +24 -5
- package/generated/versions/defold-1.13.2/physics.d.ts +64 -20
- package/generated/versions/defold-1.13.2/profiler.d.ts +3 -5
- package/generated/versions/defold-1.13.2/render.d.ts +161 -46
- package/generated/versions/defold-1.13.2/resource.d.ts +81 -61
- package/generated/versions/defold-1.13.2/socket.d.ts +18 -23
- package/generated/versions/defold-1.13.2/sound.d.ts +6 -6
- package/generated/versions/defold-1.13.2/sprite.d.ts +51 -3
- package/generated/versions/defold-1.13.2/sys.d.ts +87 -24
- package/generated/versions/defold-1.13.2/tilemap.d.ts +3 -3
- package/generated/versions/defold-1.13.2/timer.d.ts +3 -3
- package/generated/versions/defold-1.13.2/vmath.d.ts +0 -25
- package/generated/versions/defold-1.13.2/window.d.ts +8 -10
- package/generated/vmath.d.ts +0 -25
- package/generated/window.d.ts +8 -10
- package/identity-vocabulary.json +86 -34
- package/index.d.ts +2 -0
- package/package.json +3 -1
- package/scripts/generate-api-availability.ts +10 -24
- package/scripts/generate-api-signatures.ts +75 -14
- package/scripts/materialize-version.ts +48 -7
- package/scripts/regen.ts +214 -19
- package/scripts/shared-handle-methods.ts +3 -2
- package/scripts/signature-store-fs.ts +1 -0
- package/scripts/target-version.ts +26 -0
- package/src/api-doc.ts +34 -0
- package/src/api-identity.ts +32 -1
- package/src/component-properties.d.ts +96 -7
- package/src/core-types.ts +71 -28
- package/src/doc-corrections.ts +62 -5
- package/src/emit-dts.ts +1423 -401
- package/src/engine-globals.d.ts +5 -1
- package/src/engine-type-name.ts +33 -0
- package/src/go-overloads.d.ts +74 -19
- package/src/gui-overloads.d.ts +489 -0
- package/src/gui-texture-removal.d.ts +41 -0
- package/src/index.ts +3 -0
- package/src/lifecycle.ts +32 -23
- package/src/msg-overloads.d.ts +25 -13
- package/src/signature-store.ts +50 -0
- package/src/socket-types.d.ts +3 -3
- package/src/timers.d.ts +2 -1
- package/src/vmath-overloads.d.ts +26 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
|
-
import type { Hash } from "../../../src/core-types";
|
|
2
|
+
import type { Hash, Url } from "../../../src/core-types";
|
|
3
3
|
|
|
4
4
|
declare global {
|
|
5
5
|
/**
|
|
@@ -72,7 +72,7 @@ declare global {
|
|
|
72
72
|
* });
|
|
73
73
|
* ```
|
|
74
74
|
*/
|
|
75
|
-
function request(url: string, method: string, callback: (self: unknown, id: Hash, response: { status: number; url: string; response?: string; headers?: LuaMap<string, string>; path?: string; error?: string; bytes_sent?: number; bytes_received?: number; bytes_total?: number; range_start?: number; range_end?: number; document_size?: number }) => void, headers?: LuaMap<string, string> | Record<string, string>, post_data?: string, options?: { timeout?: number; path?: string; ignore_cache?: boolean; chunked_transfer?: boolean; report_progress?: boolean }): void;
|
|
75
|
+
function request(url: string, method: string, callback: (self: unknown, id: Hash, response: { status: number; url: string; response?: string; headers?: LuaMap<string, string>; path?: string; error?: string; bytes_sent?: number; bytes_received?: number; bytes_total?: number; range_start?: number; range_end?: number; document_size?: number }, sender: Url) => void, headers?: LuaMap<string, string> | Record<string, string>, post_data?: string, options?: { timeout?: number; path?: string; ignore_cache?: boolean; chunked_transfer?: boolean; report_progress?: boolean }): void;
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
|
|
@@ -77,7 +77,87 @@ declare global {
|
|
|
77
77
|
* });
|
|
78
78
|
* ```
|
|
79
79
|
*/
|
|
80
|
-
function load(buffer: string
|
|
80
|
+
function load(buffer: string): { width: number; height: number; type: Opaque<"constant">; buffer: string } | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* Load image (PNG or JPEG) from buffer.
|
|
83
|
+
*
|
|
84
|
+
* @param buffer - image data buffer
|
|
85
|
+
* @param options - An optional table containing parameters for loading the image. Supported entries:
|
|
86
|
+
*
|
|
87
|
+
* `premultiply_alpha`
|
|
88
|
+
* boolean True if alpha should be premultiplied into the color components. Defaults to `false`.
|
|
89
|
+
* `flip_vertically`
|
|
90
|
+
* boolean True if the image contents should be flipped vertically. Defaults to `false`.
|
|
91
|
+
* @returns object or `nil` if loading fails. The object is a table with the following fields:
|
|
92
|
+
*
|
|
93
|
+
* - number `width`: image width
|
|
94
|
+
* - number `height`: image height
|
|
95
|
+
* - constant `type`: image type
|
|
96
|
+
* - `image.TYPE_RGB`
|
|
97
|
+
* - `image.TYPE_RGBA`
|
|
98
|
+
* - `image.TYPE_LUMINANCE`
|
|
99
|
+
* - `image.TYPE_LUMINANCE_ALPHA`
|
|
100
|
+
* - string `buffer`: the raw image data
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* // How to load an image from an URL and create a GUI texture from it:
|
|
104
|
+
* const imgurl = "http://www.site.com/image.png";
|
|
105
|
+
* http.request(imgurl, "GET", (self, id, response) => {
|
|
106
|
+
* const img = response.response !== undefined ? image.load(response.response) : undefined;
|
|
107
|
+
* if (img !== undefined) {
|
|
108
|
+
* const tx = gui.new_texture("image_node", img.width, img.height, img.type, img.buffer);
|
|
109
|
+
* }
|
|
110
|
+
* });
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
function load(buffer: string, options: { premultiply_alpha?: boolean; flip_vertically?: boolean }): { width: number; height: number; type: Opaque<"constant">; buffer: string } | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* Load image (PNG or JPEG) from a string buffer.
|
|
116
|
+
*
|
|
117
|
+
* @param buffer - image data buffer
|
|
118
|
+
* @param options - An optional table containing parameters for loading the image. Supported entries:
|
|
119
|
+
*
|
|
120
|
+
* `premultiply_alpha`
|
|
121
|
+
* boolean True if alpha should be premultiplied into the color components. Defaults to `false`.
|
|
122
|
+
* `flip_vertically`
|
|
123
|
+
* boolean True if the image contents should be flipped vertically. Defaults to `false`.
|
|
124
|
+
* @returns object or `nil` if loading fails. The object is a table with the following fields:
|
|
125
|
+
*
|
|
126
|
+
* - number `width`: image width
|
|
127
|
+
* - number `height`: image height
|
|
128
|
+
* - constant `type`: image type
|
|
129
|
+
* - `image.TYPE_RGB`
|
|
130
|
+
* - `image.TYPE_RGBA`
|
|
131
|
+
* - `image.TYPE_LUMINANCE`
|
|
132
|
+
* - `image.TYPE_LUMINANCE_ALPHA`
|
|
133
|
+
* - buffer `buffer`: the script buffer that holds the decompressed image data. See buffer.create how to use the buffer.
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* // Load an image from an URL as a buffer and create a texture resource from it:
|
|
137
|
+
* const imgurl = "http://www.site.com/image.png";
|
|
138
|
+
* http.request(imgurl, "GET", (self, id, response) => {
|
|
139
|
+
* const img =
|
|
140
|
+
* response.response !== undefined
|
|
141
|
+
* ? image.load_buffer(response.response, { flip_vertically: true })
|
|
142
|
+
* : undefined;
|
|
143
|
+
* // the engine registers a texture format only when the driver supports it
|
|
144
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
145
|
+
* if (img !== undefined && format !== undefined) {
|
|
146
|
+
* const tparams = {
|
|
147
|
+
* width: img.width,
|
|
148
|
+
* height: img.height,
|
|
149
|
+
* type: graphics.TEXTURE_TYPE_2D,
|
|
150
|
+
* format,
|
|
151
|
+
* };
|
|
152
|
+
*
|
|
153
|
+
* const my_texture_id = resource.create_texture("/my_custom_texture.texturec", tparams, img.buffer);
|
|
154
|
+
* // Apply the texture to a model
|
|
155
|
+
* go.set("/go1#model", "texture0", my_texture_id);
|
|
156
|
+
* }
|
|
157
|
+
* });
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
function load_buffer(buffer: string): { width: number; height: number; type: Opaque<"constant">; buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> } } | undefined;
|
|
81
161
|
/**
|
|
82
162
|
* Load image (PNG or JPEG) from a string buffer.
|
|
83
163
|
*
|
|
@@ -124,7 +204,7 @@ declare global {
|
|
|
124
204
|
* });
|
|
125
205
|
* ```
|
|
126
206
|
*/
|
|
127
|
-
function load_buffer(buffer: string, options
|
|
207
|
+
function load_buffer(buffer: string, options: { premultiply_alpha?: boolean; flip_vertically?: boolean }): { width: number; height: number; type: Opaque<"constant">; buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> } } | undefined;
|
|
128
208
|
}
|
|
129
209
|
}
|
|
130
210
|
|
|
@@ -45,6 +45,7 @@ import "../../../src/scene-addresses";
|
|
|
45
45
|
import "../../../src/go-overloads";
|
|
46
46
|
import "../../../src/component-properties";
|
|
47
47
|
import "../../../src/render-overloads";
|
|
48
|
+
import "../../../src/gui-overloads";
|
|
48
49
|
import "../../../src/vmath-overloads";
|
|
49
50
|
import "../../../src/sys-overloads";
|
|
50
51
|
|
|
@@ -36,6 +36,10 @@ declare global {
|
|
|
36
36
|
* Memory wasn't allocated
|
|
37
37
|
*/
|
|
38
38
|
const LIVEUPDATE_MEM_ERROR: number & { readonly __brand: "liveupdate.LIVEUPDATE_MEM_ERROR" };
|
|
39
|
+
/**
|
|
40
|
+
* Live update is not initialized. `liveupdate.add_mount` and `liveupdate.remove_mount` return it while live update is disabled.
|
|
41
|
+
*/
|
|
42
|
+
const LIVEUPDATE_NOT_INITIALIZED: number & { readonly __brand: "liveupdate.LIVEUPDATE_NOT_INITIALIZED" };
|
|
39
43
|
/**
|
|
40
44
|
* LIVEUPDATE_OK
|
|
41
45
|
*/
|
|
@@ -155,7 +155,7 @@ declare global {
|
|
|
155
155
|
* });
|
|
156
156
|
* ```
|
|
157
157
|
*/
|
|
158
|
-
function play_anim(url: string | Hash | Url, anim_id: string | Hash, playback: go.Playback, play_properties?: { blend_duration?: number; offset?: number; playback_rate?: number }, complete_function?: (self: unknown, message_id: Hash, message: BuiltinMessages["model_animation_done"]) => void): void;
|
|
158
|
+
function play_anim(url: string | Hash | Url, anim_id: string | Hash, playback: Exclude<go.Playback, typeof go.PLAYBACK_NONE>, play_properties?: { blend_duration?: number; offset?: number; playback_rate?: number }, complete_function?: (self: unknown, message_id: Hash, message: BuiltinMessages["model_animation_done"]) => void): void;
|
|
159
159
|
/**
|
|
160
160
|
* Enable or disable visibility of a mesh
|
|
161
161
|
*
|
|
@@ -173,7 +173,7 @@ declare global {
|
|
|
173
173
|
* ```
|
|
174
174
|
*/
|
|
175
175
|
function set_mesh_enabled(url: string | Hash | Url, mesh_id: string | Hash, enabled: boolean): void;
|
|
176
|
-
interface
|
|
176
|
+
interface Properties {
|
|
177
177
|
/**
|
|
178
178
|
* The current animation set on the component. The type of the property is hash.
|
|
179
179
|
*/
|
|
@@ -192,37 +192,69 @@ declare global {
|
|
|
192
192
|
*/
|
|
193
193
|
playback_rate: number;
|
|
194
194
|
/**
|
|
195
|
-
* The texture hash id of the model
|
|
195
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
196
196
|
*/
|
|
197
197
|
texture0: Hash;
|
|
198
198
|
/**
|
|
199
|
-
* The texture hash id of the model
|
|
199
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
200
200
|
*/
|
|
201
201
|
texture1: Hash;
|
|
202
202
|
/**
|
|
203
|
-
* The texture hash id of the model
|
|
203
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
204
204
|
*/
|
|
205
205
|
texture2: Hash;
|
|
206
206
|
/**
|
|
207
|
-
* The texture hash id of the model
|
|
207
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
208
208
|
*/
|
|
209
209
|
texture3: Hash;
|
|
210
210
|
/**
|
|
211
|
-
* The texture hash id of the model
|
|
211
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
212
212
|
*/
|
|
213
213
|
texture4: Hash;
|
|
214
214
|
/**
|
|
215
|
-
* The texture hash id of the model
|
|
215
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
216
216
|
*/
|
|
217
217
|
texture5: Hash;
|
|
218
218
|
/**
|
|
219
|
-
* The texture hash id of the model
|
|
219
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
220
220
|
*/
|
|
221
221
|
texture6: Hash;
|
|
222
222
|
/**
|
|
223
|
-
* The texture hash id of the model
|
|
223
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
224
224
|
*/
|
|
225
225
|
texture7: Hash;
|
|
226
|
+
/**
|
|
227
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
228
|
+
*/
|
|
229
|
+
texture8: Hash;
|
|
230
|
+
/**
|
|
231
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
232
|
+
*/
|
|
233
|
+
texture9: Hash;
|
|
234
|
+
/**
|
|
235
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
236
|
+
*/
|
|
237
|
+
texture10: Hash;
|
|
238
|
+
/**
|
|
239
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
240
|
+
*/
|
|
241
|
+
texture11: Hash;
|
|
242
|
+
/**
|
|
243
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
244
|
+
*/
|
|
245
|
+
texture12: Hash;
|
|
246
|
+
/**
|
|
247
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
248
|
+
*/
|
|
249
|
+
texture13: Hash;
|
|
250
|
+
/**
|
|
251
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
252
|
+
*/
|
|
253
|
+
texture14: Hash;
|
|
254
|
+
/**
|
|
255
|
+
* The texture hash id of the model, read and written on the texture unit the key's number names (`texture3` is unit 3).
|
|
256
|
+
*/
|
|
257
|
+
texture15: Hash;
|
|
226
258
|
}
|
|
227
259
|
}
|
|
228
260
|
}
|
|
@@ -134,8 +134,29 @@ declare global {
|
|
|
134
134
|
* });
|
|
135
135
|
* ```
|
|
136
136
|
*/
|
|
137
|
-
function stop(url: string | Hash | Url
|
|
138
|
-
|
|
137
|
+
function stop(url: string | Hash | Url): void;
|
|
138
|
+
/**
|
|
139
|
+
* Stops a particle FX component from playing.
|
|
140
|
+
* Stopping a particle FX does not remove already spawned particles.
|
|
141
|
+
* Which particle FX to stop is identified by the URL.
|
|
142
|
+
*
|
|
143
|
+
* @param url - the particle fx that should stop playing
|
|
144
|
+
* @param options - Options when stopping the particle fx. Supported options:
|
|
145
|
+
*
|
|
146
|
+
* - boolean `clear`: instantly clear spawned particles
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* // How to stop a particle fx when a game object is deleted and immediately also
|
|
150
|
+
* // clear any spawned particles:
|
|
151
|
+
* export default defineScript({
|
|
152
|
+
* final(self) {
|
|
153
|
+
* particlefx.stop("#particlefx", { clear: true });
|
|
154
|
+
* },
|
|
155
|
+
* });
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
function stop(url: string | Hash | Url, options: { clear?: boolean }): void;
|
|
159
|
+
interface Properties {
|
|
139
160
|
/**
|
|
140
161
|
* The animation used during rendering by an emitter in a particle FX component.
|
|
141
162
|
* The property type is a hash and refers to a valid animation in an atlas or a tile source resource.
|
|
@@ -271,7 +271,51 @@ declare global {
|
|
|
271
271
|
* });
|
|
272
272
|
* ```
|
|
273
273
|
*/
|
|
274
|
-
function raycast_async(from: Vector3, to: Vector3, groups: Hash[]
|
|
274
|
+
function raycast_async(from: Vector3, to: Vector3, groups: Hash[]): void;
|
|
275
|
+
/**
|
|
276
|
+
* Ray casts are used to test for intersections against collision objects in the physics world.
|
|
277
|
+
* Collision objects of types kinematic, dynamic and static are tested against. Trigger objects
|
|
278
|
+
* do not intersect with ray casts.
|
|
279
|
+
* Which collision objects to hit is filtered by their collision groups and can be configured
|
|
280
|
+
* through `groups`.
|
|
281
|
+
* The actual ray cast will be performed during the physics-update.
|
|
282
|
+
*
|
|
283
|
+
* - If an object is hit, the result will be reported via a ray_cast_response message.
|
|
284
|
+
* - If there is no object hit, the result will be reported via a ray_cast_missed message.
|
|
285
|
+
*
|
|
286
|
+
* NOTE: Ray casts will ignore collision objects that contain the starting point of the ray. This is a limitation in Box2D.
|
|
287
|
+
*
|
|
288
|
+
* @param from - the world position of the start of the ray
|
|
289
|
+
* @param to - the world position of the end of the ray
|
|
290
|
+
* @param groups - a lua table containing the hashed groups for which to test collisions against
|
|
291
|
+
* @param request_id - a number in range [0,255]. It will be sent back in the response for identification, 0 by default
|
|
292
|
+
* @example
|
|
293
|
+
* ```ts
|
|
294
|
+
* // How to perform a ray cast asynchronously:
|
|
295
|
+
* export default defineScript({
|
|
296
|
+
* init() {
|
|
297
|
+
* return { my_groups: [hash("my_group1"), hash("my_group2")] };
|
|
298
|
+
* },
|
|
299
|
+
*
|
|
300
|
+
* update(self, dt) {
|
|
301
|
+
* // request ray cast
|
|
302
|
+
* const my_start = go.get_world_position();
|
|
303
|
+
* const my_end = vmath.vector3(my_start.x, my_start.y - 100, my_start.z);
|
|
304
|
+
* physics.raycast_async(my_start, my_end, self.my_groups);
|
|
305
|
+
* },
|
|
306
|
+
*
|
|
307
|
+
* on_message(self, message_id, message, sender) {
|
|
308
|
+
* // check for the response
|
|
309
|
+
* if (message_id === hash("ray_cast_response")) {
|
|
310
|
+
* // act on the hit
|
|
311
|
+
* } else if (message_id === hash("ray_cast_missed")) {
|
|
312
|
+
* // act on the miss
|
|
313
|
+
* }
|
|
314
|
+
* },
|
|
315
|
+
* });
|
|
316
|
+
* ```
|
|
317
|
+
*/
|
|
318
|
+
function raycast_async(from: Vector3, to: Vector3, groups: Hash[], request_id: number): void;
|
|
275
319
|
/**
|
|
276
320
|
* Only one physics world event listener can be set at a time.
|
|
277
321
|
*
|
|
@@ -528,7 +572,7 @@ declare global {
|
|
|
528
572
|
* ```
|
|
529
573
|
*/
|
|
530
574
|
function wakeup(url: string | Hash | Url): void;
|
|
531
|
-
interface
|
|
575
|
+
interface Properties {
|
|
532
576
|
/**
|
|
533
577
|
* The angular damping value for the collision object. Setting this value alters the damping of
|
|
534
578
|
* angular motion of the object (rotation). Valid values are between 0 (no damping) and 1 (full damping).
|
|
@@ -14,10 +14,11 @@ declare global {
|
|
|
14
14
|
* require features not in OpenGL ES 2.0, but those will not work cross platform.
|
|
15
15
|
*/
|
|
16
16
|
namespace render {
|
|
17
|
-
type
|
|
18
|
-
type
|
|
19
|
-
type
|
|
17
|
+
type ConstantBuffer = Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
|
|
18
|
+
type RenderTarget = Opaque<"render_target">;
|
|
19
|
+
type Texture = Opaque<"texture">;
|
|
20
20
|
type ClearBufferKey = typeof graphics.BUFFER_TYPE_COLOR0_BIT | typeof graphics.BUFFER_TYPE_DEPTH_BIT | typeof graphics.BUFFER_TYPE_STENCIL_BIT;
|
|
21
|
+
type RenderTargetTextureType = typeof graphics.TEXTURE_TYPE_2D | typeof graphics.TEXTURE_TYPE_CUBE_MAP;
|
|
21
22
|
type RenderTargetParams = Record<string | number, unknown>;
|
|
22
23
|
/**
|
|
23
24
|
* The rendering context was lost. Rendering is paused and all graphics resources become invalid. Passed to the `render.set_listener` callback.
|
|
@@ -185,7 +186,7 @@ declare global {
|
|
|
185
186
|
* });
|
|
186
187
|
* ```
|
|
187
188
|
*/
|
|
188
|
-
function disable_state(state: graphics.State): void;
|
|
189
|
+
function disable_state(state: Exclude<graphics.State, typeof graphics.STATE_ALPHA_TEST_SUPPORTED | typeof graphics.STATE_SCISSOR_TEST>): void;
|
|
189
190
|
/**
|
|
190
191
|
* Disables a texture that has previourly been enabled.
|
|
191
192
|
*
|
|
@@ -220,7 +221,7 @@ declare global {
|
|
|
220
221
|
* });
|
|
221
222
|
* ```
|
|
222
223
|
*/
|
|
223
|
-
function disable_texture(binding:
|
|
224
|
+
function disable_texture(binding: string | Hash | number): void;
|
|
224
225
|
/**
|
|
225
226
|
* Dispatches the currently enabled compute program. The dispatch call takes three arguments x,y,z which constitutes
|
|
226
227
|
* the 'global working group' of the compute dispatch. Together with the 'local working group' specified in the compute shader
|
|
@@ -408,7 +409,7 @@ declare global {
|
|
|
408
409
|
* });
|
|
409
410
|
* ```
|
|
410
411
|
*/
|
|
411
|
-
function enable_state(state: graphics.State): void;
|
|
412
|
+
function enable_state(state: Exclude<graphics.State, typeof graphics.STATE_ALPHA_TEST_SUPPORTED | typeof graphics.STATE_SCISSOR_TEST>): void;
|
|
412
413
|
/**
|
|
413
414
|
* Sets the specified texture handle for a render target attachment or a regular texture
|
|
414
415
|
* that should be used for rendering. The texture can be bound to either a texture unit
|
|
@@ -1027,7 +1028,82 @@ declare global {
|
|
|
1027
1028
|
* });
|
|
1028
1029
|
* ```
|
|
1029
1030
|
*/
|
|
1030
|
-
function set_render_target(render_target?: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT
|
|
1031
|
+
function set_render_target(render_target?: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT): void;
|
|
1032
|
+
/**
|
|
1033
|
+
* Sets a render target. Subsequent draw operations will be to the
|
|
1034
|
+
* render target until it is replaced by a subsequent call to set_render_target.
|
|
1035
|
+
* This function supports render targets created by a render script, or a render target resource.
|
|
1036
|
+
*
|
|
1037
|
+
* @param render_target - render target to set. render.RENDER_TARGET_DEFAULT to set the default render target
|
|
1038
|
+
* @param options - optional table with behaviour parameters
|
|
1039
|
+
*
|
|
1040
|
+
* `transient`
|
|
1041
|
+
* table Transient frame buffer types are only valid while the render target is active, i.e becomes undefined when a new target is set by a subsequent call to set_render_target.
|
|
1042
|
+
* Default is all non-transient. Be aware that some hardware uses a combined depth stencil buffer and when this is the case both are considered non-transient if exclusively selected!
|
|
1043
|
+
* A buffer type defined that doesn't exist in the render target is silently ignored.
|
|
1044
|
+
*
|
|
1045
|
+
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
1046
|
+
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
1047
|
+
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
1048
|
+
* @example
|
|
1049
|
+
* How to set a render target and draw to it and then switch back to the default render target
|
|
1050
|
+
* The render target defines the depth/stencil buffers as transient, when set_render_target is called the next time the buffers may be invalidated and allow for optimisations depending on driver support
|
|
1051
|
+
* ```ts
|
|
1052
|
+
* // How to set a render target and draw to it and then switch back to the default render target
|
|
1053
|
+
* // The render target defines the depth/stencil buffers as transient, when set_render_target is called the next time the buffers may be invalidated and allow for optimisations depending on driver support
|
|
1054
|
+
* export default defineRenderScript({
|
|
1055
|
+
* init() {
|
|
1056
|
+
* // the engine registers a texture format only when the driver supports it
|
|
1057
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
1058
|
+
* if (format === undefined) return undefined;
|
|
1059
|
+
* const color_params = {
|
|
1060
|
+
* format,
|
|
1061
|
+
* width: render.get_window_width(),
|
|
1062
|
+
* height: render.get_window_height(),
|
|
1063
|
+
* };
|
|
1064
|
+
* return {
|
|
1065
|
+
* my_render_target: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
1066
|
+
* my_pred: render.predicate([hash("my_tag")]),
|
|
1067
|
+
* };
|
|
1068
|
+
* },
|
|
1069
|
+
*
|
|
1070
|
+
* update(self, dt) {
|
|
1071
|
+
* if (self === undefined) return;
|
|
1072
|
+
* // set render target so all drawing is done to it
|
|
1073
|
+
* render.set_render_target(self.my_render_target, {
|
|
1074
|
+
* transient: [graphics.BUFFER_TYPE_DEPTH_BIT, graphics.BUFFER_TYPE_STENCIL_BIT],
|
|
1075
|
+
* });
|
|
1076
|
+
*
|
|
1077
|
+
* // draw a predicate to the render target
|
|
1078
|
+
* render.draw(self.my_pred);
|
|
1079
|
+
*
|
|
1080
|
+
* // set default render target. This also invalidates the depth and stencil buffers of the current target (self.my_render_target)
|
|
1081
|
+
* // which can be an optimisation on some hardware
|
|
1082
|
+
* render.set_render_target(render.RENDER_TARGET_DEFAULT);
|
|
1083
|
+
* },
|
|
1084
|
+
* });
|
|
1085
|
+
* ```
|
|
1086
|
+
* @example
|
|
1087
|
+
* ```ts
|
|
1088
|
+
* export default defineRenderScript({
|
|
1089
|
+
* init() {
|
|
1090
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
1091
|
+
* },
|
|
1092
|
+
*
|
|
1093
|
+
* update(self, dt) {
|
|
1094
|
+
* // set render target by a render target resource identifier
|
|
1095
|
+
* render.set_render_target("my_rt_resource");
|
|
1096
|
+
*
|
|
1097
|
+
* // draw a predicate to the render target
|
|
1098
|
+
* render.draw(self.my_pred);
|
|
1099
|
+
*
|
|
1100
|
+
* // reset the render target to the default backbuffer
|
|
1101
|
+
* render.set_render_target(render.RENDER_TARGET_DEFAULT);
|
|
1102
|
+
* },
|
|
1103
|
+
* });
|
|
1104
|
+
* ```
|
|
1105
|
+
*/
|
|
1106
|
+
function set_render_target(render_target: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT | undefined, options: { transient?: graphics.BufferType[] }): void;
|
|
1031
1107
|
/**
|
|
1032
1108
|
* Sets the render target size for a render target created from
|
|
1033
1109
|
* either a render script, or from a render target resource.
|
|
@@ -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
|
|
@@ -496,7 +496,7 @@ declare global {
|
|
|
496
496
|
* }
|
|
497
497
|
* ```
|
|
498
498
|
*/
|
|
499
|
-
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;
|
|
499
|
+
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;
|
|
500
500
|
/**
|
|
501
501
|
* Creates a new texture resource that can be used in the same way as any texture created during build time.
|
|
502
502
|
* The path used for creating the texture must be unique, trying to create a resource at a path that is already
|
|
@@ -666,7 +666,7 @@ declare global {
|
|
|
666
666
|
* });
|
|
667
667
|
* ```
|
|
668
668
|
*/
|
|
669
|
-
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]>;
|
|
669
|
+
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]>;
|
|
670
670
|
/**
|
|
671
671
|
* Constructor-like function with two purposes:
|
|
672
672
|
*
|
|
@@ -734,7 +734,7 @@ declare global {
|
|
|
734
734
|
* // How to get the data from a buffer
|
|
735
735
|
* export default defineScript({
|
|
736
736
|
* init() {
|
|
737
|
-
* const res_path = go.get<mesh.
|
|
737
|
+
* const res_path = go.get<mesh.Properties>()("#mesh", "vertices");
|
|
738
738
|
* const buf = resource.get_buffer(res_path);
|
|
739
739
|
* const stream_positions = buffer.get_stream(buf, "position");
|
|
740
740
|
*
|
|
@@ -745,7 +745,7 @@ declare global {
|
|
|
745
745
|
* });
|
|
746
746
|
* ```
|
|
747
747
|
*/
|
|
748
|
-
function get_buffer(path: Hash | string): Opaque<"buffer"
|
|
748
|
+
function get_buffer(path: Hash | string): Opaque<"buffer"> & { length: LuaLengthMethod<number> };
|
|
749
749
|
/**
|
|
750
750
|
* Gets render target info from a render target resource path or a render target handle
|
|
751
751
|
*
|
|
@@ -837,14 +837,47 @@ declare global {
|
|
|
837
837
|
* ```ts
|
|
838
838
|
* export default defineScript({
|
|
839
839
|
* init() {
|
|
840
|
-
* const font = go.get<label.
|
|
840
|
+
* const font = go.get<label.Properties>()("#label", "font");
|
|
841
841
|
* const metrics = resource.get_text_metrics(font, "The quick brown fox\n jumps over the lazy dog");
|
|
842
842
|
* pprint(metrics);
|
|
843
843
|
* },
|
|
844
844
|
* });
|
|
845
845
|
* ```
|
|
846
846
|
*/
|
|
847
|
-
function get_text_metrics(url: Hash | string, text: string
|
|
847
|
+
function get_text_metrics(url: Hash | string, text: string): { width: number; height: number; max_ascent: number; max_descent: number };
|
|
848
|
+
/**
|
|
849
|
+
* Gets the text metrics from a font
|
|
850
|
+
*
|
|
851
|
+
* @param url - the font to get the (unscaled) metrics from
|
|
852
|
+
* @param text - text to measure
|
|
853
|
+
* @param options - A table containing parameters for the text. Supported entries:
|
|
854
|
+
*
|
|
855
|
+
* `width`
|
|
856
|
+
* number The width of the text field. Not used if `line_break` is false.
|
|
857
|
+
* `leading`
|
|
858
|
+
* number The leading (default 1.0)
|
|
859
|
+
* `tracking`
|
|
860
|
+
* number The tracking (default 0.0)
|
|
861
|
+
* `line_break`
|
|
862
|
+
* boolean If the calculation should consider line breaks (default false)
|
|
863
|
+
* @returns a table with the following fields:
|
|
864
|
+
*
|
|
865
|
+
* - width
|
|
866
|
+
* - height
|
|
867
|
+
* - max_ascent
|
|
868
|
+
* - max_descent
|
|
869
|
+
* @example
|
|
870
|
+
* ```ts
|
|
871
|
+
* export default defineScript({
|
|
872
|
+
* init() {
|
|
873
|
+
* const font = go.get<label.Properties>()("#label", "font");
|
|
874
|
+
* const metrics = resource.get_text_metrics(font, "The quick brown fox\n jumps over the lazy dog");
|
|
875
|
+
* pprint(metrics);
|
|
876
|
+
* },
|
|
877
|
+
* });
|
|
878
|
+
* ```
|
|
879
|
+
*/
|
|
880
|
+
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 };
|
|
848
881
|
/**
|
|
849
882
|
* Gets texture info from a texture resource path or a texture handle
|
|
850
883
|
*
|
|
@@ -943,7 +976,7 @@ declare global {
|
|
|
943
976
|
* // custom_resources = resources/,assets/level_data.json
|
|
944
977
|
* ```
|
|
945
978
|
*/
|
|
946
|
-
function load(path: string): Opaque<"buffer"
|
|
979
|
+
function load(path: string): Opaque<"buffer"> & { length: LuaLengthMethod<number> };
|
|
947
980
|
/**
|
|
948
981
|
* Constructor-like function with two purposes:
|
|
949
982
|
*
|
|
@@ -1027,10 +1060,10 @@ declare global {
|
|
|
1027
1060
|
* // Assuming the folder "/res" is added to the project custom resources:
|
|
1028
1061
|
* // load a texture resource and set it on a sprite
|
|
1029
1062
|
* const buffer = resource.load("/res/new.texturec");
|
|
1030
|
-
* resource.set(go.get<sprite.
|
|
1063
|
+
* resource.set(go.get<sprite.Properties>()("#sprite", "texture0"), buffer);
|
|
1031
1064
|
* ```
|
|
1032
1065
|
*/
|
|
1033
|
-
function set(path: string | Hash, buffer: Opaque<"buffer">): void;
|
|
1066
|
+
function set(path: string | Hash, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }): void;
|
|
1034
1067
|
/**
|
|
1035
1068
|
* Sets the data for a specific atlas resource. Setting new atlas data is specified by passing in
|
|
1036
1069
|
* a texture path for the backing texture of the atlas, a list of geometries and a list of animations
|
|
@@ -1186,7 +1219,7 @@ declare global {
|
|
|
1186
1219
|
*
|
|
1187
1220
|
* export default defineScript({
|
|
1188
1221
|
* init() {
|
|
1189
|
-
* const res_path = go.get<mesh.
|
|
1222
|
+
* const res_path = go.get<mesh.Properties>()("#mesh", "vertices");
|
|
1190
1223
|
*
|
|
1191
1224
|
* const positions = [
|
|
1192
1225
|
* 1, -1, 0,
|
|
@@ -1209,7 +1242,7 @@ declare global {
|
|
|
1209
1242
|
* });
|
|
1210
1243
|
* ```
|
|
1211
1244
|
*/
|
|
1212
|
-
function set_buffer(path: Hash | string, buffer: Opaque<"buffer"
|
|
1245
|
+
function set_buffer(path: Hash | string, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }, table?: { transfer_ownership?: boolean }): void;
|
|
1213
1246
|
/**
|
|
1214
1247
|
* Update internal sound resource (wavc/oggc/opusc) with new data
|
|
1215
1248
|
*
|
|
@@ -1320,7 +1353,7 @@ declare global {
|
|
|
1320
1353
|
* // the engine registers a texture format only when the driver supports it
|
|
1321
1354
|
* const format = graphics.TEXTURE_FORMAT_RGB;
|
|
1322
1355
|
* if (format !== undefined) {
|
|
1323
|
-
* const resource_path = go.get<model.
|
|
1356
|
+
* const resource_path = go.get<model.Properties>()("#model", "texture0");
|
|
1324
1357
|
* const args = { width, height, type: graphics.TEXTURE_TYPE_2D, format, num_mip_maps: 1 };
|
|
1325
1358
|
* resource.set_texture(resource_path, args, buf);
|
|
1326
1359
|
* }
|
|
@@ -1353,7 +1386,7 @@ declare global {
|
|
|
1353
1386
|
* // the engine registers a texture format only when the driver supports it
|
|
1354
1387
|
* const format = graphics.TEXTURE_FORMAT_RGB;
|
|
1355
1388
|
* if (format !== undefined) {
|
|
1356
|
-
* const resource_path = go.get<model.
|
|
1389
|
+
* const resource_path = go.get<model.Properties>()("#model", "texture0");
|
|
1357
1390
|
* const args = { width, height, x, y, type: graphics.TEXTURE_TYPE_2D, format, num_mip_maps: 1 };
|
|
1358
1391
|
* resource.set_texture(resource_path, args, buf);
|
|
1359
1392
|
* }
|
|
@@ -1374,7 +1407,7 @@ declare global {
|
|
|
1374
1407
|
* // the engine registers a texture format only when the driver supports it
|
|
1375
1408
|
* const format = graphics.TEXTURE_FORMAT_RGB;
|
|
1376
1409
|
* if (format === undefined) return;
|
|
1377
|
-
* const resource_path = go.get<model.
|
|
1410
|
+
* const resource_path = go.get<model.Properties>()("#model", "texture0");
|
|
1378
1411
|
* // the "my_buffer" resource is expected to hold 128 * 128 * 3 bytes!
|
|
1379
1412
|
* const args = {
|
|
1380
1413
|
* width: 128,
|
|
@@ -1462,7 +1495,7 @@ declare global {
|
|
|
1462
1495
|
* }
|
|
1463
1496
|
* ```
|
|
1464
1497
|
*/
|
|
1465
|
-
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;
|
|
1498
|
+
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;
|
|
1466
1499
|
/**
|
|
1467
1500
|
* Constructor-like function with two purposes:
|
|
1468
1501
|
*
|