Skip to content

Commit

Permalink
better handling of item version
Browse files Browse the repository at this point in the history
  • Loading branch information
dschu012 committed Apr 25, 2021
1 parent e48ae7a commit c74bb90
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 44 deletions.
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#todo... better method
nuget:
dotnet nuget push D2SLib.1.0.2.nupkg --api-key $NUGET_APIKEY --source https://api.nuget.org/v3/index.json
2 changes: 1 addition & 1 deletion src/D2SLib.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<RepositoryUrl>https://github.com/dschu012/D2SLib</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<Version>1.0.1</Version>
<Version>1.0.2</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
11 changes: 6 additions & 5 deletions src/Model/Save/Items.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public class Item
public UInt16? Header { get; set; }
[JsonIgnore]
public BitArray? Flags { get; set; }
public UInt16 Version { get; set; }
public string Version { get; set; }
public ItemMode Mode { get; set; }
public ItemLocation Location { get; set; }
public byte X { get; set; }
Expand Down Expand Up @@ -210,11 +210,11 @@ protected static void ReadCompact(BitReader reader, Item item, UInt32 version)
item.Flags = new BitArray(reader.ReadBytes(4));
if(version <= 0x60)
{
item.Version = reader.ReadUInt16(10);
item.Version = Convert.ToString(reader.ReadUInt16(10), 10);
}
else if(version >= 0x61)
{
item.Version = reader.ReadUInt16(3);
item.Version = Convert.ToString(reader.ReadUInt16(3), 2);
}
item.Mode = (ItemMode)reader.ReadByte(3);
item.Location = (ItemLocation)reader.ReadByte(4);
Expand Down Expand Up @@ -267,11 +267,12 @@ protected static void WriteCompact(BitWriter writer, Item item, UInt32 version)
}
if (version <= 0x60)
{
writer.WriteUInt16(item.Version, 10);
//todo. how do we handle 1.15 version to 1.14. maybe this should be a string
writer.WriteUInt16(Convert.ToUInt16(item.Version, 10), 10);
}
else if (version >= 0x61)
{
writer.WriteUInt16(item.Version, 3);
writer.WriteUInt16(Convert.ToUInt16(item.Version, 2), 3);
}
writer.WriteByte((byte)item.Mode, 3);
writer.WriteByte((byte)item.Location, 4);
Expand Down
76 changes: 38 additions & 38 deletions test/Resources/JSON/DannyIsGreat.json
Original file line number Diff line number Diff line change
Expand Up @@ -3615,7 +3615,7 @@
"Count": 27,
"Items": [
{
"Version": 5,
"Version": "101",
"Mode": 1,
"Location": 10,
"X": 10,
Expand Down Expand Up @@ -3699,7 +3699,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 1,
"Location": 3,
"X": 3,
Expand All @@ -3711,7 +3711,7 @@
"TotalNumberOfSockets": 3,
"SocketedItems": [
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 0,
Expand Down Expand Up @@ -3760,7 +3760,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 1,
Expand Down Expand Up @@ -3809,7 +3809,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 2,
Expand Down Expand Up @@ -3940,7 +3940,7 @@
"IsRuneword": true
},
{
"Version": 5,
"Version": "101",
"Mode": 1,
"Location": 8,
"X": 8,
Expand Down Expand Up @@ -4024,7 +4024,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 0,
Expand Down Expand Up @@ -4077,7 +4077,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 0,
Expand Down Expand Up @@ -4197,7 +4197,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 0,
Expand Down Expand Up @@ -4250,7 +4250,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 0,
Expand Down Expand Up @@ -4303,7 +4303,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 9,
Expand Down Expand Up @@ -4574,7 +4574,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 9,
Expand Down Expand Up @@ -4845,7 +4845,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 9,
Expand Down Expand Up @@ -5116,7 +5116,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 9,
Expand Down Expand Up @@ -5387,7 +5387,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 8,
Expand Down Expand Up @@ -5658,7 +5658,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 8,
Expand Down Expand Up @@ -5929,7 +5929,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 8,
Expand Down Expand Up @@ -6200,7 +6200,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 1,
Expand Down Expand Up @@ -6253,7 +6253,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 1,
"Location": 2,
"X": 2,
Expand Down Expand Up @@ -6337,7 +6337,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 8,
Expand Down Expand Up @@ -6608,7 +6608,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 7,
Expand Down Expand Up @@ -6879,7 +6879,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 7,
Expand Down Expand Up @@ -7150,7 +7150,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 7,
Expand Down Expand Up @@ -7421,7 +7421,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 7,
Expand Down Expand Up @@ -7692,7 +7692,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 0,
"Location": 0,
"X": 2,
Expand Down Expand Up @@ -7745,7 +7745,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 2,
"Location": 0,
"X": 0,
Expand Down Expand Up @@ -7794,7 +7794,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 1,
"Location": 11,
"X": 11,
Expand Down Expand Up @@ -7905,7 +7905,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 1,
"Location": 1,
"X": 1,
Expand Down Expand Up @@ -7964,7 +7964,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 1,
"Location": 4,
"X": 4,
Expand All @@ -7976,7 +7976,7 @@
"TotalNumberOfSockets": 4,
"SocketedItems": [
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 0,
Expand Down Expand Up @@ -8025,7 +8025,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 1,
Expand Down Expand Up @@ -8074,7 +8074,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 2,
Expand Down Expand Up @@ -8123,7 +8123,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 3,
Expand Down Expand Up @@ -8274,7 +8274,7 @@
"IsRuneword": true
},
{
"Version": 5,
"Version": "101",
"Mode": 1,
"Location": 5,
"X": 5,
Expand All @@ -8286,7 +8286,7 @@
"TotalNumberOfSockets": 4,
"SocketedItems": [
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 0,
Expand Down Expand Up @@ -8335,7 +8335,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 1,
Expand Down Expand Up @@ -8384,7 +8384,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 2,
Expand Down Expand Up @@ -8433,7 +8433,7 @@
"IsRuneword": false
},
{
"Version": 5,
"Version": "101",
"Mode": 6,
"Location": 0,
"X": 3,
Expand Down

0 comments on commit c74bb90

Please sign in to comment.