Sonntag, 5. Dezember 2010

wowmapper for WoW v4.x

wowmapper is currently being updated and a usable version is already in the trunk. Usable doesn't mean bug free or complete! Check out wowmapper at svn and try it yourself! Bug reports are appreciated!

Donnerstag, 4. November 2010

It has been a long time ...

Almost 5 month passed since I posted last time. I know some people are waiting for an update of wowmapper, but it won't happen anytime soon until I probably need it myself. I've had lots of work to do and since I'm currently employed at a company as an ActionScript programmer I've had little time to continue my own work until lately. I'm currently working on an application which will be able to stream the screen of WoW to a file (like Fraps) or via network to a remote PC/device.

It could be useful for arena teams, so you can see what your mate does as if you would sit right next to him/her. Record normal videos like you probably do with Fraps right now and so on. Here's a little demonstration of an early version:

FlowerStream (wow video streaming)

Hope you like it. It has a five seconds delay on the stream, because of me failing to pull it right into VLC :D I'll keep you updated. PferdOne aka Flowerew

Dienstag, 8. Juni 2010

Preview: wowmapper for windows

I finally managed to spend some time on porting wowmapper to Windows. It required some modifications in libmpq (mainly fseek) and only two small modifications in my wowmapper code. I clearly overestimated the amount of work (lucky me :D). I also fixed a little leak in the ADT code and the mesh exporter sample. Here's a preview screenshot of it:

Don't be fooled by the reading speed. It's running on an old 80GB Seagate IDE HDD in debug mode, with VLD (Visual Leak Detector) linked. The Linux results I posted were true release builds instead. I'm almost ready to release it, I just have to check a few more things beforehand to make it a smooth release this time, though I'm relying on you 64Bit-guys to report bugs. Other than that it should be ready for use before the weekend. *crossing fingers*

Freitag, 4. Juni 2010

Some "simple questing" by Ryns

For all you people that follow the memory editing section of mmowned very closely, you should have noticed Ryns work and videos there. He was the first to test wowmapper and gave me feedback regarding bugs. He's a huge step ahead of me now, and I'm very glad he shows me every update of his progress on his (private) allround questing/grinding/fishing bot.

He's working on it in his spare time (which seems to be as rare for him as for me), and he has done some quite amazing stuff in this short amount of time. Here's a video of his bot !questing! all on its own and it just took him "a couple of hours" to make it work. A COUPLE OF HOURS for a simple questing bot!!! I'm impressed to say the least. Here's the video link. I hope you enjoy watching it as much as I did.

Montag, 17. Mai 2010

First feedback and update

Updated wowmapper today, changed some things, (hopefully) fixed some bug related to 32bit and 64bit systems, thanks Ryns. Also added a sample to generate tiles with a little border so you have perfectly prepared data for Recast. Hope you like it!

Seems like a little bug survived, though no big one as Ryns told me (again 32/64bit stuff). I think I have to install some 64bit linux in VirtualBox and next time make tests myself beforehand. Other than that it seems like you 64bit guys are ready to go too now.

Samstag, 8. Mai 2010

Release of wowmapper

Well it's about time! Alot has happened since I first said @ mmowned that I want to release the source to my WoW map reader.

Alot of testing has been done and I had a tough decision to make, but I'm sure this is the right one. When I started parsing MPQs it became apparent that, if done wrong, reading ADTs can be slow as hell. I wanted to improve speed for reading ADTs so bad I completely negelected usability. Remember my goal was to write a parser that can export WoW's mesh and terrain data to formats that can be read by common modelers like Maya/Blender and be used for things like navmesh generation.

The fastest solution I came across was a model where I allocated one big buffer each for vertices, normals and indices. These buffers were big enough to hold every geometry that you could read from ADTs and so on. This was almost the only allocation I had in the whole reading process in my code and it upped my reading speed by 16% of my original results posted on mmowned.

It was a huge step speed-wise for me. I was able to load terrains with wmos and doodads + skins, yes even wmo interior with skin, with an average of almost 20 ADTs/s. I think people parsing ADTs themself know what that means. Imagine loading complete Azeroth geometry in about 35 secs (and my rig is about 3 years old: AMD 5600+ X2, 3GB Ram, Radeon 9600GT, 320GB Hitachi Sata).

BUT it wasn't very user friendly anymore. Remember everything was done on these single buffers: if I had to transform geometry from ADT 23 -> WMO 12 -> doodad 34, I was performing these somewhere on this one buffer at offset X with Y elements. I had a bunch of sleepless nights only dealing with offsets instead of data that can be exclusively modified and just copied to a buffer when done. So I changed it for the sake of better usability. I now have mesh class where every mesh has its own buffers, and even transformation information. So one ADT terrain is put into one mesh. Every WMO gets its own mesh aswell as every doodad does. This way I have all data cleanly seperated and I can do with it whatever I want. Everyone crying about the loss of speed I can tell: "You don't want to deal with it, trust me...I'm serious."

Altough I said I want to release it for windows too, I've to disappoint you for now. I just didn't have the time to do it. Sorry! So here it is: wowmapper (Revision 33)

If you have any request, bugs or improvements you want to see just write me on mmowned, nick: Flowerew, or leave comments here at my blog.

Montag, 12. April 2010

Time to make something useful!

I discovered the botting community about 4 month ago, and since I'm a real Blizzard fanboy it was all about WoW I was interested in. Playing the game since release and taking pauses from time to time to discover new things everytime I come back.

In these 4 month I've learned alot! All credits must go to the community @ mmowned and gamedeception with all the numoures people providing helpful information to get started. Seriously if you say can't get the information you're looking for, you just don't try hard enough. I posted 1 single question which hasn't been answered and it was good this way, because no one will take your hand and guide you if don't put in the effort to learn.

In these 4 month (and 4 month isn't even long) I learned the following:
  • how to use a disassambler like OllyDbg
  • how to get addresses from WoW with OllyDbg and CheatEngine
  • how to hook functions in c++ and inject dlls
  • how to use linux as development environment
  • how to make a simple bot and radar -> Orwell84
  • how to read mpq files and extract map information -> wowmapper
And overall I read alot...I read what people say on the forums, I read a bunch of source code out there including ISWoWx, Babbot, NoggIt, wowmodelviewer and so on and all that helped me to build a decent fundament of how things work. READ! Especially reading sauce! Reading source and reading alot of it no matter if it's c++, c#, java or who knows which language. If you put in the effort to understand what people have done your code and style will become better in return.

So to give back to the community I started to work on a map extractor which will extract map information from WoW's *.mpq. I've plans to extract them in a format so a modeler like Maya/Blender/3DSMax can read them. In addition I would like to work on navmeshes like everyone else seems to do right now and also make them editable in said modelers to polish them after they have been build. But first things first.