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">
+
+
+
+
+
+
-