PDA

View Full Version : 42! Changes to 1.17.0 in CVS



42!
10-26-2004, 02:45 PM
Hello,

did some more work...

Mainly I did some internal restructuring to make some of the further changes possible + for general code cleanup (I love replacing "public" by "private" in as many places as possible...).

Here are the changes so far:



- Cleaned up map resets; the data class EQMap does not call MapCon and RadarCon anymore, but event handlers are used.
- Removed all dependencies between MapCon and RadarCon. The latter stands on its own feet now.
- Restructured the power savings stuff a bit; it's a global flag now which can be used by other code than the map painting.
- Per default, the radar is a floating window now instead of docked. It cannot be docked at all, at the moment. This can be switched back to the previous behaviour by setting radarDisassociated=false in the config file (or Slarti can make an option in the dialog, but I think nobody would use the previous behaviour :) ).
- A new DrawOption parameter called PaintToScreen has been added; if this is true (default), then the map display is updated; if it is false, then the map display isn't updated at all (not even cleared). This doesn't do anything yet - Slarti has to add an option to the dialog first. This cuts down 10-15% of CPU on my screen (yes, clearing the background buffer and blitting it to the screen is expensive for me).


Most of this doesn't mean anything to the normal user.

There is, however, one really notable change in all of this:

You can now minimize the map window, and the radar will stay up. This immediately cuts down CPU usage to roughly nothing. Especially, the ugly flickering (at least on Win2K) of the map update (on my screen, *everything* flickers, even the desktop!) is gone for good.

Have fun,
42!

42!
10-30-2004, 09:19 AM
Commited on CVS:



- Bugfix: the blue dot now moves on the radar if the player moves, once again.
- Fix: Using the mouse scroll wheel to zoom the mouse now updates the display immediately.
- Fix: Upon zoning, the zoom is reset to show the whole map.
- Things that are outside of range are now displayed as a triangle (option radarTriangle, enabled by default, not considered important enough to end up in the option dialog).

42!
10-30-2004, 04:35 PM
Commited in CVS:



The whole spawn timer code has been rewritten.
- Code moved out of MapCon (and other classes) into the new MobsTimer class.
- SPAWNINFO moved into the MobsTimer.cs file and made a real class (with meaningfull methods and encapsulation).
- The code itself has been very much rewritten and restructured. Also optimized a lot.
- Entry points (top level method names) have been changed to reflect what's actually happening.
-The code is currently untested (it does compile) and considered "alpha".


Aside from the obvious (code cleanup, less memory usage, less CPU - although probably neglectibly so), this opens the door to a new feature I'm thinking about. More about that when it's done.

The code needs testing (by me, but feel free to chime in if you're adventurous) right now, and will probably crash and burn when taxed heavily.

You can get the version just before this change from CVS easily - all related files have been checked in at the same time, so just do a checkout "before timestamp XXX". If you need help with that, feel free to ask.

42!
10-31-2004, 03:42 AM
Commited:



- compile.bat: The client is started with a slightly higher priority.
- Fixed a bug which has been there since the beginning of the SpawnTimerList: it would crash when trying to sort certain columns; and/or not sort in the correct order.
- Spawn timer list: it is now always updated in real-time. I have a nagging thought that it has never been updated before, when things were killed or re-spawned... Care has been taken regarding performance and flickering.
- Spawn timers are now permanent. They are saved to disk (in the "cfg" directory). When a map is entered again, or the client is fired up again, the spawn timers are reloaded. Option "saveSpawnTimers", true by default. Only things that have spawned more than once are saved.


I have tested the code a bit (thank god for Stalking Probes ;) ) and hammered out the most annoying things.

One or two glaring bugs are in the code still, and will be fixed over the next week or so - nothing deadly though.

slartibartfast
11-02-2004, 07:35 AM
Oooh some nice changes were made whilst I was on holiday - I'll have to catch up on the changes.

Good Job 42!

42!
11-07-2004, 07:09 AM
More changes:



- Rare mobs are now displayed on the radar too. They got a white arrow if they are out of range.
- The loc of a mob can now be used in the filters file. Just enter the loc same as it is displayed in the mob details. It is enough for the loc to show up in the line, the rest of the line is ignored - so you can add a comment. Example: "-509.000,621.000,-6.250 # bad ass named with lots of PHs" . This would match any mob at that loc.
- Rares are shown with a slightly larger blinking circle on the map.
- Bug has been fixed - a random Shift-Click spot would show up on the radar even if the user hadn't clicked at all.

Armaand
11-20-2004, 12:14 PM
Hey Slart and 42!,
Slart, could you possibly add this in soon? I use the spawntimer info alot, and not haveing to kill the mobs twice before it shows up would be extremely helpfull.
Whelp, I learned how to get my own offsets, I guess I can now learn how to get the files from cvs and get them to compile. Can't be that hard can it?
I haven't seen anyone actually posting all that much cept the 3 of us...

42!
11-20-2004, 02:44 PM
Hello,

sorry for the slow updates, but I have been a bit into EQ2 recently. Your best bet would be to try the CVS access. It is really not very difficult, and all works with just free software to compile it.

The only real bug I'm aware of at the moment is that there are "ghost" entries in the spawn timer - but you can always know which these are because they're missing a time stamp in the list of spawns (just filter by that, and it's ok).

I'm not sure when I will come around to fix that one. If you want to speed it up, you could (after compiling the stuff) try and see if you can reproduce it reliably, so I got a better test case to work against.

42!

[EDIT] Ah, what the heck, here's my private binary. It's no official release or anything, might not work, and is not virus checked in any way - so use at your own risk.

Armaand
11-22-2004, 01:03 PM
What other files do I need to dl in cvs to get the new features to work with xyz.exe?

42!
11-22-2004, 04:43 PM
Otherwise, I think you only need the standard distribution from Slartibartfast and use xyz.exe instead of his exe.

Armaand
11-23-2004, 02:46 PM
ok. I went poking and peeking at the .cs and config files, and I don't see anyplace that the spawntimers might/are saved. even using xyz.exe I still hafta kill each mob twice before it knows when they will spawn next, same as always. I've been hunting in the same zone now for 5 levels, 2 since I dl'd xyz.
You stated in a post abve that spawntimers are on by defualt. Can't seem to find where that is either to check if it is indeed "on". hidden? I'm thinking you must have a file in cfg that's called spawntimers.cfg or something...

On a side note, MySeq2 and crew have just stated that they are working on myseq for eq2. Figured I'de give you the heads up 42! since thats where you've been. lol
Guess I'll just hafta keep using what i've got until Slart updates the code.
Where is he anyhow? EQ2 also?

42!
11-23-2004, 03:42 PM
The info is saved in the cfg subdirectory, in files like "spawns-Paineel.txt" and such.

The content would look like this:

1034,375,-119,875;2;0;12:13:11 31.10.2004;;;Eye_of_42!00;Eye_of_42!00;-119,875;1034,375;3,001
1096,375,-157,500;10;14;12:46:05 31.10.2004;12:46:17 31.10.2004;12:46:31 31.10.2004;Eye_of_42!00;Eye_of_42!00,Eye_of_42!'s_ corpse0;-157,5;1096,375;3,001
1075,625,-143,250;6;45;12:20:28 31.10.2004;12:20:00 31.10.2004;;Eye_of_42!'s_corpse0;Eye_of_42!00,Eye_ of_42!'s_corpse0;-143,25;1075,625;3,001

Only things that appear on the spawn list are saved there, so you have to kill them twice - after that you'll get them after just one kill.

As I said, it could well be that that .exe doesn't work at all. I'll revisit the stuff on the next weekend and see if it works at all.