Xian55 / WowClassicGrindBot

Highly configurable and responsive World of Warcraft Classic pixel Grind Bot - No DLL injection or memory tampering, just screen capture and input simulation.
161 stars 117 forks source link

Add support for the Cataclysm Client #583

Closed adamssullivan closed 2 months ago

adamssullivan commented 2 months ago

Is your feature request related to a problem? Please describe. When trying to setup the frame configuration it tells me: Unable to identify ClientVersion UnitRace and UnitClass!

Describe the solution you'd like Would like to be updated to recognize the Cata Client

Describe alternatives you've considered I do not belive there is anything that I can do to fix the issue

Additional context image

Xian55 commented 2 months ago

Hey yea that's correct. The Client version is not known by the backend.

I've requested Beta access for a while ago however they did not granted me access yet.

Navigation wont work properly with LocalV1 pathfinder nor RemoteV3. None of them have supports the Cataclysm changed zones.

adamssullivan commented 2 months ago

Cataclysm pre-patch is out now so access would not be a problem. I found some Cataclysm mmap files that I was going to try with remoteV3 and see if they work.

Xian55 commented 2 months ago

Cataclysm pre-patch is out now so access would not be a problem

Thanks for the heads up!

I found some Cataclysm mmap files that I was going to try with remoteV3 and see if they work.

I doubt its going to work. Upon loading the mmap files into RemoteV3, in each mmaps header file there's a special magic string which validates whether the file is compatible with the navigation program.

LocalV1 and RemoteV1 may work, however it depends on how much the zone has changed compare to vanilla map. The accuracy may be really poor.

adamssullivan commented 2 months ago

Is there something I can do to overcome the special magic string issue? The Vanilla overworld changes dramatically.

Xian55 commented 2 months ago

I would not call this one an issue but rather a safeguard. To avoid unexpected incompatibility.

Xian55 commented 2 months ago

I've started working on the AmeisenNavigation made a new branch for it multi-version-guess-z-coord.

It seems Jnnshschl was put in some effort to refactor the code of the original AmeisenNavigation. With a rough first iteration it seems to be working, it even shows way better loading times, almost instantly usable. Quite significant improvement!

The good news is that, AmeisenNavigation no longer requires Visual Studio 2019 but rather uses Visual Studio 2022.

To my luck TrinityCore project has made a branch for cata_classic i specifically, think this would be convenient to bake mmaps for cataclysm client.

Frankly it seems the v15 mmaps magic string remained, however i found it confusing how to actually extract the necessary data from the game files. I'm not familiar how to extract any of the game files after wotlk client which was using MPQ based file format.

Xian55 commented 2 months ago

Little update, I've found a working mmaps files however these are meant to be used by private server, server side NPC movements. Players cannot follow these paths due slope limitation.

Xian55 commented 2 months ago

Be sure to download the latest version. I suggest to read the following in order to be able to use the project in Cataclysm classic

As of now the PPather(V1 Local, V1 Remote pathfinder) project cannot be used for the Cataclysm changed zones, and i do not recommend to try them out, it may cause unpredictable behaviour.

Note: the provided mmaps files for Cataclysm client was not created by me. At first glance it seems fine, however it might not be suitable for player movement. Once TrinityCore team progresses forward and their extractor tool is ready to process Cataclysm Classic client, i'm going to revisit how to improve the navmesh for the project. Until then expect may more stuck situation during navigation.

adamssullivan commented 2 months ago

Wow, thanks for all the hard work. You Rock!

Xian55 commented 2 months ago

Hi i have to say that the current state of the wow classic client is a joke compare to vanilla tbc and wotlk combined.

adamssullivan commented 2 months ago

When trying to build the AmeisenNavigation.server I am getting image

VS2022 with C++ I have build this in the past not sure what I am doing wrong. The addon is loading and is working. Just no navigation.

Xian55 commented 2 months ago

Hi, navigate to solution explorer.

Right click on the AmeisenNavigation.Pack project and in click on Unload Project.

We dont need that project.

Sorry, i forgot to mention that.

You may have to do the same with the Tester app.

adamssullivan commented 2 months ago

Hmm. Still getting that error. image

Xian55 commented 2 months ago

Hey can you disable the exporter as well

Xian55 commented 2 months ago

Hold on, i got a busy day today, sorry for the late response. Let me see how i build the AmeisenNavigation.Server

image

I've only disabled the AmeisenNavigation.Exporter project. Then i have some warnings in the build, but they are not breaking the build.

I've updated #585

adamssullivan commented 2 months ago

I was able to get this to build. I had to change some settings to 64bit for it to work. Thanks again.

Xian55 commented 2 months ago

Oh sorry about that, i've forgot about that. Thanks for bringing it to my attention.