-
Posts
2033 -
Joined
-
Last visited
-
Days Won
71 -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Bug Comments posted by madmax
-
-
Changed Status to Awaiting Feedback
Changed Version to 22.1
Changed Implemented Version to Unset
Changed Milestone to 22
-
Changed Implemented Version to Unset
Changed Milestone to 22
Changed Type to Core
-
Changed Status to Not a bug
Changed Priority to Normal
Changed Category to Minor
-
Changed Version to 22.1
Changed Implemented Version to Unset
Changed Milestone to 22
Changed Category to Item
-
Changed Status to Confirmed
Changed Implemented Version to Unset
Changed Milestone to 22
Changed Priority to Normal
Changed Category to Quest
-
Changed Status to Awaiting Feedback
Changed Implemented Version to Unset
Changed Milestone to 22
Changed Priority to Normal
Changed Category to Quest
-
Changed Status to Awaiting Feedback
Changed Implemented Version to Unset
Changed Milestone to 22
Changed Priority to Normal
-
Quote
By FuryWar (5,285 – 1·5·64) on 2011/11/01 (Patch 4.2.2) After a little experimentation tonight, it looks like the guards will react to each emote you do towards them...
1- /Wave: Guard will wave back.
2- /Rude: Guard will point at you in a "stern" manner as if he's telling you to "keep it civil".
3- /Salute: Guard will dutifully return a sharp salute.
I couldn't get them to react to any other emotes I tried.. (Was kinda hoping they might laugh if I told them a joke! ;-) )http://www.wowhead.com/npc=5595/ironforge-guard#comments:id=1559317
-
Changed Status to Awaiting Feedback
-
Changed Priority to Normal
Changed Category to Code Enhancement
-
No feedback, considering this fixed.
-
Changed Status to Awaiting Feedback
Changed Priority to Normal
-
Changed Status to Confirmed
Changed Version to 21.11 (Current Dev21)
Changed Implemented Version to Unset
Changed Milestone to 22
Changed Priority to Normal
Changed Category to Minor
-
Changed Related to to Event System Overhaul
-
-
diff --git a/dep/include/g3dlite/G3D/AtomicInt32.h b/dep/include/g3dlite/G3D/AtomicInt32.h index 2d63f99..9a5722d 100644 --- a/dep/include/g3dlite/G3D/AtomicInt32.h +++ b/dep/include/g3dlite/G3D/AtomicInt32.h @@ -76,13 +76,8 @@ public: # elif defined(G3D_LINUX) || defined(G3D_FREEBSD) - int32 old; - asm volatile ("lock; xaddl %0,%1" - : "=r"(old), "=m"(m_value) /* outputs */ - : "0"(x), "m"(m_value) /* inputs */ - : "memory", "cc"); - return old; - + return __sync_fetch_and_add(&m_value, 1); + # elif defined(G3D_OSX) int32 old = m_value; @@ -115,14 +110,7 @@ public: // Note: returns the newly decremented value return InterlockedDecrement(&m_value); # elif defined(G3D_LINUX) || defined(G3D_FREEBSD) - unsigned char nz; - - asm volatile ("lock; decl %1;\n\t" - "setnz %%al" - : "=a" (nz) - : "m" (m_value) - : "memory", "cc"); - return nz; + return __sync_sub_and_fetch(&m_value, 1); # elif defined(G3D_OSX) // Note: returns the newly decremented value return OSAtomicDecrement32(&m_value); @@ -142,7 +130,9 @@ public: int32 compareAndSet(const int32 comperand, const int32 exchange) { # if defined(G3D_WIN32) return InterlockedCompareExchange(&m_value, exchange, comperand); -# elif defined(G3D_LINUX) || defined(G3D_FREEBSD) || defined(G3D_OSX) +# elif defined(G3D_LINUX) || defined(G3D_FREEBSD) + return __sync_val_compare_and_swap(&m_value, comperand, exchange); +# elif defined(G3D_OSX) // Based on Apache Portable Runtime // http://koders.com/c/fid3B6631EE94542CDBAA03E822CA780CBA1B024822.aspx int32 ret; diff --git a/dep/include/g3dlite/G3D/platform.h b/dep/include/g3dlite/G3D/platform.h index c6018bb..985301a 100644 --- a/dep/include/g3dlite/G3D/platform.h +++ b/dep/include/g3dlite/G3D/platform.h @@ -270,8 +270,13 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) {\ # ifndef __stdcall # define __stdcall # endif +# elif defined(__arm__) + + // CDECL does not apply to arm. +# define __cdecl # endif // calling conventions + /** @def G3D_CHECK_PRINTF_METHOD_ARGS() Enables printf parameter validation on gcc. */ # define G3D_CHECK_PRINTF_METHOD_ARGS __attribute__((__format__(__printf__, 2, 3))) diff --git a/dep/src/g3dlite/System.cpp b/dep/src/g3dlite/System.cpp index ce190d0..a4cfab2 100644 --- a/dep/src/g3dlite/System.cpp +++ b/dep/src/g3dlite/System.cpp @@ -524,8 +524,11 @@ static bool checkForCPUID() { // all known supported architectures have cpuid // add cases for incompatible architectures if they are added // e.g., if we ever support __powerpc__ being defined again - +#if defined(__arm__) + return false; +#else return true; +#endif } @@ -1730,6 +1733,14 @@ void System::cpuid(CPUIDFunction func, uint32& eax, uint32& ebx, uint32& ecx, ui edx = 0; } +#elif defined(G3D_LINUX) && defined(__arm__) +// non-x86 CPU; no CPUID, at least in userspace +void System::cpuid(CPUIDFunction func, uint32& eax, uint32& ebx, uint32& ecx, uint32& edx) { + eax = 0; + ebx = 0; + ecx = 0; + edx = 0; +} #else // See http://sam.zoy.org/blog/2007-04-13-shlib-with-non-pic-code-have-inline-assembly-and-pic-mix-well
diff --git a/src/shared/ByteBuffer.h b/src/shared/ByteBuffer.h index fdb423f..4561bca 100644 --- a/src/shared/ByteBuffer.h +++ b/src/shared/ByteBuffer.h @@ -545,7 +545,13 @@ class ByteBuffer { if(pos + sizeof(T) > size()) throw ByteBufferException(false, pos, sizeof(T), size()); +#if defined(__arm__) || defined(_M_ARM) + //memcpy to avoid alignment issues + T val; + memcpy((void*)&val,(void*)&_storage[pos],sizeof(T)); +#else T val = *((T const*)&_storage[pos]); +#endif EndianConvert(val); return val; } diff --git a/src/shared/Database/SQLStorageImpl.h b/src/shared/Database/SQLStorageImpl.h index 8e3768a..c9e434b 100644 --- a/src/shared/Database/SQLStorageImpl.h +++ b/src/shared/Database/SQLStorageImpl.h @@ -27,6 +27,13 @@ template<class DerivedLoader, class StorageClass> template<class S, class D> // S source-type, D destination-type void SQLStorageLoaderBase<DerivedLoader, StorageClass>::convert(uint32 /*field_pos*/, S src, D& dst) { +#if defined(__arm__) || defined(_M_ARM) + if(((unsigned)&dst)%sizeof(D)){ + //address not aligned. Use memcpy to avoid unaligned trap + D converted(src); + memcpy((void*) &dst,(void*) &converted,sizeof(D)); + }else +#endif dst = D(src); } @@ -58,6 +65,13 @@ template<class DerivedLoader, class StorageClass> template<class D> // D destination-type void SQLStorageLoaderBase<DerivedLoader, StorageClass>::convert_from_str(uint32 /*field_pos*/, char const* /*src*/, D& dst) { +#if defined(__arm__) || defined(_M_ARM) + if(((unsigned)&dst)%sizeof(D)){ + //address not aligned. Use memcpy to avoid unaligned trap + D converted(0); + memcpy((void*) &dst,(void*) &converted,sizeof(D)); + }else +#endif dst = 0; } @@ -65,6 +79,13 @@ template<class DerivedLoader, class StorageClass> template<class S, class D> // S source-type, D destination-type void SQLStorageLoaderBase<DerivedLoader, StorageClass>::default_fill(uint32 /*field_pos*/, S src, D& dst) { +#if defined(__arm__) || defined(_M_ARM) + if(((unsigned)&dst)%sizeof(D)){ + //address not aligned. Use memcpy to avoid unaligned trap + D converted(src); + memcpy((void*) &dst,(void*) &converted,sizeof(D)); + }else +#endif dst = D(src); }
-
Changed Implemented Version to Unset
Changed Milestone to 21
Changed Type to Game Event
-
Quest was added in patch 3.3 according to wowhead, so it might need removing from TBC realm, investigation into this is needed.
-
Changed Status to In Progress
Changed Assigned to H0zen
Changed Version to 22.1
Changed Implemented Version to Unset
Changed Milestone to 21
- 1
-
This is a known issue and will be fixed as soon as we finish rewriting the entire transports system.
This is a duplicate of issue:
And thus being closed.
-
1 hour ago, Necrovoice said:
Lady Sylvanas is pleased.
She must be very pleased lol
-
Changed Status to Confirmed
Changed Implemented Version to Unset
Changed Milestone to 21
Changed Priority to Urgent
-
Confirmed this affects Covenant-wow.com as well.
-
autoattack issue
-
-
-
-
-
in Mangos Zero
Posted
Changed Version to 22.1
Changed Implemented Version to Unset
Changed Milestone to 22