From 86d4bace1de4a4f479a9d67f8d16ac55bd8fb60c Mon Sep 17 00:00:00 2001 From: terminx Date: Wed, 6 Feb 2008 03:49:35 +0000 Subject: [PATCH] git-svn-id: https://svn.eduke32.com/eduke32@608 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/build/src/engine.c | 11 +++++++++-- polymer/build/src/mdsprite.c | 2 +- polymer/build/src/winlayer.c | 4 ++++ polymer/eduke32/source/jaudiolib/multivoc.c | 13 +++++++++++-- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/polymer/build/src/engine.c b/polymer/build/src/engine.c index 5ff43d935..780d43c52 100644 --- a/polymer/build/src/engine.c +++ b/polymer/build/src/engine.c @@ -6753,6 +6753,12 @@ int loadboard(char *filename, char fromwhere, int *daposx, int *daposy, int *dap sprite[i].lotag = B_LITTLE16(sprite[i].lotag); sprite[i].hitag = B_LITTLE16(sprite[i].hitag); sprite[i].extra = B_LITTLE16(sprite[i].extra); + + if(sprite[i].sectnum<0||sprite[i].sectnum>=MYMAXSECTORS) + { + initprintf("Map error: sprite #%d(%d,%d) with wrong sector(%d)\n",i,sprite[i].x,sprite[i].y,sprite[i].sectnum); + sprite[i].sectnum=MYMAXSECTORS-1; + } } for (i=0;iowner].mdanimcur) != anim->startframe || (spriteext[tspr->owner].flags & SPREXT_NOMDANIM))) + if (anim && (((int)spriteext[tspr->owner].mdanimcur) != anim->startframe)) { //if (spriteext[tspr->owner].flags & SPREXT_NOMDANIM) OSD_Printf("SPREXT_NOMDANIM\n"); //OSD_Printf("smooth launched ! oldanim %i new anim %i\n", spriteext[tspr->owner].mdanimcur, anim->startframe); diff --git a/polymer/build/src/winlayer.c b/polymer/build/src/winlayer.c index cf443182c..ce3fc6aae 100644 --- a/polymer/build/src/winlayer.c +++ b/polymer/build/src/winlayer.c @@ -57,6 +57,7 @@ static BOOL window_class_registered = FALSE; static HANDLE instanceflag = NULL; int backgroundidle = 1; +int is_vista = 0; static WORD sysgamma[3][256]; extern int curbrightness, gammabrightness; @@ -476,7 +477,10 @@ static void print_os_version(void) break; } if (osv.dwMajorVersion == 6 && osv.dwMinorVersion == 0) + { ver = "Vista"; + is_vista = 1; + } break; case VER_PLATFORM_WIN32_WINDOWS: diff --git a/polymer/eduke32/source/jaudiolib/multivoc.c b/polymer/eduke32/source/jaudiolib/multivoc.c index 460d9fcee..da015724f 100644 --- a/polymer/eduke32/source/jaudiolib/multivoc.c +++ b/polymer/eduke32/source/jaudiolib/multivoc.c @@ -134,8 +134,8 @@ int MV_ErrorCode = MV_Ok; void ClearBuffer_DW(void *ptr, int data, int length) { - int *pptr = ptr; - for (; length>0; length--) *(pptr++) = data; + int *pptr = ptr; + for (; length>0; length--) *(pptr++) = data; } @@ -254,6 +254,15 @@ static unsigned MV_GetBufferSize(unsigned samplerate) lastsr = samplerate; lastbufsz = (samplerate*BASEBUFSZ/22050)&(~15); +#ifdef RENDERTYPEWIN + { + extern int is_vista; + + if (is_vista) + lastbufsz = (samplerate*BASEBUFSZ/22050*2)&(~15); + } +#endif + return lastbufsz; }