SilverIce
-
Posts
68 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by SilverIce
-
-
Strange then.. seems it's platform related
Above didnt change anything. Should I remove above changes?You may leave them
-
There is a possibility that this is caused by incorrect grid states handling
You may try this:
@@ -284,11 +284,11 @@ Map::EnsureGridCreated(const GridPair &p) p.x_coord, p.y_coord); // build a linkage between this map and NGridType buildNGridLinkage(getNGrid(p.x_coord, p.y_coord)); - getNGrid(p.x_coord, p.y_coord)->SetGridState(GRID_STATE_IDLE); + getNGrid(p.x_coord, p.y_coord)->SetGridState(GRID_STATE_ACTIVE); //z coord int gx = (MAX_NUMBER_OF_GRIDS - 1) - p.x_coord; int gy = (MAX_NUMBER_OF_GRIDS - 1) - p.y_coord;
-
Why you decided so?
Map::Visit(const Cell& cell, TypeContainerVisitor<T, CONTAINER> &visitor) { if( !cell.NoCreate() || loaded(GridPair(x,y)) ) { [i] EnsureGridLoaded(cell); [/i] getNGrid(x, y)->Visit(cell_x, cell_y, visitor); } }
called at each grid's cell visit
Do you have another test results without camera system in core?
-
Numnut, it's player-player visiblity problems only or whole world is invisible?
I can't catch this bug - like i can't even assume where is the root
p.s. there was a some problem with camera list iteration - it fixed here
but i'm not sure that it will solve your problem
-
Thanks to everyone who was helped me bring it to master
-
silverice , may i request a repo update please ? im getting conflicts with mmaps and other addons
Sure. branch updated
There is one question to players on official servers:
Does your player became invisible for you(like other nearby objects), when eye of acherus or priest's Mind Vision spell target(or another viewpoint) placed too far from your player?
-
yes, maybe because eye's movement flags should be null (like move_flags in original Unit::BuildHeartBeatMsg function)
Update: Ok, I've found a problem. In Object::BuildMovementUpdate:
if (!((Creature*)unit)->hasUnitState(UNIT_STAT_MOVING)) { // (ok) possibly some "hover" mode unit->m_movementInfo.AddMovementFlag(MOVEFLAG_ROOT); }
Eye doesn't have state UNIT_STAT_MOVING, so it's rooted in place.
need go and kill NF for that
btw, movement flags shouldn't be changed into Object::BuildMovementUpdate(i mean those flags must be initialized in another place)
-
it's eye's movement flags problem
but, i still don't know why mangos use mostly client's movement packet format for all units.
there are spline analogs of them
-
Have you tested it on clean sources?
currently tested by myself - no problems
not related to cameras. It could be a problem of all posses spells or problem of eye of acherus demo patch ( as i said - it's only a demo)
-
no, this time includes recast operations only
-
I have done some tests and was really surprised:
i have used two types of input meshes to generate the navigaton data:
first mesh contained vertices that can be shared among nearby triangles
second mesh - vertices with same coordinates can be found many times, 3 new vertices per each triangle
Mesh with no shared vertices (second type):
Loaded tile for map: 33 [32][27]
396246 verts 132082 triangles
Process Tile for map: 33 [32][27]
NavMesh generated in 0 minutes 21 seconds
Mesh with unique and shared vertices (first type):
Loaded tile for map: 33 [32][27]
79172 verts 132082 triangles
Process Tile for map: 33 [32][27]
NavMesh generated in 1 minutes 20 seconds
looks like logic "less vertices - better performance" doesn't works for recast generator or doesn't works at all..
-
i have looked at ModelContainerView::generateHeightMap
and got some questins:
why need to load(and process) nearby maps
for (int x1 = x-1; x1 <= x+1; ++x1){
for (int y1 = y-1; y1 <= y+1; ++y1)
also this methtod creates a new 2 polygons each two(!) yards
this is a crazy amount of polys
ofcourse my understanding of this can be wrong, i have started look at the code only now
-
almoust two thousand revisions passed..
-
There is nothing really important in eye of acherus fix. Some more hacks from me, because it is demonstration only
-
yes, i have found the problem with icons too and it solved
Biali, this is because of last Vladimir's commit
-
Span1sh, it wasn't a real crash, it is my assert only. It was added to find some interesting for me cases.
need just comment 87 line in Camera.cpp
king48488, i can't find the problem with questqivers.. maybe it's db problem?
thanks for testing
-
Am I correct in understanding that this new system for the camera can also be used as the basis for doing proper fixes for Eye Of Archerus, Eye of Kilrogg, and other spells that require "remote control" by the character?
yes, you are correct, and it already used in possess, farsight auras
-
I was also wrong about the spells: mind control does work properly for some NPCs but not others; however, this is off-topic.
No, this is not offtopic i have found that problem too. This is some kind of problem related to packet sequence. Strange, but there is no problems for players. Can't solve it yet.
And thanks for testing
Added: problem resolved with my last commit
-
Okey, "Guide - Hot to test my patch and saw the difference betweeen clean core and camera system":
cast 530 spell on player, and then move him from player-controller as far as you can
do the same thing on clean core
and, yes, my patch does almoust nothing will spell system, i'm not spell system guy
Mind control and Eye of Kilrogg are still just as bad as before (get interrupted as soon as you move) Maybe this is because the spells need more work. Didn't test with Eyes of the Beast.Camera - specialized grid object with player-owner, can update visibility of world around viewpoint, capture broadcast packets and send them to owner. Camera can be attached to dynamic object, unit or player.i said that i have fixed aura interrupts? where?
-
-
not related, or related to old system..
this may be will help you to avoid thre crash:
in function void Group::UpdatePlayerOutOfRange(Player* pPlayer) change
- if (player && player != pPlayer && !pPlayer->isVisibleFor(player,player->GetViewPoint()))
+ if (player && player != pPlayer && !player->HaveAtClient(pPlayer))
PS i have not touched old farsight functions, Player::SetFarSightGUID not related to camera system,
use player->GetCamera.SetView instead
Added: patch reuploaded, replaced old farsight functions with new
PS testing still needed
-
yes, capture packets from objects around viewpoint is one of the camera's functions
No, currently it does nothing with cinematic intro. Need know waypoints of that camera, also need know which object used as viewpoint.As far as i know there is no such object (or at least it not visible for client)
One of possible ways: summon invisible unit, attach camera to it, send cinamatic start packet, and then began move unit by some waypoints, but it looks like a hack
-
Very nice. Just wondering: does this has anything to do with grids not being loaded going through a cinematic?
No, currently it does nothing with cinematic intro. Need know waypoints of that camera, also need know which object used as viewpoint.
As far as i know there is no such object (or at least it not visible for client)
-
Grid contains now only pointers to objects, there is not guid keys, so i decide to make a little cleanup
removed Find functions(result of search is null always)
also deleted unused containers(ContainerArrayList, ContainerList etc)
Mind Control Crashing + Dalaran Broke
in OldBug reports
Posted
Sadly, but i can't reproduсe these crashes
You may apply following patch - it almost disables camera functionality. So, if these crashes will gone - crashs caused by camera's SetView function or one of subsequent functions.