Add Miera (and Hrothgals) to enums.

This commit is contained in:
Ottermandias 2021-12-10 16:54:59 +01:00
parent dbcd847736
commit 3458a2920b

View file

@ -2,10 +2,10 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
namespace Penumbra.GameData.Enums namespace Penumbra.GameData.Enums;
public enum Race : byte
{ {
public enum Race : byte
{
Unknown, Unknown,
Hyur, Hyur,
Elezen, Elezen,
@ -15,19 +15,19 @@ namespace Penumbra.GameData.Enums
AuRa, AuRa,
Hrothgar, Hrothgar,
Viera, Viera,
} }
public enum Gender : byte public enum Gender : byte
{ {
Unknown, Unknown,
Male, Male,
Female, Female,
MaleNpc, MaleNpc,
FemaleNpc, FemaleNpc,
} }
public enum ModelRace : byte public enum ModelRace : byte
{ {
Unknown, Unknown,
Midlander, Midlander,
Highlander, Highlander,
@ -38,10 +38,10 @@ namespace Penumbra.GameData.Enums
AuRa, AuRa,
Hrothgar, Hrothgar,
Viera, Viera,
} }
public enum SubRace : byte public enum SubRace : byte
{ {
Unknown, Unknown,
Midlander, Midlander,
Highlander, Highlander,
@ -59,11 +59,11 @@ namespace Penumbra.GameData.Enums
Lost, Lost,
Rava, Rava,
Veena, Veena,
} }
// The combined gender-race-npc numerical code as used by the game. // The combined gender-race-npc numerical code as used by the game.
public enum GenderRace : ushort public enum GenderRace : ushort
{ {
Unknown = 0, Unknown = 0,
MidlanderMale = 0101, MidlanderMale = 0101,
MidlanderMaleNpc = 0104, MidlanderMaleNpc = 0104,
@ -95,14 +95,18 @@ namespace Penumbra.GameData.Enums
AuRaFemaleNpc = 1404, AuRaFemaleNpc = 1404,
HrothgarMale = 1501, HrothgarMale = 1501,
HrothgarMaleNpc = 1504, HrothgarMaleNpc = 1504,
HrothgarFemale = 1601,
HrothgarFemaleNpc = 1604,
VieraMale = 1701,
VieraMaleNpc = 1704,
VieraFemale = 1801, VieraFemale = 1801,
VieraFemaleNpc = 1804, VieraFemaleNpc = 1804,
UnknownMaleNpc = 9104, UnknownMaleNpc = 9104,
UnknownFemaleNpc = 9204, UnknownFemaleNpc = 9204,
} }
public static class RaceEnumExtensions public static class RaceEnumExtensions
{ {
public static int ToRspIndex( this SubRace subRace ) public static int ToRspIndex( this SubRace subRace )
{ {
return subRace switch return subRace switch
@ -289,6 +293,10 @@ namespace Penumbra.GameData.Enums
GenderRace.AuRaFemaleNpc => ( Gender.FemaleNpc, ModelRace.AuRa ), GenderRace.AuRaFemaleNpc => ( Gender.FemaleNpc, ModelRace.AuRa ),
GenderRace.HrothgarMale => ( Gender.Male, ModelRace.Hrothgar ), GenderRace.HrothgarMale => ( Gender.Male, ModelRace.Hrothgar ),
GenderRace.HrothgarMaleNpc => ( Gender.MaleNpc, ModelRace.Hrothgar ), GenderRace.HrothgarMaleNpc => ( Gender.MaleNpc, ModelRace.Hrothgar ),
GenderRace.HrothgarFemale => ( Gender.Female, ModelRace.Hrothgar ),
GenderRace.HrothgarFemaleNpc => ( Gender.FemaleNpc, ModelRace.Hrothgar ),
GenderRace.VieraMale => ( Gender.Male, ModelRace.Viera ),
GenderRace.VieraMaleNpc => ( Gender.Male, ModelRace.Viera ),
GenderRace.VieraFemale => ( Gender.Female, ModelRace.Viera ), GenderRace.VieraFemale => ( Gender.Female, ModelRace.Viera ),
GenderRace.VieraFemaleNpc => ( Gender.FemaleNpc, ModelRace.Viera ), GenderRace.VieraFemaleNpc => ( Gender.FemaleNpc, ModelRace.Viera ),
GenderRace.UnknownMaleNpc => ( Gender.MaleNpc, ModelRace.Unknown ), GenderRace.UnknownMaleNpc => ( Gender.MaleNpc, ModelRace.Unknown ),
@ -334,6 +342,10 @@ namespace Penumbra.GameData.Enums
GenderRace.AuRaFemaleNpc => "1404", GenderRace.AuRaFemaleNpc => "1404",
GenderRace.HrothgarMale => "1501", GenderRace.HrothgarMale => "1501",
GenderRace.HrothgarMaleNpc => "1504", GenderRace.HrothgarMaleNpc => "1504",
GenderRace.HrothgarFemale => "1601",
GenderRace.HrothgarFemaleNpc => "1604",
GenderRace.VieraMale => "1701",
GenderRace.VieraMaleNpc => "1704",
GenderRace.VieraFemale => "1801", GenderRace.VieraFemale => "1801",
GenderRace.VieraFemaleNpc => "1804", GenderRace.VieraFemaleNpc => "1804",
GenderRace.UnknownMaleNpc => "9104", GenderRace.UnknownMaleNpc => "9104",
@ -341,10 +353,10 @@ namespace Penumbra.GameData.Enums
_ => throw new InvalidEnumArgumentException(), _ => throw new InvalidEnumArgumentException(),
}; };
} }
} }
public static partial class Names public static partial class Names
{ {
public static GenderRace GenderRaceFromCode( string code ) public static GenderRace GenderRaceFromCode( string code )
{ {
return code switch return code switch
@ -379,6 +391,10 @@ namespace Penumbra.GameData.Enums
"1404" => GenderRace.AuRaFemaleNpc, "1404" => GenderRace.AuRaFemaleNpc,
"1501" => GenderRace.HrothgarMale, "1501" => GenderRace.HrothgarMale,
"1504" => GenderRace.HrothgarMaleNpc, "1504" => GenderRace.HrothgarMaleNpc,
"1601" => GenderRace.HrothgarFemale,
"1604" => GenderRace.HrothgarFemaleNpc,
"1701" => GenderRace.VieraMale,
"1704" => GenderRace.VieraMaleNpc,
"1801" => GenderRace.VieraFemale, "1801" => GenderRace.VieraFemale,
"1804" => GenderRace.VieraFemaleNpc, "1804" => GenderRace.VieraFemaleNpc,
"9104" => GenderRace.UnknownMaleNpc, "9104" => GenderRace.UnknownMaleNpc,
@ -408,6 +424,7 @@ namespace Penumbra.GameData.Enums
ModelRace.Roegadyn => GenderRace.RoegadynMale, ModelRace.Roegadyn => GenderRace.RoegadynMale,
ModelRace.AuRa => GenderRace.AuRaMale, ModelRace.AuRa => GenderRace.AuRaMale,
ModelRace.Hrothgar => GenderRace.HrothgarMale, ModelRace.Hrothgar => GenderRace.HrothgarMale,
ModelRace.Viera => GenderRace.VieraMale,
_ => GenderRace.Unknown, _ => GenderRace.Unknown,
}, },
Gender.MaleNpc => modelRace switch Gender.MaleNpc => modelRace switch
@ -420,6 +437,7 @@ namespace Penumbra.GameData.Enums
ModelRace.Roegadyn => GenderRace.RoegadynMaleNpc, ModelRace.Roegadyn => GenderRace.RoegadynMaleNpc,
ModelRace.AuRa => GenderRace.AuRaMaleNpc, ModelRace.AuRa => GenderRace.AuRaMaleNpc,
ModelRace.Hrothgar => GenderRace.HrothgarMaleNpc, ModelRace.Hrothgar => GenderRace.HrothgarMaleNpc,
ModelRace.Viera => GenderRace.VieraMaleNpc,
_ => GenderRace.Unknown, _ => GenderRace.Unknown,
}, },
Gender.Female => modelRace switch Gender.Female => modelRace switch
@ -431,6 +449,7 @@ namespace Penumbra.GameData.Enums
ModelRace.Miqote => GenderRace.MiqoteFemale, ModelRace.Miqote => GenderRace.MiqoteFemale,
ModelRace.Roegadyn => GenderRace.RoegadynFemale, ModelRace.Roegadyn => GenderRace.RoegadynFemale,
ModelRace.AuRa => GenderRace.AuRaFemale, ModelRace.AuRa => GenderRace.AuRaFemale,
ModelRace.Hrothgar => GenderRace.HrothgarFemale,
ModelRace.Viera => GenderRace.VieraFemale, ModelRace.Viera => GenderRace.VieraFemale,
_ => GenderRace.Unknown, _ => GenderRace.Unknown,
}, },
@ -443,11 +462,11 @@ namespace Penumbra.GameData.Enums
ModelRace.Miqote => GenderRace.MiqoteFemaleNpc, ModelRace.Miqote => GenderRace.MiqoteFemaleNpc,
ModelRace.Roegadyn => GenderRace.RoegadynFemaleNpc, ModelRace.Roegadyn => GenderRace.RoegadynFemaleNpc,
ModelRace.AuRa => GenderRace.AuRaFemaleNpc, ModelRace.AuRa => GenderRace.AuRaFemaleNpc,
ModelRace.Hrothgar => GenderRace.HrothgarFemaleNpc,
ModelRace.Viera => GenderRace.VieraFemaleNpc, ModelRace.Viera => GenderRace.VieraFemaleNpc,
_ => GenderRace.Unknown, _ => GenderRace.Unknown,
}, },
_ => GenderRace.Unknown, _ => GenderRace.Unknown,
}; };
} }
}
} }