HINO03

From SWGANH Wiki
Revision as of 15:53, 19 November 2009 by Schmunzel (Talk | contribs) (Baseline Struct)

Jump to: navigation, search

Baseline - HINO03

SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.

HINO Packet Type QuickNav
HINO03 - HINO06 - HINO07


Baseline Struct


SHORT Op Count
INT Opcode
LONG Object ID
INT ONIH
BYTE 03
INT Counter
SHORT Template:Operand count
FLOAT Template:Complexity
A_STRING STF File
INT STF Spacer
A_STRING STF Name
U_STRING Template:Custom name
INT ??
INT ??
INT ??
INT ??
INT ??
INT ??
INT ??
INT ??
INT ??
INT ??

Deltas Struct



Variable Descriptions


  • Notes

Tags


50% This packet has been partially reversed.

Sample Packet


 05 00 
0C 5F A7 68              // BaselineMessage   
36 21 FF FB 1A 00 00 00  // object ID
4F 4E 49 48 03           // ONIH 3
56 00 00 00 
0E 00 
00 00 80 3F 
0E 00                    // string count
69 6E 73 74 61 6C 6C     // instal
61 74 69 6F 6E 5F 6E     // lation_n
00 00 00 00 
0E 00 
77 69 6E 64 5F 67 65 6E 65 72 61 74 6F 72      // wind_generator
00 00 00 00 
01 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 01 
00 00 00 00 
00 00 00 00 
00 00 E8 03 
00 00 01 00 
00 00 00 00 
00 00 00 00 
25 

sample code remove me once struct is documented

ByteBuffer ZoneClient::ONIH_3(uint64 id, char *installation){
	ByteBuffer packet;
	uint32 len;

	packet << (uint16) 0x0005;
	packet.opcode2(SMSG_OBJ_UPDATE);//0c5fa768
	
	packet << (uint64) id;//itemid
	
	packet << (uint32) 0x48494e4f; //0x494e534f; //OSNI Packet 

	packet << (uint8) 0x03;        //  

	char* dir = "installation_n";
	char* kind = "fusion_generator";
	uint32 oncr3size = strlen(kind)+strlen(dir);

	packet << (uint32) (oncr3size+58);//61	//bytecount rest Packet size
	packet << (uint16) 0x000e;		//object operands 13	???	//57
	packet << (float) 0;//0x3f800000;	// float 1
				
	len = strlen(dir);	
	packet << (uint16) len;
	for (int i=0;i<len;i++){
		packet << (char)dir[i];	
	}
		
	packet << (uint32) 0;
		
	len = strlen(kind);	
	packet << (uint16) len;
	for (int i=0;i<len;i++){
		packet << (char)kind[i];	
	}
	
	packet << (uint32) 0;	//string	
	packet << (uint32) 1;//1H inv load
	packet << (uint32) 0;//string
	packet << (uint32) 0;

	packet << (uint32) 0x00000000;
	packet << (uint32) 0;
	packet << (uint16) 0;
	packet << (uint16) 900;//thats the damage the structure 
                               //has taken that gets deducted from its health
	
	packet << (uint16) 0;
	packet << (uint16) 1000;//Condi2 (right of the c1 / c2)
	packet << (uint16) 0;//(evtl 32bitCondi2 (right of the c1 / c2))
	packet << (uint8) 0; //probably 1 resource item
	packet << (uint8) 0; //probably 1 resource item
		
	packet << (uint32) 0; //amount
	packet << (uint32) 0; //amount

	
	return packet;