@origingame/engine 0.3.0 → 0.5.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/dist/web/origin-engine.d.ts +44 -5
- package/dist/web/origin-engine.js +279 -19
- package/dist/web/origin-engine_bg.wasm +0 -0
- package/dist/web/origin-engine_bg.wasm.d.ts +18 -5
- package/dist/web-publish/origin-engine-lanes.js +289 -48
- package/dist/web-publish/origin-engine-lanes_bg.wasm +0 -0
- package/dist/web-publish/origin-engine.d.ts +44 -5
- package/dist/web-publish/origin-engine.js +279 -38
- package/dist/web-publish/origin-engine_bg.wasm +0 -0
- package/dist/web-publish/origin-engine_bg.wasm.d.ts +18 -5
- package/dist/web-publish-2d/origin-engine-lanes.js +289 -48
- package/dist/web-publish-2d/origin-engine-lanes_bg.wasm +0 -0
- package/dist/web-publish-2d/origin-engine.d.ts +44 -5
- package/dist/web-publish-2d/origin-engine.js +279 -38
- package/dist/web-publish-2d/origin-engine_bg.wasm +0 -0
- package/dist/web-publish-2d/origin-engine_bg.wasm.d.ts +18 -5
- package/knowledge/README.md +2 -1
- package/knowledge/guides/three-to-og.md +393 -0
- package/knowledge/knowledge.json +2 -1
- package/knowledge/looks/catalogue.json +123 -2
- package/knowledge/package.json +3 -2
- package/knowledge/scaffold/origin-engine.json +2 -2
- package/knowledge/scaffold/template/package.json +1 -1
- package/knowledge/scaffold/template/project.ogt +1 -1
- package/knowledge/scripts/validate.ts +209 -27
- package/knowledge/skills/og-audio/SKILL.md +33 -7
- package/knowledge/skills/og-build/SKILL.md +66 -7
- package/knowledge/skills/og-core/SKILL.md +24 -8
- package/knowledge/skills/og-feel/SKILL.md +11 -3
- package/knowledge/skills/og-game/SKILL.md +680 -51
- package/knowledge/skills/og-i18n/SKILL.md +7 -7
- package/knowledge/skills/og-model/SKILL.md +374 -0
- package/knowledge/skills/og-platform-sdk/SKILL.md +7 -1
- package/knowledge/skills/og-taste/SKILL.md +7 -0
- package/knowledge/skills/og-ui/SKILL.md +39 -8
- package/knowledge/wiki/ai.md +20 -20
- package/knowledge/wiki/anim.md +537 -63
- package/knowledge/wiki/atmosphere.md +13 -13
- package/knowledge/wiki/audio.md +160 -20
- package/knowledge/wiki/camera.md +13 -13
- package/knowledge/wiki/commands.md +11 -11
- package/knowledge/wiki/debug.md +13 -13
- package/knowledge/wiki/game.md +8 -8
- package/knowledge/wiki/i18n.md +7 -7
- package/knowledge/wiki/index.md +81 -3
- package/knowledge/wiki/input.md +47 -47
- package/knowledge/wiki/load.md +83 -57
- package/knowledge/wiki/math.md +102 -102
- package/knowledge/wiki/nav.md +34 -34
- package/knowledge/wiki/net.md +10 -10
- package/knowledge/wiki/path.md +14 -14
- package/knowledge/wiki/physics.md +111 -100
- package/knowledge/wiki/platform.md +44 -44
- package/knowledge/wiki/probe.md +86 -86
- package/knowledge/wiki/reflect.md +30 -18
- package/knowledge/wiki/render.md +1243 -176
- package/knowledge/wiki/rng.md +14 -14
- package/knowledge/wiki/shapes.md +727 -0
- package/knowledge/wiki/stream.md +15 -15
- package/knowledge/wiki/system.md +8 -8
- package/knowledge/wiki/systems.md +2 -2
- package/knowledge/wiki/terrain.md +24 -20
- package/knowledge/wiki/tilemap.md +13 -13
- package/knowledge/wiki/time.md +4 -4
- package/knowledge/wiki/timeline.md +14 -14
- package/knowledge/wiki/transform.md +8 -8
- package/knowledge/wiki/tween.md +17 -17
- package/knowledge/wiki/ui.md +245 -269
- package/knowledge/wiki/video.md +5 -5
- package/knowledge/wiki/world.md +36 -36
- package/package.json +4 -4
- package/schema/api.schema.json +2238 -81
- package/shell/page.ts +4 -0
- package/shell/platform.ts +5 -0
- package/shell/player.ts +8 -2
- package/shell/transport.ts +6 -0
- package/src/generated/abi.ts +40 -1
- package/src/geom.ts +260 -0
- package/src/index.ts +19 -1
- package/src/node/device.ts +5 -2
- package/src/node/playtest-run.ts +1 -0
- package/src/node/polish.ts +34 -15
- package/src/node/run.ts +23 -6
- package/src/platform-local.ts +2 -0
- package/src/playtest.ts +8 -0
- package/src/runtime.ts +88 -6
- package/src/ui-kit/settings.ts +9 -0
- package/src/web/gl-state.ts +907 -0
- package/src/web/shell.ts +1 -1
- package/src/web/worker.ts +8 -2
- package/types/bindings.json +1222 -453
- package/types/index.d.ts +1868 -315
|
@@ -18,7 +18,7 @@ module physics {
|
|
|
18
18
|
# declarations follow, each quoted below
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
<sub>`api.ogt` line
|
|
21
|
+
<sub>`api.ogt` line 5808</sub>
|
|
22
22
|
|
|
23
23
|
## Contents
|
|
24
24
|
|
|
@@ -46,7 +46,7 @@ module physics {
|
|
|
46
46
|
| [`og.Collider`](#record-Collider) | component | The shape an entity collides with, attached to its RigidBody (or, without one, a static collider at its Transform). Sizes are scaled by og.Transform.scale. |
|
|
47
47
|
| [`og.Velocity`](#record-Velocity) | component | Linear and angular velocity. Written for dynamic bodies every tick (added to them by the step when missing); a kinematic body moves by it each tick (never added, never written). Set it to launch or stop a body; push one with og.physics.applyForce, applyImpulse, applyTorque or applyTorqueImpulse. |
|
|
48
48
|
| [`og.Physics`](#record-Physics) | resource | The physics settings of the world. The profile is the project's; the same components serve both profiles. |
|
|
49
|
-
| [`og.CollisionStarted`](#record-CollisionStarted) | event | Two solid colliders started touching during the tick. |
|
|
49
|
+
| [`og.CollisionStarted`](#record-CollisionStarted) | event | Two solid colliders started touching during the tick. Read in the tick after, when og.Velocity already holds the solver's answer (the bodies parting): how hard they met is `impulse` and `relativeVelocity`, taken in the step itself. |
|
|
50
50
|
| [`og.CollisionEnded`](#record-CollisionEnded) | event | Two solid colliders stopped touching, or one of them went away. |
|
|
51
51
|
| [`og.SensorEntered`](#record-SensorEntered) | event | A collider started overlapping a sensor. |
|
|
52
52
|
| [`og.SensorExited`](#record-SensorExited) | event | A collider stopped overlapping a sensor, or one of them went away. |
|
|
@@ -149,7 +149,7 @@ fn raycast {
|
|
|
149
149
|
}
|
|
150
150
|
```
|
|
151
151
|
|
|
152
|
-
<sub>`api.ogt` line
|
|
152
|
+
<sub>`api.ogt` line 7140</sub>
|
|
153
153
|
|
|
154
154
|
<a id="fn-shapeCast"></a>
|
|
155
155
|
|
|
@@ -179,7 +179,7 @@ fn shapeCast {
|
|
|
179
179
|
}
|
|
180
180
|
```
|
|
181
181
|
|
|
182
|
-
<sub>`api.ogt` line
|
|
182
|
+
<sub>`api.ogt` line 7147</sub>
|
|
183
183
|
|
|
184
184
|
<a id="fn-overlap"></a>
|
|
185
185
|
|
|
@@ -209,7 +209,7 @@ fn overlap {
|
|
|
209
209
|
}
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
<sub>`api.ogt` line
|
|
212
|
+
<sub>`api.ogt` line 7154</sub>
|
|
213
213
|
|
|
214
214
|
<a id="fn-applyForce"></a>
|
|
215
215
|
|
|
@@ -245,7 +245,7 @@ fn applyForce {
|
|
|
245
245
|
}
|
|
246
246
|
```
|
|
247
247
|
|
|
248
|
-
<sub>`api.ogt` line
|
|
248
|
+
<sub>`api.ogt` line 7161</sub>
|
|
249
249
|
|
|
250
250
|
<a id="fn-applyImpulse"></a>
|
|
251
251
|
|
|
@@ -281,7 +281,7 @@ fn applyImpulse {
|
|
|
281
281
|
}
|
|
282
282
|
```
|
|
283
283
|
|
|
284
|
-
<sub>`api.ogt` line
|
|
284
|
+
<sub>`api.ogt` line 7172</sub>
|
|
285
285
|
|
|
286
286
|
<a id="fn-applyTorque"></a>
|
|
287
287
|
|
|
@@ -313,7 +313,7 @@ fn applyTorque {
|
|
|
313
313
|
}
|
|
314
314
|
```
|
|
315
315
|
|
|
316
|
-
<sub>`api.ogt` line
|
|
316
|
+
<sub>`api.ogt` line 7183</sub>
|
|
317
317
|
|
|
318
318
|
<a id="fn-applyTorqueImpulse"></a>
|
|
319
319
|
|
|
@@ -345,7 +345,7 @@ fn applyTorqueImpulse {
|
|
|
345
345
|
}
|
|
346
346
|
```
|
|
347
347
|
|
|
348
|
-
<sub>`api.ogt` line
|
|
348
|
+
<sub>`api.ogt` line 7191</sub>
|
|
349
349
|
|
|
350
350
|
<a id="fn-setMesh"></a>
|
|
351
351
|
|
|
@@ -377,7 +377,7 @@ fn setMesh {
|
|
|
377
377
|
}
|
|
378
378
|
```
|
|
379
379
|
|
|
380
|
-
<sub>`api.ogt` line
|
|
380
|
+
<sub>`api.ogt` line 7199</sub>
|
|
381
381
|
|
|
382
382
|
<a id="fn-ropePoints"></a>
|
|
383
383
|
|
|
@@ -407,7 +407,7 @@ fn ropePoints {
|
|
|
407
407
|
}
|
|
408
408
|
```
|
|
409
409
|
|
|
410
|
-
<sub>`api.ogt` line
|
|
410
|
+
<sub>`api.ogt` line 7260</sub>
|
|
411
411
|
|
|
412
412
|
<a id="fn-clothPoints"></a>
|
|
413
413
|
|
|
@@ -437,7 +437,7 @@ fn clothPoints {
|
|
|
437
437
|
}
|
|
438
438
|
```
|
|
439
439
|
|
|
440
|
-
<sub>`api.ogt` line
|
|
440
|
+
<sub>`api.ogt` line 7267</sub>
|
|
441
441
|
|
|
442
442
|
<a id="fn-fluidParticles"></a>
|
|
443
443
|
|
|
@@ -467,7 +467,7 @@ fn fluidParticles {
|
|
|
467
467
|
}
|
|
468
468
|
```
|
|
469
469
|
|
|
470
|
-
<sub>`api.ogt` line
|
|
470
|
+
<sub>`api.ogt` line 7274</sub>
|
|
471
471
|
|
|
472
472
|
<a id="fn-fluid3dParticles"></a>
|
|
473
473
|
|
|
@@ -497,7 +497,7 @@ fn fluid3dParticles {
|
|
|
497
497
|
}
|
|
498
498
|
```
|
|
499
499
|
|
|
500
|
-
<sub>`api.ogt` line
|
|
500
|
+
<sub>`api.ogt` line 7281</sub>
|
|
501
501
|
|
|
502
502
|
<a id="fn-waterHeight"></a>
|
|
503
503
|
|
|
@@ -531,7 +531,7 @@ fn waterHeight {
|
|
|
531
531
|
}
|
|
532
532
|
```
|
|
533
533
|
|
|
534
|
-
<sub>`api.ogt` line
|
|
534
|
+
<sub>`api.ogt` line 7288</sub>
|
|
535
535
|
|
|
536
536
|
<a id="fn-vehicleWheels"></a>
|
|
537
537
|
|
|
@@ -561,7 +561,7 @@ fn vehicleWheels {
|
|
|
561
561
|
}
|
|
562
562
|
```
|
|
563
563
|
|
|
564
|
-
<sub>`api.ogt` line
|
|
564
|
+
<sub>`api.ogt` line 7297</sub>
|
|
565
565
|
|
|
566
566
|
<a id="fn-ragdollRigFromSkeleton"></a>
|
|
567
567
|
|
|
@@ -591,7 +591,7 @@ fn ragdollRigFromSkeleton {
|
|
|
591
591
|
}
|
|
592
592
|
```
|
|
593
593
|
|
|
594
|
-
<sub>`api.ogt` line
|
|
594
|
+
<sub>`api.ogt` line 7304</sub>
|
|
595
595
|
|
|
596
596
|
<a id="fn-setRagdollRig"></a>
|
|
597
597
|
|
|
@@ -623,7 +623,7 @@ fn setRagdollRig {
|
|
|
623
623
|
}
|
|
624
624
|
```
|
|
625
625
|
|
|
626
|
-
<sub>`api.ogt` line
|
|
626
|
+
<sub>`api.ogt` line 7311</sub>
|
|
627
627
|
|
|
628
628
|
<a id="fn-ragdollPose"></a>
|
|
629
629
|
|
|
@@ -653,7 +653,7 @@ fn ragdollPose {
|
|
|
653
653
|
}
|
|
654
654
|
```
|
|
655
655
|
|
|
656
|
-
<sub>`api.ogt` line
|
|
656
|
+
<sub>`api.ogt` line 7319</sub>
|
|
657
657
|
|
|
658
658
|
<a id="fn-stats"></a>
|
|
659
659
|
|
|
@@ -681,7 +681,7 @@ fn stats {
|
|
|
681
681
|
}
|
|
682
682
|
```
|
|
683
683
|
|
|
684
|
-
<sub>`api.ogt` line
|
|
684
|
+
<sub>`api.ogt` line 7347</sub>
|
|
685
685
|
|
|
686
686
|
## Components, resources and events
|
|
687
687
|
|
|
@@ -753,7 +753,7 @@ component RigidBody {
|
|
|
753
753
|
}
|
|
754
754
|
```
|
|
755
755
|
|
|
756
|
-
<sub>`api.ogt` line
|
|
756
|
+
<sub>`api.ogt` line 5833</sub>
|
|
757
757
|
|
|
758
758
|
<a id="record-Collider"></a>
|
|
759
759
|
|
|
@@ -840,7 +840,7 @@ component Collider {
|
|
|
840
840
|
}
|
|
841
841
|
```
|
|
842
842
|
|
|
843
|
-
<sub>`api.ogt` line
|
|
843
|
+
<sub>`api.ogt` line 5878</sub>
|
|
844
844
|
|
|
845
845
|
<a id="record-Velocity"></a>
|
|
846
846
|
|
|
@@ -869,7 +869,7 @@ component Velocity {
|
|
|
869
869
|
}
|
|
870
870
|
```
|
|
871
871
|
|
|
872
|
-
<sub>`api.ogt` line
|
|
872
|
+
<sub>`api.ogt` line 5937</sub>
|
|
873
873
|
|
|
874
874
|
<a id="record-Physics"></a>
|
|
875
875
|
|
|
@@ -923,13 +923,13 @@ resource Physics {
|
|
|
923
923
|
}
|
|
924
924
|
```
|
|
925
925
|
|
|
926
|
-
<sub>`api.ogt` line
|
|
926
|
+
<sub>`api.ogt` line 5949</sub>
|
|
927
927
|
|
|
928
928
|
<a id="record-CollisionStarted"></a>
|
|
929
929
|
|
|
930
930
|
### `og.CollisionStarted` (event)
|
|
931
931
|
|
|
932
|
-
Two solid colliders started touching during the tick.
|
|
932
|
+
Two solid colliders started touching during the tick. Read in the tick after, when og.Velocity already holds the solver's answer (the bodies parting): how hard they met is `impulse` and `relativeVelocity`, taken in the step itself.
|
|
933
933
|
|
|
934
934
|
Token `og.CollisionStarted`, registered under the schema name `og.CollisionStarted`; its value type is `CollisionStarted`.
|
|
935
935
|
|
|
@@ -937,20 +937,31 @@ Token `og.CollisionStarted`, registered under the schema name `og.CollisionStart
|
|
|
937
937
|
|---|---|---|---|---|---|---|
|
|
938
938
|
| `a` | `Entity` | `0` | — | — | — | The entity with the lower id. |
|
|
939
939
|
| `b` | `Entity` | `0` | — | — | — | The entity with the higher id. |
|
|
940
|
-
| `point` | `Vector3` | `{ x: 0, y: 0, z: 0 }` | — |
|
|
940
|
+
| `point` | `Vector3` | `{ x: 0, y: 0, z: 0 }` | — | `m` | — | The deepest contact point in world space (z is 0 in 2D). |
|
|
941
941
|
| `normal` | `Vector3` | `{ x: 0, y: 0, z: 0 }` | — | — | — | The contact normal, from a towards b. |
|
|
942
|
+
| `impulse` | `number` | `0` | ≥ 0 | `newtonSecond` | — | The normal impulse the solver gave the pair in the step that made the contact (every substep, every contact point), in newton-seconds: b took `impulse` along `normal`, a the same against it. Its momentum answer to the hit, at least 0; heavier and faster hits give more. |
|
|
943
|
+
| `relativeVelocity` | `Vector3` | `{ x: 0, y: 0, z: 0 }` | — | `mps` | — | a's velocity relative to b at `point` as that step began, before the solver answered: each body's linear velocity plus its angular velocity crossed with the point's offset from its centre of mass (a static collider is still; z is 0 in 2D). Along `normal` it is the closing speed, positive while they approach: max(0, relativeVelocity · normal) is how hard they hit, in m/s. |
|
|
942
944
|
|
|
943
945
|
```ogt
|
|
944
946
|
event CollisionStarted {
|
|
945
|
-
doc "Two solid colliders started touching during the tick."
|
|
947
|
+
doc "Two solid colliders started touching during the tick. Read in the tick after, when og.Velocity already holds the solver's answer (the bodies parting): how hard they met is `impulse` and `relativeVelocity`, taken in the step itself."
|
|
946
948
|
field a Entity "The entity with the lower id."
|
|
947
949
|
field b Entity "The entity with the higher id."
|
|
948
|
-
field point Vector3 "The deepest contact point in world space (z is 0 in 2D)."
|
|
950
|
+
field point Vector3 "The deepest contact point in world space (z is 0 in 2D)." {
|
|
951
|
+
unit m
|
|
952
|
+
}
|
|
949
953
|
field normal Vector3 "The contact normal, from a towards b."
|
|
954
|
+
field impulse f32 "The normal impulse the solver gave the pair in the step that made the contact (every substep, every contact point), in newton-seconds: b took `impulse` along `normal`, a the same against it. Its momentum answer to the hit, at least 0; heavier and faster hits give more." {
|
|
955
|
+
min 0
|
|
956
|
+
unit newtonSecond
|
|
957
|
+
}
|
|
958
|
+
field relativeVelocity Vector3 "a's velocity relative to b at `point` as that step began, before the solver answered: each body's linear velocity plus its angular velocity crossed with the point's offset from its centre of mass (a static collider is still; z is 0 in 2D). Along `normal` it is the closing speed, positive while they approach: max(0, relativeVelocity · normal) is how hard they hit, in m/s." {
|
|
959
|
+
unit mps
|
|
960
|
+
}
|
|
950
961
|
}
|
|
951
962
|
```
|
|
952
963
|
|
|
953
|
-
<sub>`api.ogt` line
|
|
964
|
+
<sub>`api.ogt` line 5983</sub>
|
|
954
965
|
|
|
955
966
|
<a id="record-CollisionEnded"></a>
|
|
956
967
|
|
|
@@ -973,7 +984,7 @@ event CollisionEnded {
|
|
|
973
984
|
}
|
|
974
985
|
```
|
|
975
986
|
|
|
976
|
-
<sub>`api.ogt` line
|
|
987
|
+
<sub>`api.ogt` line 6000</sub>
|
|
977
988
|
|
|
978
989
|
<a id="record-SensorEntered"></a>
|
|
979
990
|
|
|
@@ -996,7 +1007,7 @@ event SensorEntered {
|
|
|
996
1007
|
}
|
|
997
1008
|
```
|
|
998
1009
|
|
|
999
|
-
<sub>`api.ogt` line
|
|
1010
|
+
<sub>`api.ogt` line 6006</sub>
|
|
1000
1011
|
|
|
1001
1012
|
<a id="record-SensorExited"></a>
|
|
1002
1013
|
|
|
@@ -1019,7 +1030,7 @@ event SensorExited {
|
|
|
1019
1030
|
}
|
|
1020
1031
|
```
|
|
1021
1032
|
|
|
1022
|
-
<sub>`api.ogt` line
|
|
1033
|
+
<sub>`api.ogt` line 6012</sub>
|
|
1023
1034
|
|
|
1024
1035
|
<a id="record-Contact"></a>
|
|
1025
1036
|
|
|
@@ -1044,7 +1055,7 @@ event Contact {
|
|
|
1044
1055
|
}
|
|
1045
1056
|
```
|
|
1046
1057
|
|
|
1047
|
-
<sub>`api.ogt` line
|
|
1058
|
+
<sub>`api.ogt` line 6018</sub>
|
|
1048
1059
|
|
|
1049
1060
|
<a id="record-Joint"></a>
|
|
1050
1061
|
|
|
@@ -1149,7 +1160,7 @@ component Joint {
|
|
|
1149
1160
|
}
|
|
1150
1161
|
```
|
|
1151
1162
|
|
|
1152
|
-
<sub>`api.ogt` line
|
|
1163
|
+
<sub>`api.ogt` line 6035</sub>
|
|
1153
1164
|
|
|
1154
1165
|
<a id="record-CharacterController"></a>
|
|
1155
1166
|
|
|
@@ -1270,7 +1281,7 @@ component CharacterController {
|
|
|
1270
1281
|
}
|
|
1271
1282
|
```
|
|
1272
1283
|
|
|
1273
|
-
<sub>`api.ogt` line
|
|
1284
|
+
<sub>`api.ogt` line 6105</sub>
|
|
1274
1285
|
|
|
1275
1286
|
<a id="record-PlatformerController"></a>
|
|
1276
1287
|
|
|
@@ -1522,7 +1533,7 @@ component PlatformerController {
|
|
|
1522
1533
|
}
|
|
1523
1534
|
```
|
|
1524
1535
|
|
|
1525
|
-
<sub>`api.ogt` line
|
|
1536
|
+
<sub>`api.ogt` line 6192</sub>
|
|
1526
1537
|
|
|
1527
1538
|
<a id="record-CharacterEvent"></a>
|
|
1528
1539
|
|
|
@@ -1552,7 +1563,7 @@ event CharacterEvent {
|
|
|
1552
1563
|
}
|
|
1553
1564
|
```
|
|
1554
1565
|
|
|
1555
|
-
<sub>`api.ogt` line
|
|
1566
|
+
<sub>`api.ogt` line 6394</sub>
|
|
1556
1567
|
|
|
1557
1568
|
<a id="record-Vehicle"></a>
|
|
1558
1569
|
|
|
@@ -1711,7 +1722,7 @@ component Vehicle {
|
|
|
1711
1722
|
}
|
|
1712
1723
|
```
|
|
1713
1724
|
|
|
1714
|
-
<sub>`api.ogt` line
|
|
1725
|
+
<sub>`api.ogt` line 6410</sub>
|
|
1715
1726
|
|
|
1716
1727
|
<a id="record-Rope"></a>
|
|
1717
1728
|
|
|
@@ -1800,7 +1811,7 @@ component Rope {
|
|
|
1800
1811
|
}
|
|
1801
1812
|
```
|
|
1802
1813
|
|
|
1803
|
-
<sub>`api.ogt` line
|
|
1814
|
+
<sub>`api.ogt` line 6528</sub>
|
|
1804
1815
|
|
|
1805
1816
|
<a id="record-Cloth"></a>
|
|
1806
1817
|
|
|
@@ -1906,7 +1917,7 @@ component Cloth {
|
|
|
1906
1917
|
}
|
|
1907
1918
|
```
|
|
1908
1919
|
|
|
1909
|
-
<sub>`api.ogt` line
|
|
1920
|
+
<sub>`api.ogt` line 6594</sub>
|
|
1910
1921
|
|
|
1911
1922
|
<a id="record-Fluid2D"></a>
|
|
1912
1923
|
|
|
@@ -2030,7 +2041,7 @@ component Fluid2D {
|
|
|
2030
2041
|
}
|
|
2031
2042
|
```
|
|
2032
2043
|
|
|
2033
|
-
<sub>`api.ogt` line
|
|
2044
|
+
<sub>`api.ogt` line 6670</sub>
|
|
2034
2045
|
|
|
2035
2046
|
<a id="record-Fluid3D"></a>
|
|
2036
2047
|
|
|
@@ -2199,7 +2210,7 @@ component Fluid3D {
|
|
|
2199
2210
|
}
|
|
2200
2211
|
```
|
|
2201
2212
|
|
|
2202
|
-
<sub>`api.ogt` line
|
|
2213
|
+
<sub>`api.ogt` line 6759</sub>
|
|
2203
2214
|
|
|
2204
2215
|
<a id="record-WaterSurface"></a>
|
|
2205
2216
|
|
|
@@ -2264,7 +2275,7 @@ component WaterSurface {
|
|
|
2264
2275
|
}
|
|
2265
2276
|
```
|
|
2266
2277
|
|
|
2267
|
-
<sub>`api.ogt` line
|
|
2278
|
+
<sub>`api.ogt` line 6885</sub>
|
|
2268
2279
|
|
|
2269
2280
|
<a id="record-WaterLine"></a>
|
|
2270
2281
|
|
|
@@ -2341,7 +2352,7 @@ component WaterLine {
|
|
|
2341
2352
|
}
|
|
2342
2353
|
```
|
|
2343
2354
|
|
|
2344
|
-
<sub>`api.ogt` line
|
|
2355
|
+
<sub>`api.ogt` line 6928</sub>
|
|
2345
2356
|
|
|
2346
2357
|
<a id="record-Splash"></a>
|
|
2347
2358
|
|
|
@@ -2372,7 +2383,7 @@ event Splash {
|
|
|
2372
2383
|
}
|
|
2373
2384
|
```
|
|
2374
2385
|
|
|
2375
|
-
<sub>`api.ogt` line
|
|
2386
|
+
<sub>`api.ogt` line 6981</sub>
|
|
2376
2387
|
|
|
2377
2388
|
<a id="record-Ragdoll"></a>
|
|
2378
2389
|
|
|
@@ -2440,7 +2451,7 @@ component Ragdoll {
|
|
|
2440
2451
|
}
|
|
2441
2452
|
```
|
|
2442
2453
|
|
|
2443
|
-
<sub>`api.ogt` line
|
|
2454
|
+
<sub>`api.ogt` line 6993</sub>
|
|
2444
2455
|
|
|
2445
2456
|
## Types
|
|
2446
2457
|
|
|
@@ -2468,7 +2479,7 @@ struct QueryFilter {
|
|
|
2468
2479
|
}
|
|
2469
2480
|
```
|
|
2470
2481
|
|
|
2471
|
-
<sub>`api.ogt` line
|
|
2482
|
+
<sub>`api.ogt` line 7038</sub>
|
|
2472
2483
|
|
|
2473
2484
|
<a id="type-RaycastDesc"></a>
|
|
2474
2485
|
|
|
@@ -2503,7 +2514,7 @@ struct RaycastDesc {
|
|
|
2503
2514
|
}
|
|
2504
2515
|
```
|
|
2505
2516
|
|
|
2506
|
-
<sub>`api.ogt` line
|
|
2517
|
+
<sub>`api.ogt` line 7046</sub>
|
|
2507
2518
|
|
|
2508
2519
|
<a id="type-RaycastHit"></a>
|
|
2509
2520
|
|
|
@@ -2530,7 +2541,7 @@ struct RaycastHit {
|
|
|
2530
2541
|
}
|
|
2531
2542
|
```
|
|
2532
2543
|
|
|
2533
|
-
<sub>`api.ogt` line
|
|
2544
|
+
<sub>`api.ogt` line 7062</sub>
|
|
2534
2545
|
|
|
2535
2546
|
<a id="type-ShapeDesc"></a>
|
|
2536
2547
|
|
|
@@ -2572,7 +2583,7 @@ struct ShapeDesc {
|
|
|
2572
2583
|
}
|
|
2573
2584
|
```
|
|
2574
2585
|
|
|
2575
|
-
<sub>`api.ogt` line
|
|
2586
|
+
<sub>`api.ogt` line 7072</sub>
|
|
2576
2587
|
|
|
2577
2588
|
<a id="type-ShapeCastDesc"></a>
|
|
2578
2589
|
|
|
@@ -2611,7 +2622,7 @@ struct ShapeCastDesc {
|
|
|
2611
2622
|
}
|
|
2612
2623
|
```
|
|
2613
2624
|
|
|
2614
|
-
<sub>`api.ogt` line
|
|
2625
|
+
<sub>`api.ogt` line 7094</sub>
|
|
2615
2626
|
|
|
2616
2627
|
<a id="type-ShapeCastHit"></a>
|
|
2617
2628
|
|
|
@@ -2638,7 +2649,7 @@ struct ShapeCastHit {
|
|
|
2638
2649
|
}
|
|
2639
2650
|
```
|
|
2640
2651
|
|
|
2641
|
-
<sub>`api.ogt` line
|
|
2652
|
+
<sub>`api.ogt` line 7112</sub>
|
|
2642
2653
|
|
|
2643
2654
|
<a id="type-OverlapDesc"></a>
|
|
2644
2655
|
|
|
@@ -2668,7 +2679,7 @@ struct OverlapDesc {
|
|
|
2668
2679
|
}
|
|
2669
2680
|
```
|
|
2670
2681
|
|
|
2671
|
-
<sub>`api.ogt` line
|
|
2682
|
+
<sub>`api.ogt` line 7122</sub>
|
|
2672
2683
|
|
|
2673
2684
|
<a id="type-MeshDesc"></a>
|
|
2674
2685
|
|
|
@@ -2692,7 +2703,7 @@ struct MeshDesc {
|
|
|
2692
2703
|
}
|
|
2693
2704
|
```
|
|
2694
2705
|
|
|
2695
|
-
<sub>`api.ogt` line
|
|
2706
|
+
<sub>`api.ogt` line 7133</sub>
|
|
2696
2707
|
|
|
2697
2708
|
<a id="type-WheelPose"></a>
|
|
2698
2709
|
|
|
@@ -2726,7 +2737,7 @@ struct WheelPose {
|
|
|
2726
2737
|
}
|
|
2727
2738
|
```
|
|
2728
2739
|
|
|
2729
|
-
<sub>`api.ogt` line
|
|
2740
|
+
<sub>`api.ogt` line 7207</sub>
|
|
2730
2741
|
|
|
2731
2742
|
<a id="type-RagdollBoneDesc"></a>
|
|
2732
2743
|
|
|
@@ -2769,7 +2780,7 @@ struct RagdollBoneDesc {
|
|
|
2769
2780
|
}
|
|
2770
2781
|
```
|
|
2771
2782
|
|
|
2772
|
-
<sub>`api.ogt` line
|
|
2783
|
+
<sub>`api.ogt` line 7223</sub>
|
|
2773
2784
|
|
|
2774
2785
|
<a id="type-RagdollRigDesc"></a>
|
|
2775
2786
|
|
|
@@ -2793,7 +2804,7 @@ struct RagdollRigDesc {
|
|
|
2793
2804
|
}
|
|
2794
2805
|
```
|
|
2795
2806
|
|
|
2796
|
-
<sub>`api.ogt` line
|
|
2807
|
+
<sub>`api.ogt` line 7245</sub>
|
|
2797
2808
|
|
|
2798
2809
|
<a id="type-BonePose"></a>
|
|
2799
2810
|
|
|
@@ -2816,7 +2827,7 @@ struct BonePose {
|
|
|
2816
2827
|
}
|
|
2817
2828
|
```
|
|
2818
2829
|
|
|
2819
|
-
<sub>`api.ogt` line
|
|
2830
|
+
<sub>`api.ogt` line 7252</sub>
|
|
2820
2831
|
|
|
2821
2832
|
<a id="type-PhysicsPhase"></a>
|
|
2822
2833
|
|
|
@@ -2841,7 +2852,7 @@ struct PhysicsPhase {
|
|
|
2841
2852
|
}
|
|
2842
2853
|
```
|
|
2843
2854
|
|
|
2844
|
-
<sub>`api.ogt` line
|
|
2855
|
+
<sub>`api.ogt` line 7326</sub>
|
|
2845
2856
|
|
|
2846
2857
|
<a id="type-PhysicsStats"></a>
|
|
2847
2858
|
|
|
@@ -2872,7 +2883,7 @@ struct PhysicsStats {
|
|
|
2872
2883
|
}
|
|
2873
2884
|
```
|
|
2874
2885
|
|
|
2875
|
-
<sub>`api.ogt` line
|
|
2886
|
+
<sub>`api.ogt` line 7335</sub>
|
|
2876
2887
|
|
|
2877
2888
|
## Constants
|
|
2878
2889
|
|
|
@@ -2923,238 +2934,238 @@ struct PhysicsStats {
|
|
|
2923
2934
|
const BODY_DYNAMIC u32 0 "RigidBody.kind: moved by the solver; its Transform and Velocity are written back every tick."
|
|
2924
2935
|
```
|
|
2925
2936
|
|
|
2926
|
-
<sub>`api.ogt` line
|
|
2937
|
+
<sub>`api.ogt` line 5814</sub>
|
|
2927
2938
|
|
|
2928
2939
|
```ogt
|
|
2929
2940
|
const BODY_STATIC u32 1 "RigidBody.kind: never moves; collides with dynamic bodies."
|
|
2930
2941
|
```
|
|
2931
2942
|
|
|
2932
|
-
<sub>`api.ogt` line
|
|
2943
|
+
<sub>`api.ogt` line 5815</sub>
|
|
2933
2944
|
|
|
2934
2945
|
```ogt
|
|
2935
2946
|
const BODY_KINEMATIC u32 2 "RigidBody.kind: not moved by the solver. With an og.Velocity the step moves it by it each tick and writes its Transform back (a lift, a conveyor, a turning gear); a Transform game code writes moves it there first (a teleport). Without one it stays where its Transform puts it. Either way it pushes dynamic bodies and carries the controllers standing on it."
|
|
2936
2947
|
```
|
|
2937
2948
|
|
|
2938
|
-
<sub>`api.ogt` line
|
|
2949
|
+
<sub>`api.ogt` line 5816</sub>
|
|
2939
2950
|
|
|
2940
2951
|
```ogt
|
|
2941
2952
|
const LOCK_TRANSLATION_X u32 1 "RigidBody.lock bit: no translation along x."
|
|
2942
2953
|
```
|
|
2943
2954
|
|
|
2944
|
-
<sub>`api.ogt` line
|
|
2955
|
+
<sub>`api.ogt` line 5817</sub>
|
|
2945
2956
|
|
|
2946
2957
|
```ogt
|
|
2947
2958
|
const LOCK_TRANSLATION_Y u32 2 "RigidBody.lock bit: no translation along y."
|
|
2948
2959
|
```
|
|
2949
2960
|
|
|
2950
|
-
<sub>`api.ogt` line
|
|
2961
|
+
<sub>`api.ogt` line 5818</sub>
|
|
2951
2962
|
|
|
2952
2963
|
```ogt
|
|
2953
2964
|
const LOCK_TRANSLATION_Z u32 4 "RigidBody.lock bit: no translation along z."
|
|
2954
2965
|
```
|
|
2955
2966
|
|
|
2956
|
-
<sub>`api.ogt` line
|
|
2967
|
+
<sub>`api.ogt` line 5819</sub>
|
|
2957
2968
|
|
|
2958
2969
|
```ogt
|
|
2959
2970
|
const LOCK_ROTATION_X u32 8 "RigidBody.lock bit: no rotation about x."
|
|
2960
2971
|
```
|
|
2961
2972
|
|
|
2962
|
-
<sub>`api.ogt` line
|
|
2973
|
+
<sub>`api.ogt` line 5820</sub>
|
|
2963
2974
|
|
|
2964
2975
|
```ogt
|
|
2965
2976
|
const LOCK_ROTATION_Y u32 16 "RigidBody.lock bit: no rotation about y."
|
|
2966
2977
|
```
|
|
2967
2978
|
|
|
2968
|
-
<sub>`api.ogt` line
|
|
2979
|
+
<sub>`api.ogt` line 5821</sub>
|
|
2969
2980
|
|
|
2970
2981
|
```ogt
|
|
2971
2982
|
const LOCK_ROTATION_Z u32 32 "RigidBody.lock bit: no rotation about z (the 2D profile's only rotation)."
|
|
2972
2983
|
```
|
|
2973
2984
|
|
|
2974
|
-
<sub>`api.ogt` line
|
|
2985
|
+
<sub>`api.ogt` line 5822</sub>
|
|
2975
2986
|
|
|
2976
2987
|
```ogt
|
|
2977
2988
|
const SHAPE_BOX u32 0 "Collider.shape: a box of `size` (both profiles)."
|
|
2978
2989
|
```
|
|
2979
2990
|
|
|
2980
|
-
<sub>`api.ogt` line
|
|
2991
|
+
<sub>`api.ogt` line 5823</sub>
|
|
2981
2992
|
|
|
2982
2993
|
```ogt
|
|
2983
2994
|
const SHAPE_SPHERE u32 1 "Collider.shape: a sphere of `radius` (a circle in 2D)."
|
|
2984
2995
|
```
|
|
2985
2996
|
|
|
2986
|
-
<sub>`api.ogt` line
|
|
2997
|
+
<sub>`api.ogt` line 5824</sub>
|
|
2987
2998
|
|
|
2988
2999
|
```ogt
|
|
2989
3000
|
const SHAPE_CAPSULE u32 2 "Collider.shape: a capsule along y of `radius`, with `height` between the cap centres (both profiles)."
|
|
2990
3001
|
```
|
|
2991
3002
|
|
|
2992
|
-
<sub>`api.ogt` line
|
|
3003
|
+
<sub>`api.ogt` line 5825</sub>
|
|
2993
3004
|
|
|
2994
3005
|
```ogt
|
|
2995
3006
|
const SHAPE_CYLINDER u32 3 "Collider.shape: a cylinder along y of `radius` and `height` (3D only)."
|
|
2996
3007
|
```
|
|
2997
3008
|
|
|
2998
|
-
<sub>`api.ogt` line
|
|
3009
|
+
<sub>`api.ogt` line 5826</sub>
|
|
2999
3010
|
|
|
3000
3011
|
```ogt
|
|
3001
3012
|
const SHAPE_CONVEX u32 4 "Collider.shape: the convex hull of the vertices of `mesh` (3D), or of their xy (a convex polygon, 2D)."
|
|
3002
3013
|
```
|
|
3003
3014
|
|
|
3004
|
-
<sub>`api.ogt` line
|
|
3015
|
+
<sub>`api.ogt` line 5827</sub>
|
|
3005
3016
|
|
|
3006
3017
|
```ogt
|
|
3007
3018
|
const SHAPE_TRIMESH u32 5 "Collider.shape: the triangles of `mesh` (3D only; for static and kinematic bodies)."
|
|
3008
3019
|
```
|
|
3009
3020
|
|
|
3010
|
-
<sub>`api.ogt` line
|
|
3021
|
+
<sub>`api.ogt` line 5828</sub>
|
|
3011
3022
|
|
|
3012
3023
|
```ogt
|
|
3013
3024
|
const SHAPE_HEIGHTFIELD u32 6 "Collider.shape: the height field registered as `mesh`, centred on the entity (3D only; a terrain: og.terrain.load's TerrainInfo.geometry)."
|
|
3014
3025
|
```
|
|
3015
3026
|
|
|
3016
|
-
<sub>`api.ogt` line
|
|
3027
|
+
<sub>`api.ogt` line 5829</sub>
|
|
3017
3028
|
|
|
3018
3029
|
```ogt
|
|
3019
3030
|
const PROFILE_2D u32 2 "Physics.profile: rapier2d, bodies in the xy plane rotating about z."
|
|
3020
3031
|
```
|
|
3021
3032
|
|
|
3022
|
-
<sub>`api.ogt` line
|
|
3033
|
+
<sub>`api.ogt` line 5830</sub>
|
|
3023
3034
|
|
|
3024
3035
|
```ogt
|
|
3025
3036
|
const PROFILE_3D u32 3 "Physics.profile: rapier3d."
|
|
3026
3037
|
```
|
|
3027
3038
|
|
|
3028
|
-
<sub>`api.ogt` line
|
|
3039
|
+
<sub>`api.ogt` line 5831</sub>
|
|
3029
3040
|
|
|
3030
3041
|
```ogt
|
|
3031
3042
|
const JOINT_FIXED u32 0 "`Joint.kind`: the two bodies move as one."
|
|
3032
3043
|
```
|
|
3033
3044
|
|
|
3034
|
-
<sub>`api.ogt` line
|
|
3045
|
+
<sub>`api.ogt` line 6025</sub>
|
|
3035
3046
|
|
|
3036
3047
|
```ogt
|
|
3037
3048
|
const JOINT_REVOLUTE u32 1 "`Joint.kind`: a hinge about `axis` (2D: about z), with optional limits and a motor."
|
|
3038
3049
|
```
|
|
3039
3050
|
|
|
3040
|
-
<sub>`api.ogt` line
|
|
3051
|
+
<sub>`api.ogt` line 6026</sub>
|
|
3041
3052
|
|
|
3042
3053
|
```ogt
|
|
3043
3054
|
const JOINT_PRISMATIC u32 2 "`Joint.kind`: a slider along `axis`, with optional limits and a motor."
|
|
3044
3055
|
```
|
|
3045
3056
|
|
|
3046
|
-
<sub>`api.ogt` line
|
|
3057
|
+
<sub>`api.ogt` line 6027</sub>
|
|
3047
3058
|
|
|
3048
3059
|
```ogt
|
|
3049
3060
|
const JOINT_SPRING u32 3 "`Joint.kind`: a damped spring pulling the anchors to `restLength` apart."
|
|
3050
3061
|
```
|
|
3051
3062
|
|
|
3052
|
-
<sub>`api.ogt` line
|
|
3063
|
+
<sub>`api.ogt` line 6028</sub>
|
|
3053
3064
|
|
|
3054
3065
|
```ogt
|
|
3055
3066
|
const JOINT_ROPE u32 4 "`Joint.kind`: a rope: the anchors stay at most `length` apart, free inside it."
|
|
3056
3067
|
```
|
|
3057
3068
|
|
|
3058
|
-
<sub>`api.ogt` line
|
|
3069
|
+
<sub>`api.ogt` line 6029</sub>
|
|
3059
3070
|
|
|
3060
3071
|
```ogt
|
|
3061
3072
|
const JOINT_BALL u32 5 "`Joint.kind`: a ball and socket (3D; the 2D profile treats it as a hinge)."
|
|
3062
3073
|
```
|
|
3063
3074
|
|
|
3064
|
-
<sub>`api.ogt` line
|
|
3075
|
+
<sub>`api.ogt` line 6030</sub>
|
|
3065
3076
|
|
|
3066
3077
|
```ogt
|
|
3067
3078
|
const MOTOR_NONE u32 0 "`Joint.motor`: no motor."
|
|
3068
3079
|
```
|
|
3069
3080
|
|
|
3070
|
-
<sub>`api.ogt` line
|
|
3081
|
+
<sub>`api.ogt` line 6031</sub>
|
|
3071
3082
|
|
|
3072
3083
|
```ogt
|
|
3073
3084
|
const MOTOR_VELOCITY u32 1 "`Joint.motor`: drive towards `motorTarget` speed (rad/s or m/s)."
|
|
3074
3085
|
```
|
|
3075
3086
|
|
|
3076
|
-
<sub>`api.ogt` line
|
|
3087
|
+
<sub>`api.ogt` line 6032</sub>
|
|
3077
3088
|
|
|
3078
3089
|
```ogt
|
|
3079
3090
|
const MOTOR_POSITION u32 2 "`Joint.motor`: spring towards `motorTarget` angle or position (a servo)."
|
|
3080
3091
|
```
|
|
3081
3092
|
|
|
3082
|
-
<sub>`api.ogt` line
|
|
3093
|
+
<sub>`api.ogt` line 6033</sub>
|
|
3083
3094
|
|
|
3084
3095
|
```ogt
|
|
3085
3096
|
const CHARACTER_JUMPED u32 1 "`CharacterEvent.kind`: a jump from the ground (or in coyote time)."
|
|
3086
3097
|
```
|
|
3087
3098
|
|
|
3088
|
-
<sub>`api.ogt` line
|
|
3099
|
+
<sub>`api.ogt` line 6387</sub>
|
|
3089
3100
|
|
|
3090
3101
|
```ogt
|
|
3091
3102
|
const CHARACTER_LANDED u32 2 "`CharacterEvent.kind`: touched the ground after being in the air."
|
|
3092
3103
|
```
|
|
3093
3104
|
|
|
3094
|
-
<sub>`api.ogt` line
|
|
3105
|
+
<sub>`api.ogt` line 6388</sub>
|
|
3095
3106
|
|
|
3096
3107
|
```ogt
|
|
3097
3108
|
const CHARACTER_WALL_JUMPED u32 3 "`CharacterEvent.kind`: a jump off a wall."
|
|
3098
3109
|
```
|
|
3099
3110
|
|
|
3100
|
-
<sub>`api.ogt` line
|
|
3111
|
+
<sub>`api.ogt` line 6389</sub>
|
|
3101
3112
|
|
|
3102
3113
|
```ogt
|
|
3103
3114
|
const CHARACTER_AIR_JUMPED u32 4 "`CharacterEvent.kind`: a jump in the air (PlatformerController.airJumps)."
|
|
3104
3115
|
```
|
|
3105
3116
|
|
|
3106
|
-
<sub>`api.ogt` line
|
|
3117
|
+
<sub>`api.ogt` line 6390</sub>
|
|
3107
3118
|
|
|
3108
3119
|
```ogt
|
|
3109
3120
|
const CHARACTER_LEFT_GROUND u32 5 "`CharacterEvent.kind`: left the ground without jumping (ran off an edge)."
|
|
3110
3121
|
```
|
|
3111
3122
|
|
|
3112
|
-
<sub>`api.ogt` line
|
|
3123
|
+
<sub>`api.ogt` line 6391</sub>
|
|
3113
3124
|
|
|
3114
3125
|
```ogt
|
|
3115
3126
|
const CHARACTER_BUMPED u32 6 "`CharacterEvent.kind`: hit a ceiling while rising."
|
|
3116
3127
|
```
|
|
3117
3128
|
|
|
3118
|
-
<sub>`api.ogt` line
|
|
3129
|
+
<sub>`api.ogt` line 6392</sub>
|
|
3119
3130
|
|
|
3120
3131
|
```ogt
|
|
3121
3132
|
const DRIVE_REAR u32 0 "`Vehicle.drive`: the rear wheels drive."
|
|
3122
3133
|
```
|
|
3123
3134
|
|
|
3124
|
-
<sub>`api.ogt` line
|
|
3135
|
+
<sub>`api.ogt` line 6406</sub>
|
|
3125
3136
|
|
|
3126
3137
|
```ogt
|
|
3127
3138
|
const DRIVE_FRONT u32 1 "`Vehicle.drive`: the front wheels drive."
|
|
3128
3139
|
```
|
|
3129
3140
|
|
|
3130
|
-
<sub>`api.ogt` line
|
|
3141
|
+
<sub>`api.ogt` line 6407</sub>
|
|
3131
3142
|
|
|
3132
3143
|
```ogt
|
|
3133
3144
|
const DRIVE_ALL u32 2 "`Vehicle.drive`: every wheel drives."
|
|
3134
3145
|
```
|
|
3135
3146
|
|
|
3136
|
-
<sub>`api.ogt` line
|
|
3147
|
+
<sub>`api.ogt` line 6408</sub>
|
|
3137
3148
|
|
|
3138
3149
|
```ogt
|
|
3139
3150
|
const PIN_TOP u32 1 "`Cloth.pins` bit: the whole top row is pinned."
|
|
3140
3151
|
```
|
|
3141
3152
|
|
|
3142
|
-
<sub>`api.ogt` line
|
|
3153
|
+
<sub>`api.ogt` line 6589</sub>
|
|
3143
3154
|
|
|
3144
3155
|
```ogt
|
|
3145
3156
|
const PIN_TOP_CORNERS u32 2 "`Cloth.pins` bit: the top-left and top-right corners are pinned."
|
|
3146
3157
|
```
|
|
3147
3158
|
|
|
3148
|
-
<sub>`api.ogt` line
|
|
3159
|
+
<sub>`api.ogt` line 6590</sub>
|
|
3149
3160
|
|
|
3150
3161
|
```ogt
|
|
3151
3162
|
const PIN_LEFT u32 4 "`Cloth.pins` bit: the whole left column is pinned (a flag on a pole)."
|
|
3152
3163
|
```
|
|
3153
3164
|
|
|
3154
|
-
<sub>`api.ogt` line
|
|
3165
|
+
<sub>`api.ogt` line 6591</sub>
|
|
3155
3166
|
|
|
3156
3167
|
```ogt
|
|
3157
3168
|
const PIN_TOP_RINGS u32 8 "`Cloth.pins` bit: every fourth point of the top row (curtain rings)."
|
|
3158
3169
|
```
|
|
3159
3170
|
|
|
3160
|
-
<sub>`api.ogt` line
|
|
3171
|
+
<sub>`api.ogt` line 6592</sub>
|