Kobiesan

Members
  • Content Count

    10
  • Joined

  • Last visited

Posts posted by Kobiesan


  1. I get this error when compiling my TC eluna core on linux. Any ideas?
     

    [ 42%] Linking CXX executable authserver
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(jemalloc.c.o): relocation R_X86_64_32S against undefined symbol `je_sz_size2index_tab' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(large.c.o): relocation R_X86_64_32S against undefined symbol `je_sz_size2index_tab' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(log.c.o): relocation R_X86_64_32 against undefined symbol `je_log_var_names' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(malloc_io.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(mutex.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(pages.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(prof.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(rtree.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(stats.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(sz.c.o): relocation R_X86_64_32S against undefined symbol `je_sz_pind2sz_tab' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(tcache.c.o): relocation R_X86_64_32S against undefined symbol `je_sz_index2size_tab' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(tsd.c.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(witness.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(arena.c.o): relocation R_X86_64_32S against symbol `je_dss_prec_names' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(background_thread.c.o): relocation R_X86_64_32 against undefined symbol `je_background_thread_lock' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(base.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(bin.c.o): relocation R_X86_64_32S against undefined symbol `je_bin_infos' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(ckh.c.o): relocation R_X86_64_32S against undefined symbol `je_sz_size2index_tab' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(ctl.c.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(extent.c.o): relocation R_X86_64_32S against undefined symbol `je_arenas' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: ../../../dep/jemalloc/libjemalloc.a(hook.c.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: final link failed: Nonrepresentable section on output
    collect2: error: ld returned 1 exit status
    src/server/authserver/CMakeFiles/authserver.dir/build.make:208: recipe for target 'src/server/authserver/authserver' failed
    make[2]: *** [src/server/authserver/authserver] Error 1
    CMakeFiles/Makefile2:1436: recipe for target 'src/server/authserver/CMakeFiles/authserver.dir/all' failed
    make[1]: *** [src/server/authserver/CMakeFiles/authserver.dir/all] Error 2
    Makefile:127: recipe for target 'all' failed
    make: *** [all] Error 2

     


  2. 2 hours ago, wungasaurus said:

    That code seems to be doing MPQ and filename stuff. Based on the function inputs one could actually say but probably either

    - your MPQ is corrupt

    - a filename in some ADT is utter bogus and thus breaking name lookup in the MPQ

    and my intuition says the latter. I‘d check the doodad related chunks in that ADT.

    Is this saying it's the swampofsorrows swampplant model that's doing it? Swampplant04 is a blizzlike Elwynn model.

    image.thumb.png.27788131ad82ee20839db64f3191d72d.png

     

    Edit: Solved the problem. There was a model with a broken file name in the adt that I fixed via 010editor.


  3. 3 hours ago, wungasaurus said:

    Maybe find out what the extractor crashes on. Otherwise nobody can help. Running it in a debugger and looking at the backtracks of the crash should help.

    It breaks here 

    OPdH8jv.png

    And opening in debugger I get this:

    image.thumb.png.1260ad6198b4e3f6470c925a96c5ad93.png

     

    Edit: I've found that the generator can generate vmaps for every one of my ADTs except Azeroth_31_50.adt which is where the Fargodeep Mine is. I'll provide the link to the ADT if anyone would be kind enough to download it and help me find what on this tile is breaking the generator.

    azeroth_31_50.adt


  4. On 1/21/2019 at 8:55 AM, Roarl said:

    Maybe give the player the spell but don't script anything linked with it. Like if you are giving that buff to race = RACE_TAUREN, just check for race == RACE_TAUREN instead of HasAura... Maybe that's kind of hackish though I don't know... And if you want this to be some spell you can learn, then, yeah, it also defeats the purpose.

    It's for a racial switcher so it needs to be available to all races.


  5. I'm trying to recreate the Pandaren racial on 3.3.5a TrinityCore to give double rested experience and I made these edits to player.cpp but the rest bar is not increasing anymore than a normal character without the spell. I'm inclined to believe there's an interface limitation for rest exp growth on the bar. Can anyone help?

    OmunFlp.png

    Red indicates what I've changed

    From Player::Update in player.cpp - https://pastebin.com/CE8pU0Ft

    1. if (HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING))
    2.     {
    3.         if (roll_chance_i(3) && _restTime > 0)      // freeze update
    4.         {
    5.             time_t currTime = GameTime::GetGameTime();
    6.             time_t timeDiff = currTime - _restTime;
    7.             if (timeDiff >= 10)                             // freeze update
    8.             {
    9.                 _restTime = currTime;
    10.  
    11.                 float bubble;
    12.                 if (HasSpell(90168)) // If has Inner Peace give double rest exp.
    13.                 {
    14.                     bubble = 0.125f * sWorld->getRate(RATE_REST_INGAME) * 2;
    15.                 }
    16.                 else
    17.                 {
    18.                     bubble = 0.125f * sWorld->getRate(RATE_REST_INGAME);
    19.                 }
    20.                 float extraPerSec = ((float)GetUInt32Value(PLAYER_NEXT_LEVEL_XP) / 72000.0f) * bubble;
    21.  
    22.                 // speed collect rest bonus (section/in hour)
    23.                 float currRestBonus = GetRestBonus();
    24.                 SetRestBonus(currRestBonus + timeDiff * extraPerSec);
    25.             }
    26.         }
    27.     }

    From Player::LoadFromDB in player.cpp - https://pastebin.com/Ac72z4b8

    1. if (time_diff > 0)
    2.     {
    3.         //speed collect rest bonus in offline, in logout, far from tavern, city (section/in hour)
    4.         float bubble0;
    5.         //speed collect rest bonus in offline, in logout, in tavern, city (section/in hour)
    6.         float bubble1;
    7.         // If has Inner Peace give double rest exp.
    8.         if (HasSpell(90168))
    9.         {
    10.             bubble0 = .062f;
    11.             bubble1 = .25f;
    12.         }
    13.         else
    14.         {
    15.             bubble0 = 0.031f;
    16.             bubble1 = 0.125f;
    17.         }
    18.         float bubble = fields[28].GetUInt8() > 0
    19.             ? bubble1*sWorld->getRate(RATE_REST_OFFLINE_IN_TAVERN_OR_CITY)
    20.             : bubble0*sWorld->getRate(RATE_REST_OFFLINE_IN_WILDERNESS);
    21.  
    22.         SetRestBonus(GetRestBonus() + time_diff*((float)GetUInt32Value(PLAYER_NEXT_LEVEL_XP) / 72000)*bubble);
    23.     }

    From Player::GetXPRestBonus in player.cpp - https://pastebin.com/KC0KKKDC

    1. uint32 Player::GetXPRestBonus(uint32 xp)
    2. {
    3.    uint32 rested_bonus = (uint32)GetRestBonus();           // xp for each rested bonus
    4.  
    5.     if (rested_bonus > xp)                                   // max rested_bonus == xp or (r+x) = 200% xp
    6.         rested_bonus = xp;
    7.  
    8.     SetRestBonus(GetRestBonus() - rested_bonus);
    9.  
    10.     TC_LOG_DEBUG("entities.player", "Player::GetXPRestBonus: Player '%s' (%s) gain %u xp (+%u Rested Bonus). Rested points=%f", GetGUID().ToString().c_str(), GetName().c_str(), xp + rested_bonus, rested_bonus, GetRestBonus());
    11.     return HasSpell(90168) ? rested_bonus * 2 : rested_bonus;
    12. }

     

    Additionally, I've tried making direct edits to the bubble variable by removing the rate.rest variables from the equations and putting in exactly the rate that I want and still there is no difference between a player who has the spell and who doesn't.