You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(18) |
Oct
(11) |
Nov
(9) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
(6) |
Mar
|
Apr
(10) |
May
(38) |
Jun
(15) |
Jul
(32) |
Aug
|
Sep
(17) |
Oct
(11) |
Nov
|
Dec
(14) |
2006 |
Jan
(2) |
Feb
(5) |
Mar
(3) |
Apr
(2) |
May
(3) |
Jun
(7) |
Jul
|
Aug
|
Sep
(3) |
Oct
(2) |
Nov
(6) |
Dec
(3) |
2007 |
Jan
|
Feb
(17) |
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
(11) |
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
(6) |
Jul
|
Aug
|
Sep
(6) |
Oct
(4) |
Nov
(1) |
Dec
|
2009 |
Jan
(3) |
Feb
(2) |
Mar
(4) |
Apr
|
May
(4) |
Jun
(3) |
Jul
|
Aug
(5) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
(6) |
2010 |
Jan
|
Feb
(6) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(8) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
(5) |
2013 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
(2) |
Dec
(2) |
2014 |
Jan
(3) |
Feb
(2) |
Mar
(3) |
Apr
(4) |
May
(4) |
Jun
(3) |
Jul
(4) |
Aug
(5) |
Sep
|
Oct
(2) |
Nov
(5) |
Dec
(2) |
2015 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(10) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
(2) |
Sep
(2) |
Oct
(3) |
Nov
(4) |
Dec
(2) |
2017 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
(4) |
May
(2) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2018 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
(2) |
May
(2) |
Jun
(2) |
Jul
(8) |
Aug
(2) |
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
(6) |
2019 |
Jan
(2) |
Feb
(2) |
Mar
(2) |
Apr
(4) |
May
(2) |
Jun
(3) |
Jul
(3) |
Aug
(2) |
Sep
(2) |
Oct
(13) |
Nov
(6) |
Dec
(4) |
2020 |
Jan
(7) |
Feb
(7) |
Mar
(7) |
Apr
(8) |
May
(5) |
Jun
(3) |
Jul
(10) |
Aug
(4) |
Sep
|
Oct
(37) |
Nov
(30) |
Dec
(8) |
2021 |
Jan
(14) |
Feb
(9) |
Mar
(7) |
Apr
(17) |
May
(3) |
Jun
(10) |
Jul
(7) |
Aug
(3) |
Sep
(3) |
Oct
(4) |
Nov
(15) |
Dec
(22) |
2022 |
Jan
(3) |
Feb
(3) |
Mar
(3) |
Apr
(3) |
May
(3) |
Jun
(3) |
Jul
(3) |
Aug
(5) |
Sep
(6) |
Oct
(4) |
Nov
(34) |
Dec
(17) |
2023 |
Jan
(3) |
Feb
(3) |
Mar
(29) |
Apr
(2) |
May
(18) |
Jun
(12) |
Jul
(12) |
Aug
(2) |
Sep
(7) |
Oct
(2) |
Nov
(2) |
Dec
(2) |
2024 |
Jan
(2) |
Feb
(10) |
Mar
(17) |
Apr
(6) |
May
(3) |
Jun
(9) |
Jul
(22) |
Aug
(48) |
Sep
(3) |
Oct
(2) |
Nov
(2) |
Dec
(8) |
2025 |
Jan
(3) |
Feb
(2) |
Mar
(9) |
Apr
(7) |
May
(3) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Chad M. <cmm...@us...> - 2005-09-21 13:58:03
|
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26153/src Modified Files: races.h Log Message: Fixed opcode for ItemPacket. Added in races from the .exe for DoD. Index: races.h =================================================================== RCS file: /cvsroot/seq/showeq/src/races.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- races.h 14 Sep 2005 04:15:03 -0000 1.12 +++ races.h 21 Sep 2005 13:57:48 -0000 1.13 @@ -462,22 +462,24 @@ NULL, // 453 NULL, // 454 "Kobold", // 455 - NULL, // 456 - NULL, // 457 - NULL, // 458 - NULL, // 459 - NULL, // 460 - NULL, // 461 - NULL, // 462 - NULL, // 463 - NULL, // 464 - NULL, // 465 - NULL, // 466 - NULL, // 467 - NULL, // 468 - NULL, // 469 - NULL, // 470 - NULL, // 471 + "Sporali", // 456 + "Clockwork Gnome", // 457 + "Orc", // 458 + "Corathus", // 459 + "Coral", // 460 + "Drachnid", // 461 + "Drachnid Cocoon", // 462 + "Fungus Patch", // 463 + "Gargoyle", // 464 + "Witheran", // 465 + "Dark Lord", // 466 + "Shiliskin", // 467 + "Snake", // 468 + "Evil Eye", // 469 + "Minotaur", // 470 + "Zombie", // 471 "Clockwork Boar", // 472 + "Fairy", // 473 + "Korlach Boss", // 474 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ |
From: Chad M. <cmm...@us...> - 2005-09-21 13:58:02
|
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26153 Modified Files: ChangeLog Log Message: Fixed opcode for ItemPacket. Added in races from the .exe for DoD. Index: ChangeLog =================================================================== RCS file: /cvsroot/seq/showeq/ChangeLog,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ChangeLog 18 Sep 2005 14:40:04 -0000 1.6 +++ ChangeLog 21 Sep 2005 13:57:47 -0000 1.7 @@ -1,10 +1,11 @@ Version: $Id$ $Name$ -purple (09/18/05) +purple (09/21/05) + Fixed item links in the terminal and message window so they match correctly based on the new item link format (thanks to ksmith and EQItems for all their great open info about items in EQ and being very on the ball with the last patch) ++ New races from .exe purple (09/17/05) ------------------- |
From: Chad M. <cmm...@us...> - 2005-09-18 14:40:13
|
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21991/src Modified Files: messagewindow.cpp terminal.cpp Log Message: Updated item links to the new format. Index: messagewindow.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/messagewindow.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- messagewindow.cpp 13 Sep 2005 15:23:12 -0000 1.2 +++ messagewindow.cpp 18 Sep 2005 14:40:05 -0000 1.3 @@ -404,7 +404,7 @@ m_dateTimeFormat("hh:mm"), m_eqDateTimeFormat("ddd M/d/yyyy h:mm"), m_typeStyles(0), - m_itemPattern("\022(\\d{5,7})\\w*-\\d+-\\d+-\\d+-\\d+-.{13}([^\022]+)\022"), + m_itemPattern("\022\\d(.{5}).{39}([^\022]+)\022"), m_lockedText(false), m_displayType(true), m_displayDateTime(false), Index: terminal.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/terminal.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- terminal.cpp 13 Sep 2005 15:23:14 -0000 1.2 +++ terminal.cpp 18 Sep 2005 14:40:05 -0000 1.3 @@ -63,7 +63,7 @@ : QObject(parent, name), m_messages(messages), m_enabledTypes(0xFFFFFFFFFFFFFFFFULL), - m_itemPattern("\022(\\d{5,7})\\w*-\\d+-\\d+-\\d+-\\d+-.{13}([^\022]+)\022"), m_dateTimeFormat("hh:mm"), + m_itemPattern("\022\\d(.{5}).{39}([^\022]+)\022"), m_eqDateTimeFormat("ddd M/d/yyyy h:mm"), m_displayType(true), m_displayDateTime(false), |
From: Chad M. <cmm...@us...> - 2005-09-18 14:40:13
|
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21991 Modified Files: ChangeLog Log Message: Updated item links to the new format. Index: ChangeLog =================================================================== RCS file: /cvsroot/seq/showeq/ChangeLog,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- ChangeLog 18 Sep 2005 04:10:16 -0000 1.5 +++ ChangeLog 18 Sep 2005 14:40:04 -0000 1.6 @@ -1,5 +1,11 @@ Version: $Id$ $Name$ +purple (09/18/05) ++ Fixed item links in the terminal and message window so they match correctly + based on the new item link format (thanks to ksmith and EQItems for + all their great open info about items in EQ and being very on the ball + with the last patch) + purple (09/17/05) ------------------- + Updated version to 5.1.0.0 |
From: Chad M. <cmm...@us...> - 2005-09-18 04:10:25
|
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11386/src Modified Files: everquest.h map.cpp messageshell.cpp player.cpp Log Message: Finished mapping charProfileStruct. Index: player.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/player.cpp,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- player.cpp 14 Sep 2005 04:15:03 -0000 1.46 +++ player.cpp 18 Sep 2005 04:10:16 -0000 1.47 @@ -351,11 +351,8 @@ m_maxExp = calc_exp(m_level, m_race, m_class); m_tickExp = (m_maxExp - m_minExp) / 330; -#if 0 - // Removed from PP 9/13/2005? %%% m_currentExp = player->exp; m_currentAltExp = player->expAA; -#endif m_currentAApts = player->aa_spent; emit expChangedInt (m_currentExp, m_minExp, m_maxExp); Index: map.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/map.cpp,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- map.cpp 17 Sep 2005 01:47:55 -0000 1.42 +++ map.cpp 18 Sep 2005 04:10:16 -0000 1.43 @@ -1492,6 +1492,9 @@ tmpPrefString = "CacheAlwaysRepaint"; m_mapCache.setAlwaysRepaint(pSEQPrefs->getPrefBool(tmpPrefString, prefString, false)); + tmpPrefString = "PvP"; + m_pvp = pSEQPrefs->getPrefBool(tmpPrefString, prefString, false); + tmpPrefString = "DeityPvP"; m_deityPvP = pSEQPrefs->getPrefBool(tmpPrefString, prefString, false); @@ -3622,7 +3625,7 @@ { int levelDiff = m_player->level() - spawn->level(); - if (levelDiff < 5) + if (abs(levelDiff) < 5) { // Gank away! mapIcon.combine(m_mapIcons->icon(tIconTypeSpawnPlayerPvPEnabled)); @@ -3651,7 +3654,7 @@ { int levelDiff = m_player->level() - owner->level(); - if (levelDiff < 5) + if (abs(levelDiff) < 5) { // Gank away! Add color circle. mapIcon.combine(m_mapIcons->icon(tIconTypeSpawnPetPvPEnabled)); Index: everquest.h =================================================================== RCS file: /cvsroot/seq/showeq/src/everquest.h,v retrieving revision 1.82 retrieving revision 1.83 diff -u -d -r1.82 -r1.83 --- everquest.h 17 Sep 2005 01:47:55 -0000 1.82 +++ everquest.h 18 Sep 2005 04:10:16 -0000 1.83 @@ -108,7 +108,7 @@ #define MAX_GROUP_MEMBERS 6 #define MAX_BUFFS 25 #define MAX_GUILDS 1500 -#define MAX_AA 240 +#define MAX_AA 239 #define MAX_BANDOLIERS 4 #define MAX_POTIONS_IN_BELT 4 #define MAX_TRIBUTES 5 @@ -307,6 +307,34 @@ MAX_LEAD_AA //=32 }; +/** + * Recast timer types. Used as an off set to charProfileStruct timers. + */ +enum RecastTypes +{ + RecastTimer0 = 0, + RecastTimer1, + WeaponHealClickTimer, // 2 + MuramiteBaneNukeClickTimer, // 3 + RecastTimer4, + DispellClickTimer, // 5 (also click heal orbs?) + EpicTimer, // 6 + OoWBPClickTimer, // 7 + VishQuestClassItemTimer, // 8 + HealPotionTimer, // 9 + RecastTimer10, + RecastTimer11, + RecastTimer12, + RecastTimer13, + RecastTimer14, + RecastTimer15, + RecastTimer16, + RecastTimer17, + RecastTimer18, + ModRodTimer, // 19 + MAX_RECAST_TYPES // 20 +}; + /* ** Compiler override to ensure @@ -560,26 +588,32 @@ */ struct charProfileStruct { -/*00000*/ uint32_t checksum; // -/*00004*/ uint32_t gender; // Player Gender - 0 Male, 1 Female -/*00008*/ uint32_t race; // Player race -/*00012*/ uint32_t class_; // Player class -/*00016*/ uint32_t unknown00016; // ***Placeholder -/*00020*/ uint8_t level; // Level of player -/*00021*/ uint8_t level1; // Level of player (again?) -/*00022*/ uint8_t unknown00022[2]; // ***Placeholder -/*00024*/ BindStruct binds[5]; // Bind points (primary is first) -/*00124*/ uint32_t deity; // deity -/*00128*/ uint8_t unknown00128[60]; -/*00188*/ uint32_t item_material[9]; // Item texture/material of worn items +/*00000*/ uint32_t checksum; // +/*00004*/ uint32_t gender; // Player Gender - 0 Male, 1 Female +/*00008*/ uint32_t race; // Player race +/*00012*/ uint32_t class_; // Player class +/*00016*/ uint32_t unknown00016; // ***Placeholder +/*00020*/ uint8_t level; // Level of player +/*00021*/ uint8_t level1; // Level of player (again?) +/*00022*/ uint8_t unknown00022[2]; // ***Placeholder +/*00024*/ BindStruct binds[5]; // Bind points (primary is first) +/*00124*/ uint32_t deity; // deity +/*00128*/ uint32_t intoxication; // Alcohol level (in ticks till sober?) +/*00132*/ uint32_t spellSlotRefresh[MAX_SPELL_SLOTS]; // Refresh time (millis) +/*00168*/ uint8_t unknown0166[4]; +/*00172*/ uint8_t haircolor; // Player hair color +/*00173*/ uint8_t beardcolor; // Player beard color +/*00174*/ uint8_t eyecolor1; // Player left eye color +/*00175*/ uint8_t eyecolor2; // Player right eye color +/*00176*/ uint8_t hairstyle; // Player hair style +/*00177*/ uint8_t beard; // Player beard type +/*00178*/ uint8_t unknown00178[10]; +/*00188*/ uint32_t item_material[9]; // Item texture/material of worn items /*00224*/ uint8_t unknown00224[48]; -/*00272*/ Color_Struct item_tint[9]; // RR GG BB 00 -/*00308*/ AA_Array aa_array[MAX_AA]; // AAs - -#if 0 - // aa_array and points overlap... %%% +/*00272*/ Color_Struct item_tint[9]; // RR GG BB 00 +/*00308*/ AA_Array aa_array[MAX_AA]; // AAs +/*02220*/ uint8_t unknown02220[4]; /*02224*/ uint32_t points; // Unspent Practice points -#endif /*02228*/ uint32_t MANA; // Current MANA /*02232*/ uint32_t curHp; // Current HP without +HP equipment /*02236*/ uint32_t STR; // Strength @@ -589,7 +623,8 @@ /*02252*/ uint32_t INT; // Intelligence /*02256*/ uint32_t AGI; // Agility /*02260*/ uint32_t WIS; // Wisdom -/*02264*/ uint8_t unknown02264[48]; +/*02264*/ uint8_t face; // Player face +/*02265*/ uint8_t unknown02264[47]; /*02312*/ int32_t sSpellBook[400]; // List of the Spells in spellbook /*03912*/ uint8_t unknown4184[448]; // all 0xff after last spell /*04360*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized @@ -603,11 +638,17 @@ /*04452*/ uint32_t silver_cursor; // Silver Pieces on cursor /*04456*/ uint32_t copper_cursor; // Copper Pieces on cursor /*04460*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills -/*04760*/ uint8_t unknown04760[748]; -/*05508*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player -/*06008*/ uint8_t unknown06008[144]; -/*06152*/ uint32_t aa_spent; // Number of spent AA points -/*06156*/ uint32_t aa_unspent; // Unspent AA points +/*04760*/ uint8_t unknown04760[236]; +/*04996*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) +/*05000*/ uint32_t thirst; // Drink (ticks till next drink) +/*05004*/ uint32_t hunger; // Food (ticks till next eat) +/*05008*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player +/*05508*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines +/*05708*/ uint8_t unknown05008[360]; +/*06068*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) +/*06148*/ uint32_t endurance; // Current endurance +/*06152*/ uint32_t aa_spent; // Number of spent AA points +/*06156*/ uint32_t aa_unspent; // Unspent AA points /*06160*/ uint8_t unknown06160[4]; /*06164*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents /*07444*/ uint8_t unknown07444[5120]; @@ -619,7 +660,13 @@ /*13040*/ uint32_t birthdayTime; // character birthday /*13044*/ uint32_t lastSaveTime; // character last save time /*13048*/ uint32_t timePlayedMin; // time character played -/*13052*/ uint8_t unknown13052[32]; +/*13052*/ uint8_t pvp; // 1=pvp, 0=not pvp +/*13053*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon +/*13054*/ uint8_t gm; // 0=no, 1=yes (guessing!) +/*13055*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader +/*13056*/ uint8_t unknown13054[12]; +/*13068*/ uint32_t exp; // Current Experience +/*13072*/ uint8_t unknown13072[12]; /*13084*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages /*13109*/ uint8_t unknown13109[7]; // All 0x00 (language buffer?) /*13116*/ float x; // Players x position @@ -634,12 +681,16 @@ /*13152*/ uint32_t platinum_shared; // Shared platinum pieces /*13156*/ uint8_t unknown13156[84]; /*13240*/ uint32_t expansions; // Bitmask for expansions -/*13244*/ uint8_t unknown13244[32]; +/*13244*/ uint8_t unknown13244[12]; +/*13256*/ uint32_t autosplit; // 0 = off, 1 = on +/*13260*/ uint8_t unknown13260[16]; /*13276*/ uint16_t zoneId; // see zones.h /*13278*/ uint16_t zoneInstance; // Instance id /*13280*/ char groupMembers[MAX_GROUP_MEMBERS][64];// all the members in group, including self /*13664*/ char groupLeader[64]; // Leader of the group ? -/*13728*/ uint8_t unknown13728[668]; +/*13728*/ uint8_t unknown13728[660]; +/*14388*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on +/*14392*/ uint8_t unknown14392[4]; /*14396*/ uint32_t ldon_guk_points; // Earned GUK points /*14400*/ uint32_t ldon_mir_points; // Earned MIR points /*14404*/ uint32_t ldon_mmc_points; // Earned MMC points @@ -654,51 +705,35 @@ /*14568*/ uint32_t unknown7216; // *** Placeholder /*14572*/ uint32_t tributeActive; // 0 = off, 1=on /*14576*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout -/*14616*/ uint8_t unknown14616[4940]; -/*19556*/ uint32_t currentRadCrystals; // Current count of radiant crystals -/*19560*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever -/*19564*/ uint32_t currentEbonCrystals;// Current count of ebon crystals -/*19568*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever -/*19572*/ uint8_t groupAutoconsent; // 0=off, 1=on -/*19573*/ uint8_t raidAutoconsent; // 0=off, 1=on -/*19574*/ uint8_t guildAutoconsent; // 0=off, 1=on -/*19575*/ uint8_t unknown19575[5]; // ***Placeholder (6/29/2005) -/*19580*/ uint32_t unknown19580; // *** Placeholder +/*14616*/ uint8_t unknown14616[8]; +/*14624*/ uint32_t expGroupLeadAA; // Current group lead exp points (format though??) +/*14628*/ uint32_t unknown14628; +/*14632*/ uint32_t expRaidLeadAA; // Current raid lead AA exp points (format though??) +/*14636*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points +/*14640*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points +/*14644*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks +/*14772*/ uint8_t unknown14772[128]; +/*14900*/ uint32_t airRemaining; // Air supply (seconds) +/*14904*/ uint8_t unknown14904[4608]; +/*19512*/ uint32_t expAA; // Exp earned in current AA point +/*19516*/ uint8_t unknown19516[40]; +/*19556*/ uint32_t currentRadCrystals; // Current count of radiant crystals +/*19560*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever +/*19564*/ uint32_t currentEbonCrystals; // Current count of ebon crystals +/*19568*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever +/*19572*/ uint8_t groupAutoconsent; // 0=off, 1=on +/*19573*/ uint8_t raidAutoconsent; // 0=off, 1=on +/*19574*/ uint8_t guildAutoconsent; // 0=off, 1=on +/*19575*/ uint8_t unknown19575[5]; // ***Placeholder (6/29/2005) +/*19580*/ uint32_t unknown19580; // *** Placeholder /*19584*/ }; #if 0 -/*0240*/ uint8_t pvp; // 1=pvp, 0=not pvp -/*0242*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon -/*0243*/ uint8_t gm; // 0=no, 1=yes -/*0244*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader -/*0252*/ uint32_t intoxication; // Alcohol level (in ticks till sober?) -/*0256*/ uint32_t spellSlotRefresh[MAX_SPELL_SLOTS]; // Refresh time (millis) -/*0296*/ uint8_t haircolor; // Player hair color -/*0297*/ uint8_t beardcolor; // Player beard color -/*0298*/ uint8_t eyecolor1; // Player left eye color -/*0299*/ uint8_t eyecolor2; // Player right eye color -/*0300*/ uint8_t hairstyle; // Player hair style -/*0301*/ uint8_t beard; // Player beard type +// The following seem to be totally gone from charProfileStruct (9/13/05) /*2384*/ char title[32]; // Current character title /*2352*/ char servername[32]; // server the char was created on /*2416*/ char suffix[32]; // Current character suffix -/*2452*/ uint32_t exp; // Current Experience -/*2504*/ uint8_t face; // Player face -/*5408*/ uint32_t autosplit; // 0 = off, 1 = on -/*5420*/ uint32_t saveCounter; // Number of times your char has saved -/*5456*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) -/*5476*/ uint32_t hunger; // Food (ticks till next eat) -/*5480*/ uint32_t thirst; // Drink (ticks till next drink) -/*7264*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines -/*7904*/ uint32_t endurance; // Current endurance -/*7908*/ uint32_t expGroupLeadAA; // Current group lead AA exp (0-1000) -/*7912*/ uint32_t expRaidLeadAA; // Current raid lead AA exp (0-2000) -/*7916*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points -/*7920*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points -/*7924*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks -/*8184*/ uint32_t airRemaining; // Air supply (seconds) -/*12800*/ uint32_t expAA; // Exp earned in current AA point #endif #if 1 @@ -1768,6 +1803,23 @@ /*0012*/ }; +/** + * Leadership AA update + * Length: 32 Octets + * OpCode: LeadExpUpdate + */ +struct leadExpUpdateStruct +{ +/*0000*/ uint32_t unknown0000; // All zeroes? +/*0004*/ uint32_t groupLeadExp; // Group leadership exp value +/*0008*/ uint32_t unspentGroupPoints; // Unspent group points +/*0012*/ uint32_t unknown0012; // Type? +/*0016*/ uint32_t unknown0016; // All zeroes? +/*0020*/ uint32_t raidLeadExp; // Raid leadership exp value +/*0024*/ uint32_t unspentRaidPoints; // Unspent raid points +/*0028*/ uint32_t unknown0028; +}; + /* ** Player Spawn Update ** Length: 9 Octets Index: messageshell.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/messageshell.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- messageshell.cpp 14 Sep 2005 04:15:03 -0000 1.3 +++ messageshell.cpp 18 Sep 2005 04:10:16 -0000 1.4 @@ -689,16 +689,9 @@ const charProfileStruct* player = (const charProfileStruct*)data; QString message; -#if 0 - message.sprintf("Name: '%s' Last: '%s' Title: '%s' Suffix: '%s'", - player->name, player->lastName, player->title, player->suffix); - m_messages->addMessage(MT_Player, message); -#else - //%%% title and suffix gone 9/13/2005? message.sprintf("Name: '%s' Last: '%s'", player->name, player->lastName); m_messages->addMessage(MT_Player, message); -#endif message.sprintf("Level: %d", player->level); m_messages->addMessage(MT_Player, message); @@ -726,8 +719,6 @@ player->currentRadCrystals, player->currentEbonCrystals); m_messages->addMessage(MT_Player, message); -#if 0 - // Exp gone from PP 9/13/2005? %%% message = "Exp: " + Commanate(player->exp); m_messages->addMessage(MT_Player, message); @@ -736,13 +727,17 @@ ", aa unspent: " + Commanate(player->aa_unspent) + ")"; m_messages->addMessage(MT_Player, message); - message.sprintf("GroupLeadAA: %.1f%% (unspent: %d)", - (player->expGroupLeadAA)/10.0, player->groupLeadAAUnspent); +#if 0 + // Format for the aa values used to 0-1000 for group, 0-2000 for raid, + // but now it's different. Just drop it for now. %%% + message = "GroupLeadAA: " + Commanate(player->expGroupLeadAA) + + " (unspent: " + Commanate(player->groupLeadAAUnspent) + ")"; m_messages->addMessage(MT_Player, message); - message.sprintf("RaidLeadAA: %.1f%% (unspent: %d)", - (player->expRaidLeadAA)/20.0, player->raidLeadAAUnspent); + message = "RaidLeadAA: " + Commanate(player->expRaidLeadAA) + + " (unspent: " + Commanate(player->raidLeadAAUnspent) + ")"; m_messages->addMessage(MT_Player, message); #endif + message.sprintf("Group: %s %s %s %s %s %s", player->groupMembers[0], player->groupMembers[1], player->groupMembers[2], |
From: Chad M. <cmm...@us...> - 2005-09-18 04:10:24
|
Update of /cvsroot/seq/showeq/conf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11386/conf Modified Files: zoneopcodes.xml Log Message: Finished mapping charProfileStruct. Index: zoneopcodes.xml =================================================================== RCS file: /cvsroot/seq/showeq/conf/zoneopcodes.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- zoneopcodes.xml 13 Sep 2005 15:23:08 -0000 1.2 +++ zoneopcodes.xml 18 Sep 2005 04:10:16 -0000 1.3 @@ -763,4 +763,8 @@ <opcode id="5e51" name="OP_TGB" updated="06/29/05"> <comment>Client telling server to set targetgroupbuff</comment> </opcode> + <opcode id="7416" name="OP_LeaderExpUpdate" updated="06/29/05"> + <comment>Leadership AA Exp Update</comment> + <payload dir="server" typename="leadExpUpdateStruct" sizechecktype="match"/> + </opcode> </seqopcodes> |
From: Chad M. <cmm...@us...> - 2005-09-18 04:10:24
|
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11386 Modified Files: ChangeLog Log Message: Finished mapping charProfileStruct. Index: ChangeLog =================================================================== RCS file: /cvsroot/seq/showeq/ChangeLog,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ChangeLog 17 Sep 2005 01:47:55 -0000 1.4 +++ ChangeLog 18 Sep 2005 04:10:16 -0000 1.5 @@ -1,6 +1,6 @@ Version: $Id$ $Name$ -purple (09/16/05) +purple (09/17/05) ------------------- + Updated version to 5.1.0.0 + Found GM flag in spawnStruct @@ -8,6 +8,11 @@ flashing circle is blue for lower level, white for same level, yellow for higher level. All spawns outside +/-4 are normal. Pets are circled according to their owners) ++ Finished mapping charProfileStruct for post 9/13 ++ Removed output of leadership exp on zoning since the exp format changed and + wasn't immediately obvious ++ Added opcode for leadership exp update and simple struct. No handler. ++ Added some new stuff to charProfileStruct (timers, leadAAActive) purple (09/13/05) ------------------- |
From: Chad M. <cmm...@us...> - 2005-09-17 01:48:07
|
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16030 Modified Files: ChangeLog configure.in Log Message: Updated version to 5.1.0.0. Found GM in spawnStruct. Implemented map option for current Zek PvP rules. Index: ChangeLog =================================================================== RCS file: /cvsroot/seq/showeq/ChangeLog,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ChangeLog 14 Sep 2005 04:15:03 -0000 1.3 +++ ChangeLog 17 Sep 2005 01:47:55 -0000 1.4 @@ -1,5 +1,14 @@ Version: $Id$ $Name$ +purple (09/16/05) +------------------- ++ Updated version to 5.1.0.0 ++ Found GM flag in spawnStruct ++ Implemented PvP map option for current Zek rules (+/-4 are triangles, + flashing circle is blue for lower level, white for same level, yellow + for higher level. All spawns outside +/-4 are normal. Pets are circled + according to their owners) + purple (09/13/05) ------------------- + Updated version to 5.1.0.0-pre1 Index: configure.in =================================================================== RCS file: /cvsroot/seq/showeq/configure.in,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- configure.in 14 Sep 2005 04:15:03 -0000 1.56 +++ configure.in 17 Sep 2005 01:47:55 -0000 1.57 @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.1.0.0-pre1) +AC_INIT(showeq, 5.1.0.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM |
From: Chad M. <cmm...@us...> - 2005-09-17 01:48:06
|
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16030/src Modified Files: everquest.h map.cpp map.h mapicon.cpp mapicon.h Log Message: Updated version to 5.1.0.0. Found GM in spawnStruct. Implemented map option for current Zek PvP rules. Index: mapicon.h =================================================================== RCS file: /cvsroot/seq/showeq/src/mapicon.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- mapicon.h 13 Sep 2005 15:23:12 -0000 1.2 +++ mapicon.h 17 Sep 2005 01:47:55 -0000 1.3 @@ -81,6 +81,8 @@ tIconTypeSpawnPlayerCorpse, tIconTypeSpawnUnknown, tIconTypeSpawnConsidered, + tIconTypeSpawnPlayerPvPEnabled, + tIconTypeSpawnPetPvPEnabled, tIconTypeSpawnPlayerTeamBase, tIconTypeSpawnPlayerTeam1 = tIconTypeSpawnPlayerTeamBase, tIconTypeSpawnPlayerTeam2, Index: mapicon.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/mapicon.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- mapicon.cpp 13 Sep 2005 15:23:12 -0000 1.2 +++ mapicon.cpp 17 Sep 2005 01:47:55 -0000 1.3 @@ -59,6 +59,8 @@ "SpawnPlayerCorpse", "SpawnUnknown", "SpawnConsidered", + "SpawnPlayerPvPEnabled", + "SpawnPetPvPEnabled", "SpawnPlayerTeam1", "SpawnPlayerTeam2", "SpawnPlayerTeam3", @@ -95,6 +97,8 @@ "Spawn Player Corpse", "Spawn Unknown", "Spawn Considered", + "Spawn PvP Enabled Player", + "Spawn PvP Enabled Pet", "Spawn Player Team 1", "Spawn Player Team 2", "Spawn Player Team 3", @@ -597,6 +601,18 @@ .setHighlight(QBrush(NoBrush), QPen(red, 1, SolidLine, cap, join), tIconStyleSquare, tIconSizeLarge, true, false, false, false); + m_mapIcons[tIconTypeSpawnPlayerPvPEnabled] + .setHighlight(QBrush(NoBrush), QPen(red, 1, SolidLine, cap, join), + tIconStyleCircle, tIconSizeXLarge, + true, false, false, true); + m_mapIcons[tIconTypeSpawnPlayerPvPEnabled] + .setImage(QBrush(SolidPattern), QPen(magenta, 1, SolidLine, cap, join), + tIconStyleUpTriangle, tIconSizeRegular, + true, false, true, false); + m_mapIcons[tIconTypeSpawnPetPvPEnabled] + .setHighlight(QBrush(NoBrush), QPen(red, 1, SolidLine, cap, join), + tIconStyleCircle, tIconSizeXLarge, + true, false, false, true); m_mapIcons[tIconTypeSpawnPlayerTeam1] .setImage(QBrush(SolidPattern), QPen(magenta, 1, SolidLine, cap, join), tIconStyleUpTriangle, tIconSizeRegular, Index: map.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/map.cpp,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- map.cpp 13 Sep 2005 15:23:12 -0000 1.41 +++ map.cpp 17 Sep 2005 01:47:55 -0000 1.42 @@ -170,8 +170,8 @@ // MapLabel MapLabel::MapLabel( Map* map ) : QLabel(map, "mapLabel", - WStyle_Customize + WStyle_NoBorderEx + WStyle_Tool + WType_TopLevel - + WStyle_Dialog + WX11BypassWM) + WStyle_Customize + WStyle_NoBorderEx + WStyle_Tool + WType_TopLevel + + WStyle_Dialog + WX11BypassWM) { m_Map = map; setMargin( 1 ); @@ -227,8 +227,8 @@ [...1928 lines suppressed...] { mapMenu->setItemChecked(m_id_frameRate, m_frameRateBox->isVisible()); mapMenu->setItemChecked(m_id_pan, m_panBox->isVisible()); mapMenu->setItemChecked(m_id_depthControlRoom, - m_depthControlBox->isVisible()); + m_depthControlBox->isVisible()); } } @@ -4641,8 +4746,8 @@ // get new status font newFont = QFontDialog::getFont(&ok, - font(), - this, name); + font(), + this, name); // if the user clicked ok and selected a valid font, set it if (ok) Index: map.h =================================================================== RCS file: /cvsroot/seq/showeq/src/map.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- map.h 13 Sep 2005 15:23:12 -0000 1.21 +++ map.h 17 Sep 2005 01:47:55 -0000 1.22 @@ -240,6 +240,7 @@ void toggle_highlightConsideredSpawns(int itemId); void toggle_spawnNames(int itemId); void toggle_mapImage(int itemId); + void toggle_pvp(int itemId); void toggle_deityPvP(int itemId); void toggle_racePvP(int itemId); void toggle_walkPath(int itemId); @@ -305,6 +306,7 @@ int m_id_npcWalkPaths; int m_id_mapImage; int m_id_deityPvP; + int m_id_pvp; int m_id_racePvP; int m_id_zoneSafePoint; #ifdef DEBUG @@ -408,6 +410,7 @@ bool highlightConsideredSpawns() const { return m_highlightConsideredSpawns; } bool showTooltips() const { return m_showTooltips; } bool walkPathShowSelect() const { return m_walkpathshowselect; } + bool pvp() const { return m_pvp; } bool deityPvP() const { return m_deityPvP; } bool racePvP() const { return m_racePvP; } bool showZoneSafePoint() const { return m_showZoneSafePoint; } @@ -504,6 +507,7 @@ void setHighlightConsideredSpawns(bool val); void setShowTooltips(bool val); void setWalkPathShowSelect(bool val); + void setPvP(bool val); void setDeityPvP(bool val); void setRacePvP(bool val); @@ -643,6 +647,7 @@ bool m_highlightConsideredSpawns; bool m_showTooltips; bool m_walkpathshowselect; + bool m_pvp; bool m_deityPvP; bool m_racePvP; bool m_showZoneSafePoint; Index: everquest.h =================================================================== RCS file: /cvsroot/seq/showeq/src/everquest.h,v retrieving revision 1.81 retrieving revision 1.82 diff -u -d -r1.81 -r1.82 --- everquest.h 14 Sep 2005 04:15:03 -0000 1.81 +++ everquest.h 17 Sep 2005 01:47:55 -0000 1.82 @@ -883,8 +883,7 @@ /*0007*/ uint8_t eyecolor1; // Player's left eye color /*0008*/ uint8_t is_pet; // 0=no, 1=yes /*0009*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner -/*0013*/ uint8_t gm; // 0=no, 1=gm %%% Wrong but compile... -/*0014*/ uint8_t unknown0013[22]; +/*0013*/ uint8_t unknown0013[23]; /*0036*/ uint8_t afk; // 0=no, 1=afk /*0037*/ uint8_t eyecolor2; // Left eye color /*0038*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse,a @@ -917,7 +916,9 @@ /*0157*/ uint8_t hairstyle; // Hair style /*0158*/ uint8_t unknown0157[6]; /*0164*/ int8_t guildrank; // 0=normal, 1=officer, 2=leader -/*0165*/ uint8_t unknown0165[10]; +/*0165*/ uint8_t unknown0165[4]; +/*0169*/ uint8_t gm; // 0=no, 1=gm +/*0170*/ uint8_t unknown0170[5]; union { /*0175*/ int8_t equip_chest2; // Second place in packet for chest texture (usually 0xFF in live packets) |
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv468/src Modified Files: everquest.h interface.cpp messageshell.cpp player.cpp races.h spells_en2spellsh.pl staticspells.h zones.h Log Message: About 70% of what is needed for live compatibility for DoD expansion. charProfileStruct is about 75% done. Some code commented out in player.cpp and messageshell.cpp to reflect this, as some things seem gone from charProfileStruct now. Regenerated staticspells.h for new expansion. Updated zones for new expansion. Version = 5.1.0.0-pre1 Index: staticspells.h =================================================================== RCS file: /cvsroot/seq/showeq/src/staticspells.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- staticspells.h 13 Sep 2005 15:23:14 -0000 1.2 +++ staticspells.h 14 Sep 2005 04:15:03 -0000 1.3 @@ -31,7 +31,7 @@ /* 0x0013 - 19 */ { "Armor of Faith" }, /* 0x0014 - 20 */ { "Shield of Words" }, /* 0x0015 - 21 */ { "Berserker Strength" }, -/* 0x0016 - 22 */ { "Force Shock" }, +/* 0x0016 - 22 */ { "Dagger Frost" }, /* 0x0017 - 23 */ { "Force Strike" }, /* 0x0018 - 24 */ { "Strip Enchantment" }, /* 0x0019 - 25 */ { "Pillage Enchantment" }, @@ -381,7 +381,7 @@ /* 0x0171 - 369 */ { "Hungry Earth" }, /* 0x0172 - 370 */ { "Shadow Vortex" }, [...1937 lines suppressed...] +/* 0x20cb - 8395 */ { "Enduring Wrath" }, +/* 0x20cc - 8396 */ { "Voice of the Garou" }, +/* 0x20cd - 8397 */ { "Rite of Draygun" }, +/* 0x20ce - 8398 */ { "Final Reckoning" }, +/* 0x20cf - 8399 */ { "Spire Servant" }, +/* 0x20d0 - 8400 */ { "Guardian's Bolt II" }, +/* 0x20d1 - 8401 */ { "Guardian's Bolt III" }, +/* 0x20d2 - 8402 */ { "LowerElement II" }, +/* 0x20d3 - 8403 */ { "Force of Neran" }, +/* 0x20d4 - 8404 */ { "Master's Beckon" }, +/* 0x20d5 - 8405 */ { "Once Bitten" }, +/* 0x20d6 - 8406 */ { "Pyromancy" }, +/* 0x20d7 - 8407 */ { "Pyromancy" }, // -// Max SpellId: 0x19f1 = 6641 -// Number of Spells: 6433 -// Empty Entries: 208 +// Max SpellId: 0x20d8 = 8408 +// Number of Spells: 7833 +// Empty Entries: 575 Index: races.h =================================================================== RCS file: /cvsroot/seq/showeq/src/races.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- races.h 13 Sep 2005 15:23:13 -0000 1.11 +++ races.h 14 Sep 2005 04:15:03 -0000 1.12 @@ -462,5 +462,22 @@ NULL, // 453 NULL, // 454 "Kobold", // 455 + NULL, // 456 + NULL, // 457 + NULL, // 458 + NULL, // 459 + NULL, // 460 + NULL, // 461 + NULL, // 462 + NULL, // 463 + NULL, // 464 + NULL, // 465 + NULL, // 466 + NULL, // 467 + NULL, // 468 + NULL, // 469 + NULL, // 470 + NULL, // 471 + "Clockwork Boar", // 472 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ Index: messageshell.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/messageshell.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- messageshell.cpp 13 Sep 2005 15:23:12 -0000 1.2 +++ messageshell.cpp 14 Sep 2005 04:15:03 -0000 1.3 @@ -689,10 +689,17 @@ const charProfileStruct* player = (const charProfileStruct*)data; QString message; +#if 0 message.sprintf("Name: '%s' Last: '%s' Title: '%s' Suffix: '%s'", player->name, player->lastName, player->title, player->suffix); m_messages->addMessage(MT_Player, message); - +#else + //%%% title and suffix gone 9/13/2005? + message.sprintf("Name: '%s' Last: '%s'", + player->name, player->lastName); + m_messages->addMessage(MT_Player, message); +#endif + message.sprintf("Level: %d", player->level); m_messages->addMessage(MT_Player, message); @@ -719,6 +726,8 @@ player->currentRadCrystals, player->currentEbonCrystals); m_messages->addMessage(MT_Player, message); +#if 0 + // Exp gone from PP 9/13/2005? %%% message = "Exp: " + Commanate(player->exp); m_messages->addMessage(MT_Player, message); @@ -733,7 +742,7 @@ message.sprintf("RaidLeadAA: %.1f%% (unspent: %d)", (player->expRaidLeadAA)/20.0, player->raidLeadAAUnspent); m_messages->addMessage(MT_Player, message); - +#endif message.sprintf("Group: %s %s %s %s %s %s", player->groupMembers[0], player->groupMembers[1], player->groupMembers[2], Index: spells_en2spellsh.pl =================================================================== RCS file: /cvsroot/seq/showeq/src/spells_en2spellsh.pl,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- spells_en2spellsh.pl 13 Sep 2005 15:23:14 -0000 1.6 +++ spells_en2spellsh.pl 14 Sep 2005 04:15:03 -0000 1.7 @@ -20,7 +20,7 @@ use Unicode::String qw(latin1 utf16 ucs2 utf8); -$infile = "spells_en.txt"; +$infile = "spells_us.txt"; $outfile = "/tmp/staticspells.h"; # file fields Index: player.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/player.cpp,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- player.cpp 13 Sep 2005 15:23:13 -0000 1.45 +++ player.cpp 14 Sep 2005 04:15:03 -0000 1.46 @@ -280,13 +280,11 @@ showeq_params->walkpathlength ); setDeltas(0,0,0); -#if 1 // ZBTEMP seqDebug("Player::backfill(): Pos (%f/%f/%f) Heading: %f", player->x, player->y, player->z, player->heading); seqDebug("Player::backfill(bind): Pos (%f/%f/%f) Heading: %f", - player->bind_x[0], player->bind_y[0], player->bind_z[0], - player->bind_heading[0]); -#endif // ZBTEMP + player->binds[0].x, player->binds[0].y, player->binds[0].z, + player->binds[9].heading); setHeading((int8_t)lrintf(player->heading), 0); m_headingDegrees = 360 - ((((int8_t)lrintf(player->heading)) * 360) >> 11); m_validPos = true; @@ -353,8 +351,11 @@ m_maxExp = calc_exp(m_level, m_race, m_class); m_tickExp = (m_maxExp - m_minExp) / 330; +#if 0 + // Removed from PP 9/13/2005? %%% m_currentExp = player->exp; m_currentAltExp = player->expAA; +#endif m_currentAApts = player->aa_spent; emit expChangedInt (m_currentExp, m_minExp, m_maxExp); Index: interface.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/interface.cpp,v retrieving revision 1.70 retrieving revision 1.71 diff -u -d -r1.70 -r1.71 --- interface.cpp 13 Sep 2005 15:23:11 -0000 1.70 +++ interface.cpp 14 Sep 2005 04:15:03 -0000 1.71 @@ -1459,7 +1459,7 @@ QPopupMenu* windowFontMenu = new QPopupMenu; m_windowMenu->insertItem( "&Font", windowFontMenu, -1, 1); - windowFontMenu->insertItem( "&Applicatoin Default...", + windowFontMenu->insertItem( "&Application Default...", this, SLOT(set_main_Font(int))); windowFontMenu->insertItem( "Main Window Status Font...", Index: zones.h =================================================================== RCS file: /cvsroot/seq/showeq/src/zones.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- zones.h 13 Sep 2005 15:23:14 -0000 1.9 +++ zones.h 14 Sep 2005 04:15:03 -0000 1.10 @@ -354,28 +354,28 @@ { "guildlobby", "Guild Lobby" }, // 344 { "guildhall", "Guild Hall" }, // 345 { "barter", "Barter Hall" }, // 346 -{ "Illsalin", "The Ruins of Illsalin" }, // 347 -{ "IllsalinA", "Illsalin Marketplace" }, // 348 -{ "IllsalinB", "Temple of the Korlach" }, // 349 -{ "IllsalinC", "The Nargilor Pits" }, // 350 -{ "Dreadspire", "Dreadspire Keep" }, // 351 -{ "DreadspireA", "The Torture Chamber" }, // 352 -{ "DreadspireB", "The Artifact Room" }, // 353 -{ "DrachnidHive", "The Hive" }, // 354 -{ "DrachnidHiveA", "The Hatchery" }, // 355 -{ "DrachnidHiveB", "The Cocoons" }, // 356 -{ "DrachnidHiveC", "The Queen's Lair" }, // 357 -{ "WestKorlach", "Stoneroot Falls" }, // 358 -{ "WestKorlachA", "Prince's Manor" }, // 359 -{ "WestKorlachB", "Caverns of the Lost" }, // 360 -{ "WestKorlachC", "Lair of the Korlach" }, // 361 -{ "EastKorlach", "The Undershore" }, // 362 -{ "EastKorlachA", "Snarlstone Dens" }, // 363 -{ "EastKorlachB", "Shadowspine" }, // 364 -{ "Corathus", "Corathus Creep" }, // 365 -{ "CorathusA", "Sporali Caverns" }, // 366 -{ "CorathusB", "Corathus Lair" }, // 367 -{ "NektulosA", "Shadowed Grove" }, // 368 +{ "illsalin", "The Ruins of Illsalin" }, // 347 +{ "illsalina", "Imperial Bazaar" }, // 348 +{ "illsalinb", "Temple of the Korlach" }, // 349 +{ "illsalinc", "The Nargilor Pits" }, // 350 +{ "dreadspire", "Dreadspire Keep" }, // 351 +{ "dreadspirea", "The Torture Chamber" }, // 352 (removed before launch) +{ "dreadspireb", "The Artifact Room" }, // 353 (removed before launch) +{ "drachnidhive", "The Hive" }, // 354 +{ "drachnidhivea", "Living Larder" }, // 355 +{ "drachnidhiveb", "Coven of the Skinwalkers" }, // 356 +{ "drachnidhivec", "Queen Sendaii's Lair" }, // 357 +{ "westkorlach", "Stoneroot Falls" }, // 358 +{ "westkorlacha", "Chambers of Xill" }, // 359 +{ "westkorlachb", "Caverns of the Lost" }, // 360 +{ "westkorlachc", "Lair of the Korlach" }, // 361 +{ "eastkorlach", "Undershore" }, // 362 +{ "eastkorlacha", "Snarlstone Dens" }, // 363 +{ "shadowspine", "Shadowspine" }, // 364 +{ "corathus", "Corathus Creep" }, // 365 +{ "corathusa", "Sporali Caverns" }, // 366 +{ "corathusb", "Corathus Lair" }, // 367 +{ "nektulosa", "Shadowed Grove" }, // 368 { NULL, NULL }, // 369 { NULL, NULL }, // 370 { NULL, NULL }, // 371 Index: everquest.h =================================================================== RCS file: /cvsroot/seq/showeq/src/everquest.h,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- everquest.h 13 Sep 2005 15:23:11 -0000 1.80 +++ everquest.h 14 Sep 2005 04:15:03 -0000 1.81 @@ -463,6 +463,20 @@ /*008*/ }; +/** + * A bind point. + * Size: 20 Octets + */ +struct BindStruct +{ +/*000*/ uint32_t zoneId; +/*004*/ float x; +/*008*/ float y; +/*012*/ float z; +/*016*/ float heading; +/*020*/ +}; + /* ** Type: Zone Change Request (before hand) ** Length: 88 Octets @@ -510,7 +524,7 @@ /* ** New Zone Code -** Length: 696 Octets +** Length: 700 Octets ** OpCode: NewZoneCode */ struct newZoneStruct @@ -535,159 +549,157 @@ /*0516*/ float maxclip; // Maximum view distance /*0520*/ uint8_t unknown0520[172]; // *** Placeholder /*0692*/ uint8_t unknown0692[4]; // *** Placeholder (06/29/2005) -}; +/*0696*/ uint8_t unknown0696[4]; // *** Placeholder (09/13/2005) +}; /*0700*/ /* ** Player Profile -** Length: 19560 Octets +** Length: 19584 Octets ** OpCode: CharProfileCode */ struct charProfileStruct { -/*0000*/ uint32_t checksum; // -/*0004*/ char name[64]; // Name of player -/*0068*/ char lastName[32]; // Last name of player -/*0100*/ uint32_t gender; // Player Gender - 0 Male, 1 Female -/*0104*/ uint32_t race; // Player race -/*0108*/ uint32_t class_; // Player class -/*0112*/ uint32_t unknown0112; // *** Placeholder -/*0116*/ uint32_t level; // Level of player (might be one byte) -/*0120*/ uint32_t bind_zone_id[5]; // Bind info (zone, x, y, z, heading) -/*0140*/ float bind_x[5]; // 0 is normal bind -/*0160*/ float bind_y[5]; // 5 is some weird point in newbie zone -/*0180*/ float bind_z[5]; // (which is secondary bind for wiz/dru?) -/*0200*/ float bind_heading[5]; // Unused slots show newbie bind -/*0220*/ uint32_t deity; // deity -/*0224*/ int32_t guildID; // guildID -/*0228*/ uint32_t birthdayTime; // character birthday -/*0232*/ uint32_t lastSaveTime; // character last save time -/*0236*/ uint32_t timePlayedMin; // time character played +/*00000*/ uint32_t checksum; // +/*00004*/ uint32_t gender; // Player Gender - 0 Male, 1 Female +/*00008*/ uint32_t race; // Player race +/*00012*/ uint32_t class_; // Player class +/*00016*/ uint32_t unknown00016; // ***Placeholder +/*00020*/ uint8_t level; // Level of player +/*00021*/ uint8_t level1; // Level of player (again?) +/*00022*/ uint8_t unknown00022[2]; // ***Placeholder +/*00024*/ BindStruct binds[5]; // Bind points (primary is first) +/*00124*/ uint32_t deity; // deity +/*00128*/ uint8_t unknown00128[60]; +/*00188*/ uint32_t item_material[9]; // Item texture/material of worn items +/*00224*/ uint8_t unknown00224[48]; +/*00272*/ Color_Struct item_tint[9]; // RR GG BB 00 +/*00308*/ AA_Array aa_array[MAX_AA]; // AAs + +#if 0 + // aa_array and points overlap... %%% +/*02224*/ uint32_t points; // Unspent Practice points +#endif +/*02228*/ uint32_t MANA; // Current MANA +/*02232*/ uint32_t curHp; // Current HP without +HP equipment +/*02236*/ uint32_t STR; // Strength +/*02240*/ uint32_t STA; // Stamina +/*02244*/ uint32_t CHA; // Charisma +/*02248*/ uint32_t DEX; // Dexterity +/*02252*/ uint32_t INT; // Intelligence +/*02256*/ uint32_t AGI; // Agility +/*02260*/ uint32_t WIS; // Wisdom +/*02264*/ uint8_t unknown02264[48]; +/*02312*/ int32_t sSpellBook[400]; // List of the Spells in spellbook +/*03912*/ uint8_t unknown4184[448]; // all 0xff after last spell +/*04360*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized +/*04396*/ uint8_t unknown04396[32]; +/*04428*/ uint32_t platinum; // Platinum Pieces on player +/*04432*/ uint32_t gold; // Gold Pieces on player +/*04436*/ uint32_t silver; // Silver Pieces on player +/*04440*/ uint32_t copper; // Copper Pieces on player +/*04444*/ uint32_t platinum_cursor; // Platinum Pieces on cursor +/*04448*/ uint32_t gold_cursor; // Gold Pieces on cursor +/*04452*/ uint32_t silver_cursor; // Silver Pieces on cursor +/*04456*/ uint32_t copper_cursor; // Copper Pieces on cursor +/*04460*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills +/*04760*/ uint8_t unknown04760[748]; +/*05508*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player +/*06008*/ uint8_t unknown06008[144]; +/*06152*/ uint32_t aa_spent; // Number of spent AA points +/*06156*/ uint32_t aa_unspent; // Unspent AA points +/*06160*/ uint8_t unknown06160[4]; +/*06164*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents +/*07444*/ uint8_t unknown07444[5120]; +/*12564*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt +/*12852*/ uint8_t unknown12852[88]; +/*12940*/ char name[64]; // Name of player +/*13004*/ char lastName[32]; // Last name of player +/*13036*/ int32_t guildID; // guildID +/*13040*/ uint32_t birthdayTime; // character birthday +/*13044*/ uint32_t lastSaveTime; // character last save time +/*13048*/ uint32_t timePlayedMin; // time character played +/*13052*/ uint8_t unknown13052[32]; +/*13084*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages +/*13109*/ uint8_t unknown13109[7]; // All 0x00 (language buffer?) +/*13116*/ float x; // Players x position +/*13120*/ float y; // Players y position +/*13124*/ float z; // Players z position +/*13128*/ float heading; // Players heading +/*13132*/ uint8_t unknown13132[4]; // ***Placeholder +/*13136*/ uint32_t platinum_bank; // Platinum Pieces in Bank +/*13140*/ uint32_t gold_bank; // Gold Pieces in Bank +/*13144*/ uint32_t silver_bank; // Silver Pieces in Bank +/*13148*/ uint32_t copper_bank; // Copper Pieces in Bank +/*13152*/ uint32_t platinum_shared; // Shared platinum pieces +/*13156*/ uint8_t unknown13156[84]; +/*13240*/ uint32_t expansions; // Bitmask for expansions +/*13244*/ uint8_t unknown13244[32]; +/*13276*/ uint16_t zoneId; // see zones.h +/*13278*/ uint16_t zoneInstance; // Instance id +/*13280*/ char groupMembers[MAX_GROUP_MEMBERS][64];// all the members in group, including self +/*13664*/ char groupLeader[64]; // Leader of the group ? +/*13728*/ uint8_t unknown13728[668]; +/*14396*/ uint32_t ldon_guk_points; // Earned GUK points +/*14400*/ uint32_t ldon_mir_points; // Earned MIR points +/*14404*/ uint32_t ldon_mmc_points; // Earned MMC points +/*14408*/ uint32_t ldon_ruj_points; // Earned RUJ points +/*14412*/ uint32_t ldon_tak_points; // Earned TAK points +/*14416*/ uint32_t ldon_avail_points; // Available LDON points +/*14420*/ uint8_t unknown14420[132]; +/*14552*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) +/*14556*/ uint32_t careerTribute; // Total favor points for this char +/*14560*/ uint32_t unknown7208; // *** Placeholder +/*14564*/ uint32_t currentTribute; // Current tribute points +/*14568*/ uint32_t unknown7216; // *** Placeholder +/*14572*/ uint32_t tributeActive; // 0 = off, 1=on +/*14576*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout +/*14616*/ uint8_t unknown14616[4940]; +/*19556*/ uint32_t currentRadCrystals; // Current count of radiant crystals +/*19560*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever +/*19564*/ uint32_t currentEbonCrystals;// Current count of ebon crystals +/*19568*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever +/*19572*/ uint8_t groupAutoconsent; // 0=off, 1=on +/*19573*/ uint8_t raidAutoconsent; // 0=off, 1=on +/*19574*/ uint8_t guildAutoconsent; // 0=off, 1=on +/*19575*/ uint8_t unknown19575[5]; // ***Placeholder (6/29/2005) +/*19580*/ uint32_t unknown19580; // *** Placeholder +/*19584*/ +}; + +#if 0 /*0240*/ uint8_t pvp; // 1=pvp, 0=not pvp -/*0241*/ uint8_t level1; // Level of Player /*0242*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon /*0243*/ uint8_t gm; // 0=no, 1=yes /*0244*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader -/*0245*/ uint8_t unknown0245[7]; // *** Placeholder /*0252*/ uint32_t intoxication; // Alcohol level (in ticks till sober?) /*0256*/ uint32_t spellSlotRefresh[MAX_SPELL_SLOTS]; // Refresh time (millis) -/*0292*/ uint8_t unknown0292[4]; // *** Placeholder /*0296*/ uint8_t haircolor; // Player hair color /*0297*/ uint8_t beardcolor; // Player beard color /*0298*/ uint8_t eyecolor1; // Player left eye color /*0299*/ uint8_t eyecolor2; // Player right eye color /*0300*/ uint8_t hairstyle; // Player hair style /*0301*/ uint8_t beard; // Player beard type -/*0302*/ uint8_t unknown0302[10]; // *** Placeholder -/*0312*/ uint32_t item_material[9]; // Item texture/material of worn items -/*0348*/ uint8_t unknown0348[48]; // *** Placeholder -/*0396*/ Color_Struct item_tint[9]; // RR GG BB 00 -/*0432*/ AA_Array aa_array[MAX_AA]; // AAs -/*2352*/ char servername[32]; // server the char was created on /*2384*/ char title[32]; // Current character title +/*2352*/ char servername[32]; // server the char was created on /*2416*/ char suffix[32]; // Current character suffix -/*2448*/ uint8_t unknown2448[4]; // *** Placeholder /*2452*/ uint32_t exp; // Current Experience -/*2456*/ uint32_t unknown2456; // *** Placeholder -/*2460*/ uint32_t points; // Unspent Practice points -/*2464*/ uint32_t MANA; // Current MANA -/*2468*/ uint32_t curHp; // Current HP without +HP equipment -/*2472*/ uint32_t unknown1512; // 0x05 -/*2476*/ uint32_t STR; // Strength -/*2480*/ uint32_t STA; // Stamina -/*2484*/ uint32_t CHA; // Charisma -/*2488*/ uint32_t DEX; // Dexterity -/*2492*/ uint32_t INT; // Intelligence -/*2496*/ uint32_t AGI; // Agility -/*2500*/ uint32_t WIS; // Wisdom /*2504*/ uint8_t face; // Player face -/*2505*/ uint8_t unknown2505[47]; // *** Placeholder -/*2552*/ uint8_t languages[25]; // List of languages (MAX_KNOWN_LANGS) -/*2577*/ uint8_t unknown2577[7]; // All 0x00 (language buffer?) -/*2584*/ int32_t sSpellBook[400]; // List of the Spells in spellbook -/*4184*/ uint8_t unknown4184[448]; // all 0xff after last spell -/*4632*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized -/*4668*/ uint8_t unknown4668[32]; // *** Placeholder -/*4700*/ float x; // Players x position -/*4704*/ float y; // Players y position -/*4708*/ float z; // Players z position -/*4712*/ float heading; // Players heading -/*4716*/ uint8_t unknown4716[4]; // *** Placeholder -/*4720*/ uint32_t platinum; // Platinum Pieces on player -/*4724*/ uint32_t gold; // Gold Pieces on player -/*4728*/ uint32_t silver; // Silver Pieces on player -/*4732*/ uint32_t copper; // Copper Pieces on player -/*4736*/ uint32_t platinum_bank; // Platinum Pieces in Bank -/*4740*/ uint32_t gold_bank; // Gold Pieces in Bank -/*4744*/ uint32_t silver_bank; // Silver Pieces in Bank -/*4748*/ uint32_t copper_bank; // Copper Pieces in Bank -/*4752*/ uint32_t platinum_cursor; // Platinum Pieces on cursor -/*4756*/ uint32_t gold_cursor; // Gold Pieces on cursor -/*4760*/ uint32_t silver_cursor; // Silver Pieces on cursor -/*4764*/ uint32_t copper_cursor; // Copper Pieces on cursor -/*4768*/ uint32_t platinum_shared; // Shared platinum pieces -/*4772*/ uint8_t unknown4772[24]; // Unknown - all zero -/*4796*/ uint32_t skills[75]; // List of skills (MAX_KNOWN_SKILLS) -/*5096*/ uint8_t unknown5096[312]; // *** Placeholder /*5408*/ uint32_t autosplit; // 0 = off, 1 = on -/*5412*/ uint8_t unknown5412[8]; // *** Placeholder /*5420*/ uint32_t saveCounter; // Number of times your char has saved -/*5424*/ uint8_t unknown5424[28]; // *** Placeholder -/*5452*/ uint32_t expansions; // Bitmask for expansions /*5456*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) -/*5460*/ uint8_t unknown5460[16]; // *** Placeholder /*5476*/ uint32_t hunger; // Food (ticks till next eat) /*5480*/ uint32_t thirst; // Drink (ticks till next drink) -/*5484*/ uint8_t unknown5484[20]; // *** Placeholder -/*5504*/ uint16_t zoneId; // see zones.h -/*5506*/ uint16_t zoneInstance; // Instance id -/*5508*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player -/*6008*/ char groupMembers[MAX_GROUP_MEMBERS][64];// all the members in group, including self -/*6392*/ uint8_t unknown6392[668]; // *** Placeholder -/*7060*/ uint32_t ldon_guk_points; // Earned GUK points -/*7064*/ uint32_t ldon_mir_points; // Earned MIR points -/*7068*/ uint32_t ldon_mmc_points; // Earned MMC points -/*7072*/ uint32_t ldon_ruj_points; // Earned RUJ points -/*7076*/ uint32_t ldon_tak_points; // Earned TAK points -/*7080*/ uint32_t ldon_avail_points; // Available LDON points -/*7084*/ uint8_t unknown7084[112]; // *** Placeholder -/*7196*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) -/*7200*/ uint32_t unknown7200; // *** Placeholder -/*7204*/ uint32_t careerTribute; // Total favor points for this char -/*7208*/ uint32_t unknown7208; // *** Placeholder -/*7212*/ uint32_t currentTribute; // Current tribute points -/*7216*/ uint32_t unknown7216; // *** Placeholder -/*7220*/ uint32_t tributeActive; // 0 = off, 1=on -/*7224*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout /*7264*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines -/*7464*/ uint8_t unknown7464[440]; // *** Placeholder /*7904*/ uint32_t endurance; // Current endurance /*7908*/ uint32_t expGroupLeadAA; // Current group lead AA exp (0-1000) /*7912*/ uint32_t expRaidLeadAA; // Current raid lead AA exp (0-2000) /*7916*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points /*7920*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points /*7924*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks -/*8052*/ uint8_t unknown8052[132]; // *** Placeholder /*8184*/ uint32_t airRemaining; // Air supply (seconds) -/*8188*/ uint8_t unknown8188[4608]; // *** Placeholder -/*12796*/ uint32_t aa_spent; // Number of spent AA points /*12800*/ uint32_t expAA; // Exp earned in current AA point -/*12804*/ uint32_t aa_unspent; // Unspent AA points -/*12808*/ uint8_t unknown12808[36]; // *** Placeholder -/*12844*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents -/*14124*/ uint8_t unknown14124[5120]; // *** Placeholder -/*19244*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt -/*19532*/ uint8_t unknown19532[8]; // *** Placeholder -/*19540*/ uint32_t currentRadCrystals; // Current count of radiant crystals -/*19544*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever -/*19548*/ uint32_t currentEbonCrystals;// Current count of ebon crystals -/*19552*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever -/*19556*/ uint8_t groupAutoconsent; // 0=off, 1=on -/*19557*/ uint8_t raidAutoconsent; // 0=off, 1=on -/*19558*/ uint8_t guildAutoconsent; // 0=off, 1=on -/*19559*/ uint8_t unknown19559[5]; // ***Placeholder (6/29/2005) -/*19564*/ uint32_t unknown19564; // *** Placeholder -}; /* 19568 */ +#endif #if 1 struct playerAAStruct { @@ -855,7 +867,7 @@ /* ** Generic Spawn Struct -** Length: 383 Octets +** Length: 384 Octets ** Used in: ** spawnZoneStruct ** dbSpawnStruct @@ -864,115 +876,112 @@ */ struct spawnStruct { -/*0000*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse,a -/*0001*/ uint8_t unknown0001[8]; // ***Placeholder (all ff) -/*0009*/ uint8_t curHp; // Current hp -/*0010*/ char lastName[32]; // Player's Lastname -/*0042*/ uint8_t bodytype; // Bodytype -/*0043*/ uint8_t unknown0042[7]; // ***Placeholder -/*0050*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner -/*0054*/ signed deltaHeading:10;// change in heading - signed x:19; // x coord - signed padding0054:3; // ***Placeholder -/*0058*/ signed y:19; // y coord - signed animation:10; // animation - signed padding0058:3; // ***Placeholder -/*0062*/ signed z:19; // z coord - signed deltaY:13; // change in y -/*0066*/ signed deltaX:13; // change in x - unsigned heading:12; // heading - signed padding0066:7; // ***Placeholder -/*0070*/ signed deltaZ:13; // change in z - signed padding0070:19; // ***Placeholder -/*0074*/ int16_t deity; // Player's Deity -/*0076*/ uint8_t unknown[2]; -/*0078*/ union - { - struct - { - /*0078*/ uint32_t equip_helmet; // Equipment: Helmet Visual - /*0082*/ uint32_t equip_chest; // Equipment: Chest Visual - /*0086*/ uint32_t equip_arms; // Equipment: Arms Visual - /*0090*/ uint32_t equip_bracers; // Equipment: Bracers Visual - /*0094*/ uint32_t equip_hands; // Equipment: Hands Visual - /*0098*/ uint32_t equip_legs; // Equipment: Legs Visual - /*0102*/ uint32_t equip_feet; // Equipment: Feet Visual - /*0106*/ uint32_t equip_primary; // Equipment: Primary Visual - /*0110*/ uint32_t equip_secondary; // Equipment: Secondary Visual - } equip; - /*0078*/ uint32_t equipment[9]; // Array elements correspond to struct equipment above - }; -/*0114*/ uint8_t unknown0114[5]; -/*0119*/ uint8_t afk; // 0=no, 1=afk -/*0120*/ uint32_t spawnId; // Spawn Id -/*0124*/ uint8_t unknown0124; -/*0125*/ uint8_t gm; // 0=no, 1=gm -/*0126*/ uint8_t unknown0126[4]; -/*0130*/ int8_t aa_title; // 0=none, 1=general, 2=archtype, 3=class -/*0131*/ uint8_t unknown0132[24]; -/*0155*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay -/*0156*/ uint8_t unknown0156; -/*0157*/ uint8_t face; // Face id for players -/*0158*/ uint8_t unknown0158[2]; -/*0160*/ float runspeed; // Speed when running -/*0164*/ uint8_t eyecolor1; // Player's left eye color -/*0165*/ uint8_t unknown0165; -/*0166*/ uint8_t is_npc; // 0=no, 1=yes +/*0000*/ uint8_t invis; // Invis (0=not, 1=invis) +/*0001*/ uint32_t spawnId; // Spawn Id +/*0005*/ uint8_t lfg; // 0=off, 1=lfg on +/*0006*/ uint8_t beard; // Beard style (not totally, sure but maybe!) +/*0007*/ uint8_t eyecolor1; // Player's left eye color +/*0008*/ uint8_t is_pet; // 0=no, 1=yes +/*0009*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner +/*0013*/ uint8_t gm; // 0=no, 1=gm %%% Wrong but compile... +/*0014*/ uint8_t unknown0013[22]; +/*0036*/ uint8_t afk; // 0=no, 1=afk +/*0037*/ uint8_t eyecolor2; // Left eye color +/*0038*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse,a +/*0039*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay +/*0040*/ uint32_t race; // Spawn race +/*0044*/ uint8_t unknown0040[5]; +/*0049*/ uint8_t bodytype; // Bodytype +/*0050*/ uint8_t unknown0050[3]; +/*0053*/ uint8_t max_hp; // (name prolly wrong)takes on the value 100 for players, 100 or 110 for NPCs and 120 for PC corpses... +/*0054*/ uint8_t is_npc; // 0=no, 1=yes +/*0055*/ uint8_t class_; // Player's class +/*0056*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) +/*0088*/ uint8_t haircolor; // Hair color +/*0089*/ int16_t deity; // Player's Deity +/*0091*/ uint8_t unknown0091[2]; +/*0093*/ uint8_t face; // Face id for players +/*0094*/ uint8_t unknown0094[2]; +/*0096*/ uint8_t light; // Spawn's lightsource +/*0097*/ uint8_t curHp; // Current hp +/*0098*/ char lastName[32]; // Player's Lastname +/*0130*/ uint8_t beardcolor; // Beard color +/*0131*/ uint8_t unknown0131; +/*0132*/ float size; // Model size +/*0136*/ int8_t aa_title; // 0=none, 1=general, 2=archtype, 3=class +/*0137*/ uint8_t gender; // Gender (0=male, 1=female) +/*0138*/ uint8_t unknown0138[7]; +/*0145*/ uint32_t guildID; // Current guild +/*0149*/ uint8_t unknown149[4]; +/*0153*/ float walkspeed; // Speed when walking +/*0157*/ uint8_t hairstyle; // Hair style +/*0158*/ uint8_t unknown0157[6]; +/*0164*/ int8_t guildrank; // 0=normal, 1=officer, 2=leader +/*0165*/ uint8_t unknown0165[10]; union { -/*0167*/ int8_t equip_chest2; // Second place in packet for chest texture (usually 0xFF in live packets) +/*0175*/ int8_t equip_chest2; // Second place in packet for chest texture (usually 0xFF in live packets) // Not sure why there are 2 of them, but it effects chest texture! -/*0167*/ int8_t mount_color; // drogmor: 0=white, 1=black, 2=green, 3=red +/*0175*/ int8_t mount_color; // drogmor: 0=white, 1=black, 2=green, 3=red // horse: 0=brown, 1=white, 2=black, 3=tan }; -/*0168*/ uint32_t guildID; // Current guild -/*0172*/ union +/*0176*/ float runspeed; // Speed when running +/*0180*/ union { struct { - /*0172*/ Color_Struct color_helmet; // Color of helmet item - /*0176*/ Color_Struct color_chest; // Color of chest item - /*0180*/ Color_Struct color_arms; // Color of arms item - /*0184*/ Color_Struct color_bracers; // Color of bracers item - /*0188*/ Color_Struct color_hands; // Color of hands item - /*0192*/ Color_Struct color_legs; // Color of legs item - /*0196*/ Color_Struct color_feet; // Color of feet item - /*0200*/ Color_Struct color_primary; // Color of primary item - /*0204*/ Color_Struct color_secondary; // Color of secondary item + /*0180*/ Color_Struct color_helmet; // Color of helmet item + /*0184*/ Color_Struct color_chest; // Color of chest item + /*0188*/ Color_Struct color_arms; // Color of arms item + /*0192*/ Color_Struct color_bracers; // Color of bracers item + /*0196*/ Color_Struct color_hands; // Color of hands item + /*0200*/ Color_Struct color_legs; // Color of legs item + /*0204*/ Color_Struct color_feet; // Color of feet item + /*0208*/ Color_Struct color_primary; // Color of primary item + /*0212*/ Color_Struct color_secondary; // Color of secondary item } equipment_colors; - /*0172*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above + /*0180*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above }; -/*0208*/ uint8_t unknown0208; -/*0209*/ float walkspeed; // Speed when walking -/*0213*/ uint8_t unknown0213[3]; -/*0216*/ uint8_t class_; // Player's class -/*0217*/ uint8_t beardcolor; // Beard color -/*0218*/ float size; // Model size -/*0222*/ uint8_t findable; // 0=can't be found, 1=can be found -/*0223*/ uint8_t unknown0222[4]; -/*0227*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) -/*0259*/ uint8_t unknown0259[4]; -/*0263*/ int8_t guildrank; // 0=normal, 1=officer, 2=leader -/*0264*/ uint8_t unknown0264[3]; -/*0267*/ uint8_t is_pet; // 0=no, 1=yes -/*0268*/ uint32_t race; // Spawn race -/*0272*/ uint8_t invis; // Invis (0=not, 1=invis) -/*0273*/ uint8_t unknown0276[5]; -/*0278*/ uint8_t lfg; // 0=off, 1=lfg on -/*0279*/ uint8_t level; // Spawn Level -/*0280*/ uint8_t haircolor; // Hair color -/*0281*/ uint8_t unknown0281; // ***Placeholder (maxhp?) -/*0282*/ uint8_t light; // Spawn's lightsource -/*0283*/ uint8_t gender; // Gender (0=male, 1=female) -/*0284*/ char name[64]; // Player's Name -/*0348*/ uint8_t eyecolor2; // Left eye color -/*0349*/ char title[32]; // Title -/*0381*/ uint8_t unknown0381[2]; -}; /*0383*/ +/*0216*/ uint8_t findable; // 0=can't be found, 1=can be found +/*0217*/ union + { + struct + { + /*0217*/ uint32_t equip_helmet; // Equipment: Helmet Visual + /*0221*/ uint32_t equip_chest; // Equipment: Chest Visual + /*0225*/ uint32_t equip_arms; // Equipment: Arms Visual + /*0229*/ uint32_t equip_bracers; // Equipment: Bracers Visual + /*0233*/ uint32_t equip_hands; // Equipment: Hands Visual + /*0237*/ uint32_t equip_legs; // Equipment: Legs Visual + /*0241*/ uint32_t equip_feet; // Equipment: Feet Visual + /*0245*/ uint32_t equip_primary; // Equipment: Primary Visual + /*0249*/ uint32_t equip_secondary; // Equipment: Secondary Visual + } equip; + /*0217*/ uint32_t equipment[9]; // Array elements correspond to struct equipment above + }; +/*0253*/ uint8_t set_to_0xFF[8]; // ***Placeholder (all ff) +/*0261*/ uint8_t level; // Spawn Level +/*0262*/ uint8_t unknown0262; +/*0263*/ char title[32]; // Title +/*0295*/ char name[64]; // Player's Name +/*0359*/ uint8_t unknown0259[4]; // ***Placeholder +/*0363*/ uint8_t helm; // Helm texture +/*0364*/ signed deltaHeading:10;// change in heading + signed x:19; // x coord + signed padding0054:3; // ***Placeholder +/*0368*/ signed y:19; // y coord + signed animation:10; // animation + signed padding0058:3; // ***Placeholder +/*0372*/ signed z:19; // z coord + signed deltaY:13; // change in y +/*0376*/ signed deltaX:13; // change in x + unsigned heading:12; // heading + signed padding0066:7; // ***Placeholder +/*0380*/ signed deltaZ:13; // change in z + signed padding0070:19; // ***Placeholder +}; /*0384*/ -#if 0 -/*0010*/ uint8_t hairstyle; // Hair style -/*0321*/ uint8_t helm; // Helm texture +#if 0 /*122*/ uint8_t pvp; // 0=Not pvp,1=pvp #endif |
From: Chad M. <cmm...@us...> - 2005-09-14 04:15:10
|
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv468 Modified Files: ChangeLog configure.in Log Message: About 70% of what is needed for live compatibility for DoD expansion. charProfileStruct is about 75% done. Some code commented out in player.cpp and messageshell.cpp to reflect this, as some things seem gone from charProfileStruct now. Regenerated staticspells.h for new expansion. Updated zones for new expansion. Version = 5.1.0.0-pre1 Index: ChangeLog =================================================================== RCS file: /cvsroot/seq/showeq/ChangeLog,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ChangeLog 13 Sep 2005 15:23:08 -0000 1.2 +++ ChangeLog 14 Sep 2005 04:15:03 -0000 1.3 @@ -2,11 +2,14 @@ purple (09/13/05) ------------------- -+ Updated version to 5.1.0.0 ++ Updated version to 5.1.0.0-pre1 + Branched 4.x off the trunk to v4 branch + Merged pre_5_0_beta branch down to the trunk. The trunk will be used for development now + Updated zones to reflect new .exe ++ Reworked spawnStruct ++ Reworked some of charProfileStruct ++ Regenerated staticspells.h purple (07/22/05) ------------------- Index: configure.in =================================================================== RCS file: /cvsroot/seq/showeq/configure.in,v retrieving revision 1.55 retrieving revision 1.56 diff -u -d -r1.55 -r1.56 --- configure.in 13 Sep 2005 15:23:08 -0000 1.55 +++ configure.in 14 Sep 2005 04:15:03 -0000 1.56 @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.1.0.0) +AC_INIT(showeq, 5.1.0.0-pre1) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM |
From: Chad M. <cmm...@us...> - 2005-09-13 15:23:47
|
Update of /cvsroot/seq/showeq/conf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14505/conf Modified Files: Makefile.am seqdef.xml Added Files: seqopcodes.dtd worldopcodes.xml zoneopcodes.xml Removed Files: filters.conf.dist Log Message: Merged pre_5_0_beta down to the trunk. pre_5_0_beta should be treated as closed. All future development will occur on the branch. Updated version to 5.1.0.0 in preparation for new expansion release pending fixes for live compatibility. --- NEW FILE: zoneopcodes.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE seqopcodes SYSTEM "seqopcodes.dtd"> <seqopcodes> <!-- OLD OPCODES that must be uncommented because they have messageshell handlers. These need to be refound again, but we'd see errors if they were commented out. If you're looking for opcodes, find these first if you're so inclined! --> <opcode id="003e" name="OP_MobUpdate" implicitlen="12" updated="05/26/04"> <comment>old MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> <opcode id="00d0" name="OP_CorpseLocResponse" updated="05/26/04"> <comment>old CorpseLocCode:</comment> <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/> </opcode> <!-- OLD OPCODES. These haven't been mapped in a post 1/26/2005 world. If you can find any of these in the current stream, please update them and let us know! <opcode id="0020" name="OP_GMServers" updated="05/26/04"> <comment>GM /servers - ?</comment> </opcode> <opcode id="790e" name="OP_GMKick" updated="01/26/05"> <comment>GM /kick - Boot player</comment> </opcode> <opcode id="0068" name="OP_Petition" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0074" name="OP_GMBecomeNPC" updated="05/26/04"> <comment>GM /becomenpc - Become an NPC</comment> </opcode> <opcode id="0076" name="OP_PetitionCheckout" updated="05/26/04"> <comment>Petition Checkout</comment> </opcode> <opcode id="007e" name="OP_PetitionCheckIn" updated="05/26/04"> <comment>Petition Checkin</comment> </opcode> <opcode id="688f" name="OP_PetitionResolve" updated="05/11/05"> <comment>Client Petition Resolve Request</comment> </opcode> <opcode id="0165" name="OP_DeletePetition" updated="01/26/05"> <comment>Player /deletepetition</comment> </opcode> <opcode id="0082" name="OP_PetitionQue" updated="05/26/04"> <comment>GM looking at petitions</comment> </opcode> <opcode id="0090" name="OP_PetitionUnCheckout" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0097" name="OP_GMSearchCorpse" updated="05/26/04"> <comment>GM /searchcorpse - Search all zones for named corpse</comment> </opcode> <opcode id="009a" name="OP_GuildPeace" updated="05/26/04"> <comment>/guildpeace</comment> </opcode> <opcode id="00a4" name="OP_GuildWar" updated="05/26/04"> <comment></comment> </opcode> <opcode id="00a7" name="OP_GuildLeader" updated="05/26/04"> <comment>/guildleader</comment> </opcode> <opcode id="00b6" name="OP_ApplyPoison" updated="05/26/04"> <comment></comment> </opcode> <opcode id="00da" name="OP_GMInquire" updated="05/26/04"> <comment>GM /inquire - Search soulmark data</comment> </opcode> <opcode id="00dc" name="OP_GMSoulmark" updated="05/26/04"> <comment>GM /praise /warn - Add soulmark comment to user file</comment> </opcode> <opcode id="00de" name="OP_GMHideMe" updated="05/26/04"> <comment>GM /hideme - Remove self from spawn lists and make invis</comment> </opcode> <opcode id="00ef" name="OP_SafePoint" updated="05/26/04"> <comment></comment> </opcode> <opcode id="010b" name="OP_GMGoto" updated="05/26/04"> <comment>GM /goto - Transport to another loc</comment> </opcode> <opcode id="012d" name="OP_BindWound" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0132" name="OP_GuildRemove" updated="05/26/04"> <comment>/guildremove</comment> </opcode> <opcode id="013b" name="OP_GMTraining" updated="05/26/04"> <comment>old OpenGMCode</comment> <payload dir="both" typename="uint8_t" sizechecktype="none"/> </opcode> <opcode id="013c" name="OP_GMEndTraining" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0152" name="OP_MoveCash" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0160" name="OP_Taunt" updated="05/26/04"> <comment>old ConsumeCode</comment> </opcode> <opcode id="016c" name="OP_Stun" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0175" name="OP_GMTrainSkill" updated="05/26/04"> <comment>old SkillTrainCode</comment> </opcode> <opcode id="0178" name="OP_GMEndTrainingResponse" updated="05/26/04"> <comment>old CloseGMCode</comment> <payload dir="both" typename="uint8_t" sizechecktype="none"/> </opcode> <opcode id="0183" name="OP_GMZoneRequest" updated="05/26/04"> <comment>/zone</comment> </opcode> <opcode id="018f" name="OP_BecomePK" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0197" name="OP_SetDataRate" updated="05/26/04"> <comment>Client sending datarate.txt value</comment> </opcode> <opcode id="0198" name="OP_GMDelCorpse" updated="05/26/04"> <comment>/delcorpse</comment> </opcode> <opcode id="0199" name="OP_Sacrifice" updated="05/26/04"> <comment></comment> </opcode> <opcode id="01af" name="OP_GMApproval" updated="05/26/04"> <comment>GM /approval - Name approval duty?</comment> </opcode> <opcode id="01b2" name="OP_GMToggle" updated="05/26/04"> <comment>GM /toggle - Toggle ability to receive tells from other PC's</comment> </opcode> <opcode id="01bc" name="OP_MoneyUpdate" updated="05/26/04"> <comment></comment> </opcode> <opcode id="01ba" name="OP_ReqZoneObjects" updated="05/26/04"> <comment>Client requesting zone objects</comment> </opcode> <opcode id="01c4" name="OP_Translocate" updated="05/26/04"> <comment></comment> </opcode> <opcode id="01ea" name="OP_RespondAA" updated="05/26/04"> <comment></comment> </opcode> <opcode id="01ed" name="OP_IncreaseStats" updated="05/26/04"> <comment></comment> </opcode> <opcode id="01ef" name="OP_ViewPetition" updated="05/26/04"> <comment>Player /viewpetition</comment> </opcode> <opcode id="01ff" name="OP_ExpansionSetting" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0205" name="OP_GainMoney" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0225" name="OP_GMZoneRequest2" updated="05/26/04"> <comment>/zone 2</comment> </opcode> <opcode id="0245" name="?" implicitlen="6" updated="07/14/04"> <comment>Unknown, but has implicit length</comment> </opcode> <opcode id="0261" name="OP_CrashDump" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0263" name="OP_GuildDemote" updated="05/26/04"> <comment></comment> </opcode> <opcode id="0264" name="OP_ZoneUnavail" updated="05/26/04"> <comment></comment> </opcode> <opcode id="028b" name="OP_GMSummon" updated="05/26/04"> <comment>GM /summon - Summon PC to self</comment> </opcode> <opcode id="0296" name="OP_ItemTextFile" updated="05/26/04"> <comment>old BookTextCode</comment> <payload dir="server" typename="bookTextStruct" sizechecktype="none"/> </opcode> <opcode id="029e" name="OP_OpenObject" updated="05/26/04"> <comment></comment> </opcode> <opcode id="028e" name="OP_GMEmoteZone" updated="05/26/04"> <comment>GM /emotezone - Send zonewide emote</comment> </opcode> <opcode id="0296" name="OP_ReadBook" updated="05/26/04"> <comment></comment> </opcode> <opcode id="02b4" name="OP_SummonCorpse" updated="05/26/04"> <comment>/summoncorpse</comment> </opcode> <opcode id="02cc" name="OP_ShopItem" updated="05/26/04"> <comment>Merchant Item data</comment> </opcode> <opcode id="02d0" name="OP_AdventureRequest" updated="05/26/04"> <comment></comment> </opcode> <opcode id="02d1" name="OP_AdventureMerchantResponse" updated="05/26/04"> <comment></comment> </opcode> <opcode id="02d2" name="OP_AdventureMerchantPurchase" updated="05/26/04"> <comment></comment> </opcode> <opcode id="02e2" name="OP_AdventurePointsUpdate" updated="05/26/04"> <comment></comment> </opcode> <opcode id="02ef" name="OP_Adventure" updated="05/26/04"> <comment>/adventure</comment> </opcode> <opcode id="1ee8" name="OP_CombatAbility" updated="02/15/05"> <comment></comment> </opcode> --> <opcode id="15ff" name="OP_ItemPlayerPacket" updated="06/29/05"> <comment>old ItemCode</comment> <payload dir="server" typename="char" sizechecktype="none"/> </opcode> <opcode id="773f" name="OP_Dye" updated="06/29/05"> <comment></comment> </opcode> <opcode id="7a83" name="OP_Consume" updated="06/29/05"> <comment>Client force feeding food/drink</comment> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> <opcode id="2c81" name="OP_Begging" updated="06/29/05"> <comment></comment> </opcode> <opcode id="2403" name="OP_InspectRequest" updated="06/19/05"> <comment>old InspectRequestCode</comment> </opcode> <opcode id="1848" name="OP_Action2" updated="06/29/05"> <comment>old ActionCode</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> <opcode id="3990" name="OP_BeginCast" updated="06/29/05"> <comment>old BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> <opcode id="5cdd" name="OP_WhoAllRequest" updated="06/29/05"> <comment>old WhoAllReqCode</comment> </opcode> <opcode id="4bc6" name="OP_BuffFadeMsg" updated="06/29/05"> <comment>old SpellFadeCode</comment> <payload dir="both" typename="spellFadedStruct" sizechecktype="none"/> </opcode> <opcode id="1081" name="OP_Consent" updated="06/29/05"> <comment>/consent someone</comment> <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/> </opcode> <opcode id="022f" name="OP_LFGCommand" updated="06/29/05"> <comment>old LFGReqCode</comment> </opcode> <opcode id="2acf" name="OP_LootItem" updated="06/29/05"> <comment></comment> </opcode> <opcode id="4048" name="OP_TradeRequestAck" updated="06/29/05"> <comment>Trade request recipient is acknowledging they are able to trade</comment> </opcode> <opcode id="1974" name="OP_RaidJoin" updated="06/29/05"> <comment></comment> </opcode> <opcode id="3eba" name="OP_Bug" updated="06/29/05"> <comment>/bug</comment> </opcode> <opcode id="4cc7" name="OP_GuildMemberUpdate" updated="06/29/05"> <comment></comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> <opcode id="3312" name="OP_GuildTributeStatus" updated="06/29/05"> <comment>Guild tribute stats send on zone</comment> </opcode> <opcode id="5da6" name="OP_GuildTributeInfo" updated="05/11/05"> <comment>Guild tribute loadout</comment> </opcode> <opcode id="5205" name="OP_Track" updated="06/29/05"> <comment>Clicked Track</comment> </opcode> <opcode id="0681" name="OP_TraderShop" updated="06/29/05"> <comment>old OpenTraderCode right-click on a trader in bazaar</comment> </opcode> <opcode id="67c9" name="OP_BoardBoat" updated="06/29/05"> <comment></comment> </opcode> <opcode id="6f82" name="OP_LFGGetMatchesRequest" updated="06/29/05"> <comment></comment> </opcode> <opcode id="0f47" name="OP_ClickObject" updated="06/29/05"> <comment>old RemDropCode</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> <opcode id="6d9b" name="OP_Save" updated="06/29/05"> <comment>Client asking server to save user state</comment> </opcode> <opcode id="2844" name="OP_Camp" updated="06/29/05"> <comment>old cStartCampingCode</comment> </opcode> <opcode id="0e13" name="OP_ShopPlayerSell" updated="06/29/05"> <comment>old SellItemCode</comment> </opcode> <opcode id="7fe4" name="OP_EndLootRequest" updated="06/29/05"> <comment>old cDoneLootingCode</comment> </opcode> <opcode id="0587" name="OP_SendAAStats" updated="06/29/05"> <comment></comment> </opcode> <opcode id="367d" name="OP_SendAATable" updated="06/29/05"> <comment></comment> </opcode> <opcode id="4033" name="OP_GroupDisband" updated="06/29/05"> <comment>Disband from group</comment> <payload dir="both" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> <opcode id="403e" name="OP_LoadSpellSet" updated="06/29/05"> <comment></comment> </opcode> <opcode id="6c47" name="OP_AutoAttack" updated="06/29/05"> <comment></comment> </opcode> <opcode id="2717" name="OP_Consider" updated="06/29/05"> <comment>old ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> <opcode id="0e76" name="OP_ReqClientSpawn" updated="06/29/05"> <comment>Client requesting spawn data</comment> </opcode> <opcode id="55bc" name="OP_Emote" updated="06/29/05"> <comment>old EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> <opcode id="21ed" name="OP_GuildMOTD" updated="06/29/05"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> <opcode id="2dc1" name="OP_CancelTrade" updated="06/29/05"> <comment>Cancel a trade window</comment> </opcode> <opcode id="3853" name="OP_GroupInvite" updated="06/29/05"> <payload dir="both" typename="groupInviteStruct" sizechecktype="match"/> <comment></comment> </opcode> <opcode id="66f9" name="OP_Trader" updated="06/29/05"> <comment>People turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> <opcode id="58b2" name="OP_PetCommands" updated="06/29/05"> <comment></comment> </opcode> <opcode id="18b7" name="OP_SpawnAppearance" updated="06/29/05"> <comment>old SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> <opcode id="1a64" name="OP_DeleteSpawn" updated="06/29/05"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> <opcode id="47c9" name="OP_ReqNewZone" updated="06/29/05"> <comment>Client requesting NewZone_Struct</comment> </opcode> <opcode id="42cd" name="OP_FormattedMessage" updated="06/29/05"> <comment>old FormattedMessageCode</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> <opcode id="34e8" name="OP_DisarmTraps" updated="05/11/05"> <comment>Clicked disarm traps</comment> </opcode> <opcode id="6686" name="OP_WhoAllResponse" updated="06/29/05"> <comment>old sWhoAllOutputCode</comment> </opcode> <opcode id="0fa6" name="OP_AutoAttack2" updated="06/29/05"> <comment></comment> </opcode> <opcode id="217b" name="OP_HPUpdate" updated="06/29/05"> <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> <opcode id="147d" name="OP_GuildMemberList" updated="06/29/05"> <comment></comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> <opcode id="0342" name="OP_SetRunMode" updated="06/29/05"> <comment>old cRunToggleCode</comment> </opcode> <opcode id="6dd8" name="OP_AAExpUpdate" updated="06/29/05"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> <opcode id="7fec" name="OP_GetGuildMOTD" updated="06/29/05"> <comment></comment> </opcode> <opcode id="5a48" name="OP_SimpleMessage" updated="06/29/05"> <comment>old SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> <opcode id="6f64" name="OP_Hide" updated="06/29/05"> <comment></comment> </opcode> <opcode id="2baf" name="OP_SaveOnZoneReq" updated="06/29/05"> <comment></comment> </opcode> <opcode id="7e03" name="OP_ShopEnd" updated="06/29/05"> <comment>old CloseVendorCode</comment> <payload dir="both" typename="unknown" sizechecktype="none"/> </opcode> <opcode id="0ef7" name="OP_MoveDoor" updated="06/29/05"> <comment>old DoorClickCode</comment> </opcode> <opcode id="24ab" name="OP_SenseTraps" updated="06/29/05"> <comment></comment> </opcode> <opcode id="5666" name="OP_SenseHeading" updated="06/29/05"> <comment>old cSenseHeadingCode</comment> </opcode> <opcode id="33dc" name="OP_Buff" updated="06/29/05"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> <opcode id="1004" name="OP_CommonMessage" updated="06/29/05"> <comment>old ChannelMessageCode</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> <opcode id="20b2" name="OP_LootComplete" updated="06/29/05"> <comment>old sDoneLootingCode</comment> </opcode> <opcode id="0990" name="OP_EnvDamage" updated="06/29/05"> <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> <opcode id="6a53" name="OP_Split" updated="06/29/05"> <comment></comment> </opcode> <opcode id="48fe" name="OP_Surname" updated="06/29/05"> <comment></comment> </opcode> <opcode id="2ec9" name="OP_ZoneEntry" updated="06/29/05"> <comment>old ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="ServerZoneEntryStruct" sizechecktype="match"/> </opcode> <opcode id="1de7" name="OP_FinishTrade" updated="05/11/05"> <comment>Trade is over</comment> </opcode> <opcode id="3c4b" name="OP_ShopRequest" updated="06/29/05"> <comment>old OpenVendorCode</comment> <payload dir="both" typename="unknown" sizechecktype="none"/> </opcode> <opcode id="7657" name="OP_MoveItem" updated="06/29/05"> <comment>Client moving an item from one slot to another</comment> </opcode> <opcode id="5ee8" name="OP_ZoneSpawns" updated="06/29/05"> <comment>old ZoneSpawnsCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="modulus"/> </opcode> <opcode id="763b" name="OP_FaceChange" updated="06/29/05"> <comment>/face</comment> </opcode> <opcode id="1b48" name="OP_GroupFollow" updated="06/29/05"> <payload dir="both" typename="groupFollowStruct" sizechecktype="match"/> <comment>Accepting to join a group</comment> </opcode> <opcode id="3397" name="OP_ItemPacket" updated="06/29/05"> <comment>old ItemCode</comment> <payload dir="server" typename="itemPacketStruct" sizechecktype="none"/> </opcode> <opcode id="1d43" name="OP_ItemLinkResponse" updated="06/29/05"> <comment>old ItemInfoCode</comment> <payload dir="server" typename="itemInfoStruct" sizechecktype="none"/> <payload dir="client" typename="itemInfoReqStruct" sizechecktype="none"/> </opcode> <opcode id="4312" name="OP_Sneak" updated="06/29/05"> <comment>Clicked sneak</comment> </opcode> <opcode id="5e20" name="OP_ClientReady" updated="06/29/05"> <comment></comment> </opcode> <opcode id="60ef" name="OP_ZoneChange" updated="06/29/05"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> <opcode id="1235" name="OP_RequestZoneChange" updated="06/29/05"> <comment>Send by server when a click causes zone. Also, origin</comment> <payload dir="server" typename="requestZoneChangeStruct" sizechecktype="match"/> </opcode> <opcode id="775d" name="OP_SendZonePoints" updated="06/29/05"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> <opcode id="05ac" name="OP_MemorizeSpell" updated="06/29/05"> <comment>old MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> <opcode id="42c9" name="OP_GroupCancelInvite" updated="06/29/05"> <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/> <comment>Declining to join a group</comment> </opcode> <opcode id="53e5" name="OP_ItemLinkClick" updated="06/29/05"> <comment></comment> </opcode> <opcode id="36b2" name="OP_SwapSpell" updated="06/29/05"> <comment>old TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> <opcode id="7ac5" name="OP_NewZone" updated="06/29/05"> <comment>old NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> <opcode id="7c32" name="OP_Forage" updated="06/29/05"> <comment>old ForageCode</comment> </opcode> <opcode id="6380" name="OP_ConsentResponse" updated="06/29/05"> <comment>Server replying with consent information after /consent</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> <opcode id="524e" name="OP_BazaarSearch" updated="06/29/05"> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> <payload dir="server" typename="utf8" sizechecktype="none"/> <comment>Bazaar search tool</comment> </opcode> <opcode id="4f11" name="OP_NewSpawn" updated="06/29/05"> <comment>old NewSpawnCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="match"/> </opcode> <opcode id="601d" name="OP_WearChange" updated="06/29/05"> <comment>old SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> <opcode id="4513" name="OP_Action" updated="06/29/05"> <comment></comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> </opcode> <opcode id="7ac2" name="OP_InitialHPUpdate" updated="06/29/05"> <comment>First NpcHpUpdateCode Update HP % of a PC or NPC, subsequence in this zone will be OP_HPUpdate</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> <opcode id="5ef7" name="OP_SpecialMesg" updated="06/29/05"> <comment>Communicate textual info to client</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> <opcode id="2274" name="OP_TargetMouse" updated="06/29/05"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> <opcode id="372f" name="OP_TradeRequest" updated="06/29/05"> <comment>Client request trade session</comment> </opcode> <opcode id="4c24" name="OP_SpawnDoor" updated="06/29/05"> <comment>old DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> <opcode id="7187" name="OP_LeaveBoat" updated="06/29/05"> <comment></comment> </opcode> <opcode id="65ca" name="OP_Weather" updated="06/29/05"> <comment>old WeatherCode</comment> </opcode> <opcode id="75df" name="OP_PlayerProfile" updated="06/29/05"> <comment>old CharProfileCode</comment> <payload dir="server" typename="charProfileStruct" sizechecktype="match"/> </opcode> <opcode id="45d0" name="OP_LFPGetMatchesRequest" updated="06/29/05"> <comment></comment> </opcode> <opcode id="5711" name="OP_FindResponse" updated="06/29/05"> <comment></comment> </opcode> <opcode id="1f21" name="OP_RaidInvite" updated="06/29/05"> <comment></comment> </opcode> <opcode id="7441" name="OP_Illusion" updated="06/29/05"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> <opcode id="7752" name="OP_AckPacket" updated="06/29/05"> <comment>Appears to be generic ack at the presentation level</comment> </opcode> <opcode id="0f8e" name="OP_TraderBuy" updated="06/29/05"> <comment>buy from a trader in bazaar</comment> </opcode> <opcode id="2dd6" name="OP_InspectAnswer" updated="06/29/05"> <comment>old InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> <opcode id="692c" name="OP_GMKill" updated="06/29/05"> <comment>GM /kill - Insta kill mob/pc</comment> </opcode> <opcode id="2fca" name="OP_MoneyOnCorpse" updated="06/29/05"> <comment>old MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> <opcode id="700d" name="OP_ClickDoor" updated="06/29/05"> <comment>old DoorOpenCode</comment> <payload dir="both" typename="uint8_t" sizechecktype="none"/> </opcode> <opcode id="17a2" name="OP_GuildPublicNote" updated="06/29/05"> <comment></comment> </opcode> <opcode id="2316" name="OP_LootRequest" updated="06/29/05"> <comment>old cLootCorpseCode</comment> </opcode> <opcode id="2e20" name="OP_YellForHelp" updated="06/29/05"> <comment></comment> </opcode> <opcode id="0b2d" name="OP_ManaChange" updated="06/29/05"> <comment>Mana change. Bards send this up with no size. Casters receive this for mana updates.</comment> <payload dir="server" typename="manaDecrementStruct" sizechecktype="match"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> <opcode id="0af6" name="OP_ShopPlayerBuy" updated="05/11/05"> <comment>old BuyItemCode</comment> </opcode> <opcode id="4e8c" name="OP_ConsentDeny" updated="06/29/05"> <comment>/deny someone</comment> <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/> </opcode> <opcode id="35a6" name="OP_LFPCommand" updated="06/29/05"> <comment>looking for players</comment> </opcode> <opcode id="5463" name="OP_TradeCoins" updated="05/11/05"> <comment>Coins put in trade window</comment> </opcode> <opcode id="6cd5" name="OP_RandomReply" updated="06/29/05"> <comment>old RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> <opcode id="7c66" name="OP_DenyResponse" updated="06/29/05"> <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> <opcode id="66ba" name="OP_GroupUpdate" updated="06/29/05"> <payload dir="server" typename="groupFullUpdateStruct" sizechecktype="match"/> <payload dir="server" typename="groupUpdateStruct" sizechecktype="match"/> <comment></comment> </opcode> <opcode id="673c" name="OP_ConsiderCorpse" updated="06/29/05"> <comment>old cConCorpseCode</comment> </opcode> <opcode id="0065" name="OP_TradeAcceptClick" updated="06/29/05"> <comment>One side clicks Accept on the trade</comment> </opcode> <opcode id="1580" name="OP_TimeOfDay" updated="06/29/05"> <comment>old TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> <opcode id="28f2" name="OP_ConfirmDelete" updated="06/29/05"> <comment>Client sends this to server to confirm op_deletespawn</comment> </opcode> <opcode id="3d2d" name="OP_MobHealth" updated="06/29/05"> <comment>health sent when a player clicks on the mob</comment> </opcode> <opcode id="21e0" name="OP_RandomReq" updated="06/29/05"> <comment>old RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> <opcode id="4839" name="OP_CastSpell" updated="06/29/05"> <comment>old StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> <opcode id="14cb" name="OP_ClientUpdate" updated="06/29/05"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> <opcode id="0375" name="OP_Report" updated="06/29/05"> <comment></comment> </opcode> <opcode id="736b" name="OP_GroundSpawn" updated="06/29/05"> <comment>old MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="match"/> </opcode> <opcode id="0dfe" name="OP_TargetCommand" updated="06/29/05"> <comment>Target user</comment> </opcode> <opcode id="63fe" name="OP_LFPGetMatchesResponse" updated="06/29/05"> <comment></comment> </opcode> <opcode id="4dbc" name="OP_Jump" updated="06/29/05"> <comment>old cJumpCode?</comment> </opcode> <opcode id="5ecd" name="OP_ExpUpdate" updated="06/29/05"> <comment>old ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> <opcode id="3c41" name="OP_FindPersonRequest" updated="06/29/05"> <comment>Control-F Find</comment> </opcode> <opcode id="3af4" name="OP_AAAction" updated="06/29/05"> <comment>Used for changing percent, buying? and activating skills</comment> </opcode> <opcode id="5188" name="OP_Death" updated="06/29/05"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> <opcode id="0c81" name="OP_GMLastName" updated="06/29/05"> <comment>GM /lastname - Change user lastname</comment> </opcode> <opcode id="0840" name="OP_TradeSkillCombine" updated="06/29/05"> <comment></comment> </opcode> <opcode id="2ecc" name="OP_InitialMobHealth" updated="06/29/05"> <comment>Initial health sent when a player clicks on the mob. Subsequent updated will be OP_MobHealth</comment> </opcode> <opcode id="1fe1" name="OP_LFGResponse" updated="05/11/05"> <comment></comment> </opcode> <opcode id="06c5" name="OP_LFGGetMatchesResponse" updated="06/29/05"> <comment></comment> </opcode> <opcode id="14ef" name="OP_Mend" updated="06/29/05"> <comment></comment> </opcode> <opcode id="1ffa" name="OP_MendHPUpdate" updated="05/11/05"> <comment></comment> </opcode> <opcode id="224d" name="OP_Feedback" updated="06/29/05"> <comment>/feedback</comment> </opcode> <opcode id="5639" name="OP_TributeUpdate" updated="06/29/05"> <comment>Tribute information</comment> </opcode> <opcode id="185c" name="OP_TributeInfo" updated="05/11/05"> <comment>Tribute information</comment> </opcode> <opcode id="53c4" name="OP_CompletedTasks" updated="06/29/05"> <comment>Task history for task window</comment> </opcode> <opcode id="2a28" name="OP_CustomTitles" updated="06/29/05"> <comment>List of available titles</comment> </opcode> <opcode id="74ab" name="OP_Stamina" updated="06/29/05"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> <opcode id="6a93" name="OP_SkillUpdate" updated="06/29/05"> <comment>old SkillIncCode</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> <opcode id="3230" name="OP_SpawnRename" updated="06/29/05"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> <opcode id="6d44" name="OP_LevelUpdate" updated="06/29/05"> <comment>old LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> <opcode id="48c2" name="OP_Logout" updated="06/29/05"> <comment></comment> <payload dir="server" typename="none" sizechecktype="match"/> </opcode> <opcode id="5f54" name="OP_Animation" implicitlen="4" updated="05/11/05"> <comment></comment> </opcode> <opcode id="682d" name="OP_TaskDescription" updated="06/29/05"> <comment>Task descriptions coming down for task window</comment> </opcode> <opcode id="3ba8" name="OP_TaskActivity" updated="06/29/05"> <comment>Task activity descriptions coming down for task window</comment> </opcode> <opcode id="0587" name="OP_SendExpZonein" updated="06/29/05"> <comment>Both directions. Negotiating sending of exp info.</comment> </opcode> <opcode id="7709" name="OP_SetServerFilter" updated="06/29/05"> <comment>Client telling server /filter information</comment> </opcode> <opcode id="5e51" name="OP_TGB" updated="06/29/05"> <comment>Client telling server to set targetgroupbuff</comment> </opcode> </seqopcodes> --- filters.conf.dist DELETED --- Index: Makefile.am =================================================================== RCS file: /cvsroot/seq/showeq/conf/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile.am 11 May 2002 17:16:06 -0000 1.2 +++ Makefile.am 13 Sep 2005 15:23:08 -0000 1.3 @@ -1,5 +1,5 @@ -pkgdata_DATA=$(wildcard *.xml* *.dtd*) +pkgdata_DATA = $(wildcard *.xml *.dtd) -EXTRA_DIST=$(pkgdata_DATA) README +EXTRA_DIST = $(pkgdata_DATA) README -MAINTAINERCLEANFILES= Makefile.in .\#Makefile.in.* +MAINTAINERCLEANFILES = Makefile.in .\#Makefile.in.* --- NEW FILE: worldopcodes.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE seqopcodes SYSTEM "seqopcodes.dtd"> <seqopcodes> <!-- OLD OPCODES - these need updating still post 1/26/2005 <opcode id="02a5" name="OP_UserCompInfo" updated="02/10/04"> <comment>User submitted computer information</comment> </opcode> <opcode id="02db" name="OP_LoginComplete" updated="02/10/04"> <comment></comment> </opcode> --> <opcode id="407c" name="OP_ZoneServerInfo" updated="06/29/05"> <comment>old ZoneServerInfo</comment> </opcode> <opcode id="732c" name="OP_SendCharInfo" updated="06/29/05"> <comment>Send all chars visible @ char select</comment> </opcode> <opcode id="7fea" name="OP_MOTD" updated="06/29/05"> <comment>old MOTDCode Server message of the day</comment> <payload dir="server" typename="worldMOTDStruct" sizechecktype="none"/> </opcode> <opcode id="6957" name="OP_GuildList" updated="06/29/05"> <comment>old GuildListCode</comment> <payload dir="server" typename="worldGuildListStruct" sizechecktype="match"/> </opcode> <opcode id="6238" name="OP_SetChatServer" updated="06/29/05"> <comment>Chatserver? IP,Port,servername.Charname,password(?)</comment> </opcode> <opcode id="6536" name="OP_SetChatServer2" updated="06/29/05"> <comment>Chatserver? IP,Port,servername.Charname,password(?)</comment> </opcode> <opcode id="41b1" name="OP_ApproveWorld" updated="06/29/05"> <comment></comment> </opcode> <opcode id="4668" name="OP_LogServer" updated="06/29/05"> <comment></comment> </opcode> <opcode id="2792" name="OP_SendLoginInfo" updated="06/29/05"> <comment>Client starting world session by asking for login information</comment> </opcode> <opcode id="509d" name="OP_WorldComplete" updated="06/29/05"> <comment>Client telling world server it is done. World replies by disconnecting.</comment> </opcode> <opcode id="254d" name="OP_World_Client_CRC1" updated="06/29/05"> <comment>Contains a snippet of spell data</comment> </opcode> <opcode id="16c9" name="OP_World_Client_CRC2" updated="06/29/05"> <comment>Second client verification packet</comment> </opcode> <opcode id="5c78" name="OP_ExpansionInfo" updated="06/29/05"> <comment>Which expansions user has</comment> </opcode> <opcode id="7262" name="OP_EnterWorld" updated="06/29/05"> <comment>Server approval for client to enter world</comment> </opcode> <opcode id="0920" name="OP_DeleteCharacter" updated="06/29/05"> <comment>Delete character @ char select</comment> </opcode> <opcode id="6160" name="OP_CharacterCreate" updated="06/29/04"> <comment>Create character @ char select</comment> </opcode> <opcode id="46b1" name="OP_ApproveName" updated="06/29/04"> <comment>Approving new character name @ char creation</comment> </opcode> <opcode id="23d4" name="OP_RandomNameGenerator" updated="06/29/05"> <comment>Returns a random name</comment> </opcode> </seqopcodes> --- NEW FILE: seqopcodes.dtd --- <!ELEMENT seqopcodes (opcode)* > <!ATTLIST seqopcodes version CDATA #IMPLIED> <!ELEMENT opcode (comment|payload)* > <!ATTLIST opcode id CDATA #REQUIRED name CDATA "" updated CDATA ""> <!ELEMENT comment (#PCDATA)> <!ELEMENT payload EMPTY> <!ATTLIST payload dir CDATA "both" typename CDATA "" sizechecktype CDATA "none"> Index: seqdef.xml =================================================================== RCS file: /cvsroot/seq/showeq/conf/seqdef.xml,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- seqdef.xml 25 Oct 2003 00:20:59 -0000 1.20 +++ seqdef.xml 13 Sep 2005 15:23:08 -0000 1.21 @@ -30,16 +30,20 @@ <comment>Don't use promiscous mode</comment> </property> <property name="ArqSeqGiveUp" > - <int value="256" /> - <comment>Give up waiting for seq arq after cache fills to this size. Don't set this too low, otherwise showeq will artificially skip packets, minimum is 32, modem users may want to set 256, dsl and cable users may choose 128 or less</comment> + <int value="512" /> + <comment>Give up waiting for seq arq after cache fills to this size. Don't set this too low, otherwise showeq will artificially skip packets, minimum is 32, modem users may want to set 512, dsl and cable users may choose 256 or less</comment> </property> <property name="SessionTracking" > <bool value="false" /> <comment>enable/disable session tracking</comment> </property> - <property name="BrokenDecode" > - <bool value="false" /> - <comment>set to true to skip decoding of spawn packets</comment> + <property name="WorldOPCodes" > + <string value="worldopcodes.xml" /> + <comment>Name of the file containing data about world opcodes</comment> + </property> + <property name="ZoneOPCodes" > + <string value="zoneopcodes.xml" /> + <comment>Name of the file containing data about zone opcodes</comment> </property> </section> <!-- ============================================================= --> @@ -593,7 +597,7 @@ <comment>Display the mouse location</comment> </property> <property name="ShowPlayerLocation" > - <bool value="true" /> + <bool value="false" /> <comment>Display the player location</comment> </property> <property name="ShowFrameRate" > @@ -893,7 +897,7 @@ <comment>Display the mouse location</comment> </property> <property name="ShowPlayerLocation" > - <bool value="true" /> + <bool value="false" /> <comment>Display the player location</comment> </property> <property name="ShowFrameRate" > @@ -1193,7 +1197,7 @@ <comment>Display the mouse location</comment> </property> <property name="ShowPlayerLocation" > - <bool value="true" /> + <bool value="false" /> <comment>Display the player location</comment> </property> <property name="ShowFrameRate" > @@ -1493,7 +1497,7 @@ <comment>Display the mouse location</comment> </property> <property name="ShowPlayerLocation" > - <bool value="true" /> + <bool value="false" /> <comment>Display the player location</comment> </property> <property name="ShowFrameRate" > @@ -1793,7 +1797,7 @@ <comment>Display the mouse location</comment> </property> <property name="ShowPlayerLocation" > - <bool value="true" /> + <bool value="false" /> <comment>Display the player location</comment> </property> <property name="ShowFrameRate" > @@ -2079,7 +2083,10 @@ <bool value="false" /> <comment>Log zone packets to zone log file</comment> </property> - <property name="LogUnknownZonePackets" > + <property name="LogBazaarPackets" > + <bool value="false" /> + <comment>Log bazaar packets to bazaar log file</comment> + </property> <property name="LogUnknownZonePackets" > <bool value="false" /> <comment>Log unknown packets to unknown zone log file</comment> </property> @@ -2092,19 +2099,23 @@ <comment>log encrypted packets to encrypted log file</comment> </property> <property name="GlobalLogFilename" > - <string value="/usr/local/share/showeq/global.log" /> + <string value="global.log" /> <comment>Global log file (enabled with LogAllPackets)</comment> </property> <property name="ZoneLogFilename" > - <string value="/usr/local/share/showeq/zone.log" /> + <string value="zone.log" /> <comment>Zone log file (enabled with LogZonePackets)</comment> + </property> + <property name="BazaarLogFilename" > + <string value="bazaar.log" /> + <comment>Zone log file (enabled with LogBazaarPackets)</comment> </property> - <property name="UnknownZoneLogFilename" > - <string value="/usr/local/share/showeq/unknownzone.log" /> + <property name="UnknownZoneLogFilename" > + <string value="unknownzone.log" /> <comment>Unknown Zone log file (enabled with LogUnknownZonePackets)</comment> </property> <property name="EncryptedLogFilenameBase" > - <string value="/usr/local/share/showeq/encrypted" /> + <string value="encrypted" /> <comment>Encrypted log file (enabled with LogEncrypted)</comment> </property> <property name="PktLoggerMask" > @@ -2112,7 +2123,7 @@ <comment></comment> </property> <property name="PktLoggerFilename" > - <string value="/usr/local/share/showeq/packet.log" /> + <string value="packet.log" /> <comment></comment> </property> </section> @@ -2156,24 +2167,12 @@ <!-- Filter options --> <section name="Filters" > <property name="FilterFile" > - <string value="/usr/local/share/showeq/filters.conf" /> + <string value="global.xml" /> <comment>Name of default filter file</comment> </property> - <property name="LogLocates" > - <bool value="false" /> - <comment>Log spawns that match Locate filter</comment> - </property> - <property name="LogHunts" > - <bool value="false" /> - <comment>Log spawns that match Hunt filter</comment> - </property> - <property name="LogCautions" > - <bool value="false" /> - <comment>Log spawns that match Caution filter</comment> - </property> - <property name="LogDangers" > - <bool value="false" /> - <comment>Log spawns that match Danger filter</comment> + <property name="Log" > + <int value="0" /> + <comment>Log spawns that match the specified logable filters</comment> </property> <property name="IsCaseSensitive" > <bool value="false" /> @@ -2220,7 +2219,7 @@ <!-- Item Database Options --> <section name="ItemDB" > <property name="Enabled" > - <bool value="true" /> + <bool value="false" /> <comment>Enables ItemDB, setting to false will disable all ItemDB functionality within ShowEQ</comment> </property> <property name="DatabasesEnabled" > @@ -2366,11 +2365,11 @@ <comment>Display compass</comment> </property> <property name="ShowPlayerSkills" > - <bool value="true" /> + <bool value="false" /> <comment>Display Player Skill List</comment> </property> <property name="ShowPlayerStats" > - <bool value="true" /> + <bool value="false" /> <comment>Display Player Stats List</comment> </property> <property name="ShowSpawnList" > @@ -2382,7 +2381,7 @@ <comment>Display New Spawn List</comment> </property> <property name="ShowSpawnPointList" > - <bool value="false" /> + <bool value="true" /> <comment>Display Spawn Point List</comment> </property> <property name="ShowExpWindow" > @@ -2394,7 +2393,7 @@ <comment>Display Combat Window</comment> </property> <property name="ShowSpellList" > - <bool value="false" /> + <bool value="true" /> <comment>Display Spell List</comment> </property> <property name="SystimeSpawntime" > @@ -2426,11 +2425,11 @@ <comment>Display Map 5</comment> </property> <property name="DockedPlayerSkills" > - <bool value="true" /> + <bool value="false" /> <comment>Dock Player Skill List</comment> </property> <property name="DockedPlayerStats" > - <bool value="true" /> + <bool value="false" /> <comment>Dock Player Stats</comment> </property> <property name="DockedSpawnList" > @@ -2470,23 +2469,38 @@ <comment>Dock Compass</comment> </property> <property name="FormatFile" > - <string value="/usr/local/share/showeq/eqstr_us.txt" /> + <string value="eqstr_us.txt" /> <comment>Location of file containing formatted strings</comment> </property> <property name="SpellsFile" > - <string value="/usr/local/share/showeq/spells_us.txt" /> + <string value="spells_us.txt" /> <comment>Location of file containing spell information</comment> </property> <property name="NoBank" > <bool value="true" /> <comment>set to true to print bank/inventory items to stdout</comment> </property> + <property name="DockingInfo" > + <comment>Automatically generated window position information</comment> + <string value=" +ShowEQ - Experience,ShowEQ Combat, +[ShowEQ - Experience,400,360,800,480,0][ShowEQ Combat,400,360,800,480,0] + + + + + + +ShowEQ - Spawn List 2,ShowEQ - Spawn Points,ShowEQ - Spell List,Map , +[ShowEQ - Spawn List 2,64,1,378,190,1][ShowEQ - Spawn Points,0,0,378,118,1][ShowEQ - Spell List,0,0,378,136,1][Map ,0,1,378,766,1] +" /> + </property> <property name="GuildsFile" > - <string value="/usr/local/share/showeq/guilds2.dat" /> + <string value="guilds2.dat" /> <comment>Location of file containing guild strings</comment> </property> <property name="GuildsDumpFile" > - <string value="/usr/local/share/showeq/guilds.txt" /> + <string value="guilds.txt" /> <comment>Location to write plain text file containing guild strings</comment> </property> </section> @@ -2518,7 +2532,7 @@ <comment>number of milliseconds between spawn list saves</comment> </property> <property name="BaseFilename" > - <string value="/usr/local/share/showeq/last" /> + <string value="last" /> <comment>Base filename used to construct the others, so for example the DecodeKey would be in /usr/local/share/showeq/lastKey.dat using the default location</comment> </property> </section> @@ -2588,7 +2602,7 @@ <bool value="false" /> </property> <property name="LogFilename" > - <string value="/usr/local/share/showeq/opcodemonitor.log" /> + <string value="opcodemonitor.log" /> </property> </section> <!-- ============================================================= --> @@ -2678,7 +2692,7 @@ <string value="NPC:2" /> <comment>regular expression to match all PC corpses</comment> </property> - <property name="Category6_Color" > + <property name="Category6_Color"> <color name="black" /> <comment></comment> </property> @@ -2756,247 +2770,381 @@ </property> </section> <!-- ============================================================= --> -<!-- Message Box 1 Options --> - <section name="MessageBox1" > +<!-- Message Window 1 Options --> + <section name="MessageWindow1"> <property name="Caption" > <string value="ShowEQ - Channel Messages" /> <comment>Window caption</comment> </property> - <property name="HideControls" > - <bool value="false" /> - <comment>Displays the toggle buttons</comment> - </property> - <property name="ShowMsgType" > + <property name="Create" > <bool value="true" /> - <comment>Displays the message type</comment> + <comment>Causes this window to be created</comment> </property> - <property name="Additive" > - <bool value="true" /> - <comment>Selects additive or subtractive filtering</comment> + <property name="DefaultColor"> + <color name="black" /> </property> - <property name="Button1Name" > - <string value="Shout" /> - <comment>Name to put on button 1</comment> + <property name="DefaultBGColor"> + <color name="white" /> </property> - <property name="Button1Filter" > - <string value="^Shout" /> - <comment>Filter to use for button 1</comment> + <property name="GuildColor"> + <color name="green" /> </property> - <property name="Button1Color" > - <color name="black" /> - <comment>Color for button 1</comment> + <property name="GroupColor"> + <color name="cyan" /> </property> - <property name="Button1Active" > - <bool value="true" /> - <comment>Button 1 checked/unchecked state</comment> + <property name="ShoutColor"> + <color name="red" /> </property> - <property name="Button2Name" > - <string value="Group" /> - <comment>Button Name</comment> + <property name="AuctionBGColor"> + <color name="green" /> </property> - <property name="Button2Filter" > - <string value="^Group" /> - <comment>Filter for button</comment> + <property name="OOCColor"> + <color name="darkGreen" /> </property> - <property name="Button2Color" > - <color name="black" /> - <comment>Color</comment> + <property name="TellColor"> + <color name="magenta" /> </property> - <property name="Button2Active" > - <bool value="true" /> - <comment>Button state</comment> + <property name="SayColor"> + <color name="green" /> </property> - <property name="Button3Name" > - <string value="Tell" /> - <comment>Button Name</comment> + <property name="GMTellColor"> + <color name="red" /> </property> - <property name="Button3Filter" > - <string value="^Tell" /> - <comment>Filter for button</comment> + <property name="RaidColor"> + <color name="darkCyan" /> </property> - <property name="Button3Color" > - <color name="black" /> - <comment>Color</comment> + <property name="SpellColor"> + <color name="blue" /> </property> - <property name="Button3Active" > - <bool value="true" /> - <comment>Button state</comment> + <property name="AlertBGColor"> + <color name="magenta" /> </property> - <property name="Button4Name" > - <string value="Auc" /> - <comment>Button Name</comment> + <property name="DangerBGColor"> + <color name="red" /> </property> - <property name="Button4Filter" > - <string value="^Auc" /> - <comment>Filter for button</comment> + <property name="CautionBGColor"> + <color name="yellow" /> </property> - <property name="Button4Color" > - <color name="black" /> - <comment>Color</comment> + <property name="HuntBGColor"> + <color name="cyan" /> </property> - <property name="Button4Active" > - <bool value="true" /> - <comment>Button state</comment> + <property name="LocateBGColor"> + <color name="blue" /> </property> - <property name="Button5Name" > - <string value="Say" /> - <comment>Button Name</comment> + </section> +<!-- ============================================================= --> +<!-- Message Window 2 Options --> + <section name="MessageWindow2"> + <property name="Caption" > + <string value="ShowEQ - Channel Messages 2" /> + <comment>Window caption</comment> </property> - <property name="Button5Filter" > - <string value="^Say" /> - <comment>Filter for button</comment> + <property name="Create" > + <bool value="true" /> + <comment>Causes this window to be created</comment> </property> - <property name="Button5Color" > + <property name="DefaultColor"> <color name="black" /> - <comment>Color</comment> </property> - <property name="Button5Active" > - <bool value="true" /> - <comment>Button state</comment> + <property name="DefaultBGColor"> + <color name="white" /> </property> - <property name="Button6Name" > - <string value="Emote" /> - <comment>Button Name</comment> + <property name="GuildColor"> + <color name="green" /> </property> - <property name="Button6Filter" > - <string value="^Emote" /> - <comment>Filter for button</comment> + <property name="GroupColor"> + <color name="cyan" /> </property> - <property name="Button6Color" > - <color name="black" /> - <comment>Color</comment> + <property name="ShoutColor"> + <color name="red" /> </property> - <property name="Button6Active" > - <bool value="true" /> - <comment>Button state</comment> + <property name="AuctionBGColor"> + <color name="green" /> </property> - <property name="Button7Name" > - <string value="OOC" /> - <comment>Button Name</comment> + <property name="OOCColor"> + <color name="darkGreen" /> </property> - <property name="Button7Filter" > - <string value="^OOC" /> - <comment>Filter for button</comment> + <property name="TellColor"> + <color name="magenta" /> </property> - <property name="Button7Color" > - <color name="black" /> - <comment>Color</comment> + <property name="SayColor"> + <color name="green" /> </property> - <property name="Button7Active" > - <bool value="true" /> - <comment>Button state</comment> + <property name="GMTellColor"> + <color name="red" /> </property> - <property name="Button8Name" > - <string value="Guild" /> - <comment>Button Name</comment> + <property name="RaidColor"> + <color name="darkCyan" /> </property> - <property name="Button8Filter" > - <string value="^Guild" /> - <comment>Filter for button</comment> + <property name="SpellColor"> + <color name="blue" /> </property> - <property name="Button8Color" > - <color name="black" /> - <comment>Color</comment> + <property name="AlertBGColor"> + <color name="magenta" /> </property> - <property name="Button8Active" > - <bool value="true" /> - <comment>Button state</comment> + <property name="DangerBGColor"> + <color name="red" /> </property> - <property name="Button9Name" > - <string value="Form" /> - <comment>Button Name</comment> + <property name="CautionBGColor"> + <color name="yellow" /> </property> - <property name="Button9Filter" > - <string value="^Formatted:" /> - <comment>Filter for button</comment> + <property name="HuntBGColor"> + <color name="cyan" /> </property> - <property name="Button9Color" > + <property name="LocateBGColor"> + <color name="blue" /> + </property> + </section> +<!-- ============================================================= --> +<!-- Message Window 3 Options --> + <section name="MessageWindow3"> + <property name="Caption" > + <string value="ShowEQ - Channel Messages 3" /> + <comment>Window caption</comment> + </property> + <property name="Create" > + <bool value="false" /> + <comment>Causes this window to be created</comment> + </property> + <property name="DefaultColor"> <color name="black" /> - <comment>Color</comment> </property> - <property name="Button9Active" > - <bool value="true" /> - <comment>Button state</comment> + <property name="DefaultBGColor"> + <color name="white" /> </property> - <property name="Button10Name" > - <string value="Spells" /> - <comment>Button Name</comment> + <property name="GuildColor"> + <color name="green" /> </property> - <property name="Button10Filter" > - <string value="^SPELL:" /> - <comment>Filter for button</comment> + <property name="GroupColor"> + <color name="cyan" /> </property> - <property name="Button10Color" > - <color name="black" /> - <comment>Color</comment> + <property name="ShoutColor"> + <color name="red" /> </property> - <property name="Button10Active" > - <bool value="true" /> - <comment>Button state</comment> + <property name="AuctionBGColor"> + <color name="green" /> </property> - <property name="Button11Name" > - <string value="Items" /> - <comment>Button Name</comment> + <property name="OOCColor"> + <color name="darkGreen" /> </property> - <property name="Button11Filter" > - <string value="^Item" /> - <comment>Filter for button</comment> + <property name="TellColor"> + <color name="magenta" /> </property> - <property name="Button11Color" > - <color name="black" /> - <comment>Color</comment> + <property name="SayColor"> + <color name="green" /> </property> - <property name="Button11Active" > - <bool value="false" /> - <comment>Button state</comment> + <property name="GMTellColor"> + <color name="red" /> </property> - <property name="Button12Name" > - <string value="Zone" /> - <comment>Button Name</comment> + <property name="RaidColor"> + <color name="darkCyan" /> </property> - <property name="Button12Filter" > - <string value="^Zone" /> - <comment>Filter for button</comment> + <property name="SpellColor"> + <color name="blue" /> </property> - <property name="Button12Color" > - <color name="black" /> - <comment>Color</comment> + <property name="AlertBGColor"> + <color name="magenta" /> </property> - <property name="Button12Active" > - <bool value="false" /> - <comment>Button state</comment> + <property name="DangerBGColor"> + <color name="red" /> </property> - <property name="Button13Name" > - <string value="" /> - <comment>Button Name</comment> + <property name="CautionBGColor"> + <color name="yellow" /> </property> - <property name="Button13Color" > - <color name="black" /> - <comment>Color</comment> + <property name="HuntBGColor"> + <color name="cyan" /> </property> - <property name="Button13Filter" > - <string value="" /> - <comment>Filter for button</comment> + <property name="LocateBGColor"> + <color name="blue" /> </property> - <property name="Button13Active" > + </section> +<!-- ============================================================= --> +<!-- Message Window 4 Options --> + <section name="MessageWindow4"> + <property name="Caption" > + <string value="ShowEQ - Channel Messages 4" /> + <comment>Window caption</comment> + </property> + <property name="Create" > <bool value="false" /> - <comment>Button state</comment> + <comment>Causes t... [truncated message content] |
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14505 Modified Files: BUGS COPYING FAQ INSTALL INSTALL.newbies Makefile.am Makefile.dist README ROADMAP TODO acinclude.m4 configure.in Added Files: AUTHORS ChangeLog Doxyfile NEWS doxygen.am doxygen.cfg showeq.kdevelop Removed Files: CHANGES conf.h.in install-sh missing mkinstalldirs showeq.kdevprj Log Message: Merged pre_5_0_beta down to the trunk. pre_5_0_beta should be treated as closed. All future development will occur on the branch. Updated version to 5.1.0.0 in preparation for new expansion release pending fixes for live compatibility. --- mkinstalldirs DELETED --- Index: Makefile.dist =================================================================== RCS file: /cvsroot/seq/showeq/Makefile.dist,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile.dist 21 Feb 2003 20:55:47 -0000 1.3 +++ Makefile.dist 13 Sep 2005 15:23:08 -0000 1.4 @@ -1,13 +1,174 @@ -#!/bin/bash -=- Ignore this, it's here so that VIM will format colors correctly. -default: all +LIBTOOLIZE = libtoolize +ACLOCAL = aclocal +AUTOHEADER = autoheader +AUTOMAKE = automake +AUTOCONF = autoconf +LIBTOOLIZE_ARGS = --force --copy --automake +ACLOCAL_ARGS = -I m4 +AUTOHEADER_ARGS = --force +AUTOMAKE_ARGS = --add-missing --copy --include-deps +AUTOCONF_ARGS = -all: +default: + @echo "***************************************************************" + @echo "Are you really sure you want to be running this makefile?" + @echo "Unless your are a developer you probably don't want" + @echo "to use this file. " + @if [ -d CVS ]; then \ + echo ""; \ + echo "In which case you should probably just use the tarball."; \ + echo "and not a direct checkout from CVS like this."; \ + fi + @if [ -f configure ]; then \ + echo ""; \ + echo "You probably just need to run './configure'."; \ + fi + @echo "" + @echo "***************************************************************" + @echo "" + @echo "" + @echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" + @echo "If you are REALLY sure that you want to make/remake the build" + @echo "system you can do so by using the 'help' target of this " + @echo "makefile to see a list of its supported targets. " + @echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" + +help: + @echo "***************************************************************" + @echo "Makefile.dist accepts the following targets:" + @echo " help - display this help" + @echo " all - performs a 'backup', and then 'build'" + @echo " backup - backs up the existing 'showeq' executable" + @echo " clean - attempts to remove all generated files" + @echo " build - performs a 'clean', and then builds the" + @echo " entire configuration system" + @echo " configure - builds configure" + @echo " autoconf - alias for 'configure'" + @echo " automake - runs 'automake' to generate 'Makefile.in'" + @echo " autoheader - runs 'autoheader' to generate 'config.h.in'" + @echo " aclocal - runs 'aclocal' to generate 'aclocal.m4'" + @echo " libtoolize - runs 'libtoolize' to setup 'libtool' support" + @echo "***************************************************************" + +all: backup build + +no-backup: build + +build: clean configure +# Pretty success message... Use of '&&' rather than ';' guarntees +# that if one portion of the compile process fails, the successor +# won't be executed. Again, this is another case of common sense. + + @echo "" + @echo "" + @echo "******************************************" + @echo "Success! Please type the following:" + @echo "" + @echo " ./configure && make && make install" + @echo "" + @echo "" + @echo "This will configure, compile, and install" + @echo "showeq " + @echo "******************************************" + @echo "" + +autoconf: configure + +configure: install-sh missing Makefile.in src/Makefile.in conf/Makefile.in configure.in Makefile.dist + @echo -n "Generating configure from configure.in......................" + @echo -e "\n*!* autoconf *!*" >> Makefile.dist.dbg + @-rm -f $@ + @$(AUTOCONF) $(AUTOCONF_ARGS) >> Makefile.dist.dbg 2>&1; + @echo "!*! autoconf !*!" >> Makefile.dist.dbg + @if [ -s "$@" ]; then { \ + echo " done!"; \ + } else { \ + echo " failed! ";\ + echo "See Makefile.dist.dbg for details"; \ + exit -1; \ + } fi + +automake: install-sh missing Makefile.in src/Makefile.in conf/Makefile.in + +install-sh missing Makefile.in src/Makefile.in conf/Makefile.in: config.h.in aclocal.m4 Makefile.dist + @echo -n "Generating Makefile.in from Makefile.am....................." + @echo -e "\n*!* automake ... *!*" >> Makefile.dist.dbg + @$(AUTOMAKE) $(AUTOMAKE_ARGS) >> Makefile.dist.dbg 2>&1 + @echo "!*! automake ... !*!" >> Makefile.dist.dbg + @if [ -s "$@" ]; then { \ + echo " done!"; \ + } else { \ + echo " failed! ";\ + echo "See Makefile.dist.dbg for details"; \ + exit -1; \ + } fi + + +autoheader: config.h.in +config.h.in: aclocal.m4 configure.in Makefile.dist + @echo -n "Generating configure headers (config.h.in).................." + @echo -e "\n*!* $$AUTOHEADER $$AUTOHEADER_ARGS configure.in *!*" >> Makefile.dist.dbg + @-rm -f config.h.in + @$(AUTOHEADER) $(AUTOHEADER_ARGS) configure.in >> Makefile.dist.dbg 2>&1; + @echo "!*! $$AUTOHEADER $$AUTOHEADER_ARGS configure.in !*!" >> Makefile.dist.dbg + @if [ -s "$@" ]; then { \ + echo " done!"; \ + } else { \ + echo " failed! ";\ + echo "See Makefile.dist.dbg for details"; \ + exit -1; \ + } fi + +aclocal: aclocal.m4 + +aclocal.m4: config.guess config.sub ltmain.sh configure.in Makefile.dist + @echo -n "Generating aclocal.m4 from configure.in....................." + @echo -e "\n*!* aclocal *!*" >> Makefile.dist.dbg + @$(ACLOCAL) $(ACLOCAL_ARGS) >> Makefile.dist.dbg 2>&1 + @echo "!*! aclocal !*!" >> Makefile.dist.dbg + @ if [ -s "$@" ]; then { \ + echo " done!"; \ + } else { \ + echo " failed! ";\ + echo "See Makefile.dist.dbg for details"; \ + exit -1; \ + } fi + +libtoolize: config.guess config.sub ltmain.sh + +config.guess config.sub ltmain.sh : configure.in Makefile.am Makefile.dist + @echo -n "Adding libtool support......................................" + @echo -e "\n*!* $$LIBTOOLIZE $$LIBTOOLIZE_ARGS *!*" \ + >> Makefile.dist.dbg + @$(LIBTOOLIZE) $(LIBTOOLIZE_ARGS) >> Makefile.dist.dbg 2>&1 + @echo "!*! $$LIBTOOLIZE $LIBTOOLIZE_ARGS !*!" >> Makefile.dist.dbg + @if [ -s "config.guess" -a "config.sub" -a "ltmain.sh" ]; then { \ + echo " done!"; \ + } else { \ + echo " failed! ";\ + echo "See Makefile.dist.dbg for details"; \ + exit -1; \ + } fi + + +clean: + @echo -n "Removing old files.........................................." + @if [ -f "Makefile" ]; then { \ + $(MAKE) -skf Makefile maintainer-clean >/dev/null; \ + } fi + @-rm -f Makefile.dist.dbg + @-rm -f configure + @-rm -f aclocal.m4 missing install-sh mkinstalldirs + @-rm -f Makefile Makefile.in src/Makefile src/Makefile.in conf/Makefile conf/Makefile.in + @-rm -fr autom4te.cache + @echo " done!" + +backup: # Backup the users current binary and place it in BACKUP/ ... # # This fixes the annoying "Build such and such destroyed my working # copy of ShowEQ!" messages on the SEQ Dev forums :) - @if [ -x "src/showeq" ] && ! [ -e ".no-backup" ]; then \ { \ mkdir -p "BACKUP"; \ @@ -124,311 +285,3 @@ \ echo "!*! BACKUP debug info !*!" >> Makefile.dist.dbg; \ } fi; - - @make -sf Makefile.dist no-backup - - -no-backup: - - @echo "-:- `exec date` -:-" > Makefile.dist.dbg - -# Don't automatically assume that a maintainer-clean is necessary. -# Only attempt to make a maintaner-clean IF the Makefile exists! -# It's a matter of common sense really :) - - @if [ -f "Makefile" ]; then \ - { \ - echo -ne "\nClearing all old Makefile data................" && \ - echo -n ".............."; \ - echo -e "\n*!* make -skf Makefile maintainer-clean *!*" \ - >> Makefile.dist.dbg; \ - make -skf Makefile maintainer-clean >> Makefile.dist.dbg 2>&1; \ - echo "!*! make -skf Makefile maintainer-clean !*!" \ - >> Makefile.dist.dbg; \ - echo " done!"; \ - echo ""; \ - echo ""; \ - } fi - - @echo -n "Adding libtool support......................................" - @echo -e "\n*!* libtoolize --force --copy --automake *!*" \ - >> Makefile.dist.dbg - @libtoolize --force --copy --automake >> Makefile.dist.dbg 2>&1 - @echo "!*! libtoolize --force --copy --automake !*!" \ - >> Makefile.dist.dbg - @echo " done!" - - @echo -n "Generating aclocal.m4 from configure.in and acinclude.m4...." - @echo -e "\n*!* aclocal *!*" >> Makefile.dist.dbg - @aclocal >> Makefile.dist.dbg 2>&1 - @echo "!*! aclocal !*!" >> Makefile.dist.dbg - @echo " done!" - - @echo -e "\n*!* Autoheader version check *!*" >> Makefile.dist.dbg - - @echo -ne "\nChecking Autoheader version...................." && \ - echo -n "............."; - - @if [ "$$AUTOHEADER" ]; then \ - { \ - echo " done!"; \ - \ - echo "!*! Autoheader version check !*!" \ - >> Makefile.dist.dbg; \ - \ - echo "Using user defined \$$AUTOHEADER: '$$AUTOHEADER'"; \ - \ - echo -ne "\nGenerating configure template (config.h)" && \ - echo -n "...................."; \ - \ - echo -e "\n*!* $$AUTOHEADER configure.in *!*" \ - >> Makefile.dist.dbg && \ - $$AUTOHEADER configure.in >> Makefile.dist.dbg 2>&1; \ - \ - echo " done!"; \ - \ - echo "!*! $$AUTOHEADER configure.in !*!" \ - >> Makefile.dist.dbg; \ - \ - } else { \ - \ - ahver=`autoheader --version 2>> Makefile.dist.dbg | \ - awk '{print $$3}'`; \ - \ - if [ "$$ahver" == "2.13" ]; then \ - { \ - ah=`type -p autoheader2.50 2> /dev/null`; \ - \ - if [ "$$ah" ]; then \ - { \ - ahver="2.50"; \ - } else { \ - ah="autoheader"; \ - } fi; \ - \ - AUTOHEADER="$$ah"; \ - \ - echo " done!"; \ - \ - echo "!*! Autoheader version check !*!" \ - >> Makefile.dist.dbg; \ - \ - echo -n ">> Using Autoheader version........" && \ - echo "......................... $$ahver!"; \ - } \ - \ - elif [ "$$ahver" ]; then \ - { \ - AUTOHEADER="autoheader"; \ - \ - echo " done!"; \ - \ - echo "!*! Autoheader version check !*!" \ - >> Makefile.dist.dbg; \ - \ - echo -n ">> Using Autoheader version........" && \ - echo "......................... $$ahver!"; \ - } fi; \ - \ - echo -ne "\nGenerating configure template (config.h)" && \ - echo -n "...................."; \ - \ - echo -e "\n*!* $$AUTOHEADER configure.in *!*" \ - >> Makefile.dist.dbg && \ - $$AUTOHEADER configure.in >> Makefile.dist.dbg 2>&1; \ - \ - echo " done!"; \ - \ - echo "!*! $$AUTOHEADER configure.in !*!" \ - >> Makefile.dist.dbg; \ - } fi; \ - \ - if ! [ -s "aclocal.m4" ]; then \ - { \ - echo ""; \ - echo "Autoheader has failed without warning!"; \ - echo ""; \ - echo "PLEASE NOTE: Your version of Autoheader sucks!"; \ - echo "UPGRADE NOW or face public humiliation..."; \ - echo ""; \ - \ - echo "FATAL ERROR: Autoheader is screwed up!!!" \ - >> Makefile.dist.dbg; \ - \ - exit -1; \ - } fi - - -# Better safe than sorry... Do these one at a time rather than doing -# them all at once. This fixes problems with older automake versions. - - @echo -n "Generating Makefile.in from Makefile.am....................." - @echo -e "\n*!* automake ... *!*" >> Makefile.dist.dbg - @automake --add-missing --foreign --include-deps ./Makefile \ - >> Makefile.dist.dbg 2>&1 - @automake --add-missing --foreign --include-deps src/Makefile \ - >> Makefile.dist.dbg 2>&1 - @automake --add-missing --foreign --include-deps maps/Makefile \ - >> Makefile.dist.dbg 2>&1 - @automake --add-missing --foreign --include-deps conf/Makefile \ - >> Makefile.dist.dbg 2>&1 - @echo "!*! automake ... !*!" >> Makefile.dist.dbg - @echo " done!" - - -# Autoconf is a major pain in the ASS!!! First try using it without -# specifying the output file, if that fails tell it off and give it -# the -o switch. -# -# -# Original script written by prox (for Debian UNSTABLE *ONLY*)... -# -# -# (10-16-2001) [Andon]: -# + Applied to *ALL* machines with the combination of Autoconf 2.13 -# AND Autoconf 2.50... -# - - @echo -e "\n*!* Autoconf version check *!*" >> Makefile.dist.dbg - - @echo -ne "\nChecking Autoconf version......................" && \ - echo -n "............."; - - @if [ "$$AUTOCONF" ]; then \ - { \ - echo " done!"; \ - \ - echo "!*! Autoconf version check !*!" \ - >> Makefile.dist.dbg; \ - \ - echo "Using user defined \$$AUTOCONF: '$$AUTOCONF'"; \ - \ - echo -ne "\nFinalizing Autoconf script (configure).." && \ - echo -n "...................."; \ - \ - echo -e "\n*!* $$AUTOCONF *!*" >> Makefile.dist.dbg && \ - $$AUTOCONF >> Makefile.dist.dbg 2>&1; \ - \ - echo " done!"; \ - \ - echo "!*! $$AUTOCONF !*!" >> Makefile.dist.dbg; \ - \ - } else { \ - \ - acver=`autoconf --version 2>> Makefile.dist.dbg | \ - awk '{print $$3}'`; \ - \ - if [ "$$acver" == "2.13" ]; then \ - { \ - ac=`type -p autoconf2.50 2> /dev/null`; \ - \ - if [ "$$ac" ]; then \ - { \ - acver="2.50"; \ - } else { \ - ac="autoconf"; \ - } fi; \ - \ - AUTOCONF="$$ac"; \ - \ - echo " done!"; \ - \ - echo "!*! Autoconf version check !*!" \ - >> Makefile.dist.dbg; \ - \ - echo -n ">> Using Autoconf version.........." && \ - echo "......................... $$acver!"; \ - } \ - \ - elif [ "$$acver" ]; then \ - { \ - AUTOCONF="autoconf"; \ - \ - echo " done!"; \ - \ - echo "!*! Autoconf version check !*!" \ - >> Makefile.dist.dbg; \ - \ - echo -n ">> Using Autoconf version.........." && \ - echo "......................... $$acver!"; \ - } fi; \ - \ - echo -ne "\nFinalizing Autoconf script (configure).." && \ - echo -n "...................."; \ - \ - echo -e "\n*!* $$AUTOCONF *!*" >> Makefile.dist.dbg && \ - $$AUTOCONF >> Makefile.dist.dbg 2>&1; \ - \ - echo "!*! $$AUTOCONF !*!" >> Makefile.dist.dbg; \ - } fi; \ - \ - if ! [ -s "configure" ]; then \ - { \ - echo -e "\n*!* $$AUTOCONF configure.in *!*" \ - >> Makefile.dist.dbg && \ - $$AUTOCONF configure.in >> Makefile.dist.dbg 2>&1; \ - \ - echo "!*! $$AUTOCONF configure.in !*!" \ - >> Makefile.dist.dbg; \ - } fi; \ - \ - if ! [ -s "configure" ]; then \ - { \ - echo ""; \ - echo "Strange Autoconf config present..."; \ - echo "Consider upgrading."; \ - echo ""; \ - \ - echo -e "\n*!* $$AUTOCONF configure configure.in *!*" \ - >> Makefile.dist.dbg && \ - $$AUTOCONF -o configure configure.in \ - >> Makefile.dist.dbg 2>&1; \ - \ - echo "!*! $$AUTOCONF configure configure.in !*!" \ - >> Makefile.dist.dbg; \ - } fi; \ - \ - if [ -s "configure" ]; then \ - { \ - echo " done!"; \ - } else { \ - echo " failed!"; \ - echo ""; \ - echo "PLEASE NOTE: Your version of Autoconf sucks!"; \ - echo "UPGRADE NOW or face public humiliation..."; \ - echo ""; \ - echo "FATAL ERROR: Autoconf is screwed up!!!" \ - >> Makefile.dist.dbg; \ - exit -1; \ - } fi - - - -# Some files, such as aclocal.m4, have no purpose once the autoconf -# script has been generated. It's a good idea to remove them... - - @echo -n "Releasing temporary file handles............................" - @rm -f aclocal.m4 - @echo " done!" - - - -# Pretty success message... Use of '&&' rather than ';' guarntees -# that if one portion of the compile process fails, the successor -# won't be executed. Again, this is another case of common sense. - - @echo ""; \ - echo ""; \ - echo "******************************************"; \ - echo "Success! Please type the following:"; \ - echo ""; \ - echo " ./configure && make"; \ - echo ""; \ - echo ""; \ - echo "This will configure and compile ShowEQ..."; \ - echo ""; \ - echo "If you are installing ShowEQ for the first"; \ - echo "time, be sure to add '&& make install' to"; \ - echo "the end of the compile process..."; \ - echo "******************************************"; \ - echo ""; Index: INSTALL =================================================================== RCS file: /cvsroot/seq/showeq/INSTALL,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- INSTALL 30 Aug 2003 15:51:45 -0000 1.5 +++ INSTALL 13 Sep 2005 15:23:08 -0000 1.6 @@ -1,75 +1,305 @@ -INSTALLATION OVERVIEW: ----------------------- -ShowEQ originated on Redhat 6.1, however, it will compile and -run on all newer Linux distro's. You will need the QT library -from Troll Tech (http://www.troll.no) compiled with multi-threading -support enabled, as well as libpcap from the Lawrence Berkely National -Laboratory (www.tcpdump.org), also the GNU database library gdbm -(ftp.gnu.org), and pthread support (provided via glibc). Also -it can be configured to use Berkeley DB3 instead of gdbm. +Version: $Id$ $Name$ -Additionally, the need for the library libEQ.a has been removed. +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software Foundation +gives unlimited permissino to copy distribute and modify it. +Portions Copyright 2003, 2004 Zaphod (do...@us...). +Overview +======== +This file describes what prerequisites are needed by ShowEQ and how to +install ShowEQ itself. If you are a new Linux/UNIX user you may also +wish to read INSTALL.newbies. Maps for use within ShowEQ may be found +in the showeq-maps tarball. -PRE-REQUISITES: ---------------- -Below is a list of packages you will need in order to compile ShowEQ: +Prerequisites +================== +Below is a list of packages you will need to have installed in order to +compile ShowEQ: - Name: Minimum: Suggested: - ----------------------------------- - *** 3rd party libraries *** - qt 3.0.5 (Must be compiled with -thread) - qt-devel 3.0.5 (Must be compiled with -thread) - libpcap 0.62 - gdbm 1.8.0 + Name: Minimum: Suggested: Source: + -------------------------------------------------------------------------- + *** 3rd party libraries *** + qt 3.2 Compiled with -thread) http://www.trolltech.com) + libpcap 0.62 http://www.tcpdump.org/ + gdbm 1.8.0 http://www.gnu.org/software/gdbm/ *** Optional 3rd party libraries *** - db3 3.2.9 3.3 (No db4 won't work) + db3 3.2.9 3.3 (Not db4) http://www.sleepycat.com/ *** C++ Compilation *** - glibc 2.2 2.3.2 - libstdc++ 3.0 3.2 - gcc 3.0 3.2 + glibc 2.2 2.3.2 http://www.gnu.org/software/libc/ + gcc 3.0.5 3.2 http://gcc.gnu.org/ + libstdc++ 3.0.5 3.2 http://gcc.gnu.org/ + -------------------------------------------------------------------------- - *** GNU tools *** - libtool 1.3.4-3 Most recent... - autoconf 2.13-1 Most recent... - automake 1.4-6 Most recent... - ----------------------------------- - NOTE: Higher versions of these libraries should work fine... -INSTALL PROCESS: ----------------- -First you must make the configure script, but after that -the basic install is the same as any other GNU package: +Basic Installation +================== - make -f Makefile.dist - ./configure - make - make install + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). -This installs showeq in /usr/local/bin, and puts maps and logs in -/usr/local/share/showeq. make install is important, the program will not -find maps without it. + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) -If you want to make the CGI files, use - ./configure --enable-cgi=<path where cgi-bin files should reside> + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. +To find out more about the options and arguments that the `configure' +script understands, type: + $ ./configure --help +at the command prompt in your ShowEQ source directory. + +The simplest way to compile this package is: -CONFIGURING AND USING: ----------------------- -Please note that ShowEQ requires root privileges, otherwise the pcap library + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Type `make install' to install the programs and any data files and + documentation. + + 4. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Using ShowEQ: +====================== + + Please note that ShowEQ requires root privileges, otherwise the pcap library cannot be initialized and ShowEQ will fail to load... You should not use SEQ on a computer where root access presents a security issue. -Configuration values are stored in the file showeq.xml. This file will -be looked for in the local directory first, then the /usr/local/share/showeq -directory. The contents of this file are layed out in a fairly readable form -and comments are provided in the distributed seqdef.xml file. +ShowEQ's command line options can be seen by using the following command line: + showeq --help + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', '/usr/local/share/showeq', etc. +You can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + You can cause programs to be installed with an extra prefix or suffix on +their names by giving `configure' the option `--program-prefix=PREFIX' or +`--program-suffix=SUFFIX'. + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +'--with-qt-dir=DIR' + Look for Qt in the specified directory. DIR defaults to the + value of your QTDIR environtment variable. + +'--with-qt-includes=DIR' + Look for Qt include files in the specified directory. DIR defaults + to $QTDIR/include. + +'--with-qt-libraries=DIR' + Look for Qt library files in the specified directory. DIR defaults + to $QTDIR/lib. + +'--x-includes=DIR' + Look for X include files in the specified directory. + +'--x-libraries=DIR' + Look for X library files in the specified directory. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CXX=/usr/local2/bin/g++ + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +Some influential variables used in building ShowEQ are: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CC C compiler command + CFLAGS C compiler flags + LDFLAGS Linker flags + CPP C preprocessor + CPPFLAGS C/C++ preprocessor flags + QTDIR Specifies the base of the Qt installation + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=gcc3 CXX=gcc3 CFLAGS=-O2 CXXFLAGS=-02 + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Rebuilding Configuration Files +============================== + +Below is a list of packages needed to generate ShowEQ's build system. + + Name: Minimum: Suggested: Source: + --------------------------------------------------------------------------- + *** GNU tools *** + libtool 1.3.4-3 Most recent... http://www.gnu.org/software/libtool/ + autoconf 2.53 Most recent... http://www.gnu.org/software/autoconf/ + automake 1.9 Most recent... http://www.gnu.org/software/automake/ + perl 5.0 Most recent... http://www.perl.org/ + --------------------------------------------------------------------------- + + The best way to generate/regenerate the configuration files is by running +make on the 'Makefile.dist' included in the CVS repository, find out about it's +options by using the command line: + make -f Makefile.dist help + + The file `configure.in' is used to create `configure' by a program +called `autoconf' and to create config.h.in by a program called 'autoheader'. +You only need `configure.in' if you want to change it or regenerate +`configure' using a newer version of `autoconf'. + + The file 'Makefile.am' in both the top level and sub-directories are used to +create the 'Makefile.in' files by a program called 'automake'. These files +are in turn used by the configure program to generate the 'Makefile' files. -Filters for 'hiding' spawns from the spawnlist and map can be configured via -a file specified in the config file (typically 'filters.conf'). A sample -file has been included in the distribution which should be self explanatory. -Spawn Alert filters can also be configured here. Improving the documentation -of alerts and filters is an area where volunteers may help a lot. Index: configure.in =================================================================== RCS file: /cvsroot/seq/showeq/configure.in,v retrieving revision 1.54 retrieving revision 1.55 diff -u -d -r1.54 -r1.55 --- configure.in 9 Jun 2004 21:37:59 -0000 1.54 +++ configure.in 13 Sep 2005 15:23:08 -0000 1.55 @@ -1,10 +1,26 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(src/main.cpp) +dnl $Id$ $Name$ + +AC_PREREQ(2.59) +AC_INIT(showeq, 5.1.0.0) +AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM -AM_CONFIG_HEADER(conf.h) -AM_INIT_AUTOMAKE(showeq, 4.3.22) + +AM_CONFIG_HEADER(config.h) +AM_INIT_AUTOMAKE(1.9 dist-bzip2) AM_MAINTAINER_MODE +dnl doxygen macros +DX_HTML_FEATURE(ON) +DX_CHM_FEATURE(OFF) +DX_CHI_FEATURE(OFF) +DX_MAN_FEATURE(OFF) +DX_RTF_FEATURE(OFF) +DX_XML_FEATURE(OFF) +DX_PDF_FEATURE(OFF) +DX_PS_FEATURE(OFF) +DX_INIT_DOXYGEN(ShowEQ, doxygen.cfg, dox) + dnl Use CCd/CXXd rather than CC/CXX otherwise it cache's the value dnl and prevents the alternate search from working. Would be better dnl if there was someway to invalidate the cache entry. ?? @@ -27,7 +43,7 @@ ;; esac] ) -AC_DEFUN(CHECK_COMPILER,[ +AC_DEFUN([CHECK_COMPILER],[ ac_save_cxxflags="$CXXFLAGS" if [[ "$ac_cv_showeq_old_compiler" == "yes" ]]; then CXXFLAGS="$CXXFLAGS -DOLDCOMPILER" @@ -135,13 +151,14 @@ ) AC_PATH_QT_MOC +AC_PATH_QT_UIC AC_PATH_QT dnl The below needs to be re-defined since the Qt defines from KDE destroy it AC_LANG_CPLUSPLUS dnl Check taken from SINS 0.5 -AC_DEFUN(SHOWEQ_CHECK_THREADING,[ +AC_DEFUN([SHOWEQ_CHECK_THREADING],[ AC_LANG_CPLUSPLUS USE_THREADS="" LIBGETOPT="" @@ -511,10 +528,10 @@ AC_CHECK_RPATH -CFLAGS="$USE_THREADS $USE_OPT_C $USE_DEBUG_C $USE_INLINE_C $USE_PROFILE_C" -CXXFLAGS="$USE_THREADS $USE_OPT_CXX $USE_DEBUG_CXX $USE_INLINE_CXX $USE_PROFILE_CXX -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=${CGI_ICONS} -DICON_DIR=\\\"${CGI_ICON_DIR}\\\"" +CFLAGS="$USE_THREADS $USE_OPT_C $USE_DEBUG_C $USE_INLINE_C $USE_PROFILE_C $CFLAGS" +CXXFLAGS="$USE_THREADS $USE_OPT_CXX $USE_DEBUG_CXX $USE_INLINE_CXX $USE_PROFILE_CXX -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=${CGI_ICONS} -DICON_DIR=\\\"${CGI_ICON_DIR}\\\" $CXXFLAGS" -AC_DEFUN(SUCCESS,[ +AC_DEFUN([SUCCESS],[ echo "Success!" case $target_os in solaris*) @@ -531,5 +548,5 @@ esac ]) -AC_OUTPUT([Makefile src/Makefile maps/Makefile conf/Makefile]) +AC_OUTPUT([Makefile src/Makefile conf/Makefile]) SUCCESS Index: acinclude.m4 =================================================================== RCS file: /cvsroot/seq/showeq/acinclude.m4,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- acinclude.m4 21 Feb 2003 19:16:20 -0000 1.9 +++ acinclude.m4 13 Sep 2005 15:23:08 -0000 1.10 @@ -33,7 +33,7 @@ dnl Find a file (or one of more files in a list of dirs) dnl ------------------------------------------------------------------------ dnl -AC_DEFUN(AC_FIND_FILE, +AC_DEFUN([AC_FIND_FILE], [ $3=NO for i in $2; @@ -48,7 +48,7 @@ done ]) [...1009 lines suppressed...] AC_LANG_SAVE kde_safe_cxxflags=$CXXFLAGS @@ -3020,7 +3168,7 @@ AC_LANG_RESTORE ]) -AC_DEFUN(KDE_CHECK_QWSPRITEFIELD, +AC_DEFUN([KDE_CHECK_QWSPRITEFIELD], [ KDE_CHECK_HEADER(QwSpriteField.h, , [ @@ -3030,7 +3178,7 @@ ]) ]) -AC_DEFUN(KDE_SET_PREFIX, +AC_DEFUN([KDE_SET_PREFIX], [ dnl make $KDEDIR the default for the installation AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) --- NEW FILE: doxygen.am --- # Copyright (C) 2004 Oren Ben-Kiki # This file is distributed under the same terms as the Automake macro files. # Generate automatic documentation using Doxygen. Goals and variables values # are controlled by the various DX_COND_??? conditionals set by autoconf. # # The provided goals are: # doxygen-doc: Generate all doxygen documentation. # doxygen-run: Run doxygen, which will generate some of the documentation # (HTML, CHM, CHI, MAN, RTF, XML) but will not do the post # processing required for the rest of it (PS, PDF, and some MAN). # doxygen-man: Rename some doxygen generated man pages. # doxygen-ps: Generate doxygen PostScript documentation. # doxygen-pdf: Generate doxygen PDF documentation. # # Note that by default these are not integrated into the automake goals. If # doxygen is used to generate man pages, you can achieve this integration by # setting man3_MANS to the list of man pages generated and then adding the # dependency: # # $(man3_MANS): doxygen-doc # # This will cause make to run doxygen and generate all the documentation. # # The following variable is intended for use in Makefile.am: # # DX_CLEANFILES = everything to clean. # # This is usually added to MOSTLYCLEANFILES. ## --------------------------------- ## ## Format-independent Doxygen rules. ## ## --------------------------------- ## if DX_COND_doc ## ------------------------------- ## ## Rules specific for HTML output. ## ## ------------------------------- ## if DX_COND_html DX_CLEAN_HTML = @DX_DOCDIR@/html endif DX_COND_html ## ------------------------------ ## ## Rules specific for CHM output. ## ## ------------------------------ ## if DX_COND_chm DX_CLEAN_CHM = @DX_DOCDIR@/chm if DX_COND_chi DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi endif DX_COND_chi endif DX_COND_chm ## ------------------------------ ## ## Rules specific for MAN output. ## ## ------------------------------ ## if DX_COND_man DX_CLEAN_MAN = @DX_DOCDIR@/man endif DX_COND_man ## ------------------------------ ## ## Rules specific for RTF output. ## ## ------------------------------ ## if DX_COND_rtf DX_CLEAN_RTF = @DX_DOCDIR@/rtf endif DX_COND_rtf ## ------------------------------ ## ## Rules specific for XML output. ## ## ------------------------------ ## if DX_COND_xml DX_CLEAN_XML = @DX_DOCDIR@/xml endif DX_COND_xml ## ----------------------------- ## ## Rules specific for PS output. ## ## ----------------------------- ## if DX_COND_ps DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps DX_PS_GOAL = doxygen-ps doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps @DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag cd @DX_DOCDIR@/latex; \ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ $(DX_LATEX) refman.tex; \ $(MAKEINDEX_PATH) refman.idx; \ $(DX_LATEX) refman.tex; \ countdown=5; \ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \ refman.log > /dev/null 2>&1 \ && test $$countdown -gt 0; do \ $(DX_LATEX) refman.tex; \ countdown=`expr $$countdown - 1`; \ done; \ $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi endif DX_COND_ps ## ------------------------------ ## ## Rules specific for PDF output. ## ## ------------------------------ ## if DX_COND_pdf DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf DX_PDF_GOAL = doxygen-pdf doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf @DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag cd @DX_DOCDIR@/latex; \ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ $(DX_PDFLATEX) refman.tex; \ $(DX_MAKEINDEX) refman.idx; \ $(DX_PDFLATEX) refman.tex; \ countdown=5; \ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \ refman.log > /dev/null 2>&1 \ && test $$countdown -gt 0; do \ $(DX_PDFLATEX) refman.tex; \ countdown=`expr $$countdown - 1`; \ done; \ mv refman.pdf ../@PACKAGE@.pdf endif DX_COND_pdf ## ------------------------------------------------- ## ## Rules specific for LaTeX (shared for PS and PDF). ## ## ------------------------------------------------- ## if DX_COND_latex DX_CLEAN_LATEX = @DX_DOCDIR@/latex endif DX_COND_latex .PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL) .INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL) doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL) @DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS) rm -rf @DX_DOCDIR@ $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG) DX_CLEANFILES = \ @DX_DOCDIR@/@PACKAGE@.tag \ -r \ $(DX_CLEAN_HTML) \ $(DX_CLEAN_CHM) \ $(DX_CLEAN_CHI) \ $(DX_CLEAN_MAN) \ $(DX_CLEAN_RTF) \ $(DX_CLEAN_XML) \ $(DX_CLEAN_PS) \ $(DX_CLEAN_PDF) \ $(DX_CLEAN_LATEX) endif DX_COND_doc Index: COPYING =================================================================== RCS file: /cvsroot/seq/showeq/COPYING,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- COPYING 24 May 2002 19:15:10 -0000 1.1 +++ COPYING 13 Sep 2005 15:23:08 -0000 1.2 @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -278,3 +278,63 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. --- showeq.kdevprj DELETED --- --- NEW FILE: NEWS --- This is a terse description of the features added to 5.0.0.17 since the release of 5.0.0.16. 1. New network code to support live EverQuest servers after 1/26/2005 patch 2. Updated zoneopcodes.xml and worldopcodes.xml after all opcodes changed with the 1/26/2005 patch -- This is a terse description of the features added to 5.0.0.15 since the release of 5.0.0.14. 1. Made ShowEQ more GNU style friendly (Added this file 'NEWS', renamed CHANGES to ChangeLog, added an extremely incomplete AUTHORS file. 2. Moved the maps into a seperate repository and package 'showeq-maps'. 3. Migrated the distribution of ShowEQ to tarballs and packages, instead of directly off CVS. --- CHANGES DELETED --- Index: FAQ =================================================================== RCS file: /cvsroot/seq/showeq/FAQ,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- FAQ 4 Jan 2002 14:35:10 -0000 1.1 +++ FAQ 13 Sep 2005 15:23:08 -0000 1.2 @@ -1,6 +1,12 @@ -ShowEQ Version 4 Frequently Asked Questions +ShowEQ Frequently Asked Questions -FIXME: table of contents :) +1) Hit points always say 65536, 0, 100, etc, what is wrong +2) Why wont ShowEQ show me the loot my mob will drop +3) My faction is broken! It used to tell me my faction numbers when i + conned someone, now i get a number like 4 or 1. +4) What happened to experience? +5) Seq keeps crashing with "!!!! EQPacketFragmentSequence::addFragment(): + buffer overflow adding in new fragment". Why won't you fix this? 1) Hit points always say 65536, 0, 100, etc, what is wrong @@ -37,3 +43,82 @@ should draw the experience bar. We do however know what mob you killed and experience formulas, so what you see in the experience window now will be close estimates of the real exp you have. + + +5) Seq keeps crashing with "!!!! EQPacketFragmentSequence::addFragment(): + buffer overflow adding in new fragment". Why won't you fix this? + +This isn't actually a problem with seq, but rather the result of your +configuration on your linux box. Your linux box is not handling all the packets +it is receiving with its network card in promiscuous mode. + +In order to run, showeq needs the entire packet stream between the EQ client and +the EQ servers. Packets are processed in order and if any packets are dropped, +there may be problems decoding the stream causing showeq to crash or lose sync +with the session. + +Usually this condition is signalled by console messages like: +Warning: SEQ: Giving up on finding arq 0085 in stream zone-client cache, skipping! +Warning: SEQ: Giving up on finding arq 0086 in stream zone-client cache, skipping! +Warning: SEQ: Giving up on finding arq 0087 in stream zone-client cache, skipping! +Warning: SEQ: Giving up on finding arq 0088 in stream zone-client cache, skipping! + +This signifies packets being dropped and being skipped in processing, which may +cause the session stream to corrupt if the skipped packets are important. Other +messages which may result when the stream is corrupted are: + +Warning: Oversized packet fragment requested buffer of size 0 on stream 3 OpCode +0000 seq 00a6 + +Warning: !!!! EQPacketFragmentSequence::addFragment(): buffer overflow adding in +new fragment to buffer with seq 00fb on stream 3, opcode 0000. Buffer is size 3 +8302 and has been filled up to 38302, but tried to add 505 more! + +Both these messages mean that packets are being dropped that are important to +the reconstruction of oversized payloads in the session stream. These messages +may appear like showeq is broken, but in reality, the problem is that packets +are not being provided to showeq because they are being dropped by the kernel +before being made available to the application layer. + +The kernel may drop packets when under heavy loads (either CPU loads or network +loads). + +When under high CPU utilization, the thread in showeq which reads from +the kernel's receive buffers may be starved and not get enough processor time to +empty the kernel receive buffers before those buffers run out of room and drop +packets. To help this, you can set the showeq network thread to run "realtime" +by turning on the Network->Real Time Thread option. + +When under high network traffic, the kernel's receive buffers may overflow +before showeq gets a chance to empty the buffers, causing packets to be missed. +This can happen when you have a lot of network traffic that is seen by the +machine running showeq. The EQ client bursts a lot of traffic during zoning as +well, so usually problems with high network traffic show themselves during +zoning. + +To help this problem, try to narrow down the traffic that showeq watches by +specifying the ip address of your EQ client on the commandline. Also, turn on +Session Tracking using Network->Session Tracking. If problems persist after +turning those options on, you may want to adjust kernel parameters to change how +the kernel manages its receive buffers. Some parameters that may help you are: + +net.core.rmem_default (defaults to 65535, or 64k receive buffers) +net.core.rmem_max (defaults to 131071, or 128k receive buffers) +net.core.netdev_max_backlog (defaults to 300, or 300 packets can be input but + unprocessed before packets start being dropped) + +These parameters should be set with care, and take into account what other +things the linux box you are running showeq on is used for. If it has a lot of +server duties, setting rmem_default will increase system memory usage +significantly. + +Suggested settings for a normally used machine are: +net.core.rmem_default=524288 (512k for default receive buffers) +net.core.rmem_max=2097152 (2M for max receive buffers) +net.core.netdev_max_backlog=3000 (allow 3000 packets to be queued before + processing before dropping packets) + +If you still see problems, you may want to set these higher. Setting these may +be distribution specific. Check to see if you have sysctl (man sysctl) or +/etc/sysctl.conf, or these can be put directly into /proc by looking +in /proc/sys/net/core. --- conf.h.in DELETED --- Index: ROADMAP =================================================================== RCS file: /cvsroot/seq/showeq/ROADMAP,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ROADMAP 12 Jun 2002 21:34:11 -0000 1.2 +++ ROADMAP 13 Sep 2005 15:23:08 -0000 1.3 @@ -1,3 +1,5 @@ +Version: $Header$ $Name$ + Files: ./ - Base directory of the ShowEQ CVS checkout ROADMAP - This file Index: Makefile.am =================================================================== RCS file: /cvsroot/seq/showeq/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Makefile.am 19 Dec 2001 00:36:35 -0000 1.1.1.1 +++ Makefile.am 13 Sep 2005 15:23:08 -0000 1.2 @@ -1,13 +1,34 @@ -SUBDIRS=maps src conf +ACLOCAL_AMFLAGS = -I m4 +AUTOMAKE_OPTIONS = 1.9 dist-bzip2 -EXTRA_DIST=CHANGES BUGS showeq.1 +SUBDIRS = src conf -MAINTAINERCLEANFILES= aclocal.m4 config.guess config.sub configure Makefile.in \ -ltconfig libqt2.dbg libqt3.dbg Makefile.dist.dbg configure.dbg config.log \ -ltmain.sh stamp-h.in stamp-h +include doxygen.am -CLEANFILES=configure.dbg libqt2.dbg libqt3.dbg +EXTRA_DIST = BUGS ChangeLog FAQ INSTALL.newbies Makefile.dist README.libEQ \ +ROADMAP showeq.1 TODO showeq.kdevelop Doxyfile depcomp $(DX_CONFIG) + +MAINTAINERCLEANFILES = aclocal.m4 config.guess config.sub configure \ +Makefile.in ltconfig libqt2.dbg libqt3.dbg Makefile.dist.dbg \ +configure.dbg config.log ltmain.sh stamp-h.in stamp-h qt.tag depcomp + +@DX_DOCDIR@/@PACKAGE@.tag: qt.tag + +qt.tag: $(QT_DOCS)/index.html $(QT_DOCS)/qobject.html + doxytag -t qt.tag $(QT_DOCS) + +doxygen-installdox: doxygen-doc dox/html/installdox + if [ -x "@DX_DOCDIR@/html/installdox" ]; then \ + cd @DX_DOCDIR@/html; \ + ./installdox -l qt.tag@http://doc.trolltech.com/3.3/ -q; \ + fi + +MOSTLYCLEANFILES = $(DX_CLEANFILES) + +CLEANFILES = configure.dbg libqt2.dbg libqt3.dbg dist-hook: mkdir -p $(distdir)/doc cp -p $(srcdir)/doc/*.txt $(distdir)/doc + cp -p $(srcdir)/doc/*.doc $(distdir)/doc + cp -p $(srcdir)/doc/*.html $(distdir)/doc --- NEW FILE: doxygen.cfg --- # Doxyfile 1.3.7 #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = $(PROJECT)-$(VERSION) PROJECT_NUMBER ... [truncated message content] |
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14505/src Modified Files: Makefile.am category.cpp classes.h combatlog.cpp combatlog.h compass.cpp compassframe.cpp crctab.h datetimemgr.cpp datetimemgr.h decode.h deity.h drawmap.cpp editor.cpp everquest.h experiencelog.cpp experiencelog.h filter.cpp filter.h filtermgr.cpp filtermgr.h fixpt.h group.cpp group.h guild.cpp guild.h interface.cpp interface.h itemdb.cpp itemdb.h itemdbtool.cpp languages.h logger.cpp main.cpp main.h map.cpp map.h mapcore.cpp mapcore.h netdiag.cpp packet.cpp packet.h packetcapture.cpp packetcapture.h packetcommon.h packetformat.cpp packetformat.h packetfragment.cpp packetfragment.h packetlog.cpp packetlog.h packetstream.cpp packetstream.h player.cpp player.h point.h races.h seqlistview.cpp seqwindow.cpp seqwindow.h skilllist.cpp skills.h spawn.cpp spawn.h spawnlist.cpp spawnlist.h spawnlist2.cpp spawnlist2.h spawnlistcommon.cpp spawnlistcommon.h spawnlog.cpp spawnlog.h spawnmonitor.cpp spawnmonitor.h spawnpointlist.cpp spawnpointlist.h spawnshell.cpp spawnshell.h spelllist.cpp spelllist.h spells.cpp spells.h spells_en2spellsh.pl spellshell.cpp spellshell.h staticspells.h statlist.cpp statlist.h typenames.h util.cpp util.h weapons.h weapons1.h weapons27.h weapons28.h weapons2b.h xmlconv.cpp xmlconv.h xmlpreferences.cpp xmlpreferences.h zonemgr.cpp zonemgr.h zones.h Added Files: bazaarlog.cpp bazaarlog.h datalocationmgr.cpp datalocationmgr.h diagnosticmessages.cpp diagnosticmessages.h diagnosticmessageslight.cpp eqstr.cpp eqstr.h filter2xml.pl filteredspawnlog.cpp filteredspawnlog.h filternotifications.cpp filternotifications.h guildlist.cpp guildlist.h guildshell.cpp guildshell.h h2info.pl mapicon.cpp mapicon.h mapicondialog.ui mapicondialog.ui.h message.cpp message.h messagefilter.cpp messagefilter.h messagefilterdialog.cpp messagefilterdialog.h messages.cpp messages.h messageshell.cpp messageshell.h messagewindow.cpp messagewindow.h netstream.cpp netstream.h packetinfo.cpp packetinfo.h pointarray.h terminal.cpp terminal.h weapons29.h weapons2a.h Removed Files: decode.cpp msgdlg.cpp msgdlg.h opcodes.h Log Message: Merged pre_5_0_beta down to the trunk. pre_5_0_beta should be treated as closed. All future development will occur on the branch. Updated version to 5.1.0.0 in preparation for new expansion release pending fixes for live compatibility. --- NEW FILE: pointarray.h --- /* * point.h * * ShowEQ Distributed under GPL * http://seq.sf.net/ */ // Original Author: Zaphod (do...@us...) // interfaces modeled after QPoint and QPointArray interface // but for 3D data of arbitraty type T. // // NOTE: Trying to keep this file ShowEQ/Everquest independent to allow it // to be reused for other Show{} style projects. // #ifndef __POINTARRAY_H_ #define __POINTARRAY_H_ #ifdef __FreeBSD__ #include "point.h" #include <sys/types.h> #else #include <stdint.h> #endif #include <qmemarray.h> #include <qpoint.h> // Point3DArray template <class _T> class Point3DArray : public QMemArray<Point3D<_T> > { public: Point3DArray() {}; Point3DArray(int size) : QMemArray<Point3D<_T> > (size) {} Point3DArray(const Point3DArray<_T>& array) : QMemArray<Point3D<_T> > (array) {} Point3DArray(uint32_t nPoints, const _T* points); ~Point3DArray() {}; Point3DArray<_T>& operator=(const Point3DArray<_T>& array) { return (Point3DArray<_T>&)assign(array); } Point3DArray<_T> copy() const { Point3DArray<_T> tmp; return *((Point3DArray<_T>*)&tmp.duplicate(*this)); } QRect boundingRect() const; void point(uint32_t i, _T* x, _T* y, _T* z) const; const Point3D<_T>& point( uint32_t i) const; void setPoint(uint32_t i, _T x, _T y, _T z); void setPoint(uint32_t i, const Point3D<_T>& p); bool setPoints(uint32_t nPoints, const _T* points); bool setPoints(uint32_t nPoints, _T firstx, _T firsty, _T firstz, ...); bool putPoints(uint32_t index, uint32_t nPoints, const _T* points); bool putPoints(uint32_t index, uint32_t nPoints, _T firstx, _T firsty, _T firstz, ...); QPointArray getQPointArray(); }; template <class _T> inline Point3DArray<_T>::Point3DArray(uint32_t nPoints, const _T* points) { setPoints(nPoints, points); } template <class _T> inline QRect Point3DArray<_T>::boundingRect() const { if (QMemArray<Point3D<_T> >::isEmpty()) return QRect(0, 0, 0, 0); Point3D<_T>* d = QMemArray<Point3D<_T> >::data(); _T minX, maxX, minY, maxY; minX = maxX = d->x(); minY = maxY = d->y(); uint32_t i; for (++d, i = 1; i < QMemArray<Point3D<_T> >::size(); i++, d++) { if (d->x() < minX) minX = d->x(); else if (d->x() > maxX) maxX = d->x(); if (d->y() < minY) minY = d->y(); else if (d->y() > maxY) maxY = d->y(); } return QRect(QPoint(minX, minY), QPoint(maxX, maxY)); } template <class _T> inline void Point3DArray<_T>::point(uint32_t index, _T* x, _T* y, _T* z) const { Point3D<_T> p = QMemArray<Point3D<_T> >::at(index); *x = p.x(); *y = p. y(); *z = p. z(); } template <class _T> inline const Point3D<_T>& Point3DArray<_T>::point(uint32_t index) const { return QMemArray<Point3D<_T> >::at(index); } template <class _T> inline void Point3DArray<_T>::setPoint(uint32_t index, _T x, _T y, _T z) { QMemArray<Point3D<_T> >::at(index) = Point3D<_T>(x, y, z); } template <class _T> inline void Point3DArray<_T>::setPoint(uint32_t index, const Point3D<_T>& p) { QMemArray<Point3D<_T> >::at(index) = p; } template <class _T> inline bool Point3DArray<_T>::setPoints(uint32_t nPoints, const _T* points) { if (!QMemArray<Point3D<_T> >::resize(nPoints)) return false; for (uint32_t i = 0; nPoints; nPoints--, i++, points += 3) setPoint(i, *points, *(points + 1), *(points + 2)); return true; } template <class _T> inline bool Point3DArray<_T>::setPoints(uint32_t nPoints, _T firstx, _T firsty, _T firstz, ...) { if (!QMemArray<Point3D<_T> >::resize(nPoints)) return false; setPoint( 0, firstx, firsty, firstz); va_list ap; va_start(ap, firstz); _T x, y, z; uint32_t i; for (i = 1, --nPoints; nPoints; nPoints--, i++) { x = va_arg(ap, _T); y = va_arg(ap, _T); z = va_arg(ap, _T); setPoint(i, x, y, z); } va_end(ap); return true; } template <class _T> inline bool Point3DArray<_T>::putPoints(uint32_t index, uint32_t nPoints, const _T* points) { if ((index + nPoints) > QMemArray<Point3D<_T> >::size()) if (!QMemArray<Point3D<_T> >::resize(index + nPoints)) return false; for (uint32_t i = index; nPoints; nPoints--, i++, points += 3) setPoint(i, *points, *(points + 1), *(points + 2)); return true; } template <class _T> inline bool Point3DArray<_T>::putPoints(uint32_t index, uint32_t nPoints, _T firstx, _T firsty, _T firstz, ...) { if ((index + nPoints) > QMemArray<Point3D<_T> >::size()) if (!QMemArray<Point3D<_T> >::resize(index + nPoints)) return false; setPoint( 0, firstx, firsty, firstz); va_list ap; va_start(ap, firstz); _T x, y, z; uint32_t i; for (i = index + 1, --nPoints; nPoints; nPoints--, i++) { x = va_arg(ap, _T); y = va_arg(ap, _T); z = va_arg(ap, _T); setPoint(i, x, y, z); } va_end(ap); return true; } template <class _T> inline QPointArray Point3DArray<_T>::getQPointArray() { // create a temporary QPointArray of the same size as this array QPointArray tmp(QMemArray<Point3D<_T> >::size()); // copy each Point3D<_T> as a QPoint into the temporary QPointArray for (uint32_t i = 0; i < QMemArray<Point3D<_T> >::size(); i++) tmp.setPoint(i, point(i).qpoint()); // return the temporary QPointArray return tmp; } #endif // __POINTARRAY_H_ --- NEW FILE: message.h --- /* * message.h * * ShowEQ Distributed under GPL * http://seq.sourceforge.net/ * * Copyright 2002-2003 Zaphod (do...@us...) * */ #ifndef _MESSAGE_H_ #define _MESSAGE_H_ #include <stdint.h> #include <qstring.h> #include <qdatetime.h> #include <qvaluevector.h> //---------------------------------------------------------------------- // constants const uint32_t ME_InvalidColor = 0x000000FF; //---------------------------------------------------------------------- // enumerated types enum MessageType { MT_Guild = 0, MT_Group = 2, MT_Shout = 3, MT_Auction = 4, MT_OOC = 5, MT_Tell = 7, MT_Say = 8, MT_GMSay = 11, MT_GMTell = 14, MT_Raid = 15, MT_Debug, MT_Info, MT_Warning, MT_General, MT_Motd, MT_System, MT_Money, MT_Random, MT_Emote, MT_Time, MT_Spell, MT_Zone, MT_Inspect, MT_Player, MT_Consider, MT_Alert, MT_Danger, MT_Caution, MT_Hunt, MT_Locate, MT_Max = MT_Locate, }; //---------------------------------------------------------------------- // MessageEntry class MessageEntry { public: MessageEntry(MessageType type, const QDateTime& dateTime, const QDateTime& eqDateTime, const QString& text, uint32_t color = ME_InvalidColor, uint32_t filterFlags = 0); MessageEntry(); ~MessageEntry(); MessageType type() const { return m_type; } const QDateTime& dateTime() const { return m_dateTime; } const QDateTime& eqDateTime() const { return m_eqDateTime; } const QString& text() const { return m_text; } const uint32_t color() const { return m_color; } uint32_t filterFlags() const { return m_filterFlags; } void setFilterFlags(uint32_t filterFlags) { m_filterFlags = filterFlags; } static const QString& messageTypeString(MessageType type); protected: MessageType m_type; QDateTime m_dateTime; QDateTime m_eqDateTime; QString m_text; uint32_t m_color; uint32_t m_filterFlags; static QString s_messageTypeStrings[MT_Max+1]; }; inline MessageEntry::MessageEntry(MessageType type, const QDateTime& dateTime, const QDateTime& eqDateTime, const QString& text, uint32_t color, uint32_t filters) : m_type(type), m_dateTime(dateTime), m_eqDateTime(eqDateTime), m_text(text), m_color(color), m_filterFlags(filters) { } inline MessageEntry::MessageEntry() : m_type(MT_Debug), m_color(0x000000FF), m_filterFlags(0) { } inline MessageEntry::~MessageEntry() { } inline const QString& MessageEntry::messageTypeString(MessageType type) { static QString dummy; if (type <= MT_Max) return s_messageTypeStrings[type]; return dummy; } #endif // _MESSAGE_H_ Index: seqwindow.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/seqwindow.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- seqwindow.cpp 21 May 2002 21:37:36 -0000 1.1 +++ seqwindow.cpp 13 Sep 2005 15:23:13 -0000 1.2 @@ -4,7 +4,7 @@ * ShowEQ Distributed under GPL * http://seq.sourceforge.net/ * - * Copyright 2001 Zaphod (do...@us...). All Rights Reserved. + * Copyright 2001-2003 Zaphod (do...@us...). All Rights Reserved. * * Contributed to ShowEQ by Zaphod (do...@us...) * for use under the terms of the GNU General Public License, @@ -15,15 +15,23 @@ #include "seqwindow.h" #include "main.h" +#include <qpopupmenu.h> + SEQWindow::SEQWindow(const QString prefName, const QString caption, QWidget* parent, const char* name, WFlags f) - : QWidget(parent, name, f), + : QDockWindow(parent, name, f), m_preferenceName(prefName) { // set the windows caption - QWidget::setCaption(pSEQPrefs->getPrefString("Caption", preferenceName(), + QDockWindow::setCaption(pSEQPrefs->getPrefString("Caption", preferenceName(), caption)); - + + // windows default to resizable + setResizeEnabled(true); + + // windows default to be closable when not docked + setCloseMode(Always); + // restore the font restoreFont(); } @@ -32,11 +40,16 @@ { } +QPopupMenu* SEQWindow::menu() +{ + return 0; +} void SEQWindow::setCaption(const QString& text) { // set the caption - QWidget::setCaption(text); + QDockWindow::setCaption(text); + setName((const char*)caption()); // set the preference pSEQPrefs->setPrefString("Caption", preferenceName(), caption()); @@ -64,27 +77,78 @@ void SEQWindow::restoreSize() { - // retrieve the saved size information - QSize s = pSEQPrefs->getPrefSize("WindowSize", preferenceName(), size()); + if (place() == InDock) + { + QSize s = pSEQPrefs->getPrefSize("DockFixedExtent", preferenceName(), + fixedExtent()); + setFixedExtentWidth(s.width()); + setFixedExtentHeight(s.height()); + } + else + { + // retrieve the saved size information + QSize s = pSEQPrefs->getPrefSize("WindowSize", preferenceName(), size()); + + resize(s); + } - resize(s); + if (pSEQPrefs->getPrefBool("DockVisible", preferenceName(), !isHidden())) + show(); + else + hide(); } void SEQWindow::restorePosition() { - // retrieve the saved position information - QPoint p = pSEQPrefs->getPrefPoint("WindowPos", preferenceName(), pos()); - - // Move window to new position - move(p); + if (place() == InDock) + { + setNewLine(pSEQPrefs->getPrefBool("DockNewLine", preferenceName(), + newLine())); + setOffset(pSEQPrefs->getPrefInt("DockOffset", preferenceName(), offset())); + } + else + { + // retrieve the saved position information + QPoint p = pSEQPrefs->getPrefPoint("WindowPos", preferenceName(), pos()); + + // Move window to new position + move(p); + } } void SEQWindow::savePrefs(void) { if (pSEQPrefs->getPrefBool("SavePosition", "Interface", true)) { - // save the windows size and position information - pSEQPrefs->setPrefSize("WindowSize", preferenceName(), size()); - pSEQPrefs->setPrefPoint("WindowPos", preferenceName(), pos()); + if (place() == InDock) + { + pSEQPrefs->setPrefBool("DockNewLine", preferenceName(), newLine()); + pSEQPrefs->setPrefInt("DockOffset", preferenceName(), offset()); + pSEQPrefs->setPrefSize("DockFixedExtent", preferenceName(), fixedExtent()); + } + else + { + // save the windows size and position information + pSEQPrefs->setPrefSize("WindowSize", preferenceName(), size()); + pSEQPrefs->setPrefPoint("WindowPos", preferenceName(), pos()); + } + + pSEQPrefs->setPrefBool("DockVisible", preferenceName(), !isHidden()); + } +} + +void SEQWindow::mousePressEvent(QMouseEvent* e) +{ + if (e->button() == RightButton) + { + QPopupMenu* popupMenu = menu(); + if (popupMenu) + popupMenu->popup(mapToGlobal(e->pos())); + else + QDockWindow::mousePressEvent(e); } + else + QDockWindow::mousePressEvent(e); } + +#include "seqwindow.moc" Index: util.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/util.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- util.cpp 11 Nov 2003 07:13:53 -0000 1.21 +++ util.cpp 13 Sep 2005 15:23:14 -0000 1.22 @@ -5,6 +5,10 @@ * http://seq.sourceforge.net/ */ +#include "util.h" +#include "diagnosticmessages.h" +#include "main.h" + #include <stdlib.h> #include <stdio.h> #include <string.h> @@ -14,9 +18,6 @@ #include <qfileinfo.h> #include <qdir.h> -#include "util.h" -#include "main.h" - #ifdef __FreeBSD__ long int lroundf(float x) //closest int away from 0 @@ -78,6 +79,22 @@ return newstring; } /* END Commanate */ +QString classString(uint8_t classVal) +{ + // a non-sparse array of class names + static const char* classnames[] = + { +#include "classes.h" + }; + + // return class name from list if it's within range + if ((classVal < (sizeof(classnames) / sizeof (char*))) && + (classnames[classVal] != NULL)) + return classnames[classVal]; + else + return QString::number(classVal); +} + QString spell_name (uint16_t spellId) { @@ -138,98 +155,6 @@ return QString::number(langId); } -/* Saves spawn to spawn DB */ -void spawndb (const dbSpawnStruct *dbSpawn) -{ - FILE *sdb; - struct dbSpawnStruct s; - int found=0; - char thisname[256]; - char dbname[256]; - - /* Check if this is not a player or a corpse */ - if (dbSpawn->spawn.NPC == 0 || dbSpawn->spawn.NPC == 2) { - return; - } - - strcpy (thisname, dbSpawn->spawn.name); - - /* Strip off number after spawn name */ - size_t nameLen = strlen(dbSpawn->spawn.name); - for (size_t a=0; a < nameLen; a++) - if (thisname[a]<='9') - thisname[a]=0; - - if ((sdb = fopen (SPAWNFILE, "r")) != NULL) - { - while (fread (&s, sizeof(dbSpawnStruct), 1, sdb)) - { - strcpy (dbname, s.spawn.name); - size_t nameLen = strlen(s.spawn.name); - for (size_t a=0; a < nameLen; a++) - if (dbname[a]<='9') - dbname[a]=0; - if ( (!strcmp(dbname, thisname)) && - (dbSpawn->spawn.level == s.spawn.level) && - (!strcmp(dbSpawn->zoneName, s.zoneName)) ) - { - found=1; - break; - } - } - - fclose (sdb); - } - else { - puts("Error opening spawn file '" SPAWNFILE "'"); - } - - if (!found) - { - if ((sdb = fopen (SPAWNFILE, "a")) != NULL) - { - fwrite (dbSpawn, sizeof(dbSpawnStruct), 1, sdb); - fclose (sdb); - } - else { - puts("Error opening spawn file '" SPAWNFILE "'"); - } - } -} - -void petdb(const petStruct *spawn) -{ - FILE *pdb; - struct petStruct s; - int found=0; - - if ((pdb = fopen (LOGDIR "/pet.db", "r")) != NULL) - { - while (fread (&s, sizeof(petStruct), 1, pdb)) - { - // Unique on owner class, owner level and pet level - if ((spawn->owner.class_==s.owner.class_) && - (spawn->owner.level==s.owner.level) && - (spawn->pet.level==s.pet.level)) - { - found=1; - break; - } - } - - fclose (pdb); - } - - if (!found) - { - if ((pdb = fopen (LOGDIR "/pet.db", "a")) != NULL) - { - fwrite (spawn, sizeof(petStruct), 1, pdb); - fclose (pdb); - } - } -} - QString print_races (uint16_t races) { QString race_str; @@ -880,26 +805,26 @@ { // if what's supposed to be a directory isn't somethings wierd. if (!dirInfo.isDir()) - fprintf(stderr, "\tDirectory '%s' isn't a directory!\n", + seqWarn("\tDirectory '%s' isn't a directory!", (const char*)dirInfo.absFilePath()); else { // if the directory isn't writable, that might explain it if (!dirInfo.isWritable()) - fprintf(stderr, "\tCan't write to directory: %s\n", + seqWarn("\tCan't write to directory: %s", (const char*)dirInfo.absFilePath()); // if the directory isn't readable, that might explain it if (!dirInfo.isReadable()) - fprintf(stderr, "\tCan't read directory: %s\n", + seqWarn("\tCan't read directory: %s", (const char*)dirInfo.absFilePath()); // is the directory executable (listable), if (!dirInfo.isExecutable()) - fprintf(stderr, "\tCan't execute/access directory: %s\n", + seqWarn("\tCan't execute/access directory: %s", (const char*)dirInfo.absFilePath()); } } else // directory doesn't exist - fprintf(stderr, "\tDirectory '%s' doesn't exist!\n", + seqWarn("\tDirectory '%s' doesn't exist!", (const char*)dirInfo.absFilePath()); @@ -908,12 +833,12 @@ { // The file exists, but is it writable if (!fileInfo.isWritable()) - fprintf(stderr, "\tCan't write to file: %s\n", + seqWarn("\tCan't write to file: %s", (const char*)fileInfo.absFilePath()); // Is the file really a file (or did someone do something wierd) if (!fileInfo.isFile()) - fprintf(stderr, "\tNot a file:'%s'!", + seqWarn("\tNot a file:'%s'!", (const char*)fileInfo.absFilePath()); } } @@ -931,22 +856,22 @@ { // if what's supposed to be a directory isn't somethings wierd. if (!dirInfo.isDir()) - fprintf(stderr, "\tDirectory '%s' isn't a directory!\n", + seqWarn("\tDirectory '%s' isn't a directory!", (const char*)dirInfo.absFilePath()); else { // if the directory isn't readable, that might explain it if (!dirInfo.isReadable()) - fprintf(stderr, "\tCan't read directory: %s\n", + seqWarn("\tCan't read directory: %s", (const char*)dirInfo.absFilePath()); // is the directory executable (listable), if (!dirInfo.isExecutable()) - fprintf(stderr, "\tCan't execute/access directory: %s\n", + seqWarn("\tCan't execute/access directory: %s", (const char*)dirInfo.absFilePath()); } } else // directory doesn't exist - fprintf(stderr, "\tDirectory '%s' doesn't exist!\n", + seqWarn("\tDirectory '%s' doesn't exist!", (const char*)dirInfo.absFilePath()); @@ -955,16 +880,16 @@ { // The file exists, but is it writable if (!fileInfo.isReadable()) - fprintf(stderr, "\tCan't read to file: %s\n", + seqWarn("\tCan't read to file: %s", (const char*)fileInfo.absFilePath()); // Is the file really a file (or did someone do something wierd) if (!fileInfo.isFile()) - fprintf(stderr, "\tNot a file:'%s'!", + seqWarn("\tNot a file:'%s'!", (const char*)fileInfo.absFilePath()); } else - fprintf(stderr, "\tFile '%s' doesn't exist.\n", + seqWarn("\tFile '%s' doesn't exist.", (const char*)fileInfo.absFilePath()); } @@ -1038,31 +963,25 @@ return crc ^ 0xFFFFFFFF; } - -bool findFile( QString& filename ) +////////////////////////////////////////////////////////////////// +// Seeded CRC16 needed by the packet layer. +uint16_t calcCRC16(uint8_t* p, uint32_t length, uint32_t seed) { - bool found = false; - - QFileInfo fi( filename ); - QDir dir( fi.dirPath( true ) ); - QString fileLower = fi.fileName().lower(); - - QStringList dirEntries = dir.entryList(); - - for ( QStringList::Iterator it = dirEntries.begin(); - it != dirEntries.end(); - ++it ) - { - QString entry( (*it).lower() ); - if ( entry == fileLower ) - { - filename = fi.dirPath( true ); - filename += "/"; - filename += *it; - found = true; - break; - } - } - return found; +#include "crctab.h" + unsigned long crc = 0L ^ 0xffffffff; + + // CRC each byte of the seed + crc = crc >> 8 ^ crctab[(seed ^ crc) & 0xFF]; + crc = crc >> 8 ^ crctab[(seed >> 8 ^ crc) & 0xFF]; + crc = crc >> 8 ^ crctab[(seed >> 16 ^ crc) & 0xFF]; + crc = crc >> 8 ^ crctab[(seed >> 24 ^ crc) & 0xFF]; + + // Then crc the buffer + while(length--) + { + crc = crc >> 8 ^ crctab[(*(p++) ^ crc) & 0xFF]; + } + + return crc ^ 0xffffffffL; } --- NEW FILE: filter2xml.pl --- #!/usr/bin/perl $dir = 0; while($_ = $ARGV[0], /^-/) { shift; last if /^--$/; if (/^-D/) { $dir = 1; } } if (!$dir) { migrate(@ARGV); } else { migratedir(@ARGV); } sub migratedir { local ($source, $dest, $comments) = @_; opendir(SOURCEDIR, $source) || die "Can't open '$source' directory: $!\n"; @conffiles = grep /^filters_.*\.conf$/, readdir SOURCEDIR; closedir(SOURCEDIR); foreach $file (@conffiles) { ($destfile = $file) =~ s/^filters_(.*)\.conf$/$1.xml/; # print "$source/$file => $dest/$destfile\n"; migrate("$source/$file", "$dest/$destfile", $comments); } } sub migrate { local ($source, $dest, $comments) = @_; print "Migrating '$source' to '$dest'\n"; # open source and destination files open(SOURCE_FILE, "<$source") || die "Can't find '$source' $SOURCE_FILE: $!\n"; open(DEST_FILE, ">$dest") || die "Can't create '$dest' $DEST_FILE: $!\n"; # print the XML header print DEST_FILE "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; print DEST_FILE "<!DOCTYPE seqfilters SYSTEM \"seqfilters.dtd\">\n"; print DEST_FILE "<seqfilters>\n"; $incomment = 0; $insection = 0; # iterate over the contents of the source file while ($line = <SOURCE_FILE>) { # handle empty lines if ($line =~ m/^\s*$/) { next if (!$comments); if ($incomment) { print DEST_FILE "---> \n"; $incomment = 0; } next; } # handle escaping of XML unfriendly characters $line =~ s/&/&/g; $line =~ s/</</g; $line =~ s/>/>/g; $line =~ s/\"/"/g; # handle comments if ($line =~ m/^\#/) { next if (!$comments); if ($incomment) { $line =~ s/^\#(.*)$/ $1 /; } else { $line =~ s/^\#(.*)$/<--\n $1 /; $incomment = 1; } print DEST_FILE $line; next; } if ($incomment) { print DEST_FILE "---> \n"; $incomment = 0; } # handle section breaks if ($line =~ m/^\[/) { print DEST_FILE " </section>\n" if ($insection); $insection = 1; $line =~ s/^\[([^\]]+)\]\s*$/ <section name="$1">/; print DEST_FILE $line, "\n"; } else { # min and max default to 0 $min = 0; $max = 0; # fix line termination and errant trailing spaces $line =~ s/^(.*?)\s*$/$1/; # seperate @line = split(m/;/, $line); # process level ranges if ($#line > 0) { $range = $line[1]; if ($range =~ m/^(\d+)-$/) { $min = $1; $max = 255; } elsif ($range =~ m/^-(\d+)$/) { $min = 0; $max = $1; } elsif ($range =~ m/^(\d+)-(\d+)/) { $min = $1; $max = $2; } } # print out in the XML filter format print DEST_FILE " <oldfilter>"; print DEST_FILE "<regex>", $line[0], "</regex>" if ($line[0]); # handle outputting level ranges if ($min || $max) { print DEST_FILE "<level"; print DEST_FILE " min=\"$min\"" if ($min); print DEST_FILE " max=\"$max\"" if ($max); print DEST_FILE "/>"; } # close the filter entry print DEST_FILE "</oldfilter>\n" } } # close the section print DEST_FILE " </section>\n" if ($insection); print DEST_FILE "</seqfilters>\n"; } --- NEW FILE: filteredspawnlog.cpp --- /* * spawnlog.cpp * * ShowEQ Distributed under GPL * http://www.sourceforge.net/projects/seq * * Copyright 2001-2003 by the respective ShowEQ Developers * Portions Copyright 2001-2003 Zaphod (do...@us...). */ #include "filteredspawnlog.h" #include "filtermgr.h" #include "spawn.h" #include "datetimemgr.h" FilteredSpawnLog::FilteredSpawnLog(DateTimeMgr* dateTimeMgr, FilterMgr* filterMgr, const QString& filename) : SEQLogger(filename, NULL, "FilteredSpawnLog"), m_dateTimeMgr(dateTimeMgr), m_filterMgr(filterMgr), m_logFilters(0) { } FilteredSpawnLog::~FilteredSpawnLog() { } void FilteredSpawnLog::setFilters(uint32_t flags) { m_logFilters = flags; } void FilteredSpawnLog::addItem(const Item* item) { uint32_t filterFlags = item->filterFlags(); if (!(filterFlags & m_logFilters)) return; if (filterFlags & (FILTER_FLAG_ALERT | FILTER_FLAG_DANGER | FILTER_FLAG_CAUTION | FILTER_FLAG_HUNT | FILTER_FLAG_LOCATE)) logSpawn(item, "spawned", filterFlags); } void FilteredSpawnLog::delItem(const Item* item) { uint32_t filterFlags = item->filterFlags(); if (!(filterFlags & m_logFilters)) return; if (filterFlags & FILTER_FLAG_ALERT) logSpawn(item, "despawned", filterFlags); } void FilteredSpawnLog::killSpawn(const Item* item) { uint32_t filterFlags = item->filterFlags(); if (!(filterFlags & m_logFilters)) return; if (filterFlags & FILTER_FLAG_ALERT) logSpawn(item, "killed", filterFlags); } void FilteredSpawnLog::logSpawn(const Item* item, const char* action, uint32_t flag) { // make sure the log file is open if (!open()) return; // get the current EQ Date&Time const QDateTime& eqDate = m_dateTimeMgr->updatedDateTime(); // log the information outputf("%s %s %s LOC %dy, %dx, %dz at %s (%s)\n", (const char*)m_filterMgr->filterString(flag), action, (const char*)item->name(), item->y(), item->x(), item->z(), eqDate.isValid() ? (const char*)eqDate.toString() : "", (const char*)item->spawnTimeStr()); flush(); } #include "filteredspawnlog.moc" Index: compass.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/compass.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- compass.cpp 30 Aug 2003 15:51:45 -0000 1.2 +++ compass.cpp 13 Sep 2005 15:23:11 -0000 1.3 @@ -167,3 +167,5 @@ paintCompass (&p); p.end(); } + +#include "compass.moc" Index: packetformat.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/packetformat.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- packetformat.cpp 25 Oct 2003 00:21:00 -0000 1.1 +++ packetformat.cpp 13 Sep 2005 15:23:12 -0000 1.2 @@ -4,124 +4,100 @@ * ShowEQ Distributed under GPL * http://www.sourceforge.net/projects/seq * - * Copyright 2000-2003 by the respective ShowEQ Developers - * Portions Copyright 2001-2003 Zaphod (do...@us...). + * Copyright 2000-2004 by the respective ShowEQ Developers + * Portions Copyright 2001-2004 Zaphod (do...@us...). */ /* Implementation of packet format classes class */ #include "packetformat.h" +#include "diagnosticmessages.h" -//---------------------------------------------------------------------- -// EQPacketFormatRaw class methods -QString EQPacketFormatRaw::headerFlags(const QString& prefix, - bool brief) const -{ - QString tmp; - if (!prefix.isEmpty()) - { - if (brief) - tmp = prefix + ": "; - else - tmp = prefix + "[Hdr (" + QString::number(flagsHi(), 16) + ", " - + QString::number(flagsLo(), 16) + "): "; - } - else if (!brief) - tmp = "[Hdr (" + QString::number(flagsHi(), 16) + ", " - + QString::number(flagsLo(), 16) + "): "; - - if (isARQ()) - tmp += "ARQ, "; - if (isClosingLo()) - tmp += "closingLo, "; - if (isFragment()) - tmp += "Fragment, "; - if (isASQ()) - tmp += "ASQ, "; - if (isSEQStart()) - tmp += "SEQStart, "; - if (isClosingHi()) - tmp += "closingHi, "; - if (isSEQEnd()) - tmp += "SEQEnd, "; - if (isARSP()) - tmp += "ARSP, "; - if (isNAK()) - tmp += "NAK, "; - if (isSpecARQ()) - tmp += "SpecARQ, "; - if (m_flagsHi.m_unknown1) - tmp += "HiUnknown1, "; - - if (skip() != 0) - tmp += QString("Skip: ") + QString::number(skip(), 16) + ", "; - - tmp += QString("seq: ") + QString::number(seq(), 16); - - tmp += "] "; - - if (!brief) - { - if (isARQ()) - tmp += QString("[ARQ: ") + QString::number(arq(), 16) + "] "; - - if (isFragment()) - { - tmp += QString("[FragSeq: ") + QString::number(fragSeq(), 16) - + ", FragCur: " + QString::number(fragCur(), 16) - + ", FragTot: " + QString::number(fragTot(), 16) + "] "; - } - } - - return tmp; -} +#include <zlib.h> //---------------------------------------------------------------------- -// EQPacketFormat class methods -EQPacketFormat::EQPacketFormat(EQPacketFormat& packet, bool copy) +// EQProtocolPacket class methods +EQProtocolPacket::EQProtocolPacket(EQProtocolPacket& packet, bool copy) + : m_ownCopy(copy) { + // Take the easy stuff first. + m_length = packet.m_length; + m_netOp = packet.m_netOp; + m_flags = packet.m_flags; + m_payloadLength = packet.m_payloadLength; + m_rawPayloadLength = packet.m_rawPayloadLength; + m_arqSeq = packet.m_arqSeq; + m_subpacket = packet.m_subpacket; + m_bDecoded = packet.m_bDecoded; + if (!copy) { - // the data is someone elses memory - m_ownCopy = false; - // just copy all their values m_packet = packet.m_packet; - m_length = packet.m_length; - m_postSkipData = packet.m_postSkipData; - m_postSkipDataLength = packet.m_postSkipDataLength; m_payload = packet.m_payload; - m_payloadLength = packet.m_payloadLength; - m_arq = packet.m_arq; + m_rawPayload = packet.m_rawPayload; + m_bAllocedPayload = false; } else { - init(packet.m_packet, packet.m_length, copy); + // Need to copy copy their values for buffers. m_packet first. + m_packet = new uint8_t[m_length]; + memcpy(m_packet, packet.m_packet, m_length); + + // Still have m_payload, m_rawPayload to do. Only if this packet + // alloced itself otherwise these point into m_packet. + if (packet.m_bAllocedPayload) + { + // Have packet owned payload to copy over. + m_rawPayload = new uint8_t[m_rawPayloadLength]; + memcpy(m_rawPayload, packet.m_rawPayload, m_rawPayloadLength); + m_bAllocedPayload = true; + + m_payload = m_rawPayload + (packet.m_payload - packet.m_rawPayload); + } + else + { + // No packet owned payload and init copied the raw payload. Just set + // pointers into m_packet + m_rawPayload = m_packet + (packet.m_rawPayload - packet.m_packet); + m_payload = m_packet + (packet.m_payload - packet.m_packet); + m_bAllocedPayload = false; + } } } -EQPacketFormat::~EQPacketFormat() +EQProtocolPacket::~EQProtocolPacket() { if (m_ownCopy) delete [] (uint8_t*)m_packet; + + if (m_bAllocedPayload) + { + delete[] m_rawPayload; + } } -EQPacketFormat& EQPacketFormat::operator=(const EQPacketFormat& packet) +EQProtocolPacket& EQProtocolPacket::operator=(const EQProtocolPacket& packet) { // if this was a deep copy, delete the existing data if (m_ownCopy) delete [] (uint8_t*)m_packet; + if (m_bAllocedPayload) + { + delete[] m_rawPayload; + m_bAllocedPayload = false; + } - // initialize as deep as this object previously was - init(packet.m_packet, packet.m_length, m_ownCopy); + init(packet.m_packet, packet.m_length, m_ownCopy, packet.m_subpacket); return *this; } -void EQPacketFormat::init(EQPacketFormatRaw* packet, - uint16_t length, - bool copy) +void EQProtocolPacket::init(uint8_t* packet, uint16_t length, + bool copy, bool subpacket) { + m_subpacket = subpacket; + if (!copy) { // the data is someone elses memory @@ -139,8 +115,7 @@ m_ownCopy = true; // allocate memory for the copy - // NOTE: We should use an allocater for this instead of normal new - m_packet = (EQPacketFormatRaw*)new uint8_t[length]; + m_packet = new uint8_t[length]; // copy the data memcpy((void*)m_packet, (void*)packet, length); @@ -153,54 +128,160 @@ init(); } -void EQPacketFormat::init() +//////////////////////////////////////////////////////////////////////////// +// Initialize the packet. After this is done, flags will be correct and the +// payload will be pointing at the payload, unless flags say this is a +// compressed packet all bets are off until you've called decode. +void EQProtocolPacket::init() { - // calculate position of first byte past the skipable data - m_postSkipData = ((uint8_t*)m_packet) + m_packet->skip() + 2; + // Get the net op code. Leave in network order. Need this to decide things. + m_netOp = *(uint16_t*)(m_packet); - // calculate the length of the rest of the data - m_postSkipDataLength = m_length - (m_postSkipData - ((uint8_t*)m_packet)); + // Now line up the payload as best we can. Note that if this packet is + // compressed, the opcode could potentially be wrong and the payload + // not aligned properly. You need to call decode to make sure. But on + // non-compressed packets this is good enough and you don't need to decode + if (! hasFlags()) + { + // No flags. Netopcode, then payload. Easy. + m_flags = 0; + m_rawPayload = &m_packet[2]; + m_bAllocedPayload = false; - // get the location of the payload - m_payload = m_packet->payload(); + // Total - net op - crc + m_rawPayloadLength = m_length - 2 - (hasCRC() ? 2 : 0); - // calculate the lenght of the payload (length - diff - len(checkSum)) - m_payloadLength = m_length - (m_payload - ((uint8_t*)m_packet)) - 4; - + // Decoded since no flags + m_payload = m_rawPayload; + m_payloadLength = m_rawPayloadLength; + m_bDecoded = true; + } + else + { + // Flags in the stream. Placement depends on whether this is an app or net + // opcode. + if (IS_APP_OPCODE(m_netOp)) + { + // opcode is an app opcode. Flags are byte 2 of the packet. + m_flags = m_packet[1]; - // make a local copy of the arq to speed up comparisons - m_arq = eqntohuint16(&m_postSkipData[2]); + // The opcode is split by the flags. If it is compressed (based on those + // above flags) then this is wrong but will fixed by decode + m_netOp = m_packet[2] << 8 | m_packet[0]; + } + else + { + // Flags at byte #3 after net opcode. m_netOp is correct. + m_flags = m_packet[2]; + } + + // Either way, let's start the payload at byte 4 for now. Decode may + // change this. Length is total - netop - flags - crc. + m_rawPayload = &m_packet[3]; + m_rawPayloadLength = m_length - 2 - 1 - (hasCRC() ? 2 : 0); + m_bAllocedPayload = false; + + if (! (m_flags & PROTOCOL_FLAG_COMPRESSED)) + { + // We have the packet here, let's finish the job. + m_payloadLength = m_rawPayloadLength; + m_payload = m_rawPayload; + + m_bDecoded = true; + } + else + { + m_bDecoded = false; + } + } + + // Take seq off the top if necessary + if (hasArqSeq() && m_bDecoded) + { + m_arqSeq = eqntohuint16(m_payload); + m_payload += 2; + m_payloadLength -= 2; + } } -QString EQPacketFormat::headerFlags(const QString& prefix, - bool brief) const +//////////////////////////////////////////////////////////////// +// Take a raw wire packet and align the payload, decompressing if necessary +bool EQProtocolPacket::decode(uint32_t maxPayloadLength) { - QString tmp; + // No double decoding... + if (m_bDecoded) + { + return true; + } - if (brief) - tmp = prefix + ": "; - else - tmp = prefix + " Hdr (" + QString::number(flagsHi(), 16) + ", " - + QString::number(flagsLo(), 16) + "): "; + // Decoding is only necessary for compressed packets + if (hasFlags() && getFlags() & PROTOCOL_FLAG_COMPRESSED) + { + // Compressed app opcode? If so, net op is half compressed. Align + // the buffer we need to uncompress. + if (IS_APP_OPCODE(getNetOpCode())) + { + // Total - 1/2 netop - flags - crc + m_payloadLength = m_length - 1 - 1 - (hasCRC() ? 2 : 0); + m_payload = &m_packet[2]; + } + else + { + // Total - netop - flags - crc + m_payloadLength = m_length - 2 - 1 - (hasCRC() ? 2 : 0); + m_payload = &m_packet[3]; + } - tmp += m_packet->headerFlags("", true); + // Compressed. Need to inflate. RawPayload is going to be our decompress + // buffer and needs to be managed properly. + m_rawPayload = new uint8_t[maxPayloadLength]; + m_rawPayloadLength = maxPayloadLength; // alloced size for zlib + m_bAllocedPayload = true; - if (!brief) - { - if (isARQ()) - tmp += QString("arq: ") + QString::number(arq(), 16) + ", "; - - if (isFragment()) + // Decompress + uint32_t retval = uncompress(m_rawPayload, (uLongf*)&m_rawPayloadLength, + m_payload, m_payloadLength); + + if (retval != 0) { - tmp += QString("FragSeq: ") + QString::number(fragSeq(), 16) - + ", FragCur: " + QString::number(fragCur(), 16) - + ", FragTot: " + QString::number(fragTot(), 16) + ", "; + seqWarn("Uncompress failed for packet op %04x, flags %02x. Error was %s (%d)", + getNetOpCode(), getFlags(), zError(retval), retval); + + delete[] m_rawPayload; + m_bAllocedPayload = false; + return false; } - tmp += QString("Opcode: ") + QString::number(eqntohuint16(payload()), 16); + // Align buffer pointers in the decompressed buffer and reconstitue the + // opcode if it's a split compressed app opcode + if (IS_APP_OPCODE(getNetOpCode())) + { + // Actual net op is first raw byte + first uncompressed byte + m_netOp = m_rawPayload[0] << 8 | m_packet[0]; + + // payload is the actual payload, skipping the 2nd byte of the opcode + m_payload = &m_rawPayload[1]; + m_payloadLength = m_rawPayloadLength - 1; + } + else + { + // Net op is correct. Payload is correct. + m_payload = m_rawPayload; + m_payloadLength = m_rawPayloadLength; + } + + // Take seq off the top if necessary + if (hasArqSeq()) + { + m_arqSeq = eqntohuint16(m_payload); + m_payload += 2; + m_payloadLength -= 2; + } + + m_bDecoded = true; } - return tmp; + return true; } //---------------------------------------------------------------------- @@ -224,6 +305,9 @@ // note whether or not this object ownw the memory m_ownCopy = copy; + // No session yet + m_sessionKey = 0; + // initialize the object init(ipdata); } @@ -233,6 +317,7 @@ { // note whether or not this object ownw the memory m_ownCopy = copy; + m_sessionKey = packet.getSessionKey(); if (copy) { @@ -312,17 +397,8 @@ length -= sizeof (struct udphdr); data += (sizeof (struct udphdr)); m_rawpayload = data; + m_rawpayloadSize = length; - // initialize underlying EQPacketFormat with the UDP payload - EQPacketFormat::init((EQPacketFormatRaw*)data, length, false); -} - -QString EQUDPIPPacketFormat::headerFlags(bool brief) const -{ - QString tmp; - tmp.sprintf("[%s:%d -> %s:%d]", - (const char*)getIPv4SourceA(), getSourcePort(), - (const char*)getIPv4DestA(), getDestPort()); - - return EQPacketFormat::headerFlags(tmp, brief); + // initialize underlying EQProtocolPacket with the UDP payload + EQProtocolPacket::init(data, length, false); } Index: seqlistview.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/seqlistview.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- seqlistview.cpp 24 May 2002 19:15:12 -0000 1.2 +++ seqlistview.cpp 13 Sep 2005 15:23:13 -0000 1.3 @@ -223,3 +223,5 @@ // trigger an update, otherwise things may look messy triggerUpdate(); } + +#include "seqlistview.moc" --- NEW FILE: guildlist.cpp --- /* * guildlist.cpp * * ShowEQ Distributed under GPL * http://www.sourceforge.net/projects/seq * * Copyright 2004 Zaphod (do...@us...). * */ #include "guildlist.h" #include "guildshell.h" #include "player.h" #include "zonemgr.h" #include "main.h" #include <qfont.h> #include <qpainter.h> #include <qfontdialog.h> #include <qinputdialog.h> #include <qpopupmenu.h> #include <qlineedit.h> #include <qlabel.h> #include <qlayout.h> //---------------------------------------------------------------------- // GuildListItem GuildListItem::GuildListItem(QListView* parent, const GuildMember* member, const GuildShell* guildShell) : QListViewItem(parent), m_member(member) { update(guildShell); } GuildListItem::~GuildListItem() { } void GuildListItem::paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int alignment ) { QFont font = this->listView()->font(); // members that are actually logged in have their names in bold if (m_member->zoneId()) font.setBold(true); else font.setBold(false); p->setFont(font); QListViewItem::paintCell( p, cg, column, width, alignment ); } int GuildListItem::compare(QListViewItem *o, int col, bool ascending) const { if (!m_member) return -1; GuildListItem* other = (GuildListItem*)o; const GuildMember* otherMember = other->guildMember(); switch (col) { case 1: // Level if (m_member->level() == otherMember->level()) return 0; else return m_member->level() > otherMember->level() ? 1 : -1; case 3: // Rank if (m_member->guildRank() == otherMember->guildRank()) return 0; else return m_member->guildRank() > otherMember->guildRank() ? 1 : -1; case 4: // Last On if (m_member->lastOn() == otherMember->lastOn()) return 0; else return m_member->lastOn() > otherMember->lastOn() ? 1 : -1; default: return QListViewItem::compare(o, col, ascending); } } static const QString dateFormat("ddd MMM dd hh:mm:ss yyyy"); void GuildListItem::update(const GuildShell* guildShell) { if (!m_member) return; setText(tGuildListColName, m_member->name()); setText(tGuildListColLevel, QString::number(m_member->level())); setText(tGuildListColClass, m_member->classString()); setText(tGuildListColRank, m_member->guildRankString()); QDateTime dt; dt.setTime_t(m_member->lastOn()); setText(tGuildListColLastOn, dt.toString(dateFormat)); QString zoneString = guildShell->zoneString(m_member->zoneId()); if (m_member->zoneInstance()) zoneString += ":" + QString::number(m_member->zoneInstance()); setText(tGuildListColZone, zoneString); setText(tGuildListColPublicNote, m_member->publicNote()); } void GuildListItem::setGuildMember(const GuildMember* member) { m_member = member; } int GuildListItem::rtti() const { return 2004; } //---------------------------------------------------------------------- // GuildListWindow GuildListWindow::GuildListWindow(Player* player, GuildShell* guildShell, QWidget* parent, const char* name) : SEQWindow("GuildList", "ShowEQ - Guild Member List", parent, name), m_player(player), m_guildShell(guildShell), m_guildListItemDict(709), m_menu(0), m_membersOn(0) { m_guildListItemDict.setAutoDelete(false); // get whether to show offline guildmates or not m_showOffline = pSEQPrefs->getPrefBool("ShowOffline", preferenceName(), false); // get whether to keep the list sorted or not m_keepSorted = pSEQPrefs->getPrefBool("KeepSorted", preferenceName(), false); QBoxLayout* vLayout = new QVBoxLayout(boxLayout()); QHBoxLayout* hLayout= new QHBoxLayout(vLayout); // Guild Name m_guildName = new QLabel("Guild", this); m_guildName->setAlignment(AlignLeft|AlignVCenter|SingleLine); m_guildName->setFrameShape(LineEditPanel); m_guildName->setFrameShadow(Sunken); m_guildName->setMinimumWidth(50); m_guildName->setMaximumWidth(300); hLayout->addWidget(m_guildName, 1, AlignLeft); guildChanged(); // Guild Totals m_guildTotals = new QLabel("", this); m_guildTotals->setAlignment(AlignRight|AlignVCenter|SingleLine); m_guildTotals->setFrameShape(LineEditPanel); m_guildTotals->setFrameShadow(Sunken); m_guildTotals->setMinimumWidth(30); m_guildTotals->setMaximumWidth(120); hLayout->addWidget(m_guildTotals, 0, AlignRight); // create the spawn listview m_guildList = new SEQListView(preferenceName(), this, "guildlistview"); vLayout->addWidget(m_guildList); // setup the columns m_guildList->addColumn("Name"); m_guildList->addColumn("Level"); m_guildList->addColumn("Class"); m_guildList->addColumn("Rank"); m_guildList->addColumn("Last On", "LastOn"); m_guildList->addColumn("Zone"); m_guildList->addColumn("Public Note", "PublicNote"); // restore the columns settings from preferences m_guildList->restoreColumns(); connect(m_guildShell, SIGNAL(cleared()), this, SLOT(cleared())); connect(m_guildShell, SIGNAL(loaded()), this, SLOT(loaded())); connect(m_guildShell, SIGNAL(updated(const GuildMember*)), this, SLOT(updated(const GuildMember*))); connect(m_player, SIGNAL(guildChanged()), this, SLOT(guildChanged())); // populate the window populate(); } GuildListWindow::~GuildListWindow() { } QPopupMenu* GuildListWindow::menu() { if (m_menu) return m_menu; m_menu = new QPopupMenu; QPopupMenu* guildListColMenu = new QPopupMenu; m_menu->insertItem( "Show &Column", guildListColMenu); guildListColMenu->setCheckable(true); m_id_guildList_Cols[tGuildListColName] = guildListColMenu->insertItem("&Name"); guildListColMenu->setItemParameter(m_id_guildList_Cols[tGuildListColName], tGuildListColName); m_id_guildList_Cols[tGuildListColLevel] = guildListColMenu->insertItem("&Level"); guildListColMenu->setItemParameter(m_id_guildList_Cols[tGuildListColLevel], tGuildListColLevel); m_id_guildList_Cols[tGuildListColClass] = guildListColMenu->insertItem("&Class"); guildListColMenu->setItemParameter(m_id_guildList_Cols[tGuildListColClass], tGuildListColClass); m_id_guildList_Cols[tGuildListColRank] = guildListColMenu->insertItem("&Rank"); guildListColMenu->setItemParameter(m_id_guildList_Cols[tGuildListColRank], tGuildListColRank); m_id_guildList_Cols[tGuildListColLastOn] = guildListColMenu->insertItem("Last &On"); guildListColMenu->setItemParameter(m_id_guildList_Cols[tGuildListColLastOn], tGuildListColLastOn); m_id_guildList_Cols[tGuildListColZone] = guildListColMenu->insertItem("&Zone"); guildListColMenu->setItemParameter(m_id_guildList_Cols[tGuildListColZone], tGuildListColZone); m_id_guildList_Cols[tGuildListColPublicNote] = guildListColMenu->insertItem("&Public Note"); guildListColMenu->setItemParameter(m_id_guildList_Cols[tGuildListColPublicNote], tGuildListColPublicNote); connect (guildListColMenu, SIGNAL(activated(int)), this, SLOT(toggle_guildListCol(int))); m_menu->insertSeparator(-1); int x; x = m_menu->insertItem("Show Offline", this, SLOT(toggle_showOffline(int))); m_menu->setItemChecked(x, m_showOffline); x = m_menu->insertItem("Keep Sorted", this, SLOT(toggle_keepSorted(int))); m_menu->setItemChecked(x, m_keepSorted); m_menu->insertSeparator(-1); m_menu->insertItem("&Font...", this, SLOT(set_font(int))); m_menu->insertItem("&Caption...", this, SLOT(set_caption(int))); connect(m_menu, SIGNAL(aboutToShow()), this, SLOT(init_Menu())); return m_menu; } void GuildListWindow::cleared() { clear(); } void GuildListWindow::loaded() { populate(); } void GuildListWindow::updated(const GuildMember* member) { GuildListItem* memberItem = m_guildListItemDict.find((void*)member); // what to do if their is a member already if (memberItem) { // if not-showing offline users and this user has become offline, // then remove it if (!member->zoneId()) { // decrement members on count m_membersOn--; if (!m_showOffline) { // remove the item from the item dictionary m_guildListItemDict.remove((void*)member); // delete the item delete memberItem; } } else memberItem->update(m_guildShell); } // else { if (member->zoneId()) m_membersOn++; if (m_showOffline || (!m_showOffline && member->zoneId())) { // add the new guild member item memberItem = new GuildListItem(m_guildList, member, m_guildShell); // insert it into the dictionary m_guildListItemDict.insert((void*)member, memberItem); } } // make sure the guild list is sorted if (m_keepSorted) m_guildList->sort(); updateCount(); } void GuildListWindow::guildChanged() { QString guild(" Guild: %1 "); // set the guild name m_guildName->setText(guild.arg(m_player->guildTag())); } void GuildListWindow::init_Menu(void) { // make sure the menu bar settings are correct for (int i = 0; i < tGuildListColMaxCols; i++) m_menu->setItemChecked(m_id_guildList_Cols[i], m_guildList->columnVisible(i)); } void GuildListWindow::toggle_showOffline(int id) { // toggle immediate update value m_showOffline = !m_showOffline; m_menu->setItemChecked(id, m_showOffline); pSEQPrefs->setPrefBool("ShowOffline", preferenceName(), m_showOffline); // re-populate the window populate(); } void GuildListWindow::toggle_keepSorted(int id) { // toggle immediate update value m_keepSorted = !m_keepSorted; m_menu->setItemChecked(id, m_keepSorted); pSEQPrefs->setPrefBool("KeepSorted", preferenceName(), m_keepSorted); if (m_keepSorted) m_guildList->sort(); } void GuildListWindow::toggle_guildListCol( int id ) { int colnum; colnum = m_menu->itemParameter(id); if (menu()->isItemChecked(id)) m_guildList->setColumnVisible(colnum, false); else m_guildList->setColumnVisible(colnum, true); } void GuildListWindow::set_font(int id) { QFont newFont; bool ok = false; // get a new font newFont = QFontDialog::getFont(&ok, font(), this, caption() + " Font"); // if the user entered a font and clicked ok, set the windows font if (ok) setWindowFont(newFont); } void GuildListWindow::set_caption(int id) { bool ok = false; QString captionText = QInputDialog::getText("ShowEQ Guild List Window Caption", "Enter caption for the Guild List Window:", QLineEdit::Normal, caption(), &ok, this); // if the user entered a caption and clicked ok, set the windows caption if (ok) setCaption(captionText); } void GuildListWindow::clear(void) { // clear count m_membersOn = 0; // clear out the guild list item dictionary m_guildListItemDict.clear(); // clear the guild list contents m_guildList->clear(); updateCount(); } void GuildListWindow::populate(void) { GuildMember* member; GuildListItem* memberItem; // make sure everything is out of the list view first... clear(); // disable updates setUpdatesEnabled(false); // iterate over the members GuildMemberDictIterator it(m_guildShell->members()); // if showing offline members just insert them all if (m_showOffline) { // iterate over all the members while ((member = it.current())) { // increment members on count for each member on if (member->zoneId()) m_membersOn++; // add the new guild member item memberItem = new GuildListItem(m_guildList, member, m_guildShell); // insert it into the dictionary m_guildListItemDict.insert((void*)member, memberItem); ++it; } } else { // iterate over all the members while ((member = it.current())) { // all online members will have a non-zero zone id. if (member->zoneId()) { // increment members on count for each member on m_membersOn++; // add the new guild member item memberItem = new GuildListItem(m_guildList, member, m_guildShell); // insert it into the dictionary m_guildListItemDict.insert((void*)member, memberItem); } ++it; } } // make sure the guild list is sorted m_guildList->sort(); // update the counts updateCount(); // re-enable updates and force a repaint setUpdatesEnabled(true); repaint(); } void GuildListWindow::updateCount(void) { QString text(" %1 on/%2 total "); m_guildTotals->setText(text.arg(m_membersOn).arg(m_guildShell->members().count())); } #include "guildlist.moc" Index: combatlog.h =================================================================== RCS file: /cvsroot/seq/showeq/src/combatlog.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- combatlog.h 10 Sep 2003 06:24:05 -0000 1.8 +++ combatlog.h 13 Sep 2005 15:23:11 -0000 1.9 @@ -87,6 +87,7 @@ int getTotalDamage() { return m_iTotalDamage; }; int getTotalAttacks() { return m_iTotalAttacks; }; + void clear(void); void addMiss(int iMissReason); void addHit(int iDamage); @@ -166,6 +167,7 @@ void resetDPS(); void clearMob(); void clearOffense(); + void clear(void); private: Index: packetformat.h =================================================================== RCS file: /cvsroot/seq/showeq/src/packetformat.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- packetformat.h 25 Oct 2003 00:21:00 -0000 1.1 +++ packetformat.h 13 Sep 2005 15:23:12 -0000 1.2 @@ -4,8 +4,8 @@ * ShowEQ Distributed under GPL * http://www.sourceforge.net/projects/seq * - * Copyright 2000-2003 by the respective ShowEQ Developers - * Portions Copyright 2001-2003 Zaphod (do...@us...). + * Copyright 2000-2004 by the respective ShowEQ Developers + * Portions Copyright 2001-2004 Zaphod (do...@us...). */ #ifndef _PACKETFORMAT_H_ @@ -42,265 +42,183 @@ // Forward declarations class QString; -//---------------------------------------------------------------------- -// enumerated types -enum EQPacketHeaderFlagsHi -{ - seqEnd = 0x80, - closingHi = 0x40, - seqStart = 0x20, - asq = 0x10, - fragment = 0x08, - closingLo = 0x04, - ackRequest = 0x02, -}; - -enum EQPacketHeaderFlagsLo -{ - ackResponse = 0x04, - specAckRequest = 0x01 -}; - -//---------------------------------------------------------------------- -// EQPacketFormatRaw - -// Why EQPacketFormatRaw, because the EQPacket name was taken... ;-) -// (/thank Xylor for the format of the packets) -// (/thank fee for helping me to understand the format) -// Some simplifying assumptions based on observed packet behavior -// that are used to optimize access -// 1) the arq bit is always set when the fragment bit is set -// 2) the arq is always after 2 bytes past the embedded ack/req data. -// 3) the fragment stuff is always 4 bytes after the embedded ack/req data -// based on 1). -// -#pragma pack(1) -class EQPacketFormatRaw -{ - public: - // accessors to check for individual flasg - bool isARQ() const { return m_flagsHi.m_arq; } - bool isClosingLo() const { return m_flagsHi.m_closingLo; } - bool isFragment() const { return m_flagsHi.m_fragment; } - bool isASQ() const { return m_flagsHi.m_asq; } - bool isSEQStart() const { return m_flagsHi.m_seqStart; } - bool isClosingHi() const { return m_flagsHi.m_closingHi; } - bool isSEQEnd() const { return m_flagsHi.m_seqEnd; } - bool isARSP() const { return m_flagsLo.m_arsp; } - bool isSpecARQ() const { return m_flagsLo.m_specARQ; } - bool isNAK() const { return m_flagsLo.m_nak; } - - // Check flag against the EQPacketHeaderFlag{Hi, Lo} values - bool checkFlagHi(uint8_t mask) const - { return ((m_flagsHiVal & mask) != 0); } - bool checkFlagLo(uint8_t mask) const - { return ((m_flagsLoVal & mask) != 0); } - - // accessors to return the flag values - uint8_t flagsHi() const { return m_flagsHiVal; } - uint8_t flagsLo() const { return m_flagsLoVal; } - - // number of uint8_t's to skip when examining packets - uint8_t skip() const - { - return ((uint8_t)m_flagsLo.m_skip + - (isARSP() ? 2 : 0) + - (isNAK() ? 2 : 0)); - } - - // The following accessors are only valid if the corresponding - // flag is set. - uint16_t seq() const { return eqntohuint16(&m_data[0]); } - uint16_t arsp() const { return eqntohuint16(&m_data[2]); } - uint16_t nak() const { return eqntohuint16(&m_data[4]); } - uint16_t arq() const - { return eqntohuint16(&m_data[2 + skip()]); } - uint16_t fragSeq() const - { return eqntohuint16(&m_data[4 + skip()]); } - uint16_t fragCur() const - { return eqntohuint16(&m_data[6 + skip()]); } - uint16_t fragTot() const - { return eqntohuint16(&m_data[8 + skip()]); } - uint8_t asqHigh() const { return m_data[10 + skip()]; } - uint8_t asqLow() const { return m_data[11 + skip()]; } - uint32_t crc32(uint16_t len) const - { return eqntohuint32(&m_data[len - 2 - 4]); } +// Net Op Codes in net order. Underneath, there are actually channels +// 0-3, where 0x0900 is OP_Packet on channel 0, 0x0a00 is OP_Packet on +// channel 1, 0x0b00 is OP_Packet on channel 2, etc. and the same +// with OP_Oversized for 0x0d00-0x1000. Only channel 0 seems used. +static const uint16_t OP_SessionRequest = 0x0100; +static const uint16_t OP_SessionResponse = 0x0200; +static const uint16_t OP_Combined = 0x0300; +static const uint16_t OP_SessionDisconnect = 0x0500; +static const uint16_t OP_KeepAlive = 0x0600; +static const uint16_t OP_SessionStatRequest = 0x0700; +static const uint16_t OP_SessionStatResponse= 0x0800; +static const uint16_t OP_Packet = 0x0900; +static const uint16_t OP_Oversized = 0x0d00; +static const uint16_t OP_AckFuture = 0x1100; +static const uint16_t OP_Ack = 0x1500; +static const uint16_t OP_AppCombined = 0x1900; +static const uint16_t OP_AckAfterDisconnect = 0x1d00; - uint8_t* payload() - { - return m_data + // m_data is already passed the flag bytes - (skip() // skip arsp, specARQ data - + (isASQ() ? 1 : 0) // skip asqHigh - + (isARQ() ? 2 : 0) // skip arq - + ((isASQ() && isARQ()) ? 1 : 0) // skip asqLow - + (isFrag... [truncated message content] |
From: Chad M. <cmm...@us...> - 2005-09-13 15:23:22
|
Update of /cvsroot/seq/showeq/m4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14505/m4 Added Files: doxygen.m4 Log Message: Merged pre_5_0_beta down to the trunk. pre_5_0_beta should be treated as closed. All future development will occur on the branch. Updated version to 5.1.0.0 in preparation for new expansion release pending fixes for live compatibility. --- NEW FILE: doxygen.m4 --- # This file is part of Autoconf. -*- Autoconf -*- # Copyright (C) 2004 Oren Ben-Kiki # This file is distributed under the same terms as the Autoconf macro files. # Generate automatic documentation using Doxygen. Works in concert with the # aminclude.m4 file and a compatible doxygen configuration file. Defines the # following public macros: # # DX_???_FEATURE(ON|OFF) - control the default setting fo a Doxygen feature. # Supported features are 'DOXYGEN' itself, 'DOT' for generating graphics, # 'HTML' for plain HTML, 'CHM' for compressed HTML help (for MS users), 'CHI' # for generating a seperate .chi file by the .chm file, and 'MAN', 'RTF', # 'XML', 'PDF' and 'PS' for the appropriate output formats. The environment # variable DOXYGEN_PAPER_SIZE may be specified to override the default 'a4wide' # paper size. # # By default, HTML, PDF and PS documentation is generated as this seems to be # the most popular and portable combination. MAN pages created by Doxygen are # usually problematic, though by picking an appropriate subset and doing some # massaging they might be better than nothing. CHM and RTF are specific for MS # (note that you can't generate both HTML and CHM at the same time). The XML is # rather useless unless you apply specialized post-processing to it. # # The macro mainly controls the default state of the feature. The use can # override the default by specifying --enable or --disable. The macros ensure # that contradictory flags are not given (e.g., --enable-doxygen-html and # --enable-doxygen-chm, --enable-doxygen-anything with --disable-doxygen, etc.) # Finally, each feature will be automatically disabled (with a warning) if the # required programs are missing. # # Once all the feature defaults have been specified, call DX_INIT_DOXYGEN with # the following parameters: a one-word name for the project for use as a # filename base etc., an optional configuration file name (the default is # 'Doxyfile', the same as Doxygen's default), and an optional output directory # name (the default is 'doxygen-doc'). ## ----------## ## Defaults. ## ## ----------## DX_ENV="" AC_DEFUN([DX_FEATURE_doc], ON) AC_DEFUN([DX_FEATURE_dot], ON) AC_DEFUN([DX_FEATURE_man], OFF) AC_DEFUN([DX_FEATURE_html], ON) AC_DEFUN([DX_FEATURE_chm], OFF) AC_DEFUN([DX_FEATURE_chi], OFF) AC_DEFUN([DX_FEATURE_rtf], OFF) AC_DEFUN([DX_FEATURE_xml], OFF) AC_DEFUN([DX_FEATURE_pdf], ON) AC_DEFUN([DX_FEATURE_ps], ON) ## --------------- ## ## Private macros. ## ## --------------- ## # DX_ENV_APPEND(VARIABLE, VALUE) # ------------------------------ # Append VARIABLE="VALUE" to DX_ENV for invoking doxygen. AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])]) # DX_DIRNAME_EXPR # --------------- # Expand into a shell expression prints the directory part of a path. AC_DEFUN([DX_DIRNAME_EXPR], [[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']]) # DX_IF_FEATURE(FEATURE, IF-ON, IF-OFF) # ------------------------------------- # Expands according to the M4 (static) status of the feature. AC_DEFUN([DX_IF_FEATURE], [ifelse(DX_FEATURE_$1, ON, [$2], [$3])]) # DX_REQUIRE_PROG(VARIABLE, PROGRAM) # ---------------------------------- # Require the specified program to be found for the DX_CURRENT_FEATURE to work. AC_DEFUN([DX_REQUIRE_PROG], [ AC_PATH_TOOL([$1], [$2]) if test "$DX_FLAG_[]DX_CURRENT_FEATURE$$1" = 1; then AC_MSG_WARN([$2 not found - will not DX_CURRENT_DESCRIPTION]) AC_SUBST([DX_FLAG_[]DX_CURRENT_FEATURE], 0) fi ]) # DX_TEST_FEATURE(FEATURE) # ------------------------ # Expand to a shell expression testing whether the feature is active. AC_DEFUN([DX_TEST_FEATURE], [test "$DX_FLAG_$1" = 1]) # DX_CHECK_DEPEND(REQUIRED_FEATURE, REQUIRED_STATE) # ------------------------------------------------- # Verify that a required features has the right state before trying to turn on # the DX_CURRENT_FEATURE. AC_DEFUN([DX_CHECK_DEPEND], [ test "$DX_FLAG_$1" = "$2" \ || AC_MSG_ERROR([doxygen-DX_CURRENT_FEATURE ifelse([$2], 1, requires, contradicts) doxygen-DX_CURRENT_FEATURE]) ]) # DX_CLEAR_DEPEND(FEATURE, REQUIRED_FEATURE, REQUIRED_STATE) # ---------------------------------------------------------- # Turn off the DX_CURRENT_FEATURE if the required feature is off. AC_DEFUN([DX_CLEAR_DEPEND], [ test "$DX_FLAG_$1" = "$2" || AC_SUBST([DX_FLAG_[]DX_CURRENT_FEATURE], 0) ]) # DX_FEATURE_ARG(FEATURE, DESCRIPTION, # CHECK_DEPEND, CLEAR_DEPEND, # REQUIRE, DO-IF-ON, DO-IF-OFF) # -------------------------------------------- # Parse the command-line option controlling a feature. CHECK_DEPEND is called # if the user explicitly turns the feature on (and invokes DX_CHECK_DEPEND), # otherwise CLEAR_DEPEND is called to turn off the default state if a required # feature is disabled (using DX_CLEAR_DEPEND). REQUIRE performs additional # requirement tests (DX_REQUIRE_PROG). Finally, an automake flag is set and # DO-IF-ON or DO-IF-OFF are called according to the final state of the feature. AC_DEFUN([DX_ARG_ABLE], [ AC_DEFUN([DX_CURRENT_FEATURE], [$1]) AC_DEFUN([DX_CURRENT_DESCRIPTION], [$2]) AC_ARG_ENABLE(doxygen-$1, [AS_HELP_STRING(DX_IF_FEATURE([$1], [--disable-doxygen-$1], [--enable-doxygen-$1]), DX_IF_FEATURE([$1], [don't $2], [$2]))], [ case "$enableval" in #( y|Y|yes|Yes|YES) AC_SUBST([DX_FLAG_$1], 1) $3 ;; #( n|N|no|No|NO) AC_SUBST([DX_FLAG_$1], 0) ;; #( *) AC_MSG_ERROR([invalid value '$enableval' given to doxygen-$1]) ;; esac ], [ AC_SUBST([DX_FLAG_$1], [DX_IF_FEATURE([$1], 1, 0)]) $4 ]) if DX_TEST_FEATURE([$1]); then $5 : fi if DX_TEST_FEATURE([$1]); then AM_CONDITIONAL(DX_COND_$1, :) $6 : else AM_CONDITIONAL(DX_COND_$1, false) $7 : fi ]) ## -------------- ## ## Public macros. ## ## -------------- ## # DX_XXX_FEATURE(DEFAULT_STATE) # ----------------------------- AC_DEFUN([DX_DOXYGEN_FEATURE], [AC_DEFUN([DX_FEATURE_doc], [$1])]) AC_DEFUN([DX_MAN_FEATURE], [AC_DEFUN([DX_FEATURE_man], [$1])]) AC_DEFUN([DX_HTML_FEATURE], [AC_DEFUN([DX_FEATURE_html], [$1])]) AC_DEFUN([DX_CHM_FEATURE], [AC_DEFUN([DX_FEATURE_chm], [$1])]) AC_DEFUN([DX_CHI_FEATURE], [AC_DEFUN([DX_FEATURE_chi], [$1])]) AC_DEFUN([DX_RTF_FEATURE], [AC_DEFUN([DX_FEATURE_rtf], [$1])]) AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])]) AC_DEFUN([DX_PDF_FEATURE], [AC_DEFUN([DX_FEATURE_pdf], [$1])]) AC_DEFUN([DX_PS_FEATURE], [AC_DEFUN([DX_FEATURE_ps], [$1])]) # DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR]) # --------------------------------------------------------- # PROJECT also serves as the base name for the documentation files. # The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is "doxygen-doc". AC_DEFUN([DX_INIT_DOXYGEN], [ # Files: AC_SUBST([DX_PROJECT], [$1]) AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])]) AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])]) # Environment variables used inside doxygen.cfg: DX_ENV_APPEND(SRCDIR, $srcdir) DX_ENV_APPEND(PROJECT, $DX_PROJECT) DX_ENV_APPEND(DOCDIR, $DX_DOCDIR) DX_ENV_APPEND(VERSION, $PACKAGE_VERSION) # Doxygen itself: DX_ARG_ABLE(doc, [generate any doxygen documentation], [], [], [DX_REQUIRE_PROG([DX_DOXYGEN], doxygen) DX_REQUIRE_PROG([DX_PERL], perl)], [DX_ENV_APPEND(PERL_PATH, $DX_PERL)]) # Dot for graphics: DX_ARG_ABLE(dot, [generate graphics for doxygen documentation], [DX_CHECK_DEPEND(doc, 1)], [DX_CLEAR_DEPEND(doc, 1)], [DX_REQUIRE_PROG([DX_DOT], dot)], [DX_ENV_APPEND(HAVE_DOT, YES) DX_ENV_APPEND(DOT_PATH, [`DX_DIRNAME_EXPR($DX_DOT)`])], [DX_ENV_APPEND(HAVE_DOT, NO)]) # Man pages generation: DX_ARG_ABLE(man, [generate doxygen manual pages], [DX_CHECK_DEPEND(doc, 1)], [DX_CLEAR_DEPEND(doc, 1)], [], [DX_ENV_APPEND(GENERATE_MAN, YES)], [DX_ENV_APPEND(GENERATE_MAN, NO)]) # RTF file generation: DX_ARG_ABLE(rtf, [generate doxygen RTF documentation], [DX_CHECK_DEPEND(doc, 1)], [DX_CLEAR_DEPEND(doc, 1)], [], [DX_ENV_APPEND(GENERATE_RTF, YES)], [DX_ENV_APPEND(GENERATE_RTF, NO)]) # XML file generation: DX_ARG_ABLE(xml, [generate doxygen XML documentation], [DX_CHECK_DEPEND(doc, 1)], [DX_CLEAR_DEPEND(doc, 1)], [], [DX_ENV_APPEND(GENERATE_XML, YES)], [DX_ENV_APPEND(GENERATE_XML, NO)]) # (Compressed) HTML help generation: DX_ARG_ABLE(chm, [generate doxygen compressed HTML help documentation], [DX_CHECK_DEPEND(doc, 1)], [DX_CLEAR_DEPEND(doc, 1)], [DX_REQUIRE_PROG([DX_HHC], hhc)], [DX_ENV_APPEND(HHC_PATH, $DX_HHC) DX_ENV_APPEND(GENERATE_HTML, YES) DX_ENV_APPEND(GENERATE_HTMLHELP, YES)], [DX_ENV_APPEND(GENERATE_HTMLHELP, NO)]) # Seperate CHI file generation. DX_ARG_ABLE(chi, [generate doxygen seperate compressed HTML help index file], [DX_CHECK_DEPEND(chm, 1)], [DX_CLEAR_DEPEND(chm, 1)], [], [DX_ENV_APPEND(GENERATE_CHI, YES)], [DX_ENV_APPEND(GENERATE_CHI, NO)]) # Plain HTML pages generation: DX_ARG_ABLE(html, [generate doxygen plain HTML documentation], [DX_CHECK_DEPEND(doc, 1) DX_CHECK_DEPEND(chm, 0)], [DX_CLEAR_DEPEND(doc, 1) DX_CLEAR_DEPEND(chm, 0)], [], [DX_ENV_APPEND(GENERATE_HTML, YES)], [DX_TEST_FEATURE(chm) || DX_ENV_APPEND(GENERATE_HTML, NO)]) # PostScript file generation: DX_ARG_ABLE(ps, [generate doxygen PostScript documentation], [DX_CHECK_DEPEND(doc, 1)], [DX_CLEAR_DEPEND(doc, 1)], [DX_REQUIRE_PROG([DX_LATEX], latex) DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex) DX_REQUIRE_PROG([DX_DVIPS], dvips) DX_REQUIRE_PROG([DX_EGREP], egrep)]) # PDF file generation: DX_ARG_ABLE(pdf, [generate doxygen PDF documentation], [DX_CHECK_DEPEND(doc, 1)], [DX_CLEAR_DEPEND(doc, 1)], [DX_REQUIRE_PROG([DX_PDFLATEX], pdflatex) DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex) DX_REQUIRE_PROG([DX_EGREP], egrep)]) # LaTeX generation for PS and/or PDF: if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then AM_CONDITIONAL(DX_COND_latex, :) DX_ENV_APPEND(GENERATE_LATEX, YES) else AM_CONDITIONAL(DX_COND_latex, false) DX_ENV_APPEND(GENERATE_LATEX, NO) fi # Paper size for PS and/or PDF: AC_ARG_VAR(DOXYGEN_PAPER_SIZE, [a4wide (default), a4, letter, legal or executive]) case "$DOXYGEN_PAPER_SIZE" in #( "") AC_SUBST(DOXYGEN_PAPER_SIZE, "") ;; #( a4wide|a4|letter|legal|executive) DX_ENV_APPEND(PAPER_SIZE, $DOXYGEN_PAPER_SIZE) ;; #( *) AC_MSG_ERROR([unknown DOXYGEN_PAPER_SIZE='$DOXYGEN_PAPER_SIZE']) ;; esac #For debugging: #echo DX_FLAG_doc=$DX_FLAG_doc #echo DX_FLAG_dot=$DX_FLAG_dot #echo DX_FLAG_man=$DX_FLAG_man #echo DX_FLAG_html=$DX_FLAG_html #echo DX_FLAG_chm=$DX_FLAG_chm #echo DX_FLAG_chi=$DX_FLAG_chi #echo DX_FLAG_rtf=$DX_FLAG_rtf #echo DX_FLAG_xml=$DX_FLAG_xml #echo DX_FLAG_pdf=$DX_FLAG_pdf #echo DX_FLAG_ps=$DX_FLAG_ps #echo DX_ENV=$DX_ENV ]) |
Update of /cvsroot/seq/showeq/maps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14505/maps Removed Files: .cvsignore Acrylia.map AirPlane.map Akanon.map Akheva.map Arena.map Bazaar.map Befallen.map Beholder.map Blackburrow.map Bothunder.map BurningWood.map Butcher.map CSHome.map Cabeast.map Cabwest.map Cauldron.map CazicThule.map Charasis.map Chardok.map Chardok2.map CityMist.map CobaltScar.map Codecay.map Commons.map Crushbone.map Crystal.map Dalnir.map Dalnir_lvl_1.map Dalnir_lvl_2.map Dalnir_lvl_3.map Dawnshroud.map Dreadlands.map Droga.map Dulak.map EastKarana.map EastWastes.map Echo.map Ecommons.map EmeraldJungle.map ErudnExt.map ErudnInt.map ErudsXing.map Everfrost.map FearPlane.map Feerrott.map FelwitheA.map FelwitheB.map FieldOfBone.map Firiona.map FreportE.map FreportN.map FreportW.map FrontierMtns.map FrozenShadow.map Fungusgrove.map Gfaydark.map Greatdivide.map Griegsend.map Grimling.map Grobb.map Growthplane.map GukBottom.map GukTop.map Guka.map Gukb.map Gukc.map Gukd.map Guke.map Gukf.map Gukg.map Gukh.map Gunthak.map Halas.map HatePlane.map Hatesfury.map Highkeep.map Highpass.map Hohonora.map Hohonorb.map Hole-tower.map Hole.map Hollowshade.map Iceclad.map Innothule.map Jaggedpine.map Kael.map Kaesora.map KaladimA.map KaladimB.map Karnor.map Katta.map Kedge.map KerraRidge.map Kithicor.map Kurn.map LakeRathe.map LakeofIllOmen.map Lavastorm.map Letalis.map Lfaydark.map Maiden.map Makefile.am MischiefMaze.map Mischiefplane.map Mistmoore.map Misty.map Mseru.map Nadox.map Najena.map Necropolis.map NecropolisLower.map Nedaria.map Nektulos.map NeriakA.map NeriakB.map NeriakC.map Netherbian.map Nexus.map Nightmareb.map NorthKarana.map Nro.map Nurga.map OOT.map Oasis.map Oggok.map Overthere.map Paineel.map Paludal.map Paw.map Permafrost.map PermafrostPits.map Poair.map Podisease.map Pofire.map Poinnovation.map Pojustice.map Poknowledge.map Ponightmare.map Postorms.map Potactics.map Potorment.map Potranquility.map Povalor.map Powar.map Powater.map QRG.map Qcat.map Qey2HH1.map Qeynos.map Qeynos2.map Qeytoqrg.map README Rathemtn.map Rivervale.map Runnyeye.map Scarlet.map Sebilis.map SebilisMain.map SebilisSewers.map Shadeweaver.map Shadowhaven.map SharVahl.map Sirens.map Skyfire.map Skyshrine.map Skyshrine2.map Skyshrine3.map Skyshrine_Lower.map Skyshrine_Upper.map Sleeper.map SolTemple.map SoldungA.map SoldungB.map Solrotower.map SouthKarana.map Sro.map Sseru.map Ssratemple.map Steamfont.map Stonebrunt.map Swampofnohope.map Taka.map Takb.map Takc.map Takd.map Take.map Takf.map Takg.map Takh.map Taki.map Takj.map TempleRo.map Templeveeshan-detailed.map Templeveeshan.map Tenebrous.map TheDeep.map Thegrey.map Thurgadina.map Thurgadina1.map Thurgadinb.map Timorous.map Torgiran.map Tox.map Trakanon.map Twilight.map Umbral.map Unrest.map Veeshan.map Velketor.map Vexthal.map Wakening.map Warrens.map WarsliksWood.map Westwastes.map abysmal.map barindu.map ferubi.map ikkinz.map kerraridge.map kerraridge2.map kodtaz.map mira.map mirb.map mirc.map mird.map mire.map mirf.map mirg.map mirh.map miri.map mirj.map mmca.map mmcb.map mmcc.map mmcd.map mmce.map mmcf.map mmcg.map mmch.map mmci.map mmcj.map natimbi.map poeartha.map poearthb.map potimea.map potimeb.map qinimi.map qvic.map riwwi.map ruja.map rujb.map rujc.map rujd.map ruje.map rujf.map rujg.map rujh.map ruji.map rujj.map sncrematory.map snlair.map snplant.map snpool.map tipt.map txevu.map uqua.map vxed.map yxtta.map Log Message: Merged pre_5_0_beta down to the trunk. pre_5_0_beta should be treated as closed. All future development will occur on the branch. Updated version to 5.1.0.0 in preparation for new expansion release pending fixes for live compatibility. --- Takh.map DELETED --- --- mmcj.map DELETED --- --- Highpass.map DELETED --- --- Guka.map DELETED --- --- Karnor.map DELETED --- --- Ecommons.map DELETED --- --- BurningWood.map DELETED --- --- Lfaydark.map DELETED --- --- SebilisMain.map DELETED --- --- Dawnshroud.map DELETED --- --- Katta.map DELETED --- --- Warrens.map DELETED --- --- Kaesora.map DELETED --- --- rujd.map DELETED --- --- Takf.map DELETED --- --- riwwi.map DELETED --- --- AirPlane.map DELETED --- --- Lavastorm.map DELETED --- --- Mistmoore.map DELETED --- --- mirc.map DELETED --- --- Templeveeshan.map DELETED --- --- FearPlane.map DELETED --- --- Sseru.map DELETED --- --- Skyfire.map DELETED --- --- Growthplane.map DELETED --- --- KaladimA.map DELETED --- --- HatePlane.map DELETED --- --- Poknowledge.map DELETED --- --- Poinnovation.map DELETED --- --- GukBottom.map DELETED --- --- Torgiran.map DELETED --- --- Makefile.am DELETED --- --- Trakanon.map DELETED --- --- Blackburrow.map DELETED --- --- Kurn.map DELETED --- --- Commons.map DELETED --- --- Echo.map DELETED --- --- ikkinz.map DELETED --- --- Nedaria.map DELETED --- --- Solrotower.map DELETED --- --- Feerrott.map DELETED --- --- NeriakC.map DELETED --- --- Mischiefplane.map DELETED --- --- ferubi.map DELETED --- --- Akanon.map DELETED --- --- mird.map DELETED --- --- SebilisSewers.map DELETED --- --- Pojustice.map DELETED --- --- Scarlet.map DELETED --- --- GukTop.map DELETED --- --- NecropolisLower.map DELETED --- --- SoldungA.map DELETED --- --- kerraridge.map DELETED --- --- FreportW.map DELETED --- --- TempleRo.map DELETED --- --- EastWastes.map DELETED --- --- Maiden.map DELETED --- --- FelwitheA.map DELETED --- --- Qcat.map DELETED --- --- SoldungB.map DELETED --- --- mmcb.map DELETED --- --- Grobb.map DELETED --- --- Tenebrous.map DELETED --- --- ruje.map DELETED --- --- Vexthal.map DELETED --- --- Runnyeye.map DELETED --- --- OOT.map DELETED --- --- Veeshan.map DELETED --- --- uqua.map DELETED --- --- Kedge.map DELETED --- --- Kael.map DELETED --- --- mirh.map DELETED --- --- Wakening.map DELETED --- --- Beholder.map DELETED --- --- Potranquility.map DELETED --- --- Twilight.map DELETED --- --- EastKarana.map DELETED --- --- mmci.map DELETED --- --- PermafrostPits.map DELETED --- --- Paineel.map DELETED --- --- LakeofIllOmen.map DELETED --- --- MischiefMaze.map DELETED --- --- QRG.map DELETED --- --- SouthKarana.map DELETED --- --- Dulak.map DELETED --- --- Rathemtn.map DELETED --- --- Povalor.map DELETED --- --- Najena.map DELETED --- --- Chardok.map DELETED --- --- Templeveeshan-detailed.map DELETED --- --- Tox.map DELETED --- --- NorthKarana.map DELETED --- --- Sro.map DELETED --- --- txevu.map DELETED --- --- poearthb.map DELETED --- --- Oasis.map DELETED --- --- Qey2HH1.map DELETED --- --- Poair.map DELETED --- --- Gunthak.map DELETED --- --- Nurga.map DELETED --- --- mmcf.map DELETED --- --- FrontierMtns.map DELETED --- --- Skyshrine3.map DELETED --- --- CobaltScar.map DELETED --- --- Acrylia.map DELETED --- --- Crushbone.map DELETED --- --- Paludal.map DELETED --- --- Skyshrine_Lower.map DELETED --- --- FieldOfBone.map DELETED --- --- Chardok2.map DELETED --- --- Sirens.map DELETED --- --- Ssratemple.map DELETED --- --- Befallen.map DELETED --- --- Potactics.map DELETED --- --- Potorment.map DELETED --- --- FreportN.map DELETED --- --- ErudnInt.map DELETED --- --- Nektulos.map DELETED --- --- sncrematory.map DELETED --- --- potimeb.map DELETED --- --- Nightmareb.map DELETED --- --- Dreadlands.map DELETED --- --- mire.map DELETED --- --- Cabeast.map DELETED --- --- Takg.map DELETED --- --- Takd.map DELETED --- --- Rivervale.map DELETED --- --- Greatdivide.map DELETED --- --- Paw.map DELETED --- --- barindu.map DELETED --- --- vxed.map DELETED --- --- EmeraldJungle.map DELETED --- --- Overthere.map DELETED --- --- Powater.map DELETED --- --- Gukb.map DELETED --- --- Charasis.map DELETED --- --- rujh.map DELETED --- --- Nro.map DELETED --- --- Swampofnohope.map DELETED --- --- Shadowhaven.map DELETED --- --- Nexus.map DELETED --- --- Everfrost.map DELETED --- --- Bazaar.map DELETED --- --- Necropolis.map DELETED --- --- mmca.map DELETED --- --- ErudsXing.map DELETED --- --- WarsliksWood.map DELETED --- --- FrozenShadow.map DELETED --- --- mirg.map DELETED --- --- Qeynos2.map DELETED --- --- rujj.map DELETED --- --- ruji.map DELETED --- --- Codecay.map DELETED --- --- Gfaydark.map DELETED --- --- CazicThule.map DELETED --- --- Podisease.map DELETED --- --- Cabwest.map DELETED --- --- Mseru.map DELETED --- --- Timorous.map DELETED --- --- Umbral.map DELETED --- --- qvic.map DELETED --- --- README DELETED --- --- Misty.map DELETED --- --- mirb.map DELETED --- --- rujb.map DELETED --- --- Innothule.map DELETED --- --- mirf.map DELETED --- --- rujf.map DELETED --- --- Dalnir_lvl_3.map DELETED --- --- Netherbian.map DELETED --- --- Hollowshade.map DELETED --- --- Iceclad.map DELETED --- --- Oggok.map DELETED --- --- SharVahl.map DELETED --- --- Fungusgrove.map DELETED --- --- Skyshrine2.map DELETED --- --- Dalnir_lvl_1.map DELETED --- --- Sebilis.map DELETED --- --- Pofire.map DELETED --- --- Jaggedpine.map DELETED --- --- Shadeweaver.map DELETED --- --- Gukh.map DELETED --- --- rujg.map DELETED --- --- ErudnExt.map DELETED --- --- FelwitheB.map DELETED --- --- potimea.map DELETED --- --- natimbi.map DELETED --- --- miri.map DELETED --- --- abysmal.map DELETED --- --- Hole-tower.map DELETED --- --- Hohonora.map DELETED --- --- Dalnir.map DELETED --- --- tipt.map DELETED --- --- Takj.map DELETED --- --- mmch.map DELETED --- --- Cauldron.map DELETED --- --- Thurgadinb.map DELETED --- --- Thurgadina.map DELETED --- --- Sleeper.map DELETED --- --- Velketor.map DELETED --- --- qinimi.map DELETED --- --- Firiona.map DELETED --- --- ruja.map DELETED --- --- FreportE.map DELETED --- --- SolTemple.map DELETED --- --- .cvsignore DELETED --- --- Skyshrine.map DELETED --- --- snlair.map DELETED --- --- mmcc.map DELETED --- --- Qeynos.map DELETED --- --- Westwastes.map DELETED --- --- Crystal.map DELETED --- --- yxtta.map DELETED --- --- Hole.map DELETED --- --- mmcd.map DELETED --- --- mmcg.map DELETED --- --- Takc.map DELETED --- --- Arena.map DELETED --- --- Gukd.map DELETED --- --- Halas.map DELETED --- --- Butcher.map DELETED --- --- TheDeep.map DELETED --- --- KaladimB.map DELETED --- --- Gukf.map DELETED --- --- Hatesfury.map DELETED --- --- Dalnir_lvl_2.map DELETED --- --- Akheva.map DELETED --- --- mmce.map DELETED --- --- Thegrey.map DELETED --- --- snpool.map DELETED --- --- Guke.map DELETED --- --- kodtaz.map DELETED --- --- Ponightmare.map DELETED --- --- NeriakB.map DELETED --- --- CityMist.map DELETED --- --- kerraridge2.map DELETED --- --- snplant.map DELETED --- --- Gukg.map DELETED --- --- Taka.map DELETED --- --- NeriakA.map DELETED --- --- Highkeep.map DELETED --- --- Nadox.map DELETED --- --- Skyshrine_Upper.map DELETED --- --- Stonebrunt.map DELETED --- --- LakeRathe.map DELETED --- --- Take.map DELETED --- --- CSHome.map DELETED --- --- rujc.map DELETED --- --- Thurgadina1.map DELETED --- --- Qeytoqrg.map DELETED --- --- mira.map DELETED --- --- KerraRidge.map DELETED --- --- Taki.map DELETED --- --- mirj.map DELETED --- --- Griegsend.map DELETED --- --- Hohonorb.map DELETED --- --- Permafrost.map DELETED --- --- Kithicor.map DELETED --- --- Gukc.map DELETED --- --- Steamfont.map DELETED --- --- Unrest.map DELETED --- --- Takb.map DELETED --- --- Bothunder.map DELETED --- --- Grimling.map DELETED --- --- poeartha.map DELETED --- --- Letalis.map DELETED --- --- Droga.map DELETED --- --- Powar.map DELETED --- --- Postorms.map DELETED --- |
From: Chad M. <cmm...@us...> - 2005-07-22 21:52:30
|
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22907/src Modified Files: Tag: pre_5_0_beta player.cpp Log Message: Default the distance to player for the player to 0. Index: player.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/player.cpp,v retrieving revision 1.42.6.14 retrieving revision 1.42.6.15 diff -u -d -r1.42.6.14 -r1.42.6.15 --- player.cpp 2 Jul 2005 17:22:53 -0000 1.42.6.14 +++ player.cpp 22 Jul 2005 21:52:21 -0000 1.42.6.15 @@ -71,6 +71,7 @@ m_defaultDeity = pSEQPrefs->getPrefInt("DefaultDeity", section, DEITY_AGNOSTIC); setUseDefaults(true); + setDistanceToPlayer(0.00f); // set the name to the default name Spawn::setName(m_defaultName); |
From: Chad M. <cmm...@us...> - 2005-07-22 18:53:15
|
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8920/src Modified Files: Tag: pre_5_0_beta group.cpp packetstream.cpp races.h spawnshell.cpp Log Message: Fixed a problem with the net layer screwing up replacing existing records in the cache if they were seen again. Delete group members when the group manager is deleted. Upped version to 25. Index: packetstream.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/packetstream.cpp,v retrieving revision 1.1.6.12 retrieving revision 1.1.6.13 diff -u -d -r1.1.6.12 -r1.1.6.13 --- packetstream.cpp 12 Jul 2005 00:00:58 -0000 1.1.6.12 +++ packetstream.cpp 22 Jul 2005 18:53:05 -0000 1.1.6.13 @@ -223,7 +223,9 @@ seqDebug("SEQ: Update arq (%04x) stream %d in cache", serverArqSeq, m_streamid); #endif - *it->second = packet; + // Free the old packet at this place and replace with the new one. + delete it->second; + it->second = new EQProtocolPacket(packet, true); } #if defined(PACKET_PROCESS_DIAG) && defined(APPLY_CRC_CHECK) else Index: spawnshell.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/spawnshell.cpp,v retrieving revision 1.42.6.11 retrieving revision 1.42.6.12 diff -u -d -r1.42.6.11 -r1.42.6.12 --- spawnshell.cpp 2 Jul 2005 17:22:53 -0000 1.42.6.11 +++ spawnshell.cpp 22 Jul 2005 18:53:06 -0000 1.42.6.12 @@ -427,7 +427,7 @@ for (int i = 0; i < spawndatasize; i++) { -#if 0 +#if 0 // Dump position updates for debugging spawn struct position changes for (int j=54; j<70; i++) { @@ -495,7 +495,7 @@ void SpawnShell::newSpawn(const spawnStruct& s) { #ifdef SPAWNSHELL_DIAG - seqDebug("SpawnShell::newSpawn(spawnStruct *(name='%s'), bSelected=%s)", s.name, bSelected?"true":"false"); + seqDebug("SpawnShell::newSpawn(spawnStruct *(name='%s'))", s.name); #endif // if this is the SPAWN_SELF it's the player if (s.NPC == SPAWN_SELF) Index: races.h =================================================================== RCS file: /cvsroot/seq/showeq/src/races.h,v retrieving revision 1.9.8.9 retrieving revision 1.9.8.10 diff -u -d -r1.9.8.9 -r1.9.8.10 --- races.h 5 Jul 2005 11:48:53 -0000 1.9.8.9 +++ races.h 22 Jul 2005 18:53:06 -0000 1.9.8.10 @@ -426,7 +426,7 @@ "Gelidran", // 417 "Discordling", // 418 "Girplan", // 419 - NULL, // 420 + "Battlemaster Rhorius", // 420 NULL, // 421 NULL, // 422 NULL, // 423 Index: group.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/group.cpp,v retrieving revision 1.6.16.5 retrieving revision 1.6.16.6 diff -u -d -r1.6.16.5 -r1.6.16.6 --- group.cpp 19 Jun 2005 11:55:36 -0000 1.6.16.5 +++ group.cpp 22 Jul 2005 18:53:05 -0000 1.6.16.6 @@ -33,6 +33,10 @@ GroupMgr::~GroupMgr() { + for (int i=0; i<MAX_GROUP_MEMBERS; i++) + { + delete m_members[i]; + } } void GroupMgr::player(const uint8_t* data) |
From: Chad M. <cmm...@us...> - 2005-07-22 18:53:14
|
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8920 Modified Files: Tag: pre_5_0_beta ChangeLog configure.in Log Message: Fixed a problem with the net layer screwing up replacing existing records in the cache if they were seen again. Delete group members when the group manager is deleted. Upped version to 25. Index: ChangeLog =================================================================== RCS file: /cvsroot/seq/showeq/Attic/ChangeLog,v retrieving revision 1.1.2.39 retrieving revision 1.1.2.40 diff -u -d -r1.1.2.39 -r1.1.2.40 --- ChangeLog 13 Jul 2005 00:57:19 -0000 1.1.2.39 +++ ChangeLog 22 Jul 2005 18:53:03 -0000 1.1.2.40 @@ -1,14 +1,18 @@ Version: $Id$ $Name$ -purple (07/12/05) +purple (07/22/05) ------------------- -+ Updated version to 5.0.0.25pre ++ Updated version to 5.0.0.25 + Merged in my old alpha netlayer patch which helps with double boxing by enforcing port matches in code for when the pcap filter isn't locked down fast enough because of multithreading + Fixed template constructor in Point3DArray to comply with gcc4 (thanks Basic) + Removed the redundant and broken Save Zone Filters from the Filters menu since it was both redundant and broken ++ Fixed a major bug in the netlayer which caused sequenced packets that are + seen twice to invalidate themselves in the cache and cause garbage ++ Couple new races hand-entered ++ Cleanup memory leak in group manager purple (07/07/05) -------------------- Index: configure.in =================================================================== RCS file: /cvsroot/seq/showeq/configure.in,v retrieving revision 1.49.4.27 retrieving revision 1.49.4.28 diff -u -d -r1.49.4.27 -r1.49.4.28 --- configure.in 12 Jul 2005 00:30:04 -0000 1.49.4.27 +++ configure.in 22 Jul 2005 18:53:04 -0000 1.49.4.28 @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.0.0.25pre) +AC_INIT(showeq, 5.0.0.25) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM |
From: Chad M. <cmm...@us...> - 2005-07-13 00:57:38
|
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28834/src Modified Files: Tag: pre_5_0_beta filtermgr.cpp filtermgr.h interface.cpp interface.h Log Message: Removed the first Save Zone Filters menu option and the (broken) code behind it. Index: filtermgr.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/filtermgr.cpp,v retrieving revision 1.5.6.4 retrieving revision 1.5.6.5 diff -u -d -r1.5.6.4 -r1.5.6.5 --- filtermgr.cpp 13 Jul 2005 00:28:06 -0000 1.5.6.4 +++ filtermgr.cpp 13 Jul 2005 00:57:20 -0000 1.5.6.5 @@ -157,18 +157,6 @@ m_filters->save(m_filterFile); } - -void FilterMgr::saveAsFilters(const QString& shortZoneName) -{ - QString fileName = shortZoneName + ".xml"; - - QFileInfo fileInfo = m_dataLocMgr->findWriteFile("filters", fileName, true); - - seqInfo("Saving filters to %s", (const char*)fileInfo.absFilePath()); - - m_filters->save(fileInfo.absFilePath()); -} - void FilterMgr::listFilters(void) { m_filters->list(); Index: interface.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/interface.cpp,v retrieving revision 1.67.6.18 retrieving revision 1.67.6.19 diff -u -d -r1.67.6.18 -r1.67.6.19 --- interface.cpp 2 Jul 2005 17:22:53 -0000 1.67.6.18 +++ interface.cpp 13 Jul 2005 00:57:20 -0000 1.67.6.19 @@ -1167,8 +1167,6 @@ filterMenu->insertItem("&Reload Filters", m_filterMgr, SLOT(loadFilters()), Key_F3); filterMenu->insertItem("&Save Filters", m_filterMgr, SLOT(saveFilters()), Key_F4); - if (!shortZoneName.isEmpty()) - filterMenu->insertItem("Save &Zone Filter", this, SLOT(save_as_filter_file())); filterMenu->insertItem("&Edit Filters", this, SLOT(launch_editor_filters())); filterMenu->insertItem("Select Fil&ter File", this, SLOT(select_filter_file())); @@ -3127,14 +3125,6 @@ m_filterMgr->loadFilters(filterFile); } -void -EQInterface::save_as_filter_file(void) -{ - QString shortZoneName = m_zoneMgr->shortZoneName(); - if (!shortZoneName.isEmpty()) - m_filterMgr->saveAsFilters(shortZoneName); -} - void EQInterface::toggle_filter_Case(int id) { m_filterMgr->setCaseSensitive(!m_filterMgr->caseSensitive()); Index: interface.h =================================================================== RCS file: /cvsroot/seq/showeq/src/interface.h,v retrieving revision 1.33.6.7 retrieving revision 1.33.6.8 diff -u -d -r1.33.6.7 -r1.33.6.8 --- interface.h 7 Nov 2004 23:10:04 -0000 1.33.6.7 +++ interface.h 13 Jul 2005 00:57:21 -0000 1.33.6.8 @@ -264,7 +264,6 @@ void toggle_view_GuildList(); void resetMaxMana(); void select_filter_file(); - void save_as_filter_file(); void toggle_filter_Case(int id); void toggle_filter_AlertInfo(int id); void toggle_filter_UseSystemBeep(int id); Index: filtermgr.h =================================================================== RCS file: /cvsroot/seq/showeq/src/filtermgr.h,v retrieving revision 1.7.6.1 retrieving revision 1.7.6.2 diff -u -d -r1.7.6.1 -r1.7.6.2 --- filtermgr.h 7 Dec 2003 06:30:43 -0000 1.7.6.1 +++ filtermgr.h 13 Jul 2005 00:57:20 -0000 1.7.6.2 @@ -100,7 +100,6 @@ void loadFilters(void); void loadFilters(const QString& filterFile); void saveFilters(void); - void saveAsFilters(const QString& shortZoneName); void listFilters(void); void loadZone(const QString& zoneShortName); void loadZoneFilters(void); |
From: Chad M. <cmm...@us...> - 2005-07-13 00:57:37
|
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28834 Modified Files: Tag: pre_5_0_beta ChangeLog Log Message: Removed the first Save Zone Filters menu option and the (broken) code behind it. Index: ChangeLog =================================================================== RCS file: /cvsroot/seq/showeq/Attic/ChangeLog,v retrieving revision 1.1.2.38 retrieving revision 1.1.2.39 diff -u -d -r1.1.2.38 -r1.1.2.39 --- ChangeLog 12 Jul 2005 13:43:07 -0000 1.1.2.38 +++ ChangeLog 13 Jul 2005 00:57:19 -0000 1.1.2.39 @@ -1,12 +1,14 @@ Version: $Id$ $Name$ -purple (07/11/05) +purple (07/12/05) ------------------- + Updated version to 5.0.0.25pre + Merged in my old alpha netlayer patch which helps with double boxing by enforcing port matches in code for when the pcap filter isn't locked down fast enough because of multithreading + Fixed template constructor in Point3DArray to comply with gcc4 (thanks Basic) ++ Removed the redundant and broken Save Zone Filters from the Filters menu + since it was both redundant and broken purple (07/07/05) -------------------- |
From: Chad M. <cmm...@us...> - 2005-07-13 00:28:24
|
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12809/src Modified Files: Tag: pre_5_0_beta filter.cpp filtermgr.cpp Log Message: Output a warning if failing to save a filter file. Index: filtermgr.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/filtermgr.cpp,v retrieving revision 1.5.6.3 retrieving revision 1.5.6.4 diff -u -d -r1.5.6.3 -r1.5.6.4 --- filtermgr.cpp 7 Nov 2004 23:10:03 -0000 1.5.6.3 +++ filtermgr.cpp 13 Jul 2005 00:28:06 -0000 1.5.6.4 @@ -279,7 +279,10 @@ seqInfo("Saving filters to %s", (const char*)m_zoneFilterFile); - m_zoneFilters->save(m_zoneFilterFile); + if (! m_zoneFilters->save(m_zoneFilterFile)) + { + seqWarn("Failed saving filters."); + } } bool FilterMgr::registerRuntimeFilter(const QString& name, Index: filter.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/filter.cpp,v retrieving revision 1.6.6.4 retrieving revision 1.6.6.5 diff -u -d -r1.6.6.4 -r1.6.6.5 --- filter.cpp 4 Jul 2005 15:37:16 -0000 1.6.6.4 +++ filter.cpp 13 Jul 2005 00:28:05 -0000 1.6.6.5 @@ -551,7 +551,7 @@ // output closing entity out << "</seqfilters>" << endl; - return false; + return true; } bool Filters::save(void) const |
From: Chad M. <cmm...@us...> - 2005-07-12 13:43:17
|
Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17266/src Modified Files: Tag: pre_5_0_beta pointarray.h Log Message: Fix for gcc4 compilation. Index: pointarray.h =================================================================== RCS file: /cvsroot/seq/showeq/src/Attic/pointarray.h,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- pointarray.h 24 Sep 2004 04:28:27 -0000 1.1.2.1 +++ pointarray.h 12 Jul 2005 13:43:08 -0000 1.1.2.2 @@ -57,7 +57,7 @@ }; template <class _T> inline -Point3DArray<_T>::Point3DArray<_T>(uint32_t nPoints, const _T* points) +Point3DArray<_T>::Point3DArray(uint32_t nPoints, const _T* points) { setPoints(nPoints, points); } |
From: Chad M. <cmm...@us...> - 2005-07-12 13:43:16
|
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17266 Modified Files: Tag: pre_5_0_beta ChangeLog Log Message: Fix for gcc4 compilation. Index: ChangeLog =================================================================== RCS file: /cvsroot/seq/showeq/Attic/ChangeLog,v retrieving revision 1.1.2.37 retrieving revision 1.1.2.38 diff -u -d -r1.1.2.37 -r1.1.2.38 --- ChangeLog 12 Jul 2005 00:00:55 -0000 1.1.2.37 +++ ChangeLog 12 Jul 2005 13:43:07 -0000 1.1.2.38 @@ -6,6 +6,7 @@ + Merged in my old alpha netlayer patch which helps with double boxing by enforcing port matches in code for when the pcap filter isn't locked down fast enough because of multithreading ++ Fixed template constructor in Point3DArray to comply with gcc4 (thanks Basic) purple (07/07/05) -------------------- |
From: Chad M. <cmm...@us...> - 2005-07-12 00:30:24
|
Update of /cvsroot/seq/showeq In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25418 Modified Files: Tag: pre_5_0_beta configure.in Log Message: Updated version to 5.0.0.25pre Index: configure.in =================================================================== RCS file: /cvsroot/seq/showeq/configure.in,v retrieving revision 1.49.4.26 retrieving revision 1.49.4.27 diff -u -d -r1.49.4.26 -r1.49.4.27 --- configure.in 7 Jul 2005 16:16:26 -0000 1.49.4.26 +++ configure.in 12 Jul 2005 00:30:04 -0000 1.49.4.27 @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.0.0.24) +AC_INIT(showeq, 5.0.0.25pre) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM |