[prboom+] 03/09: Imported Upstream version 2.5.1.4~svn4453+dfsg1

Fabian Greffrath fabian at moszumanska.debian.org
Wed Oct 28 08:43:38 UTC 2015


This is an automated email from the git hooks/post-receive script.

fabian pushed a commit to branch master
in repository prboom+.

commit cde589178539a847d530f8a3a5ad2d3efffa1126
Author: Fabian Greffrath <fabian+debian at greffrath.com>
Date:   Tue Oct 27 14:48:13 2015 +0100

    Imported Upstream version 2.5.1.4~svn4453+dfsg1
---
 ICONS/Makefile.am      |  2 +-
 ICONS/prboom-plus.bash | 38 ++++++++++++++++++++++++++++++++++++++
 src/MUSIC/flplayer.c   |  5 ++++-
 src/d_event.h          |  1 +
 src/g_game.c           |  9 +++++++++
 src/g_game.h           |  1 +
 src/gl_main.c          |  6 +++---
 src/gl_struct.h        |  2 +-
 src/m_menu.c           |  6 ++----
 src/r_things.c         | 31 ++++++++++++++++---------------
 10 files changed, 76 insertions(+), 25 deletions(-)

diff --git a/ICONS/Makefile.am b/ICONS/Makefile.am
index 1b0c416..85dbe1a 100644
--- a/ICONS/Makefile.am
+++ b/ICONS/Makefile.am
@@ -1,4 +1,4 @@
 #
 
 EXTRA_DIST = icons.rc resource.h prboom-plus.ico prboom-plus.exe.manifest
-EXTRA_DIST += prboom-plus.svg prboom-plus.desktop
+EXTRA_DIST += prboom-plus.svg prboom-plus.desktop prboom-plus.bash
diff --git a/ICONS/prboom-plus.bash b/ICONS/prboom-plus.bash
new file mode 100644
index 0000000..b3f7a5e
--- /dev/null
+++ b/ICONS/prboom-plus.bash
@@ -0,0 +1,38 @@
+# bash completion for PrBoom+                              -*- shell-script -*-
+
+_prboom_plus()
+{
+    local cur prev words cword
+    _init_completion || return
+
+    case $prev in
+        -iwad|-file)
+            _filedir wad
+            ;;
+        -deh)
+            _filedir bex deh
+            ;;
+        -record|-playdemo|-timedemo|-fastdemo|-recordfromto)
+            _filedir lmp
+            ;;
+    esac
+
+    if [[ $cur == -* ]]; then
+        COMPREPLY=( $( compgen -W '-1  -2  -3 -altdeath -aspect -auto -avg
+        -avidemo -bexout -blockmap -boom_deh_parser -complevel -config
+        -deathmatch -debugfile -deh -devparm -emulate -fast -fastdemo -ffmap
+        -file -force_force_boom_brainawake -force_lxdoom_demo_compatibility
+        -force_monster_avoid_hazards -force_no_dropoff -force_prboom_friction
+        -force_remove_slime_trails -force_truncated_sector_specials -fullscreen
+        -geom -height -iwad -levelstat -noaccel -noblit -nocheats -nodraw
+        -nodrawers -nofullscreen -nojoy -nomonsters -nomouse -nomusic -nosfx
+        -nosound -nowindow -playdemo -port -record -recordfromto
+        -reject_pad_with_ff -resetgamma -respawn -save -setmem -shorttics
+        -shotdir -skill -skipsec -solo-net -spechit -timedemo -timer -viddump
+        -videodriver -vidmode -viewangle -warp -width -window' -- "$cur" ) )
+    fi
+} &&
+
+complete -F _prboom_plus prboom-plus
+
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/src/MUSIC/flplayer.c b/src/MUSIC/flplayer.c
index c356db9..592520f 100644
--- a/src/MUSIC/flplayer.c
+++ b/src/MUSIC/flplayer.c
@@ -67,6 +67,7 @@ const music_player_t fl_player =
 
 #include <fluidsynth.h>
 #include "i_sound.h" // for snd_soundfont, mus_fluidsynth_gain
+#include "i_system.h" // for I_FindFile()
 #include "lprintf.h"
 #include "midifile.h"
 #include <stdlib.h>
@@ -104,6 +105,7 @@ static const char *fl_name (void)
 
 static int fl_init (int samplerate)
 {
+  const char *filename;
 #ifdef _WIN32
   #ifndef _MSC_VER
   int __stdcall GetVersion (void);
@@ -176,7 +178,8 @@ static int fl_init (int samplerate)
     return 0;
   }
 
-  f_font = fluid_synth_sfload (f_syn, snd_soundfont, 1);
+  filename = I_FindFile2(snd_soundfont, ".sf2");
+  f_font = fluid_synth_sfload (f_syn, filename, 1);
 
   if (f_font == FLUID_FAILED)
   {
diff --git a/src/d_event.h b/src/d_event.h
index 61d2e65..5a33e42 100644
--- a/src/d_event.h
+++ b/src/d_event.h
@@ -73,6 +73,7 @@ typedef enum
   ga_completed,
   ga_victory,
   ga_worlddone,
+  ga_screenshot
 } gameaction_t;
 
 
diff --git a/src/g_game.c b/src/g_game.c
index 887c5a1..ec5e2fc 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -1082,6 +1082,10 @@ void G_Ticker (void)
         case ga_worlddone:
           G_DoWorldDone ();
           break;
+        case ga_screenshot:
+          M_ScreenShot ();
+          gameaction = ga_nothing;
+          break;
         case ga_nothing:
           break;
         }
@@ -1505,6 +1509,11 @@ void G_DoReborn (int playernum)
     }
 }
 
+void G_ScreenShot (void)
+{
+  gameaction = ga_screenshot;
+}
+
 // DOOM Par Times
 int pars[5][10] = {
   {0},
diff --git a/src/g_game.h b/src/g_game.h
index 8addc6e..ce68a5a 100644
--- a/src/g_game.h
+++ b/src/g_game.h
@@ -63,6 +63,7 @@ void G_SecretExitLevel(void);
 void G_WorldDone(void);
 void G_EndGame(void); /* cph - make m_menu.c call a G_* function for this */
 void G_Ticker(void);
+void G_ScreenShot(void);
 void G_ReloadDefaults(void);     // killough 3/1/98: loads game defaults
 int  G_SaveGameName(char *, size_t, int, dboolean); /* killough 3/22/98: sets savegame filename */
 void G_SetFastParms(int);        // killough 4/10/98: sets -fast parameters
diff --git a/src/gl_main.c b/src/gl_main.c
index d446865..80f6a3a 100644
--- a/src/gl_main.c
+++ b/src/gl_main.c
@@ -2407,7 +2407,7 @@ static void gld_DrawHealthBars(void)
   }
 }
 
-void gld_ProjectSprite(mobj_t* thing)
+void gld_ProjectSprite(mobj_t* thing, int lightlevel)
 {
   fixed_t   tx;
   spritedef_t   *sprdef;
@@ -2607,8 +2607,8 @@ void gld_ProjectSprite(mobj_t* thing)
   }
   else
   {
-    sprite.light = gld_CalcLightLevel(thing->subsector->sector->lightlevel+(extralight<<5));
-    sprite.fogdensity = gld_CalcFogDensity(thing->subsector->sector, thing->subsector->sector->lightlevel, GLDIT_SPRITE);
+    sprite.light = gld_CalcLightLevel(lightlevel+(extralight<<5));
+    sprite.fogdensity = gld_CalcFogDensity(thing->subsector->sector, lightlevel, GLDIT_SPRITE);
   }
   sprite.cm = CR_LIMIT + (int)((thing->flags & MF_TRANSLATION) >> (MF_TRANSSHIFT));
   sprite.gltexture = gld_RegisterPatch(lump, sprite.cm);
diff --git a/src/gl_struct.h b/src/gl_struct.h
index a7cbc07..4dc2552 100644
--- a/src/gl_struct.h
+++ b/src/gl_struct.h
@@ -126,7 +126,7 @@ void gld_InitDrawScene(void);
 void gld_StartDrawScene(void);
 void gld_AddPlane(int subsectornum, visplane_t *floor, visplane_t *ceiling);
 void gld_AddWall(seg_t *seg);
-void gld_ProjectSprite(mobj_t* thing);
+void gld_ProjectSprite(mobj_t* thing, int lightlevel);
 void gld_DrawScene(player_t *player);
 void gld_EndDrawScene(void);
 void gld_Finish();
diff --git a/src/m_menu.c b/src/m_menu.c
index 542cc06..3ef3eb9 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -4549,12 +4549,10 @@ dboolean M_Responder (event_t* ev) {
     return true;
   }
 
-  /* killough 2/22/98: add support for screenshot key:
-   * cph 2001/02/04: no need for this to be a gameaction, just do it
-   */
+  // killough 2/22/98: add support for screenshot key:
   if (ch == key_screenshot)
     {
-    M_ScreenShot ();
+    G_ScreenShot ();
     // Don't eat the keypress in this case. See sf bug #1843280.
     }
 
diff --git a/src/r_things.c b/src/r_things.c
index 223c5e6..0c16736 100644
--- a/src/r_things.c
+++ b/src/r_things.c
@@ -494,6 +494,13 @@ void R_DrawMaskedColumn(
   dcvars->texturemid = basetexturemid;
 }
 
+static void R_SetSpritelights(int lightlevel)
+{
+  int lightnum = (lightlevel >> LIGHTSEGSHIFT) + (extralight * LIGHTBRIGHT);
+  spritelights = scalelight[BETWEEN(0, LIGHTLEVELS - 1, lightnum)];
+}
+
+
 //
 // R_DrawVisSprite
 //  mfloorclip and mceilingclip should also be set.
@@ -601,7 +608,7 @@ void R_SetClipPlanes(void)
 // Generates a vissprite for a thing if it might be visible.
 //
 
-static void R_ProjectSprite (mobj_t* thing)
+static void R_ProjectSprite (mobj_t* thing, int lightlevel)
 {
   fixed_t   gzt;               // killough 3/27/98
   fixed_t   tx;
@@ -627,7 +634,7 @@ static void R_ProjectSprite (mobj_t* thing)
 #ifdef GL_DOOM
   if (V_GetMode() == VID_MODEGL)
   {
-    gld_ProjectSprite(thing);
+    gld_ProjectSprite(thing, lightlevel);
     return;
   }
 #endif
@@ -806,6 +813,8 @@ static void R_ProjectSprite (mobj_t* thing)
     vis->startfrac += vis->xiscale*(vis->x1-x1);
   vis->patch = lump;
 
+  R_SetSpritelights(lightlevel);
+
   // get light level
   if (thing->flags & MF_SHADOW)
       vis->colormap = NULL;             // shadow draw
@@ -831,14 +840,9 @@ void R_AddSprites(subsector_t* subsec, int lightlevel)
 {
   sector_t* sec=subsec->sector;
   mobj_t *thing;
-  int lightnum;
 
   if (compatibility_level <= boom_202_compatibility)
-  {
     lightlevel = sec->lightlevel;
-  }
-  lightnum = (lightlevel >> LIGHTSEGSHIFT) + (extralight * LIGHTBRIGHT);
-  spritelights = scalelight[BETWEEN(0, LIGHTLEVELS - 1, lightnum)];
 
   // Handle all things in sector.
 
@@ -850,7 +854,7 @@ void R_AddSprites(subsector_t* subsec, int lightlevel)
       for (thing = sec->thinglist; thing; thing = thing->snext)
       {
         if (!ALIVE(thing))
-          R_ProjectSprite(thing);
+          R_ProjectSprite(thing, lightlevel);
       }
     }
   }
@@ -859,7 +863,7 @@ void R_AddSprites(subsector_t* subsec, int lightlevel)
   {
     for (thing = sec->thinglist; thing; thing = thing->snext)
     {
-      R_ProjectSprite(thing);
+      R_ProjectSprite(thing, lightlevel);
     }
   }
 }
@@ -882,7 +886,7 @@ void R_AddAllAliveMonstersSprites(void)
       if (ALIVE(thing))
       {
         thing->flags |= MF_NO_DEPTH_TEST;
-        R_ProjectSprite(thing);
+        R_ProjectSprite(thing, 255);
         thing->flags &= ~MF_NO_DEPTH_TEST;
       }
     }
@@ -1065,17 +1069,14 @@ static void R_DrawPSprite (pspdef_t *psp)
 
 void R_DrawPlayerSprites(void)
 {
-  int i, lightnum;
+  int i;
   pspdef_t *psp;
 
   if (walkcamera.type != 0)
     return;
 
   // get light level
-  lightnum = (viewplayer->mo->subsector->sector->lightlevel >> LIGHTSEGSHIFT)
-    + (extralight * LIGHTBRIGHT);
-
-  spritelights = scalelight[BETWEEN(0, LIGHTLEVELS - 1, lightnum)];
+  R_SetSpritelights(viewplayer->mo->subsector->sector->lightlevel);
 
   // clip to screen bounds
   mfloorclip = screenheightarray;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/prboom+.git



More information about the Pkg-games-commits mailing list