[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