arx-convert 11.0.0 → 12.0.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.
Files changed (74) hide show
  1. package/README.md +4 -0
  2. package/dist/amb/AMB.d.ts +1 -0
  3. package/dist/amb/AMB.js +1 -0
  4. package/dist/amb/AMB.js.map +1 -1
  5. package/dist/common/Color.js +1 -1
  6. package/dist/common/Color.js.map +1 -1
  7. package/dist/dlf/DLF.d.ts +1 -0
  8. package/dist/dlf/DLF.js +1 -0
  9. package/dist/dlf/DLF.js.map +1 -1
  10. package/dist/dlf/DlfHeader.d.ts +6 -3
  11. package/dist/dlf/DlfHeader.js +7 -7
  12. package/dist/dlf/DlfHeader.js.map +1 -1
  13. package/dist/dlf/Fog.d.ts +21 -3
  14. package/dist/dlf/Fog.js.map +1 -1
  15. package/dist/dlf/InteactiveObject.d.ts +4 -0
  16. package/dist/dlf/InteactiveObject.js.map +1 -1
  17. package/dist/dlf/ZoneAndPathHeader.d.ts +6 -2
  18. package/dist/dlf/ZoneAndPathHeader.js.map +1 -1
  19. package/dist/dlf/ZoneAndPathPoint.d.ts +3 -0
  20. package/dist/dlf/ZoneAndPathPoint.js +3 -0
  21. package/dist/dlf/ZoneAndPathPoint.js.map +1 -1
  22. package/dist/ftl/FTL.d.ts +1 -0
  23. package/dist/ftl/FTL.js +1 -0
  24. package/dist/ftl/FTL.js.map +1 -1
  25. package/dist/ftl/Face.d.ts +5 -1
  26. package/dist/ftl/Face.js +5 -1
  27. package/dist/ftl/Face.js.map +1 -1
  28. package/dist/fts/AnchorData.js +1 -1
  29. package/dist/fts/AnchorData.js.map +1 -1
  30. package/dist/fts/EPData.d.ts +2 -2
  31. package/dist/fts/EPData.js +4 -4
  32. package/dist/fts/EPData.js.map +1 -1
  33. package/dist/fts/FTS.d.ts +8 -2
  34. package/dist/fts/FTS.js +21 -1
  35. package/dist/fts/FTS.js.map +1 -1
  36. package/dist/fts/FtsHeader.js +1 -1
  37. package/dist/fts/FtsHeader.js.map +1 -1
  38. package/dist/fts/Polygon.d.ts +8 -5
  39. package/dist/fts/Polygon.js +23 -7
  40. package/dist/fts/Polygon.js.map +1 -1
  41. package/dist/fts/Portal.d.ts +1 -2
  42. package/dist/fts/Portal.js +6 -5
  43. package/dist/fts/Portal.js.map +1 -1
  44. package/dist/fts/RoomDistance.d.ts +3 -0
  45. package/dist/fts/RoomDistance.js +1 -1
  46. package/dist/fts/RoomDistance.js.map +1 -1
  47. package/dist/fts/TextureContainer.d.ts +3 -0
  48. package/dist/fts/TextureContainer.js.map +1 -1
  49. package/dist/fts/TextureVertex.d.ts +2 -0
  50. package/dist/fts/TextureVertex.js.map +1 -1
  51. package/dist/fts/helpers.d.ts +4 -0
  52. package/dist/fts/helpers.js +10 -0
  53. package/dist/fts/helpers.js.map +1 -1
  54. package/dist/llf/LLF.d.ts +4 -0
  55. package/dist/llf/LLF.js +1 -0
  56. package/dist/llf/LLF.js.map +1 -1
  57. package/dist/llf/Light.d.ts +8 -10
  58. package/dist/llf/Light.js.map +1 -1
  59. package/dist/llf/LlfHeader.d.ts +6 -3
  60. package/dist/llf/LlfHeader.js +7 -7
  61. package/dist/llf/LlfHeader.js.map +1 -1
  62. package/dist/tea/KeyFrame.d.ts +9 -1
  63. package/dist/tea/KeyFrame.js +9 -6
  64. package/dist/tea/KeyFrame.js.map +1 -1
  65. package/dist/tea/TEA.d.ts +1 -0
  66. package/dist/tea/TEA.js +1 -0
  67. package/dist/tea/TEA.js.map +1 -1
  68. package/package.json +1 -1
  69. package/schemas/amb.schema.json +123 -0
  70. package/schemas/dlf.schema.json +396 -0
  71. package/schemas/ftl.schema.json +248 -0
  72. package/schemas/fts.schema.json +422 -0
  73. package/schemas/llf.schema.json +169 -0
  74. package/schemas/tea.schema.json +151 -0
@@ -0,0 +1,169 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://arx-tools.github.io/schemas/llf.schema.json",
4
+ "title": "LLF",
5
+ "description": "LLF (Level Lighting File) format of Arx Fatalis interpreted as JSON by arx-convert",
6
+ "$defs": {
7
+ "uint8": {
8
+ "type": "integer",
9
+ "minimum": 0,
10
+ "maximum": 255
11
+ },
12
+ "positiveInt32": {
13
+ "type": "integer",
14
+ "minimum": 0,
15
+ "maximum": 2147483647
16
+ },
17
+ "color": {
18
+ "type": "object",
19
+ "properties": {
20
+ "r": {
21
+ "$ref": "#/$defs/uint8"
22
+ },
23
+ "g": {
24
+ "$ref": "#/$defs/uint8"
25
+ },
26
+ "b": {
27
+ "$ref": "#/$defs/uint8"
28
+ },
29
+ "a": {
30
+ "description": "0.0 = fully transparent, 1.0 = fully opaque",
31
+ "type": "number",
32
+ "minimum": 0,
33
+ "maximum": 1
34
+ }
35
+ },
36
+ "required": [
37
+ "r",
38
+ "g",
39
+ "b",
40
+ "a"
41
+ ]
42
+ },
43
+ "vector3": {
44
+ "type": "object",
45
+ "properties": {
46
+ "x": {
47
+ "type": "number"
48
+ },
49
+ "y": {
50
+ "type": "number"
51
+ },
52
+ "z": {
53
+ "type": "number"
54
+ }
55
+ },
56
+ "required": [
57
+ "x",
58
+ "y",
59
+ "z"
60
+ ]
61
+ }
62
+ },
63
+ "type": "object",
64
+ "properties": {
65
+ "header": {
66
+ "type": "object",
67
+ "properties": {
68
+ "lastModifiedBy": {
69
+ "type": "string",
70
+ "maxLength": 256
71
+ },
72
+ "lastModifiedAt": {
73
+ "description": "Unix timestamp in seconds",
74
+ "$ref": "#/$defs/positiveInt32"
75
+ },
76
+ "numberOfPolygonsInFTS": {
77
+ "$ref": "#/$defs/positiveInt32"
78
+ }
79
+ },
80
+ "required": [
81
+ "lastModifiedBy",
82
+ "lastModifiedAt",
83
+ "numberOfPolygonsInFTS"
84
+ ]
85
+ },
86
+ "lights": {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "object",
90
+ "properties": {
91
+ "pos": {
92
+ "$ref": "#/$defs/vector3"
93
+ },
94
+ "color": {
95
+ "$ref": "#/$defs/color"
96
+ },
97
+ "fallStart": {
98
+ "description": "The radius of a sphere around `pos` in which the light is at full intensity.",
99
+ "type": "number"
100
+ },
101
+ "fallEnd": {
102
+ "description": "The radius of a sphere around `pos` where the light's intensity gradually fades to 0.",
103
+ "type": "number"
104
+ },
105
+ "intensity": {
106
+ "description": "How bright the light is.",
107
+ "type": "number"
108
+ },
109
+ "exFlicker": {
110
+ "description": "This color periodically overrides `color`. The frequency of the flicker cannot be changed. Subtractive color mixing is used, the color will get subtracted from `color` resulting in a negative color",
111
+ "$ref": "#/$defs/color"
112
+ },
113
+ "exRadius": {
114
+ "description": "Determines the spread of the smoke and fire particles: creates a circle around the center of the light with a radius of `exRadius`. When `ArxLightFlags.SpawnFire` is set, then it also sets the radius of the spheare around the light's center which harms the NPCs and the player with fire damage when getting in contact.",
115
+ "type": "number"
116
+ },
117
+ "exFrequency": {
118
+ "description": "How frequently should the light source spawn flame particles when `flags` has `ArxLightFlags.SpawnFire` set, or smoke particle when `ArxLightFlags.SpawnSmoke` is set. The range is between 0.0 and 1.0 where 0.0 completely stops fire from spawning.",
119
+ "type": "number"
120
+ },
121
+ "exSize": {
122
+ "description": "Size of the fire/smoke particles if `ArxLightFlags.SpawnFire` or `ArxLightFlags.SpawnSmoke` is set. The value is supposed to be set between 0.0 and 1.0, but it can go over 1.0 for extreme effect.",
123
+ "type": "number"
124
+ },
125
+ "exSpeed": {
126
+ "description": "How far the fire/smoke particles go during the time they are alive. A larger number will make the particles shoot up like a fountain, a smaller number will make all of them stay in one place. The value is supposed to be set between 0.0 and 1.0, but it can go over 1.0 for extreme effect.",
127
+ "type": "number",
128
+ "minimum": 0,
129
+ "maximum": 9007199254740991
130
+ },
131
+ "exFlareSize": {
132
+ "description": "The radius of the flare/halo when `ArxLightFlags.Flare` is set. The value of `exFlareSize` is ignored when `ArxLightFlags.FixFlareSize` is set. Danae only allows setting it to a maximum of 200, but there isn't any limitiations in the game.",
133
+ "type": "number"
134
+ },
135
+ "flags": {
136
+ "description": "See ArxLightFlags for values",
137
+ "$ref": "#/$defs/positiveInt32"
138
+ }
139
+ },
140
+ "required": [
141
+ "pos",
142
+ "color",
143
+ "fallStart",
144
+ "fallEnd",
145
+ "intensity",
146
+ "exFlicker",
147
+ "exRadius",
148
+ "exFrequency",
149
+ "exSize",
150
+ "exSpeed",
151
+ "exFlareSize",
152
+ "flags"
153
+ ]
154
+ }
155
+ },
156
+ "colors": {
157
+ "description": "pre-computed vertex light colors for FTS.polygons",
158
+ "type": "array",
159
+ "items": {
160
+ "$ref": "#/$defs/color"
161
+ }
162
+ }
163
+ },
164
+ "required": [
165
+ "header",
166
+ "lights",
167
+ "colors"
168
+ ]
169
+ }
@@ -0,0 +1,151 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://arx-tools.github.io/schemas/tea.schema.json",
4
+ "title": "TEA",
5
+ "description": "TEA (ThEo Animation) format of Arx Fatalis interpreted as JSON by arx-convert",
6
+ "$defs": {
7
+ "vector3": {
8
+ "type": "object",
9
+ "properties": {
10
+ "x": {
11
+ "type": "number"
12
+ },
13
+ "y": {
14
+ "type": "number"
15
+ },
16
+ "z": {
17
+ "type": "number"
18
+ }
19
+ },
20
+ "required": [
21
+ "x",
22
+ "y",
23
+ "z"
24
+ ]
25
+ },
26
+ "quaternion": {
27
+ "type": "object",
28
+ "properties": {
29
+ "x": {
30
+ "type": "number"
31
+ },
32
+ "y": {
33
+ "type": "number"
34
+ },
35
+ "z": {
36
+ "type": "number"
37
+ },
38
+ "w": {
39
+ "type": "number"
40
+ }
41
+ },
42
+ "required": [
43
+ "x",
44
+ "y",
45
+ "z",
46
+ "w"
47
+ ]
48
+ },
49
+ "positiveInt32": {
50
+ "type": "integer",
51
+ "minimum": 0,
52
+ "maximum": 2147483647
53
+ }
54
+ },
55
+ "type": "object",
56
+ "properties": {
57
+ "header": {
58
+ "type": "object",
59
+ "properties": {
60
+ "name": {
61
+ "description": "Name of the animation. It's good idea to make this the same as the filename (without the extension).",
62
+ "type": "string"
63
+ },
64
+ "totalNumberOfFrames": {
65
+ "$ref": "#/$defs/positiveInt32"
66
+ }
67
+ },
68
+ "required": [
69
+ "name",
70
+ "totalNumberOfFrames"
71
+ ]
72
+ },
73
+ "keyframes": {
74
+ "type": "array",
75
+ "items": {
76
+ "type": "object",
77
+ "description": "A single keyframe",
78
+ "properties": {
79
+ "frame": {
80
+ "description": "Should be between 0 (inclusive) and header.totalNumberOfFrames (exclusive)",
81
+ "$ref": "#/$defs/positiveInt32"
82
+ },
83
+ "flags": {
84
+ "anyOf": [
85
+ {
86
+ "const": -1
87
+ },
88
+ {
89
+ "const": 9
90
+ }
91
+ ]
92
+ },
93
+ "isMasterKeyFrame": {
94
+ "type": "boolean"
95
+ },
96
+ "isKeyFrame": {
97
+ "type": "boolean"
98
+ },
99
+ "time_frame": {
100
+ "$ref": "#/$defs/positiveInt32"
101
+ },
102
+ "groups": {
103
+ "type": "array",
104
+ "items": {
105
+ "type": "object",
106
+ "properties": {
107
+ "isKey": {
108
+ "type": "boolean"
109
+ },
110
+ "translate": {
111
+ "description": "Optional field, ommitting this field is the same as setting 0/0/0",
112
+ "$ref": "#/$defs/vector3"
113
+ },
114
+ "quaternion": {
115
+ "description": "Optional field, ommitting this field is the same as setting 0/0/0/1",
116
+ "$ref": "#/$defs/quaternion"
117
+ },
118
+ "zoom": {
119
+ "description": "Optional field, ommitting this field is the same as setting 0/0/0",
120
+ "$ref": "#/$defs/vector3"
121
+ }
122
+ },
123
+ "required": [
124
+ "isKey"
125
+ ]
126
+ }
127
+ },
128
+ "translate": {
129
+ "description": "Optional field, ommitting this field is the same as setting 0/0/0",
130
+ "$ref": "#/$defs/vector3"
131
+ },
132
+ "quaternion": {
133
+ "description": "Optional field, ommitting this field is the same as setting 0/0/0/1",
134
+ "$ref": "#/$defs/quaternion"
135
+ }
136
+ },
137
+ "required": [
138
+ "frame",
139
+ "isMasterKeyFrame",
140
+ "isKeyFrame",
141
+ "time_frame",
142
+ "groups"
143
+ ]
144
+ }
145
+ }
146
+ },
147
+ "required": [
148
+ "header",
149
+ "keyframes"
150
+ ]
151
+ }