@bis-toolkit/p3d 1.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.
- package/LICENSE +674 -0
- package/README.md +58 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2265 -0
- package/dist/index.js.map +7 -0
- package/dist/mlod/Face.d.ts +19 -0
- package/dist/mlod/FaceFlags.d.ts +8 -0
- package/dist/mlod/Mlod.d.ts +39 -0
- package/dist/mlod/MlodLod.d.ts +30 -0
- package/dist/mlod/Point.d.ts +26 -0
- package/dist/mlod/PointFlags.d.ts +9 -0
- package/dist/mlod/Tagg.d.ts +53 -0
- package/dist/mlod/TaggReader.d.ts +18 -0
- package/dist/mlod/Vector3.d.ts +29 -0
- package/dist/mlod/Vertex.d.ts +12 -0
- package/dist/mlod/index.d.ts +15 -0
- package/dist/odol/Animation.d.ts +48 -0
- package/dist/odol/Animations.d.ts +12 -0
- package/dist/odol/Materials.d.ts +51 -0
- package/dist/odol/ModelInfo.d.ts +71 -0
- package/dist/odol/Odol.d.ts +47 -0
- package/dist/odol/OdolLod.d.ts +75 -0
- package/dist/odol/OdolReader.d.ts +30 -0
- package/dist/odol/PackedColor.d.ts +14 -0
- package/dist/odol/VertexData.d.ts +52 -0
- package/dist/odol/auxiliaryStructures.d.ts +49 -0
- package/dist/odol/enums.d.ts +104 -0
- package/dist/odol/index.d.ts +14 -0
- package/dist/odol/math.d.ts +46 -0
- package/dist/odol/structures.d.ts +66 -0
- package/dist/shared/Lod.d.ts +5 -0
- package/dist/shared/P3d.d.ts +19 -0
- package/dist/shared/Resolution.d.ts +1 -0
- package/package.json +56 -0
package/README.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# @bis-toolkit/p3d
|
|
2
|
+
|
|
3
|
+
A library for reading P3D model files (MLOD and ODOL formats) used in Bohemia Interactive games (Arma, DayZ).
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **MLOD Reader**: Parse editable P3D model files (.p3d, .mlod)
|
|
8
|
+
- **ODOL Reader**: Parse binary P3D model files (binarized .p3d)
|
|
9
|
+
- Full TypeScript support with type definitions
|
|
10
|
+
- Zero dependencies (except for shared BIS Toolkit utilities)
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install @bis-toolkit/p3d
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
### MLOD (Editable P3D Format)
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { Mlod } from '@bis-toolkit/p3d';
|
|
24
|
+
|
|
25
|
+
const buffer = new Uint8Array(/* your file data */);
|
|
26
|
+
const mlod = Mlod.fromBuffer(buffer);
|
|
27
|
+
|
|
28
|
+
// Access LODs
|
|
29
|
+
mlod.lods.forEach(lod => {
|
|
30
|
+
console.log(`LOD: ${lod.resolutionName}`);
|
|
31
|
+
console.log(`Vertices: ${lod.vertices.length}`);
|
|
32
|
+
console.log(`Faces: ${lod.faces.length}`);
|
|
33
|
+
});
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### ODOL (Binary P3D Format)
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { Odol } from '@bis-toolkit/p3d';
|
|
40
|
+
|
|
41
|
+
const buffer = new Uint8Array(/* your file data */);
|
|
42
|
+
const odol = Odol.fromBuffer(buffer);
|
|
43
|
+
|
|
44
|
+
// Access model information
|
|
45
|
+
console.log(`Version: ${odol.version}`);
|
|
46
|
+
console.log(`LODs: ${odol.lods.length}`);
|
|
47
|
+
|
|
48
|
+
// Access LODs
|
|
49
|
+
odol.lods.forEach(lod => {
|
|
50
|
+
console.log(`LOD: ${lod.resolutionName}`);
|
|
51
|
+
console.log(`Vertices: ${lod.vertices.length}`);
|
|
52
|
+
console.log(`Faces: ${lod.faces.length}`);
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## License
|
|
57
|
+
|
|
58
|
+
GPLv3 © Alpine Labs - see [LICENSE](LICENSE).
|
package/dist/index.d.ts
ADDED