Jump to content

jolan

Members
  • Posts

    54
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by jolan

  1. mangos does not need patching to use a scripting lib. the scripting lib is loaded at runtime using a fixed name in lib search patch (wich include mangos install dir on linux and windows) . SD2's patch is a build patch, to allow building mangos and sd2 in one step. it does not modify mangos itself. if SD2 were using "universal" dir instead of "ScriptDev2" i think it would not need patching to achieve one step building.

    SD2 shall be compilable from the outside world

    theoretically a lib could be built w/o mangos, even if this would be difficult, as it would have to includes lots of mangos headers. providing a mangos scriptlib dev package with required headers would ease that. but I don't think it worth the pain.

  2. I'm playing with it, no guarantee it will lead to something useful. I dont have much time to spend at coding.

    I explore a zone and portal concept, where the grid is sliced into connected free-move zones (rectangles with no obstacles). Hopefully this could lead to acceptable live A*, perhaps better random movement too.

    I'll post more info if/when I have something useable.

  3. I'm looking for the best way to acces an object, which is basicaly an box, given an XYZ position.

    I have thousands of non-overlapping boxes per grid, I tried G3D's AABSPTree , played with several balance() parameters, but I dont get one box per leaf. Instead I get a node with several, sometime hundreds of boxes. I think AABSPTree is not the right class to use here.

    I'm looking for fast search, insertion time is not that important.

    I think perhaps R-Tree would do the job...

    what do you think ? do you know a better option ? do you know a good c++ GPL implementation ?

  4. about phases : I think there are two kind of phases :

    - phased in/out GOs or NPCs which can only be seen by player having [not] accomplished a quest. for this kind of phase, a quest_phase field would be necessary (negative would indicate the unit/go is visible by player not having accomplished the quest)

    - temporary phased players, which can only see phased go/units/players with the same phase, this would need a temp_phase field. how the player get the temp phase is to be determined (possibly by script)

  5. I think thenecromancer's patch fix the symptom , not the cause, furthermore SendMonsterMove() is frequently called, adding logic to it will add load to mangos and may produce unexpected effects.

    This patch is more correct IMHO :

    Patch for 0.12 branch

    From ffc224b254e1c43d84ebad9f1a8467fb5e21094e Mon Sep 17 00:00:00 2001
    From: JoLan <[email protected]>
    Date: Fri, 16 Jan 2009 09:12:07 +0100
    Subject: [PATCH] Fix player walking at the end of some flying transports
    
    ---
    src/game/WaypointMovementGenerator.cpp |    3 +--
    1 files changed, 1 insertions(+), 2 deletions(-)
    
    diff --git a/src/game/WaypointMovementGenerator.cpp b/src/game/WaypointMovementGenerator.cpp
    index 6406148..7e88469 100644
    --- a/src/game/WaypointMovementGenerator.cpp
    +++ b/src/game/WaypointMovementGenerator.cpp
    @@ -258,8 +258,7 @@ void FlightPathMovementGenerator::Finalize(Player & player)
            player.getHostilRefManager().setOnlineOfflineState(true);
            if(player.pvpInfo.inHostileArea)
                player.CastSpell(&player, 2479, true);
    -
    -        player.SetUnitMovementFlags(MOVEMENTFLAG_WALK_MODE);
    +        
            player.StopMoving();
        }
    }
    -- 
    1.6.0.2
    

  6. "Phases support" ? "player dependant" ?

    I dont understand what you are talking about.

    this patch implement server-wide (realm dependant) events such as shattered sun offensive plot line, it's realm dependant, players are supposed to contribute in order to get the realm to switch to the next phase. the whole concept is player independent. are you talking about something else ?

  7. Fixed .reload creature_questrelation and .reload gameobject_questrelation

    This doesn't make game_event_creature_quest or game_event_gameobject_quest reloadable, but game-events quest relations loaded at startup will be re-added to the list after reload

    I didn't test .reload gameobject_questrelation nor serverwide-master , report any issue

    there may be other .reload commands problems, I didn't check this yet.

    You may have noticed that 'serverwide' branch is no more up-to-date, pull either serverwide-0.12 or serverwide-master

  8. tried the viewer on ubuntu (with mmaps from the readme link), I obtain a window with nothing else than a ligtblue color. any idea ?

    $ ./mmap-viewer 0 31 31
    Now reading /home/joseph/Bureau/EchangeUbuntu/Data-2.4.3-2/vmaps/000_31_31.vmap
    Setting position to 16791.9 43.4075 16623.9 
    Red iNMoveMapBoxes : 120
    Red iNTreeNodes : 49
    load done.

    [edit] nevermind, sorted it out...

  9. about voicechat : it's supposed to be a separate server software, not related to the core and perhaps not on the same server (the core and the voicechat server must communicate though) so multithread / multiprocess of the core wouldn't help for this.

  10. What bug does the patch fix? What features does the patch add?

    Adds implicit target 40 handling

    For which SubVersion revision was the patch created?

    7b640b3a4a0dc6208365c3d01a54ecc85feb2973

    I bet implicit target 40 is for GOs and TARGET_SCRIPT (38) is for creatures.

    it's not 100% true in my DB ( UDB ) but I think it could be handled this way, there may be a creature that can be targeted when a GO is used with TARGET_SCRIPT.

    anyway I coded it exactly like TARGET_SCRIPT (mostly to be compatible with DBs) so think of it as an alias of it.

    patch : http://pastebin.ca/1246627

  11. What bug does the patch fix? What features does the patch add?

    Fix non-lootable GOs by delaying cast item destroy

    For which SubVersion revision was the patch created?

    7b640b3a4a0dc6208365c3d01a54ecc85feb2973

    Is there a thread in the bug report section? If yes, please add a link to the thread.

    didn't find any

    Note:

    I don't know if this is an open door for cast item duplication hacks. item is destroyed at DoLootRelease(). if a player is able to bypass this function, then he can loot and keep the cast item.

    - loot release is triggered by LogoutPlayer() , is it called when a player disconnect ?

    - a player can't trade an item when looting, but perhaps he can manipulate client-server protocol to filter CMSG_LOOT_RELEASE and then trade the cast item before releasing.

    patch : http://pastebin.ca/1246608

  12. I think commit description is self-explanatory, these files spam git status

    From bdba463f121cf7572f4e79b2769cb13f147bf3db Mon Sep 17 00:00:00 2001
    From: JoLan <[email protected]>
    Date: Fri, 31 Oct 2008 15:14:03 +0100
    Subject: [PATCH] Added ".DS_Store" to .gitignore
    
    these files are MacOS per-directory display prefs
    ---
    .gitignore |    5 +++++
    1 files changed, 5 insertions(+), 0 deletions(-)
    
    diff --git a/.gitignore b/.gitignore
    index 3bb0872..4e93ed2 100644
    --- a/.gitignore
    +++ b/.gitignore
    @@ -62,3 +62,8 @@ callgrind.out.*
    #
    
    bin/*
    +
    +# OS specific
    +# MacOS
    +.DS_Store
    +
    -- 
    1.5.4.3
    

  13. Here is what I do , there are other ways to do it (git apply is perhaps simpler), that is my peronal choice because i'm used to fix failed patches applied with "patch".

    I assume you have a correctly set up local git repository.

    if you want the latest mangos before applying :

    git pull

    apply the patch itlelf

    patch -p0 < the_patch_file.patch

    - fix what went wrong here -

    ask git which files were changed/added:

    git status

    if there are added files related to the patch, tell git to handle them:

    git add src/game/NewFileA.cpp
    git add sql/updates/NewDirectory

    commit the change to your local repository in order to have a clean one (-a tells git to commit every updated files):

    git commit -a -m "added xyz patch"

    the patch is now a commit in your repository, you can export it as a git patch, temporary revert it easily etc.

    the next time you want tu update mangos (with git pull), the patch will be automatically "rebased" which mean that it will be reverted, then mangos will be updated, then the patch will be re-applied. worst case : re-applying fails, in which case you get a clean mangos without the patch (you will have to either fix the patch or abort it)

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