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

This commit is contained in:
terminx 2008-12-30 03:41:21 +00:00
parent e56fc49d8e
commit 695829d357
4 changed files with 98 additions and 11 deletions

View file

@ -4165,7 +4165,7 @@ SKIP:
}
else
{
if (keystatus[buildkeys[BK_RUN]])
if (keystatus[buildkeys[BK_RUN]] || keystatus[0x36])
{
if (--graphicsmode < 0)
graphicsmode = 2;

View file

@ -44,7 +44,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <shellapi.h>
#endif
#define BUILDDATE " 20081226"
#define BUILDDATE " 20081228"
#define VERSION " 1.2.0devel"
static int floor_over_floor;
@ -6798,6 +6798,19 @@ static void Keys2d(void)
}
}
if (keystatus[KEYSC_E]) // E (expand)
{
for (i=0;i<numsectors;i++)
if (inside(mousxplc,mousyplc,i) == 1)
{
sector[i].floorstat ^= 8;
message("Sector %d floor texture expansion bit %s",i,sector[i].floorstat&8?"ON":"OFF");
asksave = 1;
}
keystatus[KEYSC_E] = 0;
}
if (keystatus[KEYSC_SLASH]) // /? Reset panning&repeat to 0
{
if ((ppointhighlight&0xc000) == 16384)
@ -6816,46 +6829,65 @@ static void Keys2d(void)
asksave = 1;
}
if (keystatus[KEYSC_gLEFT] || keystatus[KEYSC_gRIGHT]) // 4 & 6 (keypad)
if (keystatus[KEYSC_gLEFT] || keystatus[KEYSC_gRIGHT]) // 4 & 6 (keypad 2D)
{
smooshyalign = keystatus[KEYSC_gKP5];
if ((repeatcountx == 0) || (repeatcountx > 16))
if ((repeatcountx == 0) || (repeatcountx > 32))
{
changedir = 0;
if (keystatus[KEYSC_gLEFT]) changedir = -1;
if (keystatus[KEYSC_gRIGHT]) changedir = 1;
if ((ppointhighlight&0xc000) == 16384)
if ((ppointhighlight&0xc000) == 16384 && (sprite[cursprite].cstat & 48))
{
sprite[cursprite].xrepeat = changechar(sprite[cursprite].xrepeat,changedir,smooshyalign,1);
if (sprite[cursprite].xrepeat < 4)
sprite[cursprite].xrepeat = 4;
}
else
{
for (i=0;i<numsectors;i++)
if (inside(mousxplc,mousyplc,i) == 1)
{
sector[i].floorxpanning = changechar(sector[i].floorxpanning,changedir,smooshyalign,0);
message("Sector %d floor panning: %d, %d",searchsector,sector[i].floorxpanning,sector[i].floorypanning);
}
}
asksave = 1;
repeatcountx = max(1,repeatcountx);
repeatcountx = max(1,repeatcountx-2);
}
repeatcountx += synctics;
}
else
repeatcountx = 0;
if (keystatus[KEYSC_gUP] || keystatus[KEYSC_gDOWN]) // 2 & 8 (keypad)
if (keystatus[KEYSC_gUP] || keystatus[KEYSC_gDOWN]) // 2 & 8 (keypad 2D)
{
smooshyalign = keystatus[KEYSC_gKP5];
if ((repeatcounty == 0) || (repeatcounty > 16))
if ((repeatcounty == 0) || (repeatcounty > 32))
{
changedir = 0;
if (keystatus[KEYSC_gUP]) changedir = -1;
if (keystatus[KEYSC_gDOWN]) changedir = 1;
if ((ppointhighlight&0xc000) == 16384)
if ((ppointhighlight&0xc000) == 16384 && (sprite[cursprite].cstat & 48))
{
sprite[cursprite].yrepeat = changechar(sprite[cursprite].yrepeat,changedir,smooshyalign,1);
if (sprite[cursprite].yrepeat < 4)
sprite[cursprite].yrepeat = 4;
}
else
{
for (i=0;i<numsectors;i++)
if (inside(mousxplc,mousyplc,i) == 1)
{
sector[i].floorypanning = changechar(sector[i].floorypanning,changedir,smooshyalign,0);
message("Sector %d floor panning: %d, %d",searchsector,sector[i].floorxpanning,sector[i].floorypanning);
}
}
asksave = 1;
repeatcounty = max(1,repeatcounty);
repeatcounty = max(1,repeatcounty-2);
}
repeatcounty += synctics;
//}

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//-------------------------------------------------------------------------
#include "duke3d.h"
const char *s_buildDate = "20081226";
const char *s_buildDate = "20081228";
char *MusicPtr = NULL;
int g_musicSize;

View file

@ -423,6 +423,61 @@ int G_LoadPlayer(int spot)
i = g_musicIndex;
g_musicIndex = (ud.volume_number*MAXLEVELS) + ud.level_number;
if (boardfilename[0] != 0 && ud.level_number == 7 && ud.volume_number == 0)
{
char *p;
char levname[BMAX_PATH];
int fil;
strcpy(levname, boardfilename);
// usermap music based on map filename
Bcorrectfilename(levname,0);
p = Bstrrchr(levname,'.');
if (!p) strcat(levname,".ogg");
else
{
p[1]='o';
p[2]='g';
p[3]='g';
p[4]=0;
}
fil = kopen4loadfrommod(levname,0);
if (fil > -1)
{
kclose(fil);
if (MapInfo[ud.level_number].musicfn1 == NULL)
MapInfo[ud.level_number].musicfn1 = Bcalloc(Bstrlen(levname)+1,sizeof(char));
else if ((Bstrlen(levname)+1) > sizeof(MapInfo[ud.level_number].musicfn1))
MapInfo[ud.level_number].musicfn1 = Brealloc(MapInfo[ud.level_number].musicfn1,(Bstrlen(levname)+1));
Bstrcpy(MapInfo[ud.level_number].musicfn1,levname);
}
else if (MapInfo[ud.level_number].musicfn1 != NULL)
{
Bfree(MapInfo[ud.level_number].musicfn1);
MapInfo[ud.level_number].musicfn1 = NULL;
}
p[1]='m';
p[2]='i';
p[3]='d';
p[4]=0;
fil = kopen4loadfrommod(levname,0);
if (fil == -1)
Bsprintf(levname,"dethtoll.mid");
else kclose(fil);
if (MapInfo[ud.level_number].musicfn == NULL)
MapInfo[ud.level_number].musicfn = Bcalloc(Bstrlen(levname)+1,sizeof(char));
else if ((Bstrlen(levname)+1) > sizeof(MapInfo[ud.level_number].musicfn))
MapInfo[ud.level_number].musicfn = Brealloc(MapInfo[ud.level_number].musicfn,(Bstrlen(levname)+1));
Bstrcpy(MapInfo[ud.level_number].musicfn,levname);
}
if (MapInfo[(unsigned char)g_musicIndex].musicfn != NULL && (i != g_musicIndex || MapInfo[MAXVOLUMES*MAXLEVELS+2].musicfn1))
{
MUSIC_StopSong();