|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum) |

04-14-2012, 11:27 AM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
This is proof coffee is the nectar of the gods. I had another cup and saw there was an error when I copied the zone file over.....dohhhh.
I am in. Screenshots to ensue.
|
 |
|
 |

04-14-2012, 11:43 AM
|
Opcode Ninja
|
|
Join Date: Mar 2009
Location: San francisco
Posts: 426
|
|
provocating
I hope the examples of code help you if you see / remove them. in patches directory you should see
Voa.cpp
Voa.h
Voa_itemfields.h
Voa_ops.h
Voa.structs.h
this is for world common/patches directory patches.cpp
Code:
#include "../debug.h"
#include "patches.h"
#include "Client62.h"
#include "Titanium.h"
#include "Anniversary.h"
#include "Underfoot.h"
#include "SoF.h"
#include "SoD.h"
#include "HoT.h"
#include "VoA.h"
void RegisterAllPatches(EQStreamIdentifier &into) {
Client62::Register(into);
Titanium::Register(into);
Anniversary::Register(into);
SoF::Register(into);
SoD::Register(into);
Underfoot::Register(into);
HoT::Register(into);
VoA::Register(into);
}
void ReloadAllPatches() {
Client62::Reload();
Titanium::Reload();
Anniversary::Reload();
SoF::Reload();
SoD::Reload();
Underfoot::Reload();
HoT::Reload();
VoA::Reload();
}
common directory eq_constants.h
Code:
*/
#ifndef EQ_CONSTANTS_H
#define EQ_CONSTANTS_H
#define BIT_Client62 1
#define BIT_Titanium 2
#define BIT_Anniversary 4
#define BIT_SoF 5
#define BIT_SoD 8
#define BIT_Underfoot 16
#define BIT_HoT 16
#define BIT_VoA 16
#define BIT_TitaniumAndEarlier 3
#define BIT_AnniversaryAndLater 0xFFFFFFFC
#define BIT_SoFAndLater 0xFFFFFFFC
#define BIT_SoDAndLater 0xFFFFFFF8
#define BIT_UnderfootAndLater 0xFFFFFFF0
#define BIT_HoTAndLater 0xFFFFFFF0
#define BIT_VoAAndLater 0xFFFFFFF0
#define BIT_AllClients 0xFFFFFFFF
world clientlist.cpp
Code:
void ClientList::SendClientVersionSummary(const char *Name)
{
uint32 Client62Count = 0;
uint32 ClientTitaniumCount = 0;
uint32 ClientAnniversaryCount = 0;
uint32 ClientSoFCount = 0;
uint32 ClientSoDCount = 0;
uint32 ClientUnderfootCount = 0;
uint32 ClientHoTCount = 0;
uint32 ClientVoACount = 0;
LinkedListIterator<ClientListEntry*> Iterator(clientlist);
Iterator.Reset();
while(Iterator.MoreElements())
{
ClientListEntry* CLE = Iterator.GetData();
if(CLE && CLE->zone())
{
switch(CLE->GetClientVersion())
{
case 1:
{
++Client62Count;
break;
}
case 2:
{
++ClientTitaniumCount;
break;
}
case 3:
{
++ClientAnniversaryCount;
break;
}
case 4:
{
++ClientSoFCount;
break;
}
case 5:
{
++ClientSoDCount;
break;
}
case 6:
{
++ClientUnderfootCount;
break;
}
case 7:
{
++ClientHoTCount;
break;
}
case 8:
{
++ClientVoACount;
break;
}
default:
break;
}
}
Iterator.Advance();
}
zoneserver_list.SendEmoteMessage(Name, 0, 0, 13, "There are %i 6.2, %i Titanium, %i Anniversary, %i SoF, %i SoD, %i UF, %i HoT, %i VoA clients currently connected.",
Client62Count, ClientTitaniumCount, ClientAnniversaryCount, ClientSoFCount, ClientSoDCount, ClientUnderfootCount, ClientHoTCount, ClientVoACount);
}
this is for zone
bot.h
Code:
typedef enum EqExpansions {
ExpansionNone,
ExpansionEQ,
ExpansionRoK,
ExpansionSoV,
ExpansionSoL,
ExpansionPoP,
ExpansionLoY,
ExpansionLDoN,
ExpansionGoD,
ExpansionOoW,
ExpansionDoN,
ExpansionDoDH,
ExpansionPoR,
ExpansionTSS,
ExpansionAnV,
ExpansionSoF,
ExpansionSoD,
ExpansionUF,
ExpansionHoT,
ExpansionVoA
};
client.h
Code:
typedef enum {
EQClientUnknown = 0,
EQClient62,
EQClientTitanium,
EQClientAnniversary,
EQClientSoF,
EQClientSoD,
EQClientUnderfoot,
EQClientHoT,
EQClientVoA
} EQClientVersion;
client_packet.cpp
Code:
void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app)
{
if(app->size != sizeof(ClientZoneEntry_Struct))
return;
ClientZoneEntry_Struct *cze = (ClientZoneEntry_Struct *) app->pBuffer;
if(strlen(cze->char_name) > 63)
return;
conn_state = ReceivedZoneEntry;
string StreamDescription = Connection()->Describe();
if(StreamDescription == "Patch Titanium")
{
ClientVersion = EQClientTitanium;
ClientVersionBit = BIT_Titanium;
}
else if(StreamDescription == "Patch 6.2")
{
ClientVersion = EQClient62;
ClientVersionBit = BIT_Client62;
}
else if(StreamDescription == "Patch Anniversary")
{
ClientVersion = EQClientAnniversary;
ClientVersionBit = BIT_Anniversary;
}
else if(StreamDescription == "Patch SoF")
{
ClientVersion = EQClientSoF;
ClientVersionBit = BIT_SoF;
}
else if(StreamDescription == "Patch SoD")
{
ClientVersion = EQClientSoD;
ClientVersionBit = BIT_SoD;
}
else if(StreamDescription == "Patch Underfoot")
{
ClientVersion = EQClientUnderfoot;
ClientVersionBit = BIT_Underfoot;
}
else if(StreamDescription == "Patch HoT")
{
ClientVersion = EQClientHoT;
ClientVersionBit = BIT_HoT;
}
else if(StreamDescription == "Patch VoA")
{
ClientVersion = EQClientVoA;
ClientVersionBit = BIT_VoA;
}
|
 |
|
 |

04-14-2012, 12:06 PM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
|

04-14-2012, 12:16 PM
|
Opcode Ninja
|
|
Join Date: Mar 2009
Location: San francisco
Posts: 426
|
|
world client.cpp
Code:
string StreamDescription = eqs->Describe();
if(StreamDescription == "Patch Titanium")
{
ClientVersionBit = BIT_Titanium;
}
else if(StreamDescription == "Patch 6.2")
{
ClientVersionBit = BIT_Client62;
}
else if(StreamDescription == "Patch Anniversary")
{
ClientVersionBit = BIT_Anniversary;
}
else if(StreamDescription == "Patch SoF")
{
ClientVersionBit = BIT_SoF;
}
else if(StreamDescription == "Patch SoD")
{
ClientVersionBit = BIT_SoD;
}
else if(StreamDescription == "Patch Underfoot")
{
ClientVersionBit = BIT_Underfoot;
}
else if(StreamDescription == "Patch HoT")
{
ClientVersionBit = BIT_HoT;
}
else if(StreamDescription == "Patch VoA")
{
ClientVersionBit = BIT_VoA;
}
}
|

04-14-2012, 12:17 PM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
Not sure if you are reading my threads as I am posting them NoPort, but I did get it working. There again you may be showing me what I need to know to get up to speed on how the client talks to the server, if so...definitely thank you.
EDIT
I am guessing I need to be reading this.
http://www.eqemulator.net/wiki/wikka...=PacketStructs
|

04-14-2012, 01:41 PM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
I have spent the last 30 minutes reading the wiki on packet structures, pretty easy to understand. A lot of it is redundant from learning packets studying for classes at work. The primitives I already knew from a little C++ and more from C# from what I use at work.
I have got to get the normal daily stuff done here but later this afternoon I plan on getting some PCAPS and observing them as the packets come in. I also learn better from hands on, you can only get so much from reading. Actually doing it help enforce what you read anyway.
|

04-14-2012, 02:58 PM
|
Opcode Ninja
|
|
Join Date: Mar 2009
Location: San francisco
Posts: 426
|
|
|

04-14-2012, 04:21 PM
|
 |
Demi-God
|
|
Join Date: May 2007
Location: b
Posts: 1,449
|
|
Trevius, the updates you made to items today fixed my issue with them.
Also, I sent you a packet log of the gold membership options to help identify those fields.
Am ingame and things are optimal now, so good stuff!
If anyone would like to see our progress, Secrets VoA test is ready for the latest live client.
|

04-14-2012, 04:38 PM
|
Sarnak
|
|
Join Date: Jan 2008
Posts: 67
|
|
slight problem character creation still does not work all the races/classes are still locked out i so loath the little sc icon lol.
|

04-14-2012, 04:49 PM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
Quote:
Originally Posted by xinu
i so loath the little sc icon lol.
|
Yeah me too.
Traitor bastards. How could they turn EQ into what they have.
Also has anyone noticed that when you create a character, you see to have no option for TutorialB ? I created an Iksar Monk, had the option for Cab or Crescent. I was able to create my character just fine and zone into Crescent, no crashes etc.
|

04-14-2012, 05:55 PM
|
 |
Demi-God
|
|
Join Date: May 2007
Location: b
Posts: 1,449
|
|
Quote:
Originally Posted by xinu
slight problem character creation still does not work all the races/classes are still locked out i so loath the little sc icon lol.
|
This was actually me screwing up my opcode copying script, lol. It's fixed now on my server, and if the issue was locally copy patch_VoA.conf to your folder.
|

04-14-2012, 09:18 PM
|
Sarnak
|
|
Join Date: Jan 2008
Posts: 67
|
|
Couple of things i've noticed so far.
1. Mend opcode may be wrong (never got it to work)
2. enviromental damage opcode may be wrong (went swimming in the lava)
3. current hp/end are about 25% less then max but will jump to 100% then back down
4. clicking off buffs remove the effect but not the spell icon.
5. Able to use click effects on items higher level then you are
6. Zoneing only says You have entered.
7. clicking on tradeskill object (stove etc etc) you get the sound but it does not open and locks the interface till you camp.
|

04-14-2012, 10:58 PM
|
 |
Administrator
|
|
Join Date: Feb 2009
Location: MN
Posts: 2,072
|
|
Just a few notes for us:
Noticed that slots with cursors are a bit hosed yet.
If you summon a few different items to your cursor stack they get lost after you free up the top level slot. Whenever you zone to another zone, the next one in line shows up and you continually have to repeat the process to get to the bottom of the stack.
When items get held up like this the client still knows you have the items when you try to summon another lore.
AA's obviously aren't sending
Health display issues are another obvious issue.
Other than that it's looking good!

|
 |
|
 |

04-15-2012, 05:20 AM
|
Sarnak
|
|
Join Date: Jan 2009
Location: Virginia
Posts: 51
|
|
So I logged on to Live earlier while waiting for something to pop on P99. Was on briefly to explore the new features on VoA that didn't exist in Underfoot. Maybe help you guys populate that list (May go back and packet collect some of them later) when I discovered an amazing feature.
Ladies and Gentlemen let me introduce you to....the Extended Target Window:
Link to Info here (Don't ask why it's on Free Realms Support. I just Googled it to try to find out how to get it open)
Basically to shorten it's description down. The window has 5 extra "Target" slots. They display hp and can be set to display mana/end akin to the Group Window. It's tied into the new Group Roles system of the Group Window. Assign a player to Main Tank role and then assign one of the 5 slots to "Main Tank" and it will display Main Tank's target. Can also display your own etc (list of options in the link provided. In the Screenshot)
Here's the thing that caught my eye though...says this was actually released with Underfoot. At this moment my pants shrunk a couple inches as I logged on my UF client on PEQ to try to get it open. I followed instructions, EQ Button>Actions>Extended Target...nothing there. So tried the slash command. "/xtarget on" and got this response:
"In order to gain access to this feature, you must purchase the Everquest expansion: Underfoot"
Gave the same response on the VoA client so I doubt it's because it was released after the Steam UF client went live. I guess it's possible though
Either way, looks like it would have to be 'hacked' into the UF/VoA clients by telling the client you own that expansion just to get it to open. Kinda like how Secrets got the VoA client to respond to Gold Membership. Likely has some missing packets to even get it working anyway.
Just a heads up, looks like we missed something :P Something cool at that!. I may go back and packet collect a player using this and a few of the new features on VoA (The revamped merchant window and this new "Zone Explorer" are of particular interest) if you guys would like...
-Danyelle
__________________
Rainbowdash Spectrum - 54 Dark Elf Magician - P99
Rainbowdash Poxleitner - 100 Dark Elf Magician - Live/Test
Miku X'Lottl - Vet Rank 11 Khajiit Nightblade - ESO
|
 |
|
 |
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 03:04 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |