Jump to content

A Quick Update


Stev

Recommended Posts

Just so that you don't think I've abandoned DGSweeper, I figured I'd give everyone a run-down on what I've been doing.

 

My main priority for the past little while has been fixing DGConnect. I dislike the method it currently uses to transfer data. To give you a very simple idea of how DGConnect works:

  • Captures the map
  • Saves the map as a temporary GIF
  • Reads the GIF and converts data to hex
  • Uploads the hex

The receiving computers then:

  • Retrieve the new hex data
  • Save the hex data as a GIF
  • Use GDI+ to get a bitmap from the GIF
  • Draw the new bitmap onto DGSweeper

This is a bit sloppy, but with the limitations we had at the time of making it, it was our only choice.

 

However, the past few weeks I've been working with a very close friend who is also great with GDI+ and who's helped me out many times in the past. We've written a few great compressors (which compress data to 10% of its original size) which will be used to compress the image data. This alone would speed up DGConnect incredibly.

 

When drawing with GDI+, you're dealing with pointers to the bitmaps. So, for example, if I displayed the value of the corner image's bitmap, it'd be something like 2098 (some random number). However, if I sent that pointer to your PC and told it to draw it, yours would go, "WTF is this?" So, now we've got to design something for hbitmap to buffer. With that, we'll no longer have to create, read, upload, download, read, and draw from a file. It'll be a quick and reliable solution.

 

This will also fix the issue people are having with DGConnect where their maps disappear when it captures their map.

 

Hopefully, once released, this will encourage people to use and take part in DGConnect - and make random and organised dungeoneering teams more fun and easy for everyone.

 

 

On the side, I've been completely redesigning the tool. This isn't quite a priority. So long as requests come in, they'll be added to the current build and released until the new one is ready. This project is being done alongside another project of mine - creating an entire RuneScape class for developers.

 

I've also been adding support for multi-languages. For this, I mean things like riddles and emotes. However, this is dependent on people giving me feedback and screenshots, so there is no ETA.

 

 

As always, if you have any suggestions or ideas, feel free to post. :). Happy dungeoneering!

 

Edit: Can someone (who has used DGConnect) check their working directory and tell me if there's a BEEP.gif? I think I may have forgotten to remove something in the last release. :P.

  • Like 1

09144a99bb.png

Link to comment
Share on other sites

[Removed]

 

Just a sample. Of course, not at all fully working yet. I rather like this design over the others. You'd be able to hide the tabs to the right by using the 12079181.png button above the map. The different tabs will be different sizes, obviously. It won't need a window that big for riddles, for example.

 

Thoughts?

  • Like 1

09144a99bb.png

Link to comment
Share on other sites

As it looks, it's rather big.

Are there any pro's to having the window shaped like that, rather then have a second frame adjacent to it?

 

Multiple relevant tabs (as you have them in mind) could be present, but toggled with small icons on the right-hand side of the map.

(ie: a vial for potion recipes, a question mark for riddles, the map boss icon for boss pointers if you'd implement those, ...) without hogging up too much space

 

As for the potions tab: How will it work?

Fastest way I could imagine would be having it display the skill icons. Click to select skill, if required input door lvl, and pot recipes returned like !pot now does.

(assuming you want to put in a clickable version, which would avoid the agi/magic confusion).

 

EDIT:

both your current lay-out and my suggestion toggle the display. But with the more specific toggles, you'd need less height on the expanding area, thus covering less of the screen. It's the only significant advantage it has when expanded, though it takes a slight bit of extra space when 'compressed' to just map.

Vmser.png
Link to comment
Share on other sites

  • 2 weeks later...

Worked a lot on DGConnect again today. Ran into a few issues, however.

 

You can read the current method for sending and retrieving the map in the first post. I made a slight boo-boo with this. I had intended to send a 24bpp but just realized I never changed it from 32bpp. So it's sending larger chunks of data then it has to. This'll obviously change.

 

Today I got it to successfully capture the map and save it to buffer (BMP). Easy enough. It then compresses and converts this buffer to hex to upload quickly and efficiently. To give you an idea, it compresses a 262KB image down to 40KB. The current versions don't do this... But they are using GIF files, which are only ~30KB to begin with.

 

However, why use a large BMP buffer when I can use a much smaller GIF/JPG? This is where I run into my problem. Unlike BMP, a GIF/JPG would be around 10.5KB/10.3KB before compressing. That is 1/4 the size of an already compressed BMP buffer. Great, but not good enough for my liking. When I try to compress GIF/JPG, it fails... So that's what I have to spend my next session fixing. Lol.

 

Keep in mind that it's already down to little over half the size that it was and no longer requires reading/writing of any files; everything is done entirely in memory.

 

The new DGSweeper's memory usage will also be below 3MB, down from its original 15MB and will free memory used by your RuneScape client if it gets too high! I've had people testing this. They've reported their memory usage by their RuneScape clients (most JagexLauncher[Caution: Executable File]) dropping from excess of 250-500MB down below 10MB. This should greatly help out people who don't have top--of-the-line PCs. :).

 

 

Anyways, more news as it comes. Almost done the basic classes and such. Been a crazy few days, but should be back on it full force soon. :).

09144a99bb.png

Link to comment
Share on other sites

Thanks to a good friend and some time of MageUK's, we got DGConnect working great! It send and retrieves with speeds that blow previous versions away. I scrapped the hex idea and went in another direction. Obviously it'd be ideal not to have to convert the data at all, but for now that's not possible. We decided to go with a... Custom?... type of Base64. Base64 only adds one extra byte for every 3 converted, where hex adds an extra byte for every byte converted.

09144a99bb.png

Link to comment
Share on other sites

The new DGSweeper's memory usage will also be below 3MB, down from its original 15MB and will free memory used by your RuneScape client if it gets too high! I've had people testing this. They've reported their memory usage by their RuneScape clients (most JagexLauncher[Caution: Executable File]) dropping from excess of 250-500MB down below 10MB. This should greatly help out people who don't have top--of-the-line PCs. :).

 

So.. if the RS Client hogs too much memory, I can use DGSweeper, make it do a shitload of work, to clear memory hogged by the RS Client?

If there's a basic idea behind this, is there a way to use the principle in a standalone applet besides DGSweeper that triggers the cleaning as soon as a certain threshold gets used?

 

If so: Very much interested.

Vmser.png
Link to comment
Share on other sites

  • 2 weeks later...

Im fairly new to using this and it seems I cant even get it to work at all. Ive got what appears to be the newest version, I open it, enter a dg, I cap the party details, have all my friends use the key I gen, click start etc etc, but the map never shows up for me. Ever. I got it to come up once and that was about it. When friends generate the key and send to me to connect to them, they get the map and it seems fine to them, but I still dont get the map to come up :/

 

is it just not working atm and waiting on an update or is there something Im missing? It seems like this would be a nice thing to use :L

Link to comment
Share on other sites

Im fairly new to using this and it seems I cant even get it to work at all. Ive got what appears to be the newest version, I open it, enter a dg, I cap the party details, have all my friends use the key I gen, click start etc etc, but the map never shows up for me. Ever. I got it to come up once and that was about it. When friends generate the key and send to me to connect to them, they get the map and it seems fine to them, but I still dont get the map to come up :/

 

is it just not working atm and waiting on an update or is there something Im missing? It seems like this would be a nice thing to use :L

 

Have you tried using it in fixed mode? That is the only mode I could get it to work with.

wii_wheaton.png

[software Engineer] -

[Ability Bar Suggestion] - [Gaming Enthusiast]

Link to comment
Share on other sites

GreenXen, have you double checked your navigation settings?

 

By the sounds of things, Robidude, it's not connecting? It won't retrieve maps uploaded by your partners?

 

When you connect to a key, how long does it stay connected? You should see the DGSweeper under the map change to DGConnect. And then if it disconnects, for any reason, it changes back to DGSweeper.

 

Also, after connecting, reopen the DGConnect window. At the bottom, has it failed any?

 

And the biggest thing... Make sure you're using the same versions of DGSweeper! Older versions of DGSweeper use a different method for DGConnect. While no live versions have the method being developed by @MageUK and myself now, the newer versions operate different then the old.

 

When in a dungeon, reopen your DGConnect when it's connected. Capture a map with that window on-screen. Does it say, "Sending map failed," or anything like that?

 

Please let me know your results!

09144a99bb.png

Link to comment
Share on other sites

I have been quite busy with work and class today, and didnt get a chance last night due to the storm, but Ill give all this a try tonight and see what I come up with. I know at the bottom of the map it had DGConnect in red, and I know we are all on the same version cause I sent them the one I had straight through skype and we went from there. Im telling all my friends about this cause it seems amazing, and they use it and like it, and it doesnt seem to wanna work for me haha. Ill be back tonight (Im eastern timezone, back in a few hours)

Link to comment
Share on other sites

I hope we can get it to work. I won't be making any changes to DGConnect until my new build is ready... Simply because I've already got it functioning more reliably and faster then ever with a different method. Not only that, but when it comes to DGSweeper, MageUK and I are going to be pretty busy with a new add-on that you can see in the screenshot a few posts up:

"...and find party members."

09144a99bb.png

Link to comment
Share on other sites

Sorry that I havent gotten back to you guys (I feel like an a hole :c ) but we got hit by that storm and lost power etc. Just got power back now and turned my comp on / restored firefox and this thread came up, so clearly lost power while i was on here lol. I will ACTUALLY be trying this shortly. For now, a store run as I need something to drink.

Link to comment
Share on other sites

What does the "Find Member" do?

zuzmo.png

collio.png

[hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide]

Never gonna give you up.[/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide]

"We don't want players to be able to buy their way to success in RuneScape. If we let players start doing this, it devalues RuneScape for others. We feel your status in real-life shouldn't affect your ability to be successful in RuneScape" Jagex 01/04/01 - 02/03/12

Link to comment
Share on other sites

You can add your name to a floor number or floor theme. It will then give you an up-to-date list of people who are in need of that same floor or theme in the last 5 minutes.

 

It kinda goes the opposite way of Jagex's solo XP boost. They are encouraging solo and small teams, we are not.

09144a99bb.png

Link to comment
Share on other sites

Ah I see, very good matchmaking system you got there, then. :)

 

How about security-wise? Any chances of compromising IP addresses?

zuzmo.png

collio.png

[hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide][hide]

Never gonna give you up.[/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide][/hide]

"We don't want players to be able to buy their way to success in RuneScape. If we let players start doing this, it devalues RuneScape for others. We feel your status in real-life shouldn't affect your ability to be successful in RuneScape" Jagex 01/04/01 - 02/03/12

Link to comment
Share on other sites

As always, the Tip.It servers will act as a middle-man. No data will be sent directly to and from players' computers, so there will be no way of finding members' IPs.

 

EDIT:

When mouse-over party details, it'll show what's captured. Legend and timer windows merged with the map to save room for dungeoneering.

updatedd.png

 

 

With that... Bed time. G'night! :).

09144a99bb.png

Link to comment
Share on other sites

  • 2 weeks later...

Getting more and more done.

 

I like using AHK because there's a lot of simple tasks in DGSweeper that are very easy to handle in AHK over another language such as C++. While the DGSweeper currently does use C++ for large tasks (such as legend capture, filtering, and drawing), it uses a very limited amount. This was because I relied on, and had to wait on, a good friend to compile the C++ to machine code which I'd then implement into AHK.

 

This has changed. I no longer want to constantly pester him and rely on him to make updates, so I've written some tools for myself to be able to compile my own C++ to usable code. Therefore, a lot of things in DGSweeper will now be using C++.

 

For example... From the time it captured the legend, to the time it filtered the colors, redrew it 5x for each different party member and their color, etc, it would take 300-600MS. Now that I'm including my own C++, it does it in under a millisecond.

 

Also, the way the map is captured has changed. Previously, every 50MS it'd grab the RuneScape position, calculate the map area, capture that area to bitmap, analyze the bitmap, keep/discard the captured bitmap. While this method is great, I decided to take the trigger approach. What signs can I monitor that will indicate a map is/will appear? Clicks!

 

Instead of doing all that garbage every 50MS, when you click the DGSweeper will check to see where you clicked. If you clicked the map button, for the next 2 seconds it'll watch for the map. This reduces CPU usage to literally nothing as it sits idle waiting until it needs to run. And if you have more then 2 seconds of lag... Well...

 

Exciting. :).

 

EDIT: I also never realized how much Aero affect BitBlt in GDI+. It single-handedly slows down just the capturing of the map by ~30MS. The newer version, upon launch, will provide a prompt where the user can allow DGSweeper to temporarily disable Aero while it's running. If you're DGSweeper is currently running slow, try disabling Aero!

 

1vV6m.png

  • Like 1

09144a99bb.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.