mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-07 19:42:26 +00:00
WIP zone header
This commit is contained in:
parent
7888fb2655
commit
da9a95fd83
@ -1969,6 +1969,121 @@ namespace Larion
|
|||||||
delete in;
|
delete in;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ENCODE(OP_CharInventory) {
|
||||||
|
//consume the packet
|
||||||
|
EQApplicationPacket* in = *p;
|
||||||
|
*p = nullptr;
|
||||||
|
|
||||||
|
if (!in->size) {
|
||||||
|
in->size = 4;
|
||||||
|
in->pBuffer = new uchar[in->size];
|
||||||
|
memset(in->pBuffer, 0, in->size);
|
||||||
|
|
||||||
|
dest->FastQueuePacket(&in, ack_req);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//store away the emu struct
|
||||||
|
uchar* __emu_buffer = in->pBuffer;
|
||||||
|
|
||||||
|
int item_count = in->size / sizeof(EQ::InternalSerializedItem_Struct);
|
||||||
|
if (!item_count || (in->size % sizeof(EQ::InternalSerializedItem_Struct)) != 0) {
|
||||||
|
Log(Logs::General, Logs::Netcode, "[STRUCTS] Wrong size on outbound %s: Got %d, expected multiple of %d",
|
||||||
|
opcodes->EmuToName(in->GetOpcode()), in->size, sizeof(EQ::InternalSerializedItem_Struct));
|
||||||
|
|
||||||
|
delete in;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
EQ::InternalSerializedItem_Struct* eq = (EQ::InternalSerializedItem_Struct*)in->pBuffer;
|
||||||
|
|
||||||
|
auto outapp = new EQApplicationPacket(OP_CharInventory, 4);
|
||||||
|
dest->FastQueuePacket(&outapp, ack_req);
|
||||||
|
|
||||||
|
delete in;
|
||||||
|
}
|
||||||
|
|
||||||
|
ENCODE(OP_NewZone) {
|
||||||
|
EQApplicationPacket* in = *p;
|
||||||
|
*p = nullptr;
|
||||||
|
|
||||||
|
unsigned char* __emu_buffer = in->pBuffer;
|
||||||
|
NewZone_Struct* emu = (NewZone_Struct*)__emu_buffer;
|
||||||
|
|
||||||
|
SerializeBuffer buffer;
|
||||||
|
/*
|
||||||
|
char Shortname[];
|
||||||
|
char Longname[];
|
||||||
|
char WeatherType[];
|
||||||
|
char WeatherTypeOverride[];
|
||||||
|
char SkyType[];
|
||||||
|
char SkyTypeOverride[];
|
||||||
|
*/
|
||||||
|
buffer.WriteString(emu->zone_short_name);
|
||||||
|
buffer.WriteString(emu->zone_long_name);
|
||||||
|
buffer.WriteString("");
|
||||||
|
buffer.WriteString("");
|
||||||
|
buffer.WriteString("");
|
||||||
|
buffer.WriteString("");
|
||||||
|
|
||||||
|
/*
|
||||||
|
s32 ZoneType;
|
||||||
|
s16 ZoneId;
|
||||||
|
s16 ZoneInstance;
|
||||||
|
float ZoneExpModifier;
|
||||||
|
s32 GroupLvlExpRelated;
|
||||||
|
s32 FilterID;
|
||||||
|
s32 Unknown1;
|
||||||
|
*/
|
||||||
|
buffer.WriteInt32(emu->ztype);
|
||||||
|
buffer.WriteInt16(emu->zone_id);
|
||||||
|
buffer.WriteInt16(emu->zone_instance);
|
||||||
|
buffer.WriteFloat(emu->zone_exp_multiplier);
|
||||||
|
buffer.WriteInt32(0);
|
||||||
|
buffer.WriteInt32(0);
|
||||||
|
buffer.WriteInt32(0);
|
||||||
|
|
||||||
|
//float FogDensity;
|
||||||
|
buffer.WriteFloat(emu->fog_density);
|
||||||
|
|
||||||
|
//WeatherState state[4];
|
||||||
|
for (int i = 0; i < 4; ++i) {
|
||||||
|
/*
|
||||||
|
float FogStart;
|
||||||
|
float FogEnd;
|
||||||
|
u8 FogRed;
|
||||||
|
u8 FogGreen;
|
||||||
|
u8 FogBlue;
|
||||||
|
u8 RainChance;
|
||||||
|
u8 RainDuration;
|
||||||
|
u8 SnowChance;
|
||||||
|
u8 SnowDuration;
|
||||||
|
*/
|
||||||
|
|
||||||
|
buffer.WriteFloat(emu->fog_minclip[i]);
|
||||||
|
buffer.WriteFloat(emu->fog_maxclip[i]);
|
||||||
|
buffer.WriteUInt8(emu->fog_red[i]);
|
||||||
|
buffer.WriteUInt8(emu->fog_green[i]);
|
||||||
|
buffer.WriteUInt8(emu->fog_blue[i]);
|
||||||
|
buffer.WriteUInt8(emu->rain_chance[i]);
|
||||||
|
buffer.WriteUInt8(emu->rain_duration[i]);
|
||||||
|
buffer.WriteUInt8(emu->snow_chance[i]);
|
||||||
|
buffer.WriteUInt8(emu->snow_duration[i]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
u8 PrecipitationType;
|
||||||
|
float BloomIntensity;
|
||||||
|
float ZoneGravity;
|
||||||
|
s32 LavaDamage;
|
||||||
|
s32 MinLavaDamage;
|
||||||
|
*/
|
||||||
|
//buffer.WriteUInt8(emu->);
|
||||||
|
|
||||||
|
delete in;
|
||||||
|
}
|
||||||
|
|
||||||
// DECODE methods
|
// DECODE methods
|
||||||
|
|
||||||
DECODE(OP_ZoneEntry)
|
DECODE(OP_ZoneEntry)
|
||||||
|
|||||||
@ -11,6 +11,8 @@ E(OP_SpawnAppearance)
|
|||||||
E(OP_PlayerProfile)
|
E(OP_PlayerProfile)
|
||||||
E(OP_ZoneEntry)
|
E(OP_ZoneEntry)
|
||||||
E(OP_ZoneSpawns)
|
E(OP_ZoneSpawns)
|
||||||
|
E(OP_CharInventory)
|
||||||
|
E(OP_NewZone)
|
||||||
|
|
||||||
//list of packets we need to decode on the way in:
|
//list of packets we need to decode on the way in:
|
||||||
D(OP_ZoneEntry)
|
D(OP_ZoneEntry)
|
||||||
|
|||||||
@ -246,6 +246,8 @@ namespace Larion {
|
|||||||
signed x : 19;
|
signed x : 19;
|
||||||
unsigned pad4 : 13;
|
unsigned pad4 : 13;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#pragma pack()
|
#pragma pack()
|
||||||
|
|
||||||
}; //end namespace structs
|
}; //end namespace structs
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user