From ccb0abb853233e414a1734bf2556f556d4580320 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Thu, 21 Jan 2016 20:19:43 +0000 Subject: [PATCH 01/15] Diagonal ring springs should now be able to face any angle --- src/p_mobj.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index 0f25a865..25ae8815 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -9696,7 +9696,7 @@ void P_SpawnHoopsAndRings(mapthing_t *mthing) // Diagonal rings (handles both types) else if (mthing->type == 602 || mthing->type == 603) // Diagonal rings (5) { - angle_t angle = ANGLE_45 * (mthing->angle/45); + angle_t angle = FixedAngle(mthing->angle*FRACUNIT); mobjtype_t ringthing = MT_RING; INT32 iterations = 5; if (mthing->type == 603) From d76e21b54660c2efec99384538ed90b28eb513e3 Mon Sep 17 00:00:00 2001 From: Inuyasha Date: Thu, 28 Jan 2016 08:15:34 -0800 Subject: [PATCH 02/15] fix bind out of bounds / keystring misreading --- src/console.c | 2 +- src/g_input.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/console.c b/src/console.c index e77c400b..fcac0e6d 100644 --- a/src/console.c +++ b/src/console.c @@ -202,7 +202,7 @@ static void CONS_Bind_f(void) } key = G_KeyStringtoNum(COM_Argv(1)); - if (!key) + if (key <= 0 || key >= NUMINPUTS) { CONS_Alert(CONS_NOTICE, M_GetText("Invalid key name\n")); return; diff --git a/src/g_input.c b/src/g_input.c index f12ddb71..79e6fb94 100644 --- a/src/g_input.c +++ b/src/g_input.c @@ -1042,13 +1042,13 @@ INT32 G_KeyStringtoNum(const char *keystr) if (!keystr[1] && keystr[0] > ' ' && keystr[0] <= 'z') return keystr[0]; + if (!strncmp(keystr, "KEY", 3) && keystr[3] >= '0' && keystr[3] <= '9') + return atoi(&keystr[3]); + for (j = 0; j < NUMKEYNAMES; j++) if (!stricmp(keynames[j].name, keystr)) return keynames[j].keynum; - if (strlen(keystr) > 3) - return atoi(&keystr[3]); - return 0; } From 2e58f6c4d9728569b8e66ac04444fc225fe4ec3a Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Sat, 23 Jan 2016 19:58:57 +0000 Subject: [PATCH 03/15] Fixed that odd bug where PolyObjects sometimes leave a vertex or two in their control sectors Turns out the seg-searching code falsely assumed it'd find frontfacing segs first, who knew? --- src/p_polyobj.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/p_polyobj.c b/src/p_polyobj.c index f790fa76..23e7092b 100644 --- a/src/p_polyobj.c +++ b/src/p_polyobj.c @@ -427,6 +427,8 @@ newseg: // seg's ending vertex. for (i = 0; i < numsegs; ++i) { + if (segs[i].side != 0) // needs to be frontfacing + continue; if (segs[i].v1->x == seg->v2->x && segs[i].v1->y == seg->v2->y) { // Make sure you didn't already add this seg... @@ -593,6 +595,9 @@ static void Polyobj_spawnPolyObj(INT32 num, mobj_t *spawnSpot, INT32 id) seg_t *seg = &segs[i]; INT32 polyID, parentID; + if (seg->side != 0) // needs to be frontfacing + continue; + if (seg->linedef->special != POLYOBJ_START_LINE) continue; From 66175d87b89ee2ef919ad1ef66872f3b96683c16 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Mon, 8 Feb 2016 20:10:32 +0000 Subject: [PATCH 04/15] removed unused macros from doomdef.h --- src/doomdef.h | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 4a6d6e57..e4b426eb 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -206,13 +206,6 @@ extern FILE *logstream; // Note that we use this to help keep internal testing in check; this is why v2.1.0 is not version "1". #define MODVERSION 19 - - - - -// some tests, enable or disable it if it run or not -#define SPLITSCREEN - // ========================================================================= // The maximum number of players, multiplayer/networking. @@ -348,11 +341,7 @@ void CONS_Debug(INT32 debugflags, const char *fmt, ...) FUNCDEBUG; #include "m_swap.h" // Things that used to be in dstrings.h -#define DEVMAPS "devmaps" -#define DEVDATA "devdata" - #define SAVEGAMENAME "srb2sav" - char savegamename[256]; // m_misc.h From 31deecc51c0c920ee00dc98b5a1ba952622a9a98 Mon Sep 17 00:00:00 2001 From: Sryder13 Date: Sun, 26 Jul 2015 20:14:47 +0100 Subject: [PATCH 05/15] Colour Changing MD2s I don't know how I can move my old branch over so I've just created a new one. --- src/hardware/hw_md2.c | 314 +++++++++++++++++++++++++++++++++++++++++- src/hardware/hw_md2.h | 1 + 2 files changed, 312 insertions(+), 3 deletions(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 77795ccc..e15af506 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -41,6 +41,7 @@ #include "../r_things.h" #include "hw_main.h" +#include "../v_video.h" #ifdef HAVE_PNG #ifndef _MSC_VER @@ -881,6 +882,59 @@ static void md2_loadTexture(md2_t *model) HWR_UnlockCachedPatch(grpatch); } +// -----------------+ +// md2_loadBlendTexture : Download a pcx or png texture for blending MD2 models +// -----------------+ +static void md2_loadBlendTexture(md2_t *model) +{ + GLPatch_t *grpatch; + char *filename = Z_Malloc(strlen(model->filename)+7, PU_STATIC, NULL); + strcpy(filename, model->filename); + + FIL_ForceExtension(filename, "_blend.png"); + + if (model->blendgrpatch) + { + grpatch = model->blendgrpatch; + Z_Free(grpatch->mipmap.grInfo.data); + } + else + grpatch = Z_Calloc(sizeof *grpatch, PU_HWRPATCHINFO, + &(model->blendgrpatch)); + + if (!grpatch->mipmap.downloaded && !grpatch->mipmap.grInfo.data) + { + int w = 0, h = 0; +#ifdef HAVE_PNG + grpatch->mipmap.grInfo.format = PNG_Load(filename, &w, &h, grpatch); + if (grpatch->mipmap.grInfo.format == 0) +#endif + grpatch->mipmap.grInfo.format = PCX_Load(filename, &w, &h, grpatch); + if (grpatch->mipmap.grInfo.format == 0) + { + Z_Free(filename); + return; + } + + grpatch->mipmap.downloaded = 0; + grpatch->mipmap.flags = 0; + + grpatch->width = (INT16)w; + grpatch->height = (INT16)h; + grpatch->mipmap.width = (UINT16)w; + grpatch->mipmap.height = (UINT16)h; + + // not correct! + grpatch->mipmap.grInfo.smallLodLog2 = GR_LOD_LOG2_256; + grpatch->mipmap.grInfo.largeLodLog2 = GR_LOD_LOG2_256; + grpatch->mipmap.grInfo.aspectRatioLog2 = GR_ASPECT_LOG2_1x1; + } + HWD.pfnSetTexture(&grpatch->mipmap); // We do need to do this so that it can be cleared and knows to recreate it when necessary + HWR_UnlockCachedPatch(grpatch); + + Z_Free(filename); +} + // Don't spam the console, or the OS with fopen requests! static boolean nomd2s = false; @@ -1050,6 +1104,248 @@ spritemd2found: fclose(f); } +static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, GLMipmap_t *grmip, skincolors_t color) +{ + UINT16 w = gpatch->width, h = gpatch->height; + UINT32 size = w*h; + RGBA_t *image, *blendimage, *cur, blendcolor; + + if (grmip->width == 0) + { + + grmip->width = gpatch->width; + grmip->height = gpatch->height; + + // no wrap around, no chroma key + grmip->flags = 0; + // setup the texture info + grmip->grInfo.format = GR_RGBA; + } + + Z_Free(grmip->grInfo.data); + grmip->grInfo.data = NULL; + + cur = Z_Malloc(size*4, PU_HWRCACHE, &grmip->grInfo.data); + memset(cur, 0x00, size*4); + + image = gpatch->mipmap.grInfo.data; + blendimage = blendgpatch->mipmap.grInfo.data; + + switch (color) + { + case SKINCOLOR_WHITE: + blendcolor = V_GetColor(3); + break; + case SKINCOLOR_SILVER: + blendcolor = V_GetColor(11); + break; + case SKINCOLOR_GREY: + blendcolor = V_GetColor(23); + break; + case SKINCOLOR_BLACK: + blendcolor = V_GetColor(27); + break; + case SKINCOLOR_CYAN: + blendcolor = V_GetColor(216); + break; + case SKINCOLOR_TEAL: + blendcolor = V_GetColor(220); + break; + case SKINCOLOR_STEELBLUE: + blendcolor = V_GetColor(204); + break; + case SKINCOLOR_BLUE: + blendcolor = V_GetColor(234); + break; + case SKINCOLOR_PEACH: + blendcolor = V_GetColor(73); + break; + case SKINCOLOR_TAN: + blendcolor = V_GetColor(49); + break; + case SKINCOLOR_PINK: + blendcolor = V_GetColor(146); + break; + case SKINCOLOR_LAVENDER: + blendcolor = V_GetColor(252); + break; + case SKINCOLOR_PURPLE: + blendcolor = V_GetColor(195); + break; + case SKINCOLOR_ORANGE: + blendcolor = V_GetColor(87); + break; + case SKINCOLOR_ROSEWOOD: + blendcolor = V_GetColor(94); + break; + case SKINCOLOR_BEIGE: + blendcolor = V_GetColor(40); + break; + case SKINCOLOR_BROWN: + blendcolor = V_GetColor(57); + break; + case SKINCOLOR_RED: + blendcolor = V_GetColor(130); + break; + case SKINCOLOR_DARKRED: + blendcolor = V_GetColor(139); + break; + case SKINCOLOR_NEONGREEN: + blendcolor = V_GetColor(184); + break; + case SKINCOLOR_GREEN: + blendcolor = V_GetColor(170); + break; + case SKINCOLOR_ZIM: + blendcolor = V_GetColor(180); + break; + case SKINCOLOR_OLIVE: + blendcolor = V_GetColor(108); + break; + case SKINCOLOR_YELLOW: + blendcolor = V_GetColor(104); + break; + case SKINCOLOR_GOLD: + blendcolor = V_GetColor(115); + break; + + case SKINCOLOR_SUPER1: + blendcolor = V_GetColor(101); + break; + case SKINCOLOR_SUPER2: + blendcolor = V_GetColor(113); + break; + case SKINCOLOR_SUPER3: + blendcolor = V_GetColor(114); + break; + case SKINCOLOR_SUPER4: + blendcolor = V_GetColor(116); + break; + case SKINCOLOR_SUPER5: + blendcolor = V_GetColor(119); + break; + + case SKINCOLOR_TSUPER1: + blendcolor = V_GetColor(80); + break; + case SKINCOLOR_TSUPER2: + blendcolor = V_GetColor(82); + break; + case SKINCOLOR_TSUPER3: + blendcolor = V_GetColor(84); + break; + case SKINCOLOR_TSUPER4: + blendcolor = V_GetColor(85); + break; + case SKINCOLOR_TSUPER5: + blendcolor = V_GetColor(87); + break; + + case SKINCOLOR_KSUPER1: + blendcolor = V_GetColor(122); + break; + case SKINCOLOR_KSUPER2: + blendcolor = V_GetColor(123); + break; + case SKINCOLOR_KSUPER3: + blendcolor = V_GetColor(124); + break; + case SKINCOLOR_KSUPER4: + blendcolor = V_GetColor(125); + break; + case SKINCOLOR_KSUPER5: + blendcolor = V_GetColor(126); + break; + default: + blendcolor = V_GetColor(247); + break; + } + + while (size--) + { + if (blendimage->s.alpha == 0) + { + // Don't bother with blending the pixel if the alpha of the blend pixel is 0 + cur->rgba = image->rgba; + } + else + { + INT32 tempcolor; + INT16 tempmult, tempalpha; + tempalpha = -(abs(blendimage->s.red-127)-127)*2; + if (tempalpha > 255) + tempalpha = 255; + else if (tempalpha < 0) + tempalpha = 0; + + tempmult = (blendimage->s.red-127)*2; + if (tempmult > 255) + tempmult = 255; + else if (tempmult < 0) + tempmult = 0; + + tempcolor = (image->s.red*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.red)/255)) * blendimage->s.alpha)/255; + cur->s.red = (UINT8)tempcolor; + tempcolor = (image->s.green*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.green)/255)) * blendimage->s.alpha)/255; + cur->s.green = (UINT8)tempcolor; + tempcolor = (image->s.blue*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.blue)/255)) * blendimage->s.alpha)/255; + cur->s.blue = (UINT8)tempcolor; + cur->s.alpha = image->s.alpha; + } + + cur++; image++; blendimage++; + } + + return; +} + +static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, const UINT8 *colormap, skincolors_t color) +{ + // mostly copied from HWR_GetMappedPatch, hence the similarities and comment + GLMipmap_t *grmip, *newmip; + + if (colormap == colormaps || colormap == NULL) + { + // Don't do any blending + HWD.pfnSetTexture(&gpatch->mipmap); + return; + } + + // search for the mimmap + // skip the first (no colormap translated) + for (grmip = &gpatch->mipmap; grmip->nextcolormap; ) + { + grmip = grmip->nextcolormap; + if (grmip->colormap == colormap) + { + if (grmip->downloaded && grmip->grInfo.data) + { + HWD.pfnSetTexture(grmip); // found the colormap, set it to the correct texture + Z_ChangeTag(grmip->grInfo.data, PU_HWRCACHE_UNLOCKED); + return; + } + } + } + + // If here, the blended texture has not been created + // So we create it + + //BP: WARNING: don't free it manually without clearing the cache of harware renderer + // (it have a liste of mipmap) + // this malloc is cleared in HWR_FreeTextureCache + // (...) unfortunately z_malloc fragment alot the memory :(so malloc is better + newmip = calloc(1, sizeof (*newmip)); + if (newmip == NULL) + I_Error("%s: Out of memory", "HWR_GetMappedPatch"); + grmip->nextcolormap = newmip; + newmip->colormap = colormap; + + HWR_CreateBlendedTexture(gpatch, blendgpatch, newmip, color); + + HWD.pfnSetTexture(newmip); + Z_ChangeTag(newmip->grInfo.data, PU_HWRCACHE_UNLOCKED); +} + // -----------------+ // HWR_DrawMD2 : Draw MD2 @@ -1180,13 +1476,25 @@ void HWR_DrawMD2(gr_vissprite_t *spr) gpatch = md2->grpatch; if (!gpatch || !gpatch->mipmap.grInfo.format || !gpatch->mipmap.downloaded) md2_loadTexture(md2); - gpatch = md2->grpatch; // Load it again, because it isn't being loaded into gpatch after md2_loadtexture... + if ((gpatch && gpatch->mipmap.grInfo.format) // don't load the blend texture if the base texture isn't available + && (!md2->blendgrpatch || !((GLPatch_t *)md2->blendgrpatch)->mipmap.grInfo.format || !((GLPatch_t *)md2->blendgrpatch)->mipmap.downloaded)) + md2_loadBlendTexture(md2); + if (gpatch && gpatch->mipmap.grInfo.format) // else if meant that if a texture couldn't be loaded, it would just end up using something else's texture { - // This is safe, since we know the texture has been downloaded - HWD.pfnSetTexture(&gpatch->mipmap); + if ((skincolors_t)spr->mobj->color != SKINCOLOR_NONE && + md2->blendgrpatch && ((GLPatch_t *)md2->blendgrpatch)->mipmap.grInfo.format + && gpatch->width == ((GLPatch_t *)md2->blendgrpatch)->width && gpatch->height == ((GLPatch_t *)md2->blendgrpatch)->height) + { + HWR_GetBlendedTexture(gpatch, (GLPatch_t *)md2->blendgrpatch, spr->colormap, (skincolors_t)spr->mobj->color); + } + else + { + // This is safe, since we know the texture has been downloaded + HWD.pfnSetTexture(&gpatch->mipmap); + } } else { diff --git a/src/hardware/hw_md2.h b/src/hardware/hw_md2.h index 0fb486ea..36078268 100644 --- a/src/hardware/hw_md2.h +++ b/src/hardware/hw_md2.h @@ -120,6 +120,7 @@ typedef struct float offset; md2_model_t *model; void *grpatch; + void *blendgrpatch; boolean notfound; INT32 skin; } md2_t; From 6b8c438e583ac5d895e0b4004dec4abca1d0ab40 Mon Sep 17 00:00:00 2001 From: Sryder13 Date: Mon, 3 Aug 2015 02:01:56 +0100 Subject: [PATCH 06/15] Change a few colours. --- src/hardware/hw_md2.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index e15af506..c336e7bb 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1137,37 +1137,37 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, blendcolor = V_GetColor(3); break; case SKINCOLOR_SILVER: - blendcolor = V_GetColor(11); + blendcolor = V_GetColor(10); break; case SKINCOLOR_GREY: - blendcolor = V_GetColor(23); + blendcolor = V_GetColor(15); break; case SKINCOLOR_BLACK: blendcolor = V_GetColor(27); break; case SKINCOLOR_CYAN: - blendcolor = V_GetColor(216); + blendcolor = V_GetColor(215); break; case SKINCOLOR_TEAL: - blendcolor = V_GetColor(220); + blendcolor = V_GetColor(221); break; case SKINCOLOR_STEELBLUE: - blendcolor = V_GetColor(204); + blendcolor = V_GetColor(203); break; case SKINCOLOR_BLUE: - blendcolor = V_GetColor(234); + blendcolor = V_GetColor(232); break; case SKINCOLOR_PEACH: - blendcolor = V_GetColor(73); + blendcolor = V_GetColor(71); break; case SKINCOLOR_TAN: - blendcolor = V_GetColor(49); + blendcolor = V_GetColor(79); break; case SKINCOLOR_PINK: - blendcolor = V_GetColor(146); + blendcolor = V_GetColor(147); break; case SKINCOLOR_LAVENDER: - blendcolor = V_GetColor(252); + blendcolor = V_GetColor(251); break; case SKINCOLOR_PURPLE: blendcolor = V_GetColor(195); @@ -1194,7 +1194,7 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, blendcolor = V_GetColor(184); break; case SKINCOLOR_GREEN: - blendcolor = V_GetColor(170); + blendcolor = V_GetColor(166); break; case SKINCOLOR_ZIM: blendcolor = V_GetColor(180); @@ -1210,23 +1210,23 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, break; case SKINCOLOR_SUPER1: - blendcolor = V_GetColor(101); + blendcolor = V_GetColor(97); break; case SKINCOLOR_SUPER2: - blendcolor = V_GetColor(113); + blendcolor = V_GetColor(100); break; case SKINCOLOR_SUPER3: - blendcolor = V_GetColor(114); + blendcolor = V_GetColor(103); break; case SKINCOLOR_SUPER4: - blendcolor = V_GetColor(116); + blendcolor = V_GetColor(113); break; case SKINCOLOR_SUPER5: - blendcolor = V_GetColor(119); + blendcolor = V_GetColor(116); break; case SKINCOLOR_TSUPER1: - blendcolor = V_GetColor(80); + blendcolor = V_GetColor(81); break; case SKINCOLOR_TSUPER2: blendcolor = V_GetColor(82); From ddb5652ab63c7d8720e1544af364b3252e0c1a9f Mon Sep 17 00:00:00 2001 From: Sean Ryder Date: Wed, 20 Jan 2016 15:55:32 +0000 Subject: [PATCH 07/15] Tabbing --- src/hardware/hw_md2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index c336e7bb..6a315d88 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1107,8 +1107,8 @@ spritemd2found: static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, GLMipmap_t *grmip, skincolors_t color) { UINT16 w = gpatch->width, h = gpatch->height; - UINT32 size = w*h; - RGBA_t *image, *blendimage, *cur, blendcolor; + UINT32 size = w*h; + RGBA_t *image, *blendimage, *cur, blendcolor; if (grmip->width == 0) { From 5d1c8d29685831ac9693f9654a4f135715c1c7fe Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Tue, 9 Feb 2016 19:35:04 +0000 Subject: [PATCH 08/15] My cherry picking somehow lead to these functions being doubled ...whoops --- src/hardware/hw_md2.c | 242 ------------------------------------------ 1 file changed, 242 deletions(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index b71cfb66..6a315d88 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1346,248 +1346,6 @@ static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, con Z_ChangeTag(newmip->grInfo.data, PU_HWRCACHE_UNLOCKED); } -static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, GLMipmap_t *grmip, skincolors_t color) -{ - UINT16 w = gpatch->width, h = gpatch->height; - UINT32 size = w*h; - RGBA_t *image, *blendimage, *cur, blendcolor; - - if (grmip->width == 0) - { - - grmip->width = gpatch->width; - grmip->height = gpatch->height; - - // no wrap around, no chroma key - grmip->flags = 0; - // setup the texture info - grmip->grInfo.format = GR_RGBA; - } - - Z_Free(grmip->grInfo.data); - grmip->grInfo.data = NULL; - - cur = Z_Malloc(size*4, PU_HWRCACHE, &grmip->grInfo.data); - memset(cur, 0x00, size*4); - - image = gpatch->mipmap.grInfo.data; - blendimage = blendgpatch->mipmap.grInfo.data; - - switch (color) - { - case SKINCOLOR_WHITE: - blendcolor = V_GetColor(3); - break; - case SKINCOLOR_SILVER: - blendcolor = V_GetColor(10); - break; - case SKINCOLOR_GREY: - blendcolor = V_GetColor(15); - break; - case SKINCOLOR_BLACK: - blendcolor = V_GetColor(27); - break; - case SKINCOLOR_CYAN: - blendcolor = V_GetColor(215); - break; - case SKINCOLOR_TEAL: - blendcolor = V_GetColor(221); - break; - case SKINCOLOR_STEELBLUE: - blendcolor = V_GetColor(203); - break; - case SKINCOLOR_BLUE: - blendcolor = V_GetColor(232); - break; - case SKINCOLOR_PEACH: - blendcolor = V_GetColor(71); - break; - case SKINCOLOR_TAN: - blendcolor = V_GetColor(79); - break; - case SKINCOLOR_PINK: - blendcolor = V_GetColor(147); - break; - case SKINCOLOR_LAVENDER: - blendcolor = V_GetColor(251); - break; - case SKINCOLOR_PURPLE: - blendcolor = V_GetColor(195); - break; - case SKINCOLOR_ORANGE: - blendcolor = V_GetColor(87); - break; - case SKINCOLOR_ROSEWOOD: - blendcolor = V_GetColor(94); - break; - case SKINCOLOR_BEIGE: - blendcolor = V_GetColor(40); - break; - case SKINCOLOR_BROWN: - blendcolor = V_GetColor(57); - break; - case SKINCOLOR_RED: - blendcolor = V_GetColor(130); - break; - case SKINCOLOR_DARKRED: - blendcolor = V_GetColor(139); - break; - case SKINCOLOR_NEONGREEN: - blendcolor = V_GetColor(184); - break; - case SKINCOLOR_GREEN: - blendcolor = V_GetColor(166); - break; - case SKINCOLOR_ZIM: - blendcolor = V_GetColor(180); - break; - case SKINCOLOR_OLIVE: - blendcolor = V_GetColor(108); - break; - case SKINCOLOR_YELLOW: - blendcolor = V_GetColor(104); - break; - case SKINCOLOR_GOLD: - blendcolor = V_GetColor(115); - break; - - case SKINCOLOR_SUPER1: - blendcolor = V_GetColor(97); - break; - case SKINCOLOR_SUPER2: - blendcolor = V_GetColor(100); - break; - case SKINCOLOR_SUPER3: - blendcolor = V_GetColor(103); - break; - case SKINCOLOR_SUPER4: - blendcolor = V_GetColor(113); - break; - case SKINCOLOR_SUPER5: - blendcolor = V_GetColor(116); - break; - - case SKINCOLOR_TSUPER1: - blendcolor = V_GetColor(81); - break; - case SKINCOLOR_TSUPER2: - blendcolor = V_GetColor(82); - break; - case SKINCOLOR_TSUPER3: - blendcolor = V_GetColor(84); - break; - case SKINCOLOR_TSUPER4: - blendcolor = V_GetColor(85); - break; - case SKINCOLOR_TSUPER5: - blendcolor = V_GetColor(87); - break; - - case SKINCOLOR_KSUPER1: - blendcolor = V_GetColor(122); - break; - case SKINCOLOR_KSUPER2: - blendcolor = V_GetColor(123); - break; - case SKINCOLOR_KSUPER3: - blendcolor = V_GetColor(124); - break; - case SKINCOLOR_KSUPER4: - blendcolor = V_GetColor(125); - break; - case SKINCOLOR_KSUPER5: - blendcolor = V_GetColor(126); - break; - default: - blendcolor = V_GetColor(247); - break; - } - - while (size--) - { - if (blendimage->s.alpha == 0) - { - // Don't bother with blending the pixel if the alpha of the blend pixel is 0 - cur->rgba = image->rgba; - } - else - { - INT32 tempcolor; - INT16 tempmult, tempalpha; - tempalpha = -(abs(blendimage->s.red-127)-127)*2; - if (tempalpha > 255) - tempalpha = 255; - else if (tempalpha < 0) - tempalpha = 0; - - tempmult = (blendimage->s.red-127)*2; - if (tempmult > 255) - tempmult = 255; - else if (tempmult < 0) - tempmult = 0; - - tempcolor = (image->s.red*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.red)/255)) * blendimage->s.alpha)/255; - cur->s.red = (UINT8)tempcolor; - tempcolor = (image->s.green*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.green)/255)) * blendimage->s.alpha)/255; - cur->s.green = (UINT8)tempcolor; - tempcolor = (image->s.blue*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.blue)/255)) * blendimage->s.alpha)/255; - cur->s.blue = (UINT8)tempcolor; - cur->s.alpha = image->s.alpha; - } - - cur++; image++; blendimage++; - } - - return; -} - -static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, const UINT8 *colormap, skincolors_t color) -{ - // mostly copied from HWR_GetMappedPatch, hence the similarities and comment - GLMipmap_t *grmip, *newmip; - - if (colormap == colormaps || colormap == NULL) - { - // Don't do any blending - HWD.pfnSetTexture(&gpatch->mipmap); - return; - } - - // search for the mimmap - // skip the first (no colormap translated) - for (grmip = &gpatch->mipmap; grmip->nextcolormap; ) - { - grmip = grmip->nextcolormap; - if (grmip->colormap == colormap) - { - if (grmip->downloaded && grmip->grInfo.data) - { - HWD.pfnSetTexture(grmip); // found the colormap, set it to the correct texture - Z_ChangeTag(grmip->grInfo.data, PU_HWRCACHE_UNLOCKED); - return; - } - } - } - - // If here, the blended texture has not been created - // So we create it - - //BP: WARNING: don't free it manually without clearing the cache of harware renderer - // (it have a liste of mipmap) - // this malloc is cleared in HWR_FreeTextureCache - // (...) unfortunately z_malloc fragment alot the memory :(so malloc is better - newmip = calloc(1, sizeof (*newmip)); - if (newmip == NULL) - I_Error("%s: Out of memory", "HWR_GetMappedPatch"); - grmip->nextcolormap = newmip; - newmip->colormap = colormap; - - HWR_CreateBlendedTexture(gpatch, blendgpatch, newmip, color); - - HWD.pfnSetTexture(newmip); - Z_ChangeTag(newmip->grInfo.data, PU_HWRCACHE_UNLOCKED); -} - // -----------------+ // HWR_DrawMD2 : Draw MD2 From e43f21cdda4a75dd5ab089316680cdba32c27c33 Mon Sep 17 00:00:00 2001 From: wolfy852 Date: Sat, 13 Feb 2016 17:30:07 -0600 Subject: [PATCH 09/15] Fix dead MF_PAIN objects hurting the player Fixes #12 --- src/p_map.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/p_map.c b/src/p_map.c index 7ff913a8..61d57dcd 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -503,7 +503,7 @@ static boolean PIT_CheckThing(mobj_t *thing) return true; // overhead if (thing->z + thing->height < tmthing->z) return true; // underneath - if (tmthing->player && tmthing->flags & MF_SHOOTABLE) + if (tmthing->player && tmthing->flags & MF_SHOOTABLE && thing->health > 0) P_DamageMobj(tmthing, thing, thing, 1); return true; } @@ -514,7 +514,7 @@ static boolean PIT_CheckThing(mobj_t *thing) return true; // overhead if (tmthing->z + tmthing->height < thing->z) return true; // underneath - if (thing->player && thing->flags & MF_SHOOTABLE) + if (thing->player && thing->flags & MF_SHOOTABLE && tmthing->health > 0) P_DamageMobj(thing, tmthing, tmthing, 1); return true; } From 7c5adacc6f25b19474e56764553f3e6b4523e27d Mon Sep 17 00:00:00 2001 From: Inuyasha Date: Sun, 14 Feb 2016 12:28:03 -0800 Subject: [PATCH 10/15] Fixed chain launching In the process, the stasis flags work like you'd expect them to. You can now set them in Lua or code and they'll actually do something. --- src/p_inter.c | 3 +++ src/p_user.c | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index 709e0e2b..55d36a1d 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -1339,6 +1339,9 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) } else player->pflags |= PF_ITEMHANG; + + // Can't jump first frame + player->pflags |= PF_JUMPSTASIS; return; case MT_BIGMINE: case MT_BIGAIRMINE: diff --git a/src/p_user.c b/src/p_user.c index 96841d7e..da65b7cb 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -6340,8 +6340,7 @@ static void P_MovePlayer(player_t *player) if (!(player->powers[pw_nocontrol] & (1<<15))) player->pflags |= PF_JUMPSTASIS; } - else - player->pflags &= ~PF_FULLSTASIS; + // note: don't unset stasis here if (!player->spectator && G_TagGametype()) { @@ -8928,6 +8927,11 @@ void P_PlayerThink(player_t *player) if (!player->mo) return; // P_MovePlayer removed player->mo. + // Unset statis flags after moving. + // In other words, if you manually set stasis via code, + // it lasts for one tic. + player->pflags &= ~PF_FULLSTASIS; + #ifdef POLYOBJECTS if (player->onconveyor == 1) player->cmomy = player->cmomx = 0; From b258b9b5035252dfbef8f2b7b79ddfdbdf9885cd Mon Sep 17 00:00:00 2001 From: Inuyasha Date: Mon, 22 Feb 2016 01:33:10 -0800 Subject: [PATCH 11/15] remove cpuaffinity code from SDL still exists in DD (while it exists) but no longer saves. No reason whatsoever for affinity to be settable by the game itself. --- src/sdl/i_system.c | 53 ++------------------------------------------- src/win32/win_sys.c | 2 +- 2 files changed, 3 insertions(+), 52 deletions(-) diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index da411153..f239dd03 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -45,9 +45,6 @@ typedef DWORD (WINAPI *p_timeGetTime) (void); typedef UINT (WINAPI *p_timeEndPeriod) (UINT); typedef HANDLE (WINAPI *p_OpenFileMappingA) (DWORD, BOOL, LPCSTR); typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T); -typedef HANDLE (WINAPI *p_GetCurrentProcess) (VOID); -typedef BOOL (WINAPI *p_GetProcessAffinityMask) (HANDLE, PDWORD_PTR, PDWORD_PTR); -typedef BOOL (WINAPI *p_SetProcessAffinityMask) (HANDLE, DWORD_PTR); #endif #endif #include @@ -3070,52 +3067,6 @@ const CPUInfoFlags *I_CPUInfo(void) #endif } -#if (defined (_WIN32) && !defined (_WIN32_WCE)) && !defined (_XBOX) -static void CPUAffinity_OnChange(void); -static consvar_t cv_cpuaffinity = {"cpuaffinity", "-1", CV_SAVE | CV_CALL, NULL, CPUAffinity_OnChange, 0, NULL, NULL, 0, 0, NULL}; - -static p_GetCurrentProcess pfnGetCurrentProcess = NULL; -static p_GetProcessAffinityMask pfnGetProcessAffinityMask = NULL; -static p_SetProcessAffinityMask pfnSetProcessAffinityMask = NULL; - -static inline VOID GetAffinityFuncs(VOID) -{ - HMODULE h = GetModuleHandleA("kernel32.dll"); - pfnGetCurrentProcess = (p_GetCurrentProcess)GetProcAddress(h, "GetCurrentProcess"); - pfnGetProcessAffinityMask = (p_GetProcessAffinityMask)GetProcAddress(h, "GetProcessAffinityMask"); - pfnSetProcessAffinityMask = (p_SetProcessAffinityMask)GetProcAddress(h, "SetProcessAffinityMask"); -} - -static void CPUAffinity_OnChange(void) -{ - DWORD_PTR dwProcMask, dwSysMask; - HANDLE selfpid; - - if (!pfnGetCurrentProcess || !pfnGetProcessAffinityMask || !pfnSetProcessAffinityMask) - return; - else - selfpid = pfnGetCurrentProcess(); - - pfnGetProcessAffinityMask(selfpid, &dwProcMask, &dwSysMask); - - /* If resulting mask is zero, don't change anything and fall back to - * actual mask. - */ - if(dwSysMask & cv_cpuaffinity.value) - { - pfnSetProcessAffinityMask(selfpid, dwSysMask & cv_cpuaffinity.value); - CV_StealthSetValue(&cv_cpuaffinity, (INT32)(dwSysMask & cv_cpuaffinity.value)); - } - else - CV_StealthSetValue(&cv_cpuaffinity, (INT32)dwProcMask); -} -#endif - -void I_RegisterSysCommands(void) -{ -#if (defined (_WIN32) && !defined (_WIN32_WCE)) && !defined (_XBOX) - GetAffinityFuncs(); - CV_RegisterVar(&cv_cpuaffinity); -#endif -} +// note CPUAFFINITY code used to reside here +void I_RegisterSysCommands(void) {} #endif diff --git a/src/win32/win_sys.c b/src/win32/win_sys.c index efb0be46..2babb57b 100644 --- a/src/win32/win_sys.c +++ b/src/win32/win_sys.c @@ -3656,7 +3656,7 @@ const CPUInfoFlags *I_CPUInfo(void) } static void CPUAffinity_OnChange(void); -static consvar_t cv_cpuaffinity = {"cpuaffinity", "1", CV_SAVE | CV_CALL, NULL, CPUAffinity_OnChange, 0, NULL, NULL, 0, 0, NULL}; +static consvar_t cv_cpuaffinity = {"cpuaffinity", "-1", CV_CALL, NULL, CPUAffinity_OnChange, 0, NULL, NULL, 0, 0, NULL}; typedef HANDLE (WINAPI *p_GetCurrentProcess) (VOID); static p_GetCurrentProcess pfnGetCurrentProcess = NULL; From 6dda71bef7d99c9a5fe6184b739c9f79788733a4 Mon Sep 17 00:00:00 2001 From: Inuyasha Date: Mon, 22 Feb 2016 23:05:36 -0800 Subject: [PATCH 12/15] I guess this is becoming the "try to make SDL_mixer work" branch Move InitSubSystem calls into proper places, don't use AUDIO_S16LSB (bad according to SDL_mixer docs) Add error checking --- src/sdl/i_video.c | 16 +++------------- src/sdl/mixer_sound.c | 27 ++++++++++++++++++++++++--- src/sdl/sdl_sound.c | 10 ++++++++++ 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index dbb97f09..963310a2 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1701,21 +1701,11 @@ void I_StartupGraphics(void) keyboard_started = true; #if !defined(HAVE_TTF) -#ifdef _WIN32 // Initialize Audio as well, otherwise Win32's DirectX can not use audio - if (SDL_InitSubSystem(SDL_INIT_AUDIO|SDL_INIT_VIDEO) < 0) -#else //SDL_OpenAudio will do SDL_InitSubSystem(SDL_INIT_AUDIO) + // Previously audio was init here for questionable reasons? if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0) -#endif { -#ifdef _WIN32 - if (SDL_WasInit(SDL_INIT_AUDIO)==0) - CONS_Printf(M_GetText("Couldn't initialize SDL's Audio System with Video System: %s\n"), SDL_GetError()); - if (SDL_WasInit(SDL_INIT_VIDEO)==0) -#endif - { - CONS_Printf(M_GetText("Couldn't initialize SDL's Video System: %s\n"), SDL_GetError()); - return; - } + CONS_Printf(M_GetText("Couldn't initialize SDL's Video System: %s\n"), SDL_GetError()); + return; } #endif { diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c index 71969209..50e50139 100644 --- a/src/sdl/mixer_sound.c +++ b/src/sdl/mixer_sound.c @@ -77,7 +77,16 @@ static INT32 current_track; void I_StartupSound(void) { I_Assert(!sound_started); - sound_started = true; + + // EE inits audio first so we're following along. + if (SDL_WasInit(SDL_INIT_AUDIO) == SDL_INIT_AUDIO) + CONS_Printf("SDL Audio already started\n"); + else if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0) + { + CONS_Alert(CONS_ERROR, "Error initializing SDL Audio: %s\n", SDL_GetError()); + // call to start audio failed -- we do not have it + return; + } midimode = false; music = NULL; @@ -86,19 +95,31 @@ void I_StartupSound(void) #if SDL_MIXER_VERSION_ATLEAST(1,2,11) Mix_Init(MIX_INIT_FLAC|MIX_INIT_MOD|MIX_INIT_MP3|MIX_INIT_OGG); #endif - Mix_OpenAudio(44100, AUDIO_S16LSB, 2, 2048); + + if (Mix_OpenAudio(44100, AUDIO_S16SYS, 2, 2048) < 0) + { + CONS_Alert(CONS_ERROR, "Error starting SDL_Mixer: %s\n", Mix_GetError()); + // call to start audio failed -- we do not have it + return; + } + + sound_started = true; Mix_AllocateChannels(256); } void I_ShutdownSound(void) { - I_Assert(sound_started); + if (!sound_started) + return; // not an error condition sound_started = false; Mix_CloseAudio(); #if SDL_MIXER_VERSION_ATLEAST(1,2,11) Mix_Quit(); #endif + + SDL_QuitSubSystem(SDL_INIT_AUDIO); + #ifdef HAVE_LIBGME if (gme) gme_delete(gme); diff --git a/src/sdl/sdl_sound.c b/src/sdl/sdl_sound.c index 5d6c007b..0face92e 100644 --- a/src/sdl/sdl_sound.c +++ b/src/sdl/sdl_sound.c @@ -1213,6 +1213,16 @@ void I_StartupSound(void) // Configure sound device CONS_Printf("I_StartupSound:\n"); + // EE inits audio first so we're following along. + if (SDL_WasInit(SDL_INIT_AUDIO) == SDL_INIT_AUDIO) + CONS_Printf("SDL Audio already started\n"); + else if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0) + { + CONS_Alert(CONS_ERROR, "Error initializing SDL Audio: %s\n", SDL_GetError()); + // call to start audio failed -- we do not have it + return; + } + // Open the audio device if (M_CheckParm ("-freq") && M_IsNextParm()) { From 8a369d969bc90e4d81adfeb27742f757050f786a Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Thu, 25 Feb 2016 18:28:48 -0500 Subject: [PATCH 13/15] whitespace clean --- CMakeLists.txt | 14 +++++++------- cmake/Modules/FindSDL2.cmake | 2 +- cmake/Modules/FindSDL2_main.cmake | 2 +- cmake/Modules/FindSDL2_mixer.cmake | 2 +- cmake/Modules/LibFindMacros.cmake | 8 ++++---- src/sdl/CMakeLists.txt | 2 +- src/sdl/i_system.c | 7 +++---- 7 files changed, 18 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 59557ef4..a735be00 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,13 +23,13 @@ endfunction() # Macro to add OSX framework macro(add_framework fwname appname) find_library(FRAMEWORK_${fwname} - NAMES ${fwname} - PATHS ${CMAKE_OSX_SYSROOT}/System/Library - ${CMAKE_OSX_SYSROOT}/Library - /System/Library - /Library - PATH_SUFFIXES Frameworks - NO_DEFAULT_PATH) + NAMES ${fwname} + PATHS ${CMAKE_OSX_SYSROOT}/System/Library + ${CMAKE_OSX_SYSROOT}/Library + /System/Library + /Library + ATH_SUFFIXES Frameworks + NO_DEFAULT_PATH) if( ${FRAMEWORK_${fwname}} STREQUAL FRAMEWORK_${fwname}-NOTFOUND) MESSAGE(ERROR ": Framework ${fwname} not found") else() diff --git a/cmake/Modules/FindSDL2.cmake b/cmake/Modules/FindSDL2.cmake index faa556a8..ec9f3835 100644 --- a/cmake/Modules/FindSDL2.cmake +++ b/cmake/Modules/FindSDL2.cmake @@ -1,6 +1,6 @@ # Find SDL2 # Once done, this will define -# +# # SDL2_FOUND - system has SDL2 # SDL2_INCLUDE_DIRS - SDL2 include directories # SDL2_LIBRARIES - link libraries diff --git a/cmake/Modules/FindSDL2_main.cmake b/cmake/Modules/FindSDL2_main.cmake index 280e51e2..d4cbdeb1 100644 --- a/cmake/Modules/FindSDL2_main.cmake +++ b/cmake/Modules/FindSDL2_main.cmake @@ -1,6 +1,6 @@ # Find SDL2 # Once done, this will define -# +# # SDL2_MAIN_FOUND - system has SDL2 # SDL2_MAIN_INCLUDE_DIRS - SDL2 include directories # SDL2_MAIN_LIBRARIES - link libraries diff --git a/cmake/Modules/FindSDL2_mixer.cmake b/cmake/Modules/FindSDL2_mixer.cmake index 59b4823e..9af3e26d 100644 --- a/cmake/Modules/FindSDL2_mixer.cmake +++ b/cmake/Modules/FindSDL2_mixer.cmake @@ -1,6 +1,6 @@ # Find SDL2 # Once done, this will define -# +# # SDL2_MIXER_FOUND - system has SDL2 # SDL2_MIXER_INCLUDE_DIRS - SDL2 include directories # SDL2_MIXER_LIBRARIES - link libraries diff --git a/cmake/Modules/LibFindMacros.cmake b/cmake/Modules/LibFindMacros.cmake index f6800aa7..81fef7d8 100644 --- a/cmake/Modules/LibFindMacros.cmake +++ b/cmake/Modules/LibFindMacros.cmake @@ -123,7 +123,7 @@ function (libfind_process PREFIX) set(includeopts ${${PREFIX}_PROCESS_INCLUDES}) set(libraryopts ${${PREFIX}_PROCESS_LIBS}) - # Process deps to add to + # Process deps to add to foreach (i ${PREFIX} ${${PREFIX}_DEPENDENCIES}) if (DEFINED ${i}_INCLUDE_OPTS OR DEFINED ${i}_LIBRARY_OPTS) # The package seems to export option lists that we can use, woohoo! @@ -146,11 +146,11 @@ function (libfind_process PREFIX) endif() endif() endforeach() - + if (includeopts) list(REMOVE_DUPLICATES includeopts) endif() - + if (libraryopts) list(REMOVE_DUPLICATES libraryopts) endif() @@ -215,7 +215,7 @@ function (libfind_process PREFIX) set (${PREFIX}_LIBRARIES ${libs} PARENT_SCOPE) set (${PREFIX}_FOUND TRUE PARENT_SCOPE) endif() - return() + return() endif() # Format messages for debug info and the type of error diff --git a/src/sdl/CMakeLists.txt b/src/sdl/CMakeLists.txt index eb832797..b3d73452 100644 --- a/src/sdl/CMakeLists.txt +++ b/src/sdl/CMakeLists.txt @@ -57,7 +57,7 @@ if(${SDL2_FOUND}) ${SRB2_SDL2_SOURCES} ${SRB2_SDL2_HEADERS} ) - + source_group("Main" FILES ${SRB2_CORE_SOURCES} ${SRB2_CORE_HEADERS}) source_group("Renderer" FILES ${SRB2_CORE_RENDER_SOURCES}) source_group("Game" FILES ${SRB2_CORE_GAME_SOURCES}) diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index f239dd03..2e9ebbed 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -2756,8 +2756,8 @@ static const char *locateWad(void) if (isWadPathOk(returnWadPath)) return NULL; #endif - - + + #ifdef CMAKECONFIG #ifndef NDEBUG I_OutputMsg(","CMAKE_ASSETS_DIR); @@ -2768,7 +2768,7 @@ static const char *locateWad(void) } #endif #endif - + #ifdef __APPLE__ OSX_GetResourcesPath(returnWadPath); I_OutputMsg(",%s", returnWadPath); @@ -2776,7 +2776,6 @@ static const char *locateWad(void) { return returnWadPath; } - #endif // examine default dirs From 9b55244dc32400a38d2fbbf33aaf7f8ac9446436 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 26 Feb 2016 01:39:08 -0500 Subject: [PATCH 14/15] travis: use SRB2-v2114-assets.7z --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c6a3ce79..de308582 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,8 +24,8 @@ addons: before_script: - mkdir $HOME/srb2_cache - - wget http://rosenthalcastle.org/srb2/SRB2-v2114-Installer.exe -c -O $HOME/srb2_cache/SRB2-v2114-Installer.exe - - 7z x $HOME/srb2_cache/SRB2-v2114-Installer.exe -oassets + - wget http://rosenthalcastle.org/srb2/SRB2-v2114-assets.7z -c -O $HOME/srb2_cache/SRB2-v2114-assets.7z + - 7z x $HOME/srb2_cache/SRB2-v2114-assets.7z -oassets - mkdir build - cd build - cmake .. From 41f8b25c36037270229343316d1ed26edd19c3c6 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 26 Feb 2016 01:48:11 -0500 Subject: [PATCH 15/15] travis: add verbose and server-response to wget --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index de308582..db44edb5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ compiler: cache: directories: - - $HOME/srb2_cache + - $HOME/srb2_cache addons: apt: @@ -24,7 +24,7 @@ addons: before_script: - mkdir $HOME/srb2_cache - - wget http://rosenthalcastle.org/srb2/SRB2-v2114-assets.7z -c -O $HOME/srb2_cache/SRB2-v2114-assets.7z + - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2114-assets.7z -O $HOME/srb2_cache/SRB2-v2114-assets.7z - 7z x $HOME/srb2_cache/SRB2-v2114-assets.7z -oassets - mkdir build - cd build