PDA

View Full Version : Map icons



Mr. Suspicious
05-17-2002, 05:44 PM
I recently "ripped" out the speaker from my system, cause the alarm on the filter was keeping my wife awake at night... can't have that now, can we?

Since I done that, I do not hear the "Alerts" for the mobs set in my .conf files. So was wondering if it was possible to "change" the icon on the map in any way. For example (like it is now): dead player corpses of players not in the zone appear as Yellow squares on the screen and those of Players that are in the zone appear as blue crosses. I was wondering if I somehow could make (like I want it to be):

- Dead corpses without player in zone = Yellow Cross (or blue cross as I don't realy care for corpses)
- Mobs on the Locate (or Alert) list in the .conf file: Yellow Square

Did a search on "map", "maps", "icon", "icons", "display" and found a few helpfull things conserning filters, but nothing about this. Also checked the readme files, browsed the .conf and .txt files I could find. Visited the documentation page (http://sourceforge.net/docman/?group_id=10131) and looked though all the documents and couldn't find any reference to what I want to do (there's reference to a spawns.conf file that no longer exist).

I'm not looking for a "complete walkthrough" (altho highly appreciated) but any pointers in the right direction for where to look to make the change I have in mind is appreciated.

Cryonic
05-17-2002, 05:55 PM
What you want to do will require you to go into the code and make changes to it yourself. I don't understand why you want a difference between a player corpse who's player is in the zone and one that isn't.

Mr. Suspicious
05-17-2002, 05:59 PM
I don't want that difference, it already IS different that way =P I want to get rid of the difference. Going into the code: No problemo, just tell me where (file, procedure name or anything helpfull) to look =)

Cryonic
05-17-2002, 06:59 PM
Player corpses are yellow squares, mob corpses are blue crosses.

Mr. Suspicious
05-17-2002, 07:16 PM
Ok, forget about the corpses, was just an example. What I want to get done is:

- Mobs on the Locate (or Alert) list in the filters_zoneX_.conf file: Yellow/Blue/Red/Green/WhateverColor Square/Circle/Cross/anything_thats_greatly_visible

*grins*

Think... "Bullhorn for the eye" (it's not easy for us "nearsighted" 8P )

Cryonic
05-17-2002, 08:07 PM
Well, I'm not a coder, but I would assume the code you are looking for is somewhere in the map.cpp file judging by the function references in map.h

Mr. Suspicious
05-18-2002, 07:44 AM
Thanks Cryonic,

After 5 hours poking around in various files and about to fall asleep I finally realised the "src" directory was the Sourcecode directory *Mayor doh!*

This morning, fresh and anew I dived into map.cpp and found what I've been looking for. The pointer is much appreciated. After some initial problems (forget a few ";"'s, don't realising that blank line you inserted to make the code read easier will take the code out of the "then" statement etc.. standard "stupid" stuff) and a few re-compiles I'm going well now.

Once again, thanks a bunch.

Mr. Suspicious
05-19-2002, 12:35 PM
Okidoki, answering my own question for future reference (for if anyone will ever use the search function)

The Map icons for the different spawns are found in map.cpp, which is found in the "src" directory of the place you saved the ShowEQ sourcefiles at, you'll have to make a few adjustments to that file, so first make a copy of this file.



[]# cd /seq/showeq/src/
[]# cp map.cpp map.cpp.backup


This way, when things go wrong you can simply place back the backup.

I used Pico *gasp* to make any changes. Pico (like Notepad in Window$) is one of the most usefull programs, in my opinion anyway =) So to make the adjustments, you'll startup pico and load map.cpp



[]# cd /seq/showeq/src/
[]# pico map.cpp


First thing I wanted to change is: Make the player corpses that now look like thick yellow squares into something a tad less visible. I changed them into Yellow Plusses "+", so like Mob corpses, but yellow.

Goto line 3418 in map.cpp and change the following code FROM



else if (spawn->NPC() == SPAWN_PC_CORPSE) // x for PC corpse
{
if(m_flash && (spawn->runtimeFilterFlags() & m_runtimeFilterFlagMask))
tmpPen = white;
else if ((filterFlags & FILTER_FLAG_FILTERED))
tmpPen = gray;
else
tmpPen = yellow;

tmpPen.setWidth(2);
p.setPen(tmpPen);
p.setBrush(NoBrush);

p.drawRect(spawnOffsetXPos - m_drawSize,
spawnOffsetYPos - m_drawSize,
m_drawSizeWH, m_drawSizeWH);

// nothing more to be done to the dead, next...
continue;
}


INTO



else if (spawn->NPC() == SPAWN_PC_CORPSE) // x for PC corpse
{
if(m_flash && (spawn->runtimeFilterFlags() & m_runtimeFilterFlagMask))
tmpPen = white;
else if ((filterFlags & FILTER_FLAG_FILTERED))
tmpPen = gray;
else
tmpPen = yellow;

//fixed size
p.setPen(tmpPen);
p.drawLine(spawnOffsetXPos,
spawnOffsetYPos - m_drawSize,
spawnOffsetXPos,
spawnOffsetYPos + m_drawSize);
p.drawLine(spawnOffsetXPos - m_drawSize, spawnOffsetYPos,
spawnOffsetXPos + m_drawSize, spawnOffsetYPos);

// nothing more to be done to the dead, next...
continue;
}


Then after this was set, I wanted to change the Mobs on my Locate list in the filters_zoneX.conf file to show up very visible. The previous way that player corpses were displayed was very visible to me, so I decided to change the Locate mobs to be shown as dots with a bright thick yellow square around them.

Goto line 3516 of the original map.cpp file (or line 3517 if you already applied the previous change and change the following part FROM



else if (filterFlags & FILTER_FLAG_LOCATE)
{
p.setPen(white);
p.setBrush(NoBrush);
if(m_flash)
p.drawEllipse (spawnOffsetXPos - m_marker1Size,
spawnOffsetYPos - m_marker1Size,
m_marker1SizeWH, m_marker1SizeWH);

p.drawLine(m_param.playerXOffset(),
m_param.playerYOffset(),
spawnOffsetXPos, spawnOffsetYPos);
}


INTO



else if (filterFlags & FILTER_FLAG_LOCATE)
{
tmpPen = yellow;
tmpPen.setWidth(2);
p.setPen(tmpPen);
p.setBrush(NoBrush);
p.drawRect(spawnOffsetXPos - m_drawSize,
spawnOffsetYPos - m_drawSize,
m_drawSizeWH, m_drawSizeWH);
}


After applying these changes, save the changes (CTRL+O) and exit pico (CTRL+X)

Now, all that has to be done is to recompile ShowEQ and you're good to go.



[]# cd /seq/showeq
[]# make distclean
[]# export CC=gcc3
[]# export CXX=g++3
[]# export QTDIR=/usr/lib/qt-2.3.2
[]# make -f Makefile.dist
[]# ./configure
[]# make
[]# make install