mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-15 21:24:18 +01:00
Move Entries to GameData.
This commit is contained in:
parent
4cfd7f56c0
commit
b93c5376de
12 changed files with 71 additions and 60 deletions
60
Penumbra/Meta/EntryExtensions.cs
Normal file
60
Penumbra/Meta/EntryExtensions.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using System.IO;
|
|||
using System.Linq;
|
||||
using Lumina.Data;
|
||||
using Penumbra.Game;
|
||||
using Penumbra.GameData.Structs;
|
||||
|
||||
namespace Penumbra.Meta.Files
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using Lumina.Data;
|
||||
using Penumbra.Game;
|
||||
using Penumbra.GameData.Structs;
|
||||
|
||||
namespace Penumbra.Meta.Files
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue