Welcome to the RaGEZONE - MMORPG development forums.

Useful Stuff

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 ...

Results 1 to 2 of 2
  1. #1
    Account Upgraded | Title Enabled!
    Rank
    Member +
    Join Date
    Nov 2007
    Location
    England, UK
    Posts
    252
    Liked
    267

    idea Useful Stuff

    Click
    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):


  2. #2
    DRGunZ 2 Creator
    Rank
    Omega
    Join Date
    Jan 2007
    Location
    Parkersburg,WV
    Posts
    5,030
    Liked
    130
    Gamertag: wesman2232 PSN ID: wesman2232 XFIRE ID: wesman2232 Steam ID: wesman2232

    Re: Useful Stuff

    Very nice, I like the geometry on that map. That looks sexy :3
    Good luck on this.

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •