WarcraftPriests/sl-shadow-priest 10
Shadow Priest sim repo
S7.NET+ -- A .NET library to connect to Siemens Step7 devices
Python script to create multiple profiles for Simcraft to find Best-in-Slot and best enchants/gems/talents combination.
Bloodytools merges multiple different input generators into one system. Offers data generation for Azerite Traits, Trinkets, Races, and Secondary Distributions.
GitHub Action to setup Developer Command Prompt for Microsoft Visual C++
Simulationcraft engine/GUI
libs to support with wow data and simc data
push eventsimulationcraft/simc
commit sha cab07a2aeee0d82e9ce7a73cb9073b3bd5fcc78c
regenerate spell data
push time in 42 minutes
Pull request review commentS7NetPlus/s7netplus
Added WString support + fixed max size in S7String
public static byte[] ToByteArray(string value, int reservedLength) throw new ArgumentNullException(nameof(value)); } - if (reservedLength > byte.MaxValue) throw new ArgumentException($"The maximum string length supported is {byte.MaxValue}.");+ if (reservedLength >= byte.MaxValue) throw new ArgumentException($"The maximum string length supported is {byte.MaxValue}.");
No problem but isn't it better to use a constant instead of byte.MaxValue -1?
comment created time in an hour
pull request commentS7NetPlus/s7netplus
Added WString support + fixed max size in S7String
Isn't it better to use a constant instead of byte.MaxValue -1?
comment created time in an hour
push eventsimulationcraft/simc
commit sha 4ab785b4263ff57dbc81b2a39a9206237a7a62a7
[Mage] Remove GF Blizzard on ST This optimization is a DSP gain only with low mastery levels.
push time in 2 hours
push eventsimulationcraft/simc
commit sha 151aa05f01379a2addfd49ec595eb4aada6a2f92
[Monk] Update which Windwalker abilities uses both Weapons in their calculations.
push time in 2 hours
issue commentS7NetPlus/s7netplus
There recently was someone else that ran into the OverflowException
, I believe the cause was related to multithreaded access to the PLC instance in that case. Also, you're just posting a bunch of stack traces, that isn't really helpful. Maybe you could share an excerpt of the code you're using? Also, I'd recommend you start with something small like a console program to read one variable only. Your issue seems to indicate improper use of the library (like multithreaded access), not an issue within the library.
comment created time in 8 hours
push eventWarcraftPriests/sl-shadow-priest
commit sha c0fc1eb6b887326867f2b646afb2d04a04b14f2d
update covenants
commit sha 60a647aa24afcf1f6759afd29176ad3ba962429b
Merge branch 'master' of github.com:WarcraftPriests/sl-shadow-priest into master
push time in 14 hours
issue commentS7NetPlus/s7netplus
2020-11-18 09:06:34,893 [26] ERROR: read plc DB:32 error S7.Net.TPKTInvalidException: TPKT is incomplete / invalid at S7.Net.TPKT.ReadAsync(Stream stream) at S7.Net.COTP.TPDU.ReadAsync(Stream stream) at S7.Net.COTP.TSDU.ReadAsync(Stream stream) at S7.Net.Plc.ReadBytesWithSingleRequestAsync(DataType dataType, Int32 db, Int32 startByteAdr, Int32 count) at S7.Net.Plc.ReadBytesAsync(DataType dataType, Int32 db, Int32 startByteAdr, Int32 count) at CoreLibrary.PLC.PlcReadCore.ReadBytesAsync(Int32 db, Int32 startByteAdr, Int32 count) in E:\WorkProject\SmartGuy\Longli\SourceCode\ApiCode\WinService\CoreLibrary\PLC\PlcReadCore.cs:line 272
comment created time in 15 hours
push eventsimulationcraft/simc
commit sha d353c77f0e1591e837070fd2a7443971eb592888
[Rogue] Fix Spell Crit, Between the Eyes bug, Outlaw use APL updates * Add Master Assassin (legendary) and Planned Execution to composite_spell_crit_chance() * Implement in-game bug that the bonus critical damage of Between the Eyes is not translated to Blade Flurry correctly * Update on-use item APL logic for Outlaw to sync on-use damage trinkets with Master Assassin
commit sha 1b3f040130f497f644b8d5069248ec58326abac4
[Balance] Fix ignore Starsurge condition It was previously casting Starsurges outside Eclipses and this also increases the target amount required to no longer Starsurge by 1 balance-simc/Balance-SimC@d593083 Co-authored-by: Balance-SimC <Balance-SimC@github.com>
commit sha 8c95de6fb9091097e86b4e01ac5fbc5e6d05c3d8
update spell data dump
commit sha 7989d81c9e3a65650b060384c0e54f264e593735
[Gear] A party only has 5 people in it
commit sha fd8299bd6c49f0f2bf93b039923a84f2e4771356
[Warlock] Demonology APL tweaks (#5759) * Demonology APL updates * Regenerate profiles * Actually regenerate profiles
commit sha a4c390e780b5451b777762553607dac6efff0d77
[Balance] Update comments and minor pulsar fix Capitalization is a good thing balance-simc/Balance-SimC@53d7cff Co-authored-by: Balance-SimC <Balance-SimC@github.com>
commit sha 61a91d6c2280276e95ee928fbe6d85d6c3664201
Make sure time_to_percent doesn't return negative values
commit sha 314f097151a0072cf45bd8e0a2fb0a5028d81381
[Balance] Remove Dreambinder action list This list was outdated and didn't require a separate action list to maintain balance-simc/Balance-SimC@521558c Co-authored-by: Balance-SimC <Balance-SimC@github.com>
commit sha 575cdcf610a795a05ab59c48073f179f456e3c2c
[Enemy] Time to percent will now work with enemy_fixed_health_percentage
commit sha 5c760ef755a6717e289e56bb4d5b0a43f65e6456
[Gear] Add support for trinket.X.has_stat.any_dps expression * As various trinket effects have things like Speed or Leech on them, add an any_dps alternative for DPS-oriented effects
commit sha 8992ba3968c6bcca492ac74f8d63679ef523248c
[Outlaw] Update trinket APL to use has_stat.any_dps instead of has_stat.any
commit sha 5ce98c9bff64852e501a44fd11af2712e2efc98c
[Enemy] time_to_die should ignore fixed_health_percentage + fix a sign 5am woopsy
commit sha 87806008f92298a4c5ec5be05cfa35ccac5ca12e
[Balance] Trinkets are very fun This fixes short duration cd trinkets not being used in between ca/inc uses and no longer makes ca/inc not being used when no trinkets are ready at the end of a fight balance-simc/Balance-SimC@c03e373 Co-authored-by: Balance-SimC <Balance-SimC@github.com>
commit sha 46c582036e2436aaf028214b05a05d66ece3380a
[Soulbind] typo in exacting preparation name is fixed
commit sha bfee6a841bfa75910965501de7165da5b161a887
[Soulbind] remove unnecessary exacting preparation code
commit sha 5238bfbb8db8f6f2e84b9135eb361c04ccc079cf
[Gear] Add option to fail the stat proc for iqd
commit sha d547d1acc2e5e56ff31347fcbaf26a7ce64125e1
[Expressions] Implement remains_expected and duration_expected in core Stolen from the hunter module's remains/duration_guess. Both _guess and _expected versions are valid but _expected makes more sense imho.
commit sha 372dc8375750d42ab8d42810a6028163d4f37f20
[Hunter] Add back Arcane Torrent for BM APL
commit sha c06d18ddb9bfedcab4716c499dca37efc5a33376
[Hunter] Arcane Torrent requires a bit lower focus in AoE since other abilities are worth more then
commit sha 54471e92034a27edc28907d3dea4ba1cdde6c5f0
[Havoc] Update Blade Dance APL Thresholds * Split out Chaos Theory and non-Chaos Theory lines for readability * Remove special Meta-specific threshold adjustments now that the hotfixes have normalized the AP coefficients again
push time in 19 hours
PR merged WarcraftPriests/sl-shadow-priest
Add the AM fix that we pushed to simc.
pr closed time in 19 hours
push eventWarcraftPriests/sl-shadow-priest
commit sha 2fac89131c0094be89f6e2afa9e2b9f59ab6618b
Update Default APL (#203) Add the AM fix that we pushed to simc
push time in 19 hours
push eventWarcraftPriests/sl-shadow-priest
commit sha dba73a451e127300add26fa8d04e2f47f3a06260
update consumables
push time in 20 hours
push eventWarcraftPriests/sl-shadow-priest
commit sha c00099dcb65d6beeec98cb2f665b0136928dac76
update conduits
push time in 20 hours
pull request commentS7NetPlus/s7netplus
Added WString support + fixed max size in S7String
Please change the S7string max length error message, other changes are fine.
comment created time in 21 hours
Pull request review commentS7NetPlus/s7netplus
Added WString support + fixed max size in S7String
public static byte[] ToByteArray(string value, int reservedLength) throw new ArgumentNullException(nameof(value)); } - if (reservedLength > byte.MaxValue) throw new ArgumentException($"The maximum string length supported is {byte.MaxValue}.");+ if (reservedLength >= byte.MaxValue) throw new ArgumentException($"The maximum string length supported is {byte.MaxValue}.");
Can you correct the size in the error message as well?
comment created time in 21 hours
Pull request review commentS7NetPlus/s7netplus
+using System;+using System.Text;++namespace S7.Net.Types+{+ /// <summary>+ /// Contains the methods to convert from S7 wstrings to C# strings+ /// An S7 WString has a preceding 4 byte header containing its capacity and length+ /// </summary>+ public static class S7WString+ {+ /// <summary>+ /// Converts S7 bytes to a string+ /// </summary>+ /// <param name="bytes"></param>+ /// <returns></returns>+ public static string FromByteArray(byte[] bytes)+ {+ if (bytes.Length < 4)+ {+ throw new PlcException(ErrorCode.ReadData, "Malformed S7 WString / too short");+ }++ int size = ((bytes[0] << 8) & 0xFF) | (bytes[1] & 0xFF);
100% correct xD
comment created time in 21 hours
Pull request review commentS7NetPlus/s7netplus
public static byte[] ToByteArray(string value, int reservedLength) throw new ArgumentNullException(nameof(value)); } - if (reservedLength > byte.MaxValue) throw new ArgumentException($"The maximum string length supported is {byte.MaxValue}.");+ if (reservedLength >= byte.MaxValue) throw new ArgumentException($"The maximum string length supported is {byte.MaxValue}.");
In the siemens doc they say that 254 is the maximum for a S7String (it's in german): https://support.industry.siemens.com/cs/mdm/109011420?c=63689840011&lc=de-DE
comment created time in 21 hours
Pull request review commentS7NetPlus/s7netplus
+using System;+using System.Text;++namespace S7.Net.Types+{+ /// <summary>+ /// Contains the methods to convert from S7 wstrings to C# strings+ /// An S7 WString has a preceding 4 byte header containing its capacity and length+ /// </summary>+ public static class S7WString+ {+ /// <summary>+ /// Converts S7 bytes to a string+ /// </summary>+ /// <param name="bytes"></param>+ /// <returns></returns>+ public static string FromByteArray(byte[] bytes)+ {+ if (bytes.Length < 4)+ {+ throw new PlcException(ErrorCode.ReadData, "Malformed S7 WString / too short");+ }++ int size = ((bytes[0] << 8) & 0xFF) | (bytes[1] & 0xFF);+ int length = ((bytes[2] << 8) & 0xFF) | (bytes[3] & 0xFF);
As above.
comment created time in a day
Pull request review commentS7NetPlus/s7netplus
public static byte[] ToByteArray(string value, int reservedLength) throw new ArgumentNullException(nameof(value)); } - if (reservedLength > byte.MaxValue) throw new ArgumentException($"The maximum string length supported is {byte.MaxValue}.");+ if (reservedLength >= byte.MaxValue) throw new ArgumentException($"The maximum string length supported is {byte.MaxValue}.");
Are you sure about this change? If you are, please also change the message. This does deserve to be in it's own commit though (so that'd be nice if you could split it off as well).
comment created time in a day
Pull request review commentS7NetPlus/s7netplus
+using System;+using System.Text;++namespace S7.Net.Types+{+ /// <summary>+ /// Contains the methods to convert from S7 wstrings to C# strings+ /// An S7 WString has a preceding 4 byte header containing its capacity and length+ /// </summary>+ public static class S7WString+ {+ /// <summary>+ /// Converts S7 bytes to a string+ /// </summary>+ /// <param name="bytes"></param>+ /// <returns></returns>+ public static string FromByteArray(byte[] bytes)+ {+ if (bytes.Length < 4)+ {+ throw new PlcException(ErrorCode.ReadData, "Malformed S7 WString / too short");+ }++ int size = ((bytes[0] << 8) & 0xFF) | (bytes[1] & 0xFF);
Should this perhaps be (bytes[0] << 8) & 0xff00? Also, I don't think you actually need to perform the bitwise and, the shift will always have the lower 8 bits zeroed out....
comment created time in a day
Pull request review commentS7NetPlus/s7netplus
+using System;+using System.Text;++namespace S7.Net.Types+{+ /// <summary>+ /// Contains the methods to convert from S7 wstrings to C# strings+ /// An S7 WString has a preceding 4 byte header containing its capacity and length+ /// </summary>+ public static class S7WString+ {+ /// <summary>+ /// Converts S7 bytes to a string+ /// </summary>+ /// <param name="bytes"></param>+ /// <returns></returns>+ public static string FromByteArray(byte[] bytes)+ {+ if (bytes.Length < 4)+ {+ throw new PlcException(ErrorCode.ReadData, "Malformed S7 WString / too short");+ }++ int size = ((bytes[0] << 8) & 0xFF) | (bytes[1] & 0xFF);+ int length = ((bytes[2] << 8) & 0xFF) | (bytes[3] & 0xFF);++ if (length > size)+ {+ throw new PlcException(ErrorCode.ReadData, "Malformed S7 WString / length larger than capacity");+ }++ try+ {+ return Encoding.BigEndianUnicode.GetString(bytes, 4, length * 2);
I didn't know about Encoding.BigEndianUnicode
, but that actually makes this one pretty easy.
comment created time in a day
Pull request review commentS7NetPlus/s7netplus
+using System;+using System.Text;++namespace S7.Net.Types+{+ /// <summary>+ /// Contains the methods to convert from S7 wstrings to C# strings+ /// An S7 WString has a preceding 4 byte header containing its capacity and length+ /// </summary>+ public static class S7WString+ {+ /// <summary>+ /// Converts S7 bytes to a string+ /// </summary>+ /// <param name="bytes"></param>+ /// <returns></returns>+ public static string FromByteArray(byte[] bytes)+ {+ if (bytes.Length < 4)+ {+ throw new PlcException(ErrorCode.ReadData, "Malformed S7 WString / too short");+ }++ int size = ((bytes[0] << 8) & 0xFF) | (bytes[1] & 0xFF);
(bytes[0] << 8) & 0xFF
is always 0
comment created time in a day
push eventWarcraftPriests/sl-shadow-priest
commit sha a6839397663d604a253b626182aeaac86eff969c
update soulbinds
push time in a day
push eventsimulationcraft/simc
commit sha dcf98e2380cc10d1856aca52169278d8341f909f
regenerate profiles
push time in a day
push eventsimulationcraft/simc
commit sha 0d87d3c549a22027ecfe292dd564cc4d75930bf6
[Mage] update Fire APL * added combustion_cast_remains variable * removed immediate PF usage on AoE in Combustion * fixed Fire Blast pooling on AoE * added better on-use item support * adjusted Shifting Power usage before Rune of Power to happen more often * added additional comments
push time in a day
issue commentS7NetPlus/s7netplus
System.OverflowException: Arithmetic operation resulted in an overflow. at S7.Net.TPKT.ReadAsync(Stream stream) at S7.Net.COTP.TPDU.ReadAsync(Stream stream) at S7.Net.COTP.TSDU.ReadAsync(Stream stream) at S7.Net.Plc.ReadBytesWithSingleRequestAsync(DataType dataType, Int32 db, Int32 startByteAdr, Byte[] buffer, Int32 offset, Int32 count) at S7.Net.Plc.ReadBytesAsync(DataType dataType, Int32 db, Int32 startByteAdr, Int32 count) at CoreLibrary.PLC.ReadCore.PlcReadCore.ReadBytesAsync(Int32 db, Int32 startByteAdr, Int32 count) in
comment created time in a day
issue commentS7NetPlus/s7netplus
System.IO.IOException: Unable to read data from the transport connection: 由于线程退出或应用程序请求,已中止 I/O 操作。. ---> System.Net.Sockets.SocketException (995): 由于线程退出或应用程序请求,已中止 I/O 操作。 --- End of inner exception stack trace --- at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token) at System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state) --- End of stack trace from previous location where exception was thrown --- at S7.Net.StreamExtensions.ReadExactAsync(Stream stream, Byte[] buffer, Int32 offset, Int32 count) at S7.Net.TPKT.ReadAsync(Stream stream) at S7.Net.COTP.TPDU.ReadAsync(Stream stream) at S7.Net.COTP.TSDU.ReadAsync(Stream stream) at S7.Net.Plc.ReadBytesWithSingleRequestAsync(DataType dataType, Int32 db, Int32 startByteAdr, Byte[] buffer, Int32 offset, Int32 count) at S7.Net.Plc.ReadBytesAsync(DataType dataType, Int32 db, Int32 startByteAdr, Int32 count) at CoreLibrary.PLC.ReadCore.PlcReadCore.ReadBytesAsync(Int32 db, Int32 startByteAdr, Int32 count) in
comment created time in a day
issue openedS7NetPlus/s7netplus
System.ObjectDisposedException: Cannot access a disposed object. Object name: 'System.Net.Sockets.NetworkStream'. at System.Net.Sockets.NetworkStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 size, CancellationToken cancellationToken) at S7.Net.StreamExtensions.ReadExactAsync(Stream stream, Byte[] buffer, Int32 offset, Int32 count) at S7.Net.TPKT.ReadAsync(Stream stream) at S7.Net.COTP.TPDU.ReadAsync(Stream stream) at S7.Net.COTP.TSDU.ReadAsync(Stream stream) at S7.Net.Plc.ReadBytesWithSingleRequestAsync(DataType dataType, Int32 db, Int32 startByteAdr, Byte[] buffer, Int32 offset, Int32 count) at S7.Net.Plc.ReadBytesAsync(DataType dataType, Int32 db, Int32 startByteAdr, Int32 count) at CoreLibrary.PLC.ReadCore.PlcReadCore.ReadBytesAsync(Int32 db, Int32 startByteAdr, Int32 count) in
created time in a day
push eventsimulationcraft/simc
commit sha 525fdd92f8388027cac5b45e1f58f96a3c519732
[Outlaw] Minor APL Adjustments * Fix some precombat durations * Adjust Between the Eyes to not be cast on enemies that will die within the next 3 seconds
push time in a day