Quote:
Originally Posted by _tao4229_
int[] i = new int[0];
Non null array with 0 length.
|
You're right. There is a possibility that, but it doesn't matter what key1 is because it's (forgive my terminology...) reassigned 3 lines below that.
Code:
public static void Initialization()
{
if (_key1 != null)
if (_key1.Length != 0)
return;
byte i_key1 = 0x9D, i_key2 = 0x62;
_key1 = new byte[0x100];
_key2 = new byte[0x100];
for (int i = 0; i < 0x100; i++)
{
_key1[i] = i_key1;
_key2[i] = i_key2;
i_key1 = (byte)((0x0F + (byte)(i_key1 * 0xFA)) * i_key1 + 0x13);
i_key2 = (byte)((0x79 - (byte)(i_key2 * 0x5C)) * i_key2 + 0x6D);
}
}
So... it should really look like this:
Code:
public static void Initialization()
{
byte i_key1 = 0x9D, i_key2 = 0x62;
_key1 = new byte[0x100];
_key2 = new byte[0x100];
for (int i = 0; i < 0x100; i++)
{
_key1[i] = i_key1;
_key2[i] = i_key2;
i_key1 = (byte)((0x0F + (byte)(i_key1 * 0xFA)) * i_key1 + 0x13);
i_key2 = (byte)((0x79 - (byte)(i_key2 * 0x5C)) * i_key2 + 0x6D);
}
}