Removed SDL Gammaramp code (obsolete); Improvements on Demo code
This commit is contained in:
parent
4c1b4084f8
commit
66ed0f62f1
|
@ -4,6 +4,7 @@ D2X-Rebirth Changelog
|
||||||
--------
|
--------
|
||||||
main/network.c: fix typo causing compiler error on bigendian computers
|
main/network.c: fix typo causing compiler error on bigendian computers
|
||||||
2d/font.c: make sure a font header only takes up sizeof(grs_font) memory, not sizeof(grs_font) squared
|
2d/font.c: make sure a font header only takes up sizeof(grs_font) memory, not sizeof(grs_font) squared
|
||||||
|
arch/ogl/gr.c, arch/ogl/include/ogl_init.h, arch/ogl/sdlgl.c, include/args.h, main/inferno.c, main/menu.c, main/newdemo.c, misc/args.c: Removed SDL Gammaramp code (obsolete); Improvements on Demo code
|
||||||
|
|
||||||
20080108
|
20080108
|
||||||
--------
|
--------
|
||||||
|
|
|
@ -159,7 +159,7 @@ void ogl_get_verinfo(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
con_printf(CON_VERBOSE, "gl_intensity4:%i gl_luminance4_alpha4:%i gl_rgba2:%i gl_readpixels:%i gl_gettexlevelparam:%i gl_setgammaramp_ok:%i\n", GameArg.DbgGlIntensity4Ok, GameArg.DbgGlLuminance4Alpha4Ok, GameArg.DbgGlRGBA2Ok, GameArg.DbgGlReadPixelsOk, GameArg.DbgGlGetTexLevelParamOk, GameArg.DbgGlSetGammaRampOk);
|
con_printf(CON_VERBOSE, "gl_intensity4:%i gl_luminance4_alpha4:%i gl_rgba2:%i gl_readpixels:%i gl_gettexlevelparam:%i\n", GameArg.DbgGlIntensity4Ok, GameArg.DbgGlLuminance4Alpha4Ok, GameArg.DbgGlRGBA2Ok, GameArg.DbgGlReadPixelsOk, GameArg.DbgGlGetTexLevelParamOk);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -323,7 +323,6 @@ int gr_init(int mode)
|
||||||
void gr_close()
|
void gr_close()
|
||||||
{
|
{
|
||||||
ogl_brightness_r = ogl_brightness_g = ogl_brightness_b = 0;
|
ogl_brightness_r = ogl_brightness_g = ogl_brightness_b = 0;
|
||||||
ogl_setbrightness_internal();
|
|
||||||
|
|
||||||
ogl_close();//platform specific code
|
ogl_close();//platform specific code
|
||||||
if (grd_curscreen){
|
if (grd_curscreen){
|
||||||
|
@ -438,13 +437,7 @@ void gr_palette_step_up(int r, int g, int b)
|
||||||
ogl_brightness_g = max(g + gr_palette_gamma, 0);
|
ogl_brightness_g = max(g + gr_palette_gamma, 0);
|
||||||
ogl_brightness_b = max(b + gr_palette_gamma, 0);
|
ogl_brightness_b = max(b + gr_palette_gamma, 0);
|
||||||
|
|
||||||
if (GameArg.DbgGlSetGammaRampOk &&
|
if (!ogl_brightness_ok)
|
||||||
(old_b_r != ogl_brightness_r ||
|
|
||||||
old_b_g != ogl_brightness_g ||
|
|
||||||
old_b_b != ogl_brightness_b))
|
|
||||||
ogl_brightness_ok = !ogl_setbrightness_internal();
|
|
||||||
|
|
||||||
if (!GameArg.DbgGlSetGammaRampOk || !ogl_brightness_ok)
|
|
||||||
{
|
{
|
||||||
last_r = ogl_brightness_r / 63.0;
|
last_r = ogl_brightness_r / 63.0;
|
||||||
last_g = ogl_brightness_g / 63.0;
|
last_g = ogl_brightness_g / 63.0;
|
||||||
|
|
|
@ -16,7 +16,6 @@ void ogl_vivify_texture_list_internal(void);
|
||||||
|
|
||||||
extern int ogl_brightness_ok;
|
extern int ogl_brightness_ok;
|
||||||
extern int ogl_brightness_r, ogl_brightness_g, ogl_brightness_b;
|
extern int ogl_brightness_r, ogl_brightness_g, ogl_brightness_b;
|
||||||
int ogl_setbrightness_internal(void);
|
|
||||||
extern int ogl_fullscreen;
|
extern int ogl_fullscreen;
|
||||||
void ogl_do_fullscreen_internal(void);
|
void ogl_do_fullscreen_internal(void);
|
||||||
|
|
||||||
|
|
|
@ -27,26 +27,6 @@ void ogl_do_fullscreen_internal(void){
|
||||||
ogl_init_window(curx,cury);
|
ogl_init_window(curx,cury);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Uint16 gammaramp[512];
|
|
||||||
|
|
||||||
static void init_gammaramp(void)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < 256; ++i)
|
|
||||||
gammaramp[i] = i * 256;
|
|
||||||
for (i = 256; i < 512; ++i)
|
|
||||||
gammaramp[i] = 0xffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
int ogl_setbrightness_internal(void)
|
|
||||||
{
|
|
||||||
return SDL_SetGammaRamp(gammaramp + ogl_brightness_r * 4,
|
|
||||||
gammaramp + ogl_brightness_g * 4,
|
|
||||||
gammaramp + ogl_brightness_b * 4
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ogl_swap_buffers_internal(void)
|
void ogl_swap_buffers_internal(void)
|
||||||
{
|
{
|
||||||
SDL_GL_SwapBuffers();
|
SDL_GL_SwapBuffers();
|
||||||
|
@ -107,8 +87,6 @@ void ogl_init(void){
|
||||||
SDL_GL_SetAttribute(SDL_GL_ACCUM_BLUE_SIZE,0);
|
SDL_GL_SetAttribute(SDL_GL_ACCUM_BLUE_SIZE,0);
|
||||||
SDL_GL_SetAttribute(SDL_GL_ACCUM_ALPHA_SIZE,0);
|
SDL_GL_SetAttribute(SDL_GL_ACCUM_ALPHA_SIZE,0);
|
||||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,1);
|
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,1);
|
||||||
|
|
||||||
init_gammaramp();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ogl_close(void){
|
void ogl_close(void){
|
||||||
|
|
|
@ -107,7 +107,6 @@ typedef struct Arg
|
||||||
int DbgGlRGBA2Ok;
|
int DbgGlRGBA2Ok;
|
||||||
int DbgGlReadPixelsOk;
|
int DbgGlReadPixelsOk;
|
||||||
int DbgGlGetTexLevelParamOk;
|
int DbgGlGetTexLevelParamOk;
|
||||||
int DbgGlSetGammaRampOk;
|
|
||||||
#else
|
#else
|
||||||
int DbgSdlHWSurface;
|
int DbgSdlHWSurface;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -240,7 +240,6 @@ void print_commandline_help()
|
||||||
printf( " -gl_rgba2_ok <n> %s\n", "Override DbgGlRGBA2Ok - Default: 1");
|
printf( " -gl_rgba2_ok <n> %s\n", "Override DbgGlRGBA2Ok - Default: 1");
|
||||||
printf( " -gl_readpixels_ok <n> %s\n", "Override DbgGlReadPixelsOk - Default: 1");
|
printf( " -gl_readpixels_ok <n> %s\n", "Override DbgGlReadPixelsOk - Default: 1");
|
||||||
printf( " -gl_gettexlevelparam_ok <n> %s\n", "Override DbgGlGetTexLevelParamOk - Default: 1");
|
printf( " -gl_gettexlevelparam_ok <n> %s\n", "Override DbgGlGetTexLevelParamOk - Default: 1");
|
||||||
printf( " -gl_setgammaramp_ok <n> %s\n", "Override DbgGlSetGammaRampOk - Default: 0");
|
|
||||||
#else
|
#else
|
||||||
printf( " -hwsurface %s\n", "Use HW Surface");
|
printf( " -hwsurface %s\n", "Use HW Surface");
|
||||||
#endif
|
#endif
|
||||||
|
|
53
main/menu.c
53
main/menu.c
|
@ -126,7 +126,6 @@ extern int Speedtest_on;
|
||||||
void do_sound_menu();
|
void do_sound_menu();
|
||||||
void do_toggles_menu();
|
void do_toggles_menu();
|
||||||
|
|
||||||
ubyte do_auto_demo = 1; // Flag used to enable auto demo starting in main menu.
|
|
||||||
int Player_default_difficulty; // Last difficulty level chosen by the player
|
int Player_default_difficulty; // Last difficulty level chosen by the player
|
||||||
int Auto_leveling_on = 1;
|
int Auto_leveling_on = 1;
|
||||||
int Guided_in_big_window = 0;
|
int Guided_in_big_window = 0;
|
||||||
|
@ -158,37 +157,37 @@ void autodemo_menu_check(int nitems, newmenu_item * items, int *last_key, int ci
|
||||||
// Don't allow them to hit ESC in the main menu.
|
// Don't allow them to hit ESC in the main menu.
|
||||||
if (*last_key==KEY_ESC) *last_key = 0;
|
if (*last_key==KEY_ESC) *last_key = 0;
|
||||||
|
|
||||||
if ( do_auto_demo ) {
|
curtime = timer_get_approx_seconds();
|
||||||
curtime = timer_get_approx_seconds();
|
if ( keyd_time_when_last_pressed+i2f(25) < curtime || GameArg.SysAutoDemo )
|
||||||
if ( (((keyd_time_when_last_pressed+i2f(25)) < curtime || curtime+i2f(25) < keyd_time_when_last_pressed) && (!Speedtest_on)) || GameArg.SysAutoDemo ) {
|
{
|
||||||
int n_demos;
|
int n_demos;
|
||||||
|
n_demos = newdemo_count_demos();
|
||||||
n_demos = newdemo_count_demos();
|
|
||||||
|
|
||||||
try_again:;
|
try_again:;
|
||||||
if (((d_rand() % (n_demos+1)) == 0) && !GameArg.SysAutoDemo)
|
if (((d_rand() % (n_demos+1)) == 0) && !GameArg.SysAutoDemo)
|
||||||
{
|
{
|
||||||
#ifndef SHAREWARE
|
#ifndef SHAREWARE
|
||||||
#ifdef OGL
|
#ifdef OGL
|
||||||
Screen_mode = -1;
|
Screen_mode = -1;
|
||||||
#endif
|
#endif
|
||||||
PlayMovie("intro.mve",0);
|
PlayMovie("intro.mve",0);
|
||||||
songs_play_song(SONG_TITLE,1);
|
songs_play_song(SONG_TITLE,1);
|
||||||
*last_key = -3; //exit menu to force redraw even if not going to game mode. -3 tells menu system not to restore
|
*last_key = -3; //exit menu to force redraw even if not going to game mode. -3 tells menu system not to restore
|
||||||
set_screen_mode(SCREEN_MENU);
|
set_screen_mode(SCREEN_MENU);
|
||||||
#endif // end of ifndef shareware
|
#endif // end of ifndef shareware
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
WIN(HideCursorW());
|
{
|
||||||
keyd_time_when_last_pressed = curtime; // Reset timer so that disk won't thrash if no demos.
|
WIN(HideCursorW());
|
||||||
newdemo_start_playback(NULL); // Randomly pick a file
|
if (curtime < 0) curtime = 0;
|
||||||
if (Newdemo_state == ND_STATE_PLAYBACK) {
|
keyd_time_when_last_pressed = curtime; // Reset timer so that disk won't thrash if no demos.
|
||||||
Function_mode = FMODE_GAME;
|
newdemo_start_playback(NULL); // Randomly pick a file
|
||||||
*last_key = -3; //exit menu to get into game mode. -3 tells menu system not to restore
|
if (Newdemo_state == ND_STATE_PLAYBACK) {
|
||||||
}
|
Function_mode = FMODE_GAME;
|
||||||
else
|
*last_key = -3; //exit menu to get into game mode. -3 tells menu system not to restore
|
||||||
goto try_again; //keep trying until we get a demo that works
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
goto try_again; //keep trying until we get a demo that works
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,7 +206,6 @@ fix nd_playback_total;
|
||||||
fix nd_recorded_total;
|
fix nd_recorded_total;
|
||||||
fix nd_recorded_time;
|
fix nd_recorded_time;
|
||||||
sbyte playback_style;
|
sbyte playback_style;
|
||||||
sbyte First_time_playback=1;
|
|
||||||
fix JasonPlaybackTotal=0;
|
fix JasonPlaybackTotal=0;
|
||||||
|
|
||||||
|
|
||||||
|
@ -1449,8 +1448,8 @@ void newdemo_set_new_level(int level_num)
|
||||||
|
|
||||||
int newdemo_read_demo_start(int rnd_demo)
|
int newdemo_read_demo_start(int rnd_demo)
|
||||||
{
|
{
|
||||||
sbyte i, version, game_type, laser_level;
|
sbyte i, version, game_type, laser_level, c;
|
||||||
sbyte c, energy, shield;
|
ubyte energy, shield;
|
||||||
char text[128], current_mission[9];
|
char text[128], current_mission[9];
|
||||||
|
|
||||||
Rear_view=0;
|
Rear_view=0;
|
||||||
|
@ -1564,8 +1563,8 @@ int newdemo_read_demo_start(int rnd_demo)
|
||||||
|
|
||||||
nd_recorded_total = 0;
|
nd_recorded_total = 0;
|
||||||
nd_playback_total = 0;
|
nd_playback_total = 0;
|
||||||
nd_read_byte(&energy);
|
nd_read_byte((sbyte*)&energy);
|
||||||
nd_read_byte(&shield);
|
nd_read_byte((sbyte*)&shield);
|
||||||
|
|
||||||
nd_read_int((int *)&(Players[Player_num].flags));
|
nd_read_int((int *)&(Players[Player_num].flags));
|
||||||
if (Players[Player_num].flags & PLAYER_FLAGS_CLOAKED) {
|
if (Players[Player_num].flags & PLAYER_FLAGS_CLOAKED) {
|
||||||
|
@ -2360,13 +2359,14 @@ int newdemo_read_frame_information()
|
||||||
}
|
}
|
||||||
|
|
||||||
case ND_EVENT_CLOAKING_WALL: {
|
case ND_EVENT_CLOAKING_WALL: {
|
||||||
sbyte back_wall_num,front_wall_num,type,state,cloak_value;
|
sbyte type,state,cloak_value;
|
||||||
|
ubyte back_wall_num,front_wall_num;
|
||||||
short l0,l1,l2,l3;
|
short l0,l1,l2,l3;
|
||||||
segment *segp;
|
segment *segp;
|
||||||
int sidenum;
|
int sidenum;
|
||||||
|
|
||||||
nd_read_byte(&front_wall_num);
|
nd_read_byte((sbyte*)&front_wall_num);
|
||||||
nd_read_byte(&back_wall_num);
|
nd_read_byte((sbyte*)&back_wall_num);
|
||||||
nd_read_byte(&type);
|
nd_read_byte(&type);
|
||||||
nd_read_byte(&state);
|
nd_read_byte(&state);
|
||||||
nd_read_byte(&cloak_value);
|
nd_read_byte(&cloak_value);
|
||||||
|
@ -2690,7 +2690,7 @@ void interpolate_frame(fix d_play, fix d_recorded)
|
||||||
// Some of this code taken from ai_turn_towards_vector
|
// Some of this code taken from ai_turn_towards_vector
|
||||||
// Don't do the interpolation on certain render types which don't use an orientation matrix
|
// Don't do the interpolation on certain render types which don't use an orientation matrix
|
||||||
|
|
||||||
if (!((render_type == RT_LASER) || (render_type == RT_FIREBALL) || (render_type == RT_POWERUP))) {
|
if (!((render_type == RT_LASER) || (render_type == RT_FIREBALL) || (render_type == RT_POWERUP) || (render_type == RT_WEAPON_VCLIP))) {
|
||||||
|
|
||||||
vms_vector fvec1, fvec2, rvec1, rvec2;
|
vms_vector fvec1, fvec2, rvec1, rvec2;
|
||||||
fix mag1;
|
fix mag1;
|
||||||
|
@ -3207,8 +3207,8 @@ void newdemo_start_playback(char * filename)
|
||||||
#ifdef NETWORK
|
#ifdef NETWORK
|
||||||
change_playernum_to(0);
|
change_playernum_to(0);
|
||||||
#endif
|
#endif
|
||||||
First_time_playback=1;
|
|
||||||
JasonPlaybackTotal=0;
|
JasonPlaybackTotal=0;
|
||||||
|
Newdemo_flying_guided=0;
|
||||||
|
|
||||||
if (filename)
|
if (filename)
|
||||||
strcat(filename2, filename);
|
strcat(filename2, filename);
|
||||||
|
@ -3242,6 +3242,10 @@ void newdemo_start_playback(char * filename)
|
||||||
|
|
||||||
if (NumFiles > RandFileNum)
|
if (NumFiles > RandFileNum)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// if in random mode, PhysFS may look for all possible files, so check if filename actually points to be a demo file...
|
||||||
|
if (strncasecmp(".dem",&filename2[strlen(filename2)-4],4))
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
infile = PHYSFSX_openReadBuffered(filename2);
|
infile = PHYSFSX_openReadBuffered(filename2);
|
||||||
|
@ -3289,6 +3293,7 @@ void newdemo_stop_playback()
|
||||||
{
|
{
|
||||||
PHYSFS_close(infile);
|
PHYSFS_close(infile);
|
||||||
Newdemo_state = ND_STATE_NORMAL;
|
Newdemo_state = ND_STATE_NORMAL;
|
||||||
|
Newdemo_flying_guided=0;
|
||||||
#ifdef NETWORK
|
#ifdef NETWORK
|
||||||
change_playernum_to(0); //this is reality
|
change_playernum_to(0); //this is reality
|
||||||
#endif
|
#endif
|
||||||
|
@ -3407,12 +3412,11 @@ void DoJasonInterpolate (fix recorded_time)
|
||||||
|
|
||||||
JasonPlaybackTotal+=FrameTime;
|
JasonPlaybackTotal+=FrameTime;
|
||||||
|
|
||||||
if (!First_time_playback)
|
if (recorded_time > 0)
|
||||||
{
|
{
|
||||||
// get the difference between the recorded time and the playback time
|
|
||||||
the_delay=(recorded_time - FrameTime);
|
the_delay=(recorded_time - FrameTime);
|
||||||
//mprintf ((0,"The delay=%d\n", f2i(the_delay)));
|
|
||||||
if (!the_delay >= f0_0)
|
if (the_delay < f0_0)
|
||||||
{
|
{
|
||||||
while (JasonPlaybackTotal > nd_recorded_total)
|
while (JasonPlaybackTotal > nd_recorded_total)
|
||||||
if (newdemo_read_frame_information() == -1)
|
if (newdemo_read_frame_information() == -1)
|
||||||
|
@ -3422,7 +3426,6 @@ void DoJasonInterpolate (fix recorded_time)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
First_time_playback=0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MACINTOSH
|
#ifdef MACINTOSH
|
||||||
|
|
|
@ -1953,7 +1953,7 @@ int newmenu_get_filename(char *title, char *type, char *filename, int allow_abor
|
||||||
w_x=w_y=w_w=w_h=title_height=0;
|
w_x=w_y=w_w=w_h=title_height=0;
|
||||||
box_x=box_y=box_w=box_h=0;
|
box_x=box_y=box_w=box_h=0;
|
||||||
|
|
||||||
filenames = d_malloc( MAX_FILES * 14 );
|
filenames = d_malloc( MAX_FILES * 140 );
|
||||||
if (filenames==NULL) return 0;
|
if (filenames==NULL) return 0;
|
||||||
|
|
||||||
citem = 0;
|
citem = 0;
|
||||||
|
|
|
@ -269,7 +269,6 @@ void ReadCmdArgs(void)
|
||||||
GameArg.DbgGlRGBA2Ok = get_int_arg("-gl_rgba2_ok", 1);
|
GameArg.DbgGlRGBA2Ok = get_int_arg("-gl_rgba2_ok", 1);
|
||||||
GameArg.DbgGlReadPixelsOk = get_int_arg("-gl_readpixels_ok", 1);
|
GameArg.DbgGlReadPixelsOk = get_int_arg("-gl_readpixels_ok", 1);
|
||||||
GameArg.DbgGlGetTexLevelParamOk = get_int_arg("-gl_gettexlevelparam_ok", 1);
|
GameArg.DbgGlGetTexLevelParamOk = get_int_arg("-gl_gettexlevelparam_ok", 1);
|
||||||
GameArg.DbgGlSetGammaRampOk = get_int_arg("-gl_setgammaramp_ok", 0);
|
|
||||||
#else
|
#else
|
||||||
GameArg.DbgSdlHWSurface = FindArg("-hwsurface");
|
GameArg.DbgSdlHWSurface = FindArg("-hwsurface");
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue