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: <cn...@us...> - 2021-11-30 14:43:09
|
Revision: 1210 http://sourceforge.net/p/seq/svn/1210 Author: cn187 Date: 2021-11-30 14:43:06 +0000 (Tue, 30 Nov 2021) Log Message: ----------- [Qt5] Replace toAscii with toLatin1 Modified Paths: -------------- showeq/trunk/src/bazaarlog.cpp showeq/trunk/src/combatlog.cpp showeq/trunk/src/datalocationmgr.cpp showeq/trunk/src/db3conv.cpp showeq/trunk/src/drawmap.cpp showeq/trunk/src/editor.cpp showeq/trunk/src/experiencelog.cpp showeq/trunk/src/filter.cpp showeq/trunk/src/filteredspawnlog.cpp showeq/trunk/src/filtermgr.cpp showeq/trunk/src/filternotifications.cpp showeq/trunk/src/gdbmconv.cpp showeq/trunk/src/group.cpp showeq/trunk/src/guild.cpp showeq/trunk/src/interface.cpp showeq/trunk/src/logger.cpp showeq/trunk/src/main.cpp showeq/trunk/src/map.cpp showeq/trunk/src/mapcore.cpp showeq/trunk/src/mapicon.cpp showeq/trunk/src/messageshell.cpp showeq/trunk/src/messagewindow.cpp showeq/trunk/src/packet.cpp showeq/trunk/src/packetinfo.cpp showeq/trunk/src/packetlog.cpp showeq/trunk/src/packetstream.cpp showeq/trunk/src/player.cpp showeq/trunk/src/spawnlist.cpp showeq/trunk/src/spawnlist2.cpp showeq/trunk/src/spawnlistcommon.cpp showeq/trunk/src/spawnlog.cpp showeq/trunk/src/spawnmonitor.cpp showeq/trunk/src/spawnpointlist.cpp showeq/trunk/src/spawnshell.cpp showeq/trunk/src/util.cpp showeq/trunk/src/xmlconv.cpp showeq/trunk/src/xmlpreferences.cpp showeq/trunk/src/zonemgr.cpp Modified: showeq/trunk/src/bazaarlog.cpp =================================================================== --- showeq/trunk/src/bazaarlog.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/bazaarlog.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -67,7 +67,7 @@ Item *merchant = m_shell.spawns().value(resp.player_id, nullptr); const char *merchant_name = "unknown"; if (merchant) - merchant_name = merchant->name().toAscii().data(); + merchant_name = merchant->name().toLatin1().data(); QString csv; csv.sprintf("1^%d^%d^%d^%s^%s", int(time(NULL)),resp.price,resp.count, Modified: showeq/trunk/src/combatlog.cpp =================================================================== --- showeq/trunk/src/combatlog.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/combatlog.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -631,12 +631,12 @@ case 52: // Tiger Claw { // this is a normal skill - s_type.sprintf("%s(%d)", skill_name(iType).toAscii().data(), iType); + s_type.sprintf("%s(%d)", skill_name(iType).toLatin1().data(), iType); break; } case 231: // Non Melee Damage { - s_type.sprintf("Spell: %s(%d)", spell_name(iSpell).toAscii().data(), iSpell); + s_type.sprintf("Spell: %s(%d)", spell_name(iSpell).toLatin1().data(), iSpell); break; } default: // Damage Shield? Modified: showeq/trunk/src/datalocationmgr.cpp =================================================================== --- showeq/trunk/src/datalocationmgr.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/datalocationmgr.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -55,7 +55,7 @@ // no, then attempt to create it. if (!userDataDir.mkdir(m_userData)) { - seqWarn("Failed to create '%s'\n", userDataDir.absolutePath().toAscii().data()); + seqWarn("Failed to create '%s'\n", userDataDir.absolutePath().toLatin1().data()); return false; } } Modified: showeq/trunk/src/db3conv.cpp =================================================================== --- showeq/trunk/src/db3conv.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/db3conv.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -94,7 +94,7 @@ if (!dirInfo.exists()) { fprintf(stderr, "DB3Convenience: Data Directory '%s' doesn't exist.\n", - dirInfo.absoluteFilePath().toAscii().data()); + dirInfo.absoluteFilePath().toLatin1().data()); // nothing more to do, just return NULL return (Db*)NULL; @@ -104,7 +104,7 @@ if (!dirInfo.isDir()) { fprintf(stderr, "DB3Convenience: Data Directory '%s isn't a directory.\n", - dirInfo.absoluteFilePath().toAscii().data()); + dirInfo.absoluteFilePath().toLatin1().data()); // nothing more to do, just return NULL return (Db*)NULL; @@ -119,7 +119,7 @@ { // if the file isn't readable, no point in going on is there... fprintf(stderr, "DB3Convenience: Data File '%s isn't readable.\n", - dirInfo.absoluteFilePath().toAscii().data()); + dirInfo.absoluteFilePath().toLatin1().data()); // nothing more to do, just return NULL return (Db*)NULL; @@ -156,7 +156,7 @@ // setup the common database environment for all databases opened // using this object - ret = m_dbEnv->open(dirInfo.absoluteFilePath().toAscii().data(), dbEnvFlags, + ret = m_dbEnv->open(dirInfo.absoluteFilePath().toLatin1().data(), dbEnvFlags, 0664); if (ret != 0) @@ -187,16 +187,16 @@ #if 1 // can't do verify with transactions, logging, or locking // verify the database before we go any further - ret = retdbp->verify(dbName.toAscii().data(), NULL, NULL, 0); + ret = retdbp->verify(dbName.toLatin1().data(), NULL, NULL, 0); if (ret != 0) { // display a human readable error fprintf(stderr, "DB3Convenience: Db::verify() failed on file '%s': %s\n", - dbName.toAscii().data(), DbEnv::strerror(ret)); + dbName.toLatin1().data(), DbEnv::strerror(ret)); if (ret == DB_RUNRECOVERY) fprintf(stderr, "DB3Convenience: Please run db_recover on file '%s'\n", - dbName.toAscii().data()); + dbName.toLatin1().data()); // check if it's a file access problem if (openForReadOnly) @@ -221,7 +221,7 @@ // display a human readable error fprintf(stderr, "DB3Convenience: Db::set_flags(0) failed on file '%s': %s\n", - dbName.toAscii().data(), DbEnv::strerror(ret)); + dbName.toLatin1().data(), DbEnv::strerror(ret)); // delete the database handle since it's not usable delete retdbp; @@ -233,13 +233,13 @@ // open the database // ret = retdbp->open((const char*)dbName, NULL, DB_HASH, dbOpenFlags, 0664); - ret = retdbp->open(NULL, dbName.toAscii().data(), NULL, DB_BTREE, dbOpenFlags, 0664); + ret = retdbp->open(NULL, dbName.toLatin1().data(), NULL, DB_BTREE, dbOpenFlags, 0664); if (ret != 0) { // display a human readable error fprintf(stderr, "DB3Convenience: Db::open() failed on file '%s': %s\n", - dbName.toAscii().data(), DbEnv::strerror(ret)); + dbName.toLatin1().data(), DbEnv::strerror(ret)); // check if it's a file access problem if (openForReadOnly) @@ -283,7 +283,7 @@ success = true; break; default: - displayDB3Error(ret, "Insert: put", dbName.toAscii().data()); + displayDB3Error(ret, "Insert: put", dbName.toLatin1().data()); } } @@ -307,7 +307,7 @@ success = true; break; default: - displayDB3Error(ret, "Delete: del", dbName.toAscii().data()); + displayDB3Error(ret, "Delete: del", dbName.toLatin1().data()); } } @@ -335,7 +335,7 @@ success = false; break; default: - displayDB3Error(ret, "IsEntryExist: get", dbName.toAscii().data()); + displayDB3Error(ret, "IsEntryExist: get", dbName.toLatin1().data()); } } @@ -368,7 +368,7 @@ success = false; break; default: - displayDB3Error(ret, "GetEntry: get", dbName.toAscii().data()); + displayDB3Error(ret, "GetEntry: get", dbName.toLatin1().data()); } } @@ -404,7 +404,7 @@ int ret = db->close(0); if (ret != 0) - displayDB3Error(ret, "Close: close", dbName.toAscii().data()); + displayDB3Error(ret, "Close: close", dbName.toLatin1().data()); // remove the db from the dictionary m_dbDict.remove(dbName); @@ -440,7 +440,7 @@ ret = db->close(0); if (ret != 0) - displayDB3Error(ret, "Shutdown: close", dbName.toAscii().data()); + displayDB3Error(ret, "Shutdown: close", dbName.toLatin1().data()); // remove the db from the dictionary m_dbDict.remove(dbName); @@ -510,7 +510,7 @@ if (ret != 0) { - displayDB3Error(ret, "GetFirstKey: cursor", dbName.toAscii().data()); + displayDB3Error(ret, "GetFirstKey: cursor", dbName.toLatin1().data()); return false; } @@ -528,7 +528,7 @@ // display an error on any other error returns if (ret != 0) { - displayDB3Error(ret, "GetFirstKey: get", m_dbName.toAscii().data()); + displayDB3Error(ret, "GetFirstKey: get", m_dbName.toLatin1().data()); return false; } @@ -579,7 +579,7 @@ // display an error on any other error returns if (ret != 0) { - displayDB3Error(ret, "GetNextKey: get", m_dbName.toAscii().data()); + displayDB3Error(ret, "GetNextKey: get", m_dbName.toLatin1().data()); return false; } @@ -642,7 +642,7 @@ int ret = m_db->close(0); if (ret != 0) - displayDB3Error(ret, "Done: close", m_dbName.toAscii().data()); + displayDB3Error(ret, "Done: close", m_dbName.toLatin1().data()); } // if there is any data left over that the user didn't get, then free it Modified: showeq/trunk/src/drawmap.cpp =================================================================== --- showeq/trunk/src/drawmap.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/drawmap.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -527,7 +527,7 @@ gdImageString (im, gdFontSmall, calcXOffset (locationX[n]) - 2, calcYOffset (locationY[n]) - 2, - (unsigned char*)locationName[n].toAscii().data(), tmpcolor); + (unsigned char*)locationName[n].toLatin1().data(), tmpcolor); } /* Print the http header */ @@ -583,7 +583,7 @@ mapName.replace(slashExp, "_"); mapName.prepend(PKGDATADIR "maps/"); - loadFileMap (mapName.toAscii().data()); + loadFileMap (mapName.toLatin1().data()); paintMap(); } else Modified: showeq/trunk/src/editor.cpp =================================================================== --- showeq/trunk/src/editor.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/editor.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -136,7 +136,7 @@ { QString fn = QFileDialog::getOpenFileName(this); if ( !fn.isEmpty() ) - load(fn.toAscii().data()); + load(fn.toLatin1().data()); else statusBar()->showMessage( "File Open Cancelled", 2000 ); } Modified: showeq/trunk/src/experiencelog.cpp =================================================================== --- showeq/trunk/src/experiencelog.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/experiencelog.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -324,7 +324,7 @@ QFileInfo fileInfo = m_dataLocMgr->findWriteFile("logs", "exp.log"); - m_log = fopen(fileInfo.absoluteFilePath().toAscii().data(), "a"); + m_log = fopen(fileInfo.absoluteFilePath().toLatin1().data(), "a"); if (m_log == 0) { m_log_exp = 0; @@ -363,7 +363,7 @@ #ifdef DEBUGEXP resize( sizeHint() ); qDebug("ExperienceWindow::addExpRecord() '%s', lvl %d, exp %d", - mob_name.toAscii().data(), mob_level, xp_gained); + mob_name.toLatin1().data(), mob_level, xp_gained); #endif if (m_log_exp) @@ -418,7 +418,7 @@ FILE* newlogfp = NULL; // open the file for append - newlogfp = fopen(m_newExpLogFile.toAscii().data(), "a"); + newlogfp = fopen(m_newExpLogFile.toLatin1().data(), "a"); if (newlogfp != NULL) { @@ -426,11 +426,11 @@ fprintf(newlogfp, "0\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%d\t%d\t%lu", - s_time, s_mob_name.toAscii().data(), mob_level, - s_xp_value.toAscii().data(), s_xp_valueZEM.toAscii().data(), - s_xp_valuep.toAscii().data(), s_xp_valueg.toAscii().data(), - s_xp_gained.toAscii().data(), m_player->name().toAscii().data(), - m_player->lastName().toAscii().data(), m_player->level(), + s_time, s_mob_name.toLatin1().data(), mob_level, + s_xp_value.toLatin1().data(), s_xp_valueZEM.toLatin1().data(), + s_xp_valuep.toLatin1().data(), s_xp_valueg.toLatin1().data(), + s_xp_gained.toLatin1().data(), m_player->name().toLatin1().data(), + m_player->lastName().toLatin1().data(), m_player->level(), m_player->classVal(), m_group->groupSize()); const Spawn* spawn; Modified: showeq/trunk/src/filter.cpp =================================================================== --- showeq/trunk/src/filter.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/filter.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -181,7 +181,7 @@ // For the pattern, save off the original. This is what will be saved // during save operations. But the actual regexp we filter with will // mark the # in spawn names as optional to aid in filter writing. - m_regexpOriginalPattern = QString(regexString.toAscii().data()); + m_regexpOriginalPattern = QString(regexString.toLatin1().data()); QString fixedFilterPattern = regexString; fixedFilterPattern.replace("Name:", "Name:#?", Qt::CaseInsensitive); @@ -190,8 +190,8 @@ if (!m_regexp.isValid()) { seqWarn("Filter Error: '%s' - %s", - m_regexp.pattern().toAscii().data(), - m_regexp.errorString().toAscii().data()); + m_regexp.pattern().toLatin1().data(), + m_regexp.errorString().toLatin1().data()); } } @@ -203,8 +203,8 @@ if (!m_regexp.isValid()) { seqWarn("Filter Error: '%s' - %s", - m_regexp.pattern().toAscii().data(), - m_regexp.errorString().toAscii().data()); + m_regexp.pattern().toLatin1().data(), + m_regexp.errorString().toLatin1().data()); } } @@ -604,13 +604,13 @@ FilterMap::const_iterator it; seqInfo("Filters from file '%s':", - m_file.toAscii().data()); + m_file.toLatin1().data()); // iterate over the filters for (it = m_filters.begin(); it != m_filters.end(); it++) { // print the header seqInfo("Filter Type '%s':", - m_types.name(it->first).toAscii().data()); + m_types.name(it->first).toLatin1().data()); // list off the actual filters it->second->listFilters(); Modified: showeq/trunk/src/filteredspawnlog.cpp =================================================================== --- showeq/trunk/src/filteredspawnlog.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/filteredspawnlog.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -92,12 +92,12 @@ // log the information outputf("%s %s %s LOC %dy, %dx, %dz at %s (%s)\n", - m_filterMgr->filterString(flag).toAscii().data(), + m_filterMgr->filterString(flag).toLatin1().data(), action, - item->name().toAscii().data(), + item->name().toLatin1().data(), item->y(), item->x(), item->z(), - eqDate.isValid() ? eqDate.toString().toAscii().data() : "", - item->spawnTimeStr().toAscii().data()); + eqDate.isValid() ? eqDate.toString().toLatin1().data() : "", + item->spawnTimeStr().toLatin1().data()); flush(); } Modified: showeq/trunk/src/filtermgr.cpp =================================================================== --- showeq/trunk/src/filtermgr.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/filtermgr.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -138,7 +138,7 @@ m_filterFile = fileInfo.absoluteFilePath(); - seqInfo("Loading Filters from '%s'", m_filterFile.toAscii().data()); + seqInfo("Loading Filters from '%s'", m_filterFile.toLatin1().data()); m_filters->load(m_filterFile); @@ -152,7 +152,7 @@ m_filterFile = fileInfo.absoluteFilePath(); - seqInfo("Loading Filters from '%s'", m_filterFile.toAscii().data()); + seqInfo("Loading Filters from '%s'", m_filterFile.toLatin1().data()); m_filters->load(m_filterFile); @@ -168,7 +168,7 @@ m_filterFile = fileInfo.absoluteFilePath(); - seqInfo("Saving filters to %s", m_filterFile.toAscii().data()); + seqInfo("Saving filters to %s", m_filterFile.toLatin1().data()); m_filters->save(m_filterFile); } @@ -243,7 +243,7 @@ m_zoneFilterFile = fileInfo.absoluteFilePath(); - seqInfo("Loading Zone Filter File: %s", m_zoneFilterFile.toAscii().data()); + seqInfo("Loading Zone Filter File: %s", m_zoneFilterFile.toLatin1().data()); m_zoneFilters->load(m_zoneFilterFile); @@ -259,7 +259,7 @@ m_zoneFilterFile = fileInfo.absoluteFilePath(); - seqInfo("Loading Zone Filter File: %s", m_zoneFilterFile.toAscii().data()); + seqInfo("Loading Zone Filter File: %s", m_zoneFilterFile.toLatin1().data()); m_zoneFilters->load(m_zoneFilterFile); @@ -281,7 +281,7 @@ m_zoneFilterFile = fileInfo.absoluteFilePath(); - seqInfo("Saving filters to %s", m_zoneFilterFile.toAscii().data()); + seqInfo("Saving filters to %s", m_zoneFilterFile.toLatin1().data()); if (! m_zoneFilters->save(m_zoneFilterFile)) { Modified: showeq/trunk/src/filternotifications.cpp =================================================================== --- showeq/trunk/src/filternotifications.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/filternotifications.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -141,7 +141,7 @@ command.replace(cueExp, audioCue); // fire off the command - system (command.toAscii().data()); + system (command.toLatin1().data()); } #ifndef QMAKEBUILD Modified: showeq/trunk/src/gdbmconv.cpp =================================================================== --- showeq/trunk/src/gdbmconv.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/gdbmconv.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -75,7 +75,7 @@ dbName += ".dbm"; // attempt to open the database for write - if ((dbf = gdbm_open(dbName.toAscii().data(), 0, GDBM_WRCREAT, 0644, 0)) + if ((dbf = gdbm_open(dbName.toLatin1().data(), 0, GDBM_WRCREAT, 0644, 0)) != NULL) { // if successful, then attempt to insert or replace data under key @@ -86,7 +86,7 @@ success = true; break; default: - displayGDBMError("Insert: gdbm_store", dbName.toAscii().data()); + displayGDBMError("Insert: gdbm_store", dbName.toLatin1().data()); } // close the database @@ -95,7 +95,7 @@ else { // display GDBM Error - displayGDBMError("Insert: gdbm_open", dbName.toAscii().data()); + displayGDBMError("Insert: gdbm_open", dbName.toLatin1().data()); // attempt to diagnose the open for write failure diagFileWriteFail(dbName); @@ -116,7 +116,7 @@ dbName += ".dbm"; // attempt to open the database for write - if ((dbf = gdbm_open(dbName.toAscii().data(), 0, GDBM_WRITER, 0644, 0)) + if ((dbf = gdbm_open(dbName.toLatin1().data(), 0, GDBM_WRITER, 0644, 0)) != NULL) { // if successful, then attempt to insert or replace data under key @@ -123,7 +123,7 @@ if (gdbm_delete(dbf, key_) == 0) success = true; else - displayGDBMError("Delete: gdbm_delete", dbName.toAscii().data()); + displayGDBMError("Delete: gdbm_delete", dbName.toLatin1().data()); // close the database gdbm_close(dbf); @@ -131,7 +131,7 @@ else { // display GDBM Error - displayGDBMError("Delete: gdbm_open", dbName.toAscii().data()); + displayGDBMError("Delete: gdbm_open", dbName.toLatin1().data()); // attempt to diagnose the open for write failure diagFileWriteFail(dbName); @@ -153,7 +153,7 @@ dbName += ".dbm"; // attempt to open the database for read - if ((dbf = gdbm_open(dbName.toAscii().data(), 0, GDBM_READER, + if ((dbf = gdbm_open(dbName.toLatin1().data(), 0, GDBM_READER, 0644, 0)) != NULL) { // attempt to retrieve the entry from the database @@ -188,7 +188,7 @@ dbName += ".dbm"; // attmpet to open the database for read - if ((dbf = gdbm_open(dbName.toAscii().data(), 0, GDBM_READER, + if ((dbf = gdbm_open(dbName.toLatin1().data(), 0, GDBM_READER, 0644, 0)) != NULL) { // attempt to retrieve the entry from the database @@ -208,7 +208,7 @@ else { // display the notice (this isn't necessarily bad) - displayGDBMError("GetEntry: gdbm_open", dbName.toAscii().data(), "Notice"); + displayGDBMError("GetEntry: gdbm_open", dbName.toLatin1().data(), "Notice"); // attempt to diagnose the open for read failure diagFileReadFail(dbName); @@ -227,7 +227,7 @@ dbName += ".dbm"; // attempt to open the database for write - if ((dbf = gdbm_open(dbName.toAscii().data(), 0, GDBM_WRITER, 0644, 0)) + if ((dbf = gdbm_open(dbName.toLatin1().data(), 0, GDBM_WRITER, 0644, 0)) != NULL) { // if successful, then attempt to insert or replace data under key @@ -234,7 +234,7 @@ if (gdbm_reorganize(dbf) == 0) success = true; else - displayGDBMError("Reorganize: gdbm_reorganize", dbName.toAscii().data()); + displayGDBMError("Reorganize: gdbm_reorganize", dbName.toLatin1().data()); // close the database gdbm_close(dbf); @@ -242,7 +242,7 @@ else { // display GDBM Error - displayGDBMError("Reorganize: gdbm_open", dbName.toAscii().data()); + displayGDBMError("Reorganize: gdbm_open", dbName.toLatin1().data()); // attempt to diagnose the open for write failure diagFileWriteFail(dbName); @@ -311,13 +311,13 @@ dbName += ".dbm"; // open the specified DB file for reading - m_dbf = gdbm_open(dbName.toAscii().data(), 0, GDBM_READER, + m_dbf = gdbm_open(dbName.toLatin1().data(), 0, GDBM_READER, 0644, 0); // if failed, then nothing to read if (m_dbf == NULL) { - displayGDBMError("GetFirstKey: gdbm_open", dbName.toAscii().data()); + displayGDBMError("GetFirstKey: gdbm_open", dbName.toLatin1().data()); // attempt to diagnose the open for read failure diagFileReadFail(dbName); Modified: showeq/trunk/src/group.cpp =================================================================== --- showeq/trunk/src/group.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/group.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -198,7 +198,7 @@ const groupDisbandStruct* gmem = (const groupDisbandStruct*)data; // If we're disbanding, reset counters and clear member slots - if(!strcmp(gmem->membername, m_player->name().toAscii().data())) + if(!strcmp(gmem->membername, m_player->name().toLatin1().data())) { m_memberCount = 0; m_membersInZoneCount = 0; Modified: showeq/trunk/src/guild.cpp =================================================================== --- showeq/trunk/src/guild.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/guild.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -197,7 +197,7 @@ seqInfo("GuildMgr: Guildsfile loaded"); } else - seqWarn("GuildMgr: Could not load guildsfile, %s", guildsFileName.toAscii().data()); + seqWarn("GuildMgr: Could not load guildsfile, %s", guildsFileName.toLatin1().data()); } void GuildMgr::guildList2text(QString fn) @@ -237,7 +237,7 @@ for (auto itr = m_guildList.begin(); itr != m_guildList.end(); ++itr) { if (!itr->second.isNull()) - seqInfo("%d\t%s", itr->first, itr->second.toAscii().data()); + seqInfo("%d\t%s", itr->first, itr->second.toLatin1().data()); } } Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/interface.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -2493,7 +2493,7 @@ bool usePos = pSEQPrefs->getPrefBool("UseWindowPos", section, true); if (usePos) { - if (!restoreGeometry(QByteArray::fromBase64(dockPrefsGeometry.toAscii()))) + if (!restoreGeometry(QByteArray::fromBase64(dockPrefsGeometry.toLatin1()))) seqWarn("Could not restore dock/window geometry. Rearrange windows " "as desired and then re-save preferences"); else @@ -2501,7 +2501,7 @@ if (isMaximized()) setGeometry(QApplication::desktop()->availableGeometry(this)); - if (!restoreState(QByteArray::fromBase64(dockPrefsState.toAscii()))) + if (!restoreState(QByteArray::fromBase64(dockPrefsState.toLatin1()))) seqWarn("Could not restore dock/window state. Rearrange windows as" " desired and then re-save prefrences"); } @@ -3491,7 +3491,7 @@ // dump the spawns m_spawnShell->dumpSpawns(tSpawn, out); - seqInfo(outText.toAscii().data()); + seqInfo(outText.toLatin1().data()); } void EQInterface::listDrops (void) @@ -3507,7 +3507,7 @@ // dump the drops m_spawnShell->dumpSpawns(tDrop, out); - seqInfo(outText.toAscii().data()); + seqInfo(outText.toLatin1().data()); } void EQInterface::listMapInfo(void) @@ -3531,7 +3531,7 @@ m_map[i]->dumpInfo(out); } - seqInfo(outText.toAscii().data()); + seqInfo(outText.toLatin1().data()); } void EQInterface::listInterfaceInfo(void) @@ -3556,7 +3556,7 @@ out << "FIXME" << endl; out << "-----------------------" << endl; - seqInfo(outText.toAscii().data()); + seqInfo(outText.toLatin1().data()); } void EQInterface::listGroup(void) @@ -3572,7 +3572,7 @@ // dump the drops m_groupMgr->dumpInfo(out); - seqInfo(outText.toAscii().data()); + seqInfo(outText.toLatin1().data()); } @@ -3589,7 +3589,7 @@ // dump the drops m_guildShell->dumpMembers(out); - seqInfo(outText.toAscii().data()); + seqInfo(outText.toLatin1().data()); } void EQInterface::dumpSpawns (void) @@ -3772,7 +3772,7 @@ void EQInterface::launch_editor_filters(void) { - EditorWindow * ew = new EditorWindow(m_filterMgr->filterFile().toAscii().data()); + EditorWindow * ew = new EditorWindow(m_filterMgr->filterFile().toLatin1().data()); ew->setWindowTitle(m_filterMgr->filterFile()); ew->show(); } @@ -3780,7 +3780,7 @@ void EQInterface::launch_editor_zoneFilters(void) { - EditorWindow * ew = new EditorWindow(m_filterMgr->zoneFilterFile().toAscii().data()); + EditorWindow * ew = new EditorWindow(m_filterMgr->zoneFilterFile().toLatin1().data()); ew->setWindowTitle(m_filterMgr->zoneFilterFile()); ew->show(); } @@ -4397,7 +4397,7 @@ pSEQPrefs->setPrefString("OpCodeList", section, opCodeList); - seqInfo("OpCode monitoring is now ENABLED...\nUsing list:\t%s", opCodeList.toAscii().data()); + seqInfo("OpCode monitoring is now ENABLED...\nUsing list:\t%s", opCodeList.toLatin1().data()); } } else @@ -4424,7 +4424,7 @@ m_opcodeMonitorLog->init(opCodeList); seqInfo("The monitored OpCode list has been reloaded...\nUsing list:\t%s", - opCodeList.toAscii().data()); + opCodeList.toLatin1().data()); // set the list of monitored opcodes pSEQPrefs->setPrefString("OpCodeList", section, opCodeList); @@ -5013,7 +5013,7 @@ void EQInterface::saveSelectedSpawnPath(void) { QString fileName; - fileName.sprintf("%s_mobpath.map", m_zoneMgr->shortZoneName().toAscii().data()); + fileName.sprintf("%s_mobpath.map", m_zoneMgr->shortZoneName().toLatin1().data()); QFileInfo fileInfo = m_dataLocationMgr->findWriteFile("maps", fileName, false); @@ -5024,7 +5024,7 @@ // append the selected spawns path to the end saveSpawnPath(out, m_selectedSpawn); - seqInfo("Finished appending '%s'!\n", fileName.toAscii().data()); + seqInfo("Finished appending '%s'!\n", fileName.toLatin1().data()); } } @@ -5031,7 +5031,7 @@ void EQInterface::saveSpawnPaths(void) { QString fileName; - fileName.sprintf("%s_mobpath.map", m_zoneMgr->shortZoneName().toAscii().data()); + fileName.sprintf("%s_mobpath.map", m_zoneMgr->shortZoneName().toLatin1().data()); QFileInfo fileInfo = m_dataLocationMgr->findWriteFile("maps", fileName, false); @@ -5059,7 +5059,7 @@ saveSpawnPath(out, it.value()); } - seqInfo("Finished writing '%s'!\n", fileName.toAscii().data()); + seqInfo("Finished writing '%s'!\n", fileName.toLatin1().data()); } } @@ -5150,7 +5150,7 @@ { if (address.length() != 17) { - seqWarn("Invalid MAC Address (%s)! Ignoring!", address.toAscii().data()); + seqWarn("Invalid MAC Address (%s)! Ignoring!", address.toLatin1().data()); return; } for (int i = 4; i > 0; i--) @@ -5782,7 +5782,7 @@ m_spawnMonitor, mapPrefName, mapCaption, - mapName.toAscii().data(), + mapName.toLatin1().data(), 0); @@ -5837,7 +5837,7 @@ m_messageWindow[i] = new MessageWindow(m_messages, m_messageFilters, prefName, caption, - 0, name.toAscii().data()); + 0, name.toLatin1().data()); setDockEnabled(m_messageWindow[i], pSEQPrefs->getPrefBool(QString("Dockable") + prefName, Modified: showeq/trunk/src/logger.cpp =================================================================== --- showeq/trunk/src/logger.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/logger.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -52,7 +52,7 @@ if (m_fp) return true; - m_fp = fopen(m_filename.toAscii().data(),"a"); + m_fp = fopen(m_filename.toLatin1().data(),"a"); if (!m_fp) { @@ -59,7 +59,7 @@ if (!m_errOpen) { ::fprintf(stderr, "Error opening %s: %s (will keep trying)\n", - m_filename.toAscii().data(), strerror(errno)); + m_filename.toLatin1().data(), strerror(errno)); m_errOpen = true; } Modified: showeq/trunk/src/main.cpp =================================================================== --- showeq/trunk/src/main.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/main.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -250,7 +250,7 @@ } /* NOTE: See preferencefile.cpp for info on how to use prefrences class */ - printf("Using config file '%s'\n", configFile.toAscii().data()); + printf("Using config file '%s'\n", configFile.toLatin1().data()); pSEQPrefs = new XMLPreferences(configFileDef, configFile); showeq_params = new ShowEQParams; Modified: showeq/trunk/src/map.cpp =================================================================== --- showeq/trunk/src/map.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/map.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -350,7 +350,7 @@ { #ifdef DEBUGMAP qDebug ("zoneEnd(%s, %s)", - longZoneName.toAscii().data(), shortZoneName.toAscii().data()); + longZoneName.toLatin1().data(), shortZoneName.toLatin1().data()); #endif /* DEBUGMAP */ // atttempt to load the new map @@ -381,14 +381,14 @@ } else { - seqInfo("No Map found for zone '%s'!", shortZoneName.toAscii().data()); + seqInfo("No Map found for zone '%s'!", shortZoneName.toLatin1().data()); seqInfo(" Checked for all variants of '%s.map', '%s.txt', and '%s_1.txt'", - shortZoneName.toAscii().data(), - shortZoneName.toAscii().data(), - shortZoneName.toAscii().data()); + shortZoneName.toLatin1().data(), + shortZoneName.toLatin1().data(), + shortZoneName.toLatin1().data()); seqInfo(" in directories '%s' and '%s'!", - m_dataLocMgr->userDataDir("maps").absolutePath().toAscii().data(), - m_dataLocMgr->pkgDataDir("maps").absolutePath().toAscii().data()); + m_dataLocMgr->userDataDir("maps").absolutePath().toLatin1().data(), + m_dataLocMgr->pkgDataDir("maps").absolutePath().toLatin1().data()); } } @@ -410,7 +410,7 @@ if (fileName.isEmpty ()) return; - seqInfo("Attempting to load map: %s", fileName.toAscii().data()); + seqInfo("Attempting to load map: %s", fileName.toLatin1().data()); // load the map loadFileMap(fileName, false, true); @@ -434,7 +434,7 @@ if (fileName.isEmpty ()) return; - seqInfo("Attempting to import map: %s", fileName.toAscii().data()); + seqInfo("Attempting to import map: %s", fileName.toLatin1().data()); // load the map loadFileMap(fileName, true, true); @@ -3012,7 +3012,7 @@ // first create the dialog m_mapIconDialog = new MapIconDialog(this); m_mapIconDialog->setObjectName( - QString(windowTitle() + " Icon Dialog").toAscii().data()); + QString(windowTitle() + " Icon Dialog").toLatin1().data()); // then pass it this objects map icons object m_mapIconDialog->setMapIcons(m_mapIcons); @@ -4230,14 +4230,14 @@ "%.3s/Z: %5d/%5d/%5d\n" "Last: %s\n" "Spawned: %s\t Remaining: %s\t Count: %d", - sp->name().toAscii().data(), + sp->name().toLatin1().data(), showeq_params->retarded_coords ? "Y/X" : "X/Y", showeq_params->retarded_coords ? sp->y() : sp->x(), showeq_params->retarded_coords ? sp->x() : sp->y(), sp->z(), - sp->last().toAscii().data(), - spawned.toAscii().data(), - remaining.toAscii().data(), + sp->last().toLatin1().data(), + spawned.toLatin1().data(), + remaining.toLatin1().data(), sp->count()); m_mapTip->setText( string ); @@ -4259,7 +4259,7 @@ { QString guild; if (!spawn->guildTag().isEmpty()) - guild.sprintf("<%s>", spawn->guildTag().toAscii().data()); + guild.sprintf("<%s>", spawn->guildTag().toLatin1().data()); else if (spawn->guildID()) guild = QString::number(spawn->guildID()); else @@ -4293,13 +4293,13 @@ spawn->transformedName().toUtf8().data(), lastName.toUtf8().data(), guild.toLatin1().data(), - spawn->level(), hp.toAscii().data(), + spawn->level(), hp.toLatin1().data(), showeq_params->retarded_coords ? "Y/X" : "X/Y", showeq_params->retarded_coords ? spawn->y() : spawn->x(), showeq_params->retarded_coords ? spawn->x() : spawn->y(), item->z(), - spawn->raceString().toAscii().data(), - spawn->classString().toAscii().data()); + spawn->raceString().toLatin1().data(), + spawn->classString().toLatin1().data()); if (m_deityPvP) string += " Deity: " + spawn->deityName(); @@ -4320,8 +4320,8 @@ showeq_params->retarded_coords ? item->y() : item->x(), showeq_params->retarded_coords ? item->x() : item->y(), item->z(), - item->raceString().toAscii().data(), - item->classString().toAscii().data()); + item->raceString().toLatin1().data(), + item->classString().toLatin1().data()); if ((door) && (door->zonePoint() != 0xFFFFFFFF)) { @@ -4604,8 +4604,8 @@ filename = files[0]; if (!filename.isEmpty()) - m_offscreen.save(filename.toAscii().data(), - filter.left(filter.indexOf(' ')).toAscii().data()); + m_offscreen.save(filename.toLatin1().data(), + filter.left(filter.indexOf(' ')).toLatin1().data()); } //---------------------------------------------------------------------- Modified: showeq/trunk/src/mapcore.cpp =================================================================== --- showeq/trunk/src/mapcore.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/mapcore.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -508,7 +508,7 @@ return; - const char* filename = fileName.toAscii().data(); + const char* filename = fileName.toLatin1().data(); QFile mapFile(fileName); @@ -607,7 +607,7 @@ bool ok; - switch (entryType.toAscii()) + switch (entryType.toLatin1()) { case 'M': { @@ -918,7 +918,7 @@ if (m_image.load(imageFileName)) { m_imageLoaded = true; - seqInfo("Loaded map image: '%s'", imageFileName.toAscii().data()); + seqInfo("Loaded map image: '%s'", imageFileName.toLatin1().data()); } seqInfo("Loaded map: '%s'", filename); @@ -952,7 +952,7 @@ if (fileName.contains("/.txt") != 0) return; - const char* filename = fileName.toAscii().data(); + const char* filename = fileName.toLatin1().data(); QFile mapFile(fileName); @@ -1027,7 +1027,7 @@ // get the field count count = fields.count(); - switch (entryType.toAscii()) + switch (entryType.toLatin1()) { case 'L': { @@ -1148,7 +1148,7 @@ if (m_image.load(imageFileName)) { m_imageLoaded = true; - seqInfo("Loaded map image: '%s'", imageFileName.toAscii().data()); + seqInfo("Loaded map image: '%s'", imageFileName.toLatin1().data()); } seqInfo("Loaded SOE map: '%s'", filename); @@ -1164,9 +1164,9 @@ const char* filename; if (!fileName.isEmpty()) - filename = fileName.toAscii().data(); + filename = fileName.toLatin1().data(); else - filename = m_fileName.toAscii().data(); + filename = m_fileName.toLatin1().data(); if ((fh = fopen(filename, "w")) == NULL) { @@ -1175,8 +1175,8 @@ } // write out header info - fprintf(fh, "%s,%s,%d,%d\n", m_zoneLongName.toAscii().data(), - m_zoneShortName.toAscii().data(), m_size.width(), m_size.height()); + fprintf(fh, "%s,%s,%d,%d\n", m_zoneLongName.toLatin1().data(), + m_zoneShortName.toLatin1().data(), m_size.width(), m_size.height()); // write out ZEM info if non-default if (m_zoneZEM != 75) @@ -1210,8 +1210,8 @@ // write out the start of the line info fprintf (fh, "L,%s,%s,%d", - currentLineL->name().toAscii().data(), - currentLineL->colorName().toAscii().data(), + currentLineL->name().toLatin1().data(), + currentLineL->colorName().toLatin1().data(), currentLineL->size()); // write out all the 2D points in the line @@ -1235,8 +1235,8 @@ currentLineM = *mmit; // write out the start of the line info fprintf (fh, "M,%s,%s,%d", - currentLineM->name().toAscii().data(), - currentLineM->colorName().toAscii().data(), + currentLineM->name().toLatin1().data(), + currentLineM->colorName().toLatin1().data(), currentLineM->size()); // write out all the 3D points in the line @@ -1259,14 +1259,14 @@ if (!currentLoc->heightSet()) fprintf (fh, "P,%s,%s,%d,%d\n", - currentLoc->name().toAscii().data(), - currentLoc->colorName().toAscii().data(), + currentLoc->name().toLatin1().data(), + currentLoc->colorName().toLatin1().data(), currentLoc->x(), currentLoc->y()); else fprintf (fh, "P,%s,%s,%d,%d,%d\n", - currentLoc->name().toAscii().data(), - currentLoc->colorName().toAscii().data(), + currentLoc->name().toLatin1().data(), + currentLoc->colorName().toLatin1().data(), currentLoc->x(), currentLoc->y(), currentLoc->z()); @@ -1279,7 +1279,7 @@ MapAggro* currentAggro = *ait; fprintf (fh, "A,%s,%d\n", - currentAggro->name().toAscii().data(), currentAggro->range()); + currentAggro->name().toLatin1().data(), currentAggro->range()); } #ifdef DEBUGMAP @@ -1302,9 +1302,9 @@ const char* filename; if (!fileName.isEmpty()) - filename = fileName.toAscii().data(); + filename = fileName.toLatin1().data(); else - filename = m_fileName.toAscii().data(); + filename = m_fileName.toLatin1().data(); if ((fh = fopen(filename, "w")) == NULL) { @@ -1392,7 +1392,7 @@ -float(currentLoc->x()), -float(currentLoc->y()), float(currentLoc->z()), color.red(), color.green(), color.blue(), - name.toAscii().data()); + name.toLatin1().data()); } #ifdef DEBUGMAP seqDebug("saveMap() - map '%s' saved with %d L lines, %d M lines, %d locations", filename, Modified: showeq/trunk/src/mapicon.cpp =================================================================== --- showeq/trunk/src/mapicon.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/mapicon.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -1107,7 +1107,7 @@ spawnNameText.sprintf("%2d: %s", spawn->level(), - spawn->name().toAscii().data()); + spawn->name().toLatin1().data()); QFontMetrics fm(param.font()); int width = fm.width(spawnNameText); @@ -1220,8 +1220,8 @@ QString spawnNameText; spawnNameText.sprintf("sp:%s %s (%d)", - sp->name().toAscii().data(), - sp->last().toAscii().data(), + sp->name().toLatin1().data(), + sp->last().toLatin1().data(), sp->count()); QFontMetrics fm(param.font()); Modified: showeq/trunk/src/messageshell.cpp =================================================================== --- showeq/trunk/src/messageshell.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/messageshell.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -110,7 +110,7 @@ cmsg->sender, cmsg->target, cmsg->message, - language_name(cmsg->language).toAscii().data() + language_name(cmsg->language).toLatin1().data() ); } else @@ -118,7 +118,7 @@ tempStr.sprintf( "'%s' - %s {%s}", cmsg->sender, cmsg->message, - language_name(cmsg->language).toAscii().data() + language_name(cmsg->language).toLatin1().data() ); } } @@ -549,8 +549,8 @@ if (mem->param1 != 4) tempStr.sprintf("%s%s', slot %d.", - tempStr.toAscii().data(), - spellName.toAscii().data(), + tempStr.toLatin1().data(), + spellName.toLatin1().data(), mem->slotId); else @@ -598,8 +598,8 @@ spellName = spell_name(bcast->spellId); tempStr.sprintf( "%s%s' - Casting time is %g Second%s", - tempStr.toAscii().data(), - spellName.toAscii().data(), casttime, + tempStr.toLatin1().data(), + spellName.toLatin1().data(), casttime, casttime == 1 ? "" : "s"); m_messages->addMessage(MT_Spell, tempStr); @@ -626,7 +626,7 @@ QString tempStr; if (item != NULL) tempStr.sprintf("%s(%d): %s", - item->name().toAscii().data(), icast->spawnId, icast->message); + item->name().toLatin1().data(), icast->spawnId, icast->message); else tempStr.sprintf("spawn(%d): %s", icast->spawnId, icast->message); @@ -657,7 +657,7 @@ QString tempStr; tempStr.sprintf("You begin casting %s. Current Target is %s(%d)", - spellName.toAscii().data(), targetName.toAscii().data(), + spellName.toLatin1().data(), targetName.toLatin1().data(), cast->targetId); m_messages->addMessage(MT_Spell, tempStr); @@ -742,7 +742,7 @@ const groupFollowStruct* gFollow = (const groupFollowStruct*)data; QString tempStr; - if(!strcmp(gFollow->invitee, m_player->name().toAscii().data())) + if(!strcmp(gFollow->invitee, m_player->name().toLatin1().data())) tempStr = "Follow: You have joined the group"; else tempStr.sprintf("Follow: %s has joined the group", gFollow->invitee); @@ -872,7 +872,7 @@ const skillIncStruct* skilli = (const skillIncStruct*)data; QString tempStr; tempStr.sprintf("Skill: %s has increased (%d)", - skill_name(skilli->skillId).toAscii().data(), + skill_name(skilli->skillId).toLatin1().data(), skilli->value); m_messages->addMessage(MT_Player, tempStr); } Modified: showeq/trunk/src/messagewindow.cpp =================================================================== --- showeq/trunk/src/messagewindow.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/messagewindow.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -1151,8 +1151,8 @@ QString styleCaption = windowTitle() + " - " + typeName + " Style"; MessageTypeStyleDialog dialog(m_typeStyles[id], m_defaultColor, m_defaultBGColor, - styleCaption.toAscii().data(), - this, styleCaption.toAscii().data()); + styleCaption.toLatin1().data(), + this, styleCaption.toLatin1().data()); // popup the modal dialog int result = dialog.exec(); Modified: showeq/trunk/src/packet.cpp =================================================================== --- showeq/trunk/src/packet.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/packet.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -132,7 +132,7 @@ // load the world opcode db if (!m_worldOPCodeDB->load(*m_packetTypeDB, worldopcodesxml)) - seqFatal("Error loading '%s'!", worldopcodesxml.toAscii().data()); + seqFatal("Error loading '%s'!", worldopcodesxml.toLatin1().data()); #ifdef PACKET_OPCODEDB_DIAG m_worldOPCodeDB->list(); @@ -145,7 +145,7 @@ // load the zone opcode db if (!m_zoneOPCodeDB->load(*m_packetTypeDB, zoneopcodesxml)) - seqFatal("Error loading '%s'!", zoneopcodesxml.toAscii().data()); + seqFatal("Error loading '%s'!", zoneopcodesxml.toLatin1().data()); #ifdef PACKET_OPCODEDB_DIAG m_zoneOPCodeDB->list(); @@ -201,11 +201,11 @@ if (m_ip == "auto") inet_aton (AUTOMATIC_CLIENT_IP, &ia); - else if (inet_aton (m_ip.toAscii().data(), &ia) == 0) + else if (inet_aton (m_ip.toLatin1().data(), &ia) == 0) { - he = gethostbyname(m_ip.toAscii().data()); + he = gethostbyname(m_ip.toLatin1().data()); if (!he) - seqFatal("Invalid address; %s", m_ip.toAscii().data()); + seqFatal("Invalid address; %s", m_ip.toLatin1().data()); memcpy (&ia, he->h_addr_list[0], he->h_length); } @@ -220,7 +220,7 @@ else { m_detectingClient = false; - seqInfo("Listening for client: %s", m_ip.toAscii().data()); + seqInfo("Listening for client: %s", m_ip.toLatin1().data()); } } @@ -229,12 +229,12 @@ // create the pcap object and initialize, either with MAC or IP m_packetCapture = new PacketCaptureThread(); if (m_mac.length() == 17) - m_packetCapture->start(m_device.toAscii().data(), - m_mac.toAscii().data(), + m_packetCapture->start(m_device.toLatin1().data(), + m_mac.toLatin1().data(), m_realtime, MAC_ADDRESS_TYPE ); else - m_packetCapture->start(m_device.toAscii().data(), - m_ip.toAscii().data(), + m_packetCapture->start(m_device.toLatin1().data(), + m_ip.toLatin1().data(), m_realtime, IP_ADDRESS_TYPE ); emit filterChanged(); } @@ -245,9 +245,9 @@ QString filename = pSEQPrefs->getPrefString("Filename", "VPacket"); - m_packetCapture->startOffline(filename.toAscii().data(), m_playbackSpeed); + m_packetCapture->startOffline(filename.toLatin1().data(), m_playbackSpeed); seqInfo("Playing back packets from '%s' at speed '%d'", - filename.toAscii().data(), m_playbackSpeed); + filename.toLatin1().data(), m_playbackSpeed); } // Flag session tracking properly on streams @@ -285,9 +285,9 @@ if (m_recordPackets) { - m_vPacket = new VPacket(filename.toAscii().data(), 1, true); + m_vPacket = new VPacket(filename.toLatin1().data(), 1, true); // Must appear befire next call to getPrefString, which uses a static string - seqInfo("Recording packets to '%s' for future playback", filename.toAscii().data()); + seqInfo("Recording packets to '%s' for future playback", filename.toLatin1().data()); if (!pSEQPrefs->getPrefString("FlushPackets", section).isNull()) m_vPacket->setFlushPacket(true); @@ -294,11 +294,11 @@ } else if (m_playbackPackets == PLAYBACK_FORMAT_SEQ) { - m_vPacket = new VPacket(filename.toAscii().data(), 1, false); + m_vPacket = new VPacket(filename.toLatin1().data(), 1, false); m_vPacket->setCompressTime(pSEQPrefs->getPrefInt("CompressTime", section, 0)); m_vPacket->setPlaybackSpeed(m_playbackSpeed); - seqInfo("Playing back packets from '%s' at speed '%d'", filename.toAscii().data(), + seqInfo("Playing back packets from '%s' at speed '%d'", filename.toLatin1().data(), m_playbackSpeed); } @@ -611,7 +611,7 @@ m_client_addr = packet.getIPv4DestN(); m_detectingClient = false; emit clientChanged(m_client_addr); - seqInfo("Client Detected: %s", m_ip.toAscii().data()); + seqInfo("Client Detected: %s", m_ip.toLatin1().data()); } else if (m_detectingClient && (packet.getDestPort() >= WorldServerGeneralMinPort @@ -621,7 +621,7 @@ m_client_addr = packet.getIPv4SourceN(); m_detectingClient = false; emit clientChanged(m_client_addr); - seqInfo("Client Detected: %s", m_ip.toAscii().data()); + seqInfo("Client Detected: %s", m_ip.toLatin1().data()); } // Dispatch based on known streams @@ -690,7 +690,7 @@ (m_playbackPackets == PLAYBACK_OFF || m_playbackPackets == PLAYBACK_FORMAT_TCPDUMP)) { - m_packetCapture->setFilter(m_device.toAscii().data(), m_ip.toAscii().data(), + m_packetCapture->setFilter(m_device.toLatin1().data(), m_ip.toLatin1().data(), m_realtime, IP_ADDRESS_TYPE, 0, 0); emit filterChanged(); } @@ -710,7 +710,7 @@ emit clientPortLatched(m_clientPort); seqInfo("EQPacket: SessionDisconnect detected, awaiting next zone session, pcap filter: EQ Client %s", - m_ip.toAscii().data()); + m_ip.toLatin1().data()); } } @@ -726,8 +726,8 @@ { if (m_mac.length() == 17) { - m_packetCapture->setFilter(m_device.toAscii().data(), - m_mac.toAscii().data(), + m_packetCapture->setFilter(m_device.toLatin1().data(), + m_mac.toLatin1().data(), m_realtime, MAC_ADDRESS_TYPE, 0, m_clientPort); @@ -735,8 +735,8 @@ } else { - m_packetCapture->setFilter(m_device.toAscii().data(), - m_ip.toAscii().data(), + m_packetCapture->setFilter(m_device.toLatin1().data(), + m_ip.toLatin1().data(), m_realtime, IP_ADDRESS_TYPE, 0, m_clientPort); @@ -748,12 +748,12 @@ if (m_mac.length() == 17) { seqInfo("EQPacket: SessionRequest detected, pcap filter: EQ Client %s, Client port %d. Server port %d", - m_mac.toAscii().data(), m_clientPort, m_serverPort); + m_mac.toLatin1().data(), m_clientPort, m_serverPort); } else { seqInfo("EQPacket: SessionRequest detected, pcap filter: EQ Client %s, Client port %d. Server port %d", - m_ip.toAscii().data(), m_clientPort, m_serverPort); + m_ip.toLatin1().data(), m_clientPort, m_serverPort); } emit clientPortLatched(m_clientPort); @@ -917,18 +917,18 @@ { m_ip = ip; struct in_addr ia; - inet_aton (m_ip.toAscii().data(), &ia); + inet_aton (m_ip.toLatin1().data(), &ia); m_client_addr = ia.s_addr; emit clientChanged(m_client_addr); resetEQPacket(); - seqInfo("Listening for IP client: %s", m_ip.toAscii().data()); + seqInfo("Listening for IP client: %s", m_ip.toLatin1().data()); if (m_playbackPackets == PLAYBACK_OFF || m_playbackPackets == PLAYBACK_FORMAT_TCPDUMP) { - m_packetCapture->setFilter(m_device.toAscii().data(), - m_ip.toAscii().data(), + m_packetCapture->setFilter(m_device.toLatin1().data(), + m_ip.toLatin1().data(), m_realtime, IP_ADDRESS_TYPE, 0, 0); emit filterChanged(); @@ -948,13 +948,13 @@ resetEQPacket(); - seqInfo("Listening for MAC client: %s", m_mac.toAscii().data()); + seqInfo("Listening for MAC client: %s", m_mac.toLatin1().data()); if (m_playbackPackets == PLAYBACK_OFF || m_playbackPackets == PLAYBACK_FORMAT_TCPDUMP) { - m_packetCapture->setFilter(m_device.toAscii().data(), - m_ip.toAscii().data(), + m_packetCapture->setFilter(m_device.toLatin1().data(), + m_ip.toLatin1().data(), m_realtime, IP_ADDRESS_TYPE, 0, 0); emit filterChanged(); @@ -968,7 +968,7 @@ m_detectingClient = true; m_ip = AUTOMATIC_CLIENT_IP; struct in_addr ia; - inet_aton (m_ip.toAscii().data(), &ia); + inet_aton (m_ip.toLatin1().data(), &ia); m_client_addr = ia.s_addr; emit clientChanged(m_client_addr); @@ -979,7 +979,7 @@ if (m_playbackPackets == PLAYBACK_OFF || m_playbackPackets == PLAYBACK_FORMAT_TCPDUMP) { - m_packetCapture->setFilter(m_device.toAscii().data(), NULL, + m_packetCapture->setFilter(m_device.toLatin1().data(), NULL, m_realtime, DEFAULT_ADDRESS_TYPE, 0, 0); emit filterChanged(); @@ -1011,11 +1011,11 @@ if (m_ip == "auto") inet_aton (AUTOMATIC_CLIENT_IP, &ia); - else if (inet_aton (m_ip.toAscii().data(), &ia) == 0) + else if (inet_aton (m_ip.toLatin1().data(), &ia) == 0) { - he = gethostbyname(m_ip.toAscii().data()); + he = gethostbyname(m_ip.toLatin1().data()); if (!he) - seqFatal("Invalid address; %s", m_ip.toAscii().data()); + seqFatal("Invalid address; %s", m_ip.toLatin1().data()); memcpy (&ia, he->h_addr_list[0], he->h_length); } @@ -1030,7 +1030,7 @@ else { m_detectingClient = false; - seqInfo("Listening for client: %s", m_ip.toAscii().data()); + seqInfo("Listening for client: %s", m_ip.toLatin1().data()); } } @@ -1038,11 +1038,11 @@ // restart packet capture if (m_mac.length() == 17) - m_packetCapture->start(m_device.toAscii().data(), - m_mac.toAscii().data(), + m_packetCapture->start(m_device.toLatin1().data(), + m_mac.toLatin1().data(), m_realtime, MAC_ADDRESS_TYPE ); else - m_packetCapture->start(m_device.toAscii().data(), m_ip.toAscii().data(), + m_packetCapture->start(m_device.toLatin1().data(), m_ip.toLatin1().data(), m_realtime, IP_ADDRESS_TYPE ); emit filterChanged(); } Modified: showeq/trunk/src/packetinfo.cpp =================================================================== --- showeq/trunk/src/packetinfo.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/packetinfo.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -479,7 +479,7 @@ break; seqInfo("\t\t\tdir=%d typename=%s size=%d sizechecktype=%d", - currentPayload->dir(), currentPayload->typeName().toAscii().data(), + currentPayload->dir(), currentPayload->typeName().toLatin1().data(), currentPayload->typeSize(), currentPayload->sizeCheckType()); } } @@ -691,7 +691,7 @@ if (!value.isEmpty()) { - if (!m_currentPayload->setType(m_typeDB, value.toAscii().data())) + if (!m_currentPayload->setType(m_typeDB, value.toLatin1().data())) seqWarn("Unknown payload typename '%s' for opcode '%04x'", value.toLatin1().data(), m_currentOPCode->opcode()); } Modified: showeq/trunk/src/packetlog.cpp =================================================================== --- showeq/trunk/src/packetlog.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/packetlog.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -95,7 +95,7 @@ if (!open()) return; - outputf ("%s\n", message.toAscii().data()); + outputf ("%s\n", message.toLatin1().data()); flush(); } @@ -300,13 +300,13 @@ uint16_t opcode, const QString& origPrefix) { if (!origPrefix.isEmpty()) - ::printf("%s ", origPrefix.toAscii().data()); + ::printf("%s ", origPrefix.toLatin1().data()); else ::putchar('\n'); ::printf("%s [Size: %lu]%s\n", ((dir == DIR_Server) ? "[Server->Client]" : "[Client->Server]"), - len, opCodeToString(opcode).toAscii().data()); + len, opCodeToString(opcode).toLatin1().data()); if (len) { @@ -415,7 +415,7 @@ } seqInfo("OpCode monitoring ENABLED..."); - seqInfo("Using list:\t%s", monitoredOPCodes.toAscii().data()); + seqInfo("Using list:\t%s", monitoredOPCodes.toLatin1().data()); QString qsCommaBuffer (""); /* Construct these outside the loop so we don't have to construct @@ -483,7 +483,7 @@ #if 1 // ZBTEMP seqDebug("opcode=%04x name='%s' dir=%d known=%d", MonitoredOpCodeList [uiIndex] [0], - MonitoredOpCodeAliasList [uiIndex].toAscii().data(), + MonitoredOpCodeAliasList [uiIndex].toLatin1().data(), MonitoredOpCodeList [uiIndex] [1], MonitoredOpCodeList [uiIndex] [2]); #endif Modified: showeq/trunk/src/packetstream.cpp =================================================================== --- showeq/trunk/src/packetstream.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/packetstream.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -118,9 +118,9 @@ if (!opcode) { seqDebug("connect2: Unknown opcode '%s' with payload type '%s'", - opcodeName.toAscii().data(), payloadType); + opcodeName.toLatin1().data(), payloadType); seqDebug("\tfor receiver '%s' of type '%s' to member '%s'", - receiver->objectName().toAscii().data(), + receiver->objectName().toLatin1().data(), receiver->metaObject()->className(), member); return false; } @@ -145,11 +145,11 @@ if (!payload) { seqDebug("connect2: Warning! opcode '%s' has no matching payload.", - opcodeName.toAscii().data()); + opcodeName.toLatin1().data()); seqDebug("\tdir '%d' payload '%s' szt '%d'", m_dir, payloadType, szt); seqDebug("\tfor receiver '%s' of type '%s' to member '%s'", - receiver->objectName().toAscii().data(), + receiver->objectName().toLatin1().data(), receiver->metaObject()->className(), member); return false; @@ -164,12 +164,12 @@ // construct a name for the dispatch QString dispatchName(256, '\0'); dispatchName.sprintf("PacketDispatch:%s:%s:%d:%s:%d", - objectName().toAscii().data(), opcodeName.toAscii().data(), - payload->dir(), payload->typeName().toAscii().data(), + objectName().toLatin1().data(), opcodeName.toLatin1().data(), + payload->dir(), payload->typeName().toLatin1().data(), payload->sizeCheckType()); // create new dispatch object - dispatch = new EQPacketDispatch(this, dispatchName.toAscii().data()); + dispatch = new EQPacketDispatch(this, dispatchName.toLatin1().data()); // insert dispatcher into dispatcher dictionary m_dispatchers.insert((void*)payload, dispatch); @@ -464,7 +464,7 @@ { QString tempStr; tempStr.sprintf("%s (%#04x) (dataLen: %lu) doesn't match:", - opcodeEntry->name().toAscii().data(), + opcodeEntry->name().toLatin1().data(), opcodeEntry->opcode(), len); pit.toFront(); @@ -485,7 +485,7 @@ } } - seqWarn(tempStr.toAscii().data()); + seqWarn(tempStr.toLatin1().data()); } #endif // PACKET_PAYLOAD_SIZE_DIAG } Modified: showeq/trunk/src/player.cpp =================================================================== --- showeq/trunk/src/player.cpp 2021-11-17 20:43:30 UTC (rev 1209) +++ showeq/trunk/src/player.cpp 2021-11-30 14:43:06 UTC (rev 1210) @@ -1380,7 +1380,7 @@ if (magicTest != *magic) { seqWarn("Failure loading %s: Bad magic string!", - fileName.toAscii().data()); + fileName.toLatin1().data()); reset(); clear(); return; @@ -1391,7 +1391,7 @@ if (testVal != sizeof(charProfileStruct)) { seqWarn("Failure loading %s: Bad player size!", - fileName.toAscii().data()); + fileName.toLatin1().data()); reset(); clear(); return; @@ -1401,7 +1401,7 @@ if (testVal != MAX_KNOWN_SKILLS) { seqWarn("Failure loading %s: Bad known skills!", - fileName.toAscii().data()); + fileName.toLatin... [truncated message content] |
From: <cn...@us...> - 2021-11-17 20:43:33
|
Revision: 1209 http://sourceforge.net/p/seq/svn/1209 Author: cn187 Date: 2021-11-17 20:43:30 +0000 (Wed, 17 Nov 2021) Log Message: ----------- Release 6.1.8 - Update to version 6.1.8 - Support for EQ patch 11/17/21 - Opcode and struct changes (Newby, cn187) - Add spawntime support to filter strings (Newby) - Fix NPC aura decoding (Newby) Modified Paths: -------------- showeq/branches/cn187_devel/ChangeLog showeq/branches/cn187_devel/conf/zoneopcodes.xml showeq/branches/cn187_devel/configure.in showeq/branches/cn187_devel/src/everquest.h showeq/branches/cn187_devel/src/spawn.cpp showeq/branches/cn187_devel/src/spawnshell.cpp Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2021-11-17 20:30:40 UTC (rev 1208) +++ showeq/branches/cn187_devel/ChangeLog 2021-11-17 20:43:30 UTC (rev 1209) @@ -1,3 +1,11 @@ +cn187 (11/17/21) +---------------- +- Update to version 6.1.8 +- Support for EQ patch 11/17/21 +- Opcode and struct changes (Newby, cn187) +- Add spawntime support to filter strings (Newby) +- Fix NPC aura decoding (Newby) + cn187 (10/21/21) ---------------- - Update to version 6.1.7 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-11-17 20:30:40 UTC (rev 1208) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-11-17 20:43:30 UTC (rev 1209) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="21ba" name="OP_PlayerProfile" updated="10/20/21"> + <opcode id="2e70" name="OP_PlayerProfile" updated="11/17/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1033" name="OP_ZoneEntry" updated="10/20/21"> + <opcode id="2597" name="OP_ZoneEntry" updated="11/17/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="45fc" name="OP_TimeOfDay" updated="10/20/21"> + <opcode id="379c" name="OP_TimeOfDay" updated="11/17/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="25dd" name="OP_NewZone" updated="10/20/21"> + <opcode id="647a" name="OP_NewZone" updated="11/17/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="66bc" name="OP_SpawnDoor" updated="10/20/21"> + <opcode id="7714" name="OP_SpawnDoor" updated="11/17/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="7c39" name="OP_GroundSpawn" updated="10/20/21"> + <opcode id="604a" name="OP_GroundSpawn" updated="11/17/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0343" name="OP_SendZonePoints" updated="10/20/21"> + <opcode id="503e" name="OP_SendZonePoints" updated="11/17/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="4f68" name="OP_AAExpUpdate" updated="10/20/21"> + <opcode id="2b2d" name="OP_AAExpUpdate" updated="11/17/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7625" name="OP_ExpUpdate" updated="10/20/21"> + <opcode id="23eb" name="OP_ExpUpdate" updated="11/17/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="0dd4" name="OP_GuildMOTD" updated="10/20/21"> + <opcode id="1ae6" name="OP_GuildMOTD" updated="11/17/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="5fdd" name="OP_ClientUpdate" updated="10/20/21"> + <opcode id="4b86" name="OP_ClientUpdate" updated="11/17/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="022e" name="OP_NpcMoveUpdate" updated="10/20/21"> + <opcode id="3c74" name="OP_NpcMoveUpdate" updated="11/17/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7352" name="OP_MobUpdate" updated="10/20/21"> + <opcode id="3dcc" name="OP_MobUpdate" updated="11/17/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="4a42" name="OP_DeleteSpawn" updated="10/20/21"> + <opcode id="7a64" name="OP_DeleteSpawn" updated="11/17/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="02d6" name="OP_RemoveSpawn" updated="10/20/21"> + <opcode id="66b5" name="OP_RemoveSpawn" updated="11/17/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="542c" name="OP_Death" updated="10/20/21"> + <opcode id="72fb" name="OP_Death" updated="11/17/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="1bf5" name="OP_WearChange" updated="10/20/21"> + <opcode id="698b" name="OP_WearChange" updated="11/17/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5daf" name="OP_SpawnAppearance" updated="10/20/21"> + <opcode id="0f40" name="OP_SpawnAppearance" updated="11/17/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="05a8" name="OP_Stamina" updated="10/20/21"> + <opcode id="48c0" name="OP_Stamina" updated="11/17/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="0459" name="OP_HPUpdate" updated="10/20/21"> + <opcode id="6e70" name="OP_HPUpdate" updated="11/17/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="1c56" name="OP_GuildMemberUpdate" updated="10/20/21"> + <opcode id="1562" name="OP_GuildMemberUpdate" updated="11/17/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="640e" name="OP_ClickObject" updated="10/20/21"> + <opcode id="1b19" name="OP_ClickObject" updated="11/17/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="1cbd" name="OP_Action" updated="10/20/21"> + <opcode id="387b" name="OP_Action" updated="11/17/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="444a" name="OP_Action2" updated="10/20/21"> + <opcode id="6207" name="OP_Action2" updated="11/17/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="79fa" name="OP_Consider" updated="10/20/21"> + <opcode id="5916" name="OP_Consider" updated="11/17/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="7bd1" name="OP_TargetMouse" updated="10/20/21"> + <opcode id="6dc7" name="OP_TargetMouse" updated="11/17/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="0971" name="OP_SpawnRename" updated="10/20/21"> + <opcode id="5bea" name="OP_SpawnRename" updated="11/17/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="511d" name="OP_Illusion" updated="10/20/21"> + <opcode id="3a70" name="OP_Illusion" updated="11/17/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="76c1" name="OP_Shroud" updated="10/20/21"> + <opcode id="5f8c" name="OP_Shroud" updated="11/17/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="57cf" name="OP_ZoneChange" updated="10/20/21"> + <opcode id="746c" name="OP_ZoneChange" updated="11/17/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="1847" name="OP_Buff" updated="10/20/21"> + <opcode id="6fd7" name="OP_Buff" updated="11/17/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="1a5a" name="OP_BeginCast" updated="10/20/21"> + <opcode id="0933" name="OP_BeginCast" updated="11/17/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="3054" name="OP_CastSpell" updated="10/20/21"> + <opcode id="5e71" name="OP_CastSpell" updated="11/17/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="488f" name="OP_SwapSpell" updated="10/20/21"> + <opcode id="6a5a" name="OP_SwapSpell" updated="11/17/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="4b69" name="OP_MemorizeSpell" updated="10/20/21"> + <opcode id="3a26" name="OP_MemorizeSpell" updated="11/17/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="0eb7" name="OP_InspectAnswer" updated="10/20/21"> + <opcode id="4b23" name="OP_InspectAnswer" updated="11/17/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="5f8e" name="OP_Emote" updated="10/20/21"> + <opcode id="4b78" name="OP_Emote" updated="11/17/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="3f78" name="OP_SimpleMessage" updated="10/20/21"> + <opcode id="7299" name="OP_SimpleMessage" updated="11/17/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="75a8" name="OP_FormattedMessage" updated="10/20/21"> + <opcode id="3623" name="OP_FormattedMessage" updated="11/17/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="0416" name="OP_CommonMessage" updated="10/20/21"> + <opcode id="224b" name="OP_CommonMessage" updated="11/17/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6c32" name="OP_SpecialMesg" updated="10/20/21"> + <opcode id="1715" name="OP_SpecialMesg" updated="11/17/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="5640" name="OP_RandomReq" updated="10/20/21"> + <opcode id="085f" name="OP_RandomReq" updated="11/17/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="5d4a" name="OP_RandomReply" updated="10/20/21"> + <opcode id="3c00" name="OP_RandomReply" updated="11/17/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="1f3c" name="OP_ManaChange" updated="10/20/21"> + <opcode id="1b65" name="OP_ManaChange" updated="11/17/21"> <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="3563" name="OP_BazaarSearchRequest" updated="10/20/21"> + <opcode id="33a5" name="OP_BazaarSearchRequest" updated="11/17/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="58fd" name="OP_BazaarSearchResponse" updated="10/20/21"> + <opcode id="5ee0" name="OP_BazaarSearchResponse" updated="11/17/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="30a5" name="OP_MoneyOnCorpse" updated="10/20/21"> + <opcode id="77df" name="OP_MoneyOnCorpse" updated="11/17/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="1ef5" name="OP_SkillUpdate" updated="10/20/21"> + <opcode id="0645" name="OP_SkillUpdate" updated="11/17/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="5dc4" name="OP_LevelUpdate" updated="10/20/21"> + <opcode id="297c" name="OP_LevelUpdate" updated="11/17/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="11ac" name="OP_DzSwitchInfo" updated="10/20/21"> + <opcode id="6e46" name="OP_DzSwitchInfo" updated="11/17/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="10fa" name="OP_DzInfo" updated="10/20/21"> + <opcode id="26da" name="OP_DzInfo" updated="11/17/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="076e" name="OP_SetRunMode" updated="10/20/21"> + <opcode id="6435" name="OP_SetRunMode" updated="11/17/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="24b5" name="OP_Trader" updated="10/20/21"> + <opcode id="6607" name="OP_Trader" updated="11/17/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2e43" name="OP_GuildMemberList" updated="10/20/21"> + <opcode id="0a07" name="OP_GuildMemberList" updated="11/17/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5e85" name="OP_ManaUpdate" updated="10/20/21"> + <opcode id="7b36" name="OP_ManaUpdate" updated="11/17/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="34e3" name="OP_EndUpdate" updated="10/20/21"> + <opcode id="4625" name="OP_EndUpdate" updated="11/17/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5c63" name="OP_ExpandedGuildInfo" updated="10/20/21"> + <opcode id="75de" name="OP_ExpandedGuildInfo" updated="11/17/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="31f5" name="OP_GuildsInZoneList" updated="10/20/21"> + <opcode id="0ca1" name="OP_GuildsInZoneList" updated="11/17/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="24d2" name="OP_NewGuildInZone" updated="10/20/21"> + <opcode id="2d85" name="OP_NewGuildInZone" updated="11/17/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="03f4" name="OP_Find" updated="10/20/21"> + <opcode id="7218" name="OP_Find" updated="11/17/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/branches/cn187_devel/configure.in =================================================================== --- showeq/branches/cn187_devel/configure.in 2021-11-17 20:30:40 UTC (rev 1208) +++ showeq/branches/cn187_devel/configure.in 2021-11-17 20:43:30 UTC (rev 1209) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.7) +AC_INIT(showeq, 6.1.8) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2021-11-17 20:30:40 UTC (rev 1208) +++ showeq/branches/cn187_devel/src/everquest.h 2021-11-17 20:43:30 UTC (rev 1209) @@ -1115,27 +1115,27 @@ struct { - signed deltaY:13; // change in y - unsigned heading:12; // heading + signed deltaZ:13; // change in z + unsigned pitch:12; // pitch (up/down heading) unsigned padding00:7; signed deltaHeading:10; // change in heading + signed deltaY:13; // change in y + unsigned padding01:9; + + signed z:19; // z coord (3rd loc value) + signed deltaX:13; // change in x + signed x:19; // x coord (1st loc value) - unsigned padding01:3; + unsigned padding03:13; signed y:19; // y coord (2nd loc value) - unsigned padding02:13; + unsigned heading:12; // heading + unsigned padding04:1; - signed z:19; // z coord (3rd loc value) - signed deltaX:13; // change in x - - unsigned pitch:12; // pitch (up/down heading) signed animation:10; // current animation - unsigned padding04:10; + unsigned padding05:22; - signed deltaZ:13; // change in z - unsigned padding05:19; - }; int32_t posData[6]; }; @@ -2397,32 +2397,32 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed deltaY:13; // change in y - unsigned heading:12; // heading + signed deltaZ:13; // change in z + unsigned pitch:12; // pitch (up/down heading) unsigned padding00:7; /*0008*/ signed deltaHeading:10; // change in heading - signed x:19; // x coord (1st loc value) - unsigned padding01:3; + signed deltaY:13; // change in y + unsigned padding01:9; /*0012*/ - signed y:19; // y coord (2nd loc value) - unsigned padding02:13; -/*0016*/ signed z:19; // z coord (3rd loc value) signed deltaX:13; // change in x +/*0016*/ + signed x:19; // x coord (1st loc value) + unsigned padding03:13; /*0020*/ - unsigned pitch:12; // pitch (up/down heading) + signed y:19; // y coord (2nd loc value) + unsigned heading:12; // heading + unsigned padding04:1; +/*0024*/ signed animation:10; // current animation - unsigned padding04:10; -/*0024*/ - signed deltaZ:13; // change in z - unsigned padding05:19; + unsigned padding05:22; /*0028*/ }; /* ** Self Position Update -** Length: 46 Octets +** Length: 38 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2431,30 +2431,26 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - signed deltaHeading:10; // change in heading - unsigned padding00:22; + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned padding00:8; /*0010*/ - float z; // z coord (3rd loc value) + float deltaY; // change in y /*0014*/ - float deltaY; // change in y + signed deltaHeading:10; // change in heading + signed animation:10; // current animation + unsigned padding02:12; /*0018*/ + float x; // x coord (1st loc value) +/*0022*/ float deltaZ; // change in z -/*0022*/ +/*0026*/ float deltaX; // change in x -/*0026*/ - signed animation:10; // current animation - unsigned padding05:22; /*0030*/ - float x; // x coord (1st loc value) + float z; // z coord (3rd loc value) /*0034*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding07:20; + float y; // y coord (2nd loc value) /*0038*/ - float y; // y coord (2nd loc value) -/*0042*/ - unsigned heading:12; // heading - unsigned padding09:20; -/*0046*/ }; /* Modified: showeq/branches/cn187_devel/src/spawn.cpp =================================================================== --- showeq/branches/cn187_devel/src/spawn.cpp 2021-11-17 20:30:40 UTC (rev 1208) +++ showeq/branches/cn187_devel/src/spawn.cpp 2021-11-17 20:43:30 UTC (rev 1209) @@ -899,7 +899,7 @@ QString buff; buff.sprintf("Name:%s:Level:%d:Race:%s:Class:%s:NPC:%d:X:%d:Y:%d:Z:%d:" - "Light:%s:Deity:%s:RTeam:%d:DTeam:%d:Type:%s:LastName:%s:Guild:%s:", + "Light:%s:Deity:%s:RTeam:%d:DTeam:%d:Type:%s:LastName:%s:Guild:%s:Spawn:%s:", name.toUtf8().data(), level(), raceString().toUtf8().data(), @@ -912,7 +912,9 @@ deityTeam(), typeString().toUtf8().data(), lastName().toUtf8().data(), - guildTag().toUtf8().data()); + guildTag().toUtf8().data(), + spawnTimeStr ().replace (":", ".").toUtf8 ().data () + ); if (gm()) buff += QString("GM:") + QString::number(gm()) + ":"; Modified: showeq/branches/cn187_devel/src/spawnshell.cpp =================================================================== --- showeq/branches/cn187_devel/src/spawnshell.cpp 2021-11-17 20:30:40 UTC (rev 1208) +++ showeq/branches/cn187_devel/src/spawnshell.cpp 2021-11-17 20:43:30 UTC (rev 1209) @@ -686,9 +686,10 @@ if(spawn->aura) // aura stuff { - netStream.readText(); // skip 2 variable len strings + netStream.readText(); // skip 3 variable len strings netStream.readText(); - netStream.skipBytes(54); // and 54 static bytes + netStream.readText(); + netStream.skipBytes(53); // and 53 static bytes } spawn->charProperties = netStream.readUInt8(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-11-17 20:30:42
|
Revision: 1208 http://sourceforge.net/p/seq/svn/1208 Author: cn187 Date: 2021-11-17 20:30:40 +0000 (Wed, 17 Nov 2021) Log Message: ----------- Tag for release 6.1.8 Added Paths: ----------- showeq/tags/v6_1_8/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-11-17 20:28:59
|
Revision: 1207 http://sourceforge.net/p/seq/svn/1207 Author: cn187 Date: 2021-11-17 20:28:56 +0000 (Wed, 17 Nov 2021) Log Message: ----------- Release 6.1.8 - Update to version 6.1.8 - Support for EQ patch 11/17/21 - Opcode and struct changes (Newby, cn187) - Add spawntime support to filter strings (Newby) - Fix NPC aura decoding (Newby) Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/spawn.cpp showeq/trunk/src/spawnshell.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2021-10-27 17:04:19 UTC (rev 1206) +++ showeq/trunk/ChangeLog 2021-11-17 20:28:56 UTC (rev 1207) @@ -1,3 +1,11 @@ +cn187 (11/17/21) +---------------- +- Update to version 6.1.8 +- Support for EQ patch 11/17/21 +- Opcode and struct changes (Newby, cn187) +- Add spawntime support to filter strings (Newby) +- Fix NPC aura decoding (Newby) + cn187 (10/21/21) ---------------- - Update to version 6.1.7 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2021-10-27 17:04:19 UTC (rev 1206) +++ showeq/trunk/conf/zoneopcodes.xml 2021-11-17 20:28:56 UTC (rev 1207) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="21ba" name="OP_PlayerProfile" updated="10/20/21"> + <opcode id="2e70" name="OP_PlayerProfile" updated="11/17/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1033" name="OP_ZoneEntry" updated="10/20/21"> + <opcode id="2597" name="OP_ZoneEntry" updated="11/17/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="45fc" name="OP_TimeOfDay" updated="10/20/21"> + <opcode id="379c" name="OP_TimeOfDay" updated="11/17/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="25dd" name="OP_NewZone" updated="10/20/21"> + <opcode id="647a" name="OP_NewZone" updated="11/17/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="66bc" name="OP_SpawnDoor" updated="10/20/21"> + <opcode id="7714" name="OP_SpawnDoor" updated="11/17/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="7c39" name="OP_GroundSpawn" updated="10/20/21"> + <opcode id="604a" name="OP_GroundSpawn" updated="11/17/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="0343" name="OP_SendZonePoints" updated="10/20/21"> + <opcode id="503e" name="OP_SendZonePoints" updated="11/17/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="4f68" name="OP_AAExpUpdate" updated="10/20/21"> + <opcode id="2b2d" name="OP_AAExpUpdate" updated="11/17/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7625" name="OP_ExpUpdate" updated="10/20/21"> + <opcode id="23eb" name="OP_ExpUpdate" updated="11/17/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="0dd4" name="OP_GuildMOTD" updated="10/20/21"> + <opcode id="1ae6" name="OP_GuildMOTD" updated="11/17/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="5fdd" name="OP_ClientUpdate" updated="10/20/21"> + <opcode id="4b86" name="OP_ClientUpdate" updated="11/17/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="022e" name="OP_NpcMoveUpdate" updated="10/20/21"> + <opcode id="3c74" name="OP_NpcMoveUpdate" updated="11/17/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7352" name="OP_MobUpdate" updated="10/20/21"> + <opcode id="3dcc" name="OP_MobUpdate" updated="11/17/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="4a42" name="OP_DeleteSpawn" updated="10/20/21"> + <opcode id="7a64" name="OP_DeleteSpawn" updated="11/17/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="02d6" name="OP_RemoveSpawn" updated="10/20/21"> + <opcode id="66b5" name="OP_RemoveSpawn" updated="11/17/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="542c" name="OP_Death" updated="10/20/21"> + <opcode id="72fb" name="OP_Death" updated="11/17/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="1bf5" name="OP_WearChange" updated="10/20/21"> + <opcode id="698b" name="OP_WearChange" updated="11/17/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5daf" name="OP_SpawnAppearance" updated="10/20/21"> + <opcode id="0f40" name="OP_SpawnAppearance" updated="11/17/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="05a8" name="OP_Stamina" updated="10/20/21"> + <opcode id="48c0" name="OP_Stamina" updated="11/17/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="0459" name="OP_HPUpdate" updated="10/20/21"> + <opcode id="6e70" name="OP_HPUpdate" updated="11/17/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="1c56" name="OP_GuildMemberUpdate" updated="10/20/21"> + <opcode id="1562" name="OP_GuildMemberUpdate" updated="11/17/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="640e" name="OP_ClickObject" updated="10/20/21"> + <opcode id="1b19" name="OP_ClickObject" updated="11/17/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="1cbd" name="OP_Action" updated="10/20/21"> + <opcode id="387b" name="OP_Action" updated="11/17/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="444a" name="OP_Action2" updated="10/20/21"> + <opcode id="6207" name="OP_Action2" updated="11/17/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="79fa" name="OP_Consider" updated="10/20/21"> + <opcode id="5916" name="OP_Consider" updated="11/17/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="7bd1" name="OP_TargetMouse" updated="10/20/21"> + <opcode id="6dc7" name="OP_TargetMouse" updated="11/17/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="0971" name="OP_SpawnRename" updated="10/20/21"> + <opcode id="5bea" name="OP_SpawnRename" updated="11/17/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="511d" name="OP_Illusion" updated="10/20/21"> + <opcode id="3a70" name="OP_Illusion" updated="11/17/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="76c1" name="OP_Shroud" updated="10/20/21"> + <opcode id="5f8c" name="OP_Shroud" updated="11/17/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="57cf" name="OP_ZoneChange" updated="10/20/21"> + <opcode id="746c" name="OP_ZoneChange" updated="11/17/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="1847" name="OP_Buff" updated="10/20/21"> + <opcode id="6fd7" name="OP_Buff" updated="11/17/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="1a5a" name="OP_BeginCast" updated="10/20/21"> + <opcode id="0933" name="OP_BeginCast" updated="11/17/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="3054" name="OP_CastSpell" updated="10/20/21"> + <opcode id="5e71" name="OP_CastSpell" updated="11/17/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="488f" name="OP_SwapSpell" updated="10/20/21"> + <opcode id="6a5a" name="OP_SwapSpell" updated="11/17/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="4b69" name="OP_MemorizeSpell" updated="10/20/21"> + <opcode id="3a26" name="OP_MemorizeSpell" updated="11/17/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="0eb7" name="OP_InspectAnswer" updated="10/20/21"> + <opcode id="4b23" name="OP_InspectAnswer" updated="11/17/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="5f8e" name="OP_Emote" updated="10/20/21"> + <opcode id="4b78" name="OP_Emote" updated="11/17/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="3f78" name="OP_SimpleMessage" updated="10/20/21"> + <opcode id="7299" name="OP_SimpleMessage" updated="11/17/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="75a8" name="OP_FormattedMessage" updated="10/20/21"> + <opcode id="3623" name="OP_FormattedMessage" updated="11/17/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="0416" name="OP_CommonMessage" updated="10/20/21"> + <opcode id="224b" name="OP_CommonMessage" updated="11/17/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6c32" name="OP_SpecialMesg" updated="10/20/21"> + <opcode id="1715" name="OP_SpecialMesg" updated="11/17/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="5640" name="OP_RandomReq" updated="10/20/21"> + <opcode id="085f" name="OP_RandomReq" updated="11/17/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="5d4a" name="OP_RandomReply" updated="10/20/21"> + <opcode id="3c00" name="OP_RandomReply" updated="11/17/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="1f3c" name="OP_ManaChange" updated="10/20/21"> + <opcode id="1b65" name="OP_ManaChange" updated="11/17/21"> <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="3563" name="OP_BazaarSearchRequest" updated="10/20/21"> + <opcode id="33a5" name="OP_BazaarSearchRequest" updated="11/17/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="58fd" name="OP_BazaarSearchResponse" updated="10/20/21"> + <opcode id="5ee0" name="OP_BazaarSearchResponse" updated="11/17/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="30a5" name="OP_MoneyOnCorpse" updated="10/20/21"> + <opcode id="77df" name="OP_MoneyOnCorpse" updated="11/17/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="1ef5" name="OP_SkillUpdate" updated="10/20/21"> + <opcode id="0645" name="OP_SkillUpdate" updated="11/17/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="5dc4" name="OP_LevelUpdate" updated="10/20/21"> + <opcode id="297c" name="OP_LevelUpdate" updated="11/17/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="11ac" name="OP_DzSwitchInfo" updated="10/20/21"> + <opcode id="6e46" name="OP_DzSwitchInfo" updated="11/17/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="10fa" name="OP_DzInfo" updated="10/20/21"> + <opcode id="26da" name="OP_DzInfo" updated="11/17/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="076e" name="OP_SetRunMode" updated="10/20/21"> + <opcode id="6435" name="OP_SetRunMode" updated="11/17/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="24b5" name="OP_Trader" updated="10/20/21"> + <opcode id="6607" name="OP_Trader" updated="11/17/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2e43" name="OP_GuildMemberList" updated="10/20/21"> + <opcode id="0a07" name="OP_GuildMemberList" updated="11/17/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5e85" name="OP_ManaUpdate" updated="10/20/21"> + <opcode id="7b36" name="OP_ManaUpdate" updated="11/17/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="34e3" name="OP_EndUpdate" updated="10/20/21"> + <opcode id="4625" name="OP_EndUpdate" updated="11/17/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5c63" name="OP_ExpandedGuildInfo" updated="10/20/21"> + <opcode id="75de" name="OP_ExpandedGuildInfo" updated="11/17/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="31f5" name="OP_GuildsInZoneList" updated="10/20/21"> + <opcode id="0ca1" name="OP_GuildsInZoneList" updated="11/17/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="24d2" name="OP_NewGuildInZone" updated="10/20/21"> + <opcode id="2d85" name="OP_NewGuildInZone" updated="11/17/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="03f4" name="OP_Find" updated="10/20/21"> + <opcode id="7218" name="OP_Find" updated="11/17/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2021-10-27 17:04:19 UTC (rev 1206) +++ showeq/trunk/configure.in 2021-11-17 20:28:56 UTC (rev 1207) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.7) +AC_INIT(showeq, 6.1.8) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2021-10-27 17:04:19 UTC (rev 1206) +++ showeq/trunk/src/everquest.h 2021-11-17 20:28:56 UTC (rev 1207) @@ -1113,27 +1113,27 @@ struct { - signed deltaY:13; // change in y - unsigned heading:12; // heading + signed deltaZ:13; // change in z + unsigned pitch:12; // pitch (up/down heading) unsigned padding00:7; signed deltaHeading:10; // change in heading + signed deltaY:13; // change in y + unsigned padding01:9; + + signed z:19; // z coord (3rd loc value) + signed deltaX:13; // change in x + signed x:19; // x coord (1st loc value) - unsigned padding01:3; + unsigned padding03:13; signed y:19; // y coord (2nd loc value) - unsigned padding02:13; + unsigned heading:12; // heading + unsigned padding04:1; - signed z:19; // z coord (3rd loc value) - signed deltaX:13; // change in x - - unsigned pitch:12; // pitch (up/down heading) signed animation:10; // current animation - unsigned padding04:10; + unsigned padding05:22; - signed deltaZ:13; // change in z - unsigned padding05:19; - }; int32_t posData[6]; }; @@ -2395,32 +2395,32 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed deltaY:13; // change in y - unsigned heading:12; // heading + signed deltaZ:13; // change in z + unsigned pitch:12; // pitch (up/down heading) unsigned padding00:7; /*0008*/ signed deltaHeading:10; // change in heading - signed x:19; // x coord (1st loc value) - unsigned padding01:3; + signed deltaY:13; // change in y + unsigned padding01:9; /*0012*/ - signed y:19; // y coord (2nd loc value) - unsigned padding02:13; -/*0016*/ signed z:19; // z coord (3rd loc value) signed deltaX:13; // change in x +/*0016*/ + signed x:19; // x coord (1st loc value) + unsigned padding03:13; /*0020*/ - unsigned pitch:12; // pitch (up/down heading) + signed y:19; // y coord (2nd loc value) + unsigned heading:12; // heading + unsigned padding04:1; +/*0024*/ signed animation:10; // current animation - unsigned padding04:10; -/*0024*/ - signed deltaZ:13; // change in z - unsigned padding05:19; + unsigned padding05:22; /*0028*/ }; /* ** Self Position Update -** Length: 46 Octets +** Length: 38 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2429,30 +2429,26 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - signed deltaHeading:10; // change in heading - unsigned padding00:22; + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned padding00:8; /*0010*/ - float z; // z coord (3rd loc value) + float deltaY; // change in y /*0014*/ - float deltaY; // change in y + signed deltaHeading:10; // change in heading + signed animation:10; // current animation + unsigned padding02:12; /*0018*/ + float x; // x coord (1st loc value) +/*0022*/ float deltaZ; // change in z -/*0022*/ +/*0026*/ float deltaX; // change in x -/*0026*/ - signed animation:10; // current animation - unsigned padding05:22; /*0030*/ - float x; // x coord (1st loc value) + float z; // z coord (3rd loc value) /*0034*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding07:20; + float y; // y coord (2nd loc value) /*0038*/ - float y; // y coord (2nd loc value) -/*0042*/ - unsigned heading:12; // heading - unsigned padding09:20; -/*0046*/ }; /* Modified: showeq/trunk/src/spawn.cpp =================================================================== --- showeq/trunk/src/spawn.cpp 2021-10-27 17:04:19 UTC (rev 1206) +++ showeq/trunk/src/spawn.cpp 2021-11-17 20:28:56 UTC (rev 1207) @@ -899,7 +899,7 @@ QString buff; buff.sprintf("Name:%s:Level:%d:Race:%s:Class:%s:NPC:%d:X:%d:Y:%d:Z:%d:" - "Light:%s:Deity:%s:RTeam:%d:DTeam:%d:Type:%s:LastName:%s:Guild:%s:", + "Light:%s:Deity:%s:RTeam:%d:DTeam:%d:Type:%s:LastName:%s:Guild:%s:Spawn:%s:", name.toUtf8().data(), level(), raceString().toUtf8().data(), @@ -912,7 +912,9 @@ deityTeam(), typeString().toUtf8().data(), lastName().toUtf8().data(), - guildTag().toUtf8().data()); + guildTag().toUtf8().data(), + spawnTimeStr ().replace (":", ".").toUtf8 ().data () + ); if (gm()) buff += QString("GM:") + QString::number(gm()) + ":"; Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2021-10-27 17:04:19 UTC (rev 1206) +++ showeq/trunk/src/spawnshell.cpp 2021-11-17 20:28:56 UTC (rev 1207) @@ -686,9 +686,10 @@ if(spawn->aura) // aura stuff { - netStream.readText(); // skip 2 variable len strings + netStream.readText(); // skip 3 variable len strings netStream.readText(); - netStream.skipBytes(54); // and 54 static bytes + netStream.readText(); + netStream.skipBytes(53); // and 53 static bytes } spawn->charProperties = netStream.readUInt8(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-10-27 17:04:21
|
Revision: 1206 http://sourceforge.net/p/seq/svn/1206 Author: cn187 Date: 2021-10-27 17:04:19 +0000 (Wed, 27 Oct 2021) Log Message: ----------- Adjust colors on load of SOE formatted map When an SOE formatted map is loaded, automatically adjust colors in the same way that colors were adjusted by the mapconvert script. This should make the SOE-formatted maps easier to see/read on SEQ's dark map background. Note: the original colors are preserved if the map is saved back to the SOE format after modification. Modified Paths: -------------- showeq/branches/cn187_devel/src/mapcore.cpp showeq/branches/cn187_devel/src/mapcore.h Modified: showeq/branches/cn187_devel/src/mapcore.cpp =================================================================== --- showeq/branches/cn187_devel/src/mapcore.cpp 2021-10-21 11:16:43 UTC (rev 1205) +++ showeq/branches/cn187_devel/src/mapcore.cpp 2021-10-27 17:04:19 UTC (rev 1206) @@ -1066,15 +1066,21 @@ if (!currentLineM || !currentLineM->point(checkPoint).isEqual(x2, y2, z2) || - (currentLineM->color().red() != r) || - (currentLineM->color().green() != g) || - (currentLineM->color().blue() != b)) + ( + ((currentLineM->color().red() != r) || + (currentLineM->color().green() != g) || + (currentLineM->color().blue() != b)) && + ((currentLineM->origColor().red() != r) || + (currentLineM->origColor().green() != g) || + (currentLineM->origColor().blue() != b)) + )) { numPoints = 0; // create an M line (start with 2 points because of SOE's lame // format). - currentLineM = new MapLineM("soe", QColor(r, g, b), 2); + currentLineM = new MapLineM("soe", getMapConvertColor(r, g, b), 2); + currentLineM->setOrigColor(QColor(r, g, b)); // set the first point currentLineM->setPoint(numPoints++, x2, y2, z2); @@ -1135,8 +1141,10 @@ name.replace("_", " "); // add it to the list of locations - layer->locations().append(new MapLocation(name, QColor(r, g, b), - x1, y1, z1)); + MapLocation* loc = new MapLocation(name, getMapConvertColor(r, g, b), + x1, y1, z1); + loc->setOrigColor(QColor(r, g, b)); + layer->locations().append(loc); // adjust map boundaries quickCheckPos(x1, y1); @@ -1323,7 +1331,7 @@ currentLineL = *mlit; z1 = float(currentLineL->z()); - const QColor& color = currentLineL->color(); + const QColor& color = currentLineL->origColor().isValid() ? currentLineL->color() : currentLineL->origColor(); r = color.red(); g = color.green(); b = color.blue(); @@ -1354,7 +1362,7 @@ for (; mmit != m_mapLayers[layerNum]->mLines().end(); ++mmit) { currentLineM = *mmit; - const QColor& color = currentLineM->color(); + const QColor& color = currentLineM->origColor().isValid() ? currentLineM->color() : currentLineM->origColor(); r = color.red(); g = color.green(); b = color.blue(); @@ -1382,7 +1390,7 @@ for (; lit != m_mapLayers[layerNum]->locations().end(); ++lit) { currentLoc = *lit; - const QColor& color = currentLoc->color(); + const QColor& color = currentLoc->origColor().isValid() ? currentLoc->color() : currentLoc->origColor(); // convert spaces to underscores name = currentLoc->name(); Modified: showeq/branches/cn187_devel/src/mapcore.h =================================================================== --- showeq/branches/cn187_devel/src/mapcore.h 2021-10-21 11:16:43 UTC (rev 1205) +++ showeq/branches/cn187_devel/src/mapcore.h 2021-10-27 17:04:19 UTC (rev 1206) @@ -406,15 +406,19 @@ const QString& name() const { return m_name; } const QColor& color() const { return m_color; } + const QColor& origColor() const { return m_origColor; } QString colorName() const; void setName(const QString& name) { m_name = name; } void setColor(const QString& color) { m_color = color; } + void setOrigColor(const QColor& color) { m_origColor = color; } + private: QString m_name; QString m_colorName; QColor m_color; + QColor m_origColor; }; inline QString MapCommon::colorName() const @@ -727,4 +731,85 @@ (z >= floorRoom)); } +inline QString getMapConvertColor(const unsigned short r, const unsigned short g, + const unsigned short b) +{ + //adjust, convert, and return colors based on Razzle's original mapconvert script + //This adjusts the SOE map colors to colors that work for SEQs default color scheme + + QString sColor[64] = { + "Black", //0 + "DarkRed", //1 + "FireBrick", //2 + "Red", //3 + "DarkGreen", //4 + "Orange", //5 + "DarkOrange", //6 + "DarkOrange", //7 + "Green", //8 + "Chartreuse", //9 + "Gold", //10 + "Gold", //11 + "Green", //12 + "Chartreuse", //13 + "Goldenrod", //14 + "Yellow", //15 + "DarkBlue", //16 + "Magenta", //17 + "DeepPink", //18 + "DeepPink", //19 + "DarkCyan", //20 + "Grey", //21 + "IndianRed", //22 + "LightCoral", //23 + "SpringGreen", //24 + "LightGreen", //25 + "DarkKhaki", //26 + "Khaki", //27 + "SpringGreen", //28 + "PaleGreen", //29 + "DarkOliveGreen",//30 + "Khaki", //31 + "MediumBlue", //32 + "DarkViolet", //33 + "Magenta", //34 + "Maroon", //35 + "RoyalBlue", //36 + "SlateBlue", //37 + "Orchid", //38 + "HotPink", //39 + "Turquoise", //40 + "SkyBlue", //41 + "Snow", //42 + "LightPink", //43 + "Cyan", //44 + "Aquamarine", //45 + "DarkSeaGreen", //46 + "Beige", //47 + "Blue", //48 + "Purple", //49 + "Purple", //50 + "Magenta", //51 + "DodgerBlue", //52 + "SlateBlue", //53 + "MediumPurple", //54 + "Orchid", //55 + "DeepSkyBlue", //56 + "LightBlue", //57 + "Plum", //58 + "Cyan", //59 + "CadetBlue", //60 + "PaleTurquoise",//61 + "LightCyan", //62 + "White" //63 + }; + + unsigned short color = floor(r/80) + floor(g/80)*4 + floor(b/80)*16; + + if (color == 0) return sColor[63]; + + return sColor[color]; +} + + #endif // _MAPCORE_H This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-10-21 11:16:45
|
Revision: 1205 http://sourceforge.net/p/seq/svn/1205 Author: cn187 Date: 2021-10-21 11:16:43 +0000 (Thu, 21 Oct 2021) Log Message: ----------- Release 6.1.7 - Updated version to 6.1.7 - Support for EQ patch 10/20/21 - Struct and opcode updates (Newby, cn187) Modified Paths: -------------- showeq/branches/cn187_devel/ChangeLog showeq/branches/cn187_devel/conf/zoneopcodes.xml showeq/branches/cn187_devel/configure.in showeq/branches/cn187_devel/src/everquest.h Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2021-10-21 10:56:54 UTC (rev 1204) +++ showeq/branches/cn187_devel/ChangeLog 2021-10-21 11:16:43 UTC (rev 1205) @@ -1,3 +1,9 @@ +cn187 (10/21/21) +---------------- +- Update to version 6.1.7 +- Support for EQ patch 10/20/21 +- Opcode and struct changes (Newby, cn187) + cn187 (09/17/21) ---------------- - Update to version 6.1.6 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-10-21 10:56:54 UTC (rev 1204) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-10-21 11:16:43 UTC (rev 1205) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="39c7" name="OP_PlayerProfile" updated="09/15/21"> + <opcode id="21ba" name="OP_PlayerProfile" updated="10/20/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="16b8" name="OP_ZoneEntry" updated="09/15/21"> + <opcode id="1033" name="OP_ZoneEntry" updated="10/20/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7cbd" name="OP_TimeOfDay" updated="09/15/21"> + <opcode id="45fc" name="OP_TimeOfDay" updated="10/20/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="1179" name="OP_NewZone" updated="09/15/21"> + <opcode id="25dd" name="OP_NewZone" updated="10/20/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="631c" name="OP_SpawnDoor" updated="09/15/21"> + <opcode id="66bc" name="OP_SpawnDoor" updated="10/20/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="2493" name="OP_GroundSpawn" updated="09/15/21"> + <opcode id="7c39" name="OP_GroundSpawn" updated="10/20/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="42e8" name="OP_SendZonePoints" updated="09/15/21"> + <opcode id="0343" name="OP_SendZonePoints" updated="10/20/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="1f27" name="OP_AAExpUpdate" updated="09/15/21"> + <opcode id="4f68" name="OP_AAExpUpdate" updated="10/20/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="08ef" name="OP_ExpUpdate" updated="09/15/21"> + <opcode id="7625" name="OP_ExpUpdate" updated="10/20/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2155" name="OP_GuildMOTD" updated="09/15/21"> + <opcode id="0dd4" name="OP_GuildMOTD" updated="10/20/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="08df" name="OP_ClientUpdate" updated="09/15/21"> + <opcode id="5fdd" name="OP_ClientUpdate" updated="10/20/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="1338" name="OP_NpcMoveUpdate" updated="09/15/21"> + <opcode id="022e" name="OP_NpcMoveUpdate" updated="10/20/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1d7b" name="OP_MobUpdate" updated="09/15/21"> + <opcode id="7352" name="OP_MobUpdate" updated="10/20/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="2774" name="OP_DeleteSpawn" updated="09/15/21"> + <opcode id="4a42" name="OP_DeleteSpawn" updated="10/20/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="7f5d" name="OP_RemoveSpawn" updated="09/15/21"> + <opcode id="02d6" name="OP_RemoveSpawn" updated="10/20/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="1ab4" name="OP_Death" updated="09/15/21"> + <opcode id="542c" name="OP_Death" updated="10/20/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="1333" name="OP_WearChange" updated="09/15/21"> + <opcode id="1bf5" name="OP_WearChange" updated="10/20/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7fb4" name="OP_SpawnAppearance" updated="09/15/21"> + <opcode id="5daf" name="OP_SpawnAppearance" updated="10/20/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="44a5" name="OP_Stamina" updated="09/15/21"> + <opcode id="05a8" name="OP_Stamina" updated="10/20/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="2e75" name="OP_HPUpdate" updated="09/15/21"> + <opcode id="0459" name="OP_HPUpdate" updated="10/20/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5f28" name="OP_GuildMemberUpdate" updated="09/15/21"> + <opcode id="1c56" name="OP_GuildMemberUpdate" updated="10/20/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="346f" name="OP_ClickObject" updated="09/15/21"> + <opcode id="640e" name="OP_ClickObject" updated="10/20/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="3bba" name="OP_Action" updated="09/15/21"> + <opcode id="1cbd" name="OP_Action" updated="10/20/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="45fe" name="OP_Action2" updated="09/15/21"> + <opcode id="444a" name="OP_Action2" updated="10/20/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="6257" name="OP_Consider" updated="09/15/21"> + <opcode id="79fa" name="OP_Consider" updated="10/20/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="53f4" name="OP_TargetMouse" updated="09/15/21"> + <opcode id="7bd1" name="OP_TargetMouse" updated="10/20/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="2a20" name="OP_SpawnRename" updated="09/15/21"> + <opcode id="0971" name="OP_SpawnRename" updated="10/20/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="72fd" name="OP_Illusion" updated="09/15/21"> + <opcode id="511d" name="OP_Illusion" updated="10/20/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="21ab" name="OP_Shroud" updated="09/15/21"> + <opcode id="76c1" name="OP_Shroud" updated="10/20/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="2562" name="OP_ZoneChange" updated="09/15/21"> + <opcode id="57cf" name="OP_ZoneChange" updated="10/20/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="605a" name="OP_Buff" updated="09/15/21"> + <opcode id="1847" name="OP_Buff" updated="10/20/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="1658" name="OP_BeginCast" updated="09/15/21"> + <opcode id="1a5a" name="OP_BeginCast" updated="10/20/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="e222" name="OP_CastSpell" updated="09/15/21"> + <opcode id="3054" name="OP_CastSpell" updated="10/20/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="22ac" name="OP_SwapSpell" updated="09/15/21"> + <opcode id="488f" name="OP_SwapSpell" updated="10/20/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="5b54" name="OP_MemorizeSpell" updated="09/15/21"> + <opcode id="4b69" name="OP_MemorizeSpell" updated="10/20/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="221f" name="OP_InspectAnswer" updated="09/15/21"> + <opcode id="0eb7" name="OP_InspectAnswer" updated="10/20/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="425f" name="OP_Emote" updated="09/15/21"> + <opcode id="5f8e" name="OP_Emote" updated="10/20/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="192d" name="OP_SimpleMessage" updated="09/15/21"> + <opcode id="3f78" name="OP_SimpleMessage" updated="10/20/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="61dd" name="OP_FormattedMessage" updated="09/15/21"> + <opcode id="75a8" name="OP_FormattedMessage" updated="10/20/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6fb1" name="OP_CommonMessage" updated="09/15/21"> + <opcode id="0416" name="OP_CommonMessage" updated="10/20/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="13ea" name="OP_SpecialMesg" updated="09/15/21"> + <opcode id="6c32" name="OP_SpecialMesg" updated="10/20/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6ce6" name="OP_RandomReq" updated="09/15/21"> + <opcode id="5640" name="OP_RandomReq" updated="10/20/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="3bbd" name="OP_RandomReply" updated="09/15/21"> + <opcode id="5d4a" name="OP_RandomReply" updated="10/20/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="4788" name="OP_ManaChange" updated="09/15/21"> + <opcode id="1f3c" name="OP_ManaChange" updated="10/20/21"> <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="590f" name="OP_BazaarSearchRequest" updated="09/15/21"> + <opcode id="3563" name="OP_BazaarSearchRequest" updated="10/20/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="7835" name="OP_BazaarSearchResponse" updated="09/15/21"> + <opcode id="58fd" name="OP_BazaarSearchResponse" updated="10/20/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="03ce" name="OP_MoneyOnCorpse" updated="09/15/21"> + <opcode id="30a5" name="OP_MoneyOnCorpse" updated="10/20/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="52c0" name="OP_SkillUpdate" updated="09/15/21"> + <opcode id="1ef5" name="OP_SkillUpdate" updated="10/20/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="5bb1" name="OP_LevelUpdate" updated="09/15/21"> + <opcode id="5dc4" name="OP_LevelUpdate" updated="10/20/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5c14" name="OP_DzSwitchInfo" updated="09/15/21"> + <opcode id="11ac" name="OP_DzSwitchInfo" updated="10/20/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="7390" name="OP_DzInfo" updated="09/15/21"> + <opcode id="10fa" name="OP_DzInfo" updated="10/20/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="5404" name="OP_SetRunMode" updated="09/15/21"> + <opcode id="076e" name="OP_SetRunMode" updated="10/20/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="7253" name="OP_Trader" updated="09/15/21"> + <opcode id="24b5" name="OP_Trader" updated="10/20/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="032d" name="OP_GuildMemberList" updated="09/15/21"> + <opcode id="2e43" name="OP_GuildMemberList" updated="10/20/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7466" name="OP_ManaUpdate" updated="09/15/21"> + <opcode id="5e85" name="OP_ManaUpdate" updated="10/20/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="37a0" name="OP_EndUpdate" updated="09/15/21"> + <opcode id="34e3" name="OP_EndUpdate" updated="10/20/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="63c6" name="OP_ExpandedGuildInfo" updated="09/15/21"> + <opcode id="5c63" name="OP_ExpandedGuildInfo" updated="10/20/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6558" name="OP_GuildsInZoneList" updated="09/15/21"> + <opcode id="31f5" name="OP_GuildsInZoneList" updated="10/20/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="0473" name="OP_NewGuildInZone" updated="09/15/21"> + <opcode id="24d2" name="OP_NewGuildInZone" updated="10/20/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="625c" name="OP_Find" updated="09/15/21"> + <opcode id="03f4" name="OP_Find" updated="10/20/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/branches/cn187_devel/configure.in =================================================================== --- showeq/branches/cn187_devel/configure.in 2021-10-21 10:56:54 UTC (rev 1204) +++ showeq/branches/cn187_devel/configure.in 2021-10-21 11:16:43 UTC (rev 1205) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.6) +AC_INIT(showeq, 6.1.7) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2021-10-21 10:56:54 UTC (rev 1204) +++ showeq/branches/cn187_devel/src/everquest.h 2021-10-21 11:16:43 UTC (rev 1205) @@ -1115,28 +1115,29 @@ struct { - signed deltaX:13; // change in x + signed deltaY:13; // change in y + unsigned heading:12; // heading + unsigned padding00:7; + signed deltaHeading:10; // change in heading - unsigned padding00:9; + signed x:19; // x coord (1st loc value) + unsigned padding01:3; signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading - unsigned padding01:1; + unsigned padding02:13; - signed deltaZ:13; // change in z - signed deltaY:13; // change in y - unsigned padding02:6; - signed z:19; // z coord (3rd loc value) - signed animation:10; // current animation - unsigned padding03:3; + signed deltaX:13; // change in x unsigned pitch:12; // pitch (up/down heading) - signed x:19; // x coord (1st loc value) - unsigned padding04:1; + signed animation:10; // current animation + unsigned padding04:10; + signed deltaZ:13; // change in z + unsigned padding05:19; + }; - int32_t posData[5]; + int32_t posData[6]; }; /*0000*/ union @@ -2388,7 +2389,7 @@ /* ** Player Position Update -** Length: 24 Octets +** Length: 28 Octets ** OpCode: PlayerPosCode */ struct playerSpawnPosStruct @@ -2396,31 +2397,32 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed deltaX:13; // change in x + signed deltaY:13; // change in y + unsigned heading:12; // heading + unsigned padding00:7; +/*0008*/ signed deltaHeading:10; // change in heading - unsigned padding00:9; -/*0008*/ + signed x:19; // x coord (1st loc value) + unsigned padding01:3; +/*0012*/ signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading - unsigned padding01:1; -/*0012*/ - signed deltaZ:13; // change in z - signed deltaY:13; // change in y - unsigned padding02:6; + unsigned padding02:13; /*0016*/ signed z:19; // z coord (3rd loc value) - signed animation:10; // current animation - unsigned padding03:3; + signed deltaX:13; // change in x /*0020*/ unsigned pitch:12; // pitch (up/down heading) - signed x:19; // x coord (1st loc value) - unsigned padding04:1; + signed animation:10; // current animation + unsigned padding04:10; /*0024*/ + signed deltaZ:13; // change in z + unsigned padding05:19; +/*0028*/ }; /* ** Self Position Update -** Length: 38 Octets +** Length: 46 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2429,25 +2431,30 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float x; // x coord (1st loc value) + signed deltaHeading:10; // change in heading + unsigned padding00:22; /*0010*/ + float z; // z coord (3rd loc value) +/*0014*/ float deltaY; // change in y -/*0014*/ - float deltaX; // change in x /*0018*/ - float z; // z coord (3rd loc value) + float deltaZ; // change in z /*0022*/ - unsigned heading:12; // heading - signed deltaHeading:10; // change in heading + float deltaX; // change in x +/*0026*/ signed animation:10; // current animation -/*0026*/ - float y; // y coord (2nd loc value) + unsigned padding05:22; /*0030*/ + float x; // x coord (1st loc value) +/*0034*/ unsigned pitch:12; // pitch (up/down heading) - unsigned padding06:20; -/*0034*/ - float deltaZ; // change in z + unsigned padding07:20; /*0038*/ + float y; // y coord (2nd loc value) +/*0042*/ + unsigned heading:12; // heading + unsigned padding09:20; +/*0046*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-10-21 10:56:56
|
Revision: 1204 http://sourceforge.net/p/seq/svn/1204 Author: cn187 Date: 2021-10-21 10:56:54 +0000 (Thu, 21 Oct 2021) Log Message: ----------- Tag for release 6.1.7 Added Paths: ----------- showeq/tags/v6_1_7/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-10-21 10:54:43
|
Revision: 1203 http://sourceforge.net/p/seq/svn/1203 Author: cn187 Date: 2021-10-21 10:54:40 +0000 (Thu, 21 Oct 2021) Log Message: ----------- Release 6.1.7 - Updated version to 6.1.7 - Support for EQ patch 10/20/21 - Struct and opcode updates (Newby, cn187) Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2021-09-17 11:33:06 UTC (rev 1202) +++ showeq/trunk/ChangeLog 2021-10-21 10:54:40 UTC (rev 1203) @@ -1,3 +1,9 @@ +cn187 (10/21/21) +---------------- +- Update to version 6.1.7 +- Support for EQ patch 10/20/21 +- Opcode and struct changes (Newby, cn187) + cn187 (09/17/21) ---------------- - Update to version 6.1.6 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2021-09-17 11:33:06 UTC (rev 1202) +++ showeq/trunk/conf/zoneopcodes.xml 2021-10-21 10:54:40 UTC (rev 1203) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="39c7" name="OP_PlayerProfile" updated="09/15/21"> + <opcode id="21ba" name="OP_PlayerProfile" updated="10/20/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="16b8" name="OP_ZoneEntry" updated="09/15/21"> + <opcode id="1033" name="OP_ZoneEntry" updated="10/20/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7cbd" name="OP_TimeOfDay" updated="09/15/21"> + <opcode id="45fc" name="OP_TimeOfDay" updated="10/20/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="1179" name="OP_NewZone" updated="09/15/21"> + <opcode id="25dd" name="OP_NewZone" updated="10/20/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="631c" name="OP_SpawnDoor" updated="09/15/21"> + <opcode id="66bc" name="OP_SpawnDoor" updated="10/20/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="2493" name="OP_GroundSpawn" updated="09/15/21"> + <opcode id="7c39" name="OP_GroundSpawn" updated="10/20/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="42e8" name="OP_SendZonePoints" updated="09/15/21"> + <opcode id="0343" name="OP_SendZonePoints" updated="10/20/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="1f27" name="OP_AAExpUpdate" updated="09/15/21"> + <opcode id="4f68" name="OP_AAExpUpdate" updated="10/20/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="08ef" name="OP_ExpUpdate" updated="09/15/21"> + <opcode id="7625" name="OP_ExpUpdate" updated="10/20/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2155" name="OP_GuildMOTD" updated="09/15/21"> + <opcode id="0dd4" name="OP_GuildMOTD" updated="10/20/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="08df" name="OP_ClientUpdate" updated="09/15/21"> + <opcode id="5fdd" name="OP_ClientUpdate" updated="10/20/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="1338" name="OP_NpcMoveUpdate" updated="09/15/21"> + <opcode id="022e" name="OP_NpcMoveUpdate" updated="10/20/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1d7b" name="OP_MobUpdate" updated="09/15/21"> + <opcode id="7352" name="OP_MobUpdate" updated="10/20/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="2774" name="OP_DeleteSpawn" updated="09/15/21"> + <opcode id="4a42" name="OP_DeleteSpawn" updated="10/20/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="7f5d" name="OP_RemoveSpawn" updated="09/15/21"> + <opcode id="02d6" name="OP_RemoveSpawn" updated="10/20/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="1ab4" name="OP_Death" updated="09/15/21"> + <opcode id="542c" name="OP_Death" updated="10/20/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="1333" name="OP_WearChange" updated="09/15/21"> + <opcode id="1bf5" name="OP_WearChange" updated="10/20/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7fb4" name="OP_SpawnAppearance" updated="09/15/21"> + <opcode id="5daf" name="OP_SpawnAppearance" updated="10/20/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="44a5" name="OP_Stamina" updated="09/15/21"> + <opcode id="05a8" name="OP_Stamina" updated="10/20/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="2e75" name="OP_HPUpdate" updated="09/15/21"> + <opcode id="0459" name="OP_HPUpdate" updated="10/20/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5f28" name="OP_GuildMemberUpdate" updated="09/15/21"> + <opcode id="1c56" name="OP_GuildMemberUpdate" updated="10/20/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="346f" name="OP_ClickObject" updated="09/15/21"> + <opcode id="640e" name="OP_ClickObject" updated="10/20/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="3bba" name="OP_Action" updated="09/15/21"> + <opcode id="1cbd" name="OP_Action" updated="10/20/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="45fe" name="OP_Action2" updated="09/15/21"> + <opcode id="444a" name="OP_Action2" updated="10/20/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="6257" name="OP_Consider" updated="09/15/21"> + <opcode id="79fa" name="OP_Consider" updated="10/20/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="53f4" name="OP_TargetMouse" updated="09/15/21"> + <opcode id="7bd1" name="OP_TargetMouse" updated="10/20/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="2a20" name="OP_SpawnRename" updated="09/15/21"> + <opcode id="0971" name="OP_SpawnRename" updated="10/20/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="72fd" name="OP_Illusion" updated="09/15/21"> + <opcode id="511d" name="OP_Illusion" updated="10/20/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="21ab" name="OP_Shroud" updated="09/15/21"> + <opcode id="76c1" name="OP_Shroud" updated="10/20/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="2562" name="OP_ZoneChange" updated="09/15/21"> + <opcode id="57cf" name="OP_ZoneChange" updated="10/20/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="605a" name="OP_Buff" updated="09/15/21"> + <opcode id="1847" name="OP_Buff" updated="10/20/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="1658" name="OP_BeginCast" updated="09/15/21"> + <opcode id="1a5a" name="OP_BeginCast" updated="10/20/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="e222" name="OP_CastSpell" updated="09/15/21"> + <opcode id="3054" name="OP_CastSpell" updated="10/20/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="22ac" name="OP_SwapSpell" updated="09/15/21"> + <opcode id="488f" name="OP_SwapSpell" updated="10/20/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="5b54" name="OP_MemorizeSpell" updated="09/15/21"> + <opcode id="4b69" name="OP_MemorizeSpell" updated="10/20/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="221f" name="OP_InspectAnswer" updated="09/15/21"> + <opcode id="0eb7" name="OP_InspectAnswer" updated="10/20/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="425f" name="OP_Emote" updated="09/15/21"> + <opcode id="5f8e" name="OP_Emote" updated="10/20/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="192d" name="OP_SimpleMessage" updated="09/15/21"> + <opcode id="3f78" name="OP_SimpleMessage" updated="10/20/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="61dd" name="OP_FormattedMessage" updated="09/15/21"> + <opcode id="75a8" name="OP_FormattedMessage" updated="10/20/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6fb1" name="OP_CommonMessage" updated="09/15/21"> + <opcode id="0416" name="OP_CommonMessage" updated="10/20/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="13ea" name="OP_SpecialMesg" updated="09/15/21"> + <opcode id="6c32" name="OP_SpecialMesg" updated="10/20/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="6ce6" name="OP_RandomReq" updated="09/15/21"> + <opcode id="5640" name="OP_RandomReq" updated="10/20/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="3bbd" name="OP_RandomReply" updated="09/15/21"> + <opcode id="5d4a" name="OP_RandomReply" updated="10/20/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="4788" name="OP_ManaChange" updated="09/15/21"> + <opcode id="1f3c" name="OP_ManaChange" updated="10/20/21"> <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="590f" name="OP_BazaarSearchRequest" updated="09/15/21"> + <opcode id="3563" name="OP_BazaarSearchRequest" updated="10/20/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="7835" name="OP_BazaarSearchResponse" updated="09/15/21"> + <opcode id="58fd" name="OP_BazaarSearchResponse" updated="10/20/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="03ce" name="OP_MoneyOnCorpse" updated="09/15/21"> + <opcode id="30a5" name="OP_MoneyOnCorpse" updated="10/20/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="52c0" name="OP_SkillUpdate" updated="09/15/21"> + <opcode id="1ef5" name="OP_SkillUpdate" updated="10/20/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="5bb1" name="OP_LevelUpdate" updated="09/15/21"> + <opcode id="5dc4" name="OP_LevelUpdate" updated="10/20/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5c14" name="OP_DzSwitchInfo" updated="09/15/21"> + <opcode id="11ac" name="OP_DzSwitchInfo" updated="10/20/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="7390" name="OP_DzInfo" updated="09/15/21"> + <opcode id="10fa" name="OP_DzInfo" updated="10/20/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="5404" name="OP_SetRunMode" updated="09/15/21"> + <opcode id="076e" name="OP_SetRunMode" updated="10/20/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="7253" name="OP_Trader" updated="09/15/21"> + <opcode id="24b5" name="OP_Trader" updated="10/20/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="032d" name="OP_GuildMemberList" updated="09/15/21"> + <opcode id="2e43" name="OP_GuildMemberList" updated="10/20/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7466" name="OP_ManaUpdate" updated="09/15/21"> + <opcode id="5e85" name="OP_ManaUpdate" updated="10/20/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="37a0" name="OP_EndUpdate" updated="09/15/21"> + <opcode id="34e3" name="OP_EndUpdate" updated="10/20/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="63c6" name="OP_ExpandedGuildInfo" updated="09/15/21"> + <opcode id="5c63" name="OP_ExpandedGuildInfo" updated="10/20/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6558" name="OP_GuildsInZoneList" updated="09/15/21"> + <opcode id="31f5" name="OP_GuildsInZoneList" updated="10/20/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="0473" name="OP_NewGuildInZone" updated="09/15/21"> + <opcode id="24d2" name="OP_NewGuildInZone" updated="10/20/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="625c" name="OP_Find" updated="09/15/21"> + <opcode id="03f4" name="OP_Find" updated="10/20/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2021-09-17 11:33:06 UTC (rev 1202) +++ showeq/trunk/configure.in 2021-10-21 10:54:40 UTC (rev 1203) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.6) +AC_INIT(showeq, 6.1.7) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2021-09-17 11:33:06 UTC (rev 1202) +++ showeq/trunk/src/everquest.h 2021-10-21 10:54:40 UTC (rev 1203) @@ -1113,28 +1113,29 @@ struct { - signed deltaX:13; // change in x + signed deltaY:13; // change in y + unsigned heading:12; // heading + unsigned padding00:7; + signed deltaHeading:10; // change in heading - unsigned padding00:9; + signed x:19; // x coord (1st loc value) + unsigned padding01:3; signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading - unsigned padding01:1; + unsigned padding02:13; - signed deltaZ:13; // change in z - signed deltaY:13; // change in y - unsigned padding02:6; - signed z:19; // z coord (3rd loc value) - signed animation:10; // current animation - unsigned padding03:3; + signed deltaX:13; // change in x unsigned pitch:12; // pitch (up/down heading) - signed x:19; // x coord (1st loc value) - unsigned padding04:1; + signed animation:10; // current animation + unsigned padding04:10; + signed deltaZ:13; // change in z + unsigned padding05:19; + }; - int32_t posData[5]; + int32_t posData[6]; }; /*0000*/ union @@ -2386,7 +2387,7 @@ /* ** Player Position Update -** Length: 24 Octets +** Length: 28 Octets ** OpCode: PlayerPosCode */ struct playerSpawnPosStruct @@ -2394,31 +2395,32 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - signed deltaX:13; // change in x + signed deltaY:13; // change in y + unsigned heading:12; // heading + unsigned padding00:7; +/*0008*/ signed deltaHeading:10; // change in heading - unsigned padding00:9; -/*0008*/ + signed x:19; // x coord (1st loc value) + unsigned padding01:3; +/*0012*/ signed y:19; // y coord (2nd loc value) - unsigned heading:12; // heading - unsigned padding01:1; -/*0012*/ - signed deltaZ:13; // change in z - signed deltaY:13; // change in y - unsigned padding02:6; + unsigned padding02:13; /*0016*/ signed z:19; // z coord (3rd loc value) - signed animation:10; // current animation - unsigned padding03:3; + signed deltaX:13; // change in x /*0020*/ unsigned pitch:12; // pitch (up/down heading) - signed x:19; // x coord (1st loc value) - unsigned padding04:1; + signed animation:10; // current animation + unsigned padding04:10; /*0024*/ + signed deltaZ:13; // change in z + unsigned padding05:19; +/*0028*/ }; /* ** Self Position Update -** Length: 38 Octets +** Length: 46 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2427,25 +2429,30 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float x; // x coord (1st loc value) + signed deltaHeading:10; // change in heading + unsigned padding00:22; /*0010*/ + float z; // z coord (3rd loc value) +/*0014*/ float deltaY; // change in y -/*0014*/ - float deltaX; // change in x /*0018*/ - float z; // z coord (3rd loc value) + float deltaZ; // change in z /*0022*/ - unsigned heading:12; // heading - signed deltaHeading:10; // change in heading + float deltaX; // change in x +/*0026*/ signed animation:10; // current animation -/*0026*/ - float y; // y coord (2nd loc value) + unsigned padding05:22; /*0030*/ + float x; // x coord (1st loc value) +/*0034*/ unsigned pitch:12; // pitch (up/down heading) - unsigned padding06:20; -/*0034*/ - float deltaZ; // change in z + unsigned padding07:20; /*0038*/ + float y; // y coord (2nd loc value) +/*0042*/ + unsigned heading:12; // heading + unsigned padding09:20; +/*0046*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-09-17 11:33:09
|
Revision: 1202 http://sourceforge.net/p/seq/svn/1202 Author: cn187 Date: 2021-09-17 11:33:06 +0000 (Fri, 17 Sep 2021) Log Message: ----------- Release 6.1.6 - Update to version 6.1.6 - Support for EQ patch 09/15/21 - Opcode and struct changes (Newby, cn187) Modified Paths: -------------- showeq/branches/cn187_devel/ChangeLog showeq/branches/cn187_devel/conf/zoneopcodes.xml showeq/branches/cn187_devel/configure.in showeq/branches/cn187_devel/src/everquest.h Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2021-09-17 11:26:42 UTC (rev 1201) +++ showeq/branches/cn187_devel/ChangeLog 2021-09-17 11:33:06 UTC (rev 1202) @@ -1,3 +1,9 @@ +cn187 (09/17/21) +---------------- +- Update to version 6.1.6 +- Support for EQ patch 09/15/21 +- Opcode and struct changes (Newby, cn187) + cn187 (08/20/21) ---------------- - Update to version 6.1.5 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-09-17 11:26:42 UTC (rev 1201) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-09-17 11:33:06 UTC (rev 1202) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="0d4d" name="OP_PlayerProfile" updated="08/18/21"> + <opcode id="39c7" name="OP_PlayerProfile" updated="09/15/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4b8c" name="OP_ZoneEntry" updated="08/18/21"> + <opcode id="16b8" name="OP_ZoneEntry" updated="09/15/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="77f5" name="OP_TimeOfDay" updated="08/18/21"> + <opcode id="7cbd" name="OP_TimeOfDay" updated="09/15/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="1f68" name="OP_NewZone" updated="08/18/21"> + <opcode id="1179" name="OP_NewZone" updated="09/15/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="2600" name="OP_SpawnDoor" updated="08/18/21"> + <opcode id="631c" name="OP_SpawnDoor" updated="09/15/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="7349" name="OP_GroundSpawn" updated="08/18/21"> + <opcode id="2493" name="OP_GroundSpawn" updated="09/15/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="50dd" name="OP_SendZonePoints" updated="08/18/21"> + <opcode id="42e8" name="OP_SendZonePoints" updated="09/15/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="42b0" name="OP_AAExpUpdate" updated="08/18/21"> + <opcode id="1f27" name="OP_AAExpUpdate" updated="09/15/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2f52" name="OP_ExpUpdate" updated="08/20/21"> + <opcode id="08ef" name="OP_ExpUpdate" updated="09/15/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="48a0" name="OP_GuildMOTD" updated="08/18/21"> + <opcode id="2155" name="OP_GuildMOTD" updated="09/15/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="5ee6" name="OP_ClientUpdate" updated="08/18/21"> + <opcode id="08df" name="OP_ClientUpdate" updated="09/15/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="2316" name="OP_NpcMoveUpdate" updated="08/18/21"> + <opcode id="1338" name="OP_NpcMoveUpdate" updated="09/15/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="35f8" name="OP_MobUpdate" updated="08/18/21"> + <opcode id="1d7b" name="OP_MobUpdate" updated="09/15/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="6fb8" name="OP_DeleteSpawn" updated="08/18/21"> + <opcode id="2774" name="OP_DeleteSpawn" updated="09/15/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="66b1" name="OP_RemoveSpawn" updated="08/18/21"> + <opcode id="7f5d" name="OP_RemoveSpawn" updated="09/15/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="1967" name="OP_Death" updated="08/18/21"> + <opcode id="1ab4" name="OP_Death" updated="09/15/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="640a" name="OP_WearChange" updated="08/18/21"> + <opcode id="1333" name="OP_WearChange" updated="09/15/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="1516" name="OP_SpawnAppearance" updated="08/18/21"> + <opcode id="7fb4" name="OP_SpawnAppearance" updated="09/15/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="022c" name="OP_Stamina" updated="08/20/21"> + <opcode id="44a5" name="OP_Stamina" updated="09/15/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="51f6" name="OP_HPUpdate" updated="08/20/21"> + <opcode id="2e75" name="OP_HPUpdate" updated="09/15/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="6010" name="OP_GuildMemberUpdate" updated="08/18/21"> + <opcode id="5f28" name="OP_GuildMemberUpdate" updated="09/15/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="0a1d" name="OP_ClickObject" updated="08/18/21"> + <opcode id="346f" name="OP_ClickObject" updated="09/15/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="1ee7" name="OP_Action" updated="08/18/21"> + <opcode id="3bba" name="OP_Action" updated="09/15/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="2116" name="OP_Action2" updated="08/18/21"> + <opcode id="45fe" name="OP_Action2" updated="09/15/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="1810" name="OP_Consider" updated="08/18/21"> + <opcode id="6257" name="OP_Consider" updated="09/15/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="3fff" name="OP_TargetMouse" updated="08/18/21"> + <opcode id="53f4" name="OP_TargetMouse" updated="09/15/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="6d3d" name="OP_SpawnRename" updated="08/20/21"> + <opcode id="2a20" name="OP_SpawnRename" updated="09/15/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="5ece" name="OP_Illusion" updated="08/20/21"> + <opcode id="72fd" name="OP_Illusion" updated="09/15/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="09bc" name="OP_Shroud" updated="08/20/21"> + <opcode id="21ab" name="OP_Shroud" updated="09/15/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="613d" name="OP_ZoneChange" updated="08/18/21"> + <opcode id="2562" name="OP_ZoneChange" updated="09/15/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="7512" name="OP_Buff" updated="08/20/21"> + <opcode id="605a" name="OP_Buff" updated="09/15/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="0d4b" name="OP_BeginCast" updated="08/20/21"> + <opcode id="1658" name="OP_BeginCast" updated="09/15/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="71bb" name="OP_CastSpell" updated="08/20/21"> + <opcode id="e222" name="OP_CastSpell" updated="09/15/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="1e24" name="OP_SwapSpell" updated="08/20/21"> + <opcode id="22ac" name="OP_SwapSpell" updated="09/15/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="3934" name="OP_MemorizeSpell" updated="08/20/21"> + <opcode id="5b54" name="OP_MemorizeSpell" updated="09/15/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="71f6" name="OP_InspectAnswer" updated="08/20/21"> + <opcode id="221f" name="OP_InspectAnswer" updated="09/15/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="2e95" name="OP_Emote" updated="08/20/21"> + <opcode id="425f" name="OP_Emote" updated="09/15/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="71d3" name="OP_SimpleMessage" updated="08/18/21"> + <opcode id="192d" name="OP_SimpleMessage" updated="09/15/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="7814" name="OP_FormattedMessage" updated="08/18/21"> + <opcode id="61dd" name="OP_FormattedMessage" updated="09/15/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="0c07" name="OP_CommonMessage" updated="08/18/21"> + <opcode id="6fb1" name="OP_CommonMessage" updated="09/15/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="12a2" name="OP_SpecialMesg" updated="08/18/21"> + <opcode id="13ea" name="OP_SpecialMesg" updated="09/15/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="61bf" name="OP_RandomReq" updated="08/20/21"> + <opcode id="6ce6" name="OP_RandomReq" updated="09/15/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="1138" name="OP_RandomReply" updated="08/20/21"> + <opcode id="3bbd" name="OP_RandomReply" updated="09/15/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="351c" name="OP_ManaChange" updated="08/20/21"> + <opcode id="4788" name="OP_ManaChange" updated="09/15/21"> <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="60ef" name="OP_BazaarSearchRequest" updated="08/20/21"> + <opcode id="590f" name="OP_BazaarSearchRequest" updated="09/15/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="1397" name="OP_BazaarSearchResponse" updated="08/20/21"> + <opcode id="7835" name="OP_BazaarSearchResponse" updated="09/15/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="6f00" name="OP_MoneyOnCorpse" updated="08/20/21"> + <opcode id="03ce" name="OP_MoneyOnCorpse" updated="09/15/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="17b4" name="OP_SkillUpdate" updated="08/20/21"> + <opcode id="52c0" name="OP_SkillUpdate" updated="09/15/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="00f8" name="OP_LevelUpdate" updated="08/20/21"> + <opcode id="5bb1" name="OP_LevelUpdate" updated="09/15/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="1c4d" name="OP_DzSwitchInfo" updated="08/20/21"> + <opcode id="5c14" name="OP_DzSwitchInfo" updated="09/15/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="701c" name="OP_DzInfo" updated="08/20/21"> + <opcode id="7390" name="OP_DzInfo" updated="09/15/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="4719" name="OP_SetRunMode" updated="08/20/21"> + <opcode id="5404" name="OP_SetRunMode" updated="09/15/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="7d2b" name="OP_Trader" updated="08/20/21"> + <opcode id="7253" name="OP_Trader" updated="09/15/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="08ec" name="OP_GuildMemberList" updated="08/18/21"> + <opcode id="032d" name="OP_GuildMemberList" updated="09/15/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7463" name="OP_ManaUpdate" updated="08/20/21"> + <opcode id="7466" name="OP_ManaUpdate" updated="09/15/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5731" name="OP_EndUpdate" updated="08/20/21"> + <opcode id="37a0" name="OP_EndUpdate" updated="09/15/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="082e" name="OP_ExpandedGuildInfo" updated="08/18/21"> + <opcode id="63c6" name="OP_ExpandedGuildInfo" updated="09/15/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="77c1" name="OP_GuildsInZoneList" updated="08/20/21"> + <opcode id="6558" name="OP_GuildsInZoneList" updated="09/15/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="1e84" name="OP_NewGuildInZone" updated="08/20/21"> + <opcode id="0473" name="OP_NewGuildInZone" updated="09/15/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="65b3" name="OP_Find" updated="08/18/21"> + <opcode id="625c" name="OP_Find" updated="09/15/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/branches/cn187_devel/configure.in =================================================================== --- showeq/branches/cn187_devel/configure.in 2021-09-17 11:26:42 UTC (rev 1201) +++ showeq/branches/cn187_devel/configure.in 2021-09-17 11:33:06 UTC (rev 1202) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.5) +AC_INIT(showeq, 6.1.6) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2021-09-17 11:26:42 UTC (rev 1201) +++ showeq/branches/cn187_devel/src/everquest.h 2021-09-17 11:33:06 UTC (rev 1202) @@ -1115,25 +1115,26 @@ struct { + signed deltaX:13; // change in x + signed deltaHeading:10; // change in heading + unsigned padding00:9; + + signed y:19; // y coord (2nd loc value) + unsigned heading:12; // heading + unsigned padding01:1; + signed deltaZ:13; // change in z - signed x:19; // x coord (1st loc value) - signed deltaY:13; // change in y - signed deltaX:13; // change in x - unsigned padding01:6; + unsigned padding02:6; - unsigned heading:12; // heading + signed z:19; // z coord (3rd loc value) signed animation:10; // current animation - unsigned padding02:10; + unsigned padding03:3; unsigned pitch:12; // pitch (up/down heading) - signed y:19; // y coord (2nd loc value) - unsigned padding03:1; + signed x:19; // x coord (1st loc value) + unsigned padding04:1; - signed deltaHeading:10; // change in heading - signed z:19; // z coord (3rd loc value) - unsigned padding04:3; - }; int32_t posData[5]; }; @@ -2395,30 +2396,31 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed deltaX:13; // change in x + signed deltaHeading:10; // change in heading + unsigned padding00:9; +/*0008*/ + signed y:19; // y coord (2nd loc value) + unsigned heading:12; // heading + unsigned padding01:1; +/*0012*/ signed deltaZ:13; // change in z - signed x:19; // x coord (1st loc value) -/*0008*/ signed deltaY:13; // change in y - signed deltaX:13; // change in x - unsigned padding01:6; -/*0012*/ - unsigned heading:12; // heading + unsigned padding02:6; +/*0016*/ + signed z:19; // z coord (3rd loc value) signed animation:10; // current animation - unsigned padding02:10; -/*0016*/ + unsigned padding03:3; +/*0020*/ unsigned pitch:12; // pitch (up/down heading) - signed y:19; // y coord (2nd loc value) - unsigned padding03:1; -/*0020*/ - signed deltaHeading:10; // change in heading - signed z:19; // z coord (3rd loc value) - unsigned padding04:3; + signed x:19; // x coord (1st loc value) + unsigned padding04:1; /*0024*/ }; /* ** Self Position Update -** Length: 46 Octets +** Length: 38 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2427,17 +2429,17 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - unsigned heading:12; // heading - unsigned padding00:20; + float x; // x coord (1st loc value) /*0010*/ - float deltaZ; // change in z + float deltaY; // change in y /*0014*/ - signed deltaHeading:10; // change in heading - unsigned padding02:22; + float deltaX; // change in x /*0018*/ - float x; // x coord (1st loc value) + float z; // z coord (3rd loc value) /*0022*/ - float z; // z coord (3rd loc value) + unsigned heading:12; // heading + signed deltaHeading:10; // change in heading + signed animation:10; // current animation /*0026*/ float y; // y coord (2nd loc value) /*0030*/ @@ -2444,13 +2446,8 @@ unsigned pitch:12; // pitch (up/down heading) unsigned padding06:20; /*0034*/ - float deltaX; // change in x + float deltaZ; // change in z /*0038*/ - float deltaY; // change in y -/*0042*/ - signed animation:10; // current animation - unsigned padding09:22; -/*0046*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-09-17 11:26:44
|
Revision: 1201 http://sourceforge.net/p/seq/svn/1201 Author: cn187 Date: 2021-09-17 11:26:42 +0000 (Fri, 17 Sep 2021) Log Message: ----------- Tag for release 6.1.6 Added Paths: ----------- showeq/tags/v6_1_6/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-09-17 11:24:32
|
Revision: 1200 http://sourceforge.net/p/seq/svn/1200 Author: cn187 Date: 2021-09-17 11:24:31 +0000 (Fri, 17 Sep 2021) Log Message: ----------- Release 6.1.6 - Update to version 6.1.6 - Support for EQ patch 09/15/21 - Opcode and struct changes (Newby, cn187) Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2021-08-20 10:08:55 UTC (rev 1199) +++ showeq/trunk/ChangeLog 2021-09-17 11:24:31 UTC (rev 1200) @@ -1,3 +1,9 @@ +cn187 (09/17/21) +---------------- +- Update to version 6.1.6 +- Support for EQ patch 09/15/21 +- Opcode and struct changes (Newby, cn187) + cn187 (08/20/21) ---------------- - Update to version 6.1.5 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2021-08-20 10:08:55 UTC (rev 1199) +++ showeq/trunk/conf/zoneopcodes.xml 2021-09-17 11:24:31 UTC (rev 1200) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="0d4d" name="OP_PlayerProfile" updated="08/18/21"> + <opcode id="39c7" name="OP_PlayerProfile" updated="09/15/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4b8c" name="OP_ZoneEntry" updated="08/18/21"> + <opcode id="16b8" name="OP_ZoneEntry" updated="09/15/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="77f5" name="OP_TimeOfDay" updated="08/18/21"> + <opcode id="7cbd" name="OP_TimeOfDay" updated="09/15/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="1f68" name="OP_NewZone" updated="08/18/21"> + <opcode id="1179" name="OP_NewZone" updated="09/15/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="2600" name="OP_SpawnDoor" updated="08/18/21"> + <opcode id="631c" name="OP_SpawnDoor" updated="09/15/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="7349" name="OP_GroundSpawn" updated="08/18/21"> + <opcode id="2493" name="OP_GroundSpawn" updated="09/15/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="50dd" name="OP_SendZonePoints" updated="08/18/21"> + <opcode id="42e8" name="OP_SendZonePoints" updated="09/15/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="42b0" name="OP_AAExpUpdate" updated="08/18/21"> + <opcode id="1f27" name="OP_AAExpUpdate" updated="09/15/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2f52" name="OP_ExpUpdate" updated="08/20/21"> + <opcode id="08ef" name="OP_ExpUpdate" updated="09/15/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="48a0" name="OP_GuildMOTD" updated="08/18/21"> + <opcode id="2155" name="OP_GuildMOTD" updated="09/15/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="5ee6" name="OP_ClientUpdate" updated="08/18/21"> + <opcode id="08df" name="OP_ClientUpdate" updated="09/15/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="2316" name="OP_NpcMoveUpdate" updated="08/18/21"> + <opcode id="1338" name="OP_NpcMoveUpdate" updated="09/15/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="35f8" name="OP_MobUpdate" updated="08/18/21"> + <opcode id="1d7b" name="OP_MobUpdate" updated="09/15/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="6fb8" name="OP_DeleteSpawn" updated="08/18/21"> + <opcode id="2774" name="OP_DeleteSpawn" updated="09/15/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="66b1" name="OP_RemoveSpawn" updated="08/18/21"> + <opcode id="7f5d" name="OP_RemoveSpawn" updated="09/15/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="1967" name="OP_Death" updated="08/18/21"> + <opcode id="1ab4" name="OP_Death" updated="09/15/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="640a" name="OP_WearChange" updated="08/18/21"> + <opcode id="1333" name="OP_WearChange" updated="09/15/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="1516" name="OP_SpawnAppearance" updated="08/18/21"> + <opcode id="7fb4" name="OP_SpawnAppearance" updated="09/15/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="022c" name="OP_Stamina" updated="08/20/21"> + <opcode id="44a5" name="OP_Stamina" updated="09/15/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="51f6" name="OP_HPUpdate" updated="08/20/21"> + <opcode id="2e75" name="OP_HPUpdate" updated="09/15/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="6010" name="OP_GuildMemberUpdate" updated="08/18/21"> + <opcode id="5f28" name="OP_GuildMemberUpdate" updated="09/15/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="0a1d" name="OP_ClickObject" updated="08/18/21"> + <opcode id="346f" name="OP_ClickObject" updated="09/15/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="1ee7" name="OP_Action" updated="08/18/21"> + <opcode id="3bba" name="OP_Action" updated="09/15/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="2116" name="OP_Action2" updated="08/18/21"> + <opcode id="45fe" name="OP_Action2" updated="09/15/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="1810" name="OP_Consider" updated="08/18/21"> + <opcode id="6257" name="OP_Consider" updated="09/15/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="3fff" name="OP_TargetMouse" updated="08/18/21"> + <opcode id="53f4" name="OP_TargetMouse" updated="09/15/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="6d3d" name="OP_SpawnRename" updated="08/20/21"> + <opcode id="2a20" name="OP_SpawnRename" updated="09/15/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="5ece" name="OP_Illusion" updated="08/20/21"> + <opcode id="72fd" name="OP_Illusion" updated="09/15/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="09bc" name="OP_Shroud" updated="08/20/21"> + <opcode id="21ab" name="OP_Shroud" updated="09/15/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="613d" name="OP_ZoneChange" updated="08/18/21"> + <opcode id="2562" name="OP_ZoneChange" updated="09/15/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="7512" name="OP_Buff" updated="08/20/21"> + <opcode id="605a" name="OP_Buff" updated="09/15/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="0d4b" name="OP_BeginCast" updated="08/20/21"> + <opcode id="1658" name="OP_BeginCast" updated="09/15/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="71bb" name="OP_CastSpell" updated="08/20/21"> + <opcode id="e222" name="OP_CastSpell" updated="09/15/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="1e24" name="OP_SwapSpell" updated="08/20/21"> + <opcode id="22ac" name="OP_SwapSpell" updated="09/15/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="3934" name="OP_MemorizeSpell" updated="08/20/21"> + <opcode id="5b54" name="OP_MemorizeSpell" updated="09/15/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="71f6" name="OP_InspectAnswer" updated="08/20/21"> + <opcode id="221f" name="OP_InspectAnswer" updated="09/15/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="2e95" name="OP_Emote" updated="08/20/21"> + <opcode id="425f" name="OP_Emote" updated="09/15/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="71d3" name="OP_SimpleMessage" updated="08/18/21"> + <opcode id="192d" name="OP_SimpleMessage" updated="09/15/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="7814" name="OP_FormattedMessage" updated="08/18/21"> + <opcode id="61dd" name="OP_FormattedMessage" updated="09/15/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="0c07" name="OP_CommonMessage" updated="08/18/21"> + <opcode id="6fb1" name="OP_CommonMessage" updated="09/15/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="12a2" name="OP_SpecialMesg" updated="08/18/21"> + <opcode id="13ea" name="OP_SpecialMesg" updated="09/15/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="61bf" name="OP_RandomReq" updated="08/20/21"> + <opcode id="6ce6" name="OP_RandomReq" updated="09/15/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="1138" name="OP_RandomReply" updated="08/20/21"> + <opcode id="3bbd" name="OP_RandomReply" updated="09/15/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="351c" name="OP_ManaChange" updated="08/20/21"> + <opcode id="4788" name="OP_ManaChange" updated="09/15/21"> <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="60ef" name="OP_BazaarSearchRequest" updated="08/20/21"> + <opcode id="590f" name="OP_BazaarSearchRequest" updated="09/15/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="1397" name="OP_BazaarSearchResponse" updated="08/20/21"> + <opcode id="7835" name="OP_BazaarSearchResponse" updated="09/15/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="6f00" name="OP_MoneyOnCorpse" updated="08/20/21"> + <opcode id="03ce" name="OP_MoneyOnCorpse" updated="09/15/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="17b4" name="OP_SkillUpdate" updated="08/20/21"> + <opcode id="52c0" name="OP_SkillUpdate" updated="09/15/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="00f8" name="OP_LevelUpdate" updated="08/20/21"> + <opcode id="5bb1" name="OP_LevelUpdate" updated="09/15/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="1c4d" name="OP_DzSwitchInfo" updated="08/20/21"> + <opcode id="5c14" name="OP_DzSwitchInfo" updated="09/15/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="701c" name="OP_DzInfo" updated="08/20/21"> + <opcode id="7390" name="OP_DzInfo" updated="09/15/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="4719" name="OP_SetRunMode" updated="08/20/21"> + <opcode id="5404" name="OP_SetRunMode" updated="09/15/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="7d2b" name="OP_Trader" updated="08/20/21"> + <opcode id="7253" name="OP_Trader" updated="09/15/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="08ec" name="OP_GuildMemberList" updated="08/18/21"> + <opcode id="032d" name="OP_GuildMemberList" updated="09/15/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7463" name="OP_ManaUpdate" updated="08/20/21"> + <opcode id="7466" name="OP_ManaUpdate" updated="09/15/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="5731" name="OP_EndUpdate" updated="08/20/21"> + <opcode id="37a0" name="OP_EndUpdate" updated="09/15/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="082e" name="OP_ExpandedGuildInfo" updated="08/18/21"> + <opcode id="63c6" name="OP_ExpandedGuildInfo" updated="09/15/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="77c1" name="OP_GuildsInZoneList" updated="08/20/21"> + <opcode id="6558" name="OP_GuildsInZoneList" updated="09/15/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="1e84" name="OP_NewGuildInZone" updated="08/20/21"> + <opcode id="0473" name="OP_NewGuildInZone" updated="09/15/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="65b3" name="OP_Find" updated="08/18/21"> + <opcode id="625c" name="OP_Find" updated="09/15/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2021-08-20 10:08:55 UTC (rev 1199) +++ showeq/trunk/configure.in 2021-09-17 11:24:31 UTC (rev 1200) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.5) +AC_INIT(showeq, 6.1.6) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2021-08-20 10:08:55 UTC (rev 1199) +++ showeq/trunk/src/everquest.h 2021-09-17 11:24:31 UTC (rev 1200) @@ -1113,25 +1113,26 @@ struct { + signed deltaX:13; // change in x + signed deltaHeading:10; // change in heading + unsigned padding00:9; + + signed y:19; // y coord (2nd loc value) + unsigned heading:12; // heading + unsigned padding01:1; + signed deltaZ:13; // change in z - signed x:19; // x coord (1st loc value) - signed deltaY:13; // change in y - signed deltaX:13; // change in x - unsigned padding01:6; + unsigned padding02:6; - unsigned heading:12; // heading + signed z:19; // z coord (3rd loc value) signed animation:10; // current animation - unsigned padding02:10; + unsigned padding03:3; unsigned pitch:12; // pitch (up/down heading) - signed y:19; // y coord (2nd loc value) - unsigned padding03:1; + signed x:19; // x coord (1st loc value) + unsigned padding04:1; - signed deltaHeading:10; // change in heading - signed z:19; // z coord (3rd loc value) - unsigned padding04:3; - }; int32_t posData[5]; }; @@ -2393,30 +2394,31 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed deltaX:13; // change in x + signed deltaHeading:10; // change in heading + unsigned padding00:9; +/*0008*/ + signed y:19; // y coord (2nd loc value) + unsigned heading:12; // heading + unsigned padding01:1; +/*0012*/ signed deltaZ:13; // change in z - signed x:19; // x coord (1st loc value) -/*0008*/ signed deltaY:13; // change in y - signed deltaX:13; // change in x - unsigned padding01:6; -/*0012*/ - unsigned heading:12; // heading + unsigned padding02:6; +/*0016*/ + signed z:19; // z coord (3rd loc value) signed animation:10; // current animation - unsigned padding02:10; -/*0016*/ + unsigned padding03:3; +/*0020*/ unsigned pitch:12; // pitch (up/down heading) - signed y:19; // y coord (2nd loc value) - unsigned padding03:1; -/*0020*/ - signed deltaHeading:10; // change in heading - signed z:19; // z coord (3rd loc value) - unsigned padding04:3; + signed x:19; // x coord (1st loc value) + unsigned padding04:1; /*0024*/ }; /* ** Self Position Update -** Length: 46 Octets +** Length: 38 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2425,17 +2427,17 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - unsigned heading:12; // heading - unsigned padding00:20; + float x; // x coord (1st loc value) /*0010*/ - float deltaZ; // change in z + float deltaY; // change in y /*0014*/ - signed deltaHeading:10; // change in heading - unsigned padding02:22; + float deltaX; // change in x /*0018*/ - float x; // x coord (1st loc value) + float z; // z coord (3rd loc value) /*0022*/ - float z; // z coord (3rd loc value) + unsigned heading:12; // heading + signed deltaHeading:10; // change in heading + signed animation:10; // current animation /*0026*/ float y; // y coord (2nd loc value) /*0030*/ @@ -2442,13 +2444,8 @@ unsigned pitch:12; // pitch (up/down heading) unsigned padding06:20; /*0034*/ - float deltaX; // change in x + float deltaZ; // change in z /*0038*/ - float deltaY; // change in y -/*0042*/ - signed animation:10; // current animation - unsigned padding09:22; -/*0046*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-08-20 10:08:57
|
Revision: 1199 http://sourceforge.net/p/seq/svn/1199 Author: cn187 Date: 2021-08-20 10:08:55 +0000 (Fri, 20 Aug 2021) Log Message: ----------- Release 6.1.5 - Update version to 6.1.5 - Support for EQ patch 08/18/21 - Opcode and struct updates (Newby, cn187) Modified Paths: -------------- showeq/branches/cn187_devel/ChangeLog showeq/branches/cn187_devel/conf/zoneopcodes.xml showeq/branches/cn187_devel/configure.in showeq/branches/cn187_devel/src/everquest.h Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2021-08-20 09:57:40 UTC (rev 1198) +++ showeq/branches/cn187_devel/ChangeLog 2021-08-20 10:08:55 UTC (rev 1199) @@ -1,3 +1,9 @@ +cn187 (08/20/21) +---------------- +- Update to version 6.1.5 +- Support for EQ patch 08/18/21 +- Opcode and struct updates (Newby, cn187) + cn187 (07/23/21) ---------------- - Updated version to 6.1.4 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-08-20 09:57:40 UTC (rev 1198) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-08-20 10:08:55 UTC (rev 1199) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="4049" name="OP_PlayerProfile" updated="07/21/21"> + <opcode id="0d4d" name="OP_PlayerProfile" updated="08/18/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="15e0" name="OP_ZoneEntry" updated="07/21/21"> + <opcode id="4b8c" name="OP_ZoneEntry" updated="08/18/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1173" name="OP_TimeOfDay" updated="07/21/21"> + <opcode id="77f5" name="OP_TimeOfDay" updated="08/18/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="14e0" name="OP_NewZone" updated="07/21/21"> + <opcode id="1f68" name="OP_NewZone" updated="08/18/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="6bab" name="OP_SpawnDoor" updated="07/21/21"> + <opcode id="2600" name="OP_SpawnDoor" updated="08/18/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="33c7" name="OP_GroundSpawn" updated="07/21/21"> + <opcode id="7349" name="OP_GroundSpawn" updated="08/18/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6e1b" name="OP_SendZonePoints" updated="07/21/21"> + <opcode id="50dd" name="OP_SendZonePoints" updated="08/18/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="49f0" name="OP_AAExpUpdate" updated="07/21/21"> + <opcode id="42b0" name="OP_AAExpUpdate" updated="08/18/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="64ab" name="OP_ExpUpdate" updated="07/21/21"> + <opcode id="2f52" name="OP_ExpUpdate" updated="08/20/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7318" name="OP_GuildMOTD" updated="07/21/21"> + <opcode id="48a0" name="OP_GuildMOTD" updated="08/18/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="62c4" name="OP_ClientUpdate" updated="07/21/21"> + <opcode id="5ee6" name="OP_ClientUpdate" updated="08/18/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="0aaa" name="OP_NpcMoveUpdate" updated="07/21/21"> + <opcode id="2316" name="OP_NpcMoveUpdate" updated="08/18/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="683b" name="OP_MobUpdate" updated="07/21/21"> + <opcode id="35f8" name="OP_MobUpdate" updated="08/18/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="156f" name="OP_DeleteSpawn" updated="07/21/21"> + <opcode id="6fb8" name="OP_DeleteSpawn" updated="08/18/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="751b" name="OP_RemoveSpawn" updated="07/21/21"> + <opcode id="66b1" name="OP_RemoveSpawn" updated="08/18/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="7125" name="OP_Death" updated="07/21/21"> + <opcode id="1967" name="OP_Death" updated="08/18/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="7d94" name="OP_WearChange" updated="07/21/21"> + <opcode id="640a" name="OP_WearChange" updated="08/18/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7368" name="OP_SpawnAppearance" updated="07/21/21"> + <opcode id="1516" name="OP_SpawnAppearance" updated="08/18/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="3d3c" name="OP_Stamina" updated="07/21/21"> + <opcode id="022c" name="OP_Stamina" updated="08/20/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="3b5e" name="OP_HPUpdate" updated="07/21/21"> + <opcode id="51f6" name="OP_HPUpdate" updated="08/20/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="16e8" name="OP_GuildMemberUpdate" updated="07/21/21"> + <opcode id="6010" name="OP_GuildMemberUpdate" updated="08/18/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="322a" name="OP_ClickObject" updated="07/21/21"> + <opcode id="0a1d" name="OP_ClickObject" updated="08/18/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="3870" name="OP_Action" updated="07/21/21"> + <opcode id="1ee7" name="OP_Action" updated="08/18/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="6777" name="OP_Action2" updated="07/21/21"> + <opcode id="2116" name="OP_Action2" updated="08/18/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="14f1" name="OP_Consider" updated="07/21/21"> + <opcode id="1810" name="OP_Consider" updated="08/18/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="5eba" name="OP_TargetMouse" updated="07/21/21"> + <opcode id="3fff" name="OP_TargetMouse" updated="08/18/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="4bdb" name="OP_SpawnRename" updated="07/21/21"> + <opcode id="6d3d" name="OP_SpawnRename" updated="08/20/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="063e" name="OP_Illusion" updated="07/21/21"> + <opcode id="5ece" name="OP_Illusion" updated="08/20/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="7d12" name="OP_Shroud" updated="07/21/21"> + <opcode id="09bc" name="OP_Shroud" updated="08/20/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="551a" name="OP_ZoneChange" updated="07/21/21"> + <opcode id="613d" name="OP_ZoneChange" updated="08/18/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="3101" name="OP_Buff" updated="07/21/21"> + <opcode id="7512" name="OP_Buff" updated="08/20/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="40b7" name="OP_BeginCast" updated="07/21/21"> + <opcode id="0d4b" name="OP_BeginCast" updated="08/20/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="5042" name="OP_CastSpell" updated="07/21/21"> + <opcode id="71bb" name="OP_CastSpell" updated="08/20/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="6c7f" name="OP_SwapSpell" updated="07/21/21"> + <opcode id="1e24" name="OP_SwapSpell" updated="08/20/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="7200" name="OP_MemorizeSpell" updated="07/21/21"> + <opcode id="3934" name="OP_MemorizeSpell" updated="08/20/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="0966" name="OP_InspectAnswer" updated="07/21/21"> + <opcode id="71f6" name="OP_InspectAnswer" updated="08/20/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="5cec" name="OP_Emote" updated="07/21/21"> + <opcode id="2e95" name="OP_Emote" updated="08/20/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="48c5" name="OP_SimpleMessage" updated="07/21/21"> + <opcode id="71d3" name="OP_SimpleMessage" updated="08/18/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="231b" name="OP_FormattedMessage" updated="07/21/21"> + <opcode id="7814" name="OP_FormattedMessage" updated="08/18/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="2dd9" name="OP_CommonMessage" updated="07/21/21"> + <opcode id="0c07" name="OP_CommonMessage" updated="08/18/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="35da" name="OP_SpecialMesg" updated="07/21/21"> + <opcode id="12a2" name="OP_SpecialMesg" updated="08/18/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="4439" name="OP_RandomReq" updated="07/21/21"> + <opcode id="61bf" name="OP_RandomReq" updated="08/20/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="209a" name="OP_RandomReply" updated="07/21/21"> + <opcode id="1138" name="OP_RandomReply" updated="08/20/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="5cdd" name="OP_ManaChange" updated="07/21/21"> + <opcode id="351c" name="OP_ManaChange" updated="08/20/21"> <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="3ad0" name="OP_BazaarSearchRequest" updated="07/21/21"> + <opcode id="60ef" name="OP_BazaarSearchRequest" updated="08/20/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="1966" name="OP_BazaarSearchResponse" updated="07/21/21"> + <opcode id="1397" name="OP_BazaarSearchResponse" updated="08/20/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="4824" name="OP_MoneyOnCorpse" updated="07/21/21"> + <opcode id="6f00" name="OP_MoneyOnCorpse" updated="08/20/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="6f97" name="OP_SkillUpdate" updated="07/21/21"> + <opcode id="17b4" name="OP_SkillUpdate" updated="08/20/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="32ad" name="OP_LevelUpdate" updated="07/21/21"> + <opcode id="00f8" name="OP_LevelUpdate" updated="08/20/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2d7c" name="OP_DzSwitchInfo" updated="07/21/21"> + <opcode id="1c4d" name="OP_DzSwitchInfo" updated="08/20/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="0232" name="OP_DzInfo" updated="07/21/21"> + <opcode id="701c" name="OP_DzInfo" updated="08/20/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="569b" name="OP_SetRunMode" updated="07/21/21"> + <opcode id="4719" name="OP_SetRunMode" updated="08/20/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="218d" name="OP_Trader" updated="07/21/21"> + <opcode id="7d2b" name="OP_Trader" updated="08/20/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="52b4" name="OP_GuildMemberList" updated="07/21/21"> + <opcode id="08ec" name="OP_GuildMemberList" updated="08/18/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="647c" name="OP_ManaUpdate" updated="07/21/21"> + <opcode id="7463" name="OP_ManaUpdate" updated="08/20/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7e74" name="OP_EndUpdate" updated="07/21/21"> + <opcode id="5731" name="OP_EndUpdate" updated="08/20/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="17c7" name="OP_ExpandedGuildInfo" updated="07/21/21"> + <opcode id="082e" name="OP_ExpandedGuildInfo" updated="08/18/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1b05" name="OP_GuildsInZoneList" updated="07/21/21"> + <opcode id="77c1" name="OP_GuildsInZoneList" updated="08/20/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="4734" name="OP_NewGuildInZone" updated="07/21/21"> + <opcode id="1e84" name="OP_NewGuildInZone" updated="08/20/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4053" name="OP_Find" updated="07/21/21"> + <opcode id="65b3" name="OP_Find" updated="08/18/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/branches/cn187_devel/configure.in =================================================================== --- showeq/branches/cn187_devel/configure.in 2021-08-20 09:57:40 UTC (rev 1198) +++ showeq/branches/cn187_devel/configure.in 2021-08-20 10:08:55 UTC (rev 1199) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.4) +AC_INIT(showeq, 6.1.5) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2021-08-20 09:57:40 UTC (rev 1198) +++ showeq/branches/cn187_devel/src/everquest.h 2021-08-20 10:08:55 UTC (rev 1199) @@ -1115,24 +1115,25 @@ struct { - signed deltaY:13; // change in y - signed y:19; // y coord (2nd loc value) - + signed deltaZ:13; // change in z signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z - signed deltaHeading:10; // change in heading + signed deltaY:13; // change in y signed deltaX:13; // change in x - unsigned padding02:9; + unsigned padding01:6; + unsigned heading:12; // heading signed animation:10; // current animation - signed z:19; // z coord (3rd loc value) - unsigned padding03:3; + unsigned padding02:10; - unsigned heading:12; // heading unsigned pitch:12; // pitch (up/down heading) - unsigned padding04:8; + signed y:19; // y coord (2nd loc value) + unsigned padding03:1; + signed deltaHeading:10; // change in heading + signed z:19; // z coord (3rd loc value) + unsigned padding04:3; + }; int32_t posData[5]; }; @@ -2394,23 +2395,24 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed deltaZ:13; // change in z + signed x:19; // x coord (1st loc value) +/*0008*/ signed deltaY:13; // change in y + signed deltaX:13; // change in x + unsigned padding01:6; +/*0012*/ + unsigned heading:12; // heading + signed animation:10; // current animation + unsigned padding02:10; +/*0016*/ + unsigned pitch:12; // pitch (up/down heading) signed y:19; // y coord (2nd loc value) -/*0008*/ - signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z -/*0012*/ + unsigned padding03:1; +/*0020*/ signed deltaHeading:10; // change in heading - signed deltaX:13; // change in x - unsigned padding02:9; -/*0016*/ - signed animation:10; // current animation signed z:19; // z coord (3rd loc value) - unsigned padding03:3; -/*0020*/ - unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding04:8; + unsigned padding04:3; /*0024*/ }; @@ -2425,29 +2427,29 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - signed deltaHeading:10; // change in heading - unsigned padding00:22; + unsigned heading:12; // heading + unsigned padding00:20; /*0010*/ - float deltaX; // change in x + float deltaZ; // change in z /*0014*/ - float deltaZ; // change in z + signed deltaHeading:10; // change in heading + unsigned padding02:22; /*0018*/ - unsigned heading:12; // heading - unsigned padding03:20; + float x; // x coord (1st loc value) /*0022*/ - float deltaY; // change in y + float z; // z coord (3rd loc value) /*0026*/ - float x; // x coord (1st loc value) + float y; // y coord (2nd loc value) /*0030*/ - float y; // y coord (2nd loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding06:20; /*0034*/ - signed animation:10; // current animation - unsigned padding07:22; + float deltaX; // change in x /*0038*/ - float z; // z coord (3rd loc value) + float deltaY; // change in y /*0042*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding09:20; + signed animation:10; // current animation + unsigned padding09:22; /*0046*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-08-20 09:57:41
|
Revision: 1198 http://sourceforge.net/p/seq/svn/1198 Author: cn187 Date: 2021-08-20 09:57:40 +0000 (Fri, 20 Aug 2021) Log Message: ----------- Tag for release 6.1.5 Added Paths: ----------- showeq/tags/v6_1_5/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-08-20 09:56:02
|
Revision: 1197 http://sourceforge.net/p/seq/svn/1197 Author: cn187 Date: 2021-08-20 09:56:00 +0000 (Fri, 20 Aug 2021) Log Message: ----------- Release 6.1.5 - Update version to 6.1.5 - Support for EQ patch 08/18/21 - Opcode and struct updates (Newby, cn187) Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2021-07-23 14:21:00 UTC (rev 1196) +++ showeq/trunk/ChangeLog 2021-08-20 09:56:00 UTC (rev 1197) @@ -1,3 +1,9 @@ +cn187 (08/20/21) +---------------- +- Update to version 6.1.5 +- Support for EQ patch 08/18/21 +- Opcode and struct updates (Newby, cn187) + cn187 (07/23/21) ---------------- - Updated version to 6.1.4 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2021-07-23 14:21:00 UTC (rev 1196) +++ showeq/trunk/conf/zoneopcodes.xml 2021-08-20 09:56:00 UTC (rev 1197) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="4049" name="OP_PlayerProfile" updated="07/21/21"> + <opcode id="0d4d" name="OP_PlayerProfile" updated="08/18/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="15e0" name="OP_ZoneEntry" updated="07/21/21"> + <opcode id="4b8c" name="OP_ZoneEntry" updated="08/18/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1173" name="OP_TimeOfDay" updated="07/21/21"> + <opcode id="77f5" name="OP_TimeOfDay" updated="08/18/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="14e0" name="OP_NewZone" updated="07/21/21"> + <opcode id="1f68" name="OP_NewZone" updated="08/18/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="6bab" name="OP_SpawnDoor" updated="07/21/21"> + <opcode id="2600" name="OP_SpawnDoor" updated="08/18/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="33c7" name="OP_GroundSpawn" updated="07/21/21"> + <opcode id="7349" name="OP_GroundSpawn" updated="08/18/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6e1b" name="OP_SendZonePoints" updated="07/21/21"> + <opcode id="50dd" name="OP_SendZonePoints" updated="08/18/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="49f0" name="OP_AAExpUpdate" updated="07/21/21"> + <opcode id="42b0" name="OP_AAExpUpdate" updated="08/18/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="64ab" name="OP_ExpUpdate" updated="07/21/21"> + <opcode id="2f52" name="OP_ExpUpdate" updated="08/20/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7318" name="OP_GuildMOTD" updated="07/21/21"> + <opcode id="48a0" name="OP_GuildMOTD" updated="08/18/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="62c4" name="OP_ClientUpdate" updated="07/21/21"> + <opcode id="5ee6" name="OP_ClientUpdate" updated="08/18/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="0aaa" name="OP_NpcMoveUpdate" updated="07/21/21"> + <opcode id="2316" name="OP_NpcMoveUpdate" updated="08/18/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="683b" name="OP_MobUpdate" updated="07/21/21"> + <opcode id="35f8" name="OP_MobUpdate" updated="08/18/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="156f" name="OP_DeleteSpawn" updated="07/21/21"> + <opcode id="6fb8" name="OP_DeleteSpawn" updated="08/18/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="751b" name="OP_RemoveSpawn" updated="07/21/21"> + <opcode id="66b1" name="OP_RemoveSpawn" updated="08/18/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="7125" name="OP_Death" updated="07/21/21"> + <opcode id="1967" name="OP_Death" updated="08/18/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="7d94" name="OP_WearChange" updated="07/21/21"> + <opcode id="640a" name="OP_WearChange" updated="08/18/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7368" name="OP_SpawnAppearance" updated="07/21/21"> + <opcode id="1516" name="OP_SpawnAppearance" updated="08/18/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="3d3c" name="OP_Stamina" updated="07/21/21"> + <opcode id="022c" name="OP_Stamina" updated="08/20/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="3b5e" name="OP_HPUpdate" updated="07/21/21"> + <opcode id="51f6" name="OP_HPUpdate" updated="08/20/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="16e8" name="OP_GuildMemberUpdate" updated="07/21/21"> + <opcode id="6010" name="OP_GuildMemberUpdate" updated="08/18/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="322a" name="OP_ClickObject" updated="07/21/21"> + <opcode id="0a1d" name="OP_ClickObject" updated="08/18/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="3870" name="OP_Action" updated="07/21/21"> + <opcode id="1ee7" name="OP_Action" updated="08/18/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="6777" name="OP_Action2" updated="07/21/21"> + <opcode id="2116" name="OP_Action2" updated="08/18/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="14f1" name="OP_Consider" updated="07/21/21"> + <opcode id="1810" name="OP_Consider" updated="08/18/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="5eba" name="OP_TargetMouse" updated="07/21/21"> + <opcode id="3fff" name="OP_TargetMouse" updated="08/18/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="4bdb" name="OP_SpawnRename" updated="07/21/21"> + <opcode id="6d3d" name="OP_SpawnRename" updated="08/20/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="063e" name="OP_Illusion" updated="07/21/21"> + <opcode id="5ece" name="OP_Illusion" updated="08/20/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="7d12" name="OP_Shroud" updated="07/21/21"> + <opcode id="09bc" name="OP_Shroud" updated="08/20/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="551a" name="OP_ZoneChange" updated="07/21/21"> + <opcode id="613d" name="OP_ZoneChange" updated="08/18/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="3101" name="OP_Buff" updated="07/21/21"> + <opcode id="7512" name="OP_Buff" updated="08/20/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="40b7" name="OP_BeginCast" updated="07/21/21"> + <opcode id="0d4b" name="OP_BeginCast" updated="08/20/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="5042" name="OP_CastSpell" updated="07/21/21"> + <opcode id="71bb" name="OP_CastSpell" updated="08/20/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="6c7f" name="OP_SwapSpell" updated="07/21/21"> + <opcode id="1e24" name="OP_SwapSpell" updated="08/20/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="7200" name="OP_MemorizeSpell" updated="07/21/21"> + <opcode id="3934" name="OP_MemorizeSpell" updated="08/20/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="0966" name="OP_InspectAnswer" updated="07/21/21"> + <opcode id="71f6" name="OP_InspectAnswer" updated="08/20/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="5cec" name="OP_Emote" updated="07/21/21"> + <opcode id="2e95" name="OP_Emote" updated="08/20/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="48c5" name="OP_SimpleMessage" updated="07/21/21"> + <opcode id="71d3" name="OP_SimpleMessage" updated="08/18/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="231b" name="OP_FormattedMessage" updated="07/21/21"> + <opcode id="7814" name="OP_FormattedMessage" updated="08/18/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="2dd9" name="OP_CommonMessage" updated="07/21/21"> + <opcode id="0c07" name="OP_CommonMessage" updated="08/18/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="35da" name="OP_SpecialMesg" updated="07/21/21"> + <opcode id="12a2" name="OP_SpecialMesg" updated="08/18/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="4439" name="OP_RandomReq" updated="07/21/21"> + <opcode id="61bf" name="OP_RandomReq" updated="08/20/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="209a" name="OP_RandomReply" updated="07/21/21"> + <opcode id="1138" name="OP_RandomReply" updated="08/20/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="5cdd" name="OP_ManaChange" updated="07/21/21"> + <opcode id="351c" name="OP_ManaChange" updated="08/20/21"> <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="3ad0" name="OP_BazaarSearchRequest" updated="07/21/21"> + <opcode id="60ef" name="OP_BazaarSearchRequest" updated="08/20/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="1966" name="OP_BazaarSearchResponse" updated="07/21/21"> + <opcode id="1397" name="OP_BazaarSearchResponse" updated="08/20/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="4824" name="OP_MoneyOnCorpse" updated="07/21/21"> + <opcode id="6f00" name="OP_MoneyOnCorpse" updated="08/20/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="6f97" name="OP_SkillUpdate" updated="07/21/21"> + <opcode id="17b4" name="OP_SkillUpdate" updated="08/20/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="32ad" name="OP_LevelUpdate" updated="07/21/21"> + <opcode id="00f8" name="OP_LevelUpdate" updated="08/20/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2d7c" name="OP_DzSwitchInfo" updated="07/21/21"> + <opcode id="1c4d" name="OP_DzSwitchInfo" updated="08/20/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="0232" name="OP_DzInfo" updated="07/21/21"> + <opcode id="701c" name="OP_DzInfo" updated="08/20/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="569b" name="OP_SetRunMode" updated="07/21/21"> + <opcode id="4719" name="OP_SetRunMode" updated="08/20/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="218d" name="OP_Trader" updated="07/21/21"> + <opcode id="7d2b" name="OP_Trader" updated="08/20/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="52b4" name="OP_GuildMemberList" updated="07/21/21"> + <opcode id="08ec" name="OP_GuildMemberList" updated="08/18/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="647c" name="OP_ManaUpdate" updated="07/21/21"> + <opcode id="7463" name="OP_ManaUpdate" updated="08/20/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7e74" name="OP_EndUpdate" updated="07/21/21"> + <opcode id="5731" name="OP_EndUpdate" updated="08/20/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="17c7" name="OP_ExpandedGuildInfo" updated="07/21/21"> + <opcode id="082e" name="OP_ExpandedGuildInfo" updated="08/18/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1b05" name="OP_GuildsInZoneList" updated="07/21/21"> + <opcode id="77c1" name="OP_GuildsInZoneList" updated="08/20/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="4734" name="OP_NewGuildInZone" updated="07/21/21"> + <opcode id="1e84" name="OP_NewGuildInZone" updated="08/20/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4053" name="OP_Find" updated="07/21/21"> + <opcode id="65b3" name="OP_Find" updated="08/18/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2021-07-23 14:21:00 UTC (rev 1196) +++ showeq/trunk/configure.in 2021-08-20 09:56:00 UTC (rev 1197) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.4) +AC_INIT(showeq, 6.1.5) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2021-07-23 14:21:00 UTC (rev 1196) +++ showeq/trunk/src/everquest.h 2021-08-20 09:56:00 UTC (rev 1197) @@ -1113,24 +1113,25 @@ struct { - signed deltaY:13; // change in y - signed y:19; // y coord (2nd loc value) - + signed deltaZ:13; // change in z signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z - signed deltaHeading:10; // change in heading + signed deltaY:13; // change in y signed deltaX:13; // change in x - unsigned padding02:9; + unsigned padding01:6; + unsigned heading:12; // heading signed animation:10; // current animation - signed z:19; // z coord (3rd loc value) - unsigned padding03:3; + unsigned padding02:10; - unsigned heading:12; // heading unsigned pitch:12; // pitch (up/down heading) - unsigned padding04:8; + signed y:19; // y coord (2nd loc value) + unsigned padding03:1; + signed deltaHeading:10; // change in heading + signed z:19; // z coord (3rd loc value) + unsigned padding04:3; + }; int32_t posData[5]; }; @@ -2392,23 +2393,24 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ + signed deltaZ:13; // change in z + signed x:19; // x coord (1st loc value) +/*0008*/ signed deltaY:13; // change in y + signed deltaX:13; // change in x + unsigned padding01:6; +/*0012*/ + unsigned heading:12; // heading + signed animation:10; // current animation + unsigned padding02:10; +/*0016*/ + unsigned pitch:12; // pitch (up/down heading) signed y:19; // y coord (2nd loc value) -/*0008*/ - signed x:19; // x coord (1st loc value) - signed deltaZ:13; // change in z -/*0012*/ + unsigned padding03:1; +/*0020*/ signed deltaHeading:10; // change in heading - signed deltaX:13; // change in x - unsigned padding02:9; -/*0016*/ - signed animation:10; // current animation signed z:19; // z coord (3rd loc value) - unsigned padding03:3; -/*0020*/ - unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding04:8; + unsigned padding04:3; /*0024*/ }; @@ -2423,29 +2425,29 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - signed deltaHeading:10; // change in heading - unsigned padding00:22; + unsigned heading:12; // heading + unsigned padding00:20; /*0010*/ - float deltaX; // change in x + float deltaZ; // change in z /*0014*/ - float deltaZ; // change in z + signed deltaHeading:10; // change in heading + unsigned padding02:22; /*0018*/ - unsigned heading:12; // heading - unsigned padding03:20; + float x; // x coord (1st loc value) /*0022*/ - float deltaY; // change in y + float z; // z coord (3rd loc value) /*0026*/ - float x; // x coord (1st loc value) + float y; // y coord (2nd loc value) /*0030*/ - float y; // y coord (2nd loc value) + unsigned pitch:12; // pitch (up/down heading) + unsigned padding06:20; /*0034*/ - signed animation:10; // current animation - unsigned padding07:22; + float deltaX; // change in x /*0038*/ - float z; // z coord (3rd loc value) + float deltaY; // change in y /*0042*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned padding09:20; + signed animation:10; // current animation + unsigned padding09:22; /*0046*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-07-23 14:21:03
|
Revision: 1196 http://sourceforge.net/p/seq/svn/1196 Author: cn187 Date: 2021-07-23 14:21:00 +0000 (Fri, 23 Jul 2021) Log Message: ----------- Release 6.1.4 - Updated version to 6.1.4 - Support for EQ patch 07/21/21 - Opcode and struct updates (Newby, cn187) - Fix NPC Walk Paths bug (Newby) - Fix crash due to formatted message size misdetection Modified Paths: -------------- showeq/branches/cn187_devel/ChangeLog showeq/branches/cn187_devel/conf/zoneopcodes.xml showeq/branches/cn187_devel/configure.in showeq/branches/cn187_devel/src/everquest.h Modified: showeq/branches/cn187_devel/ChangeLog =================================================================== --- showeq/branches/cn187_devel/ChangeLog 2021-07-23 14:09:04 UTC (rev 1195) +++ showeq/branches/cn187_devel/ChangeLog 2021-07-23 14:21:00 UTC (rev 1196) @@ -1,3 +1,11 @@ +cn187 (07/23/21) +---------------- +- Updated version to 6.1.4 +- Support for EQ patch 07/21/21 +- Opcode and struct updates (Newby, cn187) +- Fix NPC Walk Paths bug (Newby) +- Fix crash due to formatted message size misdetection + cn187 (06/16/21) ---------------- - Updated version to 6.1.3 Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml =================================================================== --- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-07-23 14:09:04 UTC (rev 1195) +++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-07-23 14:21:00 UTC (rev 1196) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="7644" name="OP_PlayerProfile" updated="06/16/21"> + <opcode id="4049" name="OP_PlayerProfile" updated="07/21/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="482a" name="OP_ZoneEntry" updated="06/16/21"> + <opcode id="15e0" name="OP_ZoneEntry" updated="07/21/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1e14" name="OP_TimeOfDay" updated="06/16/21"> + <opcode id="1173" name="OP_TimeOfDay" updated="07/21/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="6fab" name="OP_NewZone" updated="06/16/21"> + <opcode id="14e0" name="OP_NewZone" updated="07/21/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="3a3b" name="OP_SpawnDoor" updated="06/16/21"> + <opcode id="6bab" name="OP_SpawnDoor" updated="07/21/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="0ad4" name="OP_GroundSpawn" updated="06/16/21"> + <opcode id="33c7" name="OP_GroundSpawn" updated="07/21/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7c9d" name="OP_SendZonePoints" updated="06/16/21"> + <opcode id="6e1b" name="OP_SendZonePoints" updated="07/21/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="5463" name="OP_AAExpUpdate" updated="06/16/21"> + <opcode id="49f0" name="OP_AAExpUpdate" updated="07/21/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7340" name="OP_ExpUpdate" updated="06/16/21"> + <opcode id="64ab" name="OP_ExpUpdate" updated="07/21/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="16b3" name="OP_GuildMOTD" updated="06/16/21"> + <opcode id="7318" name="OP_GuildMOTD" updated="07/21/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="673e" name="OP_ClientUpdate" updated="06/16/21"> + <opcode id="62c4" name="OP_ClientUpdate" updated="07/21/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="1ec7" name="OP_NpcMoveUpdate" updated="06/16/21"> + <opcode id="0aaa" name="OP_NpcMoveUpdate" updated="07/21/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1bdb" name="OP_MobUpdate" updated="06/16/21"> + <opcode id="683b" name="OP_MobUpdate" updated="07/21/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="2107" name="OP_DeleteSpawn" updated="06/16/21"> + <opcode id="156f" name="OP_DeleteSpawn" updated="07/21/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="46a1" name="OP_RemoveSpawn" updated="06/16/21"> + <opcode id="751b" name="OP_RemoveSpawn" updated="07/21/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="11bb" name="OP_Death" updated="06/16/21"> + <opcode id="7125" name="OP_Death" updated="07/21/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="6c44" name="OP_WearChange" updated="06/16/21"> + <opcode id="7d94" name="OP_WearChange" updated="07/21/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="784d" name="OP_SpawnAppearance" updated="06/16/21"> + <opcode id="7368" name="OP_SpawnAppearance" updated="07/21/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="44a1" name="OP_Stamina" updated="06/16/21"> + <opcode id="3d3c" name="OP_Stamina" updated="07/21/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="2a75" name="OP_HPUpdate" updated="06/16/21"> + <opcode id="3b5e" name="OP_HPUpdate" updated="07/21/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="60bc" name="OP_GuildMemberUpdate" updated="06/16/21"> + <opcode id="16e8" name="OP_GuildMemberUpdate" updated="07/21/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="01d2" name="OP_ClickObject" updated="06/16/21"> + <opcode id="322a" name="OP_ClickObject" updated="07/21/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="7476" name="OP_Action" updated="06/16/21"> + <opcode id="3870" name="OP_Action" updated="07/21/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="5b6a" name="OP_Action2" updated="06/16/21"> + <opcode id="6777" name="OP_Action2" updated="07/21/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="3027" name="OP_Consider" updated="06/16/21"> + <opcode id="14f1" name="OP_Consider" updated="07/21/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="097f" name="OP_TargetMouse" updated="06/16/21"> + <opcode id="5eba" name="OP_TargetMouse" updated="07/21/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="2fb8" name="OP_SpawnRename" updated="06/16/21"> + <opcode id="4bdb" name="OP_SpawnRename" updated="07/21/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="0866" name="OP_Illusion" updated="06/16/21"> + <opcode id="063e" name="OP_Illusion" updated="07/21/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="24cb" name="OP_Shroud" updated="06/16/21"> + <opcode id="7d12" name="OP_Shroud" updated="07/21/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="12f2" name="OP_ZoneChange" updated="06/16/21"> + <opcode id="551a" name="OP_ZoneChange" updated="07/21/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="34db" name="OP_Buff" updated="06/16/21"> + <opcode id="3101" name="OP_Buff" updated="07/21/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="2485" name="OP_BeginCast" updated="06/16/21"> + <opcode id="40b7" name="OP_BeginCast" updated="07/21/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="705e" name="OP_CastSpell" updated="06/16/21"> + <opcode id="5042" name="OP_CastSpell" updated="07/21/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="2691" name="OP_SwapSpell" updated="06/16/21"> + <opcode id="6c7f" name="OP_SwapSpell" updated="07/21/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="3f71" name="OP_MemorizeSpell" updated="06/16/21"> + <opcode id="7200" name="OP_MemorizeSpell" updated="07/21/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="7199" name="OP_InspectAnswer" updated="06/16/21"> + <opcode id="0966" name="OP_InspectAnswer" updated="07/21/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="00a2" name="OP_Emote" updated="06/16/21"> + <opcode id="5cec" name="OP_Emote" updated="07/21/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="2ca0" name="OP_SimpleMessage" updated="06/16/21"> + <opcode id="48c5" name="OP_SimpleMessage" updated="07/21/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="6e1c" name="OP_FormattedMessage" updated="06/16/21"> + <opcode id="231b" name="OP_FormattedMessage" updated="07/21/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="5f15" name="OP_CommonMessage" updated="06/16/21"> + <opcode id="2dd9" name="OP_CommonMessage" updated="07/21/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="3ebc" name="OP_SpecialMesg" updated="06/16/21"> + <opcode id="35da" name="OP_SpecialMesg" updated="07/21/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="1fa2" name="OP_RandomReq" updated="06/16/21"> + <opcode id="4439" name="OP_RandomReq" updated="07/21/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="5a66" name="OP_RandomReply" updated="06/16/21"> + <opcode id="209a" name="OP_RandomReply" updated="07/21/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="10ca" name="OP_ManaChange" updated="06/16/21"> + <opcode id="5cdd" name="OP_ManaChange" updated="07/21/21"> <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="0229" name="OP_BazaarSearchRequest" updated="06/16/21"> + <opcode id="3ad0" name="OP_BazaarSearchRequest" updated="07/21/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="6615" name="OP_BazaarSearchResponse" updated="06/16/21"> + <opcode id="1966" name="OP_BazaarSearchResponse" updated="07/21/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="7579" name="OP_MoneyOnCorpse" updated="06/16/21"> + <opcode id="4824" name="OP_MoneyOnCorpse" updated="07/21/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="724c" name="OP_SkillUpdate" updated="06/16/21"> + <opcode id="6f97" name="OP_SkillUpdate" updated="07/21/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="6df9" name="OP_LevelUpdate" updated="06/16/21"> + <opcode id="32ad" name="OP_LevelUpdate" updated="07/21/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2437" name="OP_DzSwitchInfo" updated="06/16/21"> + <opcode id="2d7c" name="OP_DzSwitchInfo" updated="07/21/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="423f" name="OP_DzInfo" updated="06/16/21"> + <opcode id="0232" name="OP_DzInfo" updated="07/21/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="7ba6" name="OP_SetRunMode" updated="06/16/21"> + <opcode id="569b" name="OP_SetRunMode" updated="07/21/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="719e" name="OP_Trader" updated="06/16/21"> + <opcode id="218d" name="OP_Trader" updated="07/21/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2766" name="OP_GuildMemberList" updated="06/16/21"> + <opcode id="52b4" name="OP_GuildMemberList" updated="07/21/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6797" name="OP_ManaUpdate" updated="06/16/21"> + <opcode id="647c" name="OP_ManaUpdate" updated="07/21/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6d50" name="OP_EndUpdate" updated="06/16/21"> + <opcode id="7e74" name="OP_EndUpdate" updated="07/21/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1fdf" name="OP_ExpandedGuildInfo" updated="06/16/21"> + <opcode id="17c7" name="OP_ExpandedGuildInfo" updated="07/21/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="54f9" name="OP_GuildsInZoneList" updated="06/16/21"> + <opcode id="1b05" name="OP_GuildsInZoneList" updated="07/21/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="562d" name="OP_NewGuildInZone" updated="06/16/21"> + <opcode id="4734" name="OP_NewGuildInZone" updated="07/21/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7dff" name="OP_Find" updated="06/16/21"> + <opcode id="4053" name="OP_Find" updated="07/21/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/branches/cn187_devel/configure.in =================================================================== --- showeq/branches/cn187_devel/configure.in 2021-07-23 14:09:04 UTC (rev 1195) +++ showeq/branches/cn187_devel/configure.in 2021-07-23 14:21:00 UTC (rev 1196) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.3) +AC_INIT(showeq, 6.1.4) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2021-07-23 14:09:04 UTC (rev 1195) +++ showeq/branches/cn187_devel/src/everquest.h 2021-07-23 14:21:00 UTC (rev 1196) @@ -1115,23 +1115,23 @@ struct { - unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding00:8; + signed deltaY:13; // change in y + signed y:19; // y coord (2nd loc value) + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - signed animation:10; // current animation - unsigned padding01:9; - signed deltaY:13; // change in y - signed y:19; // y coord (2nd loc value) + signed deltaHeading:10; // change in heading + signed deltaX:13; // change in x + unsigned padding02:9; - signed deltaHeading:10; // change in heading + signed animation:10; // current animation signed z:19; // z coord (3rd loc value) unsigned padding03:3; - signed x:19; // x coord (1st loc value) - signed deltaX:13; // change in x + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned padding04:8; }; int32_t posData[5]; @@ -1383,7 +1383,7 @@ /*0063*/ uint8_t invertstate; // invert state /*0064*/ uint32_t zonePoint; /*0068*/ uint8_t unknown068[28]; // ***Placeholder -/*0096*/ uint8_t unknown096[4]; // ***Placeholder +/*0096*/ uint8_t unknown096[12]; // ***Placeholder /*0100*/ }; @@ -2394,29 +2394,29 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding00:8; + signed deltaY:13; // change in y + signed y:19; // y coord (2nd loc value) /*0008*/ + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - signed animation:10; // current animation - unsigned padding01:9; /*0012*/ - signed deltaY:13; // change in y - signed y:19; // y coord (2nd loc value) + signed deltaHeading:10; // change in heading + signed deltaX:13; // change in x + unsigned padding02:9; /*0016*/ - signed deltaHeading:10; // change in heading + signed animation:10; // current animation signed z:19; // z coord (3rd loc value) unsigned padding03:3; /*0020*/ - signed x:19; // x coord (1st loc value) - signed deltaX:13; // change in x + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned padding04:8; /*0024*/ }; /* ** Self Position Update -** Length: 42 Octets +** Length: 46 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2425,28 +2425,30 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float z; // z coord (3rd loc value) + signed deltaHeading:10; // change in heading + unsigned padding00:22; /*0010*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned heading:12; // heading - unsigned padding01:8; + float deltaX; // change in x /*0014*/ - float y; // y coord (2nd loc value) + float deltaZ; // change in z /*0018*/ - signed deltaHeading:10; // change in heading - unsigned padding03:22; + unsigned heading:12; // heading + unsigned padding03:20; /*0022*/ - float deltaX; // change in x + float deltaY; // change in y /*0026*/ - float deltaY; // change in y + float x; // x coord (1st loc value) /*0030*/ + float y; // y coord (2nd loc value) +/*0034*/ signed animation:10; // current animation - unsigned padding06:22; -/*0034*/ - float deltaZ; // change in z + unsigned padding07:22; /*0038*/ - float x; // x coord (1st loc value) + float z; // z coord (3rd loc value) /*0042*/ + unsigned pitch:12; // pitch (up/down heading) + unsigned padding09:20; +/*0046*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-07-23 14:09:08
|
Revision: 1195 http://sourceforge.net/p/seq/svn/1195 Author: cn187 Date: 2021-07-23 14:09:04 +0000 (Fri, 23 Jul 2021) Log Message: ----------- Tag for release 6.1.4 Added Paths: ----------- showeq/tags/v6_1_4/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-07-23 14:04:56
|
Revision: 1194 http://sourceforge.net/p/seq/svn/1194 Author: cn187 Date: 2021-07-23 14:04:53 +0000 (Fri, 23 Jul 2021) Log Message: ----------- Release 6.1.4 - Updated version to 6.1.4 - Support for EQ patch 07/21/21 - Opcode and struct updates (Newby, cn187) - Fix NPC Walk Paths bug (Newby) - Fix crash due to formatted message size misdetection Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2021-07-21 21:17:47 UTC (rev 1193) +++ showeq/trunk/ChangeLog 2021-07-23 14:04:53 UTC (rev 1194) @@ -1,3 +1,11 @@ +cn187 (07/23/21) +---------------- +- Updated version to 6.1.4 +- Support for EQ patch 07/21/21 +- Opcode and struct updates (Newby, cn187) +- Fix NPC Walk Paths bug (Newby) +- Fix crash due to formatted message size misdetection + cn187 (06/16/21) ---------------- - Updated version to 6.1.3 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2021-07-21 21:17:47 UTC (rev 1193) +++ showeq/trunk/conf/zoneopcodes.xml 2021-07-23 14:04:53 UTC (rev 1194) @@ -3,127 +3,127 @@ <seqopcodes> <!-- Critical opcodes used directly by ShowEQ --> - <opcode id="7644" name="OP_PlayerProfile" updated="06/16/21"> + <opcode id="4049" name="OP_PlayerProfile" updated="07/21/21"> <comment>CharProfileCode</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="482a" name="OP_ZoneEntry" updated="06/16/21"> + <opcode id="15e0" name="OP_ZoneEntry" updated="07/21/21"> <comment>ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1e14" name="OP_TimeOfDay" updated="06/16/21"> + <opcode id="1173" name="OP_TimeOfDay" updated="07/21/21"> <comment>TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="6fab" name="OP_NewZone" updated="06/16/21"> + <opcode id="14e0" name="OP_NewZone" updated="07/21/21"> <comment>NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="3a3b" name="OP_SpawnDoor" updated="06/16/21"> + <opcode id="6bab" name="OP_SpawnDoor" updated="07/21/21"> <comment>DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="0ad4" name="OP_GroundSpawn" updated="06/16/21"> + <opcode id="33c7" name="OP_GroundSpawn" updated="07/21/21"> <comment>MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="none"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7c9d" name="OP_SendZonePoints" updated="06/16/21"> + <opcode id="6e1b" name="OP_SendZonePoints" updated="07/21/21"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="5463" name="OP_AAExpUpdate" updated="06/16/21"> + <opcode id="49f0" name="OP_AAExpUpdate" updated="07/21/21"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="7340" name="OP_ExpUpdate" updated="06/16/21"> + <opcode id="64ab" name="OP_ExpUpdate" updated="07/21/21"> <comment>ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="16b3" name="OP_GuildMOTD" updated="06/16/21"> + <opcode id="7318" name="OP_GuildMOTD" updated="07/21/21"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="673e" name="OP_ClientUpdate" updated="06/16/21"> + <opcode id="62c4" name="OP_ClientUpdate" updated="07/21/21"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="1ec7" name="OP_NpcMoveUpdate" updated="06/16/21"> + <opcode id="0aaa" name="OP_NpcMoveUpdate" updated="07/21/21"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1bdb" name="OP_MobUpdate" updated="06/16/21"> + <opcode id="683b" name="OP_MobUpdate" updated="07/21/21"> <comment>MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="2107" name="OP_DeleteSpawn" updated="06/16/21"> + <opcode id="156f" name="OP_DeleteSpawn" updated="07/21/21"> <comment>DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="46a1" name="OP_RemoveSpawn" updated="06/16/21"> + <opcode id="751b" name="OP_RemoveSpawn" updated="07/21/21"> <comment>Remove spawn from zone</comment> <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> - <opcode id="11bb" name="OP_Death" updated="06/16/21"> + <opcode id="7125" name="OP_Death" updated="07/21/21"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="6c44" name="OP_WearChange" updated="06/16/21"> + <opcode id="7d94" name="OP_WearChange" updated="07/21/21"> <comment>SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="784d" name="OP_SpawnAppearance" updated="06/16/21"> + <opcode id="7368" name="OP_SpawnAppearance" updated="07/21/21"> <comment>SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="44a1" name="OP_Stamina" updated="06/16/21"> + <opcode id="3d3c" name="OP_Stamina" updated="07/21/21"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="2a75" name="OP_HPUpdate" updated="06/16/21"> + <opcode id="3b5e" name="OP_HPUpdate" updated="07/21/21"> <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="60bc" name="OP_GuildMemberUpdate" updated="06/16/21"> + <opcode id="16e8" name="OP_GuildMemberUpdate" updated="07/21/21"> <comment>Info regarding guild members</comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="01d2" name="OP_ClickObject" updated="06/16/21"> + <opcode id="322a" name="OP_ClickObject" updated="07/21/21"> <comment>Items dropped on the ground</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="7476" name="OP_Action" updated="06/16/21"> + <opcode id="3870" name="OP_Action" updated="07/21/21"> <comment>Spells cast etc</comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="5b6a" name="OP_Action2" updated="06/16/21"> + <opcode id="6777" name="OP_Action2" updated="07/21/21"> <comment>Combat actions i.e. bash, kick etc</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="3027" name="OP_Consider" updated="06/16/21"> + <opcode id="14f1" name="OP_Consider" updated="07/21/21"> <comment>ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="097f" name="OP_TargetMouse" updated="06/16/21"> + <opcode id="5eba" name="OP_TargetMouse" updated="07/21/21"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="2fb8" name="OP_SpawnRename" updated="06/16/21"> + <opcode id="4bdb" name="OP_SpawnRename" updated="07/21/21"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="0866" name="OP_Illusion" updated="06/16/21"> + <opcode id="063e" name="OP_Illusion" updated="07/21/21"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="24cb" name="OP_Shroud" updated="06/16/21"> + <opcode id="7d12" name="OP_Shroud" updated="07/21/21"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="12f2" name="OP_ZoneChange" updated="06/16/21"> + <opcode id="551a" name="OP_ZoneChange" updated="07/21/21"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> @@ -163,55 +163,55 @@ <comment>Group leader change</comment> <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="34db" name="OP_Buff" updated="06/16/21"> + <opcode id="3101" name="OP_Buff" updated="07/21/21"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="2485" name="OP_BeginCast" updated="06/16/21"> + <opcode id="40b7" name="OP_BeginCast" updated="07/21/21"> <comment>BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="705e" name="OP_CastSpell" updated="06/16/21"> + <opcode id="5042" name="OP_CastSpell" updated="07/21/21"> <comment>StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="2691" name="OP_SwapSpell" updated="06/16/21"> + <opcode id="6c7f" name="OP_SwapSpell" updated="07/21/21"> <comment>TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="3f71" name="OP_MemorizeSpell" updated="06/16/21"> + <opcode id="7200" name="OP_MemorizeSpell" updated="07/21/21"> <comment>MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="7199" name="OP_InspectAnswer" updated="06/16/21"> + <opcode id="0966" name="OP_InspectAnswer" updated="07/21/21"> <comment>InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="00a2" name="OP_Emote" updated="06/16/21"> + <opcode id="5cec" name="OP_Emote" updated="07/21/21"> <comment>EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="2ca0" name="OP_SimpleMessage" updated="06/16/21"> + <opcode id="48c5" name="OP_SimpleMessage" updated="07/21/21"> <comment>SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="6e1c" name="OP_FormattedMessage" updated="06/16/21"> + <opcode id="231b" name="OP_FormattedMessage" updated="07/21/21"> <comment>FormattedMessageCode i.e. pet dismissed etc</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="5f15" name="OP_CommonMessage" updated="06/16/21"> + <opcode id="2dd9" name="OP_CommonMessage" updated="07/21/21"> <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="3ebc" name="OP_SpecialMesg" updated="06/16/21"> + <opcode id="35da" name="OP_SpecialMesg" updated="07/21/21"> <comment>Communicate textual info to client including hail responses etc</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="1fa2" name="OP_RandomReq" updated="06/16/21"> + <opcode id="4439" name="OP_RandomReq" updated="07/21/21"> <comment>RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="5a66" name="OP_RandomReply" updated="06/16/21"> + <opcode id="209a" name="OP_RandomReply" updated="07/21/21"> <comment>RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> @@ -223,36 +223,36 @@ <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="10ca" name="OP_ManaChange" updated="06/16/21"> + <opcode id="5cdd" name="OP_ManaChange" updated="07/21/21"> <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="0229" name="OP_BazaarSearchRequest" updated="06/16/21"> + <opcode id="3ad0" name="OP_BazaarSearchRequest" updated="07/21/21"> <comment>Bazaar search request </comment> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> </opcode> - <opcode id="6615" name="OP_BazaarSearchResponse" updated="06/16/21"> + <opcode id="1966" name="OP_BazaarSearchResponse" updated="07/21/21"> <comment>Bazaar search Response - Struct incorrect </comment> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> </opcode> - <opcode id="7579" name="OP_MoneyOnCorpse" updated="06/16/21"> + <opcode id="4824" name="OP_MoneyOnCorpse" updated="07/21/21"> <comment>MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="724c" name="OP_SkillUpdate" updated="06/16/21"> + <opcode id="6f97" name="OP_SkillUpdate" updated="07/21/21"> <comment>Skill up code</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="6df9" name="OP_LevelUpdate" updated="06/16/21"> + <opcode id="32ad" name="OP_LevelUpdate" updated="07/21/21"> <comment>LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="2437" name="OP_DzSwitchInfo" updated="06/16/21"> + <opcode id="2d7c" name="OP_DzSwitchInfo" updated="07/21/21"> <comment>Expedition compass etc</comment> <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/> </opcode> - <opcode id="423f" name="OP_DzInfo" updated="06/16/21"> + <opcode id="0232" name="OP_DzInfo" updated="07/21/21"> <comment>Expedition Information</comment> <payload dir="server" typename="dzInfo" sizechecktype="match"/> </opcode> @@ -260,11 +260,11 @@ <comment>Environmental Damage</comment> <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/> </opcode> - <opcode id="7ba6" name="OP_SetRunMode" updated="06/16/21"> + <opcode id="569b" name="OP_SetRunMode" updated="07/21/21"> <comment>old cRunToggleCode</comment> <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/> </opcode> - <opcode id="719e" name="OP_Trader" updated="06/16/21"> + <opcode id="218d" name="OP_Trader" updated="07/21/21"> <comment>PC's turning trader on and off</comment> <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/> </opcode> @@ -307,15 +307,15 @@ <comment>List of group members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2766" name="OP_GuildMemberList" updated="06/16/21"> + <opcode id="52b4" name="OP_GuildMemberList" updated="07/21/21"> <comment>List of guild members - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6797" name="OP_ManaUpdate" updated="06/16/21"> + <opcode id="647c" name="OP_ManaUpdate" updated="07/21/21"> <comment>Mana Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="6d50" name="OP_EndUpdate" updated="06/16/21"> + <opcode id="7e74" name="OP_EndUpdate" updated="07/21/21"> <comment>Endurance Update opcode - 10 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -367,7 +367,7 @@ <comment>Fellowship information - 2576 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1fdf" name="OP_ExpandedGuildInfo" updated="06/16/21"> + <opcode id="17c7" name="OP_ExpandedGuildInfo" updated="07/21/21"> <comment>Guild ranks and other misc guild data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -535,11 +535,11 @@ <comment>Listing of all guilds. Can be triggered by /lfg search?</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="54f9" name="OP_GuildsInZoneList" updated="06/16/21"> + <opcode id="1b05" name="OP_GuildsInZoneList" updated="07/21/21"> <comment>Listing of guild names present in the current zone. Generally seen on zoning</comment> <payload dir="server" typename="guildsInZoneListStruct" sizechecktype="none"/> </opcode> - <opcode id="562d" name="OP_NewGuildInZone" updated="06/16/21"> + <opcode id="4734" name="OP_NewGuildInZone" updated="07/21/21"> <comment>An additional guild name has appeared in the current zone. Seen when a guilded player enters the current zone</comment> <payload dir="server" typename="newGuildInZoneStruct" sizechecktype="none"/> </opcode> @@ -595,7 +595,7 @@ <comment>Free to play nags and other data - Variable length</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7dff" name="OP_Find" updated="06/16/21"> + <opcode id="4053" name="OP_Find" updated="07/21/21"> <comment>Find window data - 112 bytes</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2021-07-21 21:17:47 UTC (rev 1193) +++ showeq/trunk/configure.in 2021-07-23 14:04:53 UTC (rev 1194) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 6.1.3) +AC_INIT(showeq, 6.1.4) AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2021-07-21 21:17:47 UTC (rev 1193) +++ showeq/trunk/src/everquest.h 2021-07-23 14:04:53 UTC (rev 1194) @@ -1113,23 +1113,23 @@ struct { - unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding00:8; + signed deltaY:13; // change in y + signed y:19; // y coord (2nd loc value) + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - signed animation:10; // current animation - unsigned padding01:9; - signed deltaY:13; // change in y - signed y:19; // y coord (2nd loc value) + signed deltaHeading:10; // change in heading + signed deltaX:13; // change in x + unsigned padding02:9; - signed deltaHeading:10; // change in heading + signed animation:10; // current animation signed z:19; // z coord (3rd loc value) unsigned padding03:3; - signed x:19; // x coord (1st loc value) - signed deltaX:13; // change in x + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned padding04:8; }; int32_t posData[5]; @@ -1381,7 +1381,7 @@ /*0063*/ uint8_t invertstate; // invert state /*0064*/ uint32_t zonePoint; /*0068*/ uint8_t unknown068[28]; // ***Placeholder -/*0096*/ uint8_t unknown096[4]; // ***Placeholder +/*0096*/ uint8_t unknown096[12]; // ***Placeholder /*0100*/ }; @@ -2392,29 +2392,29 @@ /*0000*/ uint16_t spawnId; /*0002*/ uint16_t spawnId2; /*0004*/ - unsigned heading:12; // heading - unsigned pitch:12; // pitch (up/down heading) - unsigned padding00:8; + signed deltaY:13; // change in y + signed y:19; // y coord (2nd loc value) /*0008*/ + signed x:19; // x coord (1st loc value) signed deltaZ:13; // change in z - signed animation:10; // current animation - unsigned padding01:9; /*0012*/ - signed deltaY:13; // change in y - signed y:19; // y coord (2nd loc value) + signed deltaHeading:10; // change in heading + signed deltaX:13; // change in x + unsigned padding02:9; /*0016*/ - signed deltaHeading:10; // change in heading + signed animation:10; // current animation signed z:19; // z coord (3rd loc value) unsigned padding03:3; /*0020*/ - signed x:19; // x coord (1st loc value) - signed deltaX:13; // change in x + unsigned heading:12; // heading + unsigned pitch:12; // pitch (up/down heading) + unsigned padding04:8; /*0024*/ }; /* ** Self Position Update -** Length: 42 Octets +** Length: 46 Octets ** OpCode: PlayerPosCode */ struct playerSelfPosStruct @@ -2423,28 +2423,30 @@ /*0002*/ uint16_t spawnId; // Player's spawn id /*0004*/ uint16_t unknown0004; // ***Placeholder /*0006*/ - float z; // z coord (3rd loc value) + signed deltaHeading:10; // change in heading + unsigned padding00:22; /*0010*/ - unsigned pitch:12; // pitch (up/down heading) - unsigned heading:12; // heading - unsigned padding01:8; + float deltaX; // change in x /*0014*/ - float y; // y coord (2nd loc value) + float deltaZ; // change in z /*0018*/ - signed deltaHeading:10; // change in heading - unsigned padding03:22; + unsigned heading:12; // heading + unsigned padding03:20; /*0022*/ - float deltaX; // change in x + float deltaY; // change in y /*0026*/ - float deltaY; // change in y + float x; // x coord (1st loc value) /*0030*/ + float y; // y coord (2nd loc value) +/*0034*/ signed animation:10; // current animation - unsigned padding06:22; -/*0034*/ - float deltaZ; // change in z + unsigned padding07:22; /*0038*/ - float x; // x coord (1st loc value) + float z; // z coord (3rd loc value) /*0042*/ + unsigned pitch:12; // pitch (up/down heading) + unsigned padding09:20; +/*0046*/ }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-07-21 21:17:49
|
Revision: 1193 http://sourceforge.net/p/seq/svn/1193 Author: cn187 Date: 2021-07-21 21:17:47 +0000 (Wed, 21 Jul 2021) Log Message: ----------- Fix NPC Walk Paths display bug (Newby) Modified Paths: -------------- showeq/trunk/src/mapicon.cpp Modified: showeq/trunk/src/mapicon.cpp =================================================================== --- showeq/trunk/src/mapicon.cpp 2021-07-21 21:17:40 UTC (rev 1192) +++ showeq/trunk/src/mapicon.cpp 2021-07-21 21:17:47 UTC (rev 1193) @@ -1023,39 +1023,43 @@ if (mapIcon.showWalkPath() || (m_showNPCWalkPaths && spawn->isNPC())) { + const SpawnTrackList& trackList = spawn->trackList(); SpawnTrackListIterator trackIt(spawn->trackList()); + int cnt = trackList.count (); - const SpawnTrackPoint* trackPoint = trackIt.next(); - if (trackPoint) - { - if (!mapIcon.useWalkPathPen()) - p.setPen(Qt::blue); - else - p.setPen(mapIcon.walkPathPen()); + if (cnt >= 2) { // only make a line if there is more than one point + const SpawnTrackPoint* trackPoint = trackIt.next(); + if (trackPoint) + { + if (!mapIcon.useWalkPathPen()) + p.setPen(Qt::blue); + else + p.setPen(mapIcon.walkPathPen()); - int16_t x_1, y_1, x_2, y_2; + int16_t x_1, y_1, x_2, y_2; - x_1 = trackPoint->x(); - y_1 = trackPoint->y(); + x_1 = trackPoint->x(); + y_1 = trackPoint->y(); - while (trackIt.hasNext()) - { - trackPoint = trackIt.next(); - if (!trackPoint) - break; + while (trackIt.hasNext()) + { + trackPoint = trackIt.next(); + if (!trackPoint) + break; - x_2 = trackPoint->x(); - y_2 = trackPoint->y(); + x_2 = trackPoint->x(); + y_2 = trackPoint->y(); - p.drawLine (param.calcXOffsetI(x_1), - param.calcYOffsetI(y_1), - param.calcXOffsetI(x_2), - param.calcYOffsetI(y_2)); - x_1 = x_2; - y_1 = y_2; - } + p.drawLine (param.calcXOffsetI(x_1), + param.calcYOffsetI(y_1), + param.calcXOffsetI(x_2), + param.calcYOffsetI(y_2)); + x_1 = x_2; + y_1 = y_2; + } - p.drawLine (x_2, y_2, point.x(), point.y()); + p.drawLine (param.calcXOffsetI(x_2), param.calcYOffsetI(y_2), point.x(), point.y()); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-07-21 21:17:42
|
Revision: 1192 http://sourceforge.net/p/seq/svn/1192 Author: cn187 Date: 2021-07-21 21:17:40 +0000 (Wed, 21 Jul 2021) Log Message: ----------- Add safety check for formatted message arg sizes. This works around a crash (due to possible packet changes) until a proper fix can be found. Modified Paths: -------------- showeq/trunk/src/eqstr.cpp Modified: showeq/trunk/src/eqstr.cpp =================================================================== --- showeq/trunk/src/eqstr.cpp 2021-07-21 21:17:34 UTC (rev 1191) +++ showeq/trunk/src/eqstr.cpp 2021-07-21 21:17:40 UTC (rev 1192) @@ -148,7 +148,7 @@ while (cp < ((unsigned char *) &arguments[argsLen] - sizeof(uint32_t)*sizeof(unsigned char))) { arg_len = (cp[0] << 0) | (cp[1] << 8) | (cp[2] << 16) | (cp[3] << 24); cp += 4; - if (arg_len == 0) + if (arg_len == 0 || arg_len > argsLen) break; tempStr += " "; tempStr += QString::fromUtf8((const char *) cp, arg_len); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-07-21 21:17:36
|
Revision: 1191 http://sourceforge.net/p/seq/svn/1191 Author: cn187 Date: 2021-07-21 21:17:34 +0000 (Wed, 21 Jul 2021) Log Message: ----------- Change fillSpawnStruct to loop through posData Change fillSpawnStruct to loop through posData (based on struct size) rather than hardcoding the fill of each element. This will allow the size of posData to change without needing to adjust fillSpawnStruct. Modified Paths: -------------- showeq/trunk/src/spawnshell.cpp Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2021-07-21 21:17:07 UTC (rev 1190) +++ showeq/trunk/src/spawnshell.cpp 2021-07-21 21:17:34 UTC (rev 1191) @@ -798,11 +798,9 @@ spawn->equipment[8].equip0 = netStream.readUInt32NC(); } - spawn->posData[0] = netStream.readUInt32NC(); - spawn->posData[1] = netStream.readUInt32NC(); - spawn->posData[2] = netStream.readUInt32NC(); - spawn->posData[3] = netStream.readUInt32NC(); - spawn->posData[4] = netStream.readUInt32NC(); + for (int i = 0; i < (sizeof(spawn->posData)/sizeof(spawn->posData[0])); ++i) { + spawn->posData[i] = netStream.readUInt32NC(); + } if(spawn->hasTitle) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-07-21 21:17:08
|
Revision: 1190 http://sourceforge.net/p/seq/svn/1190 Author: cn187 Date: 2021-07-21 21:17:07 +0000 (Wed, 21 Jul 2021) Log Message: ----------- Fix NPC Walk Paths display bug (Newby) Modified Paths: -------------- showeq/branches/cn187_devel/src/mapicon.cpp Modified: showeq/branches/cn187_devel/src/mapicon.cpp =================================================================== --- showeq/branches/cn187_devel/src/mapicon.cpp 2021-06-23 03:56:44 UTC (rev 1189) +++ showeq/branches/cn187_devel/src/mapicon.cpp 2021-07-21 21:17:07 UTC (rev 1190) @@ -1023,39 +1023,43 @@ if (mapIcon.showWalkPath() || (m_showNPCWalkPaths && spawn->isNPC())) { + const SpawnTrackList& trackList = spawn->trackList(); SpawnTrackListIterator trackIt(spawn->trackList()); + int cnt = trackList.count (); - const SpawnTrackPoint* trackPoint = trackIt.next(); - if (trackPoint) - { - if (!mapIcon.useWalkPathPen()) - p.setPen(Qt::blue); - else - p.setPen(mapIcon.walkPathPen()); + if (cnt >= 2) { // only make a line if there is more than one point + const SpawnTrackPoint* trackPoint = trackIt.next(); + if (trackPoint) + { + if (!mapIcon.useWalkPathPen()) + p.setPen(Qt::blue); + else + p.setPen(mapIcon.walkPathPen()); - int16_t x_1, y_1, x_2, y_2; + int16_t x_1, y_1, x_2, y_2; - x_1 = trackPoint->x(); - y_1 = trackPoint->y(); + x_1 = trackPoint->x(); + y_1 = trackPoint->y(); - while (trackIt.hasNext()) - { - trackPoint = trackIt.next(); - if (!trackPoint) - break; + while (trackIt.hasNext()) + { + trackPoint = trackIt.next(); + if (!trackPoint) + break; - x_2 = trackPoint->x(); - y_2 = trackPoint->y(); + x_2 = trackPoint->x(); + y_2 = trackPoint->y(); - p.drawLine (param.calcXOffsetI(x_1), - param.calcYOffsetI(y_1), - param.calcXOffsetI(x_2), - param.calcYOffsetI(y_2)); - x_1 = x_2; - y_1 = y_2; - } + p.drawLine (param.calcXOffsetI(x_1), + param.calcYOffsetI(y_1), + param.calcXOffsetI(x_2), + param.calcYOffsetI(y_2)); + x_1 = x_2; + y_1 = y_2; + } - p.drawLine (x_2, y_2, point.x(), point.y()); + p.drawLine (param.calcXOffsetI(x_2), param.calcYOffsetI(y_2), point.x(), point.y()); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-06-23 03:56:45
|
Revision: 1189 http://sourceforge.net/p/seq/svn/1189 Author: cn187 Date: 2021-06-23 03:56:44 +0000 (Wed, 23 Jun 2021) Log Message: ----------- Add "none" placeholder when no layers are loaded Modified Paths: -------------- showeq/branches/cn187_devel/src/map.cpp Modified: showeq/branches/cn187_devel/src/map.cpp =================================================================== --- showeq/branches/cn187_devel/src/map.cpp 2021-06-22 00:50:04 UTC (rev 1188) +++ showeq/branches/cn187_devel/src/map.cpp 2021-06-23 03:56:44 UTC (rev 1189) @@ -5212,8 +5212,14 @@ } } + int numLayers = m_map->mapMgr()->mapData().numLayers(); + QLabel* tmpLabel = new QLabel(m_layersBox); - tmpLabel->setText("Layers:"); + if (numLayers == 0) + tmpLabel->setText("Layers: None"); + else + tmpLabel->setText("Layers:"); + layersBoxLayout->addWidget(tmpLabel); QToolButton* tmpButton = NULL; @@ -5221,7 +5227,6 @@ QAction* tmpAction = NULL; - int numLayers = m_map->mapMgr()->mapData().numLayers(); for (int i = 0; i < numLayers; ++i) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-06-22 00:50:03
|
Revision: 1188 http://sourceforge.net/p/seq/svn/1188 Author: cn187 Date: 2021-06-22 00:50:04 +0000 (Tue, 22 Jun 2021) Log Message: ----------- Add support for multi-layer maps Add the ability to load multi-layer maps (e.g, SOE, Brewall's, Good's). * On zoning, SEQ will automatically load the base zone map as well as maps 1-3 of the same name. * The layer control on the map bottom control pane allows you to select which layers you want to see/hide. * Manual load/import of maps will now allow the selection of multiple files * Saving maps will save all layers as their individual filenames * The map edit menu now contains an "Edit Layer" setting, allowing you choose which layer will be modified when doing map edits. Modified Paths: -------------- showeq/branches/cn187_devel/conf/seqdef.xml showeq/branches/cn187_devel/src/map.cpp showeq/branches/cn187_devel/src/map.h showeq/branches/cn187_devel/src/mapcore.cpp showeq/branches/cn187_devel/src/mapcore.h Modified: showeq/branches/cn187_devel/conf/seqdef.xml =================================================================== --- showeq/branches/cn187_devel/conf/seqdef.xml 2021-06-22 00:49:58 UTC (rev 1187) +++ showeq/branches/cn187_devel/conf/seqdef.xml 2021-06-22 00:50:04 UTC (rev 1188) @@ -604,6 +604,10 @@ <bool value="true" /> <comment>Display map frame rate control</comment> </property> + <property name="ShowLayersControl" > + <bool value="true" /> + <comment>Display map layer control</comment> + </property> <property name="ShowFilter" > <bool value="true" /> <comment>Display the map's runtime filter control</comment> @@ -632,6 +636,9 @@ <int value="5" /> <comment>Map frame rate (number of map refreshes per second)</comment> </property> + <property name="MapLayerMask"> + <int value="-7"/> + </property> <property name="CacheChanges" > <bool value="true" /> <comment>property that controls repaints, true = Just at repaint ast Framerate, or false = Whenever spawn/map info changes in addition to Framerate</comment> @@ -904,6 +911,10 @@ <bool value="true" /> <comment>Display map frame rate control</comment> </property> + <property name="ShowLayersControl" > + <bool value="true" /> + <comment>Display map layer control</comment> + </property> <property name="ShowFilter" > <bool value="true" /> <comment>Display the map's runtime filter control</comment> @@ -932,6 +943,9 @@ <int value="5" /> <comment>Map frame rate (number of map refreshes per second)</comment> </property> + <property name="MapLayerMask"> + <int value="-7"/> + </property> <property name="CacheChanges" > <bool value="true" /> <comment>property that controls repaints, true = Just at repaint ast Framerate, or false = Whenever spawn/map info changes in addition to Framerate</comment> @@ -1204,6 +1218,10 @@ <bool value="true" /> <comment>Display map frame rate control</comment> </property> + <property name="ShowLayersControl" > + <bool value="true" /> + <comment>Display map layer control</comment> + </property> <property name="ShowFilter" > <bool value="true" /> <comment>Display the map's runtime filter control</comment> @@ -1232,6 +1250,9 @@ <int value="5" /> <comment>Map frame rate (number of map refreshes per second)</comment> </property> + <property name="MapLayerMask"> + <int value="-7"/> + </property> <property name="CacheChanges" > <bool value="true" /> <comment>property that controls repaints, true = Just at repaint ast Framerate, or false = Whenever spawn/map info changes in addition to Framerate</comment> @@ -1504,6 +1525,10 @@ <bool value="true" /> <comment>Display map frame rate control</comment> </property> + <property name="ShowLayersControl" > + <bool value="true" /> + <comment>Display map layer control</comment> + </property> <property name="ShowFilter" > <bool value="true" /> <comment>Display the map's runtime filter control</comment> @@ -1532,6 +1557,9 @@ <int value="5" /> <comment>Map frame rate (number of map refreshes per second)</comment> </property> + <property name="MapLayerMask"> + <int value="-7"/> + </property> <property name="CacheChanges" > <bool value="true" /> <comment>property that controls repaints, true = Just at repaint ast Framerate, or false = Whenever spawn/map info changes in addition to Framerate</comment> @@ -1804,6 +1832,10 @@ <bool value="true" /> <comment>Display map frame rate control</comment> </property> + <property name="ShowLayersControl" > + <bool value="true" /> + <comment>Display map layer control</comment> + </property> <property name="ShowFilter" > <bool value="true" /> <comment>Display the map's runtime filter control</comment> @@ -1831,6 +1863,9 @@ <int value="5" /> <comment>Map frame rate (number of map refreshes per second)</comment> </property> + <property name="MapLayerMask"> + <int value="-7"/> + </property> <property name="CacheChanges" > <bool value="true" /> <comment>property that controls repaints, true = Just at repaint ast Framerate, or false = Whenever spawn/map info changes in addition to Framerate</comment> Modified: showeq/branches/cn187_devel/src/map.cpp =================================================================== --- showeq/branches/cn187_devel/src/map.cpp 2021-06-22 00:49:58 UTC (rev 1187) +++ showeq/branches/cn187_devel/src/map.cpp 2021-06-22 00:50:04 UTC (rev 1188) @@ -56,6 +56,7 @@ #include <QFileDialog> #include <QEvent> #include <QPushButton> +#include <QToolButton> #include <QLayout> #include <QShortcut> #include <QColorDialog> @@ -359,27 +360,33 @@ void MapMgr::loadZoneMap(const QString& shortZoneName) { - // first attempt to find map with .map suffix - QFileInfo fileInfo = m_dataLocMgr->findExistingFile("maps", - shortZoneName + ".map"); - - // if that file doesn't exist, try a straight .txt suffix - if (!fileInfo.exists()) - fileInfo = m_dataLocMgr->findExistingFile("maps", - shortZoneName + ".txt"); - // if that file doesn't exist, try a _1.txt suffix - if (!fileInfo.exists()) - fileInfo = m_dataLocMgr->findExistingFile("maps", - shortZoneName + "_1.txt"); + bool found = false; + QString extension = ""; - if (fileInfo.exists()) + QStringList mapFiles; + + // find maps + QFileInfo mapFileInfo = m_dataLocMgr->findExistingFile("maps", + shortZoneName + ".map"); + + QFileInfo txtFileInfo = m_dataLocMgr->findExistingFile("maps", + shortZoneName + ".txt"); + + if (mapFileInfo.exists()) { - // load the map if it's not already loaded - if (fileInfo.absoluteFilePath() != m_mapData.fileName()) - loadFileMap(fileInfo.absoluteFilePath()); + found = true; + extension = ".map"; + mapFiles.append(mapFileInfo.absoluteFilePath()); + + } else if (txtFileInfo.exists()) + { + found = true; + extension = ".txt"; + mapFiles.append(txtFileInfo.absoluteFilePath()); } - else + + if (!found) { seqInfo("No Map found for zone '%s'!", shortZoneName.toLatin1().data()); seqInfo(" Checked for all variants of '%s.map', '%s.txt', and '%s_1.txt'", @@ -389,7 +396,22 @@ seqInfo(" in directories '%s' and '%s'!", m_dataLocMgr->userDataDir("maps").absolutePath().toLatin1().data(), m_dataLocMgr->pkgDataDir("maps").absolutePath().toLatin1().data()); + + return; } + + // add other layers + QFileInfo fileInfo; + for (int i = 1; i < 4; ++i) + { + fileInfo = m_dataLocMgr->findExistingFile("maps", + shortZoneName + "_" + QString::number(i) + extension); + + if (fileInfo.exists()) + mapFiles.append(fileInfo.absoluteFilePath()); + } + + loadFileMap(mapFiles); } void MapMgr::loadMap () @@ -398,22 +420,28 @@ qDebug ("loadMap()"); #endif /* DEBUGMAP */ - QString fileName = m_mapData.fileName(); + QStringList fileNames; + for (int i = 0; i < m_mapData.numLayers(); ++i) + { + fileNames.append(m_mapData.mapLayer(i)->fileName()); + } - if (fileName.isEmpty()) - fileName = m_dataLocMgr->findExistingFile("maps", fileName).absoluteFilePath(); + if (fileNames.isEmpty()) + fileNames.append(m_dataLocMgr->findExistingFile("maps", "").absoluteFilePath()); // create a file dialog the defaults to the currently open map - fileName = QFileDialog::getOpenFileName(m_dialogParent, "Load Map", fileName, + // it doesn't look like we can start with all the loaded files selected, + // so we pick the first one, which should be the base map + fileNames = QFileDialog::getOpenFileNames(m_dialogParent, "Load Map", fileNames.first(), "All maps (*.map *.txt);;SEQ maps (*.map);;EQ maps (*.txt)"); - if (fileName.isEmpty ()) + if (fileNames.isEmpty ()) return; - seqInfo("Attempting to load map: %s", fileName.toLatin1().data()); + fileNames.sort(); // load the map - loadFileMap(fileName, false, true); + loadFileMap(fileNames, false, true); } void MapMgr::importMap () @@ -422,22 +450,26 @@ qDebug ("importMap()"); #endif /* DEBUGMAP */ - QString fileName = m_mapData.fileName(); + QStringList fileNames; + for (int i = 0; i < m_mapData.numLayers(); ++i) + { + fileNames.append(m_mapData.mapLayer(i)->fileName()); + } - if (fileName.isEmpty()) - fileName = m_dataLocMgr->findExistingFile("maps", fileName).absoluteFilePath(); + if (fileNames.isEmpty()) + fileNames.append(m_dataLocMgr->findExistingFile("maps", "").absoluteFilePath()); // create a file dialog the defaults to the currently open map - fileName = QFileDialog::getOpenFileName(m_dialogParent, "Import Map", fileName, + fileNames = QFileDialog::getOpenFileNames(m_dialogParent, "Import Map", fileNames.first(), "All maps (*.map *.txt);;SEQ maps (*.map);;EQ maps (*.txt)"); - if (fileName.isEmpty ()) + if (fileNames.isEmpty ()) return; - seqInfo("Attempting to import map: %s", fileName.toLatin1().data()); + fileNames.sort(); // load the map - loadFileMap(fileName, true, true); + loadFileMap(fileNames, true, true); } @@ -447,11 +479,24 @@ qDebug ("loadFileMap()"); #endif /* DEBUGMAP */ + if (import) + seqInfo("Attempting to import map: %s", fileName.toLatin1().data()); + else + seqInfo("Attempting to load map: %s", fileName.toLatin1().data()); + + // if not a forced load, and the same map is already loaded, do nothing - if (!force && m_mapData.mapLoaded() && - (m_mapData.fileName() == fileName)) - return; + if (!force) + { + for (int i = 0; i < m_mapData.numLayers(); ++i) + { + if (m_mapData.mapLayer(i)->mapLoaded() && + m_mapData.mapLayer(i)->fileName() == fileName) + return; + } + } + // load the specified map if (!fileName.endsWith(".txt")) m_mapData.loadMap(fileName, import); @@ -489,22 +534,45 @@ m_mapData.updateBounds(); // signal that the map has been loaded - if (m_mapData.mapLoaded()) + // note, the layers are populated in order, so the highest layer + // number (0-indexed) will be the one we just loaded + if (m_mapData.mapLayer(m_mapData.numLayers()-1)->mapLoaded()) emit mapLoaded(); } // END loadFileMap +void MapMgr::loadFileMap (const QStringList& files, bool import, bool force) +{ + QStringList::const_iterator it = files.begin(); + for (; it != files.end(); ++it) + { + // if we're loading multiple files, it doesn't sense to load and + // immediately clear/replace each one. So if import isn't specified, + // we clear the current maps, load the first one, then import the + // rest as layers + if (!import && it == files.begin()) + loadFileMap(*it, false, force); + else + loadFileMap(*it, true, force); + } +} + + void MapMgr::saveMap () { #ifdef DEBUGMAP qDebug ("saveMap()"); #endif /* DEBUGMAP */ - QFileInfo fileInfo(m_mapData.fileName()); - fileInfo = m_dataLocMgr->findWriteFile("maps", fileInfo.baseName() + ".map", + for (int i = 0; i < m_mapData.numLayers(); ++i) + { + QFileInfo fileInfo(m_mapData.mapLayer(i)->fileName()); + + fileInfo = m_dataLocMgr->findWriteFile("maps", fileInfo.baseName() + ".map", false); - m_mapData.saveMap(fileInfo.absoluteFilePath()); + m_mapData.saveMap(fileInfo.absoluteFilePath(), i); + } } void MapMgr::saveSOEMap () @@ -512,12 +580,16 @@ #ifdef DEBUGMAP qDebug ("saveMap()"); #endif /* DEBUGMAP */ - QFileInfo fileInfo(m_mapData.fileName()); - fileInfo = m_dataLocMgr->findWriteFile("maps", fileInfo.baseName() + "_2.txt", + for (int i = 0; i < m_mapData.numLayers(); ++i) + { + QFileInfo fileInfo(m_mapData.mapLayer(i)->fileName()); + + fileInfo = m_dataLocMgr->findWriteFile("maps", fileInfo.baseName() + ".txt", false); - m_mapData.saveSOEMap(fileInfo.absoluteFilePath()); + m_mapData.saveSOEMap(fileInfo.absoluteFilePath(), i); + } } void MapMgr::addItem(const Item* item) @@ -696,6 +768,16 @@ emit mapUpdated(); } +void MapMgr::setEditLayer(int layerNum) +{ + if (layerNum >= m_mapData.numLayers()) + return; + + m_mapData.setEditLayer(layerNum); + + emit editLayerChanged(); +} + void MapMgr::savePrefs(void) { #if 0 // ZBTEMP: Migrate to place where ever this is set @@ -710,8 +792,6 @@ out << "DefaultLineName: " << m_curLineName << endl; out << "DefaultLocationColor: " << m_curLocationColor << endl; out << "ImageLoaded: " << m_mapData.imageLoaded() << endl; - out << "MapLoaded: " << m_mapData.mapLoaded() << endl; - out << "MapFileName: " << m_mapData.fileName() << endl; out << "ZoneShortName: " << m_mapData.zoneShortName() << endl; out << "ZoneLongName: " << m_mapData.zoneLongName() << endl; out << "boundingRect: top(" << m_mapData.boundingRect().top() @@ -721,9 +801,16 @@ out << "size: width(" << m_mapData.size().width() << ") height(" << m_mapData.size().height() << ")" << endl; out << "ZoneZEM: " << m_mapData.zoneZEM() << endl; - out << "LLines: " << m_mapData.lLines().count() << endl; - out << "MLines: " << m_mapData.mLines().count() << endl; - out << "Locations: " << m_mapData.locations().count() << endl; + out << "numLayers: " << m_mapData.numLayers() << endl; + for (int i = 0; i < m_mapData.numLayers(); ++i) + { + out << "Layer " << i << ":" << endl; + out << "\tMapFileName: " << m_mapData.mapLayer(i)->fileName() << endl; + out << "\tMapLoaded: " << m_mapData.mapLayer(i)->mapLoaded() << endl; + out << "\tLLines: " << m_mapData.mapLayer(i)->lLines().count() << endl; + out << "\tMLines: " << m_mapData.mapLayer(i)->mLines().count() << endl; + out << "\tLocations: " << m_mapData.mapLayer(i)->locations().count() << endl; + } out << "Aggros: " << m_mapData.aggros().count() << endl; out << endl; } @@ -786,6 +873,28 @@ * - cn187 */ + QWidget* tmpWidget = new QWidget(subMenu); + QHBoxLayout* tmpLayout = new QHBoxLayout(tmpWidget); + tmpLayout->setContentsMargins(1, 1, 1, 1); + m_editLayerSpinBox = new QSpinBox(tmpWidget); + QLabel* tmpLabel = new QLabel("Edit Layer:", tmpWidget); + tmpLayout->addWidget(tmpLabel); + tmpLayout->addWidget(m_editLayerSpinBox); + QWidgetAction* tmpWidgetAction = new QWidgetAction(subMenu); + tmpWidgetAction->setDefaultWidget(tmpWidget); + subMenu->addAction(tmpWidgetAction); + + m_editLayerSpinBox->setMinimum(0); + m_editLayerSpinBox->setSingleStep(1); + m_editLayerSpinBox->setMaximum(m_map->mapMgr()->mapData().numLayers()-1); + m_editLayerSpinBox->setValue(m_map->mapMgr()->mapData().editLayer()); + + connect(m_editLayerSpinBox, SIGNAL(valueChanged(int)), + m_map->mapMgr(), SLOT(setEditLayer(int))); + + connect(m_map->mapMgr(), SIGNAL(mapLoaded(void)), this, SLOT(editLayerChanged(void))); + connect(m_map->mapMgr(), SIGNAL(editLayerChanged(void)), this, SLOT(editLayerChanged(void))); + key = pSEQPrefs->getPrefKey("AddLocationKey", preferenceName, "Ctrl+O"); m_action_addLocation = subMenu->addAction( QString("Add Location...\t") + key.toString(), m_map, SLOT(addLocation())); @@ -1248,6 +1357,15 @@ m_action_FOVScaledClassic->setChecked(fovMode == tFOVScaledClassic); m_action_FOVClassic->setChecked(fovMode == tFOVClassic); } + +void MapMenu::editLayerChanged(void) +{ + m_editLayerSpinBox->setMinimum(0); + m_editLayerSpinBox->setSingleStep(1); + m_editLayerSpinBox->setMaximum(m_map->mapMgr()->mapData().numLayers()-1); + m_editLayerSpinBox->setValue(m_map->mapMgr()->mapData().editLayer()); +} + void MapMenu::select_follow(QAction* item) { int mode = item->data().value<int>(); @@ -1707,6 +1825,12 @@ tmpPrefString = "ShowInstanceLocationMarker"; m_showInstanceLocationMarker = pSEQPrefs->getPrefBool(tmpPrefString, prefString, false); + tmpPrefString = "MapLayerMask"; + uint32_t mask = pSEQPrefs->getPrefInt(tmpPrefString, prefString, 0xffffffff); + for (int i = 0; i < 32; ++i) + m_param.setLayerVisibility(i, mask & (1 << i)); + + // Accelerators QShortcut *tmpShortcut = nullptr; QKeySequence key; @@ -2855,6 +2979,25 @@ refreshMap (); } +void Map::toggleMapLayerVisibility(QAction* layer) +{ + int layerNum = layer->data().value<int>(); + int layerChecked = layer->isChecked(); + + m_param.setLayerVisibility(layerNum, layerChecked); + + QString tmpPrefString = "MapLayerMask"; + uint32_t mask = pSEQPrefs->getPrefInt(tmpPrefString, preferenceName(), 0xffffffff); + if (layerChecked) + mask |= (1 << layerNum); + else + mask &= ~(1 << layerNum); + pSEQPrefs->setPrefInt(tmpPrefString, preferenceName(), mask); + + if(!m_cacheChanges) + refreshMap(); +} + void Map::dumpInfo(QTextStream& out) { out << "[" << preferenceName() << "]" << endl; @@ -4735,6 +4878,23 @@ #endif topControlBoxLayout->addWidget(m_filterBox); + // setup Layers control + m_layersBox = new QWidget(m_bottomControlBox); + m_layersBox->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + QHBoxLayout* layersBoxLayout = new QHBoxLayout(m_layersBox); + layersBoxLayout->setSpacing(1); + layersBoxLayout->setMargin(0); + + loadLayerButtons(); + + tmpPrefString = "ShowLayersControl"; + if (!pSEQPrefs->getPrefBool(tmpPrefString, prefString, 1)) + m_layersBox->hide(); + + bottomControlBoxLayout->addWidget(m_layersBox); + + connect(mapMgr, SIGNAL(mapLoaded()), this, SLOT(mapLoaded())); + // setup Frame Rate control m_frameRateBox = new QWidget(m_bottomControlBox); m_frameRateBox->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); @@ -4909,6 +5069,10 @@ subMenu = new QMenu("Bottom Controls"); + m_action_layers = subMenu->addAction("Show Layer Controls", this, + SLOT(toggle_layers())); + m_action_layers->setCheckable(true); + m_action_frameRate = subMenu->addAction("Show Frame Rate", this, SLOT(toggle_frameRate())); m_action_frameRate->setCheckable(true); @@ -5027,6 +5191,74 @@ m_map->savePrefs(); } +void MapFrame::mapLoaded() +{ + loadLayerButtons(); +} + + +void MapFrame::loadLayerButtons() +{ + + //delete existing buttons + QLayout* layersBoxLayout = m_layersBox->layout(); + QLayoutItem* item; + while ((item = layersBoxLayout->takeAt(0))) + { + if (item) + { + delete item->widget(); + delete item; + } + } + + QLabel* tmpLabel = new QLabel(m_layersBox); + tmpLabel->setText("Layers:"); + layersBoxLayout->addWidget(tmpLabel); + + QToolButton* tmpButton = NULL; + int w = tmpLabel->minimumSizeHint().width(); + + QAction* tmpAction = NULL; + + int numLayers = m_map->mapMgr()->mapData().numLayers(); + + for (int i = 0; i < numLayers; ++i) + { + QString label; + if (i == 0) + label = "Base"; + else + label = QString::number(i); + + tmpAction = new QAction(tmpButton); + tmpAction->setText(label); + tmpAction->setCheckable(true); + tmpAction->setData(i); + tmpAction->setChecked(m_map->isLayerVisible(i)); + + tmpButton = new QToolButton(); + tmpButton->setDefaultAction(tmpAction); + tmpButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); + tmpButton->setMinimumWidth(fontMetrics().width(label)); + + layersBoxLayout->addWidget(tmpButton); + w += fontMetrics().width(label); + + connect(tmpButton, SIGNAL(triggered(QAction*)), + m_map, SLOT(toggleMapLayerVisibility(QAction*))); + } + + //minimum width should be the sum of all the minimum widths of the components + //minimum height should be the minimum height of the tallest component + m_layersBox->setMinimumSize(tmpLabel->minimumSizeHint().width() + w, + qMax(tmpLabel->minimumSizeHint().height(), + (tmpButton) ? tmpButton->minimumSizeHint().height():0)); + + + +} + void MapFrame::dumpInfo(QTextStream& out) { // first dump information about the map frame @@ -5039,6 +5271,7 @@ out << "ShowFilter: " << m_filterBox->isVisible() << endl; out << "ShowControlBox: " << m_bottomControlBox->isVisible() << endl; out << "ShowFrameRate: " << m_frameRateBox->isVisible() << endl; + out << "ShowLayersControl: " << m_layersBox->isVisible() << endl; out << "ShowPanControls: " << m_panBox->isVisible() << endl; out << "ShowDepthFilterControls: " << m_depthControlBox->isVisible() << endl; out << "CurrentFilter: '" << m_lastFilter << "'" << endl; @@ -5066,6 +5299,7 @@ m_action_bottomControl->setChecked(m_bottomControlBox->isVisible()); if (m_bottomControlBox->isVisible()) { + m_action_layers->setChecked(m_layersBox->isVisible()); m_action_frameRate->setChecked(m_frameRateBox->isVisible()); m_action_pan->setChecked(m_panBox->isVisible()); m_action_depthControlRoom->setChecked(m_depthControlBox->isVisible()); @@ -5196,6 +5430,21 @@ } } +void MapFrame::toggle_layers() +{ + if (m_layersBox->isVisible()) + m_layersBox->hide(); + else + m_layersBox->show(); + + QString tmpPrefString = "SaveControls"; + if (pSEQPrefs->getPrefBool(tmpPrefString, preferenceName(), true)) + { + tmpPrefString = "ShowLayersControl"; + pSEQPrefs->setPrefBool(tmpPrefString, preferenceName(), m_layersBox->isVisible()); + } +} + void MapFrame::toggle_pan() { if (m_panBox->isVisible()) Modified: showeq/branches/cn187_devel/src/map.h =================================================================== --- showeq/branches/cn187_devel/src/map.h 2021-06-22 00:49:58 UTC (rev 1187) +++ showeq/branches/cn187_devel/src/map.h 2021-06-22 00:50:04 UTC (rev 1188) @@ -173,6 +173,8 @@ void importMap(void); void loadFileMap(const QString& fileName, bool import = false, bool force = false); + void loadFileMap(const QStringList& files, + bool import = false, bool force = false); void saveMap(void); void saveSOEMap(void); @@ -196,6 +198,8 @@ void scaleDownZ(int16_t); void scaleUpZ(int16_t); + void setEditLayer(int layerNum); + // Preference handling void savePrefs(void); @@ -206,6 +210,7 @@ void mapLoaded(void); void mapUnloaded(void); void mapUpdated(void); + void editLayerChanged(void); private: const DataLocationMgr* m_dataLocMgr; @@ -235,6 +240,8 @@ void init_Menu(void); void init_fovMenu(void); + void editLayerChanged(void); + void select_follow(QAction* item); void select_mapLine(QAction* item); @@ -285,6 +292,7 @@ QSpinBox* m_fovSpinBox; QSpinBox* m_drawSizeSpinBox; QSpinBox* m_zoomDefaultSpinBox; + QSpinBox* m_editLayerSpinBox; QAction* m_action_followMenu_Player; QAction* m_action_followMenu_Spawn; QAction* m_action_followMenu_None; @@ -439,7 +447,9 @@ bool showGridLines() const { return m_param.showGridLines(); } bool showGridTicks() const { return m_param.showGridTicks(); } bool cacheAlwaysRepaint() const { return m_mapCache.alwaysRepaint(); } - + + bool isLayerVisible(uint8_t layerNum) const { return m_param.isLayerVisible(layerNum); } + public slots: void savePrefs(void); void saveMapImage(void); @@ -456,6 +466,8 @@ void mapUnloaded(void); void mapUpdated(void); + void toggleMapLayerVisibility(QAction* layer); + // map editing void addLocation(); void startLine(); @@ -695,6 +707,8 @@ Map* map() { return m_map; } const QString& mapPreferenceName() { return m_mapPreferenceName; } + void loadLayerButtons(void); + public slots: void regexpok(int ok); void setregexp(const QString&); @@ -703,6 +717,7 @@ void setPlayer(int16_t x, int16_t y, int16_t z, int16_t Dx, int16_t Dy, int16_t Dz, int32_t degrees); virtual void savePrefs(void); + void mapLoaded(void); // dump debug info void dumpInfo(QTextStream& out); @@ -717,6 +732,7 @@ void toggle_mouseLocation(); void toggle_filter(); void toggle_frameRate(); + void toggle_layers(); void toggle_pan(); void toggle_depthControls(); void set_font(); @@ -745,6 +761,7 @@ MapFilterLineEdit* m_filter; QWidget* m_bottomControlBox; + QWidget* m_layersBox; QWidget* m_frameRateBox; QSpinBox* m_frameRate; QWidget* m_panBox; @@ -763,6 +780,7 @@ QAction* m_action_filter; QAction* m_action_topControl_Options; QAction* m_action_frameRate; + QAction* m_action_layers; QAction* m_action_pan; QAction* m_action_depthControlRoom; QAction* m_action_bottomControl_Options; Modified: showeq/branches/cn187_devel/src/mapcore.cpp =================================================================== --- showeq/branches/cn187_devel/src/mapcore.cpp 2021-06-22 00:49:58 UTC (rev 1187) +++ showeq/branches/cn187_devel/src/mapcore.cpp 2021-06-22 00:50:04 UTC (rev 1188) @@ -262,6 +262,20 @@ m_playerFloorRoom = m_curPlayer.z() - m_floorRoom; } +bool MapParameters::isLayerVisible(uint8_t layerNum) const +{ + return m_layerVisibility & (1 << layerNum); +} + +void MapParameters::setLayerVisibility(uint8_t layerNum, bool isVisible) +{ + if (isVisible) + m_layerVisibility |= (1 << layerNum); + else + m_layerVisibility &= ~(1 << layerNum); +} + + //---------------------------------------------------------------------- // MapCommon MapCommon::~MapCommon() @@ -397,17 +411,24 @@ { } - //---------------------------------------------------------------------- -// MapData -MapData::MapData() +// MapLayer +MapLayer::MapLayer() { - // clear the structure clear(); } -MapData::~MapData() +MapLayer::~MapLayer() { + clear(); +} + +void MapLayer::clear() +{ + + m_mapLoaded = false; + m_fileName = QString(); + qDeleteAll(m_lLines); m_lLines.clear(); @@ -416,7 +437,23 @@ qDeleteAll(m_locations); m_locations.clear(); +} + +//---------------------------------------------------------------------- +// MapData +MapData::MapData() +{ + // clear the structure + clear(); +} + +MapData::~MapData() +{ + + qDeleteAll(m_mapLayers); + m_mapLayers.clear(); + qDeleteAll(m_aggros); m_aggros.clear(); } @@ -423,7 +460,6 @@ void MapData::clear() { - m_fileName = ""; m_zoneLongName = ""; m_zoneShortName = ""; m_minX = -50; @@ -432,26 +468,29 @@ m_maxY = 50; updateBounds(); - qDeleteAll(m_lLines); - m_lLines.clear(); + qDeleteAll(m_mapLayers); + m_mapLayers.clear(); - qDeleteAll(m_mLines); - m_mLines.clear(); - - qDeleteAll(m_locations); - m_locations.clear(); - qDeleteAll(m_aggros); m_aggros.clear(); - m_mapLoaded = false; m_imageLoaded = false; m_editLineM = NULL; m_editLocation = NULL; m_zoneZEM = 75; + + m_editLayer = 0; } +MapLayer* MapData::mapLayer(uint8_t layerNum) +{ + if (layerNum < m_mapLayers.count()) + return m_mapLayers[layerNum]; + + return NULL; +} + void MapData::loadMap(const QString& fileName, bool import) { int16_t mx, my, mz; @@ -466,10 +505,8 @@ uint32_t specifiedLinePoints; MapLineL* currentLineL = NULL; MapLineM* currentLineM = NULL; + MapLayer* layer = NULL; - // set the map filename - setFileName(fileName); - // clear any existing map data (if not importing) if (!import) clear(); @@ -488,8 +525,10 @@ return; } - // note the file name - m_fileName = fileName; + layer = new MapLayer(); + + // note the file name + layer->setFileName(fileName); // allocate memory in a QByteArray to hold the entire file contents QByteArray textData(mapFile.size() + 1, '\0'); @@ -655,7 +694,7 @@ quickCheckPos(bounds.right(), bounds.bottom()); // add it to the list of L lines - m_mLines.append(currentLineM); + layer->mLines().append(currentLineM); } break; @@ -743,7 +782,7 @@ quickCheckPos(bounds.right(), bounds.bottom()); // add it to the list of L lines - m_lLines.append(currentLineL); + layer->lLines().append(currentLineL); } break; @@ -771,15 +810,15 @@ mz = (*fit++).toShort(); // add the appropriate style Location depending on if the global height is set - m_locations.append(new MapLocation(name, color, mx, my, mz)); + layer->locations().append(new MapLocation(name, color, mx, my, mz)); } // add the appropriate style Location depending on if the global // height has been set if (globHeightSet) - m_locations.append(new MapLocation(name, color, mx, my, globHeight)); + layer->locations().append(new MapLocation(name, color, mx, my, globHeight)); else - m_locations.append(new MapLocation(name, color, mx, my)); + layer->locations().append(new MapLocation(name, color, mx, my)); // adjust map boundaries quickCheckPos(mx, my); @@ -877,8 +916,9 @@ // calculate the bounding rect updateBounds(); - m_mapLoaded = true; - + m_mapLayers.append(layer); + layer->setMapLoaded(true); + m_imageLoaded = false; QString imageFileName = fileName; imageFileName.truncate(imageFileName.lastIndexOf('.')); @@ -905,13 +945,15 @@ QString name; MapLineM* currentLineM = 0; size_t count; + MapLayer* layer = NULL; // if the same map is already loaded, don't reload it. - if (m_mapLoaded && (m_fileName.toLower() == fileName.toLower())) - return; + for (int i = 0; i < m_mapLayers.count(); ++i) + { + if (m_mapLayers[i]->mapLoaded() && m_mapLayers[i]->fileName().toLower() == fileName.toLower()) + return; + } - // set the map filename - setFileName(fileName); // clear any existing map data if not importing if (!import) @@ -930,8 +972,10 @@ return; } + layer = new MapLayer(); + // note the file name - m_fileName = fileName; + layer->setFileName(fileName); // allocate memory in a QByteArray to hold the entire file contents QByteArray textData(mapFile.size() + 1, '\0'); @@ -959,7 +1003,7 @@ // use the file base name as the zone long/short name, it isn't perfect, // but neither is this file format - QFileInfo fileInfo(m_fileName); + QFileInfo fileInfo(fileName); QRegExp reStripTrailer("_[1-3]"); m_zoneLongName = fileInfo.baseName().remove(reStripTrailer); @@ -1039,7 +1083,7 @@ currentLineM->setPoint(checkPoint = numPoints++, x1, y1, z1); // add it to the list of M lines - m_mLines.append(currentLineM); + layer->mLines().append(currentLineM); } else { @@ -1091,7 +1135,7 @@ name.replace("_", " "); // add it to the list of locations - m_locations.append(new MapLocation(name, QColor(r, g, b), + layer->locations().append(new MapLocation(name, QColor(r, g, b), x1, y1, z1)); // adjust map boundaries @@ -1105,8 +1149,9 @@ // calculate the bounding rect updateBounds(); - m_mapLoaded = true; - + m_mapLayers.append(layer); + layer->setMapLoaded(true); + m_imageLoaded = false; QString imageFileName = fileName; imageFileName.truncate(imageFileName.lastIndexOf('.')); @@ -1121,7 +1166,7 @@ seqInfo("Loaded SOE map: '%s'", fileName.toLatin1().data()); } -void MapData::saveMap(const QString& fileName) const +void MapData::saveMap(const QString& fileName, const uint8_t layerNum) const { #ifdef DEBUG qDebug ("saveMap()"); @@ -1129,15 +1174,9 @@ FILE * fh; uint32_t i; - QString filename; - if (!fileName.isEmpty()) - filename = fileName; - else - filename = m_fileName; - - if ((fh = fopen(filename.toLatin1().data(), "w")) == NULL) + if ((fh = fopen(fileName.toLatin1().data(), "w")) == NULL) { - seqWarn("Error saving map '%s'!", filename.toLatin1().data()); + seqWarn("Error saving map '%s'!", fileName.toLatin1().data()); return; } @@ -1153,10 +1192,9 @@ bool heightSet = false; int16_t lastHeightSet = 0; MapLineL* currentLineL; - QList<MapLineL*>::const_iterator mlit = m_lLines.begin(); - for (mlit = m_lLines.begin(); - mlit != m_lLines.end() && *mlit != NULL; - ++mlit) + QList<MapLineL*>::const_iterator mlit = m_mapLayers[layerNum]->lLines().begin(); + for (mlit = m_mapLayers[layerNum]->lLines().begin(); + mlit != m_mapLayers[layerNum]->lLines().end(); ++mlit) { currentLineL = *mlit; // was the global height set? @@ -1194,10 +1232,9 @@ // write out the M (3D) lines MapLineM* currentLineM; - QList<MapLineM*>::const_iterator mmit = m_mLines.begin(); - for (mmit = m_mLines.begin(); - mmit != m_mLines.end() && *mmit != NULL; - ++mmit) + QList<MapLineM*>::const_iterator mmit = m_mapLayers[layerNum]->mLines().begin(); + for (mmit = m_mapLayers[layerNum]->mLines().begin(); + mmit != m_mapLayers[layerNum]->mLines().end(); ++mmit) { currentLineM = *mmit; // write out the start of the line info @@ -1219,8 +1256,8 @@ } // write out location information - QList<MapLocation*>::const_iterator lit = m_locations.begin(); - for(; lit != m_locations.end() && *lit != NULL; ++lit) + QList<MapLocation*>::const_iterator lit = m_mapLayers[layerNum]->locations().begin(); + for(; lit != m_mapLayers[layerNum]->locations().end(); ++lit) { MapLocation* currentLoc = *lit; @@ -1251,16 +1288,17 @@ #ifdef DEBUGMAP seqDebug("saveMap() - map '%s' saved with %d L lines, %d M lines, %d locations", - filename.toLatin1().data(), - m_lLines.count(), m_mLines.count(), m_locations.count()); + fileName.toLatin1().data(), + m_mapLayers[layerNum].m_lLines().count(), m_mapLayers[layerNum].m_mLines().count(), + m_mapLayers[layerNum].m_locations().count()); #endif fclose (fh); - seqInfo("Saved map: '%s'", filename.toLatin1().data()); + seqInfo("Saved map: '%s'", fileName.toLatin1().data()); } -void MapData::saveSOEMap(const QString& fileName) const +void MapData::saveSOEMap(const QString& fileName, const uint8_t layerNum) const { #ifdef DEBUG qDebug ("saveMap()"); @@ -1268,15 +1306,9 @@ FILE * fh; uint i; - QString filename; - if (!fileName.isEmpty()) - filename = fileName; - else - filename = m_fileName; - - if ((fh = fopen(filename.toLatin1().data(), "w")) == NULL) + if ((fh = fopen(fileName.toLatin1().data(), "w")) == NULL) { - seqWarn("Error saving map '%s'!", filename.toLatin1().data()); + seqWarn("Error saving map '%s'!", fileName.toLatin1().data()); return; } @@ -1285,8 +1317,8 @@ float z1; QString name; MapLineL* currentLineL; - QList<MapLineL*>::const_iterator mlit = m_lLines.begin(); - for (; mlit != m_lLines.end() && *mlit != NULL; ++mlit) + QList<MapLineL*>::const_iterator mlit = m_mapLayers[layerNum]->lLines().begin(); + for (; mlit != m_mapLayers[layerNum]->lLines().end(); ++mlit) { currentLineL = *mlit; z1 = float(currentLineL->z()); @@ -1316,10 +1348,10 @@ fprintf (fh, "\n"); } - // write out the M (3D) lines + // write out the M (3D) lines) MapLineM* currentLineM; - QList<MapLineM*>::const_iterator mmit = m_mLines.begin(); - for (; mmit != m_mLines.end() && *mmit != NULL; ++mmit) + QList<MapLineM*>::const_iterator mmit = m_mapLayers[layerNum]->mLines().begin(); + for (; mmit != m_mapLayers[layerNum]->mLines().end(); ++mmit) { currentLineM = *mmit; const QColor& color = currentLineM->color(); @@ -1345,9 +1377,9 @@ } // write out location information - QList<MapLocation*>::const_iterator lit = m_locations.begin(); + QList<MapLocation*>::const_iterator lit = m_mapLayers[layerNum]->locations().begin(); MapLocation* currentLoc; - for (; lit != m_locations.end() && *lit != NULL; ++lit) + for (; lit != m_mapLayers[layerNum]->locations().end(); ++lit) { currentLoc = *lit; const QColor& color = currentLoc->color(); @@ -1364,13 +1396,14 @@ } #ifdef DEBUGMAP seqDebug("saveMap() - map '%s' saved with %d L lines, %d M lines, %d locations", - filename.toLatin1().data(), - m_lLines.count(), m_mLines.count(), m_locations.count()); + fileName.toLatin1().data(), + m_mapLayers[layerNum]->m_lLines().count(), m_mapLayers[layerNum]->m_mLines().count(), + m_mapLayers[layerNum]->m_locations().count()); #endif fclose (fh); - seqInfo("Saved SOE map: '%s'", filename.toLatin1().data()); + seqInfo("Saved SOE map: '%s'", fileName.toLatin1().data()); } bool MapData::isAggro(const QString& name, uint16_t* range) const @@ -1397,11 +1430,13 @@ const QString& color, const QPoint& point) { + if (m_editLayer >= m_mapLayers.count()) + return; // create the new location m_editLocation = new MapLocation(name, color, point); // add it to the list of locations - m_locations.append(m_editLocation); + m_mapLayers[m_editLayer]->locations().append(m_editLocation); } void MapData::setLocationName(const QString& name) @@ -1428,6 +1463,10 @@ const QString& color, const MapPoint& point) { + + if (m_editLayer >= m_mapLayers.count()) + return; + // create the new line, with just the first point m_editLineM = new MapLineM(name, color, point); @@ -1435,7 +1474,7 @@ m_editLineM->calcBounds(); // add line to the line list - m_mLines.append(m_editLineM); + m_mapLayers[m_editLayer]->mLines().append(m_editLineM); } void MapData::addLinePoint(const MapPoint& point) @@ -1462,6 +1501,9 @@ if (m_editLineM == NULL) return; + if (m_editLayer >= m_mapLayers.count()) + return; + // remove the last entry from the line m_editLineM->resize(m_editLineM->size() - 1); @@ -1469,7 +1511,7 @@ if (m_editLineM->size() == 0) { // remove the line - delete m_mLines.takeAt(m_mLines.indexOf(m_editLineM)); + delete m_mapLayers[m_editLayer]->mLines().takeAt(m_mapLayers[m_editLayer]->mLines().indexOf(m_editLineM)); // clear the currently edited line entry m_editLineM = NULL; @@ -1503,10 +1545,14 @@ void MapData::scaleDownZ(int16_t factor) { + + if (m_editLayer >= m_mapLayers.count()) + return; + // first scale down the L lines MapLineL* currentLineL; - QList<MapLineL*>::const_iterator mlit = m_lLines.begin(); - for (; mlit != m_lLines.end() && *mlit != NULL; ++mlit) + QList<MapLineL*>::const_iterator mlit = m_mapLayers[m_editLayer]->lLines().begin(); + for (; mlit != m_mapLayers[m_editLayer]->lLines().end(); ++mlit) { currentLineL = *mlit; currentLineL->setZPos(currentLineL->z() / factor); @@ -1517,8 +1563,8 @@ MapPoint* mData; size_t numPoints; size_t i; - QList<MapLineM*>::const_iterator mmit = m_mLines.begin(); - for (; mmit != m_mLines.end() && *mmit != NULL; ++mmit) + QList<MapLineM*>::const_iterator mmit = m_mapLayers[m_editLayer]->mLines().begin(); + for (; mmit != m_mapLayers[m_editLayer]->mLines().end(); ++mmit) { currentLineM = *mmit; // get the number of points in the line @@ -1534,10 +1580,14 @@ void MapData::scaleUpZ(int16_t factor) { + + if (m_editLayer >= m_mapLayers.count()) + return; + // first scale down the L lines MapLineL* currentLineL; - QList<MapLineL*>::const_iterator mlit = m_lLines.begin(); - for (; mlit != m_lLines.end() && *mlit != NULL; ++mlit) + QList<MapLineL*>::const_iterator mlit = m_mapLayers[m_editLayer]->lLines().begin(); + for (; mlit != m_mapLayers[m_editLayer]->lLines().end(); ++mlit) { currentLineL = *mlit; currentLineL->setZPos(currentLineL->z() * factor); @@ -1548,8 +1598,8 @@ MapPoint* mData; size_t numPoints; size_t i; - QList<MapLineM*>::const_iterator mmit = m_mLines.begin(); - for (; mmit != m_mLines.end() && *mmit != NULL; ++mmit) + QList<MapLineM*>::const_iterator mmit = m_mapLayers[m_editLayer]->mLines().begin(); + for (; mmit != m_mapLayers[m_editLayer]->mLines().end(); ++mmit) { currentLineM = *mmit; // get the number of points in the line @@ -1686,103 +1736,111 @@ QPoint* lData; MapPoint* mData; - // first paint the L lines - QList<MapLineL*>::const_iterator mlit = m_lLines.begin(); - for (; mlit != m_lLines.end() && *mlit != NULL; ++mlit) + + for (int i = 0; i < m_mapLayers.count(); ++i) { - currentLineL = *mlit; - // if line is outside the currently visible region, skip it. - if (!currentLineL->boundingRect().intersects(screenBounds)) - continue; + MapLayer* layer = m_mapLayers[i]; + if (!param.isLayerVisible(i)) + continue; - // get the number of points in the line - numPoints = currentLineL->size(); + // first paint the L lines + QList<MapLineL*>::const_iterator mlit = layer->lLines().begin(); + for (; mlit != layer->lLines().end(); ++mlit) + { + currentLineL = *mlit; + // if line is outside the currently visible region, skip it. + if (!currentLineL->boundingRect().intersects(screenBounds)) + continue; - // get the underlying array - lData = currentLineL->data(); + // get the number of points in the line + numPoints = currentLineL->size(); - // set pen color -#ifdef DEBUGMAP - seqDebug("lineColor = '%s'", (char *) currentLineL->color()); -#endif - p.setPen(currentLineL->color()); + // get the underlying array + lData = currentLineL->data(); - cur2DX_1 = lData[0].x(); - cur2DY_1 = lData[0].y(); + // set pen color + #ifdef DEBUGMAP + seqDebug("lineColor = '%s'", (char *) currentLineL->color()); + #endif + p.setPen(currentLineL->color()); - // see if the starting position is in bounds - lastInBounds = inRect(screenBounds, cur2DX_1, cur2DY_1); + cur2DX_1 = lData[0].x(); + cur2DY_1 = lData[0].y(); - // iterate over all the points in the line - for (uint32_t i = 1; i < numPoints; i++) - { - cur2DX_2 = lData[i].x(); - cur2DY_2 = lData[i].y(); + // see if the starting position is in bounds + lastInBounds = inRect(screenBounds, cur2DX_1, cur2DY_1); - // determine if the current position is in bounds - curInBounds = inRect(screenBounds, cur2DX_2, cur2DY_2); + // iterate over all the points in the line + for (uint32_t i = 1; i < numPoints; i++) + { + cur2DX_2 = lData[i].x(); + cur2DY_2 = lData[i].y(); - // draw the line segment if either end is in bounds - if (lastInBounds || curInBounds) - p.drawLine(param.calcXOffsetI(cur2DX_1), - param.calcYOffsetI(cur2DY_1), - param.calcXOffsetI(cur2DX_2), - param.calcYOffsetI(cur2DY_2)); + // determine if the current position is in bounds + curInBounds = inRect(screenBounds, cur2DX_2, cur2DY_2); - // current becomes the last - lastInBounds = curInBounds; - cur2DX_1 = cur2DX_2; - cur2DY_1 = cur2DY_2; + // draw the line segment if either end is in bounds + if (lastInBounds || curInBounds) + p.drawLine(param.calcXOffsetI(cur2DX_1), + param.calcYOffsetI(cur2DY_1), + param.calcXOffsetI(cur2DX_2), + param.calcYOffsetI(cur2DY_2)); + + // current becomes the last + lastInBounds = curInBounds; + cur2DX_1 = cur2DX_2; + cur2DY_1 = cur2DY_2; + } } - } - // then paint the M lines - QList<MapLineM*>::const_iterator mmit = m_mLines.begin(); - for (; mmit != m_mLines.end() && *mmit != NULL; ++mmit) - { - currentLineM = *mmit; - // if line is outside the currently visible region, skip it. - if (!currentLineM->boundingRect().intersects(screenBounds)) - continue; + // then paint the M lines + QList<MapLineM*>::const_iterator mmit = layer->mLines().begin(); + for (; mmit != layer->mLines().end(); ++mmit) + { + currentLineM = *mmit; + // if line is outside the currently visible region, skip it. + if (!currentLineM->boundingRect().intersects(screenBounds)) + continue; - // get the number of points in the line - numPoints = currentLineM->size(); + // get the number of points in the line + numPoints = currentLineM->size(); - // get the underlying array - mData = currentLineM->data(); + // get the underlying array + mData = currentLineM->data(); - // set pen color -#ifdef DEBUGMAP - seqDebug("lineColor = '%s'", (char *) currentLineM->color()); -#endif - p.setPen(currentLineM->color()); + // set pen color + #ifdef DEBUGMAP + seqDebug("lineColor = '%s'", (char *) currentLineM->color()); + #endif + p.setPen(currentLineM->color()); - curX_1 = mData[0].x(); - curY_1 = mData[0].y(); + curX_1 = mData[0].x(); + curY_1 = mData[0].y(); - // see if the starting position is in bounds - lastInBounds = inRect(screenBounds, curX_1, curY_1); + // see if the starting position is in bounds + lastInBounds = inRect(screenBounds, curX_1, curY_1); - // iterate over all the points in the line - for (uint32_t i = 1; i < numPoints; i++) - { - curX_2 = mData[i].x(); - curY_2 = mData[i].y(); + // iterate over all the points in the line + for (uint32_t i = 1; i < numPoints; i++) + { + curX_2 = mData[i].x(); + curY_2 = mData[i].y(); - // determine if the current position is in bounds - curInBounds = inRect(screenBounds, curX_2, curY_2); + // determine if the current position is in bounds + curInBounds = inRect(screenBounds, curX_2, curY_2); - // draw the line segment if either end is in bounds - if (lastInBounds || curInBounds) - p.drawLine(param.calcXOffsetI(curX_1), - param.calcYOffsetI(curY_1), - param.calcXOffsetI(curX_2), - param.calcYOffsetI(curY_2)); + // draw the line segment if either end is in bounds + if (lastInBounds || curInBounds) + p.drawLine(param.calcXOffsetI(curX_1), + param.calcYOffsetI(curY_1), + param.calcXOffsetI(curX_2), + param.calcYOffsetI(curY_2)); - // current becomes the last - lastInBounds = curInBounds; - curX_1 = curX_2; - curY_1 = curY_2; + // current becomes the last + lastInBounds = curInBounds; + curX_1 = curX_2; + curY_1 = curY_2; + } } } } @@ -1820,120 +1878,127 @@ // get the players position for it's Z information MapPoint playerPos = param.player(); - // first paint the L lines - QList<MapLineL*>::const_iterator mlit = m_lLines.begin(); - for (; mlit != m_lLines.end() && *mlit != NULL; ++mlit) + for (int i = 0; i < m_mapLayers.count(); ++i) { - currentLineL = *mlit; - // if line is outside the currently visible region, skip it. - if (!currentLineL->boundingRect().intersects(screenBounds)) - continue; + MapLayer* layer = m_mapLayers[i]; + if (!param.isLayerVisible(i)) + continue; - // since it's an L type line, check for the depth is easy - // just check if height is set, and if so, check if it's within range - if (currentLineL->heightSet() && - !inRoom(param.playerHeadRoom(), param.playerFloorRoom(), - currentLineL->z())) - continue; // outside of range, continue to the next line + // first paint the L lines + QList<MapLineL*>::const_iterator mlit = layer->lLines().begin(); + for (; mlit != layer->lLines().end(); ++mlit) + { + currentLineL = *mlit; + // if line is outside the currently visible region, skip it. + if (!currentLineL->boundingRect().intersects(screenBounds)) + continue; - // get the number of points in the line - numPoints = currentLineL->size(); + // since it's an L type line, check for the depth is easy + // just check if height is set, and if so, check if it's within range + if (currentLineL->heightSet() && + !inRoom(param.playerHeadRoom(), param.playerFloorRoom(), + currentLineL->z())) + continue; // outside of range, continue to the next line - // get the underlying array - lData = currentLineL->data(); + // get the number of points in the line + numPoints = currentLineL->size(); - // set the line color -#ifdef DEBUGMAP - seqDebug("lineColor = '%s'", (char *) currentLineL->color()); -#endif - p.setPen(currentLineL->color()); + // get the underlying array + lData = currentLineL->data(); - cur2DX_1 = lData[0].x(); - cur2DY_1 = lData[0].y(); + // set the line color + #ifdef DEBUGMAP + seqDebug("lineColor = '%s'", (char *) currentLineL->color()); + #endif + p.setPen(currentLineL->color()); - // see if the starting position is in bounds - lastInBounds = inRect(screenBounds, cur2DX_1, cur2DY_1); + cur2DX_1 = lData[0].x(); + cur2DY_1 = lData[0].y(); - // iterate over all the points in the line - for (uint32_t i = 1; i < numPoints; i++) - { - cur2DX_2 = lData[i].x(); - cur2DY_2 = lData[i].y(); + // see if the starting position is in bounds + lastInBounds = inRect(screenBounds, cur2DX_1, cur2DY_1); - // determine if the current position is in bounds - curInBounds = inRect(screenBounds, cur2DX_2, cur2DY_2); + // iterate over all the points in the line + for (uint32_t i = 1; i < numPoints; i++) + { + cur2DX_2 = lData[i].x(); + cur2DY_2 = lData[i].y(); - // draw the line segment if either end is in bounds - if (lastInBounds || curInBounds) - p.drawLine(param.calcXOffsetI(cur2DX_1), - param.calcYOffsetI(cur2DY_1), - param.calcXOffsetI(cur2DX_2), - param.calcYOffsetI(cur2DY_2)); + // determine if the current position is in bounds + curInBounds = inRect(screenBounds, cur2DX_2, cur2DY_2); - // current becomes the last - lastInBounds = curInBounds; - cur2DX_1 = cur2DX_2; - cur2DY_1 = cur2DY_2; + // draw the line segment if either end is in bounds + if (lastInBounds || curInBounds) + p.drawLine(param.calcXOffsetI(cur2DX_1), + param.calcYOffsetI(cur2DY_1), + param.calcXOffsetI(cur2DX_2), + param.calcYOffsetI(cur2DY_2)); + + // current becomes the last + lastInBounds = curInBounds; + cur2DX_1 = cur2DX_2; + cur2DY_1 = cur2DY_2; + } } - } - // then paint the M lines - QList<MapLineM*>::const_iterator mmit = m_mLines.begin(); - for (; mmit != m_mLines.end() && *mmit != NULL; ++mmit) - { - currentLineM = *mmit; - // if line is outside the currently visible region, skip it. - if (!currentLineM->boundingRect().intersects(screenBounds)) - continue; + // then paint the M lines + QList<MapLineM*>::const_iterator mmit = layer->mLines().begin(); + for (; mmit != layer->mLines().end(); ++mmit) + { + currentLineM = *mmit; + // if line is outside the currently visible region, skip it. + if (!currentLineM->boundingRect().intersects(screenBounds)) + continue; - // get the number of points in the line - numPoints = currentLineM->size(); + // get the number of points in the line + numPoints = currentLineM->size(); - // get the underlying array - mData = currentLineM->data(); + // get the underlying array + mData = currentLineM->data(); - // set the line color -#ifdef DEBUGMAP - seqDebug("lineColor = '%s'", (char *) currentLineM->color()); -#endif - p.setPen(currentLineM->color()); + // set the line color + #ifdef DEBUGMAP + seqDebug("lineColor = '%s'", (char *) currentLineM->color()); + #endif + p.setPen(currentLineM->color()); - // get current coordinates - curX_1 = mData[0].x(); - curY_1 = mData[0].y(); - curZ_1 = mData[0].z(); + // get current coordinates + curX_1 = mData[0].x(); + curY_1 = mData[0].y(); + curZ_1 = mData[0].z(); - // see if the starting position is in bounds - lastInBounds = (inRect(screenBounds, curX_1, curY_1) && - inRoom(param.playerHeadRoom(), param.playerFloorRoom(), curZ_1)); + // see if the starting position is in bounds + lastInBounds = (inRect(screenBounds, curX_1, curY_1) && + inRoom(param.playerHeadRoom(), param.playerFloorRoom(), curZ_1)); -#ifdef DEBUGMAP - seqDebug("Line has %i points:", currentLineM->size()); -#endif + #ifdef DEBUGMAP + seqDebug("Line has %i points:", currentLineM->size()); + #endif - // iterate over all the points in the line - for (uint32_t i = 1; i < numPoints; i++) - { - // get current coordinates - curX_2 = mData[i].x(); - curY_2 = mData[i].y(); - curZ_2 = mData[i].z(); + // iterate over all the points in the line + for (uint32_t i = 1; i < numPoints; i++) + { + // get current coordinates + curX_2 = mData[i].x(); + curY_2 = mData[i].y(); + curZ_2 = mData[i].z(); - // determine if the current position is in bounds - curInBounds = (inRect(screenBounds, curX_2, curY_2) && - inRoom(param.playerHeadRoom(), param.playerFloorRoom(), curZ_2)); + // determine if the current position is in bounds + curInBounds = (inRect(screenBounds, curX_2, curY_2) && + inRoom(param.playerHeadRoom(), param.playerFloorRoom(), curZ_2)); - // draw the line segment if either end is in bounds - if (lastInBounds || curInBounds) - p.drawLine(param.calcXOffsetI(curX_1), - param.calcYOffsetI(curY_1), - param.calcXOffsetI(curX_2), - param.calcYOffsetI(curY_2)); + // draw the line segment if either end is in bounds + if (lastInBounds || curInBounds) + p.drawLine(param.calcXOffsetI(curX_1), + param.calcYOffsetI(curY_1), + param.calcXOffsetI(curX_2), + param.calcYOffsetI(curY_2)); - // current becomes the last - lastInBounds = curInBounds; - curX_1 = curX_2; - curY_1 = curY_2; + // current becomes the last + lastInBounds = curInBounds; + curX_1 = curX_2; + curY_1 = curY_2; + } } } } @@ -1977,158 +2042,165 @@ double topb = 255 - (topm * playerPos.z()); double botb = 255 - (botm * playerPos.z()); - // first paint the L lines - QList<MapLineL*>::const_iterator mlit = m_lLines.begin(); - for (; mlit != m_lLines.end() && *mlit != NULL; ++mlit) + for (int i = 0; i < m_mapLayers.count(); ++i) { - currentLineL = *mlit; - // if line is outside the currently visible region, skip it. - if (!currentLineL->boundingRect().intersects(screenBounds)) - continue; + MapLayer* layer = m_mapLayers[i]; + if (!param.isLayerVisible(i)) + continue; - // get the number of points in the line - numPoints = currentLineL->size(); + // first paint the L lines + QList<MapLineL*>::const_iterator mlit = layer->lLines().begin(); + for (; mlit != layer->lLines().end(); ++mlit) + { + currentLineL = *mlit; + // if line is outside the currently visible region, skip it. + if (!currentLineL->boundingRect().intersects(screenBounds)) + continue; - // get the underlying array - lData = currentLineL->data(); + // get the number of points in the line + numPoints = currentLineL->size(); - // get first point coordinates - cur2DX_1 = lData[0].x(); - cur2DY_1 = lData[0].y(); - cur2DZ_1 = currentLineL->z(); + // get the underlying array + lData = currentLineL->data(); - // color determination is different depending on if a height was set - if (!currentLineL->heightSet()) - { - // set the line color -#ifdef DEBUGMAP - seqDebug("lineColor = '%s'", (char *) currentLineL->color()); -#endif - p.setPen(currentLineL->color()); - } - else - { - // calculate color to use for the line (since L type, only do this once) - if (currentLineL->z() > playerPos.z()) - useColor = (int)((cur2DZ_1 * topm) + topb); - else - useColor = (int)((cur2DZ_1 * botm) + botb); + // get first point coordinates + cur2DX_1 = lData[0].x(); + cur2DY_1 = lData[0].y(); + cur2DZ_1 = currentLineL->z(); - if (useColor > 255) useColor = 255; - if (useColor < 0) useColor = 0; + // color determination is different depending on if a height was set + if (!currentLineL->heightSet()) + { + // set the line color + #ifdef DEBUGMAP + seqDebug("lineColor = '%s'", (char *) currentLineL->color()); + #endif + p.setPen(currentLineL->color()); + } + else + { + // calculate color to use for the line (since L type, only do this once) + if (currentLineL->z() > playerPos.z()) + useColor = (int)((cur2DZ_1 * topm) + topb); + else + useColor = (int)((cur2DZ_1 * botm) + botb); - // set the line color -#ifdef DEBUGMAP - seqDebug("lineColor = '#%2x%2x%2x'", useColor, useColor, useColor); -#endif - p.setPen(QColor(useColor, useColor, useColor)); - } + if (useColor > 255) useColor = 255; + if (useColor < 0) useColor = 0; - // see if the starting position is in bounds - lastInBounds = inRect(screenBounds, cur2DX_1, cur2DY_1); + // set the line color + #ifdef DEBUGMAP + seqDebug("lineColor = '#%2x%2x%2x'", useColor, useColor, useColor); + #endif + p.setPen(QColor(useColor, useColor, useColor)); + } - // iterate over all the points in the line - for (uint32_t i = 1; i < numPoints; i++) - { - // get coordinates - cur2DX_2 = lData[i].x(); - cur2DY_2 = lData[i].y(); + // see if the starting position is in bounds + lastInBounds = inRect(screenBounds, cur2DX_1, cur2DY_1); - // determine if the current position is in bounds - curInBounds = inRect(screenBounds, cur2DX_2, cur2DY_2); + // iterate over all the points in the line + for (uint32_t i = 1; i < numPoints; i++) + { + // get coordinates + cur2DX_2 = lData[i].x(); + cur2DY_2 = lData[i].y(); - // draw the line segment if either end is in bounds - if (lastInBounds || curInBounds) - p.drawLine(param.calcXOffsetI(cur2DX_1), - param.calcYOffsetI(cur2DY_1), - param.calcXOffsetI(cur2DX_2), - param.calcYOffsetI(cur2DY_2)); + // determine if the current position is in bounds + curInBounds = inRect(screenBounds, cur2DX_2, cur2DY_2); - // current becomes the last - lastInBounds = curInBounds; - cur2DX_1 = cur2DX_2; - cur2DY_1 = cur2DY_2; + // draw the line segment if either end is in bounds + if (lastInBounds || curInBounds) + p.drawLine(param.calcXOffsetI(cur2DX_1), + param.calcYOffsetI(cur2DY_1), + param.calcXOffsetI(cur2DX_2), + param.calcYOffsetI(cur2DY_2)); + + // current becomes the last + lastInBounds = curInBounds; + cur2DX_1 = cur2DX_2; + cur2DY_1 = cur2DY_2; + } } - } - // then paint the M lines - QList<MapLineM*>::const_iterator mmit = m_mLines.begin(); - for (; mmit != m_mLines.end() && *mmit != NUL... [truncated message content] |
From: <cn...@us...> - 2021-06-22 00:49:57
|
Revision: 1187 http://sourceforge.net/p/seq/svn/1187 Author: cn187 Date: 2021-06-22 00:49:58 +0000 (Tue, 22 Jun 2021) Log Message: ----------- Remove commented-out map optimization code Modified Paths: -------------- showeq/branches/cn187_devel/src/map.cpp showeq/branches/cn187_devel/src/map.h showeq/branches/cn187_devel/src/mapcore.cpp showeq/branches/cn187_devel/src/mapcore.h Modified: showeq/branches/cn187_devel/src/map.cpp =================================================================== --- showeq/branches/cn187_devel/src/map.cpp 2021-06-21 04:42:15 UTC (rev 1186) +++ showeq/branches/cn187_devel/src/map.cpp 2021-06-22 00:49:58 UTC (rev 1187) @@ -980,20 +980,6 @@ addMenu(subMenu); - /* - subMenu = new QMenu; - subMenu->setCheckable(true); - m_id_mapOptimization_Memory = subMenu->insertItem("Memory"); - subMenu->setItemParameter(m_id_mapOptimization_Memory, tMap_MemoryOptim); - m_id_mapOptimization_Normal = subMenu->insertItem("Normal"); - subMenu->setItemParameter(m_id_mapOptimization_Normal, tMap_NormalOptim); - m_id_mapOptimization_Best = subMenu->insertItem("Speed"); - subMenu->setItemParameter(m_id_mapOptimization_Best, tMap_BestOptim); - connect(subMenu, SIGNAL(activated(int)), - this, SLOT(select_mapOptimization(int))); - m_id_mapOptimization = insertItem("Map Optimization", subMenu); - */ - m_action_gridTickColor = addAction("Grid Tick Color...", this, SLOT(select_gridTickColor())); @@ -1204,14 +1190,7 @@ #ifdef DEBUG m_action_debugInfo->setChecked(m_map->showDebugInfo()); #endif - /* - MapOptimizationMethod method = m_map->mapOptimization(); - setItemChecked(m_id_mapOptimization_Memory, (method == tMap_MemoryOptim)); - setItemChecked(m_id_mapOptimization_Normal, (method == tMap_NormalOptim)); - setItemChecked(m_id_mapOptimization_Best, (method == tMap_BestOptim)); - */ - m_drawSizeSpinBox->setValue(m_mapIcons->drawSize()); m_fovSpinBox->setValue(m_mapIcons->fovDistance()); @@ -1434,13 +1413,6 @@ m_map->setShowInstanceLocationMarker(!m_map->showInstanceLocationMarker()); } -/* -void MapMenu::select_mapOptimization(int itemId) -{ - m_map->setMapOptimization((MapOptimizationMethod)itemParameter(itemId)); -} -*/ - void MapMenu::select_gridTickColor() { QString name = QString("ShowEQ - ") + m_map->preferenceName() @@ -1714,11 +1686,6 @@ tmpPrefString = "FloorRoom"; m_param.setFloorRoom(pSEQPrefs->getPrefInt(tmpPrefString, prefString, 75)); - /* - tmpPrefString = "OptimizeMethod"; - m_param.setMapOptimizationMethod((MapOptimizationMethod)pSEQPrefs->getPrefInt(tmpPrefString, prefString, (int)tMap_NormalOptim)); - */ - tmpPrefString = "ZoomDefault"; m_param.setZoomDefault(pSEQPrefs->getPrefInt(tmpPrefString, prefString, 1)); @@ -1798,7 +1765,6 @@ // Setup offscreen image m_offscreen = QPixmap(m_param.screenLength()); -// m_offscreen.setOptimization(m_param.pixmapOptimizationMethod()); m_mapTip = new MapLabel( this ); this->setMouseTracking( true ); @@ -2667,21 +2633,6 @@ refreshMap (); } -/* -void Map::setMapOptimization(MapOptimizationMethod method) -{ - // set the general optimization method - m_param.setMapOptimizationMethod(method); - - QString tmpPrefString = "OptimizeMethod"; - pSEQPrefs->setPrefInt(tmpPrefString, preferenceName(), - (int)m_param.mapOptimizationMethod()); - - // set the offscreen images optimization method - m_offscreen.setOptimization(m_param.pixmapOptimizationMethod()); -} -*/ - void Map::setZoom(int val) { if (m_player->id() != 1) @@ -2943,7 +2894,6 @@ out << "BackgroundColor: " << m_param.backgroundColor().name() << endl; out << "HeadRoom: " << m_param.headRoom() << endl; out << "FloorRoom: " << m_param.floorRoom() << endl; -// out << "OptimizeMethod: " << (int)m_param.mapOptimizationMethod() << endl; out << endl; m_mapIcons->dumpInfo(out); Modified: showeq/branches/cn187_devel/src/map.h =================================================================== --- showeq/branches/cn187_devel/src/map.h 2021-06-21 04:42:15 UTC (rev 1186) +++ showeq/branches/cn187_devel/src/map.h 2021-06-22 00:49:58 UTC (rev 1187) @@ -268,7 +268,6 @@ void toggle_cacheChanges(); void toggle_zoneSafePoint(); void toggle_instanceLocationMarker(); - //void select_mapOptimization(int itemId); void select_gridTickColor(); void select_gridLineColor(); void select_backgroundColor(); @@ -327,12 +326,6 @@ #ifdef DEBUG QAction* m_action_debugInfo; #endif - /* - int m_id_mapOptimization; - int m_id_mapOptimization_Memory; - int m_id_mapOptimization_Normal; - int m_id_mapOptimization_Best; - */ QAction* m_action_gridTickColor; QAction* m_action_gridLineColor; QAction* m_action_backgroundColor; @@ -390,10 +383,6 @@ void setZEM (unsigned char newZEM); // old methods - /* - MapOptimizationMethod getMapOptimization(void) - { return m_param.mapOptimizationMethod(); } - */ MapMenu* menu(); @@ -432,7 +421,6 @@ bool showInstanceLocationMarker() const { return m_showInstanceLocationMarker; } MapLineStyle mapLineStyle() { return m_param.mapLineStyle(); } - //MapOptimizationMethod mapOptimization() { return m_param.mapOptimizationMethod(); } int zoom() const { return m_param.zoom(); } int zoomDefault() const { return m_param.zoomDefault(); } int panOffsetX() const { return m_param.panOffsetX(); } @@ -528,7 +516,6 @@ void setRacePvP(bool val); void setMapLineStyle(MapLineStyle style); - //void setMapOptimization(MapOptimizationMethod method); void setZoom(int val); void setZoomDefault(int val); void setPanOffsetX(int val); Modified: showeq/branches/cn187_devel/src/mapcore.cpp =================================================================== --- showeq/branches/cn187_devel/src/mapcore.cpp 2021-06-21 04:42:15 UTC (rev 1186) +++ showeq/branches/cn187_devel/src/mapcore.cpp 2021-06-22 00:49:58 UTC (rev 1187) @@ -82,7 +82,6 @@ m_showLines = true; m_showGridLines = true; m_showGridTicks = true; - //m_optimization = tMap_NormalOptim; reset(); } @@ -234,34 +233,6 @@ m_curPlayerOffset.setY(calcYOffset(m_curPlayer.y())); } -#if 0 -QPixmap::Optimization MapParameters::pixmapOptimizationMethod() -{ - switch (m_optimization) - { - case tMap_MemoryOptim: - return QPixmap::MemoryOptim; - case tMap_NoOptim: - return QPixmap::NoOptim; - case tMap_NormalOptim: - return QPixmap::NormalOptim; - case tMap_BestOptim: - return QPixmap::BestOptim; - case tMap_DefaultOptim: - default: - return QPixmap::DefaultOptim; - } - /* Optimization Methods: - DefaultOptim - A pixmap with this optimization mode set always has the default optimization type - - default optimization type for qPixMap is NormalOptim - NoOptim - no optimization (currently the same as MemoryOptim). - MemoryOptim - optimize for minimal memory use. - NormalOptim - optimize for typical usage. Often uses more memory than MemoryOptim, and often faster. - BestOptim - optimize for pixmaps that are drawn very often and where performance is critical. - Generally uses more memory than NormalOptim and may provide a little better speed - */ -} -#endif void MapParameters::setPlayer(const MapPoint& pos) { @@ -2279,12 +2250,6 @@ // increment paint count m_paintCount++; #endif - /* - // set pixmap optimization if it's changed - if (m_lastParam.mapOptimizationMethod() != - param.mapOptimizationMethod()) - m_mapImage.setOptimization(param.pixmapOptimizationMethod()); - */ // make sure the map is the correct size m_mapImage = QPixmap(param.screenLength()); Modified: showeq/branches/cn187_devel/src/mapcore.h =================================================================== --- showeq/branches/cn187_devel/src/mapcore.h 2021-06-21 04:42:15 UTC (rev 1186) +++ showeq/branches/cn187_devel/src/mapcore.h 2021-06-22 00:49:58 UTC (rev 1187) @@ -74,22 +74,6 @@ tMap_FadedFloors, }; -/* - * QT4 no longer allows the user to set the pixmap optimization. - * As a result, all of the pixmap optimization code is being commented out - * and can be deleted once it's determined to not unexpectedly break - * anything. - cn187 - */ -/* -enum MapOptimizationMethod -{ - tMap_MemoryOptim = 0, - tMap_NormalOptim = 1, - tMap_BestOptim = 2, - tMap_DefaultOptim = 3, - tMap_NoOptim = 4, -}; -*/ //---------------------------------------------------------------------- // constants @@ -139,10 +123,6 @@ const QFont& font() const { return m_font; } int16_t headRoom() const { return m_headRoom; } int16_t floorRoom() const { return m_floorRoom; } - /* - MapOptimizationMethod mapOptimizationMethod() { return m_optimization; } - QPixmap::Optimization pixmapOptimizationMethod(); - */ MapLineStyle mapLineStyle() { return m_mapLineStyle; } bool fadeFloors() const { return (m_mapLineStyle == tMap_FadedFloors); } bool depthFiltering() const { return (m_mapLineStyle == tMap_DepthFiltered); } @@ -181,10 +161,6 @@ void setScreenSize(const QSize& size); void setBackgroundColor(const QColor& color) { m_backgroundColor = color; } void setFont(const QFont& font) { m_font = font; } - /* - void setMapOptimizationMethod(MapOptimizationMethod method) - { m_optimization = method; } - */ void setMapLineStyle(MapLineStyle style) { m_mapLineStyle = style; } void setShowBackgroundImage(bool val) { m_showBackgroundImage = val; } void setShowLocations(bool val) { m_showLocations = val; } @@ -229,7 +205,6 @@ MapPoint m_targetPoint; bool m_targetPointSet; - //MapOptimizationMethod m_optimization; MapLineStyle m_mapLineStyle; bool m_showBackgroundImage; bool m_showLocations; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cn...@us...> - 2021-06-21 04:42:17
|
Revision: 1186 http://sourceforge.net/p/seq/svn/1186 Author: cn187 Date: 2021-06-21 04:42:15 +0000 (Mon, 21 Jun 2021) Log Message: ----------- Check sessionId before processing disconnect packet Random UDP traffic on the LAN can cause unexpectes session disconnects if the packet payload happens to start with the SessionDisconnect net opcode. By checking the sessionId in the disconnect packet against the current sessionId, we can ignore packets that look like disconnect packets but really aren't. This also means that users who have enabled "session tracking" for the sole purpose of reducing random disconnects may be able to disable it if they don't otherwise need it. Modified Paths: -------------- showeq/branches/cn187_devel/src/everquest.h showeq/branches/cn187_devel/src/packetstream.cpp Modified: showeq/branches/cn187_devel/src/everquest.h =================================================================== --- showeq/branches/cn187_devel/src/everquest.h 2021-06-21 04:42:04 UTC (rev 1185) +++ showeq/branches/cn187_devel/src/everquest.h 2021-06-21 04:42:15 UTC (rev 1186) @@ -414,12 +414,14 @@ * Session disconnect on a stream. This is the server telling the client to * close a stream. * - * Size: 8 Octets + * Size: 9 Octets */ struct SessionDisconnectStruct { -/*0000*/ uint8_t unknown[8]; -/*0008*/ +/*0000*/ uint8_t unknown0000; +/*0001*/ uint32_t sessionId; +/*0005*/ uint8_t unknown[4]; +/*0009*/ }; /* Modified: showeq/branches/cn187_devel/src/packetstream.cpp =================================================================== --- showeq/branches/cn187_devel/src/packetstream.cpp 2021-06-21 04:42:04 UTC (rev 1185) +++ showeq/branches/cn187_devel/src/packetstream.cpp 2021-06-21 04:42:15 UTC (rev 1186) @@ -1144,6 +1144,19 @@ break; case OP_SessionDisconnect: { + + // When session tracking isn't enabled, random UDP traffic on the LAN can + // cause unexpected session disconnects if the packet payload happens + // to start with the same bytes as the OP_SessionDisconnect netOp. + // + // So check the sessionId in the disconnect packet, and only process + // it if it matches the current sessionId. + SessionDisconnectStruct* disconnect = (SessionDisconnectStruct*) packet.payload(); + uint32_t disconnectedSessionId = eqntohuint32((uint8_t*)&(disconnect->sessionId)); + if (m_sessionId != disconnectedSessionId) { + break; + } + #if defined(PACKET_PROCESS_DIAG) || defined(PACKET_SESSION_DIAG) seqDebug("EQPacket: SessionDisconnect found %s:%u->%s:%u, resetting expected seq, stream %s (%d) (session tracking %s)", ((EQUDPIPPacketFormat&) packet).getIPv4SourceA().ascii(), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |