Skip to content

Commit a5ee0d8

Browse files
committed
Implemented NPC and Creature
Removed ICON subrecord collection because MICO can sometimes appear without being prefixed by ICON
1 parent df3b073 commit a5ee0d8

68 files changed

Lines changed: 6051 additions & 352 deletions

Some content is hidden

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

ESPSharp.sln

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,7 @@ Global
2525
GlobalSection(SolutionProperties) = preSolution
2626
HideSolutionNode = FALSE
2727
EndGlobalSection
28+
GlobalSection(Performance) = preSolution
29+
HasPerformanceSessions = true
30+
EndGlobalSection
2831
EndGlobal

ESPSharp/ESPSharp.csproj

Lines changed: 111 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,25 +65,32 @@
6565
<Compile Include="DataTypes\LoadOrderFormID.cs" />
6666
<Compile Include="DataTypes\TypeStringArgData.cs" />
6767
<Compile Include="Enums\ActorValuesByte.cs" />
68+
<Compile Include="Enums\AggressionType.cs" />
6869
<Compile Include="Enums\Alignment.cs" />
6970
<Compile Include="Enums\AnimationSoundType.cs" />
71+
<Compile Include="Enums\AssistanceType.cs" />
7072
<Compile Include="Enums\Axis.cs" />
7173
<Compile Include="Enums\BodyLocation.cs" />
7274
<Compile Include="Enums\BodyPartIndex.cs" />
7375
<Compile Include="Enums\ConditionComparisonType.cs" />
76+
<Compile Include="Enums\ConfidenceType.cs" />
77+
<Compile Include="Enums\CreatureSoundType.cs" />
7478
<Compile Include="Enums\CreatureType.cs" />
7579
<Compile Include="Enums\CriticalStage.cs" />
7680
<Compile Include="Enums\EffectType.cs" />
7781
<Compile Include="Enums\EmbeddedWeaponActorValue.cs" />
7882
<Compile Include="Enums\EnchantType.cs" />
7983
<Compile Include="Enums\EnvironmentType.cs" />
8084
<Compile Include="Enums\EquipmentType.cs" />
85+
<Compile Include="Enums\Flags\ActorTemplateFlags.cs" />
86+
<Compile Include="Enums\Flags\AggroRadiusBehaviorFlags.cs" />
8187
<Compile Include="Enums\Flags\ArmorFlags.cs" />
8288
<Compile Include="Enums\Flags\BipedDataFlags.cs" />
8389
<Compile Include="Enums\Flags\BodySlotFlags.cs" />
8490
<Compile Include="Enums\Flags\BookFlags.cs" />
8591
<Compile Include="Enums\Flags\ConditionTypeFlags.cs" />
8692
<Compile Include="Enums\Flags\ContainerFlags.cs" />
93+
<Compile Include="Enums\Flags\CreatureFlags.cs" />
8794
<Compile Include="Enums\Flags\DecalDataFlags.cs" />
8895
<Compile Include="Enums\Flags\DestructableFlags.cs" />
8996
<Compile Include="Enums\Flags\DestructionStageFlags.cs" />
@@ -94,6 +101,8 @@
94101
<Compile Include="Enums\Flags\LightFlags.cs" />
95102
<Compile Include="Enums\Flags\LocalVariableFlag.cs" />
96103
<Compile Include="Enums\Flags\MagicEffectFlags.cs" />
104+
<Compile Include="Enums\Flags\MaterialTypeUInt.cs" />
105+
<Compile Include="Enums\Flags\NPCFlags.cs" />
97106
<Compile Include="Enums\Flags\PlaceableWaterFlags.cs" />
98107
<Compile Include="Enums\Flags\RaceFlags.cs" />
99108
<Compile Include="Enums\Flags\ScriptFlags.cs" />
@@ -119,11 +128,13 @@
119128
<Compile Include="Enums\MaterialType.cs" />
120129
<Compile Include="Enums\MenuMode.cs" />
121130
<Compile Include="Enums\MiscStat.cs" />
131+
<Compile Include="Enums\MoodType.cs" />
122132
<Compile Include="Enums\NoYesByte.cs" />
123133
<Compile Include="Enums\NoYes.cs" />
124134
<Compile Include="Enums\PassthroughSound.cs" />
125135
<Compile Include="Enums\PlayerAction.cs" />
126136
<Compile Include="Enums\ScriptType.cs" />
137+
<Compile Include="Enums\SoundLevel.cs" />
127138
<Compile Include="Enums\SpellType.cs" />
128139
<Compile Include="Enums\TerminalServerType.cs" />
129140
<Compile Include="Enums\UnitFromWaterType.cs" />
@@ -218,6 +229,11 @@
218229
<DesignTime>True</DesignTime>
219230
<DependentUpon>Container.tt</DependentUpon>
220231
</Compile>
232+
<Compile Include="Records\GeneratedCode\Creature.cs">
233+
<AutoGen>True</AutoGen>
234+
<DesignTime>True</DesignTime>
235+
<DependentUpon>Creature.tt</DependentUpon>
236+
</Compile>
221237
<Compile Include="Records\GeneratedCode\Door.cs">
222238
<AutoGen>True</AutoGen>
223239
<DesignTime>True</DesignTime>
@@ -303,6 +319,11 @@
303319
<DesignTime>True</DesignTime>
304320
<DependentUpon>MoveableStatic.tt</DependentUpon>
305321
</Compile>
322+
<Compile Include="Records\GeneratedCode\NonPlayerCharacter.cs">
323+
<AutoGen>True</AutoGen>
324+
<DesignTime>True</DesignTime>
325+
<DependentUpon>NonPlayerCharacter.tt</DependentUpon>
326+
</Compile>
306327
<Compile Include="Records\GeneratedCode\ObjectEffect.cs">
307328
<AutoGen>True</AutoGen>
308329
<DesignTime>True</DesignTime>
@@ -374,6 +395,16 @@
374395
<DesignTime>True</DesignTime>
375396
<DependentUpon>BodyModel.tt</DependentUpon>
376397
</Compile>
398+
<Compile Include="SubrecordCollections\GeneratedCode\CreatureSound.cs">
399+
<AutoGen>True</AutoGen>
400+
<DesignTime>True</DesignTime>
401+
<DependentUpon>CreatureSound.tt</DependentUpon>
402+
</Compile>
403+
<Compile Include="SubrecordCollections\GeneratedCode\CreatureSoundData.cs">
404+
<AutoGen>True</AutoGen>
405+
<DesignTime>True</DesignTime>
406+
<DependentUpon>CreatureSoundData.tt</DependentUpon>
407+
</Compile>
377408
<Compile Include="SubrecordCollections\GeneratedCode\Destructable.cs">
378409
<AutoGen>True</AutoGen>
379410
<DesignTime>True</DesignTime>
@@ -414,11 +445,6 @@
414445
<DesignTime>True</DesignTime>
415446
<DependentUpon>GenderBodyData.tt</DependentUpon>
416447
</Compile>
417-
<Compile Include="SubrecordCollections\GeneratedCode\Icon.cs">
418-
<AutoGen>True</AutoGen>
419-
<DesignTime>True</DesignTime>
420-
<DependentUpon>Icon.tt</DependentUpon>
421-
</Compile>
422448
<Compile Include="SubrecordCollections\GeneratedCode\InventoryItem.cs">
423449
<AutoGen>True</AutoGen>
424450
<DesignTime>True</DesignTime>
@@ -472,6 +498,10 @@
472498
<Generator>TextTemplatingFileGenerator</Generator>
473499
<LastGenOutput>Container.cs</LastGenOutput>
474500
</None>
501+
<None Include="Records\GeneratedCode\Creature.tt">
502+
<Generator>TextTemplatingFileGenerator</Generator>
503+
<LastGenOutput>Creature.cs</LastGenOutput>
504+
</None>
475505
<None Include="Records\GeneratedCode\Door.tt">
476506
<Generator>TextTemplatingFileGenerator</Generator>
477507
<LastGenOutput>Door.cs</LastGenOutput>
@@ -508,6 +538,10 @@
508538
<Generator>TextTemplatingFileGenerator</Generator>
509539
<LastGenOutput>MoveableStatic.cs</LastGenOutput>
510540
</None>
541+
<None Include="Records\GeneratedCode\NonPlayerCharacter.tt">
542+
<Generator>TextTemplatingFileGenerator</Generator>
543+
<LastGenOutput>NonPlayerCharacter.cs</LastGenOutput>
544+
</None>
511545
<None Include="Records\GeneratedCode\ObjectEffect.tt">
512546
<Generator>TextTemplatingFileGenerator</Generator>
513547
<LastGenOutput>ObjectEffect.cs</LastGenOutput>
@@ -552,6 +586,14 @@
552586
<Generator>TextTemplatingFileGenerator</Generator>
553587
<LastGenOutput>Weapon.cs</LastGenOutput>
554588
</None>
589+
<None Include="SubrecordCollections\GeneratedCode\CreatureSound.tt">
590+
<Generator>TextTemplatingFileGenerator</Generator>
591+
<LastGenOutput>CreatureSound.cs</LastGenOutput>
592+
</None>
593+
<None Include="SubrecordCollections\GeneratedCode\CreatureSoundData.tt">
594+
<Generator>TextTemplatingFileGenerator</Generator>
595+
<LastGenOutput>CreatureSoundData.cs</LastGenOutput>
596+
</None>
555597
<None Include="SubrecordCollections\GeneratedCode\Destructable.tt">
556598
<Generator>TextTemplatingFileGenerator</Generator>
557599
<LastGenOutput>Destructable.cs</LastGenOutput>
@@ -606,6 +648,11 @@
606648
</Compile>
607649
<Compile Include="Subrecords\FormArray.cs" />
608650
<Compile Include="Subrecords\AlternateTextures.cs" />
651+
<Compile Include="Subrecords\GeneratedCode\AIData.cs">
652+
<AutoGen>True</AutoGen>
653+
<DesignTime>True</DesignTime>
654+
<DependentUpon>AIData.tt</DependentUpon>
655+
</Compile>
609656
<Compile Include="Subrecords\GeneratedCode\AmmoData.cs">
610657
<AutoGen>True</AutoGen>
611658
<DesignTime>True</DesignTime>
@@ -666,6 +713,16 @@
666713
<DesignTime>True</DesignTime>
667714
<DependentUpon>ContainerData.tt</DependentUpon>
668715
</Compile>
716+
<Compile Include="Subrecords\GeneratedCode\CreatureBaseStats.cs">
717+
<AutoGen>True</AutoGen>
718+
<DesignTime>True</DesignTime>
719+
<DependentUpon>CreatureBaseStats.tt</DependentUpon>
720+
</Compile>
721+
<Compile Include="Subrecords\GeneratedCode\CreatureData.cs">
722+
<AutoGen>True</AutoGen>
723+
<DesignTime>True</DesignTime>
724+
<DependentUpon>CreatureData.tt</DependentUpon>
725+
</Compile>
669726
<Compile Include="Subrecords\GeneratedCode\DecalData.cs">
670727
<AutoGen>True</AutoGen>
671728
<DesignTime>True</DesignTime>
@@ -696,6 +753,11 @@
696753
<DesignTime>True</DesignTime>
697754
<DependentUpon>FactionData.tt</DependentUpon>
698755
</Compile>
756+
<Compile Include="Subrecords\GeneratedCode\FactionMembership.cs">
757+
<AutoGen>True</AutoGen>
758+
<DesignTime>True</DesignTime>
759+
<DependentUpon>FactionMembership.tt</DependentUpon>
760+
</Compile>
699761
<Compile Include="Subrecords\GeneratedCode\GrassData.cs">
700762
<AutoGen>True</AutoGen>
701763
<DesignTime>True</DesignTime>
@@ -736,6 +798,21 @@
736798
<DesignTime>True</DesignTime>
737799
<DependentUpon>MagicEffectData.tt</DependentUpon>
738800
</Compile>
801+
<Compile Include="Subrecords\GeneratedCode\NPCBaseStats.cs">
802+
<AutoGen>True</AutoGen>
803+
<DesignTime>True</DesignTime>
804+
<DependentUpon>NPCBaseStats.tt</DependentUpon>
805+
</Compile>
806+
<Compile Include="Subrecords\GeneratedCode\NPCData.cs">
807+
<AutoGen>True</AutoGen>
808+
<DesignTime>True</DesignTime>
809+
<DependentUpon>NPCData.tt</DependentUpon>
810+
</Compile>
811+
<Compile Include="Subrecords\GeneratedCode\NPCSkills.cs">
812+
<AutoGen>True</AutoGen>
813+
<DesignTime>True</DesignTime>
814+
<DependentUpon>NPCSkills.tt</DependentUpon>
815+
</Compile>
739816
<Compile Include="Subrecords\GeneratedCode\ObjectBounds.cs">
740817
<AutoGen>True</AutoGen>
741818
<DesignTime>True</DesignTime>
@@ -846,6 +923,7 @@
846923
<Compile Include="Subrecords\SpeedtreeSeeds.cs" />
847924
<Compile Include="Subrecords\StaticCollectionPartData.cs" />
848925
<Compile Include="Subrecords\SubMarker.cs" />
926+
<Compile Include="Subrecords\SubNullStringList.cs" />
849927
<Compile Include="Subrecords\UndecodedSubrecord.cs" />
850928
<Compile Include="Utility.cs" />
851929
<Compile Include="Zlib.cs" />
@@ -857,6 +935,10 @@
857935
<Generator>TextTemplatingFileGenerator</Generator>
858936
<LastGenOutput>TerminalMenu.cs</LastGenOutput>
859937
</None>
938+
<None Include="Subrecords\GeneratedCode\AIData.tt">
939+
<Generator>TextTemplatingFileGenerator</Generator>
940+
<LastGenOutput>AIData.cs</LastGenOutput>
941+
</None>
860942
<None Include="Subrecords\GeneratedCode\AmmoData.tt">
861943
<Generator>TextTemplatingFileGenerator</Generator>
862944
<LastGenOutput>AmmoData.cs</LastGenOutput>
@@ -893,6 +975,18 @@
893975
<Generator>TextTemplatingFileGenerator</Generator>
894976
<LastGenOutput>ContainerData.cs</LastGenOutput>
895977
</None>
978+
<None Include="Subrecords\GeneratedCode\CreatureBaseStats.tt">
979+
<Generator>TextTemplatingFileGenerator</Generator>
980+
<LastGenOutput>CreatureBaseStats.cs</LastGenOutput>
981+
</None>
982+
<None Include="Subrecords\GeneratedCode\CreatureData.tt">
983+
<Generator>TextTemplatingFileGenerator</Generator>
984+
<LastGenOutput>CreatureData.cs</LastGenOutput>
985+
</None>
986+
<None Include="Subrecords\GeneratedCode\FactionMembership.tt">
987+
<Generator>TextTemplatingFileGenerator</Generator>
988+
<LastGenOutput>FactionMembership.cs</LastGenOutput>
989+
</None>
896990
<None Include="Subrecords\GeneratedCode\GrassData.tt">
897991
<Generator>TextTemplatingFileGenerator</Generator>
898992
<LastGenOutput>GrassData.cs</LastGenOutput>
@@ -913,6 +1007,18 @@
9131007
<Generator>TextTemplatingFileGenerator</Generator>
9141008
<LastGenOutput>LightData.cs</LastGenOutput>
9151009
</None>
1010+
<None Include="Subrecords\GeneratedCode\NPCBaseStats.tt">
1011+
<Generator>TextTemplatingFileGenerator</Generator>
1012+
<LastGenOutput>NPCBaseStats.cs</LastGenOutput>
1013+
</None>
1014+
<None Include="Subrecords\GeneratedCode\NPCData.tt">
1015+
<Generator>TextTemplatingFileGenerator</Generator>
1016+
<LastGenOutput>NPCData.cs</LastGenOutput>
1017+
</None>
1018+
<None Include="Subrecords\GeneratedCode\NPCSkills.tt">
1019+
<Generator>TextTemplatingFileGenerator</Generator>
1020+
<LastGenOutput>NPCSkills.cs</LastGenOutput>
1021+
</None>
9161022
<None Include="Subrecords\GeneratedCode\PlaceableWaterData.tt">
9171023
<Generator>TextTemplatingFileGenerator</Generator>
9181024
<LastGenOutput>PlaceableWaterData.cs</LastGenOutput>
@@ -1022,10 +1128,6 @@
10221128
<Generator>TextTemplatingFileGenerator</Generator>
10231129
<LastGenOutput>RaceHeadData.cs</LastGenOutput>
10241130
</None>
1025-
<None Include="SubrecordCollections\GeneratedCode\Icon.tt">
1026-
<Generator>TextTemplatingFileGenerator</Generator>
1027-
<LastGenOutput>Icon.cs</LastGenOutput>
1028-
</None>
10291131
<None Include="SubrecordCollections\GeneratedCode\MasterFileData.tt">
10301132
<Generator>TextTemplatingFileGenerator</Generator>
10311133
<LastGenOutput>MasterFileData.cs</LastGenOutput>

ESPSharp/ElderScrollsPlugin.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,14 @@ public void WriteXML(string destinationFolder)
7171
Header.Record.WriteXML(Path.Combine(destinationFolder, "Header.xml"), this);
7272

7373
#if PARALLEL
74-
Parallel.ForEach(TopGroups.Where(g => g.ToString() != "Interior Cells" && g.ToString() != "Worldspaces" && g.ToString() != "Dialog Topics"), group =>
74+
Parallel.ForEach(TopGroups, group =>
7575
{
7676
string newDir = Path.Combine(destinationFolder, group.ToString());
7777
Directory.CreateDirectory(newDir);
7878
group.WriteXML(newDir, this);
7979
});
8080
#else
81-
foreach (Group group in TopGroups.Where(g => g.ToString() != "Interior Cells" && g.ToString() != "Worldspaces" && g.ToString() != "Dialog Topics"))
81+
foreach (Group group in TopGroups)
8282
{
8383
string newDir = Path.Combine(destinationFolder, group.ToString());
8484
Directory.CreateDirectory(newDir);

ESPSharp/Enums/AggressionType.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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
8+
{
9+
public enum AggressionType : byte
10+
{
11+
Unaggressive,
12+
Aggressive,
13+
VeryAggressive,
14+
Frenzied
15+
}
16+
}

ESPSharp/Enums/AssistanceType.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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
8+
{
9+
public enum AssistanceType : byte
10+
{
11+
HelpsNobody,
12+
HelpsAllies,
13+
HelpsAlliesAndFriends
14+
}
15+
}

ESPSharp/Enums/ConfidenceType.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
8+
{
9+
public enum ConfidenceType : byte
10+
{
11+
Cowardly,
12+
Cautious,
13+
Average,
14+
Brave,
15+
Foolhardy
16+
}
17+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
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
8+
{
9+
public enum CreatureSoundType : uint
10+
{
11+
LeftFoot,
12+
RightFoot,
13+
LeftBackFoot,
14+
RightBackFoot,
15+
Idle,
16+
Aware,
17+
Attack,
18+
Hit,
19+
Death,
20+
Weapon,
21+
MovementLoop,
22+
ConsciousLoop,
23+
Auxiliary1,
24+
Auxiliary2,
25+
Auxiliary3,
26+
Auxiliary4,
27+
Auxiliary5,
28+
Auxiliary6,
29+
Auxiliary7,
30+
Auxiliary8,
31+
Jump,
32+
PlayRandomLoop
33+
}
34+
}

0 commit comments

Comments
 (0)