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
(2) |
Sep
(11) |
Oct
(6) |
Nov
(9) |
Dec
(4) |
| 2026 |
Jan
(5) |
Feb
(6) |
Mar
(3) |
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
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.
|
|
From: <cn...@us...> - 2021-06-21 04:42:06
|
Revision: 1185
http://sourceforge.net/p/seq/svn/1185
Author: cn187
Date: 2021-06-21 04:42:04 +0000 (Mon, 21 Jun 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/branches/cn187_devel/src/eqstr.cpp
Modified: showeq/branches/cn187_devel/src/eqstr.cpp
===================================================================
--- showeq/branches/cn187_devel/src/eqstr.cpp 2021-06-21 04:41:50 UTC (rev 1184)
+++ showeq/branches/cn187_devel/src/eqstr.cpp 2021-06-21 04:42:04 UTC (rev 1185)
@@ -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-06-21 04:41:56
|
Revision: 1184
http://sourceforge.net/p/seq/svn/1184
Author: cn187
Date: 2021-06-21 04:41:50 +0000 (Mon, 21 Jun 2021)
Log Message:
-----------
Fix issue with console map name display
Modified Paths:
--------------
showeq/branches/cn187_devel/src/mapcore.cpp
Modified: showeq/branches/cn187_devel/src/mapcore.cpp
===================================================================
--- showeq/branches/cn187_devel/src/mapcore.cpp 2021-06-16 19:16:41 UTC (rev 1183)
+++ showeq/branches/cn187_devel/src/mapcore.cpp 2021-06-21 04:41:50 UTC (rev 1184)
@@ -508,19 +508,17 @@
return;
- const char* filename = fileName.toLatin1().data();
-
QFile mapFile(fileName);
if (!mapFile.open(QIODevice::ReadOnly))
{
- seqWarn("Error opening map file '%s'!", filename);
+ seqWarn("Error opening map file '%s'!", fileName.toLatin1().data());
return;
}
// note the file name
- m_fileName = filename;
+ m_fileName = fileName;
// allocate memory in a QByteArray to hold the entire file contents
QByteArray textData(mapFile.size() + 1, '\0');
@@ -553,7 +551,7 @@
if (!count)
{
seqWarn("Error, no fields in first line of map file '%s'",
- filename);
+ fileName.toLatin1().data());
return;
}
@@ -560,7 +558,7 @@
if (count < 2)
{
seqWarn("Error, too few fields in first line of map file '%s'",
- filename);
+ fileName.toLatin1().data());
return;
}
@@ -619,7 +617,7 @@
if (count < 3)
{
seqWarn("Error reading M line %d on map '%s'! %d is too few fields",
- filelines, filename, count);
+ filelines, fileName.toLatin1().data(), count);
continue;
}
@@ -630,7 +628,7 @@
if (linePoints < 2)
{
seqWarn("M Line %d in map '%s' only had %d points, not loading.",
- filelines, filename, linePoints );
+ filelines, fileName.toLatin1().data(), linePoints );
continue;
}
@@ -647,7 +645,7 @@
if (!ok)
{
seqWarn("Error reading number of points on line %d in map '%s'!",
- filelines, filename);
+ filelines, fileName.toLatin1().data());
continue;
}
@@ -654,7 +652,7 @@
if ((specifiedLinePoints != linePoints) && (specifiedLinePoints != 0))
{
seqWarn("M Line %d in map '%s' has %d points as opposed to the %d points it specified!",
- filelines, filename, linePoints, specifiedLinePoints);
+ filelines, fileName.toLatin1().data(), linePoints, specifiedLinePoints);
}
// create an M line
@@ -700,7 +698,7 @@
if (count < 3)
{
seqWarn("Error reading L line %d on map '%s'! %d is too few fields",
- filelines, filename, count);
+ filelines, fileName.toLatin1().data(), count);
continue;
}
@@ -711,7 +709,7 @@
if (linePoints < 2)
{
seqWarn("L Line %d in map '%s' only had %d points, not loading.",
- filelines, filename, linePoints);
+ filelines, fileName.toLatin1().data(), linePoints);
continue;
}
@@ -728,7 +726,7 @@
if (!ok)
{
seqWarn("Error reading number of points on line %d in map '%s'!",
- filelines, filename);
+ filelines, fileName.toLatin1().data());
continue;
}
@@ -735,7 +733,7 @@
if ((specifiedLinePoints != linePoints) && (specifiedLinePoints != 0))
{
seqWarn("L Line %d in map '%s' has %d points as opposed to the %d points it specified!",
- filelines, filename, linePoints, specifiedLinePoints);
+ filelines, fileName.toLatin1().data(), linePoints, specifiedLinePoints);
}
// create the appropriate style L line depending on if the global
@@ -788,7 +786,7 @@
if (count < 4)
{
seqWarn("Error reading P line %d on map '%s'! %d is too few fields",
- filelines, filename, count);
+ filelines, fileName.toLatin1().data(), count);
continue;
}
@@ -827,7 +825,7 @@
if (count < 2)
{
seqWarn("Line %d in map '%s' has an A record with too few fields (%d)!",
- filelines, filename, count);
+ filelines, fileName.toLatin1().data(), count);
break;
}
@@ -835,7 +833,7 @@
if (name.isEmpty())
{
seqWarn("Line %d in map '%s' has an A marker with no Name expression!",
- filelines, filename);
+ filelines, fileName.toLatin1().data());
break;
}
rangeVal = (*fit++).toUShort();
@@ -842,7 +840,7 @@
if (!rangeVal)
{
seqWarn("Line %d in map '%s' has an A marker with no or 0 Range radius!",
- filelines, filename);
+ filelines, fileName.toLatin1().data());
break;
}
@@ -859,7 +857,7 @@
if (count < 1)
{
seqWarn("Line %d in map '%s' has an H record with too few fields (%d)!",
- filelines, filename, count);
+ filelines, fileName.toLatin1().data(), count);
break;
}
@@ -868,7 +866,7 @@
if (!ok)
{
seqWarn("Line %d in map '%s' has an H marker with invalid Z!",
- filelines, filename);
+ filelines, fileName.toLatin1().data());
break;
}
globHeightSet = true;
@@ -885,7 +883,7 @@
if (count < 1)
{
seqWarn("Line %d in map '%s' has a Z record with too few fields (%d)!",
- filelines, filename, count);
+ filelines, fileName.toLatin1().data(), count);
break;
}
@@ -893,7 +891,7 @@
if (!ok)
{
seqWarn("Line %d in map '%s' has an Z marker with invalid ZEM!",
- filelines, filename);
+ filelines, fileName.toLatin1().data());
break;
}
#ifdef DEBUGMAPLOAD
@@ -911,7 +909,7 @@
m_mapLoaded = true;
m_imageLoaded = false;
- QString imageFileName = filename;
+ QString imageFileName = fileName;
imageFileName.truncate(imageFileName.lastIndexOf('.'));
imageFileName += ".pgm";
@@ -921,7 +919,7 @@
seqInfo("Loaded map image: '%s'", imageFileName.toLatin1().data());
}
- seqInfo("Loaded map: '%s'", filename);
+ seqInfo("Loaded map: '%s'", fileName.toLatin1().data());
}
void MapData::loadSOEMap(const QString& fileName, bool import)
@@ -952,19 +950,17 @@
if (fileName.contains("/.txt") != 0)
return;
- const char* filename = fileName.toLatin1().data();
-
QFile mapFile(fileName);
if (!mapFile.open(QIODevice::ReadOnly))
{
- seqWarn("Error opening map file '%s'!", filename);
+ seqWarn("Error opening map file '%s'!", fileName.toLatin1().data());
return;
}
// note the file name
- m_fileName = filename;
+ m_fileName = fileName;
// allocate memory in a QByteArray to hold the entire file contents
QByteArray textData(mapFile.size() + 1, '\0');
@@ -1039,7 +1035,7 @@
if (count != 9)
{
seqWarn("Error reading L line %d on map '%s'! %d is an incorrect field count!",
- filelines, filename, count);
+ filelines, fileName.toLatin1().data(), count);
continue;
}
@@ -1106,7 +1102,7 @@
if (count != 8)
{
seqWarn("Error reading L line %d on map '%s'! %d is an incorrect field count!",
- filelines, filename, count);
+ filelines, fileName.toLatin1().data(), count);
continue;
}
@@ -1141,7 +1137,7 @@
m_mapLoaded = true;
m_imageLoaded = false;
- QString imageFileName = filename;
+ QString imageFileName = fileName;
imageFileName.truncate(imageFileName.lastIndexOf('.'));
imageFileName += ".pgm";
@@ -1151,7 +1147,7 @@
seqInfo("Loaded map image: '%s'", imageFileName.toLatin1().data());
}
- seqInfo("Loaded SOE map: '%s'", filename);
+ seqInfo("Loaded SOE map: '%s'", fileName.toLatin1().data());
}
void MapData::saveMap(const QString& fileName) const
@@ -1162,15 +1158,15 @@
FILE * fh;
uint32_t i;
- const char* filename;
+ QString filename;
if (!fileName.isEmpty())
- filename = fileName.toLatin1().data();
+ filename = fileName;
else
- filename = m_fileName.toLatin1().data();
+ filename = m_fileName;
- if ((fh = fopen(filename, "w")) == NULL)
+ if ((fh = fopen(filename.toLatin1().data(), "w")) == NULL)
{
- seqWarn("Error saving map '%s'!", filename);
+ seqWarn("Error saving map '%s'!", filename.toLatin1().data());
return;
}
@@ -1283,13 +1279,14 @@
}
#ifdef DEBUGMAP
- seqDebug("saveMap() - map '%s' saved with %d L lines, %d M lines, %d locations", filename,
- m_lLines.count(), m_mLines.count(), m_locations.count());
+ 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());
#endif
fclose (fh);
- seqInfo("Saved map: '%s'", filename);
+ seqInfo("Saved map: '%s'", filename.toLatin1().data());
}
void MapData::saveSOEMap(const QString& fileName) const
@@ -1300,15 +1297,15 @@
FILE * fh;
uint i;
- const char* filename;
+ QString filename;
if (!fileName.isEmpty())
- filename = fileName.toLatin1().data();
+ filename = fileName;
else
- filename = m_fileName.toLatin1().data();
+ filename = m_fileName;
- if ((fh = fopen(filename, "w")) == NULL)
+ if ((fh = fopen(filename.toLatin1().data(), "w")) == NULL)
{
- seqWarn("Error saving map '%s'!", filename);
+ seqWarn("Error saving map '%s'!", filename.toLatin1().data());
return;
}
@@ -1395,13 +1392,14 @@
name.toLatin1().data());
}
#ifdef DEBUGMAP
- seqDebug("saveMap() - map '%s' saved with %d L lines, %d M lines, %d locations", filename,
- m_lLines.count(), m_mLines.count(), m_locations.count());
+ 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());
#endif
fclose (fh);
- seqInfo("Saved SOE map: '%s'", filename);
+ seqInfo("Saved SOE map: '%s'", filename.toLatin1().data());
}
bool MapData::isAggro(const QString& name, uint16_t* range) const
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-06-16 19:16:43
|
Revision: 1183
http://sourceforge.net/p/seq/svn/1183
Author: cn187
Date: 2021-06-16 19:16:41 +0000 (Wed, 16 Jun 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/branches/cn187_devel/src/spawnshell.cpp
Modified: showeq/branches/cn187_devel/src/spawnshell.cpp
===================================================================
--- showeq/branches/cn187_devel/src/spawnshell.cpp 2021-06-16 18:42:30 UTC (rev 1182)
+++ showeq/branches/cn187_devel/src/spawnshell.cpp 2021-06-16 19:16:41 UTC (rev 1183)
@@ -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-06-16 18:42:31
|
Revision: 1182
http://sourceforge.net/p/seq/svn/1182
Author: cn187
Date: 2021-06-16 18:42:30 +0000 (Wed, 16 Jun 2021)
Log Message:
-----------
Release 6.1.3
- Updated version to 6.1.3
- Support for EQ patch 06/16/21
- Opcode and struct updates
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-06-16 18:31:48 UTC (rev 1181)
+++ showeq/branches/cn187_devel/ChangeLog 2021-06-16 18:42:30 UTC (rev 1182)
@@ -1,3 +1,9 @@
+cn187 (06/16/21)
+----------------
+- Updated version to 6.1.3
+- Support for EQ patch 06/16/21
+- Opcode and struct updates
+
cn187 (05/20/21)
----------------
- Updated version to 6.1.2
Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml
===================================================================
--- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-06-16 18:31:48 UTC (rev 1181)
+++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-06-16 18:42:30 UTC (rev 1182)
@@ -3,127 +3,127 @@
<seqopcodes>
<!-- Critical opcodes used directly by ShowEQ -->
- <opcode id="304d" name="OP_PlayerProfile" updated="05/19/21">
+ <opcode id="7644" name="OP_PlayerProfile" updated="06/16/21">
<comment>CharProfileCode</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="4e21" name="OP_ZoneEntry" updated="05/19/21">
+ <opcode id="482a" name="OP_ZoneEntry" updated="06/16/21">
<comment>ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="0c8d" name="OP_TimeOfDay" updated="05/19/21">
+ <opcode id="1e14" name="OP_TimeOfDay" updated="06/16/21">
<comment>TimeOfDayCode</comment>
<payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1afe" name="OP_NewZone" updated="05/19/21">
+ <opcode id="6fab" name="OP_NewZone" updated="06/16/21">
<comment>NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
- <opcode id="239b" name="OP_SpawnDoor" updated="05/19/21">
+ <opcode id="3a3b" name="OP_SpawnDoor" updated="06/16/21">
<comment>DoorSpawnsCode</comment>
<payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="208f" name="OP_GroundSpawn" updated="05/19/21">
+ <opcode id="0ad4" name="OP_GroundSpawn" updated="06/16/21">
<comment>MakeDropCode</comment>
<payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="3734" name="OP_SendZonePoints" updated="05/19/21">
+ <opcode id="7c9d" name="OP_SendZonePoints" updated="06/16/21">
<comment>Coords in a zone that will port you to another zone</comment>
<payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
</opcode>
- <opcode id="386d" name="OP_AAExpUpdate" updated="05/19/21">
+ <opcode id="5463" name="OP_AAExpUpdate" updated="06/16/21">
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="405b" name="OP_ExpUpdate" updated="05/19/21">
+ <opcode id="7340" name="OP_ExpUpdate" updated="06/16/21">
<comment>ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="4089" name="OP_GuildMOTD" updated="05/19/21">
+ <opcode id="16b3" name="OP_GuildMOTD" updated="06/16/21">
<comment>GuildMOTD</comment>
<payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
</opcode>
- <opcode id="3b56" name="OP_ClientUpdate" updated="05/19/21">
+ <opcode id="673e" name="OP_ClientUpdate" updated="06/16/21">
<comment>Position updates</comment>
<payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
<payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
</opcode>
- <opcode id="29d3" name="OP_NpcMoveUpdate" updated="05/19/21">
+ <opcode id="1ec7" name="OP_NpcMoveUpdate" updated="06/16/21">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="1b37" name="OP_MobUpdate" updated="05/19/21">
+ <opcode id="1bdb" name="OP_MobUpdate" updated="06/16/21">
<comment>MobUpdateCode</comment>
<payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="317f" name="OP_DeleteSpawn" updated="05/19/21">
+ <opcode id="2107" name="OP_DeleteSpawn" updated="06/16/21">
<comment>DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7718" name="OP_RemoveSpawn" updated="05/19/21">
+ <opcode id="46a1" name="OP_RemoveSpawn" updated="06/16/21">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
- <opcode id="2241" name="OP_Death" updated="05/19/21">
+ <opcode id="11bb" name="OP_Death" updated="06/16/21">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1ac5" name="OP_WearChange" updated="05/19/21">
+ <opcode id="6c44" name="OP_WearChange" updated="06/16/21">
<comment>SpawnUpdateCode</comment>
<payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="702c" name="OP_SpawnAppearance" updated="05/19/21">
+ <opcode id="784d" name="OP_SpawnAppearance" updated="06/16/21">
<comment>SpawnAppearanceCode</comment>
<payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1f40" name="OP_Stamina" updated="05/19/21">
+ <opcode id="44a1" name="OP_Stamina" updated="06/16/21">
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
- <opcode id="53c0" name="OP_HPUpdate" updated="05/19/21">
+ <opcode id="2a75" name="OP_HPUpdate" updated="06/16/21">
<comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="31f2" name="OP_GuildMemberUpdate" updated="05/19/21">
+ <opcode id="60bc" name="OP_GuildMemberUpdate" updated="06/16/21">
<comment>Info regarding guild members</comment>
<payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="1b9a" name="OP_ClickObject" updated="05/19/21">
+ <opcode id="01d2" name="OP_ClickObject" updated="06/16/21">
<comment>Items dropped on the ground</comment>
<payload dir="both" typename="remDropStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1efb" name="OP_Action" updated="05/19/21">
+ <opcode id="7476" name="OP_Action" updated="06/16/21">
<comment>Spells cast etc</comment>
<payload dir="both" typename="actionStruct" sizechecktype="match"/>
<payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
</opcode>
- <opcode id="799e" name="OP_Action2" updated="05/19/21">
+ <opcode id="5b6a" name="OP_Action2" updated="06/16/21">
<comment>Combat actions i.e. bash, kick etc</comment>
<payload dir="both" typename="action2Struct" sizechecktype="match"/>
</opcode>
- <opcode id="107c" name="OP_Consider" updated="05/19/21">
+ <opcode id="3027" name="OP_Consider" updated="06/16/21">
<comment>ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0a6d" name="OP_TargetMouse" updated="05/19/21">
+ <opcode id="097f" name="OP_TargetMouse" updated="06/16/21">
<comment>Targeting a person - old ClientTargetCode</comment>
<payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
</opcode>
- <opcode id="2a6a" name="OP_SpawnRename" updated="05/19/21">
+ <opcode id="2fb8" name="OP_SpawnRename" updated="06/16/21">
<comment>Spawns getting renamed after initial NewSpawn</comment>
<payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0134" name="OP_Illusion" updated="05/19/21">
+ <opcode id="0866" name="OP_Illusion" updated="06/16/21">
<comment>Spawn being illusioned (changing forms)</comment>
<payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7d4d" name="OP_Shroud" updated="05/19/21">
+ <opcode id="24cb" name="OP_Shroud" updated="06/16/21">
<comment>Server putting players into shroud form</comment>
<payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/>
</opcode>
- <opcode id="4be3" name="OP_ZoneChange" updated="05/19/21">
+ <opcode id="12f2" name="OP_ZoneChange" updated="06/16/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="6b8d" name="OP_Buff" updated="05/19/21">
+ <opcode id="34db" name="OP_Buff" updated="06/16/21">
<comment>old BuffDropCode</comment>
<payload dir="both" typename="buffStruct" sizechecktype="match"/>
</opcode>
- <opcode id="41c3" name="OP_BeginCast" updated="05/19/21">
+ <opcode id="2485" name="OP_BeginCast" updated="06/16/21">
<comment>BeginCastCode</comment>
<payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="198c" name="OP_CastSpell" updated="05/19/21">
+ <opcode id="705e" name="OP_CastSpell" updated="06/16/21">
<comment>StartCastCode</comment>
<payload dir="both" typename="startCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7edf" name="OP_SwapSpell" updated="05/19/21">
+ <opcode id="2691" name="OP_SwapSpell" updated="06/16/21">
<comment>TradeSpellBookSlotsCode</comment>
<payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/>
</opcode>
- <opcode id="54b6" name="OP_MemorizeSpell" updated="05/19/21">
+ <opcode id="3f71" name="OP_MemorizeSpell" updated="06/16/21">
<comment>MemSpellCode</comment>
<payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
</opcode>
- <opcode id="28ec" name="OP_InspectAnswer" updated="05/19/21">
+ <opcode id="7199" name="OP_InspectAnswer" updated="06/16/21">
<comment>InspectDataCode</comment>
<payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
</opcode>
- <opcode id="599f" name="OP_Emote" updated="05/19/21">
+ <opcode id="00a2" name="OP_Emote" updated="06/16/21">
<comment>EmoteTextCode</comment>
<payload dir="both" typename="emoteTextStruct" sizechecktype="none"/>
</opcode>
- <opcode id="045c" name="OP_SimpleMessage" updated="05/19/21">
+ <opcode id="2ca0" name="OP_SimpleMessage" updated="06/16/21">
<comment>SimpleMessageCode</comment>
<payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0458" name="OP_FormattedMessage" updated="05/19/21">
+ <opcode id="6e1c" name="OP_FormattedMessage" updated="06/16/21">
<comment>FormattedMessageCode i.e. pet dismissed etc</comment>
<payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="6a82" name="OP_CommonMessage" updated="05/19/21">
+ <opcode id="5f15" name="OP_CommonMessage" updated="06/16/21">
<comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment>
<payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="3164" name="OP_SpecialMesg" updated="05/19/21">
+ <opcode id="3ebc" name="OP_SpecialMesg" updated="06/16/21">
<comment>Communicate textual info to client including hail responses etc</comment>
<payload dir="server" typename="specialMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="0039" name="OP_RandomReq" updated="05/19/21">
+ <opcode id="1fa2" name="OP_RandomReq" updated="06/16/21">
<comment>RandomReqCode</comment>
<payload dir="client" typename="randomReqStruct" sizechecktype="match"/>
</opcode>
- <opcode id="2ab4" name="OP_RandomReply" updated="05/19/21">
+ <opcode id="5a66" name="OP_RandomReply" updated="06/16/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="432b" name="OP_ManaChange" updated="05/19/21">
+ <opcode id="10ca" name="OP_ManaChange" updated="06/16/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="2203" name="OP_BazaarSearchRequest" updated="05/19/21">
+ <opcode id="0229" name="OP_BazaarSearchRequest" updated="06/16/21">
<comment>Bazaar search request </comment>
<payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/>
</opcode>
- <opcode id="41ab" name="OP_BazaarSearchResponse" updated="05/19/21">
+ <opcode id="6615" name="OP_BazaarSearchResponse" updated="06/16/21">
<comment>Bazaar search Response - Struct incorrect </comment>
<payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="08a8" name="OP_MoneyOnCorpse" updated="05/19/21">
+ <opcode id="7579" name="OP_MoneyOnCorpse" updated="06/16/21">
<comment>MoneyOnCorpseCode</comment>
<payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0b4f" name="OP_SkillUpdate" updated="05/19/21">
+ <opcode id="724c" name="OP_SkillUpdate" updated="06/16/21">
<comment>Skill up code</comment>
<payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1b81" name="OP_LevelUpdate" updated="05/19/21">
+ <opcode id="6df9" name="OP_LevelUpdate" updated="06/16/21">
<comment>LevelUpUpdateCode</comment>
<payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="697c" name="OP_DzSwitchInfo" updated="05/19/21">
+ <opcode id="2437" name="OP_DzSwitchInfo" updated="06/16/21">
<comment>Expedition compass etc</comment>
<payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/>
</opcode>
- <opcode id="4e0e" name="OP_DzInfo" updated="05/19/21">
+ <opcode id="423f" name="OP_DzInfo" updated="06/16/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="17ad" name="OP_SetRunMode" updated="05/19/21">
+ <opcode id="7ba6" name="OP_SetRunMode" updated="06/16/21">
<comment>old cRunToggleCode</comment>
<payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6626" name="OP_Trader" updated="05/19/21">
+ <opcode id="719e" name="OP_Trader" updated="06/16/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="0840" name="OP_GuildMemberList" updated="05/19/21">
+ <opcode id="2766" name="OP_GuildMemberList" updated="06/16/21">
<comment>List of guild members - Variable length</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="4584" name="OP_ManaUpdate" updated="05/19/21">
+ <opcode id="6797" name="OP_ManaUpdate" updated="06/16/21">
<comment>Mana Update opcode - 10 bytes</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="6d4b" name="OP_EndUpdate" updated="05/19/21">
+ <opcode id="6d50" name="OP_EndUpdate" updated="06/16/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="5299" name="OP_ExpandedGuildInfo" updated="05/19/21">
+ <opcode id="1fdf" name="OP_ExpandedGuildInfo" updated="06/16/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="55bf" name="OP_GuildsInZoneList" updated="05/19/21">
+ <opcode id="54f9" name="OP_GuildsInZoneList" updated="06/16/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="1712" name="OP_NewGuildInZone" updated="05/19/21">
+ <opcode id="562d" name="OP_NewGuildInZone" updated="06/16/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="69d3" name="OP_Find" updated="05/19/21">
+ <opcode id="7dff" name="OP_Find" updated="06/16/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-06-16 18:31:48 UTC (rev 1181)
+++ showeq/branches/cn187_devel/configure.in 2021-06-16 18:42:30 UTC (rev 1182)
@@ -2,7 +2,7 @@
dnl $Id$ $Name$
AC_PREREQ(2.59)
-AC_INIT(showeq, 6.1.2)
+AC_INIT(showeq, 6.1.3)
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-06-16 18:31:48 UTC (rev 1181)
+++ showeq/branches/cn187_devel/src/everquest.h 2021-06-16 18:42:30 UTC (rev 1182)
@@ -1113,24 +1113,23 @@
struct
{
- signed deltaX:13; // change in x
+ unsigned heading:12; // heading
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned padding00:8;
+
+ signed deltaZ:13; // change in z
signed animation:10; // current animation
- unsigned padding00:9;
+ unsigned padding01:9;
+ signed deltaY:13; // change in y
signed y:19; // y coord (2nd loc value)
- signed deltaY:13; // change in y
- unsigned heading:12; // heading
- signed deltaZ:13; // change in z
- unsigned padding02:7;
-
signed deltaHeading:10; // change in heading
- signed x:19; // x coord (1st loc value)
+ signed z:19; // z coord (3rd loc value)
unsigned padding03:3;
- signed z:19; // z coord (3rd loc value)
- unsigned pitch:12; // pitch (up/down heading)
- unsigned padding04:1;
+ signed x:19; // x coord (1st loc value)
+ signed deltaX:13; // change in x
};
int32_t posData[5];
@@ -2393,24 +2392,23 @@
/*0000*/ uint16_t spawnId;
/*0002*/ uint16_t spawnId2;
/*0004*/
- signed deltaX:13; // change in x
+ unsigned heading:12; // heading
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned padding00:8;
+/*0008*/
+ signed deltaZ:13; // change in z
signed animation:10; // current animation
- unsigned padding00:9;
-/*0008*/
+ unsigned padding01:9;
+/*0012*/
+ signed deltaY:13; // change in y
signed y:19; // y coord (2nd loc value)
- signed deltaY:13; // change in y
-/*0012*/
- unsigned heading:12; // heading
- signed deltaZ:13; // change in z
- unsigned padding02:7;
/*0016*/
signed deltaHeading:10; // change in heading
- signed x:19; // x coord (1st loc value)
+ signed z:19; // z coord (3rd loc value)
unsigned padding03:3;
/*0020*/
- signed z:19; // z coord (3rd loc value)
- unsigned pitch:12; // pitch (up/down heading)
- unsigned padding04:1;
+ signed x:19; // x coord (1st loc value)
+ signed deltaX:13; // change in x
/*0024*/
};
@@ -2425,27 +2423,27 @@
/*0002*/ uint16_t spawnId; // Player's spawn id
/*0004*/ uint16_t unknown0004; // ***Placeholder
/*0006*/
- float x; // x coord (1st loc value)
+ float z; // z coord (3rd loc value)
/*0010*/
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned heading:12; // heading
+ unsigned padding01:8;
+/*0014*/
float y; // y coord (2nd loc value)
-/*0014*/
- float deltaX; // change in x
/*0018*/
signed deltaHeading:10; // change in heading
unsigned padding03:22;
/*0022*/
- float z; // z coord (3rd loc value)
+ float deltaX; // change in x
/*0026*/
- unsigned heading:12; // heading
- unsigned padding05:20;
+ float deltaY; // change in y
/*0030*/
- float deltaY; // change in y
+ signed animation:10; // current animation
+ unsigned padding06:22;
/*0034*/
float deltaZ; // change in z
/*0038*/
- signed animation:10; // current animation
- unsigned pitch:12; // pitch (up/down heading)
- unsigned padding08:10;
+ float x; // x coord (1st loc value)
/*0042*/
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-06-16 18:31:48
|
Revision: 1181
http://sourceforge.net/p/seq/svn/1181
Author: cn187
Date: 2021-06-16 18:31:48 +0000 (Wed, 16 Jun 2021)
Log Message:
-----------
Tag for release 6.1.3
Added Paths:
-----------
showeq/tags/v6_1_3/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-06-16 18:30:06
|
Revision: 1180
http://sourceforge.net/p/seq/svn/1180
Author: cn187
Date: 2021-06-16 18:30:02 +0000 (Wed, 16 Jun 2021)
Log Message:
-----------
Release 6.1.3
- Updated version to 6.1.3
- Support for EQ patch 06/16/21
- Opcode and struct updates
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-05-20 15:40:43 UTC (rev 1179)
+++ showeq/trunk/ChangeLog 2021-06-16 18:30:02 UTC (rev 1180)
@@ -1,3 +1,9 @@
+cn187 (06/16/21)
+----------------
+- Updated version to 6.1.3
+- Support for EQ patch 06/16/21
+- Opcode and struct updates
+
cn187 (05/20/21)
----------------
- Updated version to 6.1.2
Modified: showeq/trunk/conf/zoneopcodes.xml
===================================================================
--- showeq/trunk/conf/zoneopcodes.xml 2021-05-20 15:40:43 UTC (rev 1179)
+++ showeq/trunk/conf/zoneopcodes.xml 2021-06-16 18:30:02 UTC (rev 1180)
@@ -3,127 +3,127 @@
<seqopcodes>
<!-- Critical opcodes used directly by ShowEQ -->
- <opcode id="304d" name="OP_PlayerProfile" updated="05/19/21">
+ <opcode id="7644" name="OP_PlayerProfile" updated="06/16/21">
<comment>CharProfileCode</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="4e21" name="OP_ZoneEntry" updated="05/19/21">
+ <opcode id="482a" name="OP_ZoneEntry" updated="06/16/21">
<comment>ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="0c8d" name="OP_TimeOfDay" updated="05/19/21">
+ <opcode id="1e14" name="OP_TimeOfDay" updated="06/16/21">
<comment>TimeOfDayCode</comment>
<payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1afe" name="OP_NewZone" updated="05/19/21">
+ <opcode id="6fab" name="OP_NewZone" updated="06/16/21">
<comment>NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
- <opcode id="239b" name="OP_SpawnDoor" updated="05/19/21">
+ <opcode id="3a3b" name="OP_SpawnDoor" updated="06/16/21">
<comment>DoorSpawnsCode</comment>
<payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="208f" name="OP_GroundSpawn" updated="05/19/21">
+ <opcode id="0ad4" name="OP_GroundSpawn" updated="06/16/21">
<comment>MakeDropCode</comment>
<payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="3734" name="OP_SendZonePoints" updated="05/19/21">
+ <opcode id="7c9d" name="OP_SendZonePoints" updated="06/16/21">
<comment>Coords in a zone that will port you to another zone</comment>
<payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
</opcode>
- <opcode id="386d" name="OP_AAExpUpdate" updated="05/19/21">
+ <opcode id="5463" name="OP_AAExpUpdate" updated="06/16/21">
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="405b" name="OP_ExpUpdate" updated="05/19/21">
+ <opcode id="7340" name="OP_ExpUpdate" updated="06/16/21">
<comment>ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="4089" name="OP_GuildMOTD" updated="05/19/21">
+ <opcode id="16b3" name="OP_GuildMOTD" updated="06/16/21">
<comment>GuildMOTD</comment>
<payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
</opcode>
- <opcode id="3b56" name="OP_ClientUpdate" updated="05/19/21">
+ <opcode id="673e" name="OP_ClientUpdate" updated="06/16/21">
<comment>Position updates</comment>
<payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
<payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
</opcode>
- <opcode id="29d3" name="OP_NpcMoveUpdate" updated="05/19/21">
+ <opcode id="1ec7" name="OP_NpcMoveUpdate" updated="06/16/21">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="1b37" name="OP_MobUpdate" updated="05/19/21">
+ <opcode id="1bdb" name="OP_MobUpdate" updated="06/16/21">
<comment>MobUpdateCode</comment>
<payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="317f" name="OP_DeleteSpawn" updated="05/19/21">
+ <opcode id="2107" name="OP_DeleteSpawn" updated="06/16/21">
<comment>DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7718" name="OP_RemoveSpawn" updated="05/19/21">
+ <opcode id="46a1" name="OP_RemoveSpawn" updated="06/16/21">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
- <opcode id="2241" name="OP_Death" updated="05/19/21">
+ <opcode id="11bb" name="OP_Death" updated="06/16/21">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1ac5" name="OP_WearChange" updated="05/19/21">
+ <opcode id="6c44" name="OP_WearChange" updated="06/16/21">
<comment>SpawnUpdateCode</comment>
<payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="702c" name="OP_SpawnAppearance" updated="05/19/21">
+ <opcode id="784d" name="OP_SpawnAppearance" updated="06/16/21">
<comment>SpawnAppearanceCode</comment>
<payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1f40" name="OP_Stamina" updated="05/19/21">
+ <opcode id="44a1" name="OP_Stamina" updated="06/16/21">
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
- <opcode id="53c0" name="OP_HPUpdate" updated="05/19/21">
+ <opcode id="2a75" name="OP_HPUpdate" updated="06/16/21">
<comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="31f2" name="OP_GuildMemberUpdate" updated="05/19/21">
+ <opcode id="60bc" name="OP_GuildMemberUpdate" updated="06/16/21">
<comment>Info regarding guild members</comment>
<payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="1b9a" name="OP_ClickObject" updated="05/19/21">
+ <opcode id="01d2" name="OP_ClickObject" updated="06/16/21">
<comment>Items dropped on the ground</comment>
<payload dir="both" typename="remDropStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1efb" name="OP_Action" updated="05/19/21">
+ <opcode id="7476" name="OP_Action" updated="06/16/21">
<comment>Spells cast etc</comment>
<payload dir="both" typename="actionStruct" sizechecktype="match"/>
<payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
</opcode>
- <opcode id="799e" name="OP_Action2" updated="05/19/21">
+ <opcode id="5b6a" name="OP_Action2" updated="06/16/21">
<comment>Combat actions i.e. bash, kick etc</comment>
<payload dir="both" typename="action2Struct" sizechecktype="match"/>
</opcode>
- <opcode id="107c" name="OP_Consider" updated="05/19/21">
+ <opcode id="3027" name="OP_Consider" updated="06/16/21">
<comment>ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0a6d" name="OP_TargetMouse" updated="05/19/21">
+ <opcode id="097f" name="OP_TargetMouse" updated="06/16/21">
<comment>Targeting a person - old ClientTargetCode</comment>
<payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
</opcode>
- <opcode id="2a6a" name="OP_SpawnRename" updated="05/19/21">
+ <opcode id="2fb8" name="OP_SpawnRename" updated="06/16/21">
<comment>Spawns getting renamed after initial NewSpawn</comment>
<payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0134" name="OP_Illusion" updated="05/19/21">
+ <opcode id="0866" name="OP_Illusion" updated="06/16/21">
<comment>Spawn being illusioned (changing forms)</comment>
<payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7d4d" name="OP_Shroud" updated="05/19/21">
+ <opcode id="24cb" name="OP_Shroud" updated="06/16/21">
<comment>Server putting players into shroud form</comment>
<payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/>
</opcode>
- <opcode id="4be3" name="OP_ZoneChange" updated="05/19/21">
+ <opcode id="12f2" name="OP_ZoneChange" updated="06/16/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="6b8d" name="OP_Buff" updated="05/19/21">
+ <opcode id="34db" name="OP_Buff" updated="06/16/21">
<comment>old BuffDropCode</comment>
<payload dir="both" typename="buffStruct" sizechecktype="match"/>
</opcode>
- <opcode id="41c3" name="OP_BeginCast" updated="05/19/21">
+ <opcode id="2485" name="OP_BeginCast" updated="06/16/21">
<comment>BeginCastCode</comment>
<payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="198c" name="OP_CastSpell" updated="05/19/21">
+ <opcode id="705e" name="OP_CastSpell" updated="06/16/21">
<comment>StartCastCode</comment>
<payload dir="both" typename="startCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7edf" name="OP_SwapSpell" updated="05/19/21">
+ <opcode id="2691" name="OP_SwapSpell" updated="06/16/21">
<comment>TradeSpellBookSlotsCode</comment>
<payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/>
</opcode>
- <opcode id="54b6" name="OP_MemorizeSpell" updated="05/19/21">
+ <opcode id="3f71" name="OP_MemorizeSpell" updated="06/16/21">
<comment>MemSpellCode</comment>
<payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
</opcode>
- <opcode id="28ec" name="OP_InspectAnswer" updated="05/19/21">
+ <opcode id="7199" name="OP_InspectAnswer" updated="06/16/21">
<comment>InspectDataCode</comment>
<payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
</opcode>
- <opcode id="599f" name="OP_Emote" updated="05/19/21">
+ <opcode id="00a2" name="OP_Emote" updated="06/16/21">
<comment>EmoteTextCode</comment>
<payload dir="both" typename="emoteTextStruct" sizechecktype="none"/>
</opcode>
- <opcode id="045c" name="OP_SimpleMessage" updated="05/19/21">
+ <opcode id="2ca0" name="OP_SimpleMessage" updated="06/16/21">
<comment>SimpleMessageCode</comment>
<payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0458" name="OP_FormattedMessage" updated="05/19/21">
+ <opcode id="6e1c" name="OP_FormattedMessage" updated="06/16/21">
<comment>FormattedMessageCode i.e. pet dismissed etc</comment>
<payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="6a82" name="OP_CommonMessage" updated="05/19/21">
+ <opcode id="5f15" name="OP_CommonMessage" updated="06/16/21">
<comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment>
<payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="3164" name="OP_SpecialMesg" updated="05/19/21">
+ <opcode id="3ebc" name="OP_SpecialMesg" updated="06/16/21">
<comment>Communicate textual info to client including hail responses etc</comment>
<payload dir="server" typename="specialMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="0039" name="OP_RandomReq" updated="05/19/21">
+ <opcode id="1fa2" name="OP_RandomReq" updated="06/16/21">
<comment>RandomReqCode</comment>
<payload dir="client" typename="randomReqStruct" sizechecktype="match"/>
</opcode>
- <opcode id="2ab4" name="OP_RandomReply" updated="05/19/21">
+ <opcode id="5a66" name="OP_RandomReply" updated="06/16/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="432b" name="OP_ManaChange" updated="05/19/21">
+ <opcode id="10ca" name="OP_ManaChange" updated="06/16/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="2203" name="OP_BazaarSearchRequest" updated="05/19/21">
+ <opcode id="0229" name="OP_BazaarSearchRequest" updated="06/16/21">
<comment>Bazaar search request </comment>
<payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/>
</opcode>
- <opcode id="41ab" name="OP_BazaarSearchResponse" updated="05/19/21">
+ <opcode id="6615" name="OP_BazaarSearchResponse" updated="06/16/21">
<comment>Bazaar search Response - Struct incorrect </comment>
<payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="08a8" name="OP_MoneyOnCorpse" updated="05/19/21">
+ <opcode id="7579" name="OP_MoneyOnCorpse" updated="06/16/21">
<comment>MoneyOnCorpseCode</comment>
<payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0b4f" name="OP_SkillUpdate" updated="05/19/21">
+ <opcode id="724c" name="OP_SkillUpdate" updated="06/16/21">
<comment>Skill up code</comment>
<payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1b81" name="OP_LevelUpdate" updated="05/19/21">
+ <opcode id="6df9" name="OP_LevelUpdate" updated="06/16/21">
<comment>LevelUpUpdateCode</comment>
<payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="697c" name="OP_DzSwitchInfo" updated="05/19/21">
+ <opcode id="2437" name="OP_DzSwitchInfo" updated="06/16/21">
<comment>Expedition compass etc</comment>
<payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/>
</opcode>
- <opcode id="4e0e" name="OP_DzInfo" updated="05/19/21">
+ <opcode id="423f" name="OP_DzInfo" updated="06/16/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="17ad" name="OP_SetRunMode" updated="05/19/21">
+ <opcode id="7ba6" name="OP_SetRunMode" updated="06/16/21">
<comment>old cRunToggleCode</comment>
<payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6626" name="OP_Trader" updated="05/19/21">
+ <opcode id="719e" name="OP_Trader" updated="06/16/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="0840" name="OP_GuildMemberList" updated="05/19/21">
+ <opcode id="2766" name="OP_GuildMemberList" updated="06/16/21">
<comment>List of guild members - Variable length</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="4584" name="OP_ManaUpdate" updated="05/19/21">
+ <opcode id="6797" name="OP_ManaUpdate" updated="06/16/21">
<comment>Mana Update opcode - 10 bytes</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="6d4b" name="OP_EndUpdate" updated="05/19/21">
+ <opcode id="6d50" name="OP_EndUpdate" updated="06/16/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="5299" name="OP_ExpandedGuildInfo" updated="05/19/21">
+ <opcode id="1fdf" name="OP_ExpandedGuildInfo" updated="06/16/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="55bf" name="OP_GuildsInZoneList" updated="05/19/21">
+ <opcode id="54f9" name="OP_GuildsInZoneList" updated="06/16/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="1712" name="OP_NewGuildInZone" updated="05/19/21">
+ <opcode id="562d" name="OP_NewGuildInZone" updated="06/16/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="69d3" name="OP_Find" updated="05/19/21">
+ <opcode id="7dff" name="OP_Find" updated="06/16/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-05-20 15:40:43 UTC (rev 1179)
+++ showeq/trunk/configure.in 2021-06-16 18:30:02 UTC (rev 1180)
@@ -2,7 +2,7 @@
dnl $Id$ $Name$
AC_PREREQ(2.59)
-AC_INIT(showeq, 6.1.2)
+AC_INIT(showeq, 6.1.3)
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-05-20 15:40:43 UTC (rev 1179)
+++ showeq/trunk/src/everquest.h 2021-06-16 18:30:02 UTC (rev 1180)
@@ -1113,24 +1113,23 @@
struct
{
- signed deltaX:13; // change in x
+ unsigned heading:12; // heading
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned padding00:8;
+
+ signed deltaZ:13; // change in z
signed animation:10; // current animation
- unsigned padding00:9;
+ unsigned padding01:9;
+ signed deltaY:13; // change in y
signed y:19; // y coord (2nd loc value)
- signed deltaY:13; // change in y
- unsigned heading:12; // heading
- signed deltaZ:13; // change in z
- unsigned padding02:7;
-
signed deltaHeading:10; // change in heading
- signed x:19; // x coord (1st loc value)
+ signed z:19; // z coord (3rd loc value)
unsigned padding03:3;
- signed z:19; // z coord (3rd loc value)
- unsigned pitch:12; // pitch (up/down heading)
- unsigned padding04:1;
+ signed x:19; // x coord (1st loc value)
+ signed deltaX:13; // change in x
};
int32_t posData[5];
@@ -2393,24 +2392,23 @@
/*0000*/ uint16_t spawnId;
/*0002*/ uint16_t spawnId2;
/*0004*/
- signed deltaX:13; // change in x
+ unsigned heading:12; // heading
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned padding00:8;
+/*0008*/
+ signed deltaZ:13; // change in z
signed animation:10; // current animation
- unsigned padding00:9;
-/*0008*/
+ unsigned padding01:9;
+/*0012*/
+ signed deltaY:13; // change in y
signed y:19; // y coord (2nd loc value)
- signed deltaY:13; // change in y
-/*0012*/
- unsigned heading:12; // heading
- signed deltaZ:13; // change in z
- unsigned padding02:7;
/*0016*/
signed deltaHeading:10; // change in heading
- signed x:19; // x coord (1st loc value)
+ signed z:19; // z coord (3rd loc value)
unsigned padding03:3;
/*0020*/
- signed z:19; // z coord (3rd loc value)
- unsigned pitch:12; // pitch (up/down heading)
- unsigned padding04:1;
+ signed x:19; // x coord (1st loc value)
+ signed deltaX:13; // change in x
/*0024*/
};
@@ -2425,27 +2423,27 @@
/*0002*/ uint16_t spawnId; // Player's spawn id
/*0004*/ uint16_t unknown0004; // ***Placeholder
/*0006*/
- float x; // x coord (1st loc value)
+ float z; // z coord (3rd loc value)
/*0010*/
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned heading:12; // heading
+ unsigned padding01:8;
+/*0014*/
float y; // y coord (2nd loc value)
-/*0014*/
- float deltaX; // change in x
/*0018*/
signed deltaHeading:10; // change in heading
unsigned padding03:22;
/*0022*/
- float z; // z coord (3rd loc value)
+ float deltaX; // change in x
/*0026*/
- unsigned heading:12; // heading
- unsigned padding05:20;
+ float deltaY; // change in y
/*0030*/
- float deltaY; // change in y
+ signed animation:10; // current animation
+ unsigned padding06:22;
/*0034*/
float deltaZ; // change in z
/*0038*/
- signed animation:10; // current animation
- unsigned pitch:12; // pitch (up/down heading)
- unsigned padding08:10;
+ float x; // x coord (1st loc value)
/*0042*/
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-05-20 15:40:44
|
Revision: 1179
http://sourceforge.net/p/seq/svn/1179
Author: cn187
Date: 2021-05-20 15:40:43 +0000 (Thu, 20 May 2021)
Log Message:
-----------
Release 6.1.2
- Updated version to 6.1.2
- Support for EQ patch 05/19/21
- Struct and opcode updates
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-05-20 15:25:44 UTC (rev 1178)
+++ showeq/branches/cn187_devel/ChangeLog 2021-05-20 15:40:43 UTC (rev 1179)
@@ -1,3 +1,9 @@
+cn187 (05/20/21)
+----------------
+- Updated version to 6.1.2
+- Support for EQ patch 05/19/21
+- Opcode and struct updates
+
cn187 (04/22/21)
----------------
- Updated version to 6.1.1
Modified: showeq/branches/cn187_devel/conf/zoneopcodes.xml
===================================================================
--- showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-05-20 15:25:44 UTC (rev 1178)
+++ showeq/branches/cn187_devel/conf/zoneopcodes.xml 2021-05-20 15:40:43 UTC (rev 1179)
@@ -3,127 +3,127 @@
<seqopcodes>
<!-- Critical opcodes used directly by ShowEQ -->
- <opcode id="73c6" name="OP_PlayerProfile" updated="04/21/21">
+ <opcode id="304d" name="OP_PlayerProfile" updated="05/19/21">
<comment>CharProfileCode</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="5982" name="OP_ZoneEntry" updated="04/21/21">
+ <opcode id="4e21" name="OP_ZoneEntry" updated="05/19/21">
<comment>ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="5962" name="OP_TimeOfDay" updated="04/21/21">
+ <opcode id="0c8d" name="OP_TimeOfDay" updated="05/19/21">
<comment>TimeOfDayCode</comment>
<payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
</opcode>
- <opcode id="476e" name="OP_NewZone" updated="04/21/21">
+ <opcode id="1afe" name="OP_NewZone" updated="05/19/21">
<comment>NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
- <opcode id="348a" name="OP_SpawnDoor" updated="04/21/21">
+ <opcode id="239b" name="OP_SpawnDoor" updated="05/19/21">
<comment>DoorSpawnsCode</comment>
<payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="6479" name="OP_GroundSpawn" updated="04/21/21">
+ <opcode id="208f" name="OP_GroundSpawn" updated="05/19/21">
<comment>MakeDropCode</comment>
<payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="600d" name="OP_SendZonePoints" updated="04/21/21">
+ <opcode id="3734" name="OP_SendZonePoints" updated="05/19/21">
<comment>Coords in a zone that will port you to another zone</comment>
<payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
</opcode>
- <opcode id="38f8" name="OP_AAExpUpdate" updated="04/21/21">
+ <opcode id="386d" name="OP_AAExpUpdate" updated="05/19/21">
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="44af" name="OP_ExpUpdate" updated="04/21/21">
+ <opcode id="405b" name="OP_ExpUpdate" updated="05/19/21">
<comment>ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="72c8" name="OP_GuildMOTD" updated="04/21/21">
+ <opcode id="4089" name="OP_GuildMOTD" updated="05/19/21">
<comment>GuildMOTD</comment>
<payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
</opcode>
- <opcode id="3f4f" name="OP_ClientUpdate" updated="04/21/21">
+ <opcode id="3b56" name="OP_ClientUpdate" updated="05/19/21">
<comment>Position updates</comment>
<payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
<payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
</opcode>
- <opcode id="19ad" name="OP_NpcMoveUpdate" updated="04/21/21">
+ <opcode id="29d3" name="OP_NpcMoveUpdate" updated="05/19/21">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="6284" name="OP_MobUpdate" updated="04/21/21">
+ <opcode id="1b37" name="OP_MobUpdate" updated="05/19/21">
<comment>MobUpdateCode</comment>
<payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="6241" name="OP_DeleteSpawn" updated="04/21/21">
+ <opcode id="317f" name="OP_DeleteSpawn" updated="05/19/21">
<comment>DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
- <opcode id="4732" name="OP_RemoveSpawn" updated="04/21/21">
+ <opcode id="7718" name="OP_RemoveSpawn" updated="05/19/21">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
- <opcode id="19a8" name="OP_Death" updated="04/21/21">
+ <opcode id="2241" name="OP_Death" updated="05/19/21">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7d1b" name="OP_WearChange" updated="04/21/21">
+ <opcode id="1ac5" name="OP_WearChange" updated="05/19/21">
<comment>SpawnUpdateCode</comment>
<payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="26cb" name="OP_SpawnAppearance" updated="04/21/21">
+ <opcode id="702c" name="OP_SpawnAppearance" updated="05/19/21">
<comment>SpawnAppearanceCode</comment>
<payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1e83" name="OP_Stamina" updated="04/21/21">
+ <opcode id="1f40" name="OP_Stamina" updated="05/19/21">
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
- <opcode id="5a2a" name="OP_HPUpdate" updated="04/21/21">
+ <opcode id="53c0" name="OP_HPUpdate" updated="05/19/21">
<comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6427" name="OP_GuildMemberUpdate" updated="04/21/21">
+ <opcode id="31f2" name="OP_GuildMemberUpdate" updated="05/19/21">
<comment>Info regarding guild members</comment>
<payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="51f2" name="OP_ClickObject" updated="04/21/21">
+ <opcode id="1b9a" name="OP_ClickObject" updated="05/19/21">
<comment>Items dropped on the ground</comment>
<payload dir="both" typename="remDropStruct" sizechecktype="match"/>
</opcode>
- <opcode id="2c05" name="OP_Action" updated="04/21/21">
+ <opcode id="1efb" name="OP_Action" updated="05/19/21">
<comment>Spells cast etc</comment>
<payload dir="both" typename="actionStruct" sizechecktype="match"/>
<payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
</opcode>
- <opcode id="217b" name="OP_Action2" updated="04/21/21">
+ <opcode id="799e" name="OP_Action2" updated="05/19/21">
<comment>Combat actions i.e. bash, kick etc</comment>
<payload dir="both" typename="action2Struct" sizechecktype="match"/>
</opcode>
- <opcode id="29ca" name="OP_Consider" updated="04/21/21">
+ <opcode id="107c" name="OP_Consider" updated="05/19/21">
<comment>ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0621" name="OP_TargetMouse" updated="04/21/21">
+ <opcode id="0a6d" name="OP_TargetMouse" updated="05/19/21">
<comment>Targeting a person - old ClientTargetCode</comment>
<payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6223" name="OP_SpawnRename" updated="04/21/21">
+ <opcode id="2a6a" name="OP_SpawnRename" updated="05/19/21">
<comment>Spawns getting renamed after initial NewSpawn</comment>
<payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/>
</opcode>
- <opcode id="50d9" name="OP_Illusion" updated="04/21/21">
+ <opcode id="0134" name="OP_Illusion" updated="05/19/21">
<comment>Spawn being illusioned (changing forms)</comment>
<payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/>
</opcode>
- <opcode id="4119" name="OP_Shroud" updated="04/21/21">
+ <opcode id="7d4d" name="OP_Shroud" updated="05/19/21">
<comment>Server putting players into shroud form</comment>
<payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/>
</opcode>
- <opcode id="35da" name="OP_ZoneChange" updated="04/21/21">
+ <opcode id="4be3" name="OP_ZoneChange" updated="05/19/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="22bc" name="OP_Buff" updated="04/21/21">
+ <opcode id="6b8d" name="OP_Buff" updated="05/19/21">
<comment>old BuffDropCode</comment>
<payload dir="both" typename="buffStruct" sizechecktype="match"/>
</opcode>
- <opcode id="3dbe" name="OP_BeginCast" updated="04/21/21">
+ <opcode id="41c3" name="OP_BeginCast" updated="05/19/21">
<comment>BeginCastCode</comment>
<payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="5a44" name="OP_CastSpell" updated="04/21/21">
+ <opcode id="198c" name="OP_CastSpell" updated="05/19/21">
<comment>StartCastCode</comment>
<payload dir="both" typename="startCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="32ee" name="OP_SwapSpell" updated="04/21/21">
+ <opcode id="7edf" name="OP_SwapSpell" updated="05/19/21">
<comment>TradeSpellBookSlotsCode</comment>
<payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/>
</opcode>
- <opcode id="5c57" name="OP_MemorizeSpell" updated="04/21/21">
+ <opcode id="54b6" name="OP_MemorizeSpell" updated="05/19/21">
<comment>MemSpellCode</comment>
<payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6db3" name="OP_InspectAnswer" updated="04/21/21">
+ <opcode id="28ec" name="OP_InspectAnswer" updated="05/19/21">
<comment>InspectDataCode</comment>
<payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6265" name="OP_Emote" updated="04/21/21">
+ <opcode id="599f" name="OP_Emote" updated="05/19/21">
<comment>EmoteTextCode</comment>
<payload dir="both" typename="emoteTextStruct" sizechecktype="none"/>
</opcode>
- <opcode id="11e0" name="OP_SimpleMessage" updated="04/21/21">
+ <opcode id="045c" name="OP_SimpleMessage" updated="05/19/21">
<comment>SimpleMessageCode</comment>
<payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/>
</opcode>
- <opcode id="4e52" name="OP_FormattedMessage" updated="04/21/21">
+ <opcode id="0458" name="OP_FormattedMessage" updated="05/19/21">
<comment>FormattedMessageCode i.e. pet dismissed etc</comment>
<payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="6f00" name="OP_CommonMessage" updated="04/21/21">
+ <opcode id="6a82" name="OP_CommonMessage" updated="05/19/21">
<comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment>
<payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="165c" name="OP_SpecialMesg" updated="04/21/21">
+ <opcode id="3164" name="OP_SpecialMesg" updated="05/19/21">
<comment>Communicate textual info to client including hail responses etc</comment>
<payload dir="server" typename="specialMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="260d" name="OP_RandomReq" updated="04/21/21">
+ <opcode id="0039" name="OP_RandomReq" updated="05/19/21">
<comment>RandomReqCode</comment>
<payload dir="client" typename="randomReqStruct" sizechecktype="match"/>
</opcode>
- <opcode id="5b74" name="OP_RandomReply" updated="04/21/21">
+ <opcode id="2ab4" name="OP_RandomReply" updated="05/19/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="7d0f" name="OP_ManaChange" updated="04/21/21">
+ <opcode id="432b" name="OP_ManaChange" updated="05/19/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="03d6" name="OP_BazaarSearchRequest" updated="04/21/21">
+ <opcode id="2203" name="OP_BazaarSearchRequest" updated="05/19/21">
<comment>Bazaar search request </comment>
<payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/>
</opcode>
- <opcode id="32e1" name="OP_BazaarSearchResponse" updated="04/21/21">
+ <opcode id="41ab" name="OP_BazaarSearchResponse" updated="05/19/21">
<comment>Bazaar search Response - Struct incorrect </comment>
<payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="ffff" name="OP_MoneyOnCorpse" updated="02/17/21">
+ <opcode id="08a8" name="OP_MoneyOnCorpse" updated="05/19/21">
<comment>MoneyOnCorpseCode</comment>
<payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0eaa" name="OP_SkillUpdate" updated="04/21/21">
+ <opcode id="0b4f" name="OP_SkillUpdate" updated="05/19/21">
<comment>Skill up code</comment>
<payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
</opcode>
- <opcode id="494d" name="OP_LevelUpdate" updated="04/21/21">
+ <opcode id="1b81" name="OP_LevelUpdate" updated="05/19/21">
<comment>LevelUpUpdateCode</comment>
<payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="3382" name="OP_DzSwitchInfo" updated="04/21/21">
+ <opcode id="697c" name="OP_DzSwitchInfo" updated="05/19/21">
<comment>Expedition compass etc</comment>
<payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/>
</opcode>
- <opcode id="784b" name="OP_DzInfo" updated="04/21/21">
+ <opcode id="4e0e" name="OP_DzInfo" updated="05/19/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="358d" name="OP_SetRunMode" updated="04/21/21">
+ <opcode id="17ad" name="OP_SetRunMode" updated="05/19/21">
<comment>old cRunToggleCode</comment>
<payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/>
</opcode>
- <opcode id="ffff" name="OP_Trader" updated="02/17/21">
+ <opcode id="6626" name="OP_Trader" updated="05/19/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="562f" name="OP_GuildMemberList" updated="04/21/21">
+ <opcode id="0840" name="OP_GuildMemberList" updated="05/19/21">
<comment>List of guild members - Variable length</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="3a2e" name="OP_ManaUpdate" updated="04/21/21">
+ <opcode id="4584" name="OP_ManaUpdate" updated="05/19/21">
<comment>Mana Update opcode - 10 bytes</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="3d4c" name="OP_EndUpdate" updated="04/21/21">
+ <opcode id="6d4b" name="OP_EndUpdate" updated="05/19/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="5bbe" name="OP_ExpandedGuildInfo" updated="04/21/21">
+ <opcode id="5299" name="OP_ExpandedGuildInfo" updated="05/19/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="4697" name="OP_GuildsInZoneList" updated="04/21/21">
+ <opcode id="55bf" name="OP_GuildsInZoneList" updated="05/19/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="2a7c" name="OP_NewGuildInZone" updated="04/21/21">
+ <opcode id="1712" name="OP_NewGuildInZone" updated="05/19/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="6765" name="OP_Find" updated="04/21/21">
+ <opcode id="69d3" name="OP_Find" updated="05/19/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-05-20 15:25:44 UTC (rev 1178)
+++ showeq/branches/cn187_devel/configure.in 2021-05-20 15:40:43 UTC (rev 1179)
@@ -2,7 +2,7 @@
dnl $Id$ $Name$
AC_PREREQ(2.59)
-AC_INIT(showeq, 6.1.1)
+AC_INIT(showeq, 6.1.2)
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-05-20 15:25:44 UTC (rev 1178)
+++ showeq/branches/cn187_devel/src/everquest.h 2021-05-20 15:40:43 UTC (rev 1179)
@@ -1112,25 +1112,26 @@
{
struct
{
- signed z:19; // z coord (3rd loc value)
+
+ signed deltaX:13; // change in x
signed animation:10; // current animation
- unsigned padding00:3;
+ unsigned padding00:9;
+ signed y:19; // y coord (2nd loc value)
+ signed deltaY:13; // change in y
+
+ unsigned heading:12; // heading
signed deltaZ:13; // change in z
+ unsigned padding02:7;
+
signed deltaHeading:10; // change in heading
- unsigned padding01:9;
+ signed x:19; // x coord (1st loc value)
+ unsigned padding03:3;
- signed deltaY:13; // change in y
- signed y:19; // y coord (2nd loc value)
-
+ signed z:19; // z coord (3rd loc value)
unsigned pitch:12; // pitch (up/down heading)
- signed x:19; // x coord (1st loc value)
- unsigned padding03:1;
+ unsigned padding04:1;
- signed deltaX:13; // change in x
- unsigned heading:12; // heading
- unsigned padding04:7;
-
};
int32_t posData[5];
};
@@ -2392,24 +2393,24 @@
/*0000*/ uint16_t spawnId;
/*0002*/ uint16_t spawnId2;
/*0004*/
- signed z:19; // z coord (3rd loc value)
+ signed deltaX:13; // change in x
signed animation:10; // current animation
- unsigned padding00:3;
+ unsigned padding00:9;
/*0008*/
+ signed y:19; // y coord (2nd loc value)
+ signed deltaY:13; // change in y
+/*0012*/
+ unsigned heading:12; // heading
signed deltaZ:13; // change in z
+ unsigned padding02:7;
+/*0016*/
signed deltaHeading:10; // change in heading
- unsigned padding01:9;
-/*0012*/
- signed deltaY:13; // change in y
- signed y:19; // y coord (2nd loc value)
-/*0016*/
- unsigned pitch:12; // pitch (up/down heading)
signed x:19; // x coord (1st loc value)
- unsigned padding03:1;
+ unsigned padding03:3;
/*0020*/
- signed deltaX:13; // change in x
- unsigned heading:12; // heading
- unsigned padding04:7;
+ signed z:19; // z coord (3rd loc value)
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned padding04:1;
/*0024*/
};
@@ -2424,27 +2425,27 @@
/*0002*/ uint16_t spawnId; // Player's spawn id
/*0004*/ uint16_t unknown0004; // ***Placeholder
/*0006*/
- signed animation:10; // current animation
- unsigned heading:12; // heading
- unsigned padding00:10;
+ float x; // x coord (1st loc value)
/*0010*/
float y; // y coord (2nd loc value)
/*0014*/
- float deltaY; // change in y
+ float deltaX; // change in x
/*0018*/
signed deltaHeading:10; // change in heading
unsigned padding03:22;
/*0022*/
- float deltaX; // change in x
+ float z; // z coord (3rd loc value)
/*0026*/
- unsigned pitch:12; // pitch (up/down heading)
+ unsigned heading:12; // heading
unsigned padding05:20;
/*0030*/
+ float deltaY; // change in y
+/*0034*/
float deltaZ; // change in z
-/*0034*/
- float x; // x coord (1st loc value)
/*0038*/
- float z; // z coord (3rd loc value)
+ signed animation:10; // current animation
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned padding08:10;
/*0042*/
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-05-20 15:25:44
|
Revision: 1178
http://sourceforge.net/p/seq/svn/1178
Author: cn187
Date: 2021-05-20 15:25:44 +0000 (Thu, 20 May 2021)
Log Message:
-----------
Tag for release 6.1.2
Added Paths:
-----------
showeq/tags/v6_1_2/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-05-20 15:22:51
|
Revision: 1177
http://sourceforge.net/p/seq/svn/1177
Author: cn187
Date: 2021-05-20 15:22:45 +0000 (Thu, 20 May 2021)
Log Message:
-----------
Release 6.1.2
- Updated version to 6.1.2
- Support for EQ patch 05/19/21
- Struct and opcode updates
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-04-30 17:43:34 UTC (rev 1176)
+++ showeq/trunk/ChangeLog 2021-05-20 15:22:45 UTC (rev 1177)
@@ -1,3 +1,9 @@
+cn187 (05/20/21)
+----------------
+- Updated version to 6.1.2
+- Support for EQ patch 05/19/21
+- Opcode and struct updates
+
cn187 (04/22/21)
----------------
- Updated version to 6.1.1
Modified: showeq/trunk/conf/zoneopcodes.xml
===================================================================
--- showeq/trunk/conf/zoneopcodes.xml 2021-04-30 17:43:34 UTC (rev 1176)
+++ showeq/trunk/conf/zoneopcodes.xml 2021-05-20 15:22:45 UTC (rev 1177)
@@ -3,127 +3,127 @@
<seqopcodes>
<!-- Critical opcodes used directly by ShowEQ -->
- <opcode id="73c6" name="OP_PlayerProfile" updated="04/21/21">
+ <opcode id="304d" name="OP_PlayerProfile" updated="05/19/21">
<comment>CharProfileCode</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="5982" name="OP_ZoneEntry" updated="04/21/21">
+ <opcode id="4e21" name="OP_ZoneEntry" updated="05/19/21">
<comment>ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="5962" name="OP_TimeOfDay" updated="04/21/21">
+ <opcode id="0c8d" name="OP_TimeOfDay" updated="05/19/21">
<comment>TimeOfDayCode</comment>
<payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
</opcode>
- <opcode id="476e" name="OP_NewZone" updated="04/21/21">
+ <opcode id="1afe" name="OP_NewZone" updated="05/19/21">
<comment>NewZoneCode</comment>
<payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
</opcode>
- <opcode id="348a" name="OP_SpawnDoor" updated="04/21/21">
+ <opcode id="239b" name="OP_SpawnDoor" updated="05/19/21">
<comment>DoorSpawnsCode</comment>
<payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="6479" name="OP_GroundSpawn" updated="04/21/21">
+ <opcode id="208f" name="OP_GroundSpawn" updated="05/19/21">
<comment>MakeDropCode</comment>
<payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
<payload dir="client" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="600d" name="OP_SendZonePoints" updated="04/21/21">
+ <opcode id="3734" name="OP_SendZonePoints" updated="05/19/21">
<comment>Coords in a zone that will port you to another zone</comment>
<payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
</opcode>
- <opcode id="38f8" name="OP_AAExpUpdate" updated="04/21/21">
+ <opcode id="386d" name="OP_AAExpUpdate" updated="05/19/21">
<comment>Receiving AA experience. Also when percent to AA changes.</comment>
<payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="44af" name="OP_ExpUpdate" updated="04/21/21">
+ <opcode id="405b" name="OP_ExpUpdate" updated="05/19/21">
<comment>ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="72c8" name="OP_GuildMOTD" updated="04/21/21">
+ <opcode id="4089" name="OP_GuildMOTD" updated="05/19/21">
<comment>GuildMOTD</comment>
<payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
</opcode>
- <opcode id="3f4f" name="OP_ClientUpdate" updated="04/21/21">
+ <opcode id="3b56" name="OP_ClientUpdate" updated="05/19/21">
<comment>Position updates</comment>
<payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
<payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
</opcode>
- <opcode id="19ad" name="OP_NpcMoveUpdate" updated="04/21/21">
+ <opcode id="29d3" name="OP_NpcMoveUpdate" updated="05/19/21">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="6284" name="OP_MobUpdate" updated="04/21/21">
+ <opcode id="1b37" name="OP_MobUpdate" updated="05/19/21">
<comment>MobUpdateCode</comment>
<payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="6241" name="OP_DeleteSpawn" updated="04/21/21">
+ <opcode id="317f" name="OP_DeleteSpawn" updated="05/19/21">
<comment>DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
- <opcode id="4732" name="OP_RemoveSpawn" updated="04/21/21">
+ <opcode id="7718" name="OP_RemoveSpawn" updated="05/19/21">
<comment>Remove spawn from zone</comment>
<payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
</opcode>
- <opcode id="19a8" name="OP_Death" updated="04/21/21">
+ <opcode id="2241" name="OP_Death" updated="05/19/21">
<comment>old NewCorpseCode</comment>
<payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="7d1b" name="OP_WearChange" updated="04/21/21">
+ <opcode id="1ac5" name="OP_WearChange" updated="05/19/21">
<comment>SpawnUpdateCode</comment>
<payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="26cb" name="OP_SpawnAppearance" updated="04/21/21">
+ <opcode id="702c" name="OP_SpawnAppearance" updated="05/19/21">
<comment>SpawnAppearanceCode</comment>
<payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
</opcode>
- <opcode id="1e83" name="OP_Stamina" updated="04/21/21">
+ <opcode id="1f40" name="OP_Stamina" updated="05/19/21">
<comment>Server updating on hunger/thirst</comment>
<payload dir="server" typename="staminaStruct" sizechecktype="match"/>
</opcode>
- <opcode id="5a2a" name="OP_HPUpdate" updated="04/21/21">
+ <opcode id="53c0" name="OP_HPUpdate" updated="05/19/21">
<comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6427" name="OP_GuildMemberUpdate" updated="04/21/21">
+ <opcode id="31f2" name="OP_GuildMemberUpdate" updated="05/19/21">
<comment>Info regarding guild members</comment>
<payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
</opcode>
- <opcode id="51f2" name="OP_ClickObject" updated="04/21/21">
+ <opcode id="1b9a" name="OP_ClickObject" updated="05/19/21">
<comment>Items dropped on the ground</comment>
<payload dir="both" typename="remDropStruct" sizechecktype="match"/>
</opcode>
- <opcode id="2c05" name="OP_Action" updated="04/21/21">
+ <opcode id="1efb" name="OP_Action" updated="05/19/21">
<comment>Spells cast etc</comment>
<payload dir="both" typename="actionStruct" sizechecktype="match"/>
<payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
</opcode>
- <opcode id="217b" name="OP_Action2" updated="04/21/21">
+ <opcode id="799e" name="OP_Action2" updated="05/19/21">
<comment>Combat actions i.e. bash, kick etc</comment>
<payload dir="both" typename="action2Struct" sizechecktype="match"/>
</opcode>
- <opcode id="29ca" name="OP_Consider" updated="04/21/21">
+ <opcode id="107c" name="OP_Consider" updated="05/19/21">
<comment>ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0621" name="OP_TargetMouse" updated="04/21/21">
+ <opcode id="0a6d" name="OP_TargetMouse" updated="05/19/21">
<comment>Targeting a person - old ClientTargetCode</comment>
<payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6223" name="OP_SpawnRename" updated="04/21/21">
+ <opcode id="2a6a" name="OP_SpawnRename" updated="05/19/21">
<comment>Spawns getting renamed after initial NewSpawn</comment>
<payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/>
</opcode>
- <opcode id="50d9" name="OP_Illusion" updated="04/21/21">
+ <opcode id="0134" name="OP_Illusion" updated="05/19/21">
<comment>Spawn being illusioned (changing forms)</comment>
<payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/>
</opcode>
- <opcode id="4119" name="OP_Shroud" updated="04/21/21">
+ <opcode id="7d4d" name="OP_Shroud" updated="05/19/21">
<comment>Server putting players into shroud form</comment>
<payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/>
</opcode>
- <opcode id="35da" name="OP_ZoneChange" updated="04/21/21">
+ <opcode id="4be3" name="OP_ZoneChange" updated="05/19/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="22bc" name="OP_Buff" updated="04/21/21">
+ <opcode id="6b8d" name="OP_Buff" updated="05/19/21">
<comment>old BuffDropCode</comment>
<payload dir="both" typename="buffStruct" sizechecktype="match"/>
</opcode>
- <opcode id="3dbe" name="OP_BeginCast" updated="04/21/21">
+ <opcode id="41c3" name="OP_BeginCast" updated="05/19/21">
<comment>BeginCastCode</comment>
<payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="5a44" name="OP_CastSpell" updated="04/21/21">
+ <opcode id="198c" name="OP_CastSpell" updated="05/19/21">
<comment>StartCastCode</comment>
<payload dir="both" typename="startCastStruct" sizechecktype="match"/>
</opcode>
- <opcode id="32ee" name="OP_SwapSpell" updated="04/21/21">
+ <opcode id="7edf" name="OP_SwapSpell" updated="05/19/21">
<comment>TradeSpellBookSlotsCode</comment>
<payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/>
</opcode>
- <opcode id="5c57" name="OP_MemorizeSpell" updated="04/21/21">
+ <opcode id="54b6" name="OP_MemorizeSpell" updated="05/19/21">
<comment>MemSpellCode</comment>
<payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6db3" name="OP_InspectAnswer" updated="04/21/21">
+ <opcode id="28ec" name="OP_InspectAnswer" updated="05/19/21">
<comment>InspectDataCode</comment>
<payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
</opcode>
- <opcode id="6265" name="OP_Emote" updated="04/21/21">
+ <opcode id="599f" name="OP_Emote" updated="05/19/21">
<comment>EmoteTextCode</comment>
<payload dir="both" typename="emoteTextStruct" sizechecktype="none"/>
</opcode>
- <opcode id="11e0" name="OP_SimpleMessage" updated="04/21/21">
+ <opcode id="045c" name="OP_SimpleMessage" updated="05/19/21">
<comment>SimpleMessageCode</comment>
<payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/>
</opcode>
- <opcode id="4e52" name="OP_FormattedMessage" updated="04/21/21">
+ <opcode id="0458" name="OP_FormattedMessage" updated="05/19/21">
<comment>FormattedMessageCode i.e. pet dismissed etc</comment>
<payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="6f00" name="OP_CommonMessage" updated="04/21/21">
+ <opcode id="6a82" name="OP_CommonMessage" updated="05/19/21">
<comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment>
<payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="165c" name="OP_SpecialMesg" updated="04/21/21">
+ <opcode id="3164" name="OP_SpecialMesg" updated="05/19/21">
<comment>Communicate textual info to client including hail responses etc</comment>
<payload dir="server" typename="specialMessageStruct" sizechecktype="none"/>
</opcode>
- <opcode id="260d" name="OP_RandomReq" updated="04/21/21">
+ <opcode id="0039" name="OP_RandomReq" updated="05/19/21">
<comment>RandomReqCode</comment>
<payload dir="client" typename="randomReqStruct" sizechecktype="match"/>
</opcode>
- <opcode id="5b74" name="OP_RandomReply" updated="04/21/21">
+ <opcode id="2ab4" name="OP_RandomReply" updated="05/19/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="7d0f" name="OP_ManaChange" updated="04/21/21">
+ <opcode id="432b" name="OP_ManaChange" updated="05/19/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="03d6" name="OP_BazaarSearchRequest" updated="04/21/21">
+ <opcode id="2203" name="OP_BazaarSearchRequest" updated="05/19/21">
<comment>Bazaar search request </comment>
<payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/>
</opcode>
- <opcode id="32e1" name="OP_BazaarSearchResponse" updated="04/21/21">
+ <opcode id="41ab" name="OP_BazaarSearchResponse" updated="05/19/21">
<comment>Bazaar search Response - Struct incorrect </comment>
<payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/>
</opcode>
- <opcode id="ffff" name="OP_MoneyOnCorpse" updated="02/17/21">
+ <opcode id="08a8" name="OP_MoneyOnCorpse" updated="05/19/21">
<comment>MoneyOnCorpseCode</comment>
<payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
</opcode>
- <opcode id="0eaa" name="OP_SkillUpdate" updated="04/21/21">
+ <opcode id="0b4f" name="OP_SkillUpdate" updated="05/19/21">
<comment>Skill up code</comment>
<payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
</opcode>
- <opcode id="494d" name="OP_LevelUpdate" updated="04/21/21">
+ <opcode id="1b81" name="OP_LevelUpdate" updated="05/19/21">
<comment>LevelUpUpdateCode</comment>
<payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/>
</opcode>
- <opcode id="3382" name="OP_DzSwitchInfo" updated="04/21/21">
+ <opcode id="697c" name="OP_DzSwitchInfo" updated="05/19/21">
<comment>Expedition compass etc</comment>
<payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/>
</opcode>
- <opcode id="784b" name="OP_DzInfo" updated="04/21/21">
+ <opcode id="4e0e" name="OP_DzInfo" updated="05/19/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="358d" name="OP_SetRunMode" updated="04/21/21">
+ <opcode id="17ad" name="OP_SetRunMode" updated="05/19/21">
<comment>old cRunToggleCode</comment>
<payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/>
</opcode>
- <opcode id="ffff" name="OP_Trader" updated="02/17/21">
+ <opcode id="6626" name="OP_Trader" updated="05/19/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="562f" name="OP_GuildMemberList" updated="04/21/21">
+ <opcode id="0840" name="OP_GuildMemberList" updated="05/19/21">
<comment>List of guild members - Variable length</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="3a2e" name="OP_ManaUpdate" updated="04/21/21">
+ <opcode id="4584" name="OP_ManaUpdate" updated="05/19/21">
<comment>Mana Update opcode - 10 bytes</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
- <opcode id="3d4c" name="OP_EndUpdate" updated="04/21/21">
+ <opcode id="6d4b" name="OP_EndUpdate" updated="05/19/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="5bbe" name="OP_ExpandedGuildInfo" updated="04/21/21">
+ <opcode id="5299" name="OP_ExpandedGuildInfo" updated="05/19/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="4697" name="OP_GuildsInZoneList" updated="04/21/21">
+ <opcode id="55bf" name="OP_GuildsInZoneList" updated="05/19/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="2a7c" name="OP_NewGuildInZone" updated="04/21/21">
+ <opcode id="1712" name="OP_NewGuildInZone" updated="05/19/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="6765" name="OP_Find" updated="04/21/21">
+ <opcode id="69d3" name="OP_Find" updated="05/19/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-04-30 17:43:34 UTC (rev 1176)
+++ showeq/trunk/configure.in 2021-05-20 15:22:45 UTC (rev 1177)
@@ -2,7 +2,7 @@
dnl $Id$ $Name$
AC_PREREQ(2.59)
-AC_INIT(showeq, 6.1.1)
+AC_INIT(showeq, 6.1.2)
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-04-30 17:43:34 UTC (rev 1176)
+++ showeq/trunk/src/everquest.h 2021-05-20 15:22:45 UTC (rev 1177)
@@ -1112,25 +1112,26 @@
{
struct
{
- signed z:19; // z coord (3rd loc value)
+
+ signed deltaX:13; // change in x
signed animation:10; // current animation
- unsigned padding00:3;
+ unsigned padding00:9;
+ signed y:19; // y coord (2nd loc value)
+ signed deltaY:13; // change in y
+
+ unsigned heading:12; // heading
signed deltaZ:13; // change in z
+ unsigned padding02:7;
+
signed deltaHeading:10; // change in heading
- unsigned padding01:9;
+ signed x:19; // x coord (1st loc value)
+ unsigned padding03:3;
- signed deltaY:13; // change in y
- signed y:19; // y coord (2nd loc value)
-
+ signed z:19; // z coord (3rd loc value)
unsigned pitch:12; // pitch (up/down heading)
- signed x:19; // x coord (1st loc value)
- unsigned padding03:1;
+ unsigned padding04:1;
- signed deltaX:13; // change in x
- unsigned heading:12; // heading
- unsigned padding04:7;
-
};
int32_t posData[5];
};
@@ -2392,24 +2393,24 @@
/*0000*/ uint16_t spawnId;
/*0002*/ uint16_t spawnId2;
/*0004*/
- signed z:19; // z coord (3rd loc value)
+ signed deltaX:13; // change in x
signed animation:10; // current animation
- unsigned padding00:3;
+ unsigned padding00:9;
/*0008*/
+ signed y:19; // y coord (2nd loc value)
+ signed deltaY:13; // change in y
+/*0012*/
+ unsigned heading:12; // heading
signed deltaZ:13; // change in z
+ unsigned padding02:7;
+/*0016*/
signed deltaHeading:10; // change in heading
- unsigned padding01:9;
-/*0012*/
- signed deltaY:13; // change in y
- signed y:19; // y coord (2nd loc value)
-/*0016*/
- unsigned pitch:12; // pitch (up/down heading)
signed x:19; // x coord (1st loc value)
- unsigned padding03:1;
+ unsigned padding03:3;
/*0020*/
- signed deltaX:13; // change in x
- unsigned heading:12; // heading
- unsigned padding04:7;
+ signed z:19; // z coord (3rd loc value)
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned padding04:1;
/*0024*/
};
@@ -2424,27 +2425,27 @@
/*0002*/ uint16_t spawnId; // Player's spawn id
/*0004*/ uint16_t unknown0004; // ***Placeholder
/*0006*/
- signed animation:10; // current animation
- unsigned heading:12; // heading
- unsigned padding00:10;
+ float x; // x coord (1st loc value)
/*0010*/
float y; // y coord (2nd loc value)
/*0014*/
- float deltaY; // change in y
+ float deltaX; // change in x
/*0018*/
signed deltaHeading:10; // change in heading
unsigned padding03:22;
/*0022*/
- float deltaX; // change in x
+ float z; // z coord (3rd loc value)
/*0026*/
- unsigned pitch:12; // pitch (up/down heading)
+ unsigned heading:12; // heading
unsigned padding05:20;
/*0030*/
+ float deltaY; // change in y
+/*0034*/
float deltaZ; // change in z
-/*0034*/
- float x; // x coord (1st loc value)
/*0038*/
- float z; // z coord (3rd loc value)
+ signed animation:10; // current animation
+ unsigned pitch:12; // pitch (up/down heading)
+ unsigned padding08:10;
/*0042*/
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 17:43:35
|
Revision: 1176
http://sourceforge.net/p/seq/svn/1176
Author: cn187
Date: 2021-04-30 17:43:34 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] Improve qt5 autodetection on certain platforms
Modified Paths:
--------------
showeq/branches/cn187_devel/acinclude.m4
Modified: showeq/branches/cn187_devel/acinclude.m4
===================================================================
--- showeq/branches/cn187_devel/acinclude.m4 2021-04-30 17:43:22 UTC (rev 1175)
+++ showeq/branches/cn187_devel/acinclude.m4 2021-04-30 17:43:34 UTC (rev 1176)
@@ -1,6 +1,6 @@
## -*- autoconf -*-
-# serial 3 add qt5 support
+# serial 4 improve qt5 autodetection on certain plaforms
dnl This file is part of ShowEQ and is based on the file from KDE.
dnl Copyright (C) 1997 Janos Farkas (ch...@sh...)
@@ -862,10 +862,11 @@
dnl qt5 (and later?) has QT_VERSION_STR in qconfig.h, while qt4 has it in qglobal.h
-AC_FIND_FILE("QtCore/qconfig.h", $qt_incdirs, qt5_incdir)
AC_FIND_FILE("Qt/qglobal.h", $qt_incdirs, qt4_incdir)
+AC_FIND_FILE("QtCore/qconfig.h", $qt_incdirs, qt5_incdir_base)
+AC_FIND_FILE("QtCore/qconfig-32.h", $qt_incdirs, qt5_incdir_32)
+AC_FIND_FILE("QtCore/qconfig-64.h", $qt_incdirs, qt5_incdir_64)
-
dnl *************************************************
dnl * At this point, we extract the Qt version from *
dnl * the includes that we located... *
@@ -887,10 +888,20 @@
if [[ -n "$qt_version_string" ]]; then
qt_incdir="$qt4_incdir"
-else
+else
+ if [[ "$qt5_incdir_64" != "NO" ]]; then
+ qt_version_source="$qt5_incdir_64/QtCore/qconfig-64.h"
+ qt_incdir="$qt5_incdir_64"
+ else
+ if [[ "$qt5_incdir_32" != "NO" ]]; then
+ qt_version_source="$qt5_incdir_32/QtCore/qconfig-32.h"
+ qt_incdir="$qt5_incdir_32"
+ else
+ qt_version_source="$qt5_incdir_base/QtCore/qconfig.h"
+ qt_incdir="$qt5_incdir_base"
+ fi
+ fi
- qt_version_source="$qt5_incdir/QtCore/qconfig.h"
-
qt_version_string=`cat $qt_version_source 2> configure.dbg |\
grep "#define QT_VERSION_STR" |\
sed 's/QT_VERSION_STR//' |\
@@ -899,10 +910,8 @@
sed 's/ //g' |\
sed 's/"//g'`;
- qt_incdir="$qt5_incdir"
fi
-
qt_version_number=`cat $qt_version_source 2> configure.dbg |\
grep "#define QT_VERSION[^_]" |\
sed 's/QT_VERSION//' |\
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 17:43:29
|
Revision: 1175
http://sourceforge.net/p/seq/svn/1175
Author: cn187
Date: 2021-04-30 17:43:22 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
Add checks for libpng and libICE to reduce silent configure failures
Modified Paths:
--------------
showeq/branches/cn187_devel/configure.in
Modified: showeq/branches/cn187_devel/configure.in
===================================================================
--- showeq/branches/cn187_devel/configure.in 2021-04-30 16:21:14 UTC (rev 1174)
+++ showeq/branches/cn187_devel/configure.in 2021-04-30 17:43:22 UTC (rev 1175)
@@ -162,6 +162,8 @@
AC_CHECK_LIB(X11, _init, [], AC_MSG_ERROR(cannot find X11 library. Install the X11 development package))
AC_CHECK_LIB(Xext, _init, [], AC_MSG_ERROR(cannot find Xext library. Install the Xext development package))
+AC_CHECK_LIB(png, _init, [], AC_MSG_ERROR(cannot find PNG library. Install the png development package))
+AC_CHECK_LIB(ICE, _init, [], AC_MSG_ERROR(cannot find ICE library. Install the ICE development package))
AC_PATH_QT_MOC
AC_PATH_QT_UIC
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 16:21:19
|
Revision: 1174
http://sourceforge.net/p/seq/svn/1174
Author: cn187
Date: 2021-04-30 16:21:14 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
Add checks for libpng and libICE to reduce silent configure failures
Modified Paths:
--------------
showeq/trunk/configure.in
Modified: showeq/trunk/configure.in
===================================================================
--- showeq/trunk/configure.in 2021-04-30 04:12:01 UTC (rev 1173)
+++ showeq/trunk/configure.in 2021-04-30 16:21:14 UTC (rev 1174)
@@ -162,6 +162,8 @@
AC_CHECK_LIB(X11, _init, [], AC_MSG_ERROR(cannot find X11 library. Install the X11 development package))
AC_CHECK_LIB(Xext, _init, [], AC_MSG_ERROR(cannot find Xext library. Install the Xext development package))
+AC_CHECK_LIB(png, _init, [], AC_MSG_ERROR(cannot find PNG library. Install the png development package))
+AC_CHECK_LIB(ICE, _init, [], AC_MSG_ERROR(cannot find ICE library. Install the ICE development package))
AC_PATH_QT_MOC
AC_PATH_QT_UIC
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:12:02
|
Revision: 1173
http://sourceforge.net/p/seq/svn/1173
Author: cn187
Date: 2021-04-30 04:12:01 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] Update autotools files to allow building with Qt5
Modified Paths:
--------------
showeq/branches/cn187_devel/acinclude.m4
showeq/branches/cn187_devel/configure.in
showeq/branches/cn187_devel/src/Makefile.am
Modified: showeq/branches/cn187_devel/acinclude.m4
===================================================================
--- showeq/branches/cn187_devel/acinclude.m4 2021-04-30 04:11:48 UTC (rev 1172)
+++ showeq/branches/cn187_devel/acinclude.m4 2021-04-30 04:12:01 UTC (rev 1173)
@@ -1,6 +1,6 @@
## -*- autoconf -*-
-# serial 2 qt4 update
+# serial 3 add qt5 support
dnl This file is part of ShowEQ and is based on the file from KDE.
dnl Copyright (C) 1997 Janos Farkas (ch...@sh...)
@@ -97,53 +97,42 @@
AC_DEFUN([AC_PATH_QT_MOC],
[
if [[ -n "$ac_qt_includes" ]]; then
+
+ moc_name=moc-qt${qt_major_version}
- AC_MSG_CHECKING([for Qt4 MOC]);
- AC_FIND_FILE(moc-qt4, [ $ac_qt_bindir \
+ AC_MSG_CHECKING([for Qt MOC]);
+ AC_FIND_FILE($moc_name, [ $ac_qt_bindir \
$QTDIR/bin \
$QTDIR/src/moc \
- /usr/local/qt4/bin \
- /usr/lib/${host_cpu}-${host_vendor}-${host_os}/qt4/bin \
- /usr/lib/${host_cpu}-${host_os}/qt4/bin \
- /usr/lib/arm-linux-gnueabihf/qt4/bin \
- /usr/lib/*/qt4/bin \
- /usr/lib/qt4/bin \
- /usr/X11R6/bin/qt4 \
- /usr/X11R6/bin/qt4/bin \
- /usr/X11R6/bin/X11/qt4 \
- /usr/X11R6/bin/X11/qt4/bin \
/usr/local/qt*/bin \
+ /usr/lib/${host_cpu}-${host_vendor}-${host_os}/qt*/bin \
+ /usr/lib/${host_cpu}-${host_os}/qt*/bin \
+ /usr/lib/arm-linux-gnueabihf/qt*/bin \
/usr/lib/*/qt*/bin \
+ /usr/lib/qt*/bin \
/usr/X11R6/bin/qt* \
/usr/X11R6/bin/qt*/bin \
/usr/X11R6/bin/X11/qt* \
/usr/X11R6/bin/X11/qt*/bin \
- /usr/lib/qt*/bin \
/usr/bin \
/usr/X11R6/bin \
/usr/src/qt-*/bin ],
MOC)
- ac_qt_moc_bin=moc-qt4
+ ac_qt_moc_bin=$moc_name
-dnl if we don't find it named "moc-qt4" then we should check for "moc"
- if [[ -z "$MOC" ]]; then
+dnl if we don't find it named with the specific version then we should check for "moc"
+ if [[ -z "$MOC" ]] || [[ "$MOC" == "NO" ]]; then
AC_FIND_FILE(moc, [ $ac_qt_bindir \
$QTDIR/bin \
$QTDIR/src/moc \
- /usr/local/qt4/bin \
- /usr/lib/${host_cpu}-${host_vendor}-${host_os}/qt4/bin \
- /usr/lib/${host_cpu}-${host_os}/qt4/bin \
- /usr/lib/arm-linux-gnueabihf/qt4/bin \
- /usr/lib/*/qt4/bin \
- /usr/lib/qt4/bin \
- /usr/X11R6/bin/qt4 \
- /usr/X11R6/bin/qt4/bin \
- /usr/X11R6/bin/X11/qt4 \
- /usr/X11R6/bin/X11/qt4/bin \
/usr/local/qt*/bin \
+ /usr/lib/${host_cpu}-${host_vendor}-${host_os}/qt*/bin \
+ /usr/lib/${host_cpu}-${host_os}/qt*/bin \
+ /usr/lib/arm-linux-gnueabihf/qt*/bin \
/usr/lib/*/qt*/bin \
+ /usr/lib/qt*/bin \
/usr/X11R6/bin/qt* \
/usr/X11R6/bin/qt*/bin \
/usr/X11R6/bin/X11/qt* \
@@ -175,7 +164,12 @@
MOC_ERROR_MESSAGE
fi
- output=`eval "$ac_cv_path_moc -v 2>&1 | sed -e '1q' | grep Qt"`
+ output=""
+ if [[ $qt_major_version -eq 4 ]]; then
+ output=`eval "$ac_cv_path_moc -v 2>&1 | sed -e '1q' | grep Qt"`
+ else
+ output=`eval "$ac_cv_path_moc -v 2>&1 | sed -e '1q' | grep moc"`
+ fi
echo "configure:__oline__: tried to call $ac_cv_path_moc -v 2>&1 | sed -e '1q' | grep Qt" >&AC_FD_CC
echo "configure:__oline__: moc output: $output" >&AC_FD_CC
@@ -238,25 +232,17 @@
[
if [[ -n "$ac_qt_includes" ]]; then
- AC_MSG_CHECKING([for Qt4 UIC]);
+ AC_MSG_CHECKING([for Qt UIC]);
AC_FIND_FILE(uic, [ $ac_qt_bindir \
$QTDIR/bin \
$QTDIR/src/uic \
- /usr/local/qt4/bin \
- /usr/lib/${host_cpu}-${host_vendor}-${host_os}/qt4/bin \
- /usr/lib/${host_cpu}-${host_os}/qt4/bin \
- /usr/lib/arm-linux-gnueabihf/qt4/bin \
- /usr/lib/*/qt4/bin \
- /usr/lib64/*/qt4/bin \
+ /usr/local/qt*/bin \
+ /usr/lib/${host_cpu}-${host_vendor}-${host_os}/qt*/bin \
+ /usr/lib/${host_cpu}-${host_os}/qt*/bin \
+ /usr/lib/arm-linux-gnueabihf/qt*/bin \
+ /usr/lib/*/qt*/bin \
+ /usr/lib64/*/qt*/bin \
/usr/bin \
- /usr/X11R6/bin/qt4 \
- /usr/X11R6/bin/qt4/bin \
- /usr/X11R6/bin/X11/qt4 \
- /usr/X11R6/bin/X11/qt4/bin \
- /usr/lib/qt4/bin \
- /usr/lib64/qt4/bin \
- /usr/local/qt*/bin \
- /usr/X11R6/bin \
/usr/X11R6/bin/qt* \
/usr/X11R6/bin/qt*/bin \
/usr/X11R6/bin/X11/qt* \
@@ -263,8 +249,6 @@
/usr/X11R6/bin/X11/qt*/bin \
/usr/lib/qt*/bin \
/usr/lib64/qt*/bin \
- /usr/lib/*/qt*/bin \
- /usr/lib64/*/qt*/bin \
/usr/src/qt-*/bin ],
UIC)
@@ -281,7 +265,12 @@
UIC_ERROR_MESSAGE
fi
- output=`eval "$ac_cv_path_uic -v 2>&1 | grep -i 'Qt user interface'"`
+ output=""
+ if [[ $qt_major_version -eq 4 ]]; then
+ output=`eval "$ac_cv_path_uic -v 2>&1 | grep -i 'Qt user interface'"`
+ else
+ output=`eval "$ac_cv_path_uic -v 2>&1 | grep -i 'uic'"`
+ fi
echo "configure:__oline__: tried to call $ac_cv_path_uic -v 2>&1 | sed -e '1q' | grep Qt" >&AC_FD_CC
echo "configure:__oline__: uic output: $output" >&AC_FD_CC
@@ -580,179 +569,34 @@
])
dnl ------------------------------------------------------------------------
-dnl Try to find the Qt headers and libraries.
+dnl Try to find the Qt libraries.
dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
-dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
dnl ------------------------------------------------------------------------
dnl
-AC_DEFUN([AC_PATH_QT_4],
+AC_DEFUN([AC_PATH_QT_LIBS],
[
AC_REQUIRE([K_PATH_X])
-LIBQT="-lQtCore"
+AC_REQUIRE([AC_PATH_QT_HEADERS])
+LIBQT=""
+if [[ $qt_major_version -eq 4 ]]; then
+ LIBQT="-lQtCore"
+else
+ LIBQT="-lQt${qt_major_version}Core -lQt${qt_major_version}Widgets"
+fi
AC_REQUIRE([AC_FIND_PNG])
LIBQT="$LIBQT $LIBPNG"
-AC_MSG_CHECKING([for Qt4])
-
LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSOCKET"
-ac_qt_includes=""
ac_qt_libraries=""
ac_qt_bindir=""
-ac_qt_docs=""
qt_libraries=""
-qt_includes=""
qt_docs=""
-AC_ARG_WITH(qt-dir,
- [ --with-qt-dir=DIR where the root of Qt is installed ],
- [ ac_qt_includes="$withval"/include
- ac_qt_libraries="$withval"/lib
- ac_qt_bindir="$withval"/bin
- ac_qt_docs="$withval"/doc/html
- ])
-AC_ARG_WITH(qt-includes,
- [ --with-qt-includes=DIR where the Qt includes are. ],
- [
- ac_qt_includes="$withval"
- ])
-
-AC_ARG_WITH(qt-docs,
- [ --with-qt-docs=DIR where the Qt docs are. ],
- [
- ac_qt_docs="$withval"
- ])
-
-ac_qt_libs_given=no
-
-AC_ARG_WITH(qt-libraries,
- [ --with-qt-libraries=DIR where the Qt library is installed. ],
- [ ac_qt_libraries="$withval"
- ac_qt_libs_given=yes
- ])
-
-AC_ARG_WITH(qt-validation,
- [ --without-qt-validation disables extra Qt checks... ],
- [ ac_validate_qt="yes" ]
- [ ac_validate_qt="no" ])
-
-AC_CACHE_VAL(ac_cv_have_qt,
-[
-dnl *******************************************
-dnl * Build a relatively large search path... *
-dnl *******************************************
-
-qt_incdirs=" $QTDIR/include \
- $QTINC \
- /usr/include \
- /usr/local/qt4/include \
- /usr/qt/4/include \
- /usr/include/qt4 \
- /usr/include/${host_cpu}-${host_vendor}-${host_os}/qt4 \
- /usr/include/${host_cpu}-${host_os}/qt4 \
- /usr/include/arm-linux-gnueabihf/qt4 \
- /usr/include/*/qt4 \
- /usr/lib/qt4/include \
- /usr/X11R6/include/X11/qt4 \
- /usr/X11R6/include/X11/qt4/include \
- /usr/X11R6/include/qt4 \
- /usr/X11R6/include/qt4/include \
- /usr/local/qt*/include \
- /usr/qt/*/include \
- /usr/include/qt* \
- /usr/lib/qt*/include \
- /usr/lib/qt*/include \
- /usr/X11R6/include/X11/qt* \
- /usr/X11R6/include/X11/qt*/include \
- /usr/X11R6/include/qt* \
- /usr/X11R6/include/qt*/include \
- /usr/src/qt-*/include \
- $x_includes \
- $qt_incdirs"
-
-[[ "$ac_qt_includes" != "NO" ]] && \
-qt_incdirs="$ac_qt_includes $qt_incdirs"
-
-qt_version_source="qglobal.h"
-
-
-AC_FIND_FILE("Qt/qstyle.h", $qt_incdirs, qt_incdir1)
-AC_FIND_FILE("Qt/$qt_version_source", $qt_incdir1, qt_incdir)
-
-
-dnl *************************************************
-dnl * At this point, we extract the Qt version from *
-dnl * the includes that we located... *
-dnl *************************************************
-dnl * This is necessary to ensure that we don't end *
-dnl * up using the wrong Qt lib path when linking!! *
-dnl *************************************************
-
-qt_version_string=`cat $qt_incdir/Qt/$qt_version_source 2> configure.dbg |\
- grep "#define QT_VERSION_STR" |\
- sed 's/QT_VERSION_STR//' |\
- sed 's/#define//g' |\
- sed 's/ //g' |\
- sed 's/ //g' |\
- sed 's/"//g'`;
-
-qt_version_number=`cat $qt_incdir/Qt/$qt_version_source 2> configure.dbg |\
- grep "#define QT_VERSION[^_]" |\
- sed 's/QT_VERSION//' |\
- sed 's/#define//g' |\
- sed 's/ //g' |\
- sed 's/ //g' |\
- sed 's/0x//'`;
-
-
-qt_major_version=`echo ${[qt_version_string%%.[0-9]*]}`
-qt_minor_version=`echo ${[qt_version_string#[0-9]*.]}`
-qt_minor_version=`echo ${[qt_minor_version%.[0-9]*]}`
-qt_major_build=`echo ${[qt_version_string##[0-9]*.]}`
-
-
-if [[ -n "$qt_version_string" ]]; then
- echo -e "yes\n>> Found version.:\t$qt_version_string"
- echo -e ">>> Headers......:\t$qt_incdir"
- ac_qt_includes="$qt_incdir"
-else
- echo -e "no\n>> Unable to locate your Qt includes..."
- AC_MSG_ERROR([Please verify your Qt devel install!]);
-fi;
-
-qt_target_version="4.3.0"
-
-case $qt_major_version in
- 4)
- if [[ $qt_minor_version -lt 3 ]]; then
- AC_MSG_ERROR([ShowEQ requires qt $qt_target_version or later, but does not support qt 5 yet. Please make sure qt $qt_target_version or later is installed!!!]);
- fi
- qt_lib=libQtCore
- ;;
-# 5)
-# qt_lib=libQt5Core
-# ;;
- *)
- AC_MSG_ERROR([ShowEQ requires qt $qt_target_version or later, but does not support qt 5 yet. Please make sure qt $qt_target_version or later is installed!!!]);
- ;;
-esac
-
-qt_lib_major_ver="${qt_lib}.so.$qt_major_version"
-
-qt_lib_minor_ver="${qt_lib}.so.$qt_major_version.$qt_minor_version"
-qt_lib_major_bld="${qt_lib}.so.$qt_major_version.$qt_minor_version.$qt_major_build"
-
-if [[ -n $qt_incdir ]]; then
- for dir in `ls -1 -d $qt_incdir/Qt*`; do
- ac_qt_includes="$ac_qt_includes -I$dir"
- done;
-fi
-
-
dnl ************************************
dnl * Build yet another search path... *
dnl ************************************
@@ -764,14 +608,6 @@
/usr/lib/${host_cpu}-${host_vendor}-${host_os} \
/usr/lib/${host_cpu}-${host_os} \
/usr/lib/arm-linux-gnueabihf \
- /usr/local/qt4/lib \
- /usr/qt/4/lib \
- /usr/lib/qt4/lib \
- /usr/lib/qt4 \
- /usr/X11R6/lib/X11/qt4 \
- /usr/X11R6/lib/X11/qt4/lib \
- /usr/X11R6/lib/qt4 \
- /usr/X11R6/lib/qt4/lib \
/usr/local/qt*/lib \
/usr/qt/*/lib \
/usr/lib/qt*/lib \
@@ -792,10 +628,6 @@
/usr/lib/${host_cpu}-${host_vendor}-${host_os} \
/usr/lib/${host_cpu}-${host_os} \
/usr/lib/arm-linux-gnueabihf \
- /usr/local/qt4/lib64 \
- /usr/qt/4/lib64 \
- /usr/lib/qt4/lib64 \
- /usr/X11R6/lib/X11/qt4/lib64 \
/usr/local/qt*/lib64 \
/usr/qt/*/lib64 \
/usr/lib/qt*/lib64 \
@@ -839,7 +671,12 @@
ac_ldflags_safe="$LDFLAGS"
ac_libs_safe="$LIBS"
-CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes -I$qt_incdir/Qt"
+if [[ $qt_major_version -eq 4 ]]; then
+ CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes -I$qt_incdir/Qt"
+else
+ CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes -I$qt_incdir/QtCore -I$qt_incdir/QtWidgets -fPIC"
+fi
+
LDFLAGS="-L$qt_libdir $all_libraries"
LIBS="$LIBS $LIBQT"
@@ -871,44 +708,6 @@
AC_LANG_RESTORE
-dnl ************************************
-dnl * Build yet another search path... *
-dnl ************************************
-
-qt_docdirs=" $QTDIR/doc/html \
- $qt_incdir../doc/html \
- /usr/local/qt4/doc/html \
- /usr/local/qt*/doc/html \
- /usr/qt/4/doc/html \
- /usr/qt/*/doc/html \
- /usr/lib/qt4/doc/html \
- /usr/lib/qt*/doc/html \
- /usr/lib/doc/html \
- /usr/lib/qt*/doc/html \
- /usr/share/qt4/doc/html \
- /usr/X11R6/lib/X11/qt4/doc/html \
- /usr/X11R6/lib/X11/qt*/doc/html \
- /usr/X11R6/lib/X11/qt4/doc/html \
- /usr/X11R6/lib/X11/qt*/doc/html \
- /usr/X11R6/lib/qt4/doc/html \
- /usr/X11R6/lib/qt*/doc/html \
- /usr/src/qt-*/doc/html \
- $qt_docdirs"
-
-[[ "$ac_qt_docs" != "NO" ]] && \
-qt_docdirs="$ac_qt_docs $qt_docdirs"
-
-AC_FIND_FILE("qobject.html", $qt_docdirs, qt_docdir)
-
-ac_qt_docs="$qt_docdir"
-
-if [[ -n "$ac_qt_docs" -a "$ac_qt_docs" != "NO" ]]; then
- echo -e ">>>> Documentation...:\t$ac_qt_docs/"
-else
- echo -e ">>>> Documentation...:\tUnable to locate?!?"
- AC_MSG_WARN([Qt documenation not installed?!]);
-fi;
-
if [[ -z "$ac_qt_includes" ]] || [[ -z "$ac_qt_libraries" ]]; then
ac_cv_have_qt="have_qt=no";
ac_qt_notfound="";
@@ -930,7 +729,6 @@
if [[ "$have_qt" != "yes" ]]; then
AC_MSG_ERROR([Something wicked happened while trying to validate your Qt installation!!! Please verify your $ac_qt_notfound...]);
fi
-])
@@ -979,7 +777,6 @@
qt_libraries=$ac_qt_libraries
qt_includes=$ac_qt_includes
- qt_docs=$ac_qt_docs
fi
@@ -987,9 +784,8 @@
AC_PATH_QT_UIC
CHECK_QT_DIRECT(qt_libraries= ,[])
+AC_SUBST(qt_includes)
AC_SUBST(qt_libraries)
-AC_SUBST(qt_includes)
-AC_SUBST(qt_docs)
if [[ "$qt_includes" == "$x_includes" ]] ||
[[ -z "$qt_includes" ]]; then
@@ -1007,20 +803,218 @@
all_libraries="$all_libraries $QT_LDFLAGS"
fi
-QT_DOCS="$qt_docs"
-
AC_SUBST(QT_INCLUDES)
AC_SUBST(QT_LDFLAGS)
-AC_SUBST(QT_DOCS)
-LIB_QT='-lQtCore $(LIBPNG) -lXext $(LIB_X11) $(X_PRE_LIBS)'
+if [[ $qt_major_version -eq 4 ]]; then
+ LIB_QT="-lQtCore ${LIBPNG} -lXext ${LIB_X11} ${X_PRE_LIBS}"
+else
+ LIB_QT="-lQt${qt_major_version}Core -lQt${qt_major_version}Widgets ${LIBPNG} -lXext ${LIB_X11} ${X_PRE_LIBS}"
+fi
AC_SUBST(LIB_QT)
])
+
+dnl ------------------------------------------------------------------------
+dnl Try to find the Qt headers
+dnl $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_PATH_QT_HEADERS],
+[
+
+ac_qt_includes=""
+qt_includes=""
+qt_incdir=""
+
+AC_MSG_CHECKING([for Qt])
+
+AC_CACHE_VAL(ac_cv_have_qt,
+[
+
+dnl *******************************************
+dnl * Build a relatively large search path... *
+dnl *******************************************
+
+qt_incdirs=" $QTDIR/include \
+ $QTINC \
+ /usr/include \
+ /usr/local/qt*/include \
+ /usr/qt/*/include \
+ /usr/include/qt* \
+ /usr/include/${host_cpu}-${host_vendor}-${host_os}/qt* \
+ /usr/include/${host_cpu}-${host_os}/qt* \
+ /usr/include/arm-linux-gnueabihf/qt* \
+ /usr/include/*/qt* \
+ /usr/lib/qt*/include \
+ /usr/X11R6/include/X11/qt* \
+ /usr/X11R6/include/X11/qt*/include \
+ /usr/X11R6/include/qt* \
+ /usr/X11R6/include/qt*/include \
+ /usr/src/qt-*/include \
+ $x_includes \
+ $qt_incdirs"
+
+[[ "$ac_qt_includes" != "NO" ]] && \
+qt_incdirs="$ac_qt_includes $qt_incdirs"
+
+
+
+dnl qt5 (and later?) has QT_VERSION_STR in qconfig.h, while qt4 has it in qglobal.h
+AC_FIND_FILE("QtCore/qconfig.h", $qt_incdirs, qt5_incdir)
+AC_FIND_FILE("Qt/qglobal.h", $qt_incdirs, qt4_incdir)
+
+
+dnl *************************************************
+dnl * At this point, we extract the Qt version from *
+dnl * the includes that we located... *
+dnl *************************************************
+dnl * This is necessary to ensure that we don't end *
+dnl * up using the wrong Qt lib path when linking!! *
+dnl *************************************************
+
+qt_version_source="$qt4_incdir/Qt/qglobal.h"
+qt_version_string=`cat $qt_version_source 2> configure.dbg |\
+ grep "#define QT_VERSION_STR" |\
+ sed 's/QT_VERSION_STR//' |\
+ sed 's/#define//g' |\
+ sed 's/ //g' |\
+ sed 's/ //g' |\
+ sed 's/"//g'`;
+
+
+if [[ -n "$qt_version_string" ]]; then
+ qt_incdir="$qt4_incdir"
+
+else
+
+ qt_version_source="$qt5_incdir/QtCore/qconfig.h"
+
+ qt_version_string=`cat $qt_version_source 2> configure.dbg |\
+ grep "#define QT_VERSION_STR" |\
+ sed 's/QT_VERSION_STR//' |\
+ sed 's/#define//g' |\
+ sed 's/ //g' |\
+ sed 's/ //g' |\
+ sed 's/"//g'`;
+
+ qt_incdir="$qt5_incdir"
+fi
+
+
+qt_version_number=`cat $qt_version_source 2> configure.dbg |\
+ grep "#define QT_VERSION[^_]" |\
+ sed 's/QT_VERSION//' |\
+ sed 's/#define//g' |\
+ sed 's/ //g' |\
+ sed 's/ //g' |\
+ sed 's/0x//'`;
+
+
+qt_major_version=`echo ${[qt_version_string%%.[0-9]*]}`
+qt_minor_version=`echo ${[qt_version_string#[0-9]*.]}`
+qt_minor_version=`echo ${[qt_minor_version%.[0-9]*]}`
+qt_major_build=`echo ${[qt_version_string##[0-9]*.]}`
+
+AC_SUBST(qt_major_version)
+
+
+if [[ -n "$qt_version_string" ]]; then
+ echo -e "yes\n>> Found version.:\t$qt_version_string"
+
+ if [[ $qt_major_version -eq 5 ]]; then
+ echo -e "NOTICE: Support for Qt5 is EXPERIMENTAL. If you experience issues, please report them on the forum."
+ fi
+ echo -e ">>> Headers......:\t$qt_incdir"
+ ac_qt_includes="$qt_incdir"
+else
+ echo -e "no\n>> Unable to locate your Qt includes..."
+ AC_MSG_ERROR([Please verify your Qt devel install!]);
+fi;
+
+qt4_target_version="4.4.0"
+qt5_target_version="5.5.0"
+
+case $qt_major_version in
+ 4)
+ if [[ $qt_minor_version -lt 3 ]]; then
+ AC_MSG_ERROR([ShowEQ requires qt $qt4_target_version or later. Please make sure qt $qt4_target_version or later is installed!!!]);
+ fi
+ qt_lib=libQtCore
+ ;;
+ 5)
+ if [[ $qt_minor_version -lt 5 ]]; then
+ AC_MSG_ERROR([ShowEQ requires qt $qt5_target_version or later. Please make sure qt $qt5_target_version or later is installed!!!]);
+ fi
+ qt_lib=libQt5Core
+ ;;
+ 6)
+ AC_MSG_ERROR([ShowEQ does not yet support qt6. Please install qt4 or qt5.]);
+ ;;
+ *)
+ AC_MSG_ERROR([ShowEQ requires qt $qt4_target_version or later. Please make sure qt $qt4_target_version or later is installed!!!]);
+ ;;
+esac
+
+qt_lib_major_ver="${qt_lib}.so.$qt_major_version"
+
+qt_lib_minor_ver="${qt_lib}.so.$qt_major_version.$qt_minor_version"
+qt_lib_major_bld="${qt_lib}.so.$qt_major_version.$qt_minor_version.$qt_major_build"
+
+if [[ -n $qt_incdir ]]; then
+ for dir in `ls -1 -d $qt_incdir/Qt*`; do
+ ac_qt_includes="$ac_qt_includes -I$dir"
+ done;
+fi
+
+
+])
+])
+
+
AC_DEFUN([AC_PATH_QT],
[
-AC_PATH_QT_4
+
+ac_qt_includes=""
+ac_qt_libraries=""
+ac_qt_bindir=""
+ac_qt_docs=""
+
+qt_libraries=""
+qt_includes=""
+
+
+AC_ARG_WITH(qt-dir,
+ [ --with-qt-dir=DIR where the root of Qt is installed ],
+ [ ac_qt_includes="$withval"/include
+ ac_qt_libraries="$withval"/lib
+ ac_qt_bindir="$withval"/bin
+ ac_qt_docs="$withval"/doc/html
+ ])
+
+AC_ARG_WITH(qt-includes,
+ [ --with-qt-includes=DIR where the Qt includes are. ],
+ [
+ ac_qt_includes="$withval"
+ ])
+
+ac_qt_libs_given=no
+
+AC_ARG_WITH(qt-libraries,
+ [ --with-qt-libraries=DIR where the Qt library is installed. ],
+ [ ac_qt_libraries="$withval"
+ ac_qt_libs_given=yes
+ ])
+
+AC_ARG_WITH(qt-validation,
+ [ --without-qt-validation disables extra Qt checks... ],
+ [ ac_validate_qt="yes" ]
+ [ ac_validate_qt="no" ])
+
+
+AC_PATH_QT_HEADERS
+AC_PATH_QT_LIBS
])
AC_DEFUN([KDE_CHECK_FINAL],
Modified: showeq/branches/cn187_devel/configure.in
===================================================================
--- showeq/branches/cn187_devel/configure.in 2021-04-30 04:11:48 UTC (rev 1172)
+++ showeq/branches/cn187_devel/configure.in 2021-04-30 04:12:01 UTC (rev 1173)
@@ -167,6 +167,12 @@
AC_PATH_QT_UIC
AC_PATH_QT
+if [[ $qt_major_version == 4 ]]; then
+ LIB_QT+=" -lQtGui -lQtXml "
+else
+ LIB_QT+=" -lQt${qt_major_version}Gui -lQt${qt_major_version}Xml "
+fi
+
dnl The below needs to be re-defined since the Qt defines from KDE destroy it
AC_LANG_CPLUSPLUS
Modified: showeq/branches/cn187_devel/src/Makefile.am
===================================================================
--- showeq/branches/cn187_devel/src/Makefile.am 2021-04-30 04:11:48 UTC (rev 1172)
+++ showeq/branches/cn187_devel/src/Makefile.am 2021-04-30 04:12:01 UTC (rev 1173)
@@ -1,6 +1,6 @@
INCLUDES = $(QT_INCLUDES) $(X_INCLUDES) -DPKGDATADIR=\"$(pkgdatadir)/\" -I/usr/include/pcap $(USER_INCLUDES)
-QT_LIBS = -lQtCore -lQtGui -lQtXml
+QT_LIBS = $(LIB_QT)
bin_PROGRAMS = showeq
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:11:55
|
Revision: 1172
http://sourceforge.net/p/seq/svn/1172
Author: cn187
Date: 2021-04-30 04:11:48 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] Use QHeader::setSectionResizeMode if Qt5+
Modified Paths:
--------------
showeq/branches/cn187_devel/src/seqlistview.cpp
Modified: showeq/branches/cn187_devel/src/seqlistview.cpp
===================================================================
--- showeq/branches/cn187_devel/src/seqlistview.cpp 2021-04-30 04:11:41 UTC (rev 1171)
+++ showeq/branches/cn187_devel/src/seqlistview.cpp 2021-04-30 04:11:48 UTC (rev 1172)
@@ -27,6 +27,7 @@
#include <QHeaderView>
#include <QSizePolicy>
+#include <QtGlobal>
#include "seqlistview.h"
#include "main.h"
@@ -186,7 +187,11 @@
width = header()->sectionSizeHint(i);
}
+#if QT_VERSION >= 0x050000
+ header()->setSectionResizeMode(i, QHeaderView::Interactive);
+#else
header()->setResizeMode(i, QHeaderView::Interactive);
+#endif
header()->resizeSection(i, width);
setColumnWidth(i, width);
}
@@ -193,7 +198,11 @@
else
{
// column is not visible, hide it.
+#if QT_VERSION >= 0x050000
+ header()->setSectionResizeMode(i, QHeaderView::Interactive);
+#else
header()->setResizeMode(i, QHeaderView::Interactive);
+#endif
header()->resizeSection(i, 0);
setColumnWidth(i, 0);
}
@@ -249,7 +258,11 @@
width = 40;
}
+#if QT_VERSION >= 0x050000
+ header()->setSectionResizeMode(column, QHeaderView::Interactive);
+#else
header()->setResizeMode(column, QHeaderView::Interactive);
+#endif
header()->resizeSection(column, width);
setColumnWidth(column, width);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:11:42
|
Revision: 1171
http://sourceforge.net/p/seq/svn/1171
Author: cn187
Date: 2021-04-30 04:11:41 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt] Don't tag Qt library versions
Modified Paths:
--------------
showeq/branches/cn187_devel/configure.in
Modified: showeq/branches/cn187_devel/configure.in
===================================================================
--- showeq/branches/cn187_devel/configure.in 2021-04-30 04:11:33 UTC (rev 1170)
+++ showeq/branches/cn187_devel/configure.in 2021-04-30 04:11:41 UTC (rev 1171)
@@ -463,7 +463,7 @@
AC_CHECK_RPATH
CFLAGS="$USE_THREADS $USE_OPT_C $USE_DEBUG_C $USE_INLINE_C $USE_PROFILE_C $CFLAGS"
-CXXFLAGS="$USE_THREADS $USE_OPT_CXX $USE_DEBUG_CXX $USE_INLINE_CXX $USE_PROFILE_CXX -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=${CGI_ICONS} -DICON_DIR=\\\"${CGI_ICON_DIR}\\\" $CXXFLAGS -std=c++11"
+CXXFLAGS="$USE_THREADS $USE_OPT_CXX $USE_DEBUG_CXX $USE_INLINE_CXX $USE_PROFILE_CXX -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=${CGI_ICONS} -DICON_DIR=\\\"${CGI_ICON_DIR}\\\" $CXXFLAGS -std=c++11 -fPIC -DQT_NO_VERSION_TAGGING"
AC_DEFUN([SUCCESS],[
echo "Success!"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:11:34
|
Revision: 1170
http://sourceforge.net/p/seq/svn/1170
Author: cn187
Date: 2021-04-30 04:11:33 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] More QVariant enum fixes
Modified Paths:
--------------
showeq/branches/cn187_devel/src/spawnlistcommon.cpp
showeq/branches/cn187_devel/src/spawnpointlist.cpp
showeq/branches/cn187_devel/src/xmlconv.cpp
Modified: showeq/branches/cn187_devel/src/spawnlistcommon.cpp
===================================================================
--- showeq/branches/cn187_devel/src/spawnlistcommon.cpp 2021-04-30 04:11:26 UTC (rev 1169)
+++ showeq/branches/cn187_devel/src/spawnlistcommon.cpp 2021-04-30 04:11:33 UTC (rev 1170)
@@ -108,7 +108,7 @@
case Qt::ForegroundRole:
if (filterFlags & FILTER_FLAG_FILTERED)
// color filtered spawns grey
- return Qt::gray;
+ return QColor(Qt::gray);
else
return m_textColor;
Modified: showeq/branches/cn187_devel/src/spawnpointlist.cpp
===================================================================
--- showeq/branches/cn187_devel/src/spawnpointlist.cpp 2021-04-30 04:11:26 UTC (rev 1169)
+++ showeq/branches/cn187_devel/src/spawnpointlist.cpp 2021-04-30 04:11:33 UTC (rev 1170)
@@ -124,7 +124,7 @@
case Qt::ForegroundRole:
if (m_spawnPoint->age() > 220)
- return Qt::red;
+ return QColor(Qt::red);
else
return treeWidget()->foregroundRole();
Modified: showeq/branches/cn187_devel/src/xmlconv.cpp
===================================================================
--- showeq/branches/cn187_devel/src/xmlconv.cpp 2021-04-30 04:11:26 UTC (rev 1169)
+++ showeq/branches/cn187_devel/src/xmlconv.cpp 2021-04-30 04:11:33 UTC (rev 1170)
@@ -256,7 +256,7 @@
else if (e.tagName() == "cursor")
{
if (e.hasAttribute("shape"))
- v = QVariant(QCursor(e.attribute("shape").toInt(&ok, 10)));
+ v = QVariant(QCursor(static_cast<Qt::CursorShape>(e.attribute("shape").toInt(&ok, 10))));
else
qWarning("%s element without value!", e.tagName().toLatin1().data());
}
@@ -517,7 +517,7 @@
case QVariant::KeySequence:
e.setTagName("key");
- e.setAttribute("sequence", (QString)v.value<QKeySequence>());
+ e.setAttribute("sequence", (QString)v.value<QKeySequence>().toString());
break;
case QVariant::ByteArray: // this is only for [u]int64_t
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:11:28
|
Revision: 1169
http://sourceforge.net/p/seq/svn/1169
Author: cn187
Date: 2021-04-30 04:11:26 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] Use QVariant::value instead of qVariantValue
Modified Paths:
--------------
showeq/branches/cn187_devel/src/xmlpreferences.cpp
Modified: showeq/branches/cn187_devel/src/xmlpreferences.cpp
===================================================================
--- showeq/branches/cn187_devel/src/xmlpreferences.cpp 2021-04-30 04:11:18 UTC (rev 1168)
+++ showeq/branches/cn187_devel/src/xmlpreferences.cpp 2021-04-30 04:11:26 UTC (rev 1169)
@@ -656,7 +656,7 @@
QVariant* preference = getPref(inName, inSection, pers); \
\
if (preference) \
- return qVariantValue< retType >(*preference); \
+ return preference->value< retType >(); \
\
return def; \
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:11:19
|
Revision: 1168
http://sourceforge.net/p/seq/svn/1168
Author: cn187
Date: 2021-04-30 04:11:18 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] Rename QFileDialog::selectedFilter to QFileDialog::selectedNameFilter
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-04-30 04:11:06 UTC (rev 1167)
+++ showeq/branches/cn187_devel/src/map.cpp 2021-04-30 04:11:18 UTC (rev 1168)
@@ -4597,7 +4597,7 @@
if (fileDlg.exec() != QDialog::Accepted)
return;
- QString filter = fileDlg.selectedFilter();
+ QString filter = fileDlg.selectedNameFilter();
QStringList files = fileDlg.selectedFiles();
QString filename;
if (!files.isEmpty())
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:11:12
|
Revision: 1167
http://sourceforge.net/p/seq/svn/1167
Author: cn187
Date: 2021-04-30 04:11:06 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] Cast enum types for QVariant usage
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-04-30 04:10:53 UTC (rev 1166)
+++ showeq/branches/cn187_devel/src/map.cpp 2021-04-30 04:11:06 UTC (rev 1167)
@@ -1046,63 +1046,63 @@
m_action_FOVNoBrush = subSubMenu->addAction("No Background");
m_action_FOVNoBrush->setCheckable(true);
- m_action_FOVNoBrush->setData(Qt::NoBrush);
+ m_action_FOVNoBrush->setData(static_cast<int>(Qt::NoBrush));
m_action_FOVSolidPattern = subSubMenu->addAction("Solid");
m_action_FOVSolidPattern->setCheckable(true);
- m_action_FOVSolidPattern->setData(Qt::SolidPattern);
+ m_action_FOVSolidPattern->setData(static_cast<int>(Qt::SolidPattern));
m_action_FOVDense1Pattern = subSubMenu->addAction("94% fill");
m_action_FOVDense1Pattern->setCheckable(true);
- m_action_FOVDense1Pattern->setData(Qt::Dense1Pattern);
+ m_action_FOVDense1Pattern->setData(static_cast<int>(Qt::Dense1Pattern));
m_action_FOVDense2Pattern = subSubMenu->addAction("88% fill");
m_action_FOVDense2Pattern->setCheckable(true);
- m_action_FOVDense2Pattern->setData(Qt::Dense2Pattern);
+ m_action_FOVDense2Pattern->setData(static_cast<int>(Qt::Dense2Pattern));
m_action_FOVDense3Pattern = subSubMenu->addAction("63% fill");
m_action_FOVDense3Pattern ->setCheckable(true);
- m_action_FOVDense3Pattern ->setData(Qt::Dense3Pattern);
+ m_action_FOVDense3Pattern ->setData(static_cast<int>(Qt::Dense3Pattern));
m_action_FOVDense4Pattern = subSubMenu->addAction("50% fill");
m_action_FOVDense4Pattern->setCheckable(true);
- m_action_FOVDense4Pattern->setData(Qt::Dense4Pattern);
+ m_action_FOVDense4Pattern->setData(static_cast<int>(Qt::Dense4Pattern));
m_action_FOVDense5Pattern = subSubMenu->addAction("37% fill");
m_action_FOVDense5Pattern->setCheckable(true);
- m_action_FOVDense5Pattern->setData(Qt::Dense5Pattern);
+ m_action_FOVDense5Pattern->setData(static_cast<int>(Qt::Dense5Pattern));
m_action_FOVDense6Pattern = subSubMenu->addAction("12% fill");
m_action_FOVDense6Pattern->setCheckable(true);
- m_action_FOVDense6Pattern->setData(Qt::Dense6Pattern);
+ m_action_FOVDense6Pattern->setData(static_cast<int>(Qt::Dense6Pattern));
m_action_FOVDense7Pattern = subSubMenu->addAction("6% fill");
m_action_FOVDense7Pattern->setCheckable(true);
- m_action_FOVDense7Pattern->setData(Qt::Dense7Pattern);
+ m_action_FOVDense7Pattern->setData(static_cast<int>(Qt::Dense7Pattern));
m_action_FOVHorPattern = subSubMenu->addAction("Horizontal lines");
m_action_FOVHorPattern->setCheckable(true);
- m_action_FOVHorPattern->setData(Qt::HorPattern);
+ m_action_FOVHorPattern->setData(static_cast<int>(Qt::HorPattern));
m_action_FOVVerPattern = subSubMenu->addAction("Vertical lines");
m_action_FOVVerPattern->setCheckable(true);
- m_action_FOVVerPattern->setData(Qt::VerPattern);
+ m_action_FOVVerPattern->setData(static_cast<int>(Qt::VerPattern));
m_action_FOVCrossPattern = subSubMenu->addAction("Crossing lines");
m_action_FOVCrossPattern->setCheckable(true);
- m_action_FOVCrossPattern->setData(Qt::CrossPattern);
+ m_action_FOVCrossPattern->setData(static_cast<int>(Qt::CrossPattern));
m_action_FOVBDiagPattern = subSubMenu->addAction("Diagonal lines (directed /)");
m_action_FOVBDiagPattern->setCheckable(true);
- m_action_FOVBDiagPattern->setData(Qt::BDiagPattern);
+ m_action_FOVBDiagPattern->setData(static_cast<int>(Qt::BDiagPattern));
m_action_FOVFDiagPattern = subSubMenu->addAction("Diagonal lines (directed \\)");
m_action_FOVFDiagPattern->setCheckable(true);
- m_action_FOVFDiagPattern->setData(Qt::FDiagPattern);
+ m_action_FOVFDiagPattern->setData(static_cast<int>(Qt::FDiagPattern));
m_action_FOVDiagCrossPattern = subSubMenu->addAction("Diagonal crossing lines");
m_action_FOVDiagCrossPattern->setCheckable(true);
- m_action_FOVDiagCrossPattern->setData(Qt::DiagCrossPattern);
+ m_action_FOVDiagCrossPattern->setData(static_cast<int>(Qt::DiagCrossPattern));
connect(subSubMenu, SIGNAL(triggered(QAction*)), this,
SLOT(select_fovStyle(QAction*)));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:10:55
|
Revision: 1166
http://sourceforge.net/p/seq/svn/1166
Author: cn187
Date: 2021-04-30 04:10:53 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] Remove includes for now-private QStyles
Modified Paths:
--------------
showeq/branches/cn187_devel/src/interface.cpp
showeq/branches/cn187_devel/src/main.cpp
Modified: showeq/branches/cn187_devel/src/interface.cpp
===================================================================
--- showeq/branches/cn187_devel/src/interface.cpp 2021-04-30 04:10:41 UTC (rev 1165)
+++ showeq/branches/cn187_devel/src/interface.cpp 2021-04-30 04:10:53 UTC (rev 1166)
@@ -89,11 +89,6 @@
#include <QInputDialog>
#include <QFontDialog>
#include <QColorDialog>
-#include <QWindowsStyle>
-#include <QPlastiqueStyle>
-#include <QMotifStyle>
-#include <QCDEStyle>
-#include <QCleanlooksStyle>
#include <QMenu>
#include <QWidgetAction>
#include <QDesktopWidget>
Modified: showeq/branches/cn187_devel/src/main.cpp
===================================================================
--- showeq/branches/cn187_devel/src/main.cpp 2021-04-30 04:10:41 UTC (rev 1165)
+++ showeq/branches/cn187_devel/src/main.cpp 2021-04-30 04:10:53 UTC (rev 1166)
@@ -48,7 +48,6 @@
#endif
#include <QApplication>
-#include <QWindowsStyle>
#if 1 // ZBTEMP
#include <QDir>
#endif
@@ -202,7 +201,6 @@
#endif
/* Create application instance */
- // QApplication::setStyle( new QWindowsStyle );
QApplication qapp (argc, argv);
/* Print the version number */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:10:49
|
Revision: 1165
http://sourceforge.net/p/seq/svn/1165
Author: cn187
Date: 2021-04-30 04:10:41 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] Replace TRUE/FALSE constants with true/false built-ins
Modified Paths:
--------------
showeq/branches/cn187_devel/src/editor.cpp
showeq/branches/cn187_devel/src/interface.cpp
showeq/branches/cn187_devel/src/map.cpp
showeq/branches/cn187_devel/src/spawnlist2.cpp
Modified: showeq/branches/cn187_devel/src/editor.cpp
===================================================================
--- showeq/branches/cn187_devel/src/editor.cpp 2021-04-30 04:10:33 UTC (rev 1164)
+++ showeq/branches/cn187_devel/src/editor.cpp 2021-04-30 04:10:41 UTC (rev 1165)
@@ -157,7 +157,7 @@
f.close();
e->repaint();
- e->document()->setModified( FALSE );
+ e->document()->setModified( false );
setWindowTitle( fileName );
QString s;
s.sprintf( "Opened %s", fileName );
@@ -183,7 +183,7 @@
t << text;
f.close();
- e->document()->setModified( FALSE );
+ e->document()->setModified( false );
setWindowTitle( filename );
Modified: showeq/branches/cn187_devel/src/interface.cpp
===================================================================
--- showeq/branches/cn187_devel/src/interface.cpp 2021-04-30 04:10:33 UTC (rev 1164)
+++ showeq/branches/cn187_devel/src/interface.cpp 2021-04-30 04:10:41 UTC (rev 1165)
@@ -5122,7 +5122,7 @@
QString address =
QInputDialog::getItem(this, "ShowEQ - EQ Client IP Address",
"Enter IP address of EQ client",
- iplst, 0, TRUE, &ok);
+ iplst, 0, true, &ok);
if (ok)
{
for (int i = 4; i > 0; i--)
@@ -5145,7 +5145,7 @@
QString address =
QInputDialog::getItem(this, "ShowEQ - EQ Client MAC Address",
"Enter MAC address of EQ client",
- maclst, 0, TRUE, &ok);
+ maclst, 0, true, &ok);
if (ok)
{
if (address.length() != 17)
Modified: showeq/branches/cn187_devel/src/map.cpp
===================================================================
--- showeq/branches/cn187_devel/src/map.cpp 2021-04-30 04:10:33 UTC (rev 1164)
+++ showeq/branches/cn187_devel/src/map.cpp 2021-04-30 04:10:41 UTC (rev 1165)
@@ -1801,7 +1801,7 @@
// m_offscreen.setOptimization(m_param.pixmapOptimizationMethod());
m_mapTip = new MapLabel( this );
- this->setMouseTracking( TRUE );
+ this->setMouseTracking( true );
m_mapPanning = false;
Modified: showeq/branches/cn187_devel/src/spawnlist2.cpp
===================================================================
--- showeq/branches/cn187_devel/src/spawnlist2.cpp 2021-04-30 04:10:33 UTC (rev 1164)
+++ showeq/branches/cn187_devel/src/spawnlist2.cpp 2021-04-30 04:10:41 UTC (rev 1165)
@@ -85,7 +85,7 @@
// Create the Spawn Counter
m_totalSpawns = new QLineEdit(this);
- m_totalSpawns->setReadOnly(TRUE);
+ m_totalSpawns->setReadOnly(true);
m_totalSpawns->setAlignment(Qt::AlignCenter);
m_totalSpawns->setMinimumWidth(5);
m_totalSpawns->setMaximumWidth(50);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cn...@us...> - 2021-04-30 04:10:33
|
Revision: 1164
http://sourceforge.net/p/seq/svn/1164
Author: cn187
Date: 2021-04-30 04:10:33 +0000 (Fri, 30 Apr 2021)
Log Message:
-----------
[Qt5] Replace WFlags with WindowFlags
Modified Paths:
--------------
showeq/branches/cn187_devel/src/seqlistview.cpp
showeq/branches/cn187_devel/src/seqlistview.h
showeq/branches/cn187_devel/src/seqwindow.cpp
showeq/branches/cn187_devel/src/seqwindow.h
Modified: showeq/branches/cn187_devel/src/seqlistview.cpp
===================================================================
--- showeq/branches/cn187_devel/src/seqlistview.cpp 2021-04-30 04:10:23 UTC (rev 1163)
+++ showeq/branches/cn187_devel/src/seqlistview.cpp 2021-04-30 04:10:33 UTC (rev 1164)
@@ -34,7 +34,7 @@
SEQListView::SEQListView(const QString prefName,
QWidget* parent,
const char* name,
- Qt::WFlags f)
+ Qt::WindowFlags f)
: QTreeWidget(parent),
m_preferenceName(prefName),
m_sortColumn(0),
Modified: showeq/branches/cn187_devel/src/seqlistview.h
===================================================================
--- showeq/branches/cn187_devel/src/seqlistview.h 2021-04-30 04:10:23 UTC (rev 1163)
+++ showeq/branches/cn187_devel/src/seqlistview.h 2021-04-30 04:10:33 UTC (rev 1164)
@@ -45,7 +45,7 @@
SEQListView(const QString prefName,
QWidget* parent = 0,
const char* name = 0,
- Qt::WFlags f = 0);
+ Qt::WindowFlags f = 0);
~SEQListView();
const QString& preferenceName() const { return m_preferenceName; }
Modified: showeq/branches/cn187_devel/src/seqwindow.cpp
===================================================================
--- showeq/branches/cn187_devel/src/seqwindow.cpp 2021-04-30 04:10:23 UTC (rev 1163)
+++ showeq/branches/cn187_devel/src/seqwindow.cpp 2021-04-30 04:10:33 UTC (rev 1164)
@@ -33,7 +33,7 @@
#include <QPixmap>
SEQWindow::SEQWindow(const QString prefName, const QString caption,
- QWidget* parent, const char* name, Qt::WFlags f)
+ QWidget* parent, const char* name, Qt::WindowFlags f)
: QDockWidget(parent),
m_preferenceName(prefName)
{
Modified: showeq/branches/cn187_devel/src/seqwindow.h
===================================================================
--- showeq/branches/cn187_devel/src/seqwindow.h 2021-04-30 04:10:23 UTC (rev 1163)
+++ showeq/branches/cn187_devel/src/seqwindow.h 2021-04-30 04:10:33 UTC (rev 1164)
@@ -43,7 +43,7 @@
public:
SEQWindow(const QString prefName, const QString caption,
- QWidget* parent = 0, const char* name = 0, Qt::WFlags f = 0);
+ QWidget* parent = 0, const char* name = 0, Qt::WindowFlags f = 0);
~SEQWindow();
virtual QMenu* menu();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|