A few months ago, I was working on a
P3DTool
for manipulating Pure3D files through the command line. Life then happened and development kind of stopped.Fast forward to now, and I'm looking for ideas for utilities that would help modders. Whilst I've been in this community for a long time, the majority of my focus has been on Lua mods, which means I don't know what features would help in "normal" mod development.
So I'm looking for any suggestions on what would make your life easier. One example that I worked on for @Loren was a Pure3D Searcher, that could search the entire game's Pure3D files for a given query:
Pure3D Searcher
Console output:
Enter search query:
shirtdollar
Searching through 1965 files in "C:\SHAR\" for "shirtdollar"...
90. "BQG_shirtdollarShape8" (Animation (0x121000)).Name: BQG_shirtdollarShape8
90. "BQG_shirtdollarShape8" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape8" (Animation Group (0x121001)).Name: shirtdollarShape8
91. "PTRN_shirtdollar" (Animation (0x121000)).Name: PTRN_shirtdollar
91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollar" (Animation Group (0x121001)).Name: shirtdollar
91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 2. "shirtdollar2" (Animation Group (0x121001)).Name: shirtdollar2
91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 3. "shirtdollar12" (Animation Group (0x121001)).Name: shirtdollar12
91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 4. "shirtdollar5" (Animation Group (0x121001)).Name: shirtdollar5
91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 5. "shirtdollar6" (Animation Group (0x121001)).Name: shirtdollar6
91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 6. "shirtdollar7" (Animation Group (0x121001)).Name: shirtdollar7
91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 7. "shirtdollar8" (Animation Group (0x121001)).Name: shirtdollar8
102. "BQG_shirtdollarShape6" (Animation (0x121000)).Name: BQG_shirtdollarShape6
102. "BQG_shirtdollarShape6" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape6" (Animation Group (0x121001)).Name: shirtdollarShape6
113. "BQG_shirtdollarShape7" (Animation (0x121000)).Name: BQG_shirtdollarShape7
113. "BQG_shirtdollarShape7" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape7" (Animation Group (0x121001)).Name: shirtdollarShape7
138. "shirtdollar" (Skeleton (0x4500)).Name: shirtdollar
138. "shirtdollar" (Skeleton (0x4500)) -> 0. "shirtdollar" (Skeleton Joint (0x4501)).Name: shirtdollar
138. "shirtdollar" (Skeleton (0x4500)) -> 2. "shirtdollar2" (Skeleton Joint (0x4501)).Name: shirtdollar2
138. "shirtdollar" (Skeleton (0x4500)) -> 3. "shirtdollar12" (Skeleton Joint (0x4501)).Name: shirtdollar12
138. "shirtdollar" (Skeleton (0x4500)) -> 4. "shirtdollar5" (Skeleton Joint (0x4501)).Name: shirtdollar5
138. "shirtdollar" (Skeleton (0x4500)) -> 5. "shirtdollar6" (Skeleton Joint (0x4501)).Name: shirtdollar6
138. "shirtdollar" (Skeleton (0x4500)) -> 6. "shirtdollar7" (Skeleton Joint (0x4501)).Name: shirtdollar7
138. "shirtdollar" (Skeleton (0x4500)) -> 7. "shirtdollar8" (Skeleton Joint (0x4501)).Name: shirtdollar8
155. "shirtdollarShape5" (Particle System Factory (0x15800)).Name: shirtdollarShape5
155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)).Name: shirtdollarShape4
155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)).Name: shirtdollarShape4
155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 0. Old Particle Animation (0x15808) -> 0. "shirtdollarShape4" (Animation (0x121000)).Name: shirtdollarShape4
155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 1. Old Emitter Animation (0x15809) -> 0. "shirtdollarShape4" (Animation (0x121000)).Name: shirtdollarShape4
155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 1. Old Emitter Animation (0x15809) -> 0. "shirtdollarShape4" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape4" (Animation Group (0x121001)).Name: shirtdollarShape4
155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 2. Old Generator Animation (0x1580A) -> 0. "shirtdollarShape4" (Animation (0x121000)).Name: shirtdollarShape4
155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 2. Old Generator Animation (0x1580A) -> 0. "shirtdollarShape4" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape4" (Animation Group (0x121001)).Name: shirtdollarShape4
168. "shirtdollarShape5" (Particle System 2 (0x15801)).Name: shirtdollarShape5
168. "shirtdollarShape5" (Particle System 2 (0x15801)).FactoryName: shirtdollarShape5
200. "shirtdollarShape8" (Old Billboard Quad Group (0x17002)).Name: shirtdollarShape8
200. "shirtdollarShape8" (Old Billboard Quad Group (0x17002)) -> 0. "shirtdollarShape8" (Old Billboard Quad (0x17001)).Name: shirtdollarShape8
201. "shirtdollarShape7" (Old Billboard Quad Group (0x17002)).Name: shirtdollarShape7
201. "shirtdollarShape7" (Old Billboard Quad Group (0x17002)) -> 0. "shirtdollarShape7" (Old Billboard Quad (0x17001)).Name: shirtdollarShape7
208. "shirtdollarShape6" (Old Billboard Quad Group (0x17002)).Name: shirtdollarShape6
208. "shirtdollarShape6" (Old Billboard Quad Group (0x17002)) -> 0. "shirtdollarShape6" (Old Billboard Quad (0x17001)).Name: shirtdollarShape6
222. "shirtdollar2Shape" (Mesh (0x10000)).Name: shirtdollar2Shape
246. "shirtdollar" (Composite Drawable (0x4512)).Name: shirtdollar
246. "shirtdollar" (Composite Drawable (0x4512)).SkeletonName: shirtdollar
246. "shirtdollar" (Composite Drawable (0x4512)) -> 1. Composite Drawable Prop List (0x4514) -> 0. "shirtdollarShape6" (Composite Drawable Prop (0x4516)).Name: shirtdollarShape6
246. "shirtdollar" (Composite Drawable (0x4512)) -> 1. Composite Drawable Prop List (0x4514) -> 1. "shirtdollarShape7" (Composite Drawable Prop (0x4516)).Name: shirtdollarShape7
246. "shirtdollar" (Composite Drawable (0x4512)) -> 1. Composite Drawable Prop List (0x4514) -> 2. "shirtdollarShape8" (Composite Drawable Prop (0x4516)).Name: shirtdollarShape8
246. "shirtdollar" (Composite Drawable (0x4512)) -> 1. Composite Drawable Prop List (0x4514) -> 4. "shirtdollar2Shape" (Composite Drawable Prop (0x4516)).Name: shirtdollar2Shape
246. "shirtdollar" (Composite Drawable (0x4512)) -> 2. Composite Drawable Effect List (0x4517) -> 0. "shirtdollarShape5" (Composite Drawable Effect (0x4518)).Name: shirtdollarShape5
296. "PTRN_shirtdollar" (Old Frame Controller (0x121200)).Name: PTRN_shirtdollar
296. "PTRN_shirtdollar" (Old Frame Controller (0x121200)).HierarchyName: shirtdollar
296. "PTRN_shirtdollar" (Old Frame Controller (0x121200)).AnimationName: PTRN_shirtdollar
297. "BQG_shirtdollarShape8" (Old Frame Controller (0x121200)).Name: BQG_shirtdollarShape8
297. "BQG_shirtdollarShape8" (Old Frame Controller (0x121200)).HierarchyName: shirtdollarShape8
297. "BQG_shirtdollarShape8" (Old Frame Controller (0x121200)).AnimationName: BQG_shirtdollarShape8
298. "BQG_shirtdollarShape7" (Old Frame Controller (0x121200)).Name: BQG_shirtdollarShape7
298. "BQG_shirtdollarShape7" (Old Frame Controller (0x121200)).HierarchyName: shirtdollarShape7
298. "BQG_shirtdollarShape7" (Old Frame Controller (0x121200)).AnimationName: BQG_shirtdollarShape7
299. "EFX_shirtdollarShape5" (Old Frame Controller (0x121200)).Name: EFX_shirtdollarShape5
299. "EFX_shirtdollarShape5" (Old Frame Controller (0x121200)).HierarchyName: shirtdollarShape5
300. "BQG_shirtdollarShape6" (Old Frame Controller (0x121200)).Name: BQG_shirtdollarShape6
300. "BQG_shirtdollarShape6" (Old Frame Controller (0x121200)).HierarchyName: shirtdollarShape6
300. "BQG_shirtdollarShape6" (Old Frame Controller (0x121200)).AnimationName: BQG_shirtdollarShape6
336. "shirtdollar_controller" (Multi Controller (0x48A0)).Name: shirtdollar_controller
336. "shirtdollar_controller" (Multi Controller (0x48A0)) -> 0. Multi Controller Tracks (0x48A1).Tracks: (Array)
Found 62 matches in 1 files for query "shirtdollar".
Results written to: Results_20241224015849.csv
CSV output:File,Path,Property,Value
art\missions\generic\missgen.p3d,90. "BQG_shirtdollarShape8" (Animation (0x121000)),Name,BQG_shirtdollarShape8
art\missions\generic\missgen.p3d,90. "BQG_shirtdollarShape8" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape8" (Animation Group (0x121001)),Name,shirtdollarShape8
art\missions\generic\missgen.p3d,91. "PTRN_shirtdollar" (Animation (0x121000)),Name,PTRN_shirtdollar
art\missions\generic\missgen.p3d,91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollar" (Animation Group (0x121001)),Name,shirtdollar
art\missions\generic\missgen.p3d,91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 2. "shirtdollar2" (Animation Group (0x121001)),Name,shirtdollar2
art\missions\generic\missgen.p3d,91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 3. "shirtdollar12" (Animation Group (0x121001)),Name,shirtdollar12
art\missions\generic\missgen.p3d,91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 4. "shirtdollar5" (Animation Group (0x121001)),Name,shirtdollar5
art\missions\generic\missgen.p3d,91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 5. "shirtdollar6" (Animation Group (0x121001)),Name,shirtdollar6
art\missions\generic\missgen.p3d,91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 6. "shirtdollar7" (Animation Group (0x121001)),Name,shirtdollar7
art\missions\generic\missgen.p3d,91. "PTRN_shirtdollar" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 7. "shirtdollar8" (Animation Group (0x121001)),Name,shirtdollar8
art\missions\generic\missgen.p3d,102. "BQG_shirtdollarShape6" (Animation (0x121000)),Name,BQG_shirtdollarShape6
art\missions\generic\missgen.p3d,102. "BQG_shirtdollarShape6" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape6" (Animation Group (0x121001)),Name,shirtdollarShape6
art\missions\generic\missgen.p3d,113. "BQG_shirtdollarShape7" (Animation (0x121000)),Name,BQG_shirtdollarShape7
art\missions\generic\missgen.p3d,113. "BQG_shirtdollarShape7" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape7" (Animation Group (0x121001)),Name,shirtdollarShape7
art\missions\generic\missgen.p3d,138. "shirtdollar" (Skeleton (0x4500)),Name,shirtdollar
art\missions\generic\missgen.p3d,138. "shirtdollar" (Skeleton (0x4500)) -> 0. "shirtdollar" (Skeleton Joint (0x4501)),Name,shirtdollar
art\missions\generic\missgen.p3d,138. "shirtdollar" (Skeleton (0x4500)) -> 2. "shirtdollar2" (Skeleton Joint (0x4501)),Name,shirtdollar2
art\missions\generic\missgen.p3d,138. "shirtdollar" (Skeleton (0x4500)) -> 3. "shirtdollar12" (Skeleton Joint (0x4501)),Name,shirtdollar12
art\missions\generic\missgen.p3d,138. "shirtdollar" (Skeleton (0x4500)) -> 4. "shirtdollar5" (Skeleton Joint (0x4501)),Name,shirtdollar5
art\missions\generic\missgen.p3d,138. "shirtdollar" (Skeleton (0x4500)) -> 5. "shirtdollar6" (Skeleton Joint (0x4501)),Name,shirtdollar6
art\missions\generic\missgen.p3d,138. "shirtdollar" (Skeleton (0x4500)) -> 6. "shirtdollar7" (Skeleton Joint (0x4501)),Name,shirtdollar7
art\missions\generic\missgen.p3d,138. "shirtdollar" (Skeleton (0x4500)) -> 7. "shirtdollar8" (Skeleton Joint (0x4501)),Name,shirtdollar8
art\missions\generic\missgen.p3d,155. "shirtdollarShape5" (Particle System Factory (0x15800)),Name,shirtdollarShape5
art\missions\generic\missgen.p3d,155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)),Name,shirtdollarShape4
art\missions\generic\missgen.p3d,155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)),Name,shirtdollarShape4
art\missions\generic\missgen.p3d,155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 0. Old Particle Animation (0x15808) -> 0. "shirtdollarShape4" (Animation (0x121000)),Name,shirtdollarShape4
art\missions\generic\missgen.p3d,155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 1. Old Emitter Animation (0x15809) -> 0. "shirtdollarShape4" (Animation (0x121000)),Name,shirtdollarShape4
art\missions\generic\missgen.p3d,155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 1. Old Emitter Animation (0x15809) -> 0. "shirtdollarShape4" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape4" (Animation Group (0x121001)),Name,shirtdollarShape4
art\missions\generic\missgen.p3d,155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 2. Old Generator Animation (0x1580A) -> 0. "shirtdollarShape4" (Animation (0x121000)),Name,shirtdollarShape4
art\missions\generic\missgen.p3d,155. "shirtdollarShape5" (Particle System Factory (0x15800)) -> 1. "shirtdollarShape4" (Old Sprite Emitter (0x15806)) -> 0. "shirtdollarShape4" (Old Base Emitter (0x15805)) -> 2. Old Generator Animation (0x1580A) -> 0. "shirtdollarShape4" (Animation (0x121000)) -> 1. Animation Group List (0x121002) -> 0. "shirtdollarShape4" (Animation Group (0x121001)),Name,shirtdollarShape4
art\missions\generic\missgen.p3d,168. "shirtdollarShape5" (Particle System 2 (0x15801)),Name,shirtdollarShape5
art\missions\generic\missgen.p3d,168. "shirtdollarShape5" (Particle System 2 (0x15801)),FactoryName,shirtdollarShape5
art\missions\generic\missgen.p3d,200. "shirtdollarShape8" (Old Billboard Quad Group (0x17002)),Name,shirtdollarShape8
art\missions\generic\missgen.p3d,200. "shirtdollarShape8" (Old Billboard Quad Group (0x17002)) -> 0. "shirtdollarShape8" (Old Billboard Quad (0x17001)),Name,shirtdollarShape8
art\missions\generic\missgen.p3d,201. "shirtdollarShape7" (Old Billboard Quad Group (0x17002)),Name,shirtdollarShape7
art\missions\generic\missgen.p3d,201. "shirtdollarShape7" (Old Billboard Quad Group (0x17002)) -> 0. "shirtdollarShape7" (Old Billboard Quad (0x17001)),Name,shirtdollarShape7
art\missions\generic\missgen.p3d,208. "shirtdollarShape6" (Old Billboard Quad Group (0x17002)),Name,shirtdollarShape6
art\missions\generic\missgen.p3d,208. "shirtdollarShape6" (Old Billboard Quad Group (0x17002)) -> 0. "shirtdollarShape6" (Old Billboard Quad (0x17001)),Name,shirtdollarShape6
art\missions\generic\missgen.p3d,222. "shirtdollar2Shape" (Mesh (0x10000)),Name,shirtdollar2Shape
art\missions\generic\missgen.p3d,246. "shirtdollar" (Composite Drawable (0x4512)),Name,shirtdollar
art\missions\generic\missgen.p3d,246. "shirtdollar" (Composite Drawable (0x4512)),SkeletonName,shirtdollar
art\missions\generic\missgen.p3d,246. "shirtdollar" (Composite Drawable (0x4512)) -> 1. Composite Drawable Prop List (0x4514) -> 0. "shirtdollarShape6" (Composite Drawable Prop (0x4516)),Name,shirtdollarShape6
art\missions\generic\missgen.p3d,246. "shirtdollar" (Composite Drawable (0x4512)) -> 1. Composite Drawable Prop List (0x4514) -> 1. "shirtdollarShape7" (Composite Drawable Prop (0x4516)),Name,shirtdollarShape7
art\missions\generic\missgen.p3d,246. "shirtdollar" (Composite Drawable (0x4512)) -> 1. Composite Drawable Prop List (0x4514) -> 2. "shirtdollarShape8" (Composite Drawable Prop (0x4516)),Name,shirtdollarShape8
art\missions\generic\missgen.p3d,246. "shirtdollar" (Composite Drawable (0x4512)) -> 1. Composite Drawable Prop List (0x4514) -> 4. "shirtdollar2Shape" (Composite Drawable Prop (0x4516)),Name,shirtdollar2Shape
art\missions\generic\missgen.p3d,246. "shirtdollar" (Composite Drawable (0x4512)) -> 2. Composite Drawable Effect List (0x4517) -> 0. "shirtdollarShape5" (Composite Drawable Effect (0x4518)),Name,shirtdollarShape5
art\missions\generic\missgen.p3d,296. "PTRN_shirtdollar" (Old Frame Controller (0x121200)),Name,PTRN_shirtdollar
art\missions\generic\missgen.p3d,296. "PTRN_shirtdollar" (Old Frame Controller (0x121200)),HierarchyName,shirtdollar
art\missions\generic\missgen.p3d,296. "PTRN_shirtdollar" (Old Frame Controller (0x121200)),AnimationName,PTRN_shirtdollar
art\missions\generic\missgen.p3d,297. "BQG_shirtdollarShape8" (Old Frame Controller (0x121200)),Name,BQG_shirtdollarShape8
art\missions\generic\missgen.p3d,297. "BQG_shirtdollarShape8" (Old Frame Controller (0x121200)),HierarchyName,shirtdollarShape8
art\missions\generic\missgen.p3d,297. "BQG_shirtdollarShape8" (Old Frame Controller (0x121200)),AnimationName,BQG_shirtdollarShape8
art\missions\generic\missgen.p3d,298. "BQG_shirtdollarShape7" (Old Frame Controller (0x121200)),Name,BQG_shirtdollarShape7
art\missions\generic\missgen.p3d,298. "BQG_shirtdollarShape7" (Old Frame Controller (0x121200)),HierarchyName,shirtdollarShape7
art\missions\generic\missgen.p3d,298. "BQG_shirtdollarShape7" (Old Frame Controller (0x121200)),AnimationName,BQG_shirtdollarShape7
art\missions\generic\missgen.p3d,299. "EFX_shirtdollarShape5" (Old Frame Controller (0x121200)),Name,EFX_shirtdollarShape5
art\missions\generic\missgen.p3d,299. "EFX_shirtdollarShape5" (Old Frame Controller (0x121200)),HierarchyName,shirtdollarShape5
art\missions\generic\missgen.p3d,300. "BQG_shirtdollarShape6" (Old Frame Controller (0x121200)),Name,BQG_shirtdollarShape6
art\missions\generic\missgen.p3d,300. "BQG_shirtdollarShape6" (Old Frame Controller (0x121200)),HierarchyName,shirtdollarShape6
art\missions\generic\missgen.p3d,300. "BQG_shirtdollarShape6" (Old Frame Controller (0x121200)),AnimationName,BQG_shirtdollarShape6
art\missions\generic\missgen.p3d,336. "shirtdollar_controller" (Multi Controller (0x48A0)),Name,shirtdollar_controller
art\missions\generic\missgen.p3d,336. "shirtdollar_controller" (Multi Controller (0x48A0)) -> 0. Multi Controller Tracks (0x48A1),Tracks,(Array)
Anything Pure3D related that would improve modding is appreciated, and I'll try work on them whilst I have time.
Thanks,
Josh