diff --git a/polymer/eduke32/build/include/pragmas_x86_gcc.h b/polymer/eduke32/build/include/pragmas_x86_gcc.h index 64cc9f435..37541be74 100644 --- a/polymer/eduke32/build/include/pragmas_x86_gcc.h +++ b/polymer/eduke32/build/include/pragmas_x86_gcc.h @@ -451,16 +451,9 @@ void copybufreverse(const void *S, void *D, int32_t c); : "a" (__a), "d" (__d), "S" (__S), "D" (__D) : "ebx", "cc"); \ __d; }) -#define readpixel(D) \ - ({ void *__D=(D); int32_t __a; \ - __asm__ __volatile__ ("movb (%%edi), %%al" \ - : "=a" (__a): "D" (__D) : "cc"); \ - __a; }) -#define drawpixel(D,a) \ - ({ void *__D=(D); int32_t __a=(a); \ - __asm__ __volatile__ ("movb %%al, (%%edi)" \ - : : "D" (__D), "a" (__a) : "memory", "cc"); \ - 0; }) +FORCE_INLINE char readpixel(void *s) { return *(char *)s; } +FORCE_INLINE void drawpixel(void *s, char a) { *(char *)s = a; } + #define clearbuf(D,c,a) \ ({ void *__D=(D); int32_t __c=(c), __a=(a); \ __asm__ __volatile__ ("rep; stosl" \ diff --git a/polymer/eduke32/build/include/pragmas_x86_msvc.h b/polymer/eduke32/build/include/pragmas_x86_msvc.h index 14328fbc7..6207da205 100644 --- a/polymer/eduke32/build/include/pragmas_x86_msvc.h +++ b/polymer/eduke32/build/include/pragmas_x86_msvc.h @@ -82,22 +82,8 @@ static __inline int32_t dmulscale32(int32_t a, int32_t d, int32_t S, int32_t D) } } -static __inline char readpixel(void *d) -{ - _asm { - mov edx, d - mov al, byte ptr[edx] - } -} - -static __inline void drawpixel(void *d, char a) -{ - _asm { - mov edx, d - mov al, a - mov byte ptr[edx], al - } -} +static __inline char readpixel(void *s) { return *(char *)s; } +static __inline void drawpixel(void *s, char a) { *(char *)s = a; } static __inline void clearbuf(void *d, int32_t c, int32_t a) {