Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:goupilmtos:2024:games
overgod
overgod-1.0.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File overgod-1.0.patch of Package overgod
diff -urN overgod-1.0.orig/Makefile overgod-1.0/Makefile --- overgod-1.0.orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ overgod-1.0/Makefile 2006-01-21 10:36:02.000000000 +0100 @@ -0,0 +1,28 @@ +PREFIX = /home/opt +DATADIR = $(PREFIX)/share/$(TARGET) +CFLAGS = -g -Wall -O2 +LDFLAGS = `allegro-config --libs` +DEFINES = -DDATADIR=\"$(DATADIR)/\" +OBJS = actor.o bullet.o cloud.o cmds.o displ_in.o display.o eclass.o \ + enemy.o game.o input.o levels.o light.o main.o menu.o palette.o \ + pickup.o score.o sound.o stuff.o tile.o +TARGET = overgod + +$(TARGET): $(OBJS) + $(CC) $^ $(LDFLAGS) -o $@ + +%.o: %.c + $(CC) $(CFLAGS) $(DEFINES) -o $@ -c $< + +install: $(TARGET) + mkdir -p $(PREFIX)/bin + mkdir -p $(DATADIR)/gfx + mkdir -p $(DATADIR)/wavs/beat + install -p -m 755 $(TARGET) $(PREFIX)/bin + install -p -m 644 overgod.cfg $(DATADIR) + install -p -m 644 gfx/* $(DATADIR)/gfx + install -p -m 644 wavs/*.wav $(DATADIR)/wavs + install -p -m 644 wavs/beat/* $(DATADIR)/wavs/beat + +clean: + rm -f $(OBJS) $(TARGET) *~ diff -urN overgod-1.0.orig/actor.c overgod-1.0/actor.c --- overgod-1.0.orig/actor.c 2005-09-11 11:32:08.000000000 +0200 +++ overgod-1.0/actor.c 2006-01-21 10:40:31.000000000 +0100 @@ -608,7 +608,7 @@ // ysin2 = sin(angle_to_radians(actor[a].angle)) * GRAIN; // } - int target_x, target_y; + int target_x = 0, target_y = 0; float speed_mult; int accel = 0; diff -urN overgod-1.0.orig/bullet.c overgod-1.0/bullet.c --- overgod-1.0.orig/bullet.c 2005-09-11 09:35:48.000000000 +0200 +++ overgod-1.0/bullet.c 2006-01-21 10:41:54.000000000 +0100 @@ -264,7 +264,7 @@ // int y_gain = 0; // char angle_change; - int cx, cy, xa, ya, xb; + int cx = 0, cy = 0, xa, ya, xb; int c2x, c2y; int passing_colour [5]; diff -urN overgod-1.0.orig/cmds.c overgod-1.0/cmds.c --- overgod-1.0.orig/cmds.c 2005-09-11 09:35:48.000000000 +0200 +++ overgod-1.0/cmds.c 2006-01-21 10:45:53.000000000 +0100 @@ -2638,9 +2638,6 @@ { int special1; int special2; - int special3; - int special4; - int special5; timer += grand(4); @@ -2694,11 +2691,11 @@ if (angle == 0) angle = 1; + /* note bombs don't use special3 - 5 */ create_bullet(btype, x, y, xs, ys, sactor, damage, timer, mass, angle, - status, seed, colours, 1, special1, special2, special3, special4, special5); - + status, seed, colours, 1, special1, special2, 0, 0, 0); } diff -urN overgod-1.0.orig/config.h overgod-1.0/config.h --- overgod-1.0.orig/config.h 2005-09-11 15:17:06.000000000 +0200 +++ overgod-1.0/config.h 2006-01-21 10:38:15.000000000 +0100 @@ -68,6 +68,8 @@ #define ARMOUR_UPGRADE 200 +#define MAX_FRAMESKIP 4 + struct armoury { char *name; @@ -1293,3 +1295,12 @@ PITCH_HEAVY }; +/* compat defines */ +#include <stdio.h> + +#ifndef DATADIR +#define DATADIR +#endif + +#define itoa(integer, buf, bufsize) \ + (snprintf(buf, bufsize, "%d", integer), buf) diff -urN overgod-1.0.orig/displ_in.c overgod-1.0/displ_in.c --- overgod-1.0.orig/displ_in.c 2005-09-12 17:07:32.000000000 +0200 +++ overgod-1.0/displ_in.c 2006-01-21 10:51:37.000000000 +0100 @@ -139,11 +139,9 @@ player2 = NULL; level_bmp = NULL; - RGB temp_palette2 [1024]; // these seem to serve as a buffer against strange random corruptions of temp_palette. I don't understand this at all. RGB temp_palette [256]; - RGB temp_palette3 [1024]; - DATAFILE *datf = load_datafile("gfx//data.dat"); + DATAFILE *datf = load_datafile(DATADIR "gfx/data.dat"); if (datf == NULL) { set_gfx_mode(GFX_TEXT, 0, 0, 0, 0); @@ -166,7 +164,7 @@ //rest(1000); - BITMAP *temp_bitmap = load_bitmap("gfx//gb_si.bmp", temp_palette); + BITMAP *temp_bitmap = load_bitmap(DATADIR "gfx/gb_si.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (ships)"); @@ -321,8 +319,8 @@ #ifdef FIX_FONT RGB font_palette [256]; -// BITMAP *fbmp = load_bitmap("gfx//font_cel.bmp", font_palette); - BITMAP *fbmp = load_bitmap("gfx//font_oc.bmp", font_palette); +// BITMAP *fbmp = load_bitmap(DATADIR "gfx/font_cel.bmp", font_palette); + BITMAP *fbmp = load_bitmap(DATADIR "gfx/font_oc.bmp", font_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (font_cel)"); @@ -395,7 +393,7 @@ #ifdef GENERATE_SHIPS - temp_bitmap = load_bitmap("gfx//gb_ship.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_ship.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("gb_ship"); @@ -472,7 +470,7 @@ // Load in enemy bitmaps: - temp_bitmap = load_bitmap("gfx//gb_nme1.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_nme1.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gb_nme1.bmp not loaded correctly?)"); @@ -496,7 +494,7 @@ progress_update("Enemies 1"); - temp_bitmap = load_bitmap("gfx//gb_nme2.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_nme2.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gb_nme2.bmp not loaded correctly?)"); @@ -519,7 +517,7 @@ //extern BITMAP *enemy_bmps [ENEMY_BMPS]; - temp_bitmap = load_bitmap("gfx//gb_nmebm.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_nmebm.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gb_nmebm.bmp not loaded correctly?)"); @@ -533,7 +531,7 @@ progress_update("Enemies 3"); - temp_bitmap = load_bitmap("gfx//gb_big1.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_big1.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gb_big1.bmp not loaded correctly?)"); @@ -548,7 +546,7 @@ progress_update("Enemies 4"); - temp_bitmap = load_bitmap("gfx//gb_big2.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_big2.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gb_big2.bmp not loaded correctly?)"); @@ -564,7 +562,7 @@ progress_update("Enemies 5"); - temp_bitmap = load_bitmap("gfx//gb_big3.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_big3.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gb_big3.bmp not loaded correctly?)"); @@ -580,7 +578,7 @@ progress_update("Enemies 6"); - temp_bitmap = load_bitmap("gfx//gb_med1.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_med1.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gb_med1.bmp not loaded correctly?)"); @@ -597,7 +595,7 @@ progress_update("Enemies 7"); -/* temp_bitmap = load_bitmap("gfx//enemy3.bmp", temp_palette); +/* temp_bitmap = load_bitmap(DATADIR "gfx/enemy3.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (enemy3.bmp not loaded correctly?)"); @@ -621,7 +619,7 @@ /* progress_update("Enemy3 Loaded"); - temp_bitmap = load_bitmap("gfx//small1.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/small1.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (small1.bmp not loaded correctly?)"); @@ -635,7 +633,7 @@ progress_update("Small1 Loaded"); */ - temp_bitmap = load_bitmap("gfx//gb_small.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_small.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gm_small.bmp not loaded correctly?)"); @@ -682,7 +680,7 @@ progress_update("Small Things"); - temp_bitmap = load_bitmap("gfx//gb_small2.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_small2.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gm_small2.bmp not loaded correctly?)"); @@ -733,7 +731,7 @@ /* - temp_bitmap = load_bitmap("gfx//small2.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/small2.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (small2.bmp not loaded correctly?)"); @@ -748,7 +746,7 @@ progress_update("Small3 Loaded"); - temp_bitmap = load_bitmap("gfx//enemy2.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/enemy2.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (enemy2.bmp not loaded correctly?)"); @@ -763,7 +761,7 @@ progress_update("Enemy2 Loaded"); */ - temp_bitmap = load_bitmap("gfx//gb_lsh.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_lsh.bmp", temp_palette); if (temp_bitmap == NULL) { bitmap_error("temp_bitmap (gb_lsh.bmp not loaded correctly?)"); @@ -1089,7 +1087,7 @@ // else blit(source_bmp, temp_bmp, which_ship * 51 + 1, 1, 0, 0, 49, 49); - int i, x, y, px, base_col; + int i, x, y, px, base_col = 0; for (i = 0; i < 5; i ++) { @@ -1138,7 +1136,7 @@ RGB temp_palette [256]; // RGB temp_palette3 [1024]; - BITMAP *temp_bitmap = load_bitmap("gfx//gb_tiles.bmp", temp_palette); + BITMAP *temp_bitmap = load_bitmap(DATADIR "gfx/gb_tiles.bmp", temp_palette); if (temp_bitmap == NULL) { @@ -1164,7 +1162,7 @@ destroy_bitmap(temp_bitmap); - temp_bitmap = load_bitmap("gfx//gb_maze.bmp", temp_palette); + temp_bitmap = load_bitmap(DATADIR "gfx/gb_maze.bmp", temp_palette); if (temp_bitmap == NULL) { diff -urN overgod-1.0.orig/display.c overgod-1.0/display.c --- overgod-1.0.orig/display.c 2005-09-11 11:42:46.000000000 +0200 +++ overgod-1.0/display.c 2006-01-21 10:23:29.000000000 +0100 @@ -64,13 +64,7 @@ #include <stdlib.h> // for itoa, used in the screenshot code but not needed for ports etc extern volatile int frames_per_second; -extern volatile int ticked; -extern int slacktime; -extern int long_slacktime_store; extern int debug_sound [5]; - -int slack_graph [100]; -int slack_graph_pos; int fps_graph [100]; int fps_graph_pos; #endif @@ -7266,14 +7260,11 @@ // textprintf_ex(bmp, small_font, 20, 110, 5, "Xs %i Ys %i TS %f DS %f Drag %i", // actor[player[play].actor_controlled].x_speed, actor[player[play].actor_controlled].y_speed, hypot(actor[player[play].actor_controlled].x_speed, actor[player[play].actor_controlled].y_speed), hypot(actor[player[play].actor_controlled].x_speed, actor[player[play].actor_controlled].y_speed) * game.drag, actor[player[play].actor_controlled].drag_amount); // textprintf_ex(bmp, small_font, 20, 60, 5, "Stack %i", stackavail()); -// textprintf(bmp, small_font, 20, 90, 5, "Slack %i", slacktime); // textprintf(bmp, small_font, 20, 100, 5, "Lock %i", actor[0].lock); //textprintf_ex(bmp, small_font, 20, 100, COLOUR_GREY5, -1, "Fps %i", frames_per_second); // textprintf_ex(bmp, small_font, 20, 50, 5, -1, "Fps} %i", frames_per_second); #ifdef DEBUG_DISPLAY textprintf_ex(bmp, small_font, 20, 90, 5, -1, "Fps %i", frames_per_second); - textprintf_ex(bmp, small_font, 20, 100, 5, -1, "Slack %i", slacktime); - textprintf_ex(bmp, small_font, 20, 110, 5, -1, "LSlack %i", long_slacktime_store); int i, c = 0; for (i = 0; i < NO_ENEMIES; i ++) { @@ -7298,31 +7289,6 @@ textprintf_ex(bmp, small_font, 20, 150, 5, -1, "%i %i %i %i", debug_sound [0], debug_sound [1], debug_sound [2], debug_sound [3]); - - if (slack_graph_pos < 0 || slack_graph_pos > 99) - slack_graph_pos = 0; - - slack_graph [slack_graph_pos] = slacktime; - - c = slack_graph_pos; - for (i = 0; i < 100; i ++) - { - if (slack_graph [c] <= 5) - vline(bmp, 110 - i, 300, 160, COLOUR_RED5); - else - vline(bmp, 110 - i, 300, 300 - (slack_graph [c] / 6000), COLOUR_YELLOW8); - c --; - if (c < 0) - c = 99; - } - - slack_graph_pos ++; - - - - - - if (fps_graph_pos < 0 || fps_graph_pos > 99) fps_graph_pos = 0; @@ -7359,7 +7325,6 @@ enemy[0].angle, enemy[0].attribute [ATTRIB_SWERVER_ANGLE], enemy[0].attacking, enemy[0].recycle); textprintf(bmp, font, 20, 200, 5, "Lock} %i ", actor[0].lock);*/ /* textprintf(bmp, small_font, 20, 50, 5, "FPS %i", frames_per_second); - textprintf(bmp, small_font, 20, 60, 5, "SLACK %i", slacktime); textprintf(bmp, small_font, 20, 70, 5, "XS %i YS %i DRAG %i", actor[player[play].actor_controlled].x_speed, actor[player[play].actor_controlled].y_speed, actor[player[play].actor_controlled].drag_amount); textprintf(bmp, small_font, 20, 80, 5, "X %i Y %i ", diff -urN overgod-1.0.orig/enemy.c overgod-1.0/enemy.c --- overgod-1.0.orig/enemy.c 2005-09-11 10:46:04.000000000 +0200 +++ overgod-1.0/enemy.c 2006-01-21 10:53:31.000000000 +0100 @@ -195,7 +195,7 @@ // REMEMBER: enemies are also created in create_turret() int e = 0; - int i, j; + int i, j = 0; for (e = 0; e < NO_ENEMIES; e++) diff -urN overgod-1.0.orig/game.c overgod-1.0/game.c --- overgod-1.0.orig/game.c 2005-09-11 09:35:48.000000000 +0200 +++ overgod-1.0/game.c 2006-01-21 13:51:09.000000000 +0100 @@ -68,13 +68,10 @@ extern volatile unsigned char ticked; extern volatile int framecounter; -extern int slacktime; -int long_slacktime; -int long_slacktime_store; - void game_loop(void) { + int frames_skipped = 0; int playing = 1; counter = 0; @@ -191,33 +188,24 @@ } - if (ticked == 0) + /* only draw if we can keepup */ + if ( (ticked == 0) || (frames_skipped > MAX_FRAMESKIP)) { run_display(); framecounter++; + frames_skipped = 0; } + else + frames_skipped++; init_effects(); - slacktime = 0; - - do - { - slacktime ++; - } while(ticked == 0); + while(ticked == 0) + rest(1); ticked --; counter ++; - if (counter % 32 == 0) - { - long_slacktime_store = long_slacktime; - long_slacktime = 0; - } - - long_slacktime += slacktime / 100; - - if (key [KEY_ESC]) quit_query(); @@ -259,12 +247,8 @@ play_beats(); - do - { - slacktime ++; - slacktime = 0; - } while(ticked == 0); - + while(ticked == 0) + rest(1); ticked = 0; } @@ -429,7 +413,6 @@ init_level(); - long_slacktime = 0; arena.waver_on_level = 0; } diff -urN overgod-1.0.orig/main.c overgod-1.0/main.c --- overgod-1.0.orig/main.c 2005-09-13 22:58:27.000000000 +0200 +++ overgod-1.0/main.c 2006-01-21 10:29:42.000000000 +0100 @@ -155,17 +155,16 @@ volatile int framecounter; volatile int frames_per_second; -volatile int inputcounter = 0; -volatile int inputs_per_second = 0; +//volatile int inputcounter = 0; +//volatile int inputs_per_second = 0; -volatile int turncounter = 0; -volatile int turns_per_second = 0; +//volatile int turncounter = 0; +//volatile int turns_per_second = 0; void tickover(void); volatile unsigned char ticked; //volatile unsigned char tick_counter; -int slacktime; // --- end timer interupt extern int grid_offset_x_2p_finetune; @@ -214,8 +213,6 @@ exit(1); } - set_config_file("lacew.cfg"); - install_keyboard(); install_timer(); @@ -244,8 +241,8 @@ // LOCK_VARIABLE (tick_counter); LOCK_VARIABLE (frames_per_second); LOCK_VARIABLE (framecounter); - LOCK_VARIABLE (turns_per_second); - LOCK_VARIABLE (turncounter); +// LOCK_VARIABLE (turns_per_second); +// LOCK_VARIABLE (turncounter); // LOCK_VARIABLE (inputs_per_second); // LOCK_VARIABLE (inputcounter); @@ -254,7 +251,7 @@ set_color_depth(8); - set_config_file("overgod.cfg"); + init_config(); options.resolution = get_config_int("Options", "Resolution", 0); diff -urN overgod-1.0.orig/menu.c overgod-1.0/menu.c --- overgod-1.0.orig/menu.c 2005-09-12 20:23:14.000000000 +0200 +++ overgod-1.0/menu.c 2006-01-21 13:52:41.000000000 +0100 @@ -229,7 +229,6 @@ void enter_keystroke(void); int option_jump(int direction); int special_jump(int direction); -void init_config(void); void save_config(void); void choose_ships(void); @@ -373,7 +372,6 @@ void init_menus_once_only(void) { // text_mode(-1); - init_config(); menu_bmp = create_bitmap(640, 480); @@ -394,7 +392,7 @@ RGB temp_palette [256]; -/* BITMAP *temp_bmp = load_bitmap("gfx\\title_i.bmp", temp_palette); +/* BITMAP *temp_bmp = load_bitmap(DATADIR "gfx/title_i.bmp", temp_palette); if (!temp_bmp) { @@ -414,7 +412,7 @@ destroy_bitmap(temp_bmp); */ - BITMAP *temp_bmp = load_bitmap("gfx//gb_title.bmp", temp_palette); + BITMAP *temp_bmp = load_bitmap(DATADIR "gfx/gb_title.bmp", temp_palette); if (!temp_bmp) { @@ -464,7 +462,7 @@ destroy_bitmap(temp_bmp);*/ /* - temp_bmp = load_bitmap("gfx//title_s.bmp", temp_palette); + temp_bmp = load_bitmap(DATADIR "gfx/title_s.bmp", temp_palette); if (!temp_bmp) { @@ -484,7 +482,7 @@ destroy_bitmap(temp_bmp); */ -/* upgrade_box1 = load_bitmap("gfx//upg_box.bmp", temp_palette); +/* upgrade_box1 = load_bitmap(DATADIR "gfx/upg_box.bmp", temp_palette); if (!upgrade_box1) { @@ -493,7 +491,7 @@ exit(1); } - upgrade_box2 = load_bitmap("gfx//upg_box2.bmp", temp_palette); + upgrade_box2 = load_bitmap(DATADIR "gfx/upg_box2.bmp", temp_palette); if (!upgrade_box2) { @@ -502,7 +500,7 @@ exit(1); } - upgrade_box3 = load_bitmap("gfx//upg_box3.bmp", temp_palette); + upgrade_box3 = load_bitmap(DATADIR "gfx/upg_box3.bmp", temp_palette); if (!upgrade_box3) { @@ -523,7 +521,8 @@ void menu_loop(void) { - + int frames_skipped = 0; + which_menu = MENU_MAIN; menu_index_max = 4; menu_index_min = 0; @@ -551,20 +550,21 @@ if (which_menu == MENU_SCORES || which_menu == MENU_ENTER_SCORES) make_ms_move(); - if (ticked == 0) + /* only draw if we can keepup */ + if ( (ticked == 0) || (frames_skipped > MAX_FRAMESKIP)) { clear_bitmap(menu_bmp); menu_display(); menu_to_screen(); + frames_skipped = 0; } + else + frames_skipped++; menu_input(); - slacktime = 0; - do - { - slacktime ++; - } while(ticked == 0); + while(ticked == 0) + rest(1); ticked --; } while(TRUE); @@ -2042,7 +2042,8 @@ game.type = game_type; - vsync(); + if (options.run_vsync > 0) + vsync(); clear_bitmap(screen); begin_game(); @@ -2143,14 +2144,13 @@ void choose_ships(void) { + int frames_skipped = 0; player[0].ship = 0; player[1].ship = 0; game.single_player = 0; game.users = 1; - int county = 0; - int keypress_wait1 = KP_WAIT_SHORT; int keypress_wait2 = KP_WAIT_SHORT; int waiting = 5; @@ -2289,16 +2289,18 @@ make_grid_scroll(); - if (ticked == 0) + /* only draw if we can keepup */ + if ( (ticked == 0) || (frames_skipped > MAX_FRAMESKIP)) { display_ship_choice(0, p1_active, p2_active, p1_chosen, p2_chosen); menu_to_screen(); + frames_skipped = 0; } + else + frames_skipped++; - do - { - county ++; - } while (ticked == 0); + while (ticked == 0) + rest(1); ticked --; @@ -3853,17 +3855,69 @@ } +/* Function(s) to find the homedir of a user under Unix */ +#ifdef __unix__ +#include <pwd.h> +#include <unistd.h> +#include <sys/types.h> +#if defined(__DECC) && defined(VMS) +#include <unixlib.h> +static char *vms_to_unix_buffer = NULL; +static int convert_vms_to_unix(char *vms_dir_name) +{ + vms_to_unix_buffer = vms_dir_name; +} +#endif + +/* + * Locate user's home directory. + */ +char *get_home_dir(void) +{ + struct passwd *pw; + + if (!(pw = getpwuid(getuid()))) + { + fprintf(stderr, "Who are you? Not found in passwd database!!\n"); + return NULL; + } + +#if defined(__DECC) && defined(VMS) + /* Convert The OpenVMS Formatted "$HOME" Directory Path Into Unix + Format. */ + decc$from_vms(pw->pw_dir, convert_vms_to_unix, 1); + return vms_to_unix_buffer; +#else + return pw->pw_dir; +#endif +} +#endif /* defined __unix__ */ + void init_config(void) { - -// set_config is in main.c - char miscstring [40]; char wstring [40]; char itstring [40]; int i; - +#ifdef __unix__ + char config_file_name[512]; + char *home_dir = get_home_dir(); + int using_global_cfg = 1; + + snprintf(config_file_name, sizeof(config_file_name)/sizeof(char), "%s/.%s", + home_dir? home_dir:".", "overgod.cfg"); + + /* does the cfg file exist? */ + if (access(config_file_name, R_OK) == 0) + { + override_config_file(config_file_name); + using_global_cfg = 0; + } + else +#endif + override_config_file(DATADIR "overgod.cfg"); + options.sound_init = get_config_int("Options", "Sound_init", 1); options.sound_mode = get_config_int("Options", "Sound_mode", SOUNDMODE_STEREO); options.run_vsync = get_config_int("Options", "Run_vsync", 0); @@ -3945,6 +3999,12 @@ best_ta_time = get_config_int("Highscores_TA", "best_time", 1000); strcpy(best_ta_name, get_config_string("Highscores_TA", "best_name", "Nobody")); +#ifdef __unix__ + /* make sure any changes get written to the per user file and not to + the global file */ + if (using_global_cfg) + override_config_file(config_file_name); +#endif } void save_config(void) @@ -4127,8 +4187,7 @@ void display_victory_screen(void) { - - int county = 0; + int frames_skipped = 0; int county2 = 0; init_ms(); @@ -4142,7 +4201,8 @@ run_sparkles(); make_ms_move(); - if (ticked == 0) + /* only draw if we can keepup */ + if ( (ticked == 0) || (frames_skipped > MAX_FRAMESKIP)) { clear_bitmap(menu_bmp); show_grid(COLOUR_PURPLE3, COLOUR_PURPLE8); @@ -4157,15 +4217,16 @@ if (county2 > 99) textprintf_centre_ex(menu_bmp, small_font, 320, 420, COLOUR_YELLOW5, -1, "Press Space to continue."); - vsync(); + if (options.run_vsync > 0) + vsync(); menu_to_screen(); + frames_skipped = 0; } + else + frames_skipped++; - do - { - county ++; - } while (ticked == 0); - + while (ticked == 0) + rest(1); ticked --; county2 ++; @@ -4527,8 +4588,7 @@ void unlock_screen(int which) { - - int county = 0; + int frames_skipped = 0; int county2 = 0; do @@ -4536,7 +4596,8 @@ menu_counter ++; make_grid_scroll(); - if (ticked == 0) + /* only draw if we can keepup */ + if ( (ticked == 0) || (frames_skipped > MAX_FRAMESKIP)) { clear_bitmap(menu_bmp); show_grid(COLOUR_PURPLE3, COLOUR_PURPLE8); @@ -4560,15 +4621,16 @@ // textprintf_centre_ex(menu_bmp, small_font, 320, 305, COLOUR_YELLOW8, "your time, like "); if (county2 > 99) textprintf_centre_ex(menu_bmp, small_font, 320, 380, COLOUR_YELLOW5, -1, "Press Space to continue."); - vsync(); + if (options.run_vsync > 0) + vsync(); menu_to_screen(); + frames_skipped = 0; } + else + frames_skipped++; - do - { - county ++; - } while (ticked == 0); - + while(ticked == 0) + rest(1); ticked --; county2 ++; diff -urN overgod-1.0.orig/menu.h overgod-1.0/menu.h --- overgod-1.0.orig/menu.h 2003-09-04 19:28:36.000000000 +0200 +++ overgod-1.0/menu.h 2006-01-21 09:32:09.000000000 +0100 @@ -1,3 +1,5 @@ void init_menus_once_only(void); void menu_loop(void); + +void init_config(void); diff -urN overgod-1.0.orig/overgod.cfg overgod-1.0/overgod.cfg --- overgod-1.0.orig/overgod.cfg 2005-09-13 22:59:15.000000000 +0200 +++ overgod-1.0/overgod.cfg 2006-01-21 16:37:38.000000000 +0100 @@ -3,7 +3,7 @@ [Options] Sound_mode = 2 -Run_vsync = 1 +Run_vsync = 0 Sound_volume = 100 Ambience_volume = 100 Resolution = 2 diff -urN overgod-1.0.orig/palette.c overgod-1.0/palette.c --- overgod-1.0.orig/palette.c 2005-09-11 09:35:48.000000000 +0200 +++ overgod-1.0/palette.c 2006-01-21 13:54:07.000000000 +0100 @@ -74,6 +74,8 @@ #include "palette.h" #include "globvars.h" +extern struct optionstruct options; + COLOR_MAP trans_table; int blend_function(int x, int y, RGB *rgbl); int limit_colour(int colour_input); @@ -957,13 +959,14 @@ void set_dark_palette(void) { - vsync(); + if (options.run_vsync > 0) + vsync(); set_palette(dark_palet); } void set_light_palette(void) { - vsync(); + if (options.run_vsync > 0) + vsync(); set_palette(light_palet); } - diff -urN overgod-1.0.orig/sound.c overgod-1.0/sound.c --- overgod-1.0.orig/sound.c 2005-09-11 14:44:18.000000000 +0200 +++ overgod-1.0/sound.c 2006-01-21 10:18:59.000000000 +0100 @@ -311,7 +311,7 @@ } sound_active = 1; - + if (options.sound_init == 0) { // cprintf("\n\r\n\rSound disabled in proj.cfg."); @@ -326,6 +326,7 @@ if (install_sound (DIGI_AUTODETECT, MIDI_AUTODETECT, NULL) == -1) { // allegro_message("\n\r\n\rSound autodetect failed."); + printf("Warning: %s, sound disabled\n", allegro_error); sound_active = 0; // rest(300); // do @@ -448,7 +449,7 @@ char sfile_name [50]; - strcpy(sfile_name, ".//wavs//"); + strcpy(sfile_name, DATADIR "wavs/"); strcat(sfile_name, sfile); strcat(sfile_name, ".wav"); @@ -467,7 +468,7 @@ char sfile_name [50]; - strcpy(sfile_name, ".//sound//"); + strcpy(sfile_name, DATADIR "sound/"); strcat(sfile_name, sfile); strcat(sfile_name, ".wav"); @@ -1547,7 +1548,7 @@ char sfile_name [50]; - strcpy(sfile_name, ".//wavs//beat//"); + strcpy(sfile_name, DATADIR "wavs/beat/"); strcat(sfile_name, sfile); strcat(sfile_name, ".wav"); diff -urN overgod-1.0.orig/tile.c overgod-1.0/tile.c --- overgod-1.0.orig/tile.c 2005-09-11 09:35:48.000000000 +0200 +++ overgod-1.0/tile.c 2006-01-21 10:55:45.000000000 +0100 @@ -316,7 +316,7 @@ tile_rle [MAZE_NOTHING] = make_tile(back_tile, -1, bcol1, bcol2, 0); - int tmaze; + int tmaze = 0; if (arena.level <= 4) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor