Skip to content

Commit ddceeb2

Browse files
committed
Implemented Container, Door, Grass, Ingredient, Light, MiscItem, MoveableStatic, PlaceableWater, Static and StaticCollection
Threaded writing to XML for a 100% speed boost
1 parent a03a96f commit ddceeb2

53 files changed

Lines changed: 5238 additions & 1 deletion

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ESPSharp/ESPSharp.csproj

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,14 @@
8686
<Compile Include="Enums\Flags\DecalDataFlags.cs" />
8787
<Compile Include="Enums\Flags\DestructableFlags.cs" />
8888
<Compile Include="Enums\Flags\DestructionStageFlags.cs" />
89+
<Compile Include="Enums\Flags\DoorFlags.cs" />
8990
<Compile Include="Enums\Flags\EnchantFlags.cs" />
91+
<Compile Include="Enums\Flags\GrassFlags.cs" />
92+
<Compile Include="Enums\Flags\IngredientFlags.cs" />
93+
<Compile Include="Enums\Flags\LightFlags.cs" />
9094
<Compile Include="Enums\Flags\LocalVariableFlag.cs" />
9195
<Compile Include="Enums\Flags\MagicEffectFlags.cs" />
96+
<Compile Include="Enums\Flags\PlaceableWaterFlags.cs" />
9297
<Compile Include="Enums\Flags\RaceFlags.cs" />
9398
<Compile Include="Enums\Flags\ScriptFlags.cs" />
9499
<Compile Include="Enums\Flags\SoundDataFlags.cs" />
@@ -109,10 +114,12 @@
109114
<Compile Include="Enums\MenuMode.cs" />
110115
<Compile Include="Enums\MiscStat.cs" />
111116
<Compile Include="Enums\NoYes.cs" />
117+
<Compile Include="Enums\PassthroughSound.cs" />
112118
<Compile Include="Enums\PlayerAction.cs" />
113119
<Compile Include="Enums\ScriptType.cs" />
114120
<Compile Include="Enums\SpellType.cs" />
115121
<Compile Include="Enums\TerminalServerType.cs" />
122+
<Compile Include="Enums\UnitFromWaterType.cs" />
116123
<Compile Include="Enums\VATSAction.cs" />
117124
<Compile Include="Enums\VATSValue.cs" />
118125
<Compile Include="Enums\WeaponCategory.cs" />
@@ -187,6 +194,16 @@
187194
<DesignTime>True</DesignTime>
188195
<DependentUpon>Class.tt</DependentUpon>
189196
</Compile>
197+
<Compile Include="Records\GeneratedCode\Container.cs">
198+
<AutoGen>True</AutoGen>
199+
<DesignTime>True</DesignTime>
200+
<DependentUpon>Container.tt</DependentUpon>
201+
</Compile>
202+
<Compile Include="Records\GeneratedCode\Door.cs">
203+
<AutoGen>True</AutoGen>
204+
<DesignTime>True</DesignTime>
205+
<DependentUpon>Door.tt</DependentUpon>
206+
</Compile>
190207
<Compile Include="Records\GeneratedCode\Eyes.cs">
191208
<AutoGen>True</AutoGen>
192209
<DesignTime>True</DesignTime>
@@ -207,6 +224,11 @@
207224
<DesignTime>True</DesignTime>
208225
<DependentUpon>GlobalVariable.tt</DependentUpon>
209226
</Compile>
227+
<Compile Include="Records\GeneratedCode\Grass.cs">
228+
<AutoGen>True</AutoGen>
229+
<DesignTime>True</DesignTime>
230+
<DependentUpon>Grass.tt</DependentUpon>
231+
</Compile>
210232
<Compile Include="Records\GeneratedCode\Hair.cs">
211233
<AutoGen>True</AutoGen>
212234
<DesignTime>True</DesignTime>
@@ -222,11 +244,21 @@
222244
<DesignTime>True</DesignTime>
223245
<DependentUpon>HeadPart.tt</DependentUpon>
224246
</Compile>
247+
<Compile Include="Records\GeneratedCode\Ingredient.cs">
248+
<AutoGen>True</AutoGen>
249+
<DesignTime>True</DesignTime>
250+
<DependentUpon>Ingredient.tt</DependentUpon>
251+
</Compile>
225252
<Compile Include="Records\GeneratedCode\LandscapeTexture.cs">
226253
<AutoGen>True</AutoGen>
227254
<DesignTime>True</DesignTime>
228255
<DependentUpon>LandscapeTexture.tt</DependentUpon>
229256
</Compile>
257+
<Compile Include="Records\GeneratedCode\Light.cs">
258+
<AutoGen>True</AutoGen>
259+
<DesignTime>True</DesignTime>
260+
<DependentUpon>Light.tt</DependentUpon>
261+
</Compile>
230262
<Compile Include="Records\GeneratedCode\MagicEffect.cs">
231263
<AutoGen>True</AutoGen>
232264
<DesignTime>True</DesignTime>
@@ -237,11 +269,26 @@
237269
<DesignTime>True</DesignTime>
238270
<DependentUpon>MenuIcon.tt</DependentUpon>
239271
</Compile>
272+
<Compile Include="Records\GeneratedCode\MiscItem.cs">
273+
<AutoGen>True</AutoGen>
274+
<DesignTime>True</DesignTime>
275+
<DependentUpon>MiscItem.tt</DependentUpon>
276+
</Compile>
277+
<Compile Include="Records\GeneratedCode\MoveableStatic.cs">
278+
<AutoGen>True</AutoGen>
279+
<DesignTime>True</DesignTime>
280+
<DependentUpon>MoveableStatic.tt</DependentUpon>
281+
</Compile>
240282
<Compile Include="Records\GeneratedCode\ObjectEffect.cs">
241283
<AutoGen>True</AutoGen>
242284
<DesignTime>True</DesignTime>
243285
<DependentUpon>ObjectEffect.tt</DependentUpon>
244286
</Compile>
287+
<Compile Include="Records\GeneratedCode\PlaceableWater.cs">
288+
<AutoGen>True</AutoGen>
289+
<DesignTime>True</DesignTime>
290+
<DependentUpon>PlaceableWater.tt</DependentUpon>
291+
</Compile>
245292
<Compile Include="Records\GeneratedCode\Race.cs">
246293
<AutoGen>True</AutoGen>
247294
<DesignTime>True</DesignTime>
@@ -257,6 +304,16 @@
257304
<DesignTime>True</DesignTime>
258305
<DependentUpon>Sound.tt</DependentUpon>
259306
</Compile>
307+
<Compile Include="Records\GeneratedCode\Static.cs">
308+
<AutoGen>True</AutoGen>
309+
<DesignTime>True</DesignTime>
310+
<DependentUpon>Static.tt</DependentUpon>
311+
</Compile>
312+
<Compile Include="Records\GeneratedCode\StaticCollection.cs">
313+
<AutoGen>True</AutoGen>
314+
<DesignTime>True</DesignTime>
315+
<DependentUpon>StaticCollection.tt</DependentUpon>
316+
</Compile>
260317
<Compile Include="Records\GeneratedCode\TalkingActivator.cs">
261318
<AutoGen>True</AutoGen>
262319
<DesignTime>True</DesignTime>
@@ -328,6 +385,11 @@
328385
<DesignTime>True</DesignTime>
329386
<DependentUpon>Icon.tt</DependentUpon>
330387
</Compile>
388+
<Compile Include="SubrecordCollections\GeneratedCode\InventoryItem.cs">
389+
<AutoGen>True</AutoGen>
390+
<DesignTime>True</DesignTime>
391+
<DependentUpon>InventoryItem.tt</DependentUpon>
392+
</Compile>
331393
<Compile Include="SubrecordCollections\GeneratedCode\LocalVariable.cs">
332394
<AutoGen>True</AutoGen>
333395
<DesignTime>True</DesignTime>
@@ -368,18 +430,50 @@
368430
<Generator>TextTemplatingFileGenerator</Generator>
369431
<LastGenOutput>Book.cs</LastGenOutput>
370432
</None>
433+
<None Include="Records\GeneratedCode\Container.tt">
434+
<Generator>TextTemplatingFileGenerator</Generator>
435+
<LastGenOutput>Container.cs</LastGenOutput>
436+
</None>
437+
<None Include="Records\GeneratedCode\Door.tt">
438+
<Generator>TextTemplatingFileGenerator</Generator>
439+
<LastGenOutput>Door.cs</LastGenOutput>
440+
</None>
441+
<None Include="Records\GeneratedCode\Grass.tt">
442+
<Generator>TextTemplatingFileGenerator</Generator>
443+
<LastGenOutput>Grass.cs</LastGenOutput>
444+
</None>
445+
<None Include="Records\GeneratedCode\Ingredient.tt">
446+
<Generator>TextTemplatingFileGenerator</Generator>
447+
<LastGenOutput>Ingredient.cs</LastGenOutput>
448+
</None>
371449
<None Include="Records\GeneratedCode\LandscapeTexture.tt">
372450
<Generator>TextTemplatingFileGenerator</Generator>
373451
<LastGenOutput>LandscapeTexture.cs</LastGenOutput>
374452
</None>
453+
<None Include="Records\GeneratedCode\Light.tt">
454+
<Generator>TextTemplatingFileGenerator</Generator>
455+
<LastGenOutput>Light.cs</LastGenOutput>
456+
</None>
375457
<None Include="Records\GeneratedCode\MagicEffect.tt">
376458
<Generator>TextTemplatingFileGenerator</Generator>
377459
<LastGenOutput>MagicEffect.cs</LastGenOutput>
378460
</None>
461+
<None Include="Records\GeneratedCode\MiscItem.tt">
462+
<Generator>TextTemplatingFileGenerator</Generator>
463+
<LastGenOutput>MiscItem.cs</LastGenOutput>
464+
</None>
465+
<None Include="Records\GeneratedCode\MoveableStatic.tt">
466+
<Generator>TextTemplatingFileGenerator</Generator>
467+
<LastGenOutput>MoveableStatic.cs</LastGenOutput>
468+
</None>
379469
<None Include="Records\GeneratedCode\ObjectEffect.tt">
380470
<Generator>TextTemplatingFileGenerator</Generator>
381471
<LastGenOutput>ObjectEffect.cs</LastGenOutput>
382472
</None>
473+
<None Include="Records\GeneratedCode\PlaceableWater.tt">
474+
<Generator>TextTemplatingFileGenerator</Generator>
475+
<LastGenOutput>PlaceableWater.cs</LastGenOutput>
476+
</None>
383477
<None Include="Records\GeneratedCode\Race.tt">
384478
<Generator>TextTemplatingFileGenerator</Generator>
385479
<LastGenOutput>Race.cs</LastGenOutput>
@@ -392,6 +486,14 @@
392486
<Generator>TextTemplatingFileGenerator</Generator>
393487
<LastGenOutput>Sound.cs</LastGenOutput>
394488
</None>
489+
<None Include="Records\GeneratedCode\Static.tt">
490+
<Generator>TextTemplatingFileGenerator</Generator>
491+
<LastGenOutput>Static.cs</LastGenOutput>
492+
</None>
493+
<None Include="Records\GeneratedCode\StaticCollection.tt">
494+
<Generator>TextTemplatingFileGenerator</Generator>
495+
<LastGenOutput>StaticCollection.cs</LastGenOutput>
496+
</None>
395497
<None Include="Records\GeneratedCode\TalkingActivator.tt">
396498
<Generator>TextTemplatingFileGenerator</Generator>
397499
<LastGenOutput>TalkingActivator.cs</LastGenOutput>
@@ -420,6 +522,10 @@
420522
<Generator>TextTemplatingFileGenerator</Generator>
421523
<LastGenOutput>FaceGenData.cs</LastGenOutput>
422524
</None>
525+
<None Include="SubrecordCollections\GeneratedCode\InventoryItem.tt">
526+
<Generator>TextTemplatingFileGenerator</Generator>
527+
<LastGenOutput>InventoryItem.cs</LastGenOutput>
528+
</None>
423529
<None Include="SubrecordCollections\GeneratedCode\LocalVariable.tt">
424530
<Generator>TextTemplatingFileGenerator</Generator>
425531
<LastGenOutput>LocalVariable.cs</LastGenOutput>
@@ -438,6 +544,11 @@
438544
<DesignTime>True</DesignTime>
439545
<DependentUpon>RaceHeadData.tt</DependentUpon>
440546
</Compile>
547+
<Compile Include="SubrecordCollections\GeneratedCode\StaticCollectionPart.cs">
548+
<AutoGen>True</AutoGen>
549+
<DesignTime>True</DesignTime>
550+
<DependentUpon>StaticCollectionPart.tt</DependentUpon>
551+
</Compile>
441552
<Compile Include="SubrecordCollections\GeneratedCode\TerminalMenu.cs">
442553
<AutoGen>True</AutoGen>
443554
<DesignTime>True</DesignTime>
@@ -485,6 +596,11 @@
485596
<DesignTime>True</DesignTime>
486597
<DependentUpon>Condition.tt</DependentUpon>
487598
</Compile>
599+
<Compile Include="Subrecords\GeneratedCode\ContainerData.cs">
600+
<AutoGen>True</AutoGen>
601+
<DesignTime>True</DesignTime>
602+
<DependentUpon>ContainerData.tt</DependentUpon>
603+
</Compile>
488604
<Compile Include="Subrecords\GeneratedCode\DecalData.cs">
489605
<AutoGen>True</AutoGen>
490606
<DesignTime>True</DesignTime>
@@ -515,11 +631,36 @@
515631
<DesignTime>True</DesignTime>
516632
<DependentUpon>FactionData.tt</DependentUpon>
517633
</Compile>
634+
<Compile Include="Subrecords\GeneratedCode\GrassData.cs">
635+
<AutoGen>True</AutoGen>
636+
<DesignTime>True</DesignTime>
637+
<DependentUpon>GrassData.tt</DependentUpon>
638+
</Compile>
518639
<Compile Include="Subrecords\GeneratedCode\HavokData.cs">
519640
<AutoGen>True</AutoGen>
520641
<DesignTime>True</DesignTime>
521642
<DependentUpon>HavokData.tt</DependentUpon>
522643
</Compile>
644+
<Compile Include="Subrecords\GeneratedCode\IngredientData.cs">
645+
<AutoGen>True</AutoGen>
646+
<DesignTime>True</DesignTime>
647+
<DependentUpon>IngredientData.tt</DependentUpon>
648+
</Compile>
649+
<Compile Include="Subrecords\GeneratedCode\InventoryItemData.cs">
650+
<AutoGen>True</AutoGen>
651+
<DesignTime>True</DesignTime>
652+
<DependentUpon>InventoryItemData.tt</DependentUpon>
653+
</Compile>
654+
<Compile Include="Subrecords\GeneratedCode\InventoryItemExtraData.cs">
655+
<AutoGen>True</AutoGen>
656+
<DesignTime>True</DesignTime>
657+
<DependentUpon>InventoryItemExtraData.tt</DependentUpon>
658+
</Compile>
659+
<Compile Include="Subrecords\GeneratedCode\LightData.cs">
660+
<AutoGen>True</AutoGen>
661+
<DesignTime>True</DesignTime>
662+
<DependentUpon>LightData.tt</DependentUpon>
663+
</Compile>
523664
<Compile Include="Subrecords\GeneratedCode\LocalVariableData.cs">
524665
<AutoGen>True</AutoGen>
525666
<DesignTime>True</DesignTime>
@@ -535,6 +676,11 @@
535676
<DesignTime>True</DesignTime>
536677
<DependentUpon>ObjectBounds.tt</DependentUpon>
537678
</Compile>
679+
<Compile Include="Subrecords\GeneratedCode\PlaceableWaterData.cs">
680+
<AutoGen>True</AutoGen>
681+
<DesignTime>True</DesignTime>
682+
<DependentUpon>PlaceableWaterData.tt</DependentUpon>
683+
</Compile>
538684
<Compile Include="Subrecords\GeneratedCode\PluginHeader.cs">
539685
<AutoGen>True</AutoGen>
540686
<DesignTime>True</DesignTime>
@@ -600,11 +746,22 @@
600746
<DesignTime>True</DesignTime>
601747
<DependentUpon>TerminalData.tt</DependentUpon>
602748
</Compile>
749+
<Compile Include="Subrecords\GeneratedCode\ValueWeight.cs">
750+
<AutoGen>True</AutoGen>
751+
<DesignTime>True</DesignTime>
752+
<DependentUpon>ValueWeight.tt</DependentUpon>
753+
</Compile>
754+
<Compile Include="Subrecords\InventoryItemExtraData.cs" />
603755
<Compile Include="Subrecords\SimpleSubrecord.cs" />
756+
<Compile Include="Subrecords\StaticCollectionPartData.cs" />
604757
<Compile Include="Subrecords\SubMarker.cs" />
605758
<Compile Include="Subrecords\UndecodedSubrecord.cs" />
606759
<Compile Include="Utility.cs" />
607760
<Compile Include="Zlib.cs" />
761+
<None Include="SubrecordCollections\GeneratedCode\StaticCollectionPart.tt">
762+
<Generator>TextTemplatingFileGenerator</Generator>
763+
<LastGenOutput>StaticCollectionPart.cs</LastGenOutput>
764+
</None>
608765
<None Include="SubrecordCollections\GeneratedCode\TerminalMenu.tt">
609766
<Generator>TextTemplatingFileGenerator</Generator>
610767
<LastGenOutput>TerminalMenu.cs</LastGenOutput>
@@ -629,10 +786,42 @@
629786
<Generator>TextTemplatingFileGenerator</Generator>
630787
<LastGenOutput>BookData.cs</LastGenOutput>
631788
</None>
789+
<None Include="Subrecords\GeneratedCode\ContainerData.tt">
790+
<Generator>TextTemplatingFileGenerator</Generator>
791+
<LastGenOutput>ContainerData.cs</LastGenOutput>
792+
</None>
793+
<None Include="Subrecords\GeneratedCode\GrassData.tt">
794+
<Generator>TextTemplatingFileGenerator</Generator>
795+
<LastGenOutput>GrassData.cs</LastGenOutput>
796+
</None>
797+
<None Include="Subrecords\GeneratedCode\IngredientData.tt">
798+
<Generator>TextTemplatingFileGenerator</Generator>
799+
<LastGenOutput>IngredientData.cs</LastGenOutput>
800+
</None>
801+
<None Include="Subrecords\GeneratedCode\InventoryItemData.tt">
802+
<Generator>TextTemplatingFileGenerator</Generator>
803+
<LastGenOutput>InventoryItemData.cs</LastGenOutput>
804+
</None>
805+
<None Include="Subrecords\GeneratedCode\InventoryItemExtraData.tt">
806+
<Generator>TextTemplatingFileGenerator</Generator>
807+
<LastGenOutput>InventoryItemExtraData.cs</LastGenOutput>
808+
</None>
809+
<None Include="Subrecords\GeneratedCode\LightData.tt">
810+
<Generator>TextTemplatingFileGenerator</Generator>
811+
<LastGenOutput>LightData.cs</LastGenOutput>
812+
</None>
813+
<None Include="Subrecords\GeneratedCode\PlaceableWaterData.tt">
814+
<Generator>TextTemplatingFileGenerator</Generator>
815+
<LastGenOutput>PlaceableWaterData.cs</LastGenOutput>
816+
</None>
632817
<None Include="Subrecords\GeneratedCode\TerminalData.tt">
633818
<Generator>TextTemplatingFileGenerator</Generator>
634819
<LastGenOutput>TerminalData.cs</LastGenOutput>
635820
</None>
821+
<None Include="Subrecords\GeneratedCode\ValueWeight.tt">
822+
<Generator>TextTemplatingFileGenerator</Generator>
823+
<LastGenOutput>ValueWeight.cs</LastGenOutput>
824+
</None>
636825
</ItemGroup>
637826
<ItemGroup>
638827
<None Include="ClassDiagram.cd" />

ESPSharp/ElderScrollsPlugin.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
using System;
1+
#define PARALLEL
2+
3+
using System;
24
using System.Collections.Generic;
35
using System.Linq;
46
using System.Text;
@@ -68,12 +70,21 @@ public void WriteXML(string destinationFolder)
6870
{
6971
Header.Record.WriteXML(Path.Combine(destinationFolder, "Header.xml"), this);
7072

73+
#if PARALLEL
74+
Parallel.ForEach(TopGroups.Where(g => g.ToString() != "Interior Cells" && g.ToString() != "Worldspaces" && g.ToString() != "Dialog Topics"), group =>
75+
{
76+
string newDir = Path.Combine(destinationFolder, group.ToString());
77+
Directory.CreateDirectory(newDir);
78+
group.WriteXML(newDir, this);
79+
});
80+
#else
7181
foreach (Group group in TopGroups.Where(g => g.ToString() != "Interior Cells" && g.ToString() != "Worldspaces" && g.ToString() != "Dialog Topics"))
7282
{
7383
string newDir = Path.Combine(destinationFolder, group.ToString());
7484
Directory.CreateDirectory(newDir);
7585
group.WriteXML(newDir, this);
7686
}
87+
#endif
7788
}
7889

7990
public static ElderScrollsPlugin ReadXML(string sourceFolder)

ESPSharp/Enums/Flags/DoorFlags.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace ESPSharp.Enums.Flags
8+
{
9+
[Flags]
10+
public enum DoorFlags : byte
11+
{
12+
AutomaticDoor = 0x02,
13+
Hidden = 0x04,
14+
MinimalUse = 0x08,
15+
SlidingDoor = 0x10
16+
}
17+
}

0 commit comments

Comments
 (0)