Patch Available - GMS 1.25
Nexon posted a patch for GMS version 124 upgrade to version 125.
You may download this patch from their official site and begin creating your pre-patcher now.
Extractions and database updates will be forthcoming (if supported)!
Size: 39176814 (bytes) (37.36 mb)
Posted:
Want quick and easy notification of just patches & updates? Follow PatchWatcher on twitter, or visit http://www.PatchWatcher.net/ and monitor just the patches you're interested in.
Re: Patch Available - GMS 1.25
This was unexpected o_O I figured this would come later tomorrow. Cool! Can't wait to see the modifications they made to Kaiser.
....I lurk the boards too much these days.
Re: Patch Available - GMS 1.25
Re: Patch Available - GMS 1.25
Re: Patch Available - GMS 1.25
i be so happy if it was 1 day early
Re: Patch Available - GMS 1.25
I can't wait to go get pwned by Magnus!!
Re: Patch Available - GMS 1.25
Yay, three characters that'll get Hypers.
Re: Patch Available - GMS 1.25
Quote:
Originally Posted by
ChronosXIII
Yay, three characters that'll get Hypers.
Three? I think you mean 6? o.o;
Re: Patch Available - GMS 1.25
Quote:
Originally Posted by
Justin
Three? I think you mean 6? o.o;
probably for him i guess.
Re: Patch Available - GMS 1.25
Oh, right, that makes sense. Derp.
Re: Patch Available - GMS 1.25
Wait so it's coming out... on Sunday?
Re: Patch Available - GMS 1.25
I will be incredibly impressed if this patch has Kaiser in it, and it is already available a day in advance.
Re: Patch Available - GMS 1.25
Re: Patch Available - GMS 1.25
I knew we were getting this Monday, but Jesus. I can't remember the last time a patch was two days early (if ever).
Nexon's really stepping it up. On the weekend, no less. :wink:
Re: Patch Available - GMS 1.25
Re: Patch Available - GMS 1.25
LOL seriously? *head desk* Nexon, this is the 2nd time in a row now.
Re: Patch Available - GMS 1.25
As I've said in the other thread - these checksum failures are not a mistake. It's the correct move by Nexon. They're doing it right.
Re: Patch Available - GMS 1.25
You're saying it's intentional? :f6: What for? to prevent people from manual patching?
Re: Patch Available - GMS 1.25
Well is not like we can't wait for a bit longer
Re: Patch Available - GMS 1.25
Quote:
Originally Posted by
Justin
You're saying it's intentional? :f6: What for? to prevent people from manual patching?
They're testing the patch on their servers.
Remember the old days when we would patch instantly when they put it up, then they would change the patch? Making our checksums fail (because we don't have the algorithm) means that we can't patch, but they can because they know the algorithm. So this allows them to use their Tespia client to test the game and update the patch to the correct checksum algorithm when they're ready to push a patch public. I think this is a good reaction from Nexon due to a good amount of people that prefer pre-patching. Also, I'm sure Nexon prefers pre-patchers as well because it spreads out the bandwidth requirements. It's just annoying to them that we prepatched at first because there'd be a chance that we would get a patch we weren't meant to get.
EDIT: I've tried other standard checksum CRC seeds and all of them fail too. I think they're using a custom CRC seed and/or crc table generation algorithm so that they come up with a different CRC table. There are different ways you can affect the CRC, such as using XOR-in, XOR-out, and bit reflection.
EDIT EDIT: In case anyone was wondering, below is the CRC32 code that Nexon used to generate the crc table in their program and this code is part of NXPatcher. In the actual Nexon patching client it doesn't include the algorithm and instead has the entire crc table statically which consumes 4 * 256 = 1024 bytes.
EDIT EDIT EDIT: Technically, there is a way that I could still patch my game. I could tell my program to simply disregard the checksum and patch my game regardless. However, I think this would be an unwise move. Nexon did this for a reason.
Code:
void CChecksum::InitializeSbox()
{
int remain;
int dividend;
int bit;
for(dividend = 0; dividend < 256; dividend++)
{
remain = dividend << 24;
for(bit = 0; bit < 8; bit++)
{
if(remain & 0x80000000)
{
remain = (remain << 1) ^ 0x04C11DB7;
}
else
{
remain = (remain << 1);
}
}
this->sbox[dividend] = remain;
}
}