Jump to content

SilverIce

Members
  • Posts

    68
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by SilverIce

  1. 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.

    diff --git a/src/game/Camera.cpp b/src/game/Camera.cpp
    index 2c37b15..a95be5e 100644
    --- a/src/game/Camera.cpp
    +++ b/src/game/Camera.cpp
    @@ -39,6 +39,9 @@ void Camera::SetView(WorldObject *obj)
    {
        ASSERT(obj);
    
    +    m_owner.SetUInt64Value(PLAYER_FARSIGHT, (obj == &m_owner ? 0 : obj->GetGUID()));
    +    return;
    +
        if (m_source == obj)
            return;
    

  2. 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;
    

  3. 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?

  4. 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 :P

    btw, movement flags shouldn't be changed into Object::BuildMovementUpdate(i mean those flags must be initialized in another place)

  5. 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..

  6. 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

  7. 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

  8. 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?

  9. 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

  10. 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

  11. 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)

×
×
  • 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