From 695829d3578964dc99d62530abd9fdee74cc5541 Mon Sep 17 00:00:00 2001 From: terminx Date: Tue, 30 Dec 2008 03:41:21 +0000 Subject: [PATCH] git-svn-id: https://svn.eduke32.com/eduke32@1196 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/build/src/build.c | 2 +- polymer/eduke32/source/astub.c | 50 +++++++++++++++++++++++----- polymer/eduke32/source/global.c | 2 +- polymer/eduke32/source/savegame.c | 55 +++++++++++++++++++++++++++++++ 4 files changed, 98 insertions(+), 11 deletions(-) diff --git a/polymer/eduke32/build/src/build.c b/polymer/eduke32/build/src/build.c index cc7d97f29..26c9e27e5 100644 --- a/polymer/eduke32/build/src/build.c +++ b/polymer/eduke32/build/src/build.c @@ -4165,7 +4165,7 @@ SKIP: } else { - if (keystatus[buildkeys[BK_RUN]]) + if (keystatus[buildkeys[BK_RUN]] || keystatus[0x36]) { if (--graphicsmode < 0) graphicsmode = 2; diff --git a/polymer/eduke32/source/astub.c b/polymer/eduke32/source/astub.c index 9ffb4d3e0..34923b863 100644 --- a/polymer/eduke32/source/astub.c +++ b/polymer/eduke32/source/astub.c @@ -44,7 +44,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include #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 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 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 -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();