rpms/overgod/devel overgod-1.0.patch, NONE, 1.1 overgod.desktop, NONE, 1.1 overgod.png, NONE, 1.1 overgod.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
Hans de Goede (jwrdegoede)
fedora-extras-commits at redhat.com
Tue Jan 31 21:17:33 UTC 2006
Author: jwrdegoede
Update of /cvs/extras/rpms/overgod/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22922/devel
Modified Files:
.cvsignore sources
Added Files:
overgod-1.0.patch overgod.desktop overgod.png overgod.spec
Log Message:
auto-import overgod-1.0-2 on branch devel from overgod-1.0-2.src.rpm
overgod-1.0.patch:
--- NEW FILE overgod-1.0.patch ---
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)
{
--- NEW FILE overgod.desktop ---
[Desktop Entry]
Encoding=UTF-8
Name=Overgod
GenericName=Another Asteroid like game
Comment=Like asteroids, but the asteroids move independently and shoot back
Exec=overgod
Icon=overgod.png
Terminal=false
Type=Application
Categories=Game;ArcadeGame
Version=1.0
--- NEW FILE overgod.spec ---
Name: overgod
Version: 1.0
Release: 2%{?dist}
Summary: Another Asteroid like game
Group: Amusements/Games
License: GPL
URL: http://www.allegro.cc/depot/Overgod
Source0: http://dl.sourceforge.net/sourceforge/overgod/overgod.tar.gz
Source1: overgod.desktop
Source2: overgod.png
Patch0: overgod-1.0.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: allegro-devel desktop-file-utils
%description
For too long has humanity been ruled by cruel and disputatious gods!
Fly through the various layers of the Celestial Oversphere to unseat
those who control the universe.
In Overgod you control a little vehicle in the middle of the screen and fly
around and shoot things - a bit like asteroids, but the asteroids move
independently and shoot back. You can also upgrade your vehicle in various
ways.
%prep
%setup -q
%patch0 -p1 -z .unix
%{__sed} -i 's/\r//' readme.txt licence.txt
%build
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" PREFIX=%{_prefix}
%install
rm -rf $RPM_BUILD_ROOT
make install PREFIX=$RPM_BUILD_ROOT%{_prefix}
# below is the desktop file and icon stuff.
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install --vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
--add-category X-Fedora \
%{SOURCE1}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
install -p -m 644 %{SOURCE2} \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
%clean
rm -rf $RPM_BUILD_ROOT
%post
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%postun
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%files
%defattr(-,root,root,-)
%doc readme.txt licence.txt
%{_bindir}/overgod
%{_datadir}/overgod
%{_datadir}/applications/fedora-overgod.desktop
%{_datadir}/icons/hicolor/48x48/apps/overgod.png
%changelog
* Tue Jan 31 2006 Hans de Goede <j.w.r.degoede at hhs.nl> 1.0-2
- Fixup description (bz 178625)
* Sun Jan 22 2006 Hans de Goede <j.w.r.degoede at hhs.nl> 1.0-1
- Initial Fedora Extras package
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/overgod/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 31 Jan 2006 21:16:42 -0000 1.1
+++ .cvsignore 31 Jan 2006 21:17:33 -0000 1.2
@@ -0,0 +1 @@
+overgod.tar.gz
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/overgod/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources 31 Jan 2006 21:16:42 -0000 1.1
+++ sources 31 Jan 2006 21:17:33 -0000 1.2
@@ -0,0 +1 @@
+3bddd8d4e96c5e69ec07236de145799a overgod.tar.gz
More information about the fedora-extras-commits
mailing list