Jump to content

balrok

Members
  • Posts

    222
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by balrok

  1. i'm not exactly sure what this does, but i think this can configure this systemconfig.h.in file configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/shared/SystemConfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/shared/SystemConfig.h) and thank you for the work - i will test it soon
  2. we play together at the same server and develop there sd2, database and very seldom mangos-stuff (i have my own port at this testserver and can work on my own copy of source) i think they develop there, cause the server which hosts this code is extremely fast and compiling+testing can be done quite well.. also some have poor machines where it's not possible to run mangos and the client at the same time and they don't have to set up the server.. also it's good for sharing the work and people who should test the scripts can be easily invited to this server cause of a static ip and fast computer mh this is every reason i could imagine ^^ it's realy good to have a fast server for such things somewhere in the internet, so i mostly can develop with my laptop and save energy at home edit: today i managed to convert and it was quite easy, i logged in as dbs-user made git clone --bare source mangos.git git clone --bare source/src/bindings/ScriptDev2 sd2.git and now other user have to fetch and push to /home/dbs/sd2.git or /home/dbs/mangos.git i explained to them only "reset" "add" "apply" "push" "fetch" "clone" "commit" "diff" "status" lets see if this new system will work
  3. thank you very much, i realy hoped for this kind of message you're right with the problems you mentioned (we already got them too and if our devs would do more stuff it can be even more problematic) so more repos will be realy much cleaner and the idea with just telling them to fetch+reset and commit+push is also quite good.. cause we only allow one running binary there, the devs have to communicate who will test right now - and therefore it's not so hard to watch out that only one fetches+commits at a time.. (and for more skilled gitusers even that wouldn't be a problem) diskspace is also no problem, i just feared that an own repo for every user would make it to complicated and hoped that for my problem a git solution exists (but you already convinced my, that this solution isn't very good.. when devs will work more, it would only cause problems with dirty working trees)
  4. we have multiple persons who develop at sd2 and core - for that we have one user (dbs in group dbs) who has the mangos-source + binary stored in it all developer are also in the group "dbs" and through that they can write and commit their things in the source + compile mangos (starting the binary is done by a restartscript, which runs at the dbs-user) my problem is, if one user commits his stuff in the source, that the filepermissions of ".git/*" dissallow other users to commit too example: -rwxrwxrwx 1 dbs dbs 317 2009-03-23 12:21 FETCH_HEAD -rw-r--r-- 1 user5 user5 32 2009-03-14 00:37 HEAD drwxrwxrwx 2 dbs dbs 4096 2009-03-09 18:35 hooks maybe thats a bad example cause HEAD isn't maybe so important, but there are also many files in this dir which are owned by a foreign user with rw-r--r (for example the commited revisions) that i chmodded 777 everything shows just my desperation, if i have a solution i will give it better rights ^^ i think the best will be if we can still use this developement system but i also thought about making the source-directory to a repository and every developer push's and pulls from there.. i just don't like this solution so much, cause then i need to explain everyone git - and explaining git to people who don't like reading manpages isn't so easy as telling them to change some stuff, do "git add" and "git commit".. i hope someone has a good idea how to do it, or will just strengthen my idea with a local repository where everybody has to push'n pull
  5. i will be happy too, if cmake will be possible - i like most, that the makefiles are realy readable and understandable with cmake also i could configure mangos in a couple of seconds, the old autotools needed over a minute.. but currently this cmake here doesn't work :-/
  6. i think this patch has to be redone: (or you just have to explain me some parts) + static uint32 abtimer = 0; + abtimer = sConfig.GetIntDefault("AutoBroadcast.Timer", 60000); i don't see the use for static there, also it will be better to save it in a variable like all other configs + static int nextid; + + QueryResult *result; + if(nextid != 0) after declaration without initalisation this variable can have randome-garbage in it, which can cause unexpected results + nextid = result->Fetch()[1].GetUInt8(); + msg = result->Fetch()[0].GetString(); i think this is wrong and must be: Field *fields = result->Fetch(); nextid = fields[1].GetUInt32(); msg = fields[0].GetString(); hope i could help to improve your code
  7. maybe you dont have enough ram^^ cause a bool won't crash your server (besides you use it together with an assert() ^^) if you want help, make a git diff origin/master maybe you'll find your mistake through that too (maybe forgot to remove some debug-code or removed somewhere to much ...) if you run linux you easily can debug it with gdb - this tool is realy helpfull
  8. you must look in src/game/Player.cpp there is a function somewhere LoadFromDB() but i don't know much about loot - so can't help you there
  9. i think the question was, why things like: if(a==4) do(1); if(a==5) do(2); if(a==6) do(3); are used instead of elseif's (if it's clear that a won't change) i guess the compiler can optimize such things until a certain level too but i also could imagine things like this: m_global=1; if(m_global==1) changemglobal(3); if(m_global==2) do(3); i think optimizing those if's wont be so easy for the compiler, cause he needs to look for every functioncall inside this if i think it's better to use "else if" in those parts, it's also better for the reader, cause it makes the code more understandable (cause it's more logic then) (but those are all just my thoughts - and i'm not very skilled with c++/compiler yet)
  10. edit: ahh i think i missunderstood you - you're complaining about: a=5; if(a==4) //do this if(a==5) //do that if(a==6) //unneeded checks better use else -- if you mean this, i think an elseif will be better - and it was just bad codestyle (don't think mangoscode is perfect ) i think c++ compares are lazy - so: if(false && true && true && someimportantfunction()) the important function and all true won't be evaluated cause the first false made the whole comparision false also i think if(false || true || function()) won't evaluate the function too cause i wasn't sure and it's good to know i made this program bool func(int x) { std::cout << x; std::cout << "\\n"; return x<5; } int main() { if(func(10) && func(2)) std::cout << "pass\\n"; if(func(3) || func(11)) std::cout << "pass\\n"; if(false && func(4)) std::cout << "pass\\n"; if(true || func(7)) std::cout << "pass\\n"; return 1; the output was: 10 3 pass pass thats also why it's possible to do BattleGround* bg=plr->GetBattleGround(); if(bg && bg->isArena()) it stops if bg is a NULL-pointer - if it would continue after the NULLpointer the server would crash.. but it won't continue after this..
  11. patchfeature: removes unneeded newline-chars at end of logstrings - in most logcases this is done already bugreport: i guess no author: balrok found those lines with: ack -i log | ack '\\\\n' (ack is a buggy but fast grep-replacement) but replaced those newlines all by hand to make sure to not replace the wrong ones patch can be read here: http://mangos-files.eu/patches/?file=newline.patch and downloaded here: http://mangos-files.eu/patches/newline.patch and - sWorldLog.Log ("%.2X ", (*new_pct)[p++]); + sWorldLog.Log ("%.2X", (*new_pct)[p++]); removed a trailing whitespace from the log
  12. feature of this patch: if you enqueue for a battleground, the minimap-icon for horde was allways the arena-icon this patch displays now the faction-icon bugthread: none author: balrok through this patch "israted" and "team" aren't needed for the function anymore, so i removed them also i added m_starttime in battleground::update() which is needed for GetStarttime, and which is often used for the battlegroundstatuspacket (but as the packet is right, i think the client wont display the starttime correctly - maybe the packet order somewhere is wrong) my patch can be found here: http://github.com/balrok/mangos/tree/bgstatuspacket downloadlink for patch: http://mangos-files.eu/patches/bgqueueicon.patch also additional an unk discovered: can be merged into this patch too
  13. what does this fix? in this branch i removed doubled and unneeded includes from the files bugreports: no - it wasn't a bug author: balrok i did those things by some (nonintelligent) text-grepping helper-scripts but had to change many things by hand to.. i think the only thing which needs to be tested is, if it compiles - and under gcc it still works.. (so i haven't tested it ingame or could test it with other compilers) it would be great to have an intelligent script for this (best would be if this script will be provided by gcc itself ) branch can be found here: http://github.com/balrok/mangos/commits/cleanup_includes i don't know if this will have realy use - taking the time from with-patch and without-patch haven't shown big differences :-/ (my first intention with this patch)
  14. what bug does this patch fix: for lvl70 bg-queues (queue_id=6) this function returns always 255 bugreports: none author: balrok this bug doesn't affect the game itself - cause the function isn't used in mangos-0.12 but for other custom-patch writer it's better that this gets repaired in mangos/master this function totaly changed - so its a mangos-0.12 bug only diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 90b5d11..7fa0f8a 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -17930,7 +17930,7 @@ uint32 Player::GetMinLevelForBattleGroundQueueId(uint32 queue_id) uint32 Player::GetMaxLevelForBattleGroundQueueId(uint32 queue_id) { - if(queue_id >=6) + if(queue_id >=7) return 255; // hardcoded max level return 10*(queue_id+2)-1;
  15. hello, i know now how it's possible to use genrevision and Systemconfig.h.in for generating other things (looked a bit at trinity ) my cmakelists looks like this: http://mangos-files.eu/patches/cmake/CMakeLists.txt i get this error when make compiles ace: http://mangos-files.eu/patches/cmake/error i managed to compile until linking everything with the patch at the end of error2: http://mangos-files.eu/patches/cmake/error2 but as you see, there still is a problem with my custom-change somebody can tell me how ./dep/ACE_wrappers/ace/config.h and ./config.h will be created? i don't understand much about those makefiles/automake - but maybe this hint will help writing the cmakelists (*still hoping someone skilled with cmake will finish this* )
  16. i know there is a command ".debug arena" which sets arena-requirement to 1v1 but i think you only can play a rated match if you are already in a group (else you won't see the button - i guess it's a clientlimitation, which you can only pass through creating a group (the 2nd member can be offline)) but for playing unrated, i think it will work my idea for a solution for rated arena-matches would be to create a command like ".addgroup" which adds a player (can be offline) to your group - but i don't know how this could be done - nor i know if this will be a good solution (i'm looking for a 1v1-rated arena-solution too )
  17. hello, just want to note, that the graveyard-bug was caused through alteracvalley and the latest battleground-changes and i also want to thank you for your great work (+ the explanation - i don't understand a bit from this code^^)
  18. i can do it to it's updated now i only did a testcompile and no ingamecheck, but i guess it will run |-) edit: i looked at the av-mergeconflict if you want to solve it, just remove every line with "<<<<<" or ">>>>" or "====" and you're fine.. this conflict is very trivial
  19. problem: if you target a player and type .levelup 10 then the sysmessage will show a strangelooking playerlink - which is caused through a double applied playerlink revision: 51e840d author: balrok getnamelink(plr*) creates a namelink from player and some lines down this "std::string nameLink = playerLink(name);" is used too diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 51e840d..ec2bd95 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -3852,7 +3852,7 @@ bool ChatHandler::HandleLevelUpCommand(const char* args) return false; } - name = GetNameLink(chr); + name = chr->GetName(); } assert(chr || chr_guid);
  20. i got a different one (: made a group ally vs ally ingame the last i can see is: 15seconds till start crash with a bit log: 18:17:06 --- Winner rating: 1499, Loser rating: 1500, Winner change: 16, Losser change: 4294967280 --- 18:17:06 rating change: 16 18:17:06 rating change: -16 18:17:06 AchievementMgr::UpdateAchievementCriteria(15, 1, 0, 0) 18:17:06 BattleGroundQueue: Removing player GUID 20, from queue_id 6 18:17:06 BattleGroundQueue: Removing player GUID 21, from queue_id 6 18:17:06 BattleGroundQueue: Removing player GUID 7, from queue_id 6 Program received signal SIGSEGV, Segmentation fault. [switching to Thread 0x42003950 (LWP 14055)] 0x0000000000765e19 in BattleGroundQueue::BGEndedRemoveInvites (this=0x22cdcd0, bg=0x2aaab4408040) at ../../../src/game/BattleGroundMgr.cpp:406 406 if( ginfo->IsInvitedToBGInstanceGUID == bgInstanceId ) (gdb) bt #0 0x0000000000765e19 in BattleGroundQueue::BGEndedRemoveInvites (this=0x22cdcd0, bg=0x2aaab4408040) at ../../../src/game/BattleGroundMgr.cpp:406 #1 0x0000000000a3ff6e in BattleGround::EndBattleGround (this=0x2aaab4408040, winner=67) at ../../../src/game/BattleGround.cpp:571 #2 0x0000000000a4b7c6 in BattleGroundBE::Update (this=0x2aaab4408040, diff=90) at ../../../src/game/BattleGroundBE.cpp:98 #3 0x00000000007647ef in BattleGroundMgr::Update (this=0x22c9b90, diff=90) at ../../../src/game/BattleGroundMgr.cpp:1053 #4 0x0000000000a0f80b in World::Update (this=0xface00, diff=90) at ../../../src/game/World.cpp:1546 #5 0x0000000000747104 in WorldRunnable::run (this=0x6d34600) at ../../../src/mangosd/WorldRunnable.cpp:65 #6 0x00002b31fceb039b in ZThread::ThreadImpl::Dispatch (parent=0xf891c0, impl=0x1c85640, task=@0x42003100) at ../../../../dep/src/zthread/ThreadImpl.cxx:407 #7 0x00002b31fceb08c6 in run (this=0x7fffaec7cbc0) at ../../../../dep/src/zthread/ThreadImpl.cxx:49 #8 0x00002b31fceb616e in _dispatch (arg=0x42002c10) at ../../../../dep/src/zthread/posix/ThreadOps.cxx:137 #9 0x00002b31fd0c93f7 in start_thread () from /lib/libpthread.so.0 #10 0x00002b31fdb52b3d in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () i don't know if it matters, but i made a lvl70 vs lvl70 match (those teams can be created at lvl80 and then i leveledup -10 to 70) also the loser team was built some minutes before the match started - the winnerteam is older.. also the loser team joined first edit: i noticed that i forgot to join the arena with the other team - so both teams were queued but only one player from the winning team joined the match.. more debug:
  21. i'm not 100% sure, but i think you have to search in BattleGroundMgr.cpp for "// if arena, enable horde versus horde or alliance versus alliance teams here" and delete everything under this.. until the function ends this will enable horde vs alliance only if you only want horde-horde or ally-ally matches for arena you have to go to if ((bAllyOK && bHordeOK) || ( sBattleGroundMgr.isTesting() && (bAllyOK || bHordeOK))) and replace it with if ((bAllyOK && bHordeOK && !bg_template->isArena()) || ( sBattleGroundMgr.isTesting() && (bAllyOK || bHordeOK)))
  22. i like the console way with vim very much.. i have ssh-access to a very fast computer somewhere in the internet and can code, compile and debug there very easy.. this is good, if i only want to use my laptop - cause compiling with the laptop will take 5times as long.. but i think you have to decide which editor/debugger to use, at least you must feel comfortable with it..
  23. for which revision: 7300 what does it fix: currently it's possible to equip an ammo_pouch together with a quiver... this increases speed of the bow/gun and i think this shouldn't be possible author: balrok this is untested yet, but if there exists no weird subclasses, i think this should be ok, cause i only removed the subclass check.. diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 4da09e2..3bb2823 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -9928,8 +9928,7 @@ uint8 Player::CanEquipItem( uint8 slot, uint16 &dest, Item *pItem, bool swap, bo { if( ItemPrototype const* pBagProto = pBag->GetProto() ) { - if( pBagProto->Class==pProto->Class && pBagProto->SubClass==pProto->SubClass && - (!swap || pBag->GetSlot() != eslot ) ) + if( pBagProto->Class==pProto->Class && (!swap || pBag->GetSlot() != eslot ) ) { if(pBagProto->SubClass == ITEM_SUBCLASS_AMMO_POUCH) return EQUIP_ERR_CAN_EQUIP_ONLY1_AMMOPOUCH;
  24. i think the problems should be fixed now - at least one problem is fixed.. after this i could capture halaa and see one guard walking around - more isn't tested by me yet (~: i also removed the "fillinitworldstates" call from outdoorpvpmgr - i think it isn't needed and would send the same data twice, but if you don't see the mapicons of those outdoorpvp-objectives anymore, just post here then i revert it..
  25. so now i could test if this patch doesn't crash and fixed many things ^^ but now it looks quite good its also possible now to create and join into a bg .bg create 1 2 - will create alterac valley bg for levelrange 61-70 (currently not correct displayed, but this is not the problem of this patch) .bg join [shift-link of the above output] lets you then join the bg or .bg end 2 [shift-link] lets you stop this bg i think bg create and bg join are a bit hacky yet and maybe you can let your server crash somehow with this - but for short testings, it was ok.. if someone has problems with them please post here and try to describe as exactly as possible, what you've done. also if someone has other ideas which bg commands are needed, post it here too ---- edit newest version is now in bg_commands2 changes are: normalization of commands-sql, move .debug arena back on its place added a nice color for the shiftlinks the bglist command shows now arenateamname and arenateamrating for arenas new parameter for .bg join, you now can specify your team too (but i think i missuse it at the moment) i also added some ideas to .bg join - which i think i won't implement and .bg join/.bg create are still experimental - i will create an extracommit for both commands so that another dev can decide if those commands should go to core or not.. i won't develop more on those commands.. (yet)
×
×
  • 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