Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2.git into sonicitems

# Conflicts:
#	src/g_game.c
#	src/v_video.c
This commit is contained in:
toaster 2018-08-26 12:42:55 +01:00
commit 08a23d7b87
15 changed files with 1327 additions and 870 deletions

View File

@ -57,49 +57,6 @@ matrix:
- gcc-4.8 - gcc-4.8
compiler: gcc-4.8 compiler: gcc-4.8
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- p7zip-full
- gcc-4.9
compiler: gcc-4.9
#gcc-4.9 (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- p7zip-full
- gcc-5
compiler: gcc-5
#gcc-5 (Ubuntu 5.3.0-3ubuntu1~14.04) 5.3.0 20151204
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- p7zip-full
- gcc-6
compiler: gcc-6
env: WFLAGS="-Wno-tautological-compare"
#gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511
- os: linux - os: linux
addons: addons:
apt: apt:

View File

@ -8,7 +8,7 @@
UINT8 cdaudio_started = 0; UINT8 cdaudio_started = 0;
consvar_t cd_volume = {"cd_volume","31",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cd_volume = {"cd_volume","18",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
consvar_t cdUpdate = {"cd_update","1",CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cdUpdate = {"cd_update","1",CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL};

View File

@ -50,7 +50,7 @@ static boolean wasPlaying;
static int cdVolume=0; // current cd volume (0-31) static int cdVolume=0; // current cd volume (0-31)
// 0-31 like Music & Sfx, though CD hardware volume is 0-255. // 0-31 like Music & Sfx, though CD hardware volume is 0-255.
consvar_t cd_volume = {"cd_volume","31",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cd_volume = {"cd_volume","18",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
// allow Update for next/loop track // allow Update for next/loop track
// some crap cd drivers take up to // some crap cd drivers take up to

View File

@ -1087,7 +1087,7 @@ INT32 R_ColormapNumForName(char *name)
extra_colormaps[num_extra_colormaps].fadecolor = 0x0; extra_colormaps[num_extra_colormaps].fadecolor = 0x0;
extra_colormaps[num_extra_colormaps].maskamt = 0x0; extra_colormaps[num_extra_colormaps].maskamt = 0x0;
extra_colormaps[num_extra_colormaps].fadestart = 0; extra_colormaps[num_extra_colormaps].fadestart = 0;
extra_colormaps[num_extra_colormaps].fadeend = 33; extra_colormaps[num_extra_colormaps].fadeend = 31;
extra_colormaps[num_extra_colormaps].fog = 0; extra_colormaps[num_extra_colormaps].fog = 0;
num_extra_colormaps++; num_extra_colormaps++;
@ -1115,7 +1115,7 @@ INT32 R_CreateColormap(char *p1, char *p2, char *p3)
size_t mapnum = num_extra_colormaps; size_t mapnum = num_extra_colormaps;
size_t i; size_t i;
UINT32 cr, cg, cb, maskcolor, fadecolor; UINT32 cr, cg, cb, maskcolor, fadecolor;
UINT32 fadestart = 0, fadeend = 33, fadedist = 33; UINT32 fadestart = 0, fadeend = 31, fadedist = 31;
#define HEX2INT(x) (UINT32)(x >= '0' && x <= '9' ? x - '0' : x >= 'a' && x <= 'f' ? x - 'a' + 10 : x >= 'A' && x <= 'F' ? x - 'A' + 10 : 0) #define HEX2INT(x) (UINT32)(x >= '0' && x <= '9' ? x - '0' : x >= 'a' && x <= 'f' ? x - 'a' + 10 : x >= 'A' && x <= 'F' ? x - 'A' + 10 : 0)
if (p1[0] == '#') if (p1[0] == '#')
@ -1156,12 +1156,12 @@ INT32 R_CreateColormap(char *p1, char *p2, char *p3)
// Get parameters like fadestart, fadeend, and the fogflag // Get parameters like fadestart, fadeend, and the fogflag
fadestart = NUMFROMCHAR(p2[3]) + (NUMFROMCHAR(p2[2]) * 10); fadestart = NUMFROMCHAR(p2[3]) + (NUMFROMCHAR(p2[2]) * 10);
fadeend = NUMFROMCHAR(p2[5]) + (NUMFROMCHAR(p2[4]) * 10); fadeend = NUMFROMCHAR(p2[5]) + (NUMFROMCHAR(p2[4]) * 10);
if (fadestart > 32) if (fadestart > 30)
fadestart = 0; fadestart = 0;
if (fadeend > 33 || fadeend < 1) if (fadeend > 31 || fadeend < 1)
fadeend = 33; fadeend = 31;
fadedist = fadeend - fadestart; fadedist = fadeend - fadestart;
fog = NUMFROMCHAR(p2[1]) ? 1 : 0; fog = NUMFROMCHAR(p2[1]);
} }
#undef getnum #undef getnum
@ -1262,7 +1262,7 @@ void R_CreateColormap2(char *p1, char *p2, char *p3)
size_t i; size_t i;
char *colormap_p; char *colormap_p;
UINT32 cr, cg, cb, maskcolor, fadecolor; UINT32 cr, cg, cb, maskcolor, fadecolor;
UINT32 fadestart = 0, fadeend = 33, fadedist = 33; UINT32 fadestart = 0, fadeend = 31, fadedist = 31;
#define HEX2INT(x) (UINT32)(x >= '0' && x <= '9' ? x - '0' : x >= 'a' && x <= 'f' ? x - 'a' + 10 : x >= 'A' && x <= 'F' ? x - 'A' + 10 : 0) #define HEX2INT(x) (UINT32)(x >= '0' && x <= '9' ? x - '0' : x >= 'a' && x <= 'f' ? x - 'a' + 10 : x >= 'A' && x <= 'F' ? x - 'A' + 10 : 0)
if (p1[0] == '#') if (p1[0] == '#')
@ -1303,12 +1303,12 @@ void R_CreateColormap2(char *p1, char *p2, char *p3)
// Get parameters like fadestart, fadeend, and the fogflag // Get parameters like fadestart, fadeend, and the fogflag
fadestart = NUMFROMCHAR(p2[3]) + (NUMFROMCHAR(p2[2]) * 10); fadestart = NUMFROMCHAR(p2[3]) + (NUMFROMCHAR(p2[2]) * 10);
fadeend = NUMFROMCHAR(p2[5]) + (NUMFROMCHAR(p2[4]) * 10); fadeend = NUMFROMCHAR(p2[5]) + (NUMFROMCHAR(p2[4]) * 10);
if (fadestart > 32) if (fadestart > 30)
fadestart = 0; fadestart = 0;
if (fadeend > 33 || fadeend < 1) if (fadeend > 31 || fadeend < 1)
fadeend = 33; fadeend = 31;
fadedist = fadeend - fadestart; fadedist = fadeend - fadestart;
fog = NUMFROMCHAR(p2[1]) ? 1 : 0; fog = NUMFROMCHAR(p2[1]);
} }
#undef getnum #undef getnum

View File

@ -37,6 +37,9 @@
// Quincunx antialiasing of flats! // Quincunx antialiasing of flats!
//#define QUINCUNX //#define QUINCUNX
// good night sweet prince
#define SHITPLANESPARENCY
//SoM: 3/23/2000: Use Boom visplane hashing. //SoM: 3/23/2000: Use Boom visplane hashing.
#define MAXVISPLANES 512 #define MAXVISPLANES 512
@ -769,7 +772,11 @@ void R_DrawSinglePlane(visplane_t *pl)
else // Opaque, but allow transparent flat pixels else // Opaque, but allow transparent flat pixels
spanfunc = splatfunc; spanfunc = splatfunc;
if (pl->extra_colormap && pl->extra_colormap->fog) #ifdef SHITPLANESPARENCY
if (spanfunc == splatfunc || (pl->extra_colormap && pl->extra_colormap->fog))
#else
if (!pl->extra_colormap || !(pl->extra_colormap->fog & 2))
#endif
light = (pl->lightlevel >> LIGHTSEGSHIFT); light = (pl->lightlevel >> LIGHTSEGSHIFT);
else else
light = LIGHTLEVELS-1; light = LIGHTLEVELS-1;
@ -823,7 +830,11 @@ void R_DrawSinglePlane(visplane_t *pl)
else // Opaque, but allow transparent flat pixels else // Opaque, but allow transparent flat pixels
spanfunc = splatfunc; spanfunc = splatfunc;
if (pl->extra_colormap && pl->extra_colormap->fog) #ifdef SHITPLANESPARENCY
if (spanfunc == splatfunc || (pl->extra_colormap && pl->extra_colormap->fog))
#else
if (!pl->extra_colormap || !(pl->extra_colormap->fog & 2))
#endif
light = (pl->lightlevel >> LIGHTSEGSHIFT); light = (pl->lightlevel >> LIGHTSEGSHIFT);
else else
light = LIGHTLEVELS-1; light = LIGHTLEVELS-1;

View File

@ -1086,7 +1086,7 @@ static void R_SplitSprite(vissprite_t *sprite, mobj_t *thing)
else else
*/ */
if (!((thing->frame & (FF_FULLBRIGHT|FF_TRANSMASK) || thing->flags2 & MF2_SHADOW) if (!((thing->frame & (FF_FULLBRIGHT|FF_TRANSMASK) || thing->flags2 & MF2_SHADOW)
&& (!newsprite->extra_colormap || !newsprite->extra_colormap->fog))) && (!newsprite->extra_colormap || !(newsprite->extra_colormap->fog & 1))))
{ {
lindex = FixedMul(sprite->xscale, FixedDiv(640, vid.width))>>(LIGHTSCALESHIFT); lindex = FixedMul(sprite->xscale, FixedDiv(640, vid.width))>>(LIGHTSCALESHIFT);
@ -1469,7 +1469,7 @@ static void R_ProjectSprite(mobj_t *thing)
vis->transmap = transtables + (thing->frame & FF_TRANSMASK) - 0x10000; vis->transmap = transtables + (thing->frame & FF_TRANSMASK) - 0x10000;
if (((thing->frame & FF_FULLBRIGHT) || (thing->flags2 & MF2_SHADOW)) if (((thing->frame & FF_FULLBRIGHT) || (thing->flags2 & MF2_SHADOW))
&& (!vis->extra_colormap || !vis->extra_colormap->fog)) && (!vis->extra_colormap || !(vis->extra_colormap->fog & 1)))
{ {
// full bright: goggles // full bright: goggles
vis->colormap = colormaps; vis->colormap = colormaps;

View File

@ -78,7 +78,7 @@ consvar_t stereoreverse = {"stereoreverse", "Off", CV_SAVE, CV_OnOff, NULL, 0, N
static consvar_t precachesound = {"precachesound", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; static consvar_t precachesound = {"precachesound", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
// actual general (maximum) sound & music volume, saved into the config // actual general (maximum) sound & music volume, saved into the config
consvar_t cv_soundvolume = {"soundvolume", "31", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_soundvolume = {"soundvolume", "18", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_digmusicvolume = {"digmusicvolume", "18", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_digmusicvolume = {"digmusicvolume", "18", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
//consvar_t cv_midimusicvolume = {"midimusicvolume", "18", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; //consvar_t cv_midimusicvolume = {"midimusicvolume", "18", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
// number of channels available // number of channels available

File diff suppressed because it is too large Load Diff

View File

@ -1,425 +1,213 @@
/* XPM */ /* XPM */
static char * C:\Repo\srb2\src\sdl\SDL_icon_xpm[] = { static const char *SDL_icon_xpm[] = {
"32 32 390 2", /* columns rows colors chars-per-pixel */
" c None", "32 32 175 2 ",
". c #4F4F70", " c None",
"+ c #4D4D87", ". c #2E2E2E",
"@ c #4D4D84", "X c #3C3C3C",
"# c #4E4E6C", "o c #493939",
"$ c #6C6C95", "O c #4E473F",
"% c #5E5EB2", "+ c #161658",
"& c #6B6BE7", "@ c #131369",
"* c #7373F9", "# c #06067B",
"= c #7C7CFF", "$ c #111173",
"- c #6F70E7", "% c #16167F",
"; c #494BB2", "& c #252567",
"> c #4F4FA3", "* c #372B7C",
", c #6464D4", "= c #3D3679",
"' c #7979F5", "- c #41414A",
") c #5F5FCA", "; c #575655",
"! c #5D5D93", ": c #6A5841",
"~ c #3A3A9F", "> c #5B4B72",
"{ c #6060AC", ", c #616160",
"] c #777793", "< c #7B7B7B",
"^ c #5C5CB3", "1 c #906E49",
"/ c #7373EA", "2 c #89685D",
"( c #7A7AFF", "3 c #A67B4A",
"_ c #7575FF", "4 c #AA7F50",
": c #7979FF", "5 c #9B7560",
"< c #6264DD", "6 c #856C78",
"[ c #47478C", "7 c #997B7D",
"} c #564567", "8 c #B48552",
"| c #4647D0", "9 c #BA8A55",
"1 c #5C5CAE", "0 c #A48665",
"2 c #5E5EFF", "q c #B98F67",
"3 c #2929FF", "w c #B9946A",
"4 c #1D1DFF", "e c #B7937A",
"5 c #1919D1", "r c #C8955C",
"6 c #4F4F90", "t c #CA9966",
"7 c #1E1ECE", "y c #DAA469",
"8 c #5858FF", "u c #C9A37B",
"9 c #6767A8", "i c #D7AB7B",
"0 c #4949A0", "p c #DFB07D",
"a c #7070FB", "a c #EBAE6A",
"b c #7D7DFF", "s c #E5B27A",
"c c #7777FF", "d c #F1B779",
"d c #7373FF", "f c #0A0A83",
"e c #7272FF", "g c #05058B",
"f c #7878FF", "h c #060687",
"g c #6465D8", "j c #101089",
"h c #363886", "k c #131382",
"i c #9F7655", "l c #040494",
"j c #C89B5C", "z c #02029D",
"k c #1D1CB7", "x c #0C0B9C",
"l c #3031B1", "c c #120F9E",
"m c #1919F4", "v c #19199B",
"n c #1111FF", "b c #382D84",
"o c #1818FF", "n c #39398D",
"p c #1B1BFF", "m c #222296",
"q c #1C1CFF", "M c #0101A6",
"r c #2626B3", "N c #0A0AA2",
"s c #1E1EC8", "B c #0202AC",
"t c #1A1AE8", "V c #1919A2",
"u c #24249F", "C c #1616AD",
"v c #2F2FD2", "Z c #0000B5",
"w c #7676FF", "A c #0202BC",
"x c #6869E2", "S c #0C0CB6",
"y c #414290", "D c #1313B3",
"z c #8C6751", "F c #1011BD",
"A c #FCBA68", "G c #1B1BBE",
"B c #E9BD7D", "H c #2B2BAC",
"C c #201EB8", "J c #3737A1",
"D c #090AB8", "K c #2A26BE",
"E c #1616EB", "L c #2A29B4",
"F c #1818FD", "P c #3B3BB8",
"G c #1414EE", "I c #48478B",
"H c #1010E1", "U c #57578A",
"I c #0E0EE2", "Y c #4A499A",
"J c #0E0EF4", "T c #524F95",
"K c #0606B2", "R c #565399",
"L c #7A7A89", "E c #4C4CA8",
"M c #0C0C9A", "W c #524DA7",
"N c #0A0AA7", "Q c #5353A4",
"O c #2424E4", "! c #5555A9",
"P c #6669E6", "~ c #5555B4",
"Q c #4F4A8F", "^ c #5656B7",
"R c #BF853B", "/ c #6464A6",
"S c #FFD98D", "( c #6F67B5",
"T c #CDAB76", ") c #0404C3",
"U c #1717C4", "_ c #0707CA",
"V c #0F10BA", "` c #1414CB",
"W c #0909B6", "' c #1A1AC6",
"X c #0505C3", "] c #0A0AD3",
"Y c #0000B6", "[ c #0D0DDC",
"Z c #0000BE", "{ c #1A1AD4",
"` c #0000AD", "} c #1010DF",
" . c #1D1D83", "| c #1E1EDE",
".. c #63638E", " . c #1817DE",
"+. c #090975", ".. c #221FCA",
"@. c #1414F3", "X. c #2B2BCC",
"#. c #5B5BFF", "o. c #2727C9",
"$. c #7B7BFF", "O. c #3434C3",
"%. c #7070FF", "+. c #3434D4",
"&. c #6E6EFF", "@. c #0F0FE2",
"*. c #7172F6", "#. c #1313E5",
"=. c #625DAF", "$. c #1515ED",
"-. c #BA9E6C", "%. c #1B1BEA",
";. c #887167", "&. c #1C1CE4",
">. c #090DF2", "*. c #1515F4",
",. c #1313BE", "=. c #1818F3",
"'. c #000085", "-. c #1717FD",
"). c #0000AC", ";. c #1818FF",
"!. c #0202AA", ":. c #2B2BE9",
"~. c #242488", ">. c #2424FF",
"{. c #1414C7", ",. c #2A2AFF",
"]. c #1717FF", "<. c #2222F1",
"^. c #5959FF", "1. c #3737FF",
"/. c #7F7FFF", "2. c #5D5DC3",
"(. c #7474FF", "3. c #5F5FC9",
"_. c #7171FF", "4. c #5655C2",
":. c #8686FF", "5. c #4747D1",
"<. c #7574FF", "6. c #5B5BD4",
"[. c #797CFF", "7. c #6565C8",
"}. c #5756B8", "8. c #6363DA",
"|. c #1C19A4", "9. c #4545FF",
"1. c #1617FF", "0. c #4D4DFC",
"2. c #1212BD", "q. c #5454FF",
"3. c #040485", "w. c #5959FF",
"4. c #0707A4", "e. c #6969E5",
"5. c #1B1B71", "r. c #6B6CEA",
"6. c #373797", "t. c #6666E7",
"7. c #1616FF", "y. c #6B6BFE",
"8. c #5050FF", "u. c #6767F8",
"9. c #8080FF", "i. c #7070F6",
"0. c #AAAAFF", "p. c #7373FF",
"a. c #AEAEF6", "a. c #7C7CFF",
"b. c #8A8AEF", "s. c #91918F",
"c. c #6969FB", "d. c #8F9090",
"d. c #2728FF", "f. c #979797",
"e. c #1314FF", "g. c #9C9C9C",
"f. c #1919FF", "h. c #8585A1",
"g. c #1313E8", "j. c #9C9CA7",
"h. c #1F1FF4", "k. c #9292B6",
"i. c #5454FF", "l. c #A4A4A4",
"j. c #6D6DF0", "z. c #BDB2A4",
"k. c #6868B5", "x. c #A4A4B1",
"l. c #0B0BB8", "c. c #BFBFBD",
"m. c #1212C5", "v. c #BABAB7",
"n. c #1616FC", "b. c #C8AA87",
"o. c #1515FF", "n. c #DAAE82",
"p. c #1212FF", "m. c #DBB081",
"q. c #2323FF", "M. c #EBBA85",
"r. c #3636FF", "N. c #F3BF84",
"s. c #4040FF", "B. c #F2BE88",
"t. c #4343F9", "V. c #C2B3A3",
"u. c #5D5DB8", "C. c #FBC386",
"v. c #7F7F92", "Z. c #FCC68C",
"w. c #878793", "A. c #FFC88F",
"x. c #4B4B94", "S. c #F4C387",
"y. c #0B0CE2", "D. c #FFC990",
"z. c #1313FF", "F. c #C3C1BF",
"A. c #4C4CFF", "G. c #8F8FCB",
"B. c #8282FF", "H. c #BDBDC2",
"C. c #7171ED", "J. c #BDBDD1",
"D. c #636394", "K. c #8888F9",
"E. c #575785", "L. c #A4A4FB",
"F. c #A9A99C", "P. c #CDCDCC",
"G. c #1414BC", "I. c #CECAC6",
"H. c #1414FF", "U. c #D3CFCA",
"I. c #0707FD", "Y. c #D3D0CC",
"J. c #2525AA", "T. c #C0C0D5",
"K. c #A8A8A4", "R. c #D6D5D4",
"L. c #EBEBE2", "E. c #D7D7DD",
"M. c #F9F9F2", "W. c #E1E1DF",
"N. c #E1E1CC", "Q. c #DEDEE1",
"O. c #4D4D9F", "!. c #E4E4E4",
"P. c #0B0BF7", "~. c #E8E8E8",
"Q. c #2121FF", "^. c #F0F0EE",
"R. c #3232FF", "/. c #F5F5F2",
"S. c #5555FF", "(. c #FFFFFF",
"T. c #6161B4", /* pixels */
"U. c #B5B5B2",
"V. c #FFFFF8",
"W. c #4F4F9A",
"X. c #0B0BF5",
"Y. c #1616C5",
"Z. c #A8A8A1",
"`. c #FFFFFC",
" + c #FFFFFF",
".+ c #C0C0C4",
"++ c #1212D4",
"@+ c #4444FF",
"#+ c #6464FF",
"$+ c #8383FF",
"%+ c #6767C3",
"&+ c #E4E4E4",
"*+ c #9494AE",
"=+ c #0808DF",
"-+ c #0D0DF2",
";+ c #61619A",
">+ c #F1F1E0",
",+ c #E8E8DD",
"'+ c #2424BB",
")+ c #1010FF",
"!+ c #3434FF",
"~+ c #6161FF",
"{+ c #6969D2",
"]+ c #EFEFF0",
"^+ c #C2C2BA",
"/+ c #1010B6",
"(+ c #0909AC",
"_+ c #A4A49A",
":+ c #EAEADE",
"<+ c #2525B8",
"[+ c #2F2FFF",
"}+ c #3C3CB5",
"|+ c #EEEEEE",
"1+ c #BBBBAD",
"2+ c #0B0B56",
"3+ c #0B0BFC",
"4+ c #1212EF",
"5+ c #0C0C3E",
"6+ c #919187",
"7+ c #DEDED6",
"8+ c #1F1FC0",
"9+ c #1A1AFF",
"0+ c #1717FA",
"a+ c #1515F8",
"b+ c #1111FC",
"c+ c #494992",
"d+ c #999998",
"e+ c #3E3E3B",
"f+ c #3C3C99",
"g+ c #535397",
"h+ c #5A5A4D",
"i+ c #6F6F70",
"j+ c #BFBFC9",
"k+ c #1111D6",
"l+ c #1515F1",
"m+ c #0F0FE2",
"n+ c #0D0DD9",
"o+ c #0909CD",
"p+ c #0808C7",
"q+ c #0505C7",
"r+ c #0303CB",
"s+ c #0101C0",
"t+ c #0202AF",
"u+ c #0606AC",
"v+ c #121283",
"w+ c #BBBBBB",
"x+ c #BEBEBE",
"y+ c #2F2F2E",
"z+ c #C7C8BB",
"A+ c #D8DAD1",
"B+ c #272828",
"C+ c #929292",
"D+ c #8688C7",
"E+ c #0506F6",
"F+ c #1616F5",
"G+ c #0B0BD3",
"H+ c #0202B6",
"I+ c #0000AF",
"J+ c #0000B4",
"K+ c #0000BD",
"L+ c #0000BB",
"M+ c #00009E",
"N+ c #2C2C7E",
"O+ c #6A6A8B",
"P+ c #959595",
"Q+ c #F0F0F1",
"R+ c #E1E1E1",
"S+ c #8C8E90",
"T+ c #BEBEBF",
"U+ c #C9C7C5",
"V+ c #939699",
"W+ c #E7EAED",
"X+ c #CBCBC7",
"Y+ c #413B9B",
"Z+ c #0607DD",
"`+ c #0C0CE2",
" @ c #0303B9",
".@ c #0000A8",
"+@ c #181888",
"@@ c #6A6A6A",
"#@ c #626263",
"$@ c #4B4B4C",
"%@ c #3E3B36",
"&@ c #9B805C",
"*@ c #D9B07D",
"=@ c #C9AE89",
"-@ c #B9AF9E",
";@ c #C7C5C4",
">@ c #CBCCCF",
",@ c #C7C6C6",
"'@ c #AEA59A",
")@ c #B69974",
"!@ c #D8B87F",
"~@ c #9B8272",
"{@ c #0E0B9B",
"]@ c #0000B7",
"^@ c #0000B8",
"/@ c #000082",
"(@ c #00007A",
"_@ c #636379",
":@ c #62533E",
"<@ c #B59B6C",
"[@ c #DEB07B",
"}@ c #FECC90",
"|@ c #FFCE92",
"1@ c #FEC98C",
"2@ c #F1BD82",
"3@ c #D1A979",
"4@ c #BC9E73",
"5@ c #CCA777",
"6@ c #EAB980",
"7@ c #FFCD90",
"8@ c #FFD595",
"9@ c #FDD782",
"0@ c #413678",
"a@ c #0000AE",
"b@ c #000077",
"c@ c #010193",
"d@ c #0C0CE4",
"e@ c #38389E",
"f@ c #EEC585",
"g@ c #FFDA9D",
"h@ c #FFC992",
"i@ c #FFC88F",
"j@ c #FFC990",
"k@ c #FFCE93",
"l@ c #FFD094",
"m@ c #FFCC92",
"n@ c #C9A174",
"o@ c #EDBD88",
"p@ c #FAD287",
"q@ c #3A2F7F",
"r@ c #0000BA",
"s@ c #0000B0",
"t@ c #0101B2",
"u@ c #1111ED",
"v@ c #1919C1",
"w@ c #95887C",
"x@ c #DCAC6E",
"y@ c #FFD393",
"z@ c #FFCD94",
"A@ c #FFCA93",
"B@ c #FFC991",
"C@ c #FFC78E",
"D@ c #FFCB91",
"E@ c #E0B581",
"F@ c #BB9A6F",
"G@ c #FFDC97",
"H@ c #C1A173",
"I@ c #0E0B9A",
"J@ c #0000B5",
"K@ c #0101B6",
"L@ c #1010E0",
"M@ c #1616EC",
"N@ c #A68156",
"O@ c #E7AC6B",
"P@ c #FFC582",
"Q@ c #FFCF8F",
"R@ c #FFD195",
"S@ c #FFD296",
"T@ c #FFD396",
"U@ c #FFD193",
"V@ c #FFD28F",
"W@ c #D2A96B",
"X@ c #2F2482",
"Y@ c #0000C1",
"Z@ c #0000C0",
"`@ c #0000BF",
" # c #0101BF",
".# c #1212F0",
"+# c #767698",
"@# c #9C866E",
"## c #A9865D",
"$# c #C0915D",
"%# c #C89760",
"&# c #C29360",
"*# c #AD8A61",
"=# c #9D8971",
"-# c #7F7A7A",
";# c #70708F",
"># c #6F6F91",
",# c #575788",
"'# c #464687",
")# c #2F2F87",
"!# c #15158F",
"~# c #0101A8",
"{# c #1313FB",
"]# c #57579F",
"^# c #343487",
"/# c #434388",
" ", " ",
" ", " ",
" ", " ",
" . + @ # ", " I Q T = ",
" $ % & * = - ; > , ' ) ! ", " Q 7.e.r.i.8.E E 3.r.6.J ",
" ~ { ] ^ / = ( _ : < [ } | 1 2 3 4 5 6 ", " H ~ n 4.r.p.p.p.p.8.R > 5.^ w.,.-.{ v ",
" 7 8 9 0 a b c d e f g h i j k l m n o p q r ", " { 9.^ & P t.p.p.p.p.p.8.I 5 q K L <.;.;.;.-.' ",
" s t u v _ f d d d w x y z A B C D E F G H I J K L ", " { %.H +.y.p.p.p.p.p.e.Y 2 a n.K F $.*.$.@.} ] N ",
" M N O _ c e d d d _ P Q R S T U V W X Y Z ` ... ", " x D :.y.p.p.p.p.p.p.r.R 8 C.u ..F A ) A Z M h $ ",
" +.@.#.$.d d d d %.&._ *.=.-.;.>.,.'.).!.~. ", " f =.q.p.p.p.p.p.p.p.p.i.( e 6 $.` l B M g ",
" {.].^./.(.d d _.$.:._ <.[.}.|.1.2.3.4.5. ", " ` ;.q.p.p.p.p.p.a.K.a.p.p.4.L -.` l N % ",
" 6.7.7.4 8.e : w 9.0.a.b.c.2 d.e.f.g.h.i.j.k. ", " V =.-.>.q.y.p.p.p.L.L.K.i.w.,.-.;.$.<.q.u.2. ",
" l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.o o z.A.B./.b C.D. ", " D { =.-.;.>.1.1.9.( h.h.Q &.-.-.-.;.9.p.p.p.r.! ",
" E.F.G.].o H.z.I.J.K.L.M.N.O.P.o o o Q.R.S._.b B.T. ", " U j.o.-.;.-.;.-.P x.Q.^.R.~ *.-.;.;.>.1.q.y.p.i.2. ",
" U.V.W.X.f.f.7.Y.Z.`. + + +.+++].o o o.n z.q.@+#+$+%+ ", " H./.! *.;.;.;.o.x./.(.(.(.J.| -.-.;.-.-.;.,.9.u.p.7. ",
" &+ +*+=+].o -+;+>+ + + + +,+'+H.o o o o o H.)+o !+~+{+ ", " !.(.k.#.;.-.=./ !.(.(.(.(.Q.X.-.;.;.;.;.-.-.;.;.1.w.6. ",
" ]+ +^+/+H.o.(+_+ + + + + +:+<+z.o o o o o o o 7.n H.[+}+ ", " ~.(.H.G ;.-.D j.(.(.(.(.(.!.O.-.-.;.;.;.-.;.-.;.-.;.,.O. ",
" |+ +1+2+3+4+5+6+ + + + + +7+8+H.o o f.9+f.9+f.F 0+a+b+o.c+ ", " ~.(.v.@ *.$.+ d.(.(.(.(.(.E.o.-.-.;.;.-.;.;.;.*.=.=.*.$.v ",
" &+ +d+e+f+g+h+i+ + + + + +j+k+].f.9+l+m+n+o+p+q+r+s+t+u+v+ ", " ~.(.l.- Y T ; < (.(.(.(.(.J.&.-.;.;.$.@.[ ] _ ) ) Z B B f ",
" w+ +x+y+z+A+B+C+ + + + + +D+E+9+F+G+H+I+J+K+L+M+N+O+ ", " P.(.F.X c.I.X f.(.(.(.(.(.G.=.-.=.] A Z Z Z Z z f $ ",
" P+Q+R+S+T+U+V+W+ + + + +X+Y+Z+`+ @I+J+Z .@+@E. ", " l.!.R.s.F.I.g.W.(.(.(.(.R.E .[ A Z Z Z B g $ ",
" @@#@$@%@&@*@=@-@;@>@,@'@)@!@~@{@]@^@I+/@(@_@ ", " . , ; - 0 M.b.V.U.R.Y.z.u n.7 c Z Z B g # + ",
" :@<@[@}@|@1@2@3@4@5@6@7@8@9@0@L+a@b@c@d@e@ ", " : w p Z.D.A.S.p u i M.A.A.S.* Z B h z ] C ",
" f@g@h@i@i@j@k@l@|@m@n@o@p@q@r@s@t@u@p v@ ", " s D.D.A.A.A.A.A.A.A.i B.B.b A Z Z @.-.` ",
" w@x@y@z@A@B@i@C@D@E@F@G@H@I@L+J@K@L@p M@ ", " 1 y C.D.A.A.A.A.A.M.u Z.e c A Z Z [ ;.&. ",
" N@O@P@Q@R@S@T@U@V@W@X@Y@Z@Y@`@ #.#p +# ", " 8 y d C.A.A.A.C.B.t * B Z Z Z A #.=.m ",
" @###$#%#&#*#=#-#;#>#,#'#)#!#~#{#]# ", " 3 9 r t r 9 8 o @ $ # f j l B #.V ",
" ^#/# ", " j k ",
" ", " ",
" ", " ",
" ", " ",
" "}; " "
};

View File

@ -39,6 +39,10 @@
#ifdef HAVE_IMAGE #ifdef HAVE_IMAGE
#include "SDL_image.h" #include "SDL_image.h"
#elif 1
#define LOAD_XPM //I want XPM!
#include "IMG_xpm.c" //Alam: I don't want to add SDL_Image.dll/so
#define HAVE_IMAGE //I have SDL_Image, sortof
#endif #endif
#ifdef HAVE_IMAGE #ifdef HAVE_IMAGE

View File

@ -178,7 +178,7 @@ static Mix_Chunk *ds2chunk(void *stream)
return NULL; // would and/or did wrap, can't store. return NULL; // would and/or did wrap, can't store.
break; break;
} }
sound = Z_Malloc(newsamples<<2, PU_SOUND, NULL); // samples * frequency shift * bytes per sample * channels sound = malloc(newsamples<<2); // samples * frequency shift * bytes per sample * channels
s = (SINT8 *)stream; s = (SINT8 *)stream;
d = (INT16 *)sound; d = (INT16 *)sound;
@ -306,7 +306,7 @@ void *I_GetSfx(sfxinfo_t *sfx)
gme_track_info(emu, &info, 0); gme_track_info(emu, &info, 0);
len = (info->play_length * 441 / 10) << 2; len = (info->play_length * 441 / 10) << 2;
mem = Z_Malloc(len, PU_SOUND, NULL); mem = malloc(len);
gme_play(emu, len >> 1, mem); gme_play(emu, len >> 1, mem);
gme_delete(emu); gme_delete(emu);
@ -378,7 +378,7 @@ void *I_GetSfx(sfxinfo_t *sfx)
gme_track_info(emu, &info, 0); gme_track_info(emu, &info, 0);
len = (info->play_length * 441 / 10) << 2; len = (info->play_length * 441 / 10) << 2;
mem = Z_Malloc(len, PU_SOUND, NULL); mem = malloc(len);
gme_play(emu, len >> 1, mem); gme_play(emu, len >> 1, mem);
gme_delete(emu); gme_delete(emu);

View File

@ -60,7 +60,7 @@ void SDL_SYS_CDQuit(void)
UINT8 cdaudio_started = 0; // for system startup/shutdown UINT8 cdaudio_started = 0; // for system startup/shutdown
consvar_t cd_volume = {"cd_volume","31",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cd_volume = {"cd_volume","18",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
consvar_t cdUpdate = {"cd_update","1",CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cdUpdate = {"cd_update","1",CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL};
#ifndef NOSDLCD #ifndef NOSDLCD

View File

@ -480,11 +480,11 @@ void V_DrawFixedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_t
{ {
// same thing here // same thing here
if ((scrn & (V_SPLITSCREEN|V_SNAPTOTOP)) == (V_SPLITSCREEN|V_SNAPTOTOP)) if ((scrn & (V_SPLITSCREEN|V_SNAPTOTOP)) == (V_SPLITSCREEN|V_SNAPTOTOP))
desttop += (vid.height/2 - (BASEVIDHEIGHT/2 * dupy)) * vid.width; y += (vid.height/2 - (BASEVIDHEIGHT/2 * dupy));
else if (scrn & V_SNAPTOBOTTOM) else if (scrn & V_SNAPTOBOTTOM)
desttop += (vid.height - (BASEVIDHEIGHT * dupy)) * vid.width; y += (vid.height - (BASEVIDHEIGHT * dupy));
else if (!(scrn & V_SNAPTOTOP)) else if (!(scrn & V_SNAPTOTOP))
desttop += (vid.height - (BASEVIDHEIGHT * dupy)) * vid.width / 2; y += (vid.height - (BASEVIDHEIGHT * dupy)) / 2;
} }
} }
@ -594,28 +594,10 @@ void V_DrawCroppedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_
y = FixedMul(y,dupy<<FRACBITS); y = FixedMul(y,dupy<<FRACBITS);
x >>= FRACBITS; x >>= FRACBITS;
y >>= FRACBITS; y >>= FRACBITS;
desttop += (y*vid.width) + x;
// Center it if necessary // Center it if necessary
if (!(scrn & V_SCALEPATCHMASK)) if (!(scrn & V_SCALEPATCHMASK))
{ {
if (vid.width != BASEVIDWIDTH * dupx)
{
// dupx adjustments pretend that screen width is BASEVIDWIDTH * dupx,
// so center this imaginary screen
if (scrn & V_SNAPTORIGHT)
desttop += (vid.width - (BASEVIDWIDTH * dupx));
else if (!(scrn & V_SNAPTOLEFT))
desttop += (vid.width - (BASEVIDWIDTH * dupx)) / 2;
}
if (vid.height != BASEVIDHEIGHT * dupy)
{
// same thing here
if (scrn & V_SNAPTOBOTTOM)
desttop += (vid.height - (BASEVIDHEIGHT * dupy)) * vid.width;
else if (!(scrn & V_SNAPTOTOP))
desttop += (vid.height - (BASEVIDHEIGHT * dupy)) * vid.width / 2;
}
// if it's meant to cover the whole screen, black out the rest // if it's meant to cover the whole screen, black out the rest
// BAD, BAD, BAD, FUCK OFF, STOP, EW, AAAAAAA // BAD, BAD, BAD, FUCK OFF, STOP, EW, AAAAAAA
// This does NOT account for transparent pixels // This does NOT account for transparent pixels
@ -625,7 +607,26 @@ void V_DrawCroppedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_
source = (const UINT8 *)(column) + 3; source = (const UINT8 *)(column) + 3;
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, (column->topdelta == 0xff ? 31 : source[0])); V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, (column->topdelta == 0xff ? 31 : source[0]));
}*/ }*/
if (vid.width != BASEVIDWIDTH * dupx)
{
// dupx adjustments pretend that screen width is BASEVIDWIDTH * dupx,
// so center this imaginary screen
if (scrn & V_SNAPTORIGHT)
x += (vid.width - (BASEVIDWIDTH * dupx));
else if (!(scrn & V_SNAPTOLEFT))
x += (vid.width - (BASEVIDWIDTH * dupx)) / 2;
}
if (vid.height != BASEVIDHEIGHT * dupy)
{
// same thing here
if (scrn & V_SNAPTOBOTTOM)
y += (vid.height - (BASEVIDHEIGHT * dupy));
else if (!(scrn & V_SNAPTOTOP))
y += (vid.height - (BASEVIDHEIGHT * dupy)) / 2;
}
} }
desttop += (y*vid.width) + x;
} }
for (col = sx<<FRACBITS; (col>>FRACBITS) < SHORT(patch->width) && (col>>FRACBITS) < w; col += colfrac, ++x, desttop++) for (col = sx<<FRACBITS; (col>>FRACBITS) < SHORT(patch->width) && (col>>FRACBITS) < w; col += colfrac, ++x, desttop++)
@ -789,7 +790,7 @@ void V_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 c)
if (x == 0 && y == 0 && w == BASEVIDWIDTH && h == BASEVIDHEIGHT) if (x == 0 && y == 0 && w == BASEVIDWIDTH && h == BASEVIDHEIGHT)
{ // Clear the entire screen, from dest to deststop. Yes, this really works. { // Clear the entire screen, from dest to deststop. Yes, this really works.
memset(screens[0], (UINT8)(c&255), vid.width * vid.height * vid.bpp); memset(screens[0], (c&255), vid.width * vid.height * vid.bpp);
return; return;
} }
@ -1419,6 +1420,7 @@ void V_DrawString(INT32 x, INT32 y, INT32 option, const char *string)
dupx = dupy = 1; dupx = dupy = 1;
scrwidth = vid.width/vid.dupx; scrwidth = vid.width/vid.dupx;
left = (scrwidth - BASEVIDWIDTH)/2; left = (scrwidth - BASEVIDWIDTH)/2;
scrwidth -= left;
} }
charflags = (option & V_CHARCOLORMASK); charflags = (option & V_CHARCOLORMASK);
@ -1633,6 +1635,7 @@ void V_DrawSmallString(INT32 x, INT32 y, INT32 option, const char *string)
dupx = dupy = 1; dupx = dupy = 1;
scrwidth = vid.width/vid.dupx; scrwidth = vid.width/vid.dupx;
left = (scrwidth - BASEVIDWIDTH)/2; left = (scrwidth - BASEVIDWIDTH)/2;
scrwidth -= left;
} }
charflags = (option & V_CHARCOLORMASK); charflags = (option & V_CHARCOLORMASK);
@ -1739,6 +1742,7 @@ void V_DrawThinString(INT32 x, INT32 y, INT32 option, const char *string)
dupx = dupy = 1; dupx = dupy = 1;
scrwidth = vid.width/vid.dupx; scrwidth = vid.width/vid.dupx;
left = (scrwidth - BASEVIDWIDTH)/2; left = (scrwidth - BASEVIDWIDTH)/2;
scrwidth -= left;
} }
charflags = (option & V_CHARCOLORMASK); charflags = (option & V_CHARCOLORMASK);
@ -1839,6 +1843,7 @@ void V_DrawStringAtFixed(fixed_t x, fixed_t y, INT32 option, const char *string)
dupx = dupy = 1; dupx = dupy = 1;
scrwidth = vid.width/vid.dupx; scrwidth = vid.width/vid.dupx;
left = (scrwidth - BASEVIDWIDTH)/2; left = (scrwidth - BASEVIDWIDTH)/2;
scrwidth -= left;
} }
switch (option & V_SPACINGMASK) switch (option & V_SPACINGMASK)
@ -1895,7 +1900,7 @@ void V_DrawStringAtFixed(fixed_t x, fixed_t y, INT32 option, const char *string)
if ((cx>>FRACBITS) > scrwidth) if ((cx>>FRACBITS) > scrwidth)
break; break;
if (cx+left + w < 0) //left boundary check if ((cx>>FRACBITS)+left + w < 0) //left boundary check
{ {
cx += w<<FRACBITS; cx += w<<FRACBITS;
continue; continue;
@ -2045,6 +2050,7 @@ void V_DrawLevelTitle(INT32 x, INT32 y, INT32 option, const char *string)
dupx = dupy = 1; dupx = dupy = 1;
scrwidth = vid.width/vid.dupx; scrwidth = vid.width/vid.dupx;
left = (scrwidth - BASEVIDWIDTH)/2; left = (scrwidth - BASEVIDWIDTH)/2;
scrwidth -= left;
} }
for (;;) for (;;)
@ -2067,10 +2073,9 @@ void V_DrawLevelTitle(INT32 x, INT32 y, INT32 option, const char *string)
} }
w = SHORT(lt_font[c]->width) * dupx; w = SHORT(lt_font[c]->width) * dupx;
if (cx > scrwidth) if (cx > scrwidth)
break; break;
if (cx + left < 0) //left boundary check if (cx+left + w < 0) //left boundary check
{ {
cx += w; cx += w;
continue; continue;

View File

@ -161,7 +161,7 @@ static BOOL wasPlaying;
//static INT cdVolume = 0; // current cd volume (0-31) //static INT cdVolume = 0; // current cd volume (0-31)
// 0-31 like Music & Sfx, though CD hardware volume is 0-255. // 0-31 like Music & Sfx, though CD hardware volume is 0-255.
consvar_t cd_volume = {"cd_volume","31",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cd_volume = {"cd_volume","18",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
// allow Update for next/loop track // allow Update for next/loop track
// some crap cd drivers take up to // some crap cd drivers take up to

View File

@ -159,7 +159,7 @@ static boolean wasPlaying;
//static int cdVolume = 0; // current cd volume (0-31) //static int cdVolume = 0; // current cd volume (0-31)
// 0-31 like Music & Sfx, though CD hardware volume is 0-255. // 0-31 like Music & Sfx, though CD hardware volume is 0-255.
consvar_t cd_volume = {"cd_volume","31",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cd_volume = {"cd_volume","18",CV_SAVE,soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
// allow Update for next/loop track // allow Update for next/loop track
// some crap cd drivers take up to // some crap cd drivers take up to