git-svn-id: https://svn.eduke32.com/eduke32@1149 1a8010ca-5511-0410-912e-c29ae57300e0

This commit is contained in:
terminx 2008-11-23 03:09:34 +00:00
parent 0b858c5ef3
commit f2a2b491d6
7 changed files with 71 additions and 110 deletions

View file

@ -1162,9 +1162,9 @@ void getpackets(void)
vote_map = packbuf[3]; vote_map = packbuf[3];
Bsprintf(tempbuf,"%s^00 HAS CALLED A VOTE TO CHANGE MAP TO %s (E%dL%d)", Bsprintf(tempbuf,"%s^00 HAS CALLED A VOTE TO CHANGE MAP TO %s (E%dL%d)",
g_player[(unsigned char)packbuf[1]].user_name, g_player[(unsigned char)packbuf[1]].user_name,
MapInfo[(unsigned char)(packbuf[2]*MAXLEVELS + packbuf[3])].name, MapInfo[(unsigned char)(packbuf[2]*MAXLEVELS + packbuf[3])].name,
packbuf[2]+1,packbuf[3]+1); packbuf[2]+1,packbuf[3]+1);
G_AddUserQuote(tempbuf); G_AddUserQuote(tempbuf);
Bsprintf(tempbuf,"PRESS F1 TO ACCEPT, F2 TO DECLINE"); Bsprintf(tempbuf,"PRESS F1 TO ACCEPT, F2 TO DECLINE");
@ -12311,7 +12311,8 @@ static void Net_DoPrediction(void)
} }
if (myz < (fz-(i<<8)) && (G_CheckForSpaceFloor(psect)|G_CheckForSpaceCeiling(psect)) == 0) //falling if (myz < (fz-(i<<8)) && (G_CheckForSpaceFloor(psect)|G_CheckForSpaceCeiling(psect)) == 0) //falling
{ {
if (TEST_SYNC_KEY(sb_snum, SK_JUMP|SK_CROUCH) == 0 && myonground && (sector[psect].floorstat&2) && myz >= (fz-(i<<8)-(16<<8))) if (!TEST_SYNC_KEY(sb_snum, SK_JUMP) && !TEST_SYNC_KEY(sb_snum, SK_CROUCH) &&
myonground && (sector[psect].floorstat&2) && myz >= (fz-(i<<8)-(16<<8)))
myz = fz-(i<<8); myz = fz-(i<<8);
else else
{ {

View file

@ -2094,10 +2094,10 @@ static int C_ParseCommand(void)
C_ReportError(WARNING_BADGAMEVAR); C_ReportError(WARNING_BADGAMEVAR);
} }
Gv_SetupVar(label+(g_numLabels<<6),*(g_scriptPtr-2), Gv_SetupVar(label+(g_numLabels<<6),*(g_scriptPtr-2),
(*(g_scriptPtr-1)) (*(g_scriptPtr-1))
// can't define default or secret // can't define default or secret
& (~(GAMEVAR_DEFAULT | GAMEVAR_SECRET)) & (~(GAMEVAR_DEFAULT | GAMEVAR_SECRET))
); );
//AddLog("Added gamevar"); //AddLog("Added gamevar");
g_scriptPtr -= 3; // no need to save in script... g_scriptPtr -= 3; // no need to save in script...
return 0; return 0;

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
#include "duke3d.h" #include "duke3d.h"
char *s_builddate = "20081121"; char *s_builddate = "20081122";
char *MusicPtr = NULL; char *MusicPtr = NULL;
int g_musicSize; int g_musicSize;
@ -157,7 +157,7 @@ char szPlayerName[32];
int g_damageCameras,g_freezerSelfDamage=0,g_tripbombLaserMode=0; int g_damageCameras,g_freezerSelfDamage=0,g_tripbombLaserMode=0;
int g_networkBroadcastMode = 255, g_movesPerPacket = 1,g_gameQuit = 0,everyothertime; int g_networkBroadcastMode = 255, g_movesPerPacket = 1,g_gameQuit = 0,everyothertime;
int g_numFreezeBounces=3,g_rpgBlastRadius,g_pipebombBlastRadius,g_tripbombBlastRadius, int g_numFreezeBounces=3,g_rpgBlastRadius,g_pipebombBlastRadius,g_tripbombBlastRadius,
g_shrinkerBlastRadius,g_morterBlastRadius,g_bouncemineBlastRadius,g_seenineBlastRadius; g_shrinkerBlastRadius,g_morterBlastRadius,g_bouncemineBlastRadius,g_seenineBlastRadius;
STATUSBARTYPE sbar; STATUSBARTYPE sbar;
int mymaxlag, otherminlag, bufferjitter = 1; int mymaxlag, otherminlag, bufferjitter = 1;

View file

@ -70,7 +70,7 @@ static int music_initialized = 0;
static int music_context = 0; static int music_context = 0;
static int music_loopflag = MUSIC_PlayOnce; static int music_loopflag = MUSIC_PlayOnce;
static Mix_Music *music_musicchunk = NULL; static Mix_Music *music_musicchunk = NULL;
static char *music_songdata = NULL; // static char *music_songdata = NULL;
// This gets called all over the place for information and debugging messages. // This gets called all over the place for information and debugging messages.
// If the user set the DUKESND_DEBUG environment variable, the messages // If the user set the DUKESND_DEBUG environment variable, the messages
@ -294,59 +294,28 @@ int MUSIC_StopSong(void)
if (music_musicchunk) if (music_musicchunk)
Mix_FreeMusic(music_musicchunk); Mix_FreeMusic(music_musicchunk);
if (music_songdata) // if (music_songdata)
Bfree(music_songdata); // Bfree(music_songdata);
music_musicchunk = NULL; music_musicchunk = NULL;
music_songdata = NULL; // music_songdata = NULL;
return(MUSIC_Ok); return(MUSIC_Ok);
} // MUSIC_StopSong } // MUSIC_StopSong
// Duke3D-specific. --ryan. // Duke3D-specific. --ryan.
void MUSIC_PlayMusic(char *_filename) // void MUSIC_PlayMusic(char *_filename)
int MUSIC_PlaySong(unsigned char *song, int loopflag)
{ {
int handle;
int size;
int rc;
MUSIC_StopSong(); MUSIC_StopSong();
music_musicchunk = Mix_LoadMUS_RW(SDL_RWFromMem((char *) song, g_musicSize));
handle = kopen4load(_filename, 0);
if (handle == -1)
return;
size = kfilelength(handle);
if (size == -1)
{
kclose(handle);
return;
} // if
music_songdata = Bcalloc(size,sizeof(char));
if (music_songdata == NULL)
{
kclose(handle);
return;
} // if
rc = kread(handle, music_songdata, size);
kclose(handle);
if (rc != size)
{
Bfree(music_songdata);
music_songdata = NULL;
return;
} // if
music_musicchunk = Mix_LoadMUS_RW(SDL_RWFromMem((char *) music_songdata, size));
if (music_musicchunk != NULL) if (music_musicchunk != NULL)
{ {
// !!! FIXME: I set the music to loop. Hope that's okay. --ryan. // !!! FIXME: I set the music to loop. Hope that's okay. --ryan.
g_musicSize = size;
Mix_PlayMusic(music_musicchunk, -1); Mix_PlayMusic(music_musicchunk, -1);
} // if } // if
return MUSIC_Ok;
} }

View file

@ -2152,7 +2152,7 @@ static int P_DisplayTipAnim(int gs,int snum)
p = wall[g_player[snum].ps->access_wallnum].pal; p = wall[g_player[snum].ps->access_wallnum].pal;
*/ */
G_DrawTileScaled(170+(g_player[snum].sync->avel>>4)-(g_player[snum].ps->look_ang>>1), G_DrawTileScaled(170+(g_player[snum].sync->avel>>4)-(g_player[snum].ps->look_ang>>1),
(tip_y[g_player[snum].ps->tipincs]>>1)+looking_arc+240-((g_player[snum].ps->horiz-g_player[snum].ps->horizoff)>>4),TIP+((26-g_player[snum].ps->tipincs)>>4),gs,262144,p); (tip_y[g_player[snum].ps->tipincs]>>1)+looking_arc+240-((g_player[snum].ps->horiz-g_player[snum].ps->horizoff)>>4),TIP+((26-g_player[snum].ps->tipincs)>>4),gs,262144,p);
return 1; return 1;
} }
@ -2255,9 +2255,9 @@ void P_DisplayWeapon(int snum)
if (j < 6 || j > 12) if (j < 6 || j > 12)
G_DrawTileScaled(weapon_xoffset+80-(p->look_ang>>1), G_DrawTileScaled(weapon_xoffset+80-(p->look_ang>>1),
looking_arc+250-gun_pos,KNEE,gs,o|4|262144,pal); looking_arc+250-gun_pos,KNEE,gs,o|4|262144,pal);
else G_DrawTileScaled(weapon_xoffset+160-16-(p->look_ang>>1), else G_DrawTileScaled(weapon_xoffset+160-16-(p->look_ang>>1),
looking_arc+214-gun_pos,KNEE+1,gs,o|4|262144,pal); looking_arc+214-gun_pos,KNEE+1,gs,o|4|262144,pal);
} }
if (sprite[p->i].xrepeat < 40) if (sprite[p->i].xrepeat < 40)
@ -2271,13 +2271,13 @@ void P_DisplayWeapon(int snum)
cw = weapon_xoffset; cw = weapon_xoffset;
weapon_xoffset += sintable[(fistsign)&2047]>>10; weapon_xoffset += sintable[(fistsign)&2047]>>10;
G_DrawTile(weapon_xoffset+250-(p->look_ang>>1), G_DrawTile(weapon_xoffset+250-(p->look_ang>>1),
looking_arc+258-(klabs(sintable[(fistsign)&2047]>>8)), looking_arc+258-(klabs(sintable[(fistsign)&2047]>>8)),
FIST,gs,o); FIST,gs,o);
weapon_xoffset = cw; weapon_xoffset = cw;
weapon_xoffset -= sintable[(fistsign)&2047]>>10; weapon_xoffset -= sintable[(fistsign)&2047]>>10;
G_DrawTile(weapon_xoffset+40-(p->look_ang>>1), G_DrawTile(weapon_xoffset+40-(p->look_ang>>1),
looking_arc+200+(klabs(sintable[(fistsign)&2047]>>8)), looking_arc+200+(klabs(sintable[(fistsign)&2047]>>8)),
FIST,gs,o|4); FIST,gs,o|4);
} }
else switch (cw) else switch (cw)
@ -2303,10 +2303,10 @@ void P_DisplayWeapon(int snum)
if ((*kb) < 5 || (*kb) > 9) if ((*kb) < 5 || (*kb) > 9)
G_DrawTileScaled(weapon_xoffset+220-(p->look_ang>>1), G_DrawTileScaled(weapon_xoffset+220-(p->look_ang>>1),
looking_arc+250-gun_pos,KNEE,gs,o,pal); looking_arc+250-gun_pos,KNEE,gs,o,pal);
else else
G_DrawTileScaled(weapon_xoffset+160-(p->look_ang>>1), G_DrawTileScaled(weapon_xoffset+160-(p->look_ang>>1),
looking_arc+214-gun_pos,KNEE+1,gs,o,pal); looking_arc+214-gun_pos,KNEE+1,gs,o,pal);
} }
} }
break; break;
@ -2330,14 +2330,14 @@ void P_DisplayWeapon(int snum)
looking_arc += ((*kb)<<3); looking_arc += ((*kb)<<3);
else if ((*kb) < 4) else if ((*kb) < 4)
G_DrawWeaponTile(weapon_xoffset+142-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+142-(p->look_ang>>1),
looking_arc+234-gun_pos,HANDHOLDINGLASER+3,gs,o,pal); looking_arc+234-gun_pos,HANDHOLDINGLASER+3,gs,o,pal);
G_DrawWeaponTile(weapon_xoffset+130-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+130-(p->look_ang>>1),
looking_arc+249-gun_pos, looking_arc+249-gun_pos,
HANDHOLDINGLASER+((*kb)>>2),gs,o,pal); HANDHOLDINGLASER+((*kb)>>2),gs,o,pal);
G_DrawWeaponTile(weapon_xoffset+152-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+152-(p->look_ang>>1),
looking_arc+249-gun_pos, looking_arc+249-gun_pos,
HANDHOLDINGLASER+((*kb)>>2),gs,o|4,pal); HANDHOLDINGLASER+((*kb)>>2),gs,o|4,pal);
} }
break; break;
@ -2361,12 +2361,12 @@ void P_DisplayWeapon(int snum)
if (*kb < 8) if (*kb < 8)
{ {
G_DrawWeaponTile(weapon_xoffset+164,(looking_arc<<1)+176-gun_pos, G_DrawWeaponTile(weapon_xoffset+164,(looking_arc<<1)+176-gun_pos,
RPGGUN+((*kb)>>1),gs,o,pal); RPGGUN+((*kb)>>1),gs,o,pal);
} }
} }
G_DrawWeaponTile(weapon_xoffset+164,(looking_arc<<1)+176-gun_pos, G_DrawWeaponTile(weapon_xoffset+164,(looking_arc<<1)+176-gun_pos,
RPGGUN,gs,o,pal); RPGGUN,gs,o,pal);
} }
break; break;
@ -2390,13 +2390,13 @@ void P_DisplayWeapon(int snum)
case 1: case 1:
case 2: case 2:
G_DrawWeaponTile(weapon_xoffset+168-(p->look_ang>>1),looking_arc+201-gun_pos, G_DrawWeaponTile(weapon_xoffset+168-(p->look_ang>>1),looking_arc+201-gun_pos,
SHOTGUN+2,-128,o,pal); SHOTGUN+2,-128,o,pal);
case 0: case 0:
case 6: case 6:
case 7: case 7:
case 8: case 8:
G_DrawWeaponTile(weapon_xoffset+146-(p->look_ang>>1),looking_arc+202-gun_pos, G_DrawWeaponTile(weapon_xoffset+146-(p->look_ang>>1),looking_arc+202-gun_pos,
SHOTGUN,gs,o,pal); SHOTGUN,gs,o,pal);
break; break;
case 3: case 3:
case 4: case 4:
@ -2411,45 +2411,45 @@ void P_DisplayWeapon(int snum)
weapon_xoffset += 20; weapon_xoffset += 20;
G_DrawWeaponTile(weapon_xoffset+178-(p->look_ang>>1),looking_arc+194-gun_pos, G_DrawWeaponTile(weapon_xoffset+178-(p->look_ang>>1),looking_arc+194-gun_pos,
SHOTGUN+1+((*(kb)-1)>>1),-128,o,pal); SHOTGUN+1+((*(kb)-1)>>1),-128,o,pal);
} }
G_DrawWeaponTile(weapon_xoffset+158-(p->look_ang>>1),looking_arc+220-gun_pos, G_DrawWeaponTile(weapon_xoffset+158-(p->look_ang>>1),looking_arc+220-gun_pos,
SHOTGUN+3,gs,o,pal); SHOTGUN+3,gs,o,pal);
break; break;
case 13: case 13:
case 14: case 14:
case 15: case 15:
G_DrawWeaponTile(32+weapon_xoffset+166-(p->look_ang>>1),looking_arc+210-gun_pos, G_DrawWeaponTile(32+weapon_xoffset+166-(p->look_ang>>1),looking_arc+210-gun_pos,
SHOTGUN+4,gs,o,pal); SHOTGUN+4,gs,o,pal);
break; break;
case 16: case 16:
case 17: case 17:
case 18: case 18:
case 19: case 19:
G_DrawWeaponTile(64+weapon_xoffset+170-(p->look_ang>>1),looking_arc+196-gun_pos, G_DrawWeaponTile(64+weapon_xoffset+170-(p->look_ang>>1),looking_arc+196-gun_pos,
SHOTGUN+5,gs,o,pal); SHOTGUN+5,gs,o,pal);
break; break;
case 20: case 20:
case 21: case 21:
case 22: case 22:
case 23: case 23:
G_DrawWeaponTile(64+weapon_xoffset+176-(p->look_ang>>1),looking_arc+196-gun_pos, G_DrawWeaponTile(64+weapon_xoffset+176-(p->look_ang>>1),looking_arc+196-gun_pos,
SHOTGUN+6,gs,o,pal); SHOTGUN+6,gs,o,pal);
break; break;
case 24: case 24:
case 25: case 25:
case 26: case 26:
case 27: case 27:
G_DrawWeaponTile(64+weapon_xoffset+170-(p->look_ang>>1),looking_arc+196-gun_pos, G_DrawWeaponTile(64+weapon_xoffset+170-(p->look_ang>>1),looking_arc+196-gun_pos,
SHOTGUN+5,gs,o,pal); SHOTGUN+5,gs,o,pal);
break; break;
case 28: case 28:
case 29: case 29:
case 30: case 30:
G_DrawWeaponTile(32+weapon_xoffset+156-(p->look_ang>>1),looking_arc+206-gun_pos, G_DrawWeaponTile(32+weapon_xoffset+156-(p->look_ang>>1),looking_arc+206-gun_pos,
SHOTGUN+4,gs,o,pal); SHOTGUN+4,gs,o,pal);
break; break;
} }
} }
@ -2474,12 +2474,12 @@ void P_DisplayWeapon(int snum)
if (*kb > 0 && sprite[p->i].pal != 1) weapon_xoffset += 1-(rand()&3); if (*kb > 0 && sprite[p->i].pal != 1) weapon_xoffset += 1-(rand()&3);
G_DrawWeaponTile(weapon_xoffset+168-(p->look_ang>>1),looking_arc+260-gun_pos, G_DrawWeaponTile(weapon_xoffset+168-(p->look_ang>>1),looking_arc+260-gun_pos,
CHAINGUN,gs,o,pal); CHAINGUN,gs,o,pal);
switch (*kb) switch (*kb)
{ {
case 0: case 0:
G_DrawWeaponTile(weapon_xoffset+178-(p->look_ang>>1),looking_arc+233-gun_pos, G_DrawWeaponTile(weapon_xoffset+178-(p->look_ang>>1),looking_arc+233-gun_pos,
CHAINGUN+1,gs,o,pal); CHAINGUN+1,gs,o,pal);
break; break;
default: default:
if (*kb > *aplWeaponFireDelay[CHAINGUN_WEAPON] && *kb < *aplWeaponTotalTime[CHAINGUN_WEAPON]) if (*kb > *aplWeaponFireDelay[CHAINGUN_WEAPON] && *kb < *aplWeaponTotalTime[CHAINGUN_WEAPON])
@ -2487,21 +2487,21 @@ void P_DisplayWeapon(int snum)
i = 0; i = 0;
if (sprite[p->i].pal != 1) i = rand()&7; if (sprite[p->i].pal != 1) i = rand()&7;
G_DrawWeaponTile(i+weapon_xoffset-4+140-(p->look_ang>>1),i+looking_arc-((*kb)>>1)+208-gun_pos, G_DrawWeaponTile(i+weapon_xoffset-4+140-(p->look_ang>>1),i+looking_arc-((*kb)>>1)+208-gun_pos,
CHAINGUN+5+((*kb-4)/5),gs,o,pal); CHAINGUN+5+((*kb-4)/5),gs,o,pal);
if (sprite[p->i].pal != 1) i = rand()&7; if (sprite[p->i].pal != 1) i = rand()&7;
G_DrawWeaponTile(i+weapon_xoffset-4+184-(p->look_ang>>1),i+looking_arc-((*kb)>>1)+208-gun_pos, G_DrawWeaponTile(i+weapon_xoffset-4+184-(p->look_ang>>1),i+looking_arc-((*kb)>>1)+208-gun_pos,
CHAINGUN+5+((*kb-4)/5),gs,o,pal); CHAINGUN+5+((*kb-4)/5),gs,o,pal);
} }
if (*kb < *aplWeaponTotalTime[CHAINGUN_WEAPON]-4) if (*kb < *aplWeaponTotalTime[CHAINGUN_WEAPON]-4)
{ {
i = rand()&7; i = rand()&7;
G_DrawWeaponTile(i+weapon_xoffset-4+162-(p->look_ang>>1),i+looking_arc-((*kb)>>1)+208-gun_pos, G_DrawWeaponTile(i+weapon_xoffset-4+162-(p->look_ang>>1),i+looking_arc-((*kb)>>1)+208-gun_pos,
CHAINGUN+5+((*kb-2)/5),gs,o,pal); CHAINGUN+5+((*kb-2)/5),gs,o,pal);
G_DrawWeaponTile(weapon_xoffset+178-(p->look_ang>>1),looking_arc+233-gun_pos, G_DrawWeaponTile(weapon_xoffset+178-(p->look_ang>>1),looking_arc+233-gun_pos,
CHAINGUN+1+((*kb)>>1),gs,o,pal); CHAINGUN+1+((*kb)>>1),gs,o,pal);
} }
else G_DrawWeaponTile(weapon_xoffset+178-(p->look_ang>>1),looking_arc+233-gun_pos, else G_DrawWeaponTile(weapon_xoffset+178-(p->look_ang>>1),looking_arc+233-gun_pos,
CHAINGUN+1,gs,o,pal); CHAINGUN+1,gs,o,pal);
break; break;
} }
} }
@ -2709,21 +2709,21 @@ void P_DisplayWeapon(int snum)
} }
G_DrawWeaponTile(weapon_xoffset+184-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+184-(p->look_ang>>1),
looking_arc+240-gun_pos,SHRINKER+3+((*kb)&3),-32, looking_arc+240-gun_pos,SHRINKER+3+((*kb)&3),-32,
o,2); o,2);
G_DrawWeaponTile(weapon_xoffset+188-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+188-(p->look_ang>>1),
looking_arc+240-gun_pos,SHRINKER-1,gs,o,pal); looking_arc+240-gun_pos,SHRINKER-1,gs,o,pal);
} }
else else
{ {
G_DrawWeaponTile(weapon_xoffset+184-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+184-(p->look_ang>>1),
looking_arc+240-gun_pos,SHRINKER+2, looking_arc+240-gun_pos,SHRINKER+2,
16-(sintable[p->random_club_frame&2047]>>10), 16-(sintable[p->random_club_frame&2047]>>10),
o,2); o,2);
G_DrawWeaponTile(weapon_xoffset+188-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+188-(p->look_ang>>1),
looking_arc+240-gun_pos,SHRINKER-2,gs,o,pal); looking_arc+240-gun_pos,SHRINKER-2,gs,o,pal);
} }
} }
} }
@ -2751,22 +2751,22 @@ void P_DisplayWeapon(int snum)
} }
G_DrawWeaponTile(weapon_xoffset+184-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+184-(p->look_ang>>1),
looking_arc+240-gun_pos,SHRINKER+3+((*kb)&3),-32, looking_arc+240-gun_pos,SHRINKER+3+((*kb)&3),-32,
o,0); o,0);
G_DrawWeaponTile(weapon_xoffset+188-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+188-(p->look_ang>>1),
looking_arc+240-gun_pos,SHRINKER+1,gs,o,pal); looking_arc+240-gun_pos,SHRINKER+1,gs,o,pal);
} }
else else
{ {
G_DrawWeaponTile(weapon_xoffset+184-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+184-(p->look_ang>>1),
looking_arc+240-gun_pos,SHRINKER+2, looking_arc+240-gun_pos,SHRINKER+2,
16-(sintable[p->random_club_frame&2047]>>10), 16-(sintable[p->random_club_frame&2047]>>10),
o,0); o,0);
G_DrawWeaponTile(weapon_xoffset+188-(p->look_ang>>1), G_DrawWeaponTile(weapon_xoffset+188-(p->look_ang>>1),
looking_arc+240-gun_pos,SHRINKER,gs,o,pal); looking_arc+240-gun_pos,SHRINKER,gs,o,pal);
} }
} }
break; break;
@ -4080,7 +4080,7 @@ void P_ProcessInput(int snum)
// not jumping or crouching // not jumping or crouching
if (!TEST_SYNC_KEY(sb_snum, SK_JUMP|SK_CROUCH) && p->on_ground && (sector[psect].floorstat&2) && p->posz >= (fz-(i<<8)-(16<<8))) if (!TEST_SYNC_KEY(sb_snum, SK_JUMP) && !TEST_SYNC_KEY(sb_snum, SK_CROUCH) && p->on_ground && (sector[psect].floorstat&2) && p->posz >= (fz-(i<<8)-(16<<8)))
p->posz = fz-(i<<8); p->posz = fz-(i<<8);
else else
{ {

View file

@ -2584,7 +2584,7 @@ void G_HandleSharedKeys(int snum)
} }
// j = sb_snum & ((15<<8)|(1<<12)|(1<<15)|(1<<16)|(1<<22)|(1<<19)|(1<<20)|(1<<21)|(1<<24)|(1<<25)|(1<<27)|(1<<28)|(1<<29)|(1<<30)|(1<<31)); // j = sb_snum & ((15<<8)|(1<<12)|(1<<15)|(1<<16)|(1<<22)|(1<<19)|(1<<20)|(1<<21)|(1<<24)|(1<<25)|(1<<27)|(1<<28)|(1<<29)|(1<<30)|(1<<31));
j = sb_snum & ((15<<8)|BIT(SK_STEROIDS)|BIT(SK_NIGHTVISION)|BIT(SK_MEDKIT)|BIT(SK_QUICK_KICK)| \ j = sb_snum & ((15<<SK_WEAPON_BITS)|BIT(SK_STEROIDS)|BIT(SK_NIGHTVISION)|BIT(SK_MEDKIT)|BIT(SK_QUICK_KICK)| \
BIT(SK_HOLSTER)|BIT(SK_INV_LEFT)|BIT(SK_PAUSE)|BIT(SK_HOLODUKE)|BIT(SK_JETPACK)|BIT(SK_INV_RIGHT)| \ BIT(SK_HOLSTER)|BIT(SK_INV_LEFT)|BIT(SK_PAUSE)|BIT(SK_HOLODUKE)|BIT(SK_JETPACK)|BIT(SK_INV_RIGHT)| \
BIT(SK_TURNAROUND)|BIT(SK_OPEN)|BIT(SK_INVENTORY)|BIT(SK_ESCAPE)); BIT(SK_TURNAROUND)|BIT(SK_OPEN)|BIT(SK_INVENTORY)|BIT(SK_ESCAPE));
sb_snum = j & ~p->interface_toggle_flag; sb_snum = j & ~p->interface_toggle_flag;
@ -2681,7 +2681,7 @@ void G_HandleSharedKeys(int snum)
sb_snum |= BIT(SK_INV_LEFT); // emulate move left... sb_snum |= BIT(SK_INV_LEFT); // emulate move left...
} }
if (p->newowner == -1) if (p->newowner == -1)
if (TEST_SYNC_KEY(sb_snum, SK_INV_LEFT|SK_INV_RIGHT)) if (TEST_SYNC_KEY(sb_snum, SK_INV_LEFT) || TEST_SYNC_KEY(sb_snum, SK_INV_RIGHT))
{ {
p->invdisptime = 26*2; p->invdisptime = 26*2;

View file

@ -194,37 +194,28 @@ void S_MenuSound(void)
void _playmusic(const char *fn) void _playmusic(const char *fn)
{ {
#if defined(_WIN32)
int fp, l; int fp, l;
#else
extern void MUSIC_PlayMusic(char *_filename);
#endif
if (fn == NULL) return; if (fn == NULL) return;
if (ud.config.MusicToggle == 0) return; if (ud.config.MusicToggle == 0) return;
if (ud.config.MusicDevice < 0) return; if (ud.config.MusicDevice < 0) return;
#if defined(_WIN32)
fp = kopen4loadfrommod((char *)fn,0); fp = kopen4loadfrommod((char *)fn,0);
if (fp == -1) return; if (fp == -1) return;
l = kfilelength(fp); l = kfilelength(fp);
MUSIC_StopSong(); MUSIC_StopSong();
g_musicSize=0; if (!MusicPtr) MusicPtr=Bcalloc(1,l * sizeof(char));
if (!MusicPtr)
MusicPtr=Bcalloc(1,l * sizeof(char));
else MusicPtr=Brealloc(MusicPtr,l * sizeof(char)); else MusicPtr=Brealloc(MusicPtr,l * sizeof(char));
g_musicSize=l; g_musicSize=l;
kread(fp, (unsigned char *)MusicPtr, l); kread(fp, (unsigned char *)MusicPtr, l);
kclose(fp); kclose(fp);
MUSIC_PlaySong((unsigned char *)MusicPtr, MUSIC_LoopSong);
#else
// FIXME: I need this to get the music volume initialized (not sure why) -- Jim Bentler // FIXME: I need this to get the music volume initialized (not sure why) -- Jim Bentler
MUSIC_SetVolume(ud.config.MusicVolume); MUSIC_SetVolume(ud.config.MusicVolume);
MUSIC_PlayMusic((char *)fn); MUSIC_PlaySong((unsigned char *)MusicPtr, MUSIC_LoopSong);
#endif
} }
int S_PlayMusic(const char *fn, const int sel) int S_PlayMusic(const char *fn, const int sel)