Jump to content

MMaps Redux


Guest auntieMangos

Recommended Posts

I've tested the mmap_rewrite with your latest patch and the minion still does not follow it's owner. I have a warlock with a succubus minion and it does not follow, but lags behind until beyond LOS, then it despawns.

Just tested, and it works like a charm for me.

So I cannot confirm this report.

Link to comment
Share on other sites

  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

Hi All,

I will try and build my server again. Just to ensure that we are on the same page, I'm using the code from faramir118's github

http://github.com/faramir118/mangos and qsa's patch

http://pastie.org/1248321 is this all I need?

Cheers

EDIT: No it's still not working for me, I must have missed something. All I did was

create standalone patch from faramir118's github, and cleaned the code

remove all 'trailing whitespaces' that git flagged

remove all 'leading whitespaces' that git flagged

remove all 'newline at EOF' that git flagged

fixed merge conflicts where core renamed functions canFly(), canSwim() and canWalk() to CanFly(), CanSwim() and CanWalk respectively

and applied this to the latest core.

I then applied qsa's patch and then I built it. This is what I get;

Pet                      Follow Automatically
Hunter pet                       yes
Warlock minion                   no
Companion                        no

Link to comment
Share on other sites

Hi All,

I will try and build my server again. Just to ensure that we are on the same page, I'm using the code from faramir118's github

http://github.com/faramir118/mangos and qsa's patch

http://pastie.org/1248321 is this all I need?

Cheers

EDIT: No it's still not working for me, I must have missed something. All I did was

create standalone patch from faramir118's github, and cleaned the code

remove all 'trailing whitespaces' that git flagged

remove all 'leading whitespaces' that git flagged

remove all 'newline at EOF' that git flagged

fixed merge conflicts where core renamed functions canFly(), canSwim() and canWalk() to CanFly(), CanSwim() and CanWalk respectively

and applied this to the latest core.

I then applied qsa's patch and then I built it. This is what I get;

Pet                      Follow Automatically
Hunter pet                       yes
Warlock minion                   no
Companion                        no

It looks just about right.

But I have no idea what you are doing wrong, or what the problem really is.

I tried it once again, just to be triple sure, and it works for all types of pets.

Tested on both water elemental and succubus.

My tests are done on our repository + that patch.

Maybe you have problem with merging or applying the patch. Or maybe, its problem with other custom patches you use. It also can be addon or something like that.

The reason I'm so sure there's no problem, is that both hunter pets and lock pets use exactly the same movement code.

Best regards.

Link to comment
Share on other sites

Hi qsa,

Thanks for the time you have already spent on this matter. I don't want to bog you down with it any longer, as it seems to be only me who has this problem.

qsa wrote: The reason I'm so sure there's no problem, is that both hunter pets and lock pets use exactly the same movement code.

I fully agree with you, which makes this issue all the more puzzling ;) I do have other mods in the code and I'll see if any of them conflict with mmap_rewrite. I hope it's not playerbot.. that's my project.

Cheers

Link to comment
Share on other sites

Hi, i tried to merge mmaps_rewrite and mangos master branches but i get some conficts in TargetedMovementGenerator.cpp

<<<<<<< HEAD

+ if (owner.IsStopped() && !i_destinationHolder.HasArrived())

+ {

+ D::_addUnitStateMove(owner);

+ if (owner.GetTypeId() == TYPEID_UNIT && ((Creature*)&owner)->CanFly())

+ ((Creature&)owner).AddSplineFlag(SPLINEFLAG_UNKNOWN7);

=======

>>>>>>> mmaps_rewrite

and 2 more conflicts in Unit.cpp and WaypointMovementGenerator.cpp, can somone help me?

Link to comment
Share on other sites

Hi, i tried to merge mmaps_rewrite and mangos master branches but i get some conficts in TargetedMovementGenerator.cpp
<<<<<<< HEAD

+ if (owner.IsStopped() && !i_destinationHolder.HasArrived())

+ {

+ D::_addUnitStateMove(owner);

+ if (owner.GetTypeId() == TYPEID_UNIT && ((Creature*)&owner)->CanFly())

+ ((Creature&)owner).AddSplineFlag(SPLINEFLAG_UNKNOWN7);

=======

>>>>>>> mmaps_rewrite

and 2 more conflicts in Unit.cpp and WaypointMovementGenerator.cpp, can somone help me?

no. this is development thread, not noob support

Link to comment
Share on other sites

Hi, i tried to merge mmaps_rewrite and mangos master branches but i get some conficts in TargetedMovementGenerator.cpp
<<<<<<< HEAD

+ if (owner.IsStopped() && !i_destinationHolder.HasArrived())

+ {

+ D::_addUnitStateMove(owner);

+ if (owner.GetTypeId() == TYPEID_UNIT && ((Creature*)&owner)->CanFly())

+ ((Creature&)owner).AddSplineFlag(SPLINEFLAG_UNKNOWN7);

=======

>>>>>>> mmaps_rewrite

and 2 more conflicts in Unit.cpp and WaypointMovementGenerator.cpp, can somone help me?

no. this is development thread, not noob support

That was helpful, i asked here cause there is no private messages system(or i dont know about it) here and not everybody write their e-mails here. Sorry for off-top and my english.

Link to comment
Share on other sites

Hi, i tried to merge mmaps_rewrite and mangos master branches but i get some conficts in TargetedMovementGenerator.cpp
<<<<<<< HEAD

+ if (owner.IsStopped() && !i_destinationHolder.HasArrived())

+ {

+ D::_addUnitStateMove(owner);

+ if (owner.GetTypeId() == TYPEID_UNIT && ((Creature*)&owner)->CanFly())

+ ((Creature&)owner).AddSplineFlag(SPLINEFLAG_UNKNOWN7);

=======

>>>>>>> mmaps_rewrite

and 2 more conflicts in Unit.cpp and WaypointMovementGenerator.cpp, can somone help me?

Hi,

I found the only conflicts were due to the core changes, renaming

canFly() to CanFly()

canSwim() to CanSwim()

canWalk() to CanWalk()

Conflicts are normally divided into two blocks of code. One to keep and the other to delete. From the changes I have mentioned above, you decide which one to remove.

Hope this helps

Link to comment
Share on other sites

Should we rework the debug commands so that the pathfind filter is also configurable?

I can add so you could pass filter mask, but it wont be too intuitive.

Maybe we can do something like "ground water magma" -> "true true false" type of shift. User will input this array, or ... bitmask.

Not sure which option is the best.

For basic testing you can always hardcode some value there ...

Sidenote : any remarks against updating to latest mangos? if not, I'll do it tomorrow.

...and 2 more conflicts in Unit.cpp and WaypointMovementGenerator.cpp, can somone help me?

Unfortunately we rather not support anything beside provided code in the repository.

no. this is development thread, not noob support

There's a quote by Mark Twain to fit here perfectly ...

Polite answer wont hurt you.

Link to comment
Share on other sites

Maybe something like:

while(moreParams)
{
   if (nextParam == "ground") filter |= ground;
   elif (nextParam == "water") filter |= water;
   elif (nextParam == "lava" || nextParam == "magma") filter |= magma;
   elif (nextParam == "slime") filter |= slime;
   }
}

That way it's a little more user friendly - order of params doesn't matter, you can specify only the ones you want, etc.

First char of each word would work too.

Fastforward to lateset master is fine with me, and would probably make others happy :)

Link to comment
Share on other sites

...

That way it's a little more user friendly - order of params doesn't matter, you can specify only the ones you want, etc.

First char of each word would work too.

Just noticed we have different problem implementing this one.

Since paths right now calculated from WorldObject to caller, the path mask used is Object's mask. There's no way currently passing it.

We can make something ugly, like passing mask into path constructor, but thats just overkill.

The other "no so pretty" solution can be temporary setting Objects inhabit type to whatever we selected, so the path generated will be of the type we want.

The 3rd option, is making separate class, that inherits from PathInfo, that will provide much more debug options. But again, this may be just overkill.

PS: merged and pushed latest mangos.

Link to comment
Share on other sites

Just so you and your testers know, pathfinding and swimming needs work.

In most cases, swimming characters/pets are 'unreachable' right now, so they won't be able to fight underwater.

One corner case is in instances. I wasn't able to cull the ground mesh below the liquid mesh, so there are two separate 'floors' - one for the submerged ground, and one of the liquid surface. Pathfinding works, but it is a case where pathfinding shouldn't be used.

Link to comment
Share on other sites

http://www.wowhead.com/npc=33293 falling under ground surface and become unattackable after aggro - going into evade ofcourse :/

Somehthing going wrong in generator - the navmesh is below the terrain mesh, and is completely flat at a certain height.

Might have to do with span height limits (only 13 bits to represent this) - there is a tall WMO there that might be ruining that tile.

Also could be a bounding box issue... I'll work on it. :)

Link to comment
Share on other sites

first crash after 2 hrs of uptime with ~100 online http://paste2.org/p/1072337

PS: i'm compile my server: CFLAGS="-O2 -pipe" --with-debug-info

Thank you very much. Really solid crash log for little sneaky crash.

Not very common one, but still can happen, no wonder we didn't get it on low population.

Hopefully fixed in https://github.com/faramir118/mangos/commit/fa96109a5cb8f006642e44b0c4fb767f7a087bd3

Keep those coming ...

Checked map 603, and it looks really strange, good to know that faramir118 is on it :)

Maybe extracting that specific map with different cell size can solve it, since borders tend to get screwed. So happens cells are connected just in the middle of the room.

But sure, proper solution can be even better :)

Link to comment
Share on other sites

First intuition was correct, fixed :)

Changing the cell height might have worked, but I think there are other places in the world where this problem would have surfaced (like the mountain with Temple of Storms)

Had to change the size of a struct - if you use recast demo, you need to delete all of the .hf files in the meshes directory or it will probably crash when you load old debug output.

You only have to rebuild the affected tiles, and you can use debug mmap tileloc to find out which tile it is.

For example, 6033230.mmtile is MoveMapGen 630 --tile 32,30

Link to comment
Share on other sites

i had a problem with mobs evading after battle start at many locations (tanaris, dragonblight, wintergrasp) and i think it can be related to 10677 rev... i'm using linux

i was tried to reproduce this bug at windows and there is no bug here O_o

For example, 6033230.mmtile is MoveMapGen 630 --tile 32,30

used MoveMapGen 630 --tile 32,30 and it created 630.mmap file. I should rename this file to 6033230.mmtile ?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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