diff --git a/src/G2DataGUI.Common/Data/Models/Common/NJSARGB.cs b/src/G2DataGUI.Common/Data/Models/Common/NJSARGB.cs new file mode 100644 index 0000000..9c20a8b --- /dev/null +++ b/src/G2DataGUI.Common/Data/Models/Common/NJSARGB.cs @@ -0,0 +1,9 @@ +namespace G2DataGUI.Common.Data.Models.Common; + +public struct NJSARGB +{ + public float A { get; set; } + public float R { get; set; } + public float G { get; set; } + public float B { get; set; } +} diff --git a/src/G2DataGUI.Common/Data/Models/Common/NJSBGRA.cs b/src/G2DataGUI.Common/Data/Models/Common/NJSBGRA.cs new file mode 100644 index 0000000..6e83dca --- /dev/null +++ b/src/G2DataGUI.Common/Data/Models/Common/NJSBGRA.cs @@ -0,0 +1,9 @@ +namespace G2DataGUI.Common.Data.Models.Common; + +public struct NJSBGRA +{ + public byte Blue { get; set; } + public byte Green { get; set; } + public byte Red { get; set; } + public byte Alpha { get; set; } +} diff --git a/src/G2DataGUI.Common/Data/Models/Common/NJSColor.cs b/src/G2DataGUI.Common/Data/Models/Common/NJSColor.cs new file mode 100644 index 0000000..43b5b65 --- /dev/null +++ b/src/G2DataGUI.Common/Data/Models/Common/NJSColor.cs @@ -0,0 +1,11 @@ +using System.Runtime.InteropServices; + +namespace G2DataGUI.Common.Data.Models.Common; + +[StructLayout(LayoutKind.Explicit)] +public struct NJSColor +{ + [FieldOffset(0)] public uint Color; + [FieldOffset(0)] public NJSTexture Texture; + [FieldOffset(0)] public NJSBGRA ARGB; +} diff --git a/src/G2DataGUI.Common/Data/Models/Common/NJSTexture.cs b/src/G2DataGUI.Common/Data/Models/Common/NJSTexture.cs new file mode 100644 index 0000000..9fdc2a1 --- /dev/null +++ b/src/G2DataGUI.Common/Data/Models/Common/NJSTexture.cs @@ -0,0 +1,7 @@ +namespace G2DataGUI.Common.Data.Models.Common; + +public struct NJSTexture +{ + public short U { get; set; } + public short V { get; set; } +} diff --git a/src/G2DataGUI.Common/Data/Models/Model.cs b/src/G2DataGUI.Common/Data/Models/Model.cs index ffcf941..a8b3a43 100644 --- a/src/G2DataGUI.Common/Data/Models/Model.cs +++ b/src/G2DataGUI.Common/Data/Models/Model.cs @@ -1,5 +1,10 @@ namespace G2DataGUI.Common.Data.Models; +/// +/// Defines everything regarding an in-game model. +/// This includes the model itself(NJCM), +/// as well as any motions(NMDM) files. +/// public class Model { diff --git a/src/G2DataGUI.Common/Data/Models/Models.cs b/src/G2DataGUI.Common/Data/Models/Models.cs index a16beab..0b7de65 100644 --- a/src/G2DataGUI.Common/Data/Models/Models.cs +++ b/src/G2DataGUI.Common/Data/Models/Models.cs @@ -4,4 +4,5 @@ namespace G2DataGUI.Common.Data.Models; public class Models : BaseContainer { + } diff --git a/src/G2DataGUI.Common/Data/Models/NJCM.cs b/src/G2DataGUI.Common/Data/Models/NJCM.cs index 6312169..4c605c3 100644 --- a/src/G2DataGUI.Common/Data/Models/NJCM.cs +++ b/src/G2DataGUI.Common/Data/Models/NJCM.cs @@ -4,6 +4,10 @@ namespace G2DataGUI.Common.Data.Models; +/// +/// Defines the NJCM file strcture based +/// on the in-game files. +/// public class NJCM { public uint ByteLength { get; private set; } @@ -24,6 +28,7 @@ public static NJCM ReadNJCM(Stream reader, long instanceOffset) var identifier = reader.ReadRawByteArray((uint)Identifier.Length); if (!Identifier.SequenceEqual(identifier)) { + reader.Seek(-Identifier.Length, SeekOrigin.Current); return null; } diff --git a/src/G2DataGUI.Common/Data/Models/NJSBone.cs b/src/G2DataGUI.Common/Data/Models/NJSBone.cs index 88b3cde..86da9a6 100644 --- a/src/G2DataGUI.Common/Data/Models/NJSBone.cs +++ b/src/G2DataGUI.Common/Data/Models/NJSBone.cs @@ -4,6 +4,10 @@ namespace G2DataGUI.Common.Data.Models; +/// +/// Defines the njcm_object_t structure from the +/// Dreamcast Katana SDK's Ninja library specifies. +/// public class NJSBone { public uint Flags { get; set; } diff --git a/src/G2DataGUI.Common/Data/Models/NMDM.cs b/src/G2DataGUI.Common/Data/Models/NMDM.cs index e1225cf..fe22119 100644 --- a/src/G2DataGUI.Common/Data/Models/NMDM.cs +++ b/src/G2DataGUI.Common/Data/Models/NMDM.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +namespace G2DataGUI.Common.Data.Models; -namespace G2DataGUI.Common.Data.Models; -internal class NMDM +public class NMDM { + } diff --git a/src/G2DataGUI/UI/Views/Content/BossMovesets.axaml b/src/G2DataGUI/UI/Views/Content/BossMovesets.axaml index e4a3aea..da0f817 100644 --- a/src/G2DataGUI/UI/Views/Content/BossMovesets.axaml +++ b/src/G2DataGUI/UI/Views/Content/BossMovesets.axaml @@ -81,7 +81,13 @@ + Items="{locale:Locale TargetEffects}"> + + + + + + @@ -103,7 +109,13 @@ + Items="{locale:Locale TargetTypes}"> + + + + + + @@ -158,7 +170,13 @@ + Items="{locale:Locale Animations}"> + + + + + + @@ -328,7 +346,13 @@ + Items="{locale:Locale Elements}"> + + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/BossStats.axaml b/src/G2DataGUI/UI/Views/Content/BossStats.axaml index 06e21a8..4fbf56b 100644 --- a/src/G2DataGUI/UI/Views/Content/BossStats.axaml +++ b/src/G2DataGUI/UI/Views/Content/BossStats.axaml @@ -45,13 +45,25 @@ Margin="4"> + Items="{locale:Locale EnemyTypes}"> + + + + + + + Items="{locale:Locale EnemyTypes}"> + + + + + + @@ -76,6 +88,11 @@ + + + + + @@ -98,6 +115,11 @@ + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/EnemyMoveset.axaml b/src/G2DataGUI/UI/Views/Content/EnemyMoveset.axaml index 1090d24..fe714b2 100644 --- a/src/G2DataGUI/UI/Views/Content/EnemyMoveset.axaml +++ b/src/G2DataGUI/UI/Views/Content/EnemyMoveset.axaml @@ -81,7 +81,13 @@ + Items="{locale:Locale TargetEffects}"> + + + + + + @@ -103,7 +109,13 @@ + Items="{locale:Locale TargetTypes}"> + + + + + + @@ -158,7 +170,13 @@ + Items="{locale:Locale Animations}"> + + + + + + @@ -328,7 +346,13 @@ + Items="{locale:Locale Elements}"> + + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/EnemyStats.axaml b/src/G2DataGUI/UI/Views/Content/EnemyStats.axaml index 94e4ab6..71b294f 100644 --- a/src/G2DataGUI/UI/Views/Content/EnemyStats.axaml +++ b/src/G2DataGUI/UI/Views/Content/EnemyStats.axaml @@ -45,13 +45,25 @@ Margin="4"> + Items="{locale:Locale EnemyTypes}"> + + + + + + + Items="{locale:Locale EnemyTypes}"> + + + + + + @@ -76,6 +88,11 @@ + + + + + @@ -98,6 +115,11 @@ + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/ItemEquipment.axaml b/src/G2DataGUI/UI/Views/Content/ItemEquipment.axaml index 9e77004..ad157a7 100644 --- a/src/G2DataGUI/UI/Views/Content/ItemEquipment.axaml +++ b/src/G2DataGUI/UI/Views/Content/ItemEquipment.axaml @@ -334,7 +334,13 @@ + Items="{locale:Locale EffectiveOn}"> + + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/ItemUsable.axaml b/src/G2DataGUI/UI/Views/Content/ItemUsable.axaml index f590eef..49bcb28 100644 --- a/src/G2DataGUI/UI/Views/Content/ItemUsable.axaml +++ b/src/G2DataGUI/UI/Views/Content/ItemUsable.axaml @@ -28,14 +28,26 @@ + Items="{locale:Locale TargetEffects}"> + + + + + + + Items="{locale:Locale TargetTypes}"> + + + + + + @@ -97,7 +109,13 @@ + Items="{locale:Locale Animations}"> + + + + + + @@ -266,7 +284,13 @@ + Items="{locale:Locale Elements}"> + + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/Items.axaml b/src/G2DataGUI/UI/Views/Content/Items.axaml index 7546f5c..f1d7f7c 100644 --- a/src/G2DataGUI/UI/Views/Content/Items.axaml +++ b/src/G2DataGUI/UI/Views/Content/Items.axaml @@ -58,7 +58,13 @@ + Items="{locale:Locale ItemEntries}"> + + + + + + - \ No newline at end of file + diff --git a/src/G2DataGUI/UI/Views/Content/Manaeggs.axaml b/src/G2DataGUI/UI/Views/Content/Manaeggs.axaml index 5d800a6..e2912ee 100644 --- a/src/G2DataGUI/UI/Views/Content/Manaeggs.axaml +++ b/src/G2DataGUI/UI/Views/Content/Manaeggs.axaml @@ -79,9 +79,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -120,9 +125,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -161,9 +171,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -202,9 +217,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -243,9 +263,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -284,9 +309,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -345,9 +375,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -386,9 +421,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -427,9 +467,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -468,9 +513,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -509,9 +559,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -550,9 +605,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -611,9 +671,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -652,9 +717,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -693,9 +763,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -734,9 +809,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -775,9 +855,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -816,9 +901,14 @@ Items="{Binding GameMoves}"> - + + + + + + @@ -850,4 +940,4 @@ - \ No newline at end of file + diff --git a/src/G2DataGUI/UI/Views/Content/MapIcons.axaml b/src/G2DataGUI/UI/Views/Content/MapIcons.axaml index 27a2ed9..4d50c79 100644 --- a/src/G2DataGUI/UI/Views/Content/MapIcons.axaml +++ b/src/G2DataGUI/UI/Views/Content/MapIcons.axaml @@ -134,6 +134,11 @@ + + + + + + + + + + @@ -166,6 +176,11 @@ + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/MapScripts.axaml b/src/G2DataGUI/UI/Views/Content/MapScripts.axaml index 835aa53..5fd8669 100644 --- a/src/G2DataGUI/UI/Views/Content/MapScripts.axaml +++ b/src/G2DataGUI/UI/Views/Content/MapScripts.axaml @@ -107,7 +107,13 @@ + Items="{locale:Locale ScreenTransitions}"> + + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/MapShop.axaml b/src/G2DataGUI/UI/Views/Content/MapShop.axaml index 92d925f..d63175e 100644 --- a/src/G2DataGUI/UI/Views/Content/MapShop.axaml +++ b/src/G2DataGUI/UI/Views/Content/MapShop.axaml @@ -68,6 +68,11 @@ + + + + + @@ -80,6 +85,11 @@ + + + + + @@ -92,6 +102,11 @@ + + + + + @@ -104,6 +119,11 @@ + + + + + @@ -116,6 +136,11 @@ + + + + + @@ -128,6 +153,11 @@ + + + + + @@ -140,6 +170,11 @@ + + + + + @@ -152,6 +187,11 @@ + + + + + @@ -164,6 +204,11 @@ + + + + + @@ -176,6 +221,11 @@ + + + + + @@ -188,6 +238,11 @@ + + + + + @@ -200,6 +255,11 @@ + + + + + @@ -220,6 +280,11 @@ + + + + + @@ -232,6 +297,11 @@ + + + + + @@ -244,6 +314,11 @@ + + + + + @@ -256,6 +331,11 @@ + + + + + @@ -268,6 +348,11 @@ + + + + + @@ -280,6 +365,11 @@ + + + + + @@ -292,6 +382,11 @@ + + + + + @@ -304,6 +399,11 @@ + + + + + @@ -316,6 +416,11 @@ + + + + + @@ -328,6 +433,11 @@ + + + + + @@ -340,6 +450,11 @@ + + + + + @@ -352,6 +467,11 @@ + + + + + @@ -372,6 +492,11 @@ + + + + + @@ -384,6 +509,11 @@ + + + + + @@ -396,6 +526,11 @@ + + + + + @@ -408,6 +543,11 @@ + + + + + @@ -420,6 +560,11 @@ + + + + + @@ -432,6 +577,11 @@ + + + + + @@ -444,6 +594,11 @@ + + + + + @@ -456,6 +611,11 @@ + + + + + @@ -468,6 +628,11 @@ + + + + + @@ -480,6 +645,11 @@ + + + + + @@ -492,6 +662,11 @@ + + + + + @@ -504,6 +679,11 @@ + + + + + @@ -524,6 +704,11 @@ + + + + + @@ -536,6 +721,11 @@ + + + + + @@ -548,6 +738,11 @@ + + + + + @@ -560,6 +755,11 @@ + + + + + @@ -572,6 +772,11 @@ + + + + + @@ -584,6 +789,11 @@ + + + + + @@ -596,6 +806,11 @@ + + + + + @@ -608,6 +823,11 @@ + + + + + @@ -620,6 +840,11 @@ + + + + + @@ -632,6 +857,11 @@ + + + + + @@ -644,6 +874,11 @@ + + + + + @@ -656,6 +891,11 @@ + + + + + @@ -676,6 +916,11 @@ + + + + + @@ -688,6 +933,11 @@ + + + + + @@ -700,6 +950,11 @@ + + + + + @@ -712,6 +967,11 @@ + + + + + @@ -724,6 +984,11 @@ + + + + + @@ -736,6 +1001,11 @@ + + + + + @@ -748,6 +1018,11 @@ + + + + + @@ -760,6 +1035,11 @@ + + + + + @@ -772,6 +1052,11 @@ + + + + + @@ -784,6 +1069,11 @@ + + + + + @@ -796,6 +1086,11 @@ + + + + + @@ -808,6 +1103,11 @@ + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/Moves.axaml b/src/G2DataGUI/UI/Views/Content/Moves.axaml index 891bca1..298d605 100644 --- a/src/G2DataGUI/UI/Views/Content/Moves.axaml +++ b/src/G2DataGUI/UI/Views/Content/Moves.axaml @@ -66,7 +66,13 @@ + Items="{locale:Locale Icons}"> + + + + + + @@ -95,14 +101,26 @@ + Items="{locale:Locale TargetEffects}"> + + + + + + + Items="{locale:Locale TargetTypes}"> + + + + + + @@ -172,7 +190,13 @@ + Items="{locale:Locale Animations}"> + + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/Skillbooks.axaml b/src/G2DataGUI/UI/Views/Content/Skillbooks.axaml index 0730781..ae21eef 100644 --- a/src/G2DataGUI/UI/Views/Content/Skillbooks.axaml +++ b/src/G2DataGUI/UI/Views/Content/Skillbooks.axaml @@ -68,9 +68,14 @@ Items="{Binding GameSkills}"> - + + + + + + @@ -101,9 +106,14 @@ Items="{Binding GameSkills}"> - + + + + + + @@ -134,9 +144,14 @@ Items="{Binding GameSkills}"> - + + + + + + @@ -167,9 +182,14 @@ Items="{Binding GameSkills}"> - + + + + + + @@ -200,9 +220,14 @@ Items="{Binding GameSkills}"> - + + + + + + @@ -233,9 +258,14 @@ Items="{Binding GameSkills}"> - + + + + + + @@ -256,4 +286,4 @@ - \ No newline at end of file + diff --git a/src/G2DataGUI/UI/Views/Content/Skills.axaml b/src/G2DataGUI/UI/Views/Content/Skills.axaml index b7404f7..8a06db1 100644 --- a/src/G2DataGUI/UI/Views/Content/Skills.axaml +++ b/src/G2DataGUI/UI/Views/Content/Skills.axaml @@ -79,14 +79,26 @@ + Items="{locale:Locale CoinCostTypes}"> + + + + + + + Items="{locale:Locale CoinCostTypes}"> + + + + + + diff --git a/src/G2DataGUI/UI/Views/Content/Specials.axaml b/src/G2DataGUI/UI/Views/Content/Specials.axaml index 62209a9..2ef4f20 100644 --- a/src/G2DataGUI/UI/Views/Content/Specials.axaml +++ b/src/G2DataGUI/UI/Views/Content/Specials.axaml @@ -70,6 +70,11 @@ + + + + + @@ -104,6 +109,11 @@ + + + + + @@ -138,6 +148,11 @@ + + + + + @@ -172,6 +187,11 @@ + + + + + @@ -206,6 +226,11 @@ + + + + + @@ -240,6 +265,11 @@ + + + + + @@ -260,4 +290,4 @@ - \ No newline at end of file + diff --git a/src/G2DataGUI/UI/Views/Content/StartingStats.axaml b/src/G2DataGUI/UI/Views/Content/StartingStats.axaml index e5d7a6a..46c3fe2 100644 --- a/src/G2DataGUI/UI/Views/Content/StartingStats.axaml +++ b/src/G2DataGUI/UI/Views/Content/StartingStats.axaml @@ -118,6 +118,11 @@ + + + + + + + + + + @@ -150,6 +160,11 @@ + + + + + + + + + + @@ -182,6 +202,11 @@ + + + + + + + + + + diff --git a/src/G2DataGUI/UI/Views/MenuBar.axaml b/src/G2DataGUI/UI/Views/MenuBar.axaml index 9a4db41..3d4a249 100644 --- a/src/G2DataGUI/UI/Views/MenuBar.axaml +++ b/src/G2DataGUI/UI/Views/MenuBar.axaml @@ -58,8 +58,13 @@ + Margin="0,5,5,0"> + + + + + + -