Jump to content

[s0767][mangos-one] vmaps v3 backport


Guest faramir118

Recommended Posts

https://github.com/faramir118/mangos/tree/one_vmap_rewrite'>

https://github.com/faramir118/mangos/tree/one_vmap_rewrite (make sure you're on the one_vmap_rewrite branch)

I backported vmap v3 to mangos-one, along with some related code.

  • Extractor works on client 2.4.3
  • assembler produces valid collision data
  • Core still needs to be tested (I don't have a db for this part)

Look on github, or read this summary of the commits backported.

Link to comment
Share on other sites

Awesome. One thing I noticed when looking at the code is that https://github.com/mangos/mangos/commit/6a6cde8d284370b160952582378190b92c5ac2d4 has not been backported to mangos-one yet. Is it for 3.x only?

I think we can add atleast a few of those changes. For example the normals variable of model.h is no where really used.

Also

fwrite(&nIndices,sizeof(uint32), 1, output);

should rather be

fwrite(&nIndexes,sizeof(uint32), 1, output);

in model.cpp:88

Link to comment
Share on other sites

6a6cde8d284370b160952582378190b92c5ac2d4 is from Nov 22, 2008 - this was right around WotLK release, so I decided that commit was for 3.x compatibility.

My guess was confirmed when I tested mmaps with the 2.4.3 vmap data produced by my current github branch - navmeshes and debug output look perfect on the spot-checked maps. (except the seem to have reversed the .mdx triangle vertex order for client >= 3.x)

Fixes like the one you wrote are probably good to include though :)

Link to comment
Share on other sites

Alright here is the partial backport for 6a6cde8d284370b160952582378190b92c5ac2d4: https://gist.github.com/802722

It does not change anything except renaming a few modelheader variables and removing the not used normals variable as well as the not used ModelTexUnit struct.

Changes left out in the commit:

- The removal of ModelVertex and ModelView structs as those are needed for 2.4.3 AFAIK

- The ofsViews entry which has those views in it

- BB_vertices, BB_indices and offsBB_vertices as they are not used

- The removal of origVertices as we need them to get the modelviews

Please tell me what you think

EDIT: Readded nD, ofsD, nI and ofsI based on http://www.madx.dk/wowdev/wiki/index.php?title=M2. The format now perfectly matches with the one on that page

Link to comment
Share on other sites

Indoor/outdoor checks are working fine in town/bg/world which has always been an issue in my port :)

The only big issue which existed on mangos-one for like forever is non working liquid damage (lava in molten core, searing gorge) but that could also be .map related. Would be awesome if you can look into that as well :P

Tested with patch added in previous post and those small typo fixes I commented in github

Link to comment
Share on other sites

Backporting package must also include

43f5bc2d0dc1e8952ee49b7b7228ba842df67d3e [9998] Fix *nix build.

For make it compile possible for Unix.

For simplify later backporting to zero (ofc will been more fixes for make this possible) i will backport

per master commit + your fixes. At least where possible (in pre-required commits for example) with cross check with your version.

Link to comment
Share on other sites

You accidently backported 3.x format of WorldMapArea.dbc too...core won't start with 2.4.3 dbc files.

After fixing this and a few other minor things line of sight and liquids are working, but indoor check does not work.

I think someone tried to backport it before and had the same problem. Unfortunately i don't really have a clue how arrai and tom_rus actually figured out the correct algorithm for 3.x so i'm pretty clueless on how to fix it.

Link to comment
Share on other sites

You accidently backported 3.x format of WorldMapArea.dbc too...core won't start with 2.4.3 dbc files.

After fixing this and a few other minor things line of sight and liquids are working, but indoor check does not work.

I think someone tried to backport it before and had the same problem. Unfortunately i don't really have a clue how arrai and tom_rus actually figured out the correct algorithm for 3.x so i'm pretty clueless on how to fix it.

Yes, there are a few typos and I already commented them in github:

https://github.com/faramir118/mangos/commit/62ec65c676b90acbb9675c3c5a76bc95cf5d617a#src/game/GridMap.cpp-P29

https://github.com/faramir118/mangos/commit/583066196273f49422b575cbf5263a8ae7bca769#src/game/DBCfmt.h-P6

https://github.com/faramir118/mangos/commit/9fa9121af59527bbb27c8ace3e11accc06c45abe#contrib/vmap_extractor_v2/vmapextract/vmapexport.cpp-P503

https://github.com/faramir118/mangos/commit/9fa9121af59527bbb27c8ace3e11accc06c45abe#contrib/vmap_extractor_v2/vmapextract/adtfile.cpp-P65

Well the indoor check seemed to work in my tests but they were rather quick. Btw I was the one who contacted you about the indoor check issue a few months earlier when I ported vmap3 to oregoncore (2.4.3) :)

Link to comment
Share on other sites

I tryied the https://github.com/VladimirMangos/mangos version of vmap3 and didn't noticed any change : all the bugs are still there (for example being sheeped near the flag in warsong gulch is 100% undermap), the mobs still half falls underground when climbing an inclined floor and the lava in and near molten core still doesn't do any damage. Is that normal or is there something wrong at my side? Or maybe all of this isn't vmap related, i'm not sure.

Link to comment
Share on other sites

vmaps 3.0 added to Mangos One (with disabled indoor check) in [s0767]. Thank you :)

Good job :)

Btw did you check my partial backport of 6a6cde8d284370b160952582378190b92c5ac2d4 already? I think its pretty good one. It backports as much as possible without breaking 2.4.3 extraction. Patch can be found here: https://gist.github.com/802722

in [s0769] thank you.

Link to comment
Share on other sites

I tryied the https://github.com/VladimirMangos/mangos version of vmap3 and didn't noticed any change : all the bugs are still there (for example being sheeped near the flag in warsong gulch is 100% undermap), the mobs still half falls underground when climbing an inclined floor and the lava in and near molten core still doesn't do any damage. Is that normal or is there something wrong at my side? Or maybe all of this isn't vmap related, i'm not sure.

But not new bugs? So all ok.

I more interesting that as i test: fishing work in cities. city and caves now correctly return area info. So many quests related things start work in normal way. And etc.

Link to comment
Share on other sites

In [s0772][s0773] restored work indoor checks so its enabled by default as in master.

Nice, but:

1. you can still mount up in flagarea in WS (tunnel works but flag area itself not)

2. you can mount up a few meters in front of the gate in AV (some more meters back into the cave does not work)

3. you dont get dismounted in the slime in Undercity.

The bg indoor checks worked with old flag checks and the slime issue is probably related to environmental damage missing (lava, slime) due to .map update (not vmap).

The only problem with the old checks was the fact that you got dismounted in cities like Orgrimmar or Undercity but everything else worked as far as I know.

Link to comment
Share on other sites

3. you dont get dismounted in the slime in Undercity.

This is not related to vmaps indoor. It must work as normal dismount in liquid.

Old data no any indoor checks so if something work this has been not related to vmaps work in like cases.

Indoor check as feature exist only in vmap 3.0 version

About mounting: cleant by self control mount allowed check in indoor/outdoor case.

So server just not get any casts in like case if client think that are indoor.

vmap3 indoor feature just make accessable same info for server side.

This feature allow recheck mount casting (but only as anti-cheating because client by self not allow it)

When feature really used at server side only: when you attempt enter to indoor area at mount. This part not control by client.

If in point mount cast allowed by client then area isn't indoor area from client (and then server) point and wmaps indoor check not related to it.

mount not allowed but you can enter to are at mount - vmaps really detected bug. Please report exactly .gps coordinates where this problem (you enter mounted and stay in point are where you after unmount can't cast mount by client check protection).

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use