Very nice, I like the geometry on that map. That looks sexy :3
Good luck on this.
This is a discussion on Useful Stuff within the Gunz 2 forums, part of the Gunz Online category; Managed to scrape this from my browser cache - the last 24 hours wasn't the best time to post stuff ...
Managed to scrape this from my browser cache - the last 24 hours wasn't the best time to post stuff
What's this section for? Sharing useful information on GunZ 2!!
Packets
Code:struct pktHead { unsigned char type; unsigned short size; unsigned short checksum; unsigned int unknown1; unsigned short packetid; unsigned int unknown2; } packet types: const unsigned char PACKET_STANDARD = 0xB; const unsigned char PACKET_HANDSHAKE = 0xC; /* showing how similar the key is to gunz 1 it seems only bytes 0x?? change with a new handshake other bytes (02 00 00 00 03) seem to be used in encryption - please help on that :) unsigned char cryptHash[] = { 0x57, 0x02, 0x5B, 0x04, 0x??, 0x??, 0x01, 0x08, // xx xx 0x37, 0x0A, 0x12, 0x69, 0x41, 0x38, 0x0F, 0x78, // 0x1B, 0x04, 0x24, 0x22, 0x43, 0x01, 0x49, 0x53, // 5d 2e 3a 0x50, 0x05, 0x13, 0x35, 0x4F, 0x02, 0x4D, 0x05, 0x02, 0x00, 0x00, 0x00, 0x03 // c9 28 a4 }; */ void encPacket( unsigned char *pkt, unsigned int len ) { unsigned int EDX; for(unsigned int i = 0; i < len; i++) { EDX = pkt[i] ^ cryptHash[ i % 20 ]; // 0x20 may refer to the DWORD at the end of the cryptHash EDX = (unsigned short)( EDX << cryptHash[ 0x20 ] ); EDX |= (EDX >> 8); EDX ^= 0xF0; pkt[i] = (unsigned char)EDX; // dl! } } void decPacket( unsigned char *pkt, unsigned int len ) { unsigned int EAX, EBX; // i = edx // len = eax for(unsigned int i = 0; i < len; i++) { EAX = pkt[i] ^ 0xF0; EBX = EAX; EBX &= 0x03; // end of cryptHash structure thing // Again, no idea where the 0x2 comes into it EBX <<= (8 - 0x02); EBX |= (EAX >> cryptHash[0x20]); EBX ^= cryptHash[ i % 0x20 ]; pkt[i] = (unsigned char)EBX; } } unsigned short makeChecksum(unsigned char *pkt, unsigned int len) { unsigned int chksm = 0; if( len > 0xF ) { for(unsigned int i = 0xF; i < len; i++) { chksm += pkt[i]; } } chksm -= (pkt[0] + len); chksm += (chksm >> 0x10); return (unsigned short)chksm; }
Models
Had a look at the new RaiderZ section yet? I started sharing some code for reading the newest ELU format: http://forum.ragezone.com/f697/model-formats-761223/
Also, check out Phantom*'s Blender WIP: http://forum.ragezone.com/f700/help-...ml#post6445022
Maps
Managed to launch the client yet? Me neither.. but I did managed to read some geometry from the new ship map (test_cargo_ship_01.elu):
Very nice, I like the geometry on that map. That looks sexy :3
Good luck on this.