Move Entries to GameData.

This commit is contained in:
Ottermandias 2021-07-25 02:36:21 +02:00
parent 4cfd7f56c0
commit b93c5376de
12 changed files with 71 additions and 60 deletions

View file

@ -0,0 +1,60 @@
using Penumbra.GameData.Enums;
using Penumbra.GameData.Structs;
namespace Penumbra.Meta
{
public static class EqdpEntryExtensions
{
public static bool Apply( this ref EqdpEntry entry, MetaManipulation manipulation )
{
if( manipulation.Type != MetaType.Eqdp )
{
return false;
}
var mask = Eqdp.Mask( manipulation.EqdpIdentifier.Slot );
var result = ( entry & ~mask ) | manipulation.EqdpValue;
var ret = result == entry;
entry = result;
return ret;
}
public static EqdpEntry Reduce( this EqdpEntry entry, EquipSlot slot )
=> entry & Eqdp.Mask( slot );
}
public static class EqpEntryExtensions
{
public static bool Apply( this ref EqpEntry entry, MetaManipulation manipulation )
{
if( manipulation.Type != MetaType.Eqp )
{
return false;
}
var mask = Eqp.Mask( manipulation.EqpIdentifier.Slot );
var result = ( entry & ~mask ) | manipulation.EqpValue;
var ret = result != entry;
entry = result;
return ret;
}
public static EqpEntry Reduce( this EqpEntry entry, EquipSlot slot )
=> entry & Eqp.Mask( slot );
}
public static class GmpEntryExtension
{
public static GmpEntry Apply( this GmpEntry entry, MetaManipulation manipulation )
{
if( manipulation.Type != MetaType.Gmp )
{
return entry;
}
entry.Value = manipulation.GmpValue.Value;
return entry;
}
}
}

View file

@ -4,6 +4,7 @@ using System.IO;
using System.Linq;
using Penumbra.Game;
using Penumbra.GameData.Enums;
using Penumbra.GameData.Structs;
namespace Penumbra.Meta.Files
{

View file

@ -2,7 +2,7 @@ using System;
using System.IO;
using System.Linq;
using Lumina.Data;
using Penumbra.Game;
using Penumbra.GameData.Structs;
namespace Penumbra.Meta.Files
{

View file

@ -3,6 +3,7 @@ using System.IO;
using System.Linq;
using Lumina.Data;
using Penumbra.Game;
using Penumbra.GameData.Structs;
namespace Penumbra.Meta.Files
{

View file

@ -1,5 +1,6 @@
using Lumina.Data;
using Penumbra.Game;
using Penumbra.GameData.Structs;
namespace Penumbra.Meta.Files
{

View file

@ -3,8 +3,8 @@ using System.ComponentModel;
using System.IO;
using System.Runtime.InteropServices;
using Newtonsoft.Json;
using Penumbra.Game;
using Penumbra.GameData.Enums;
using Penumbra.GameData.Structs;
using Penumbra.GameData.Util;
using Penumbra.Meta.Files;
using Swan;