diff options
-rw-r--r-- | games/Makefile | 1 | ||||
-rw-r--r-- | games/lucidlife/Makefile | 24 | ||||
-rw-r--r-- | games/lucidlife/distinfo | 2 | ||||
-rw-r--r-- | games/lucidlife/files/patch-src_lucidlife.c | 311 | ||||
-rw-r--r-- | games/lucidlife/pkg-descr | 4 | ||||
-rw-r--r-- | games/lucidlife/pkg-plist | 406 |
6 files changed, 748 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile index 679598803fb6..5440743ea8cd 100644 --- a/games/Makefile +++ b/games/Makefile @@ -303,6 +303,7 @@ SUBDIR += linux-virtual-jay-peak SUBDIR += lm-solve SUBDIR += ltris + SUBDIR += lucidlife SUBDIR += macopix SUBDIR += madbomber SUBDIR += maelstrom diff --git a/games/lucidlife/Makefile b/games/lucidlife/Makefile new file mode 100644 index 000000000000..bebded352d98 --- /dev/null +++ b/games/lucidlife/Makefile @@ -0,0 +1,24 @@ +# New ports collection makefile for: lucidlife +# Date created: 18 Aug 2005 +# Whom: Marcin Wisnicki <mwisnicki+freebsd-ports@gmail.com> +# +# $FreeBSD$ +# + +PORTNAME= lucidlife +PORTVERSION= 0.9 +CATEGORIES= games +MASTER_SITES= http://offload1.icculus.org/~jcspray/LucidLife/ \ + http://icculus.org/~jcspray/LucidLife/ + +MAINTAINER= mwisnicki+freebsd-ports@gmail.com +COMMENT= A GTK2 implementation of Conway's Game of Life + +USE_X_PREFIX= yes +USE_GMAKE= yes +USE_GNOME= gtk20 gnomevfs2 intlhack +GNU_CONFIGURE= yes + +CONFIGURE_ARGS= CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib" + +.include <bsd.port.mk> diff --git a/games/lucidlife/distinfo b/games/lucidlife/distinfo new file mode 100644 index 000000000000..435d100c2dc0 --- /dev/null +++ b/games/lucidlife/distinfo @@ -0,0 +1,2 @@ +MD5 (lucidlife-0.9.tar.gz) = 25bcde0ddbe4f7db4a7ea92fcc36b7bc +SIZE (lucidlife-0.9.tar.gz) = 963134 diff --git a/games/lucidlife/files/patch-src_lucidlife.c b/games/lucidlife/files/patch-src_lucidlife.c new file mode 100644 index 000000000000..1f0b74b99136 --- /dev/null +++ b/games/lucidlife/files/patch-src_lucidlife.c @@ -0,0 +1,311 @@ +--- src/lucidlife.c.orig Thu Jun 23 11:36:30 2005 ++++ src/lucidlife.c Sun Aug 28 16:07:12 2005 +@@ -709,12 +709,13 @@ + + void file_new(void) + { ++ GtkAction *action; + if (state.pattern_running) + start_stop(); + free(state.pattern_path); + state.pattern_path = NULL; + gtk_window_set_title(GTK_WINDOW(gui.window), TITLE); +- GtkAction *action = gtk_action_group_get_action (gui.action_group, "Revert"); ++ gtk_action_group_get_action (gui.action_group, "Revert"); + gtk_action_set_sensitive(action, FALSE); + state.last_drawn = null_point; + deactivate_selection(FALSE); +@@ -734,6 +735,9 @@ + void file_open(void) + { + GtkWidget *chooser; ++ GtkFileFilter *filter; ++ char *extension; ++ int i; + + chooser = gtk_file_chooser_dialog_new ( + "Open Pattern", +@@ -746,9 +750,6 @@ + gtk_dialog_set_default_response( + GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT); + +- GtkFileFilter *filter; +- char *extension; +- int i; + for (i=0; i < NUM_FORMATS; i++) { + filter = gtk_file_filter_new (); + extension = g_strconcat("*.", default_file_extensions[i], NULL); +@@ -872,6 +873,7 @@ + char *message; + GtkWidget *dialog; + const gchar *path; ++ GtkWidget *label; + + dialog = gtk_dialog_new_with_buttons ( + "File Exists", +@@ -884,7 +886,7 @@ + path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser)); + message = dsprintf("<b><big>Overwrite file?</big></b>\n\nThe file '%s'" + " exists, do you wish to overwrite it?", path); +- GtkWidget *label = gtk_label_new (message); ++ label = gtk_label_new (message); + // TODO: add big question icon + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); +@@ -1001,6 +1003,7 @@ + boolean found_collection = FALSE; + char* buf; + int32 i; ++ gint result; + + dialog = gtk_dialog_new_with_buttons ( + _("Choose Pattern Collection"), +@@ -1072,7 +1075,7 @@ + + + gtk_widget_show_all (dialog); +- gint result = gtk_dialog_run (GTK_DIALOG (dialog)); ++ result = gtk_dialog_run (GTK_DIALOG (dialog)); + if (result == GTK_RESPONSE_ACCEPT) { + char* dir; + int succeeded; +@@ -1375,6 +1378,11 @@ + GtkObject *adj; + GtkWidget *spin; + guint i; ++ char* color_ui_names[NUM_COLORS] = { ++ "Background:", ++ "Live cells:", ++ "Grid lines:", ++ "Selection box:"}; + + dialog = gtk_dialog_new_with_buttons ( + _("Preferences"), +@@ -1384,12 +1392,6 @@ + GTK_RESPONSE_ACCEPT, + NULL); + +- char* color_ui_names[NUM_COLORS] = { +- "Background:", +- "Live cells:", +- "Grid lines:", +- "Selection box:"}; +- + label = gtk_label_new (NULL); + gtk_label_set_markup (GTK_LABEL (label), _("<b>Colors</b>")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.0f); +@@ -1478,6 +1480,7 @@ + GtkWidget* hbox; + GtkWidget* jumpspin; + GtkObject *jumpadj; ++ gint result; + + /* Setup the dialog window */ + dialog = gtk_dialog_new_with_buttons ( +@@ -1506,7 +1509,7 @@ + + /* Show the dialog */ + gtk_widget_show_all(dialog); +- gint result = gtk_dialog_run (GTK_DIALOG (dialog)); ++ result = gtk_dialog_run (GTK_DIALOG (dialog)); + if (result == GTK_RESPONSE_ACCEPT) { + gtk_widget_hide (dialog); + run_jump_execute ( +@@ -1536,20 +1539,24 @@ + NULL); + + GtkWidget *vbox = gtk_vbox_new (FALSE, 6); ++ GtkAdjustment *adj; ++ GtkWidget *slider; ++ GtkWidget *check; ++ GtkWidget *label; + gtk_box_pack_start_defaults (GTK_BOX (GTK_DIALOG (dialog)->vbox), vbox); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); + +- GtkAdjustment *adj = gtk_range_get_adjustment (GTK_RANGE (gui.speed_slider)); +- GtkWidget *slider = gtk_hscale_new (adj); ++ adj = gtk_range_get_adjustment (GTK_RANGE (gui.speed_slider)); ++ slider = gtk_hscale_new (adj); + gtk_box_pack_start (GTK_BOX (vbox), slider, FALSE, FALSE, 0); + +- GtkWidget *check = gtk_check_button_new_with_mnemonic ( ++ check = gtk_check_button_new_with_mnemonic ( + _("_Skip frames to achieve speed")); + g_signal_connect (check, "toggled", G_CALLBACK (prefs_skip_cb), NULL); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), state.skip_frames); + gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0); + +- GtkWidget *label = gtk_label_new (""); ++ label = gtk_label_new (""); + gtk_label_set_markup ( + GTK_LABEL (label), + _("<i>The speed set here is a target: the actual speed is limited " +@@ -1584,6 +1591,7 @@ + void help_about(void) + { + GtkWidget* dialog; ++ GdkPixbuf* pixbuf; + + /* Set up the dialog window */ + dialog = gtk_about_dialog_new(); +@@ -1597,8 +1605,6 @@ + gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (dialog), "http://icculus.org/~jcspray/LucidLife/"); + + /* Add the banner */ +- GdkPixbuf* pixbuf; +- + pixbuf = gdk_pixbuf_new_from_file (DATADIR "/graphics/logo.png", NULL); + + if (pixbuf) +@@ -1851,6 +1857,8 @@ + GtkWidget* widget2; + + int32 i; ++ GtkAccelGroup *accel_group; ++ GError *error = NULL; + + init_rgb(); + init_window(); +@@ -1878,11 +1886,10 @@ + gtk_ui_manager_insert_action_group (gui.ui_manager, gui.action_group, 0); + + /* Associate the GtkUIManager's accelerator group with the main window */ +- GtkAccelGroup *accel_group = gtk_ui_manager_get_accel_group (gui.ui_manager); ++ accel_group = gtk_ui_manager_get_accel_group (gui.ui_manager); + gtk_window_add_accel_group (GTK_WINDOW (gui.window), accel_group); + + /* Load the UI string for menus, toolbars and accelerators, checking for errors */ +- GError *error = NULL; + if (!gtk_ui_manager_add_ui_from_string ( + gui.ui_manager, ui_description, -1, &error)) { + g_message ("building menus failed: %s", error->message); +@@ -1966,11 +1973,10 @@ + GtkIconSource *icon_source; + gint i; + gchar *path; ++ const gint n_icons = sizeof (stock_icon_files) / sizeof (gchar*); + + icon_factory = gtk_icon_factory_new (); + +- const gint n_icons = sizeof (stock_icon_files) / sizeof (gchar*); +- + for (i = 0; i < n_icons; ++i) { + icon_set = gtk_icon_set_new (); + icon_source = gtk_icon_source_new (); +@@ -2007,6 +2013,12 @@ + */ + void init_menubar(GtkWidget* containing_box) + { ++ GtkWidget *file_menu = NULL; ++ int i; ++ char *str; ++ GtkWidget *item = NULL; ++ int *num; ++ + gui.menubar = gtk_ui_manager_get_widget (gui.ui_manager, "/MainMenu"); + gtk_box_pack_start (GTK_BOX (containing_box), gui.menubar, FALSE, FALSE, 0); + +@@ -2042,11 +2054,6 @@ + + + /* Setup recent files list */ +- GtkWidget *file_menu = NULL; +- int i; +- char *str; +- GtkWidget *item = NULL; +- int *num; + + file_menu = gtk_widget_get_parent ( + gtk_ui_manager_get_widget ( +@@ -2088,14 +2095,17 @@ + */ + void init_toolbar(GtkWidget* containing_box) + { ++ GtkToolItem *item; ++ GtkWidget *hbox; ++ + gui.toolbar = gtk_ui_manager_get_widget (gui.ui_manager, "/MainToolBar"); + gtk_box_pack_start (GTK_BOX (containing_box), gui.toolbar, FALSE, FALSE, 0); + + /* Create the Gen/s slider */ +- GtkToolItem *item = gtk_separator_tool_item_new(); ++ item = gtk_separator_tool_item_new(); + gtk_toolbar_insert (GTK_TOOLBAR (gui.toolbar), item, -1); + +- GtkWidget *hbox = gtk_hbox_new(FALSE, 0); ++ hbox = gtk_hbox_new(FALSE, 0); + init_speed_box(hbox); + item = gtk_tool_item_new(); + gtk_tool_item_set_expand (item, TRUE); +@@ -2727,9 +2737,11 @@ + */ + void prefs_speed_max_cb (GtkAdjustment *adj, gpointer user_data) + { ++ GtkAdjustment *speedadj; ++ + config.speed_max = gtk_adjustment_get_value (adj); + +- GtkAdjustment *speedadj = gtk_range_get_adjustment (GTK_RANGE (gui.speed_slider)); ++ speedadj = gtk_range_get_adjustment (GTK_RANGE (gui.speed_slider)); + speedadj->upper = config.speed_max; + gtk_adjustment_changed (speedadj); + +@@ -3289,12 +3301,13 @@ + */ + void set_active_tool (tool_id newtool) + { ++ GdkCursor *newcursor = NULL; ++ + state.active_tool = newtool; + + if (state.active_tool != TOOL_SELECT) + deactivate_selection (TRUE); + +- GdkCursor *newcursor = NULL; + if (state.active_tool == TOOL_GRAB) { + newcursor = gdk_cursor_new (GDK_FLEUR); + } else if (state.active_tool == TOOL_SELECT) { +@@ -3674,6 +3687,7 @@ + char* final_path; + load_result_type load_result; + struct stat statbuf; ++ GtkAction *action; + + resolved_path = get_canonical_path(path); + if (!resolved_path) { +@@ -3734,7 +3748,7 @@ + update_tick_label(); + update_population_label(); + update_description_textbox(FALSE); +- GtkAction *action = gtk_action_group_get_action (gui.action_group, "Revert"); ++ action = gtk_action_group_get_action (gui.action_group, "Revert"); + gtk_action_set_sensitive (action, TRUE); + view_recenter(); /* will trigger a canvas redraw */ + set_status_message(FILE_LOADED_MESSAGE, TRUE); +@@ -3759,11 +3773,12 @@ + save_result = save_pattern(resolved_path, format); + if (save_result == SAVE_SUCCESS) { + if (!state.pattern_path || !STR_EQUAL(resolved_path, state.pattern_path)) { ++ GtkAction *action; + free(state.pattern_path); + state.pattern_path = resolved_path; + add_to_recent_files(); + put_filename_in_window_title(); +- GtkAction *action = gtk_action_group_get_action (gui.action_group, "Revert"); ++ action = gtk_action_group_get_action (gui.action_group, "Revert"); + gtk_action_set_sensitive(action, TRUE); + } else + free(resolved_path); +@@ -4277,9 +4292,11 @@ + */ + void start_stop(void) + { ++ GtkAction *action; ++ + state.pattern_running = !state.pattern_running; + +- GtkAction *action = gtk_action_group_get_action (gui.action_group, "Play"); ++ action = gtk_action_group_get_action (gui.action_group, "Play"); + gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), state.pattern_running); + + if (state.pattern_running) { diff --git a/games/lucidlife/pkg-descr b/games/lucidlife/pkg-descr new file mode 100644 index 000000000000..2a659c44ee62 --- /dev/null +++ b/games/lucidlife/pkg-descr @@ -0,0 +1,4 @@ +LucidLife is a fast and user-friendly Conway's Life program for Unix. +It is derived from GtkLife 4.2. + +WWW: http://icculus.org/~jcspray/LucidLife/ diff --git a/games/lucidlife/pkg-plist b/games/lucidlife/pkg-plist new file mode 100644 index 000000000000..8f06984fe9e9 --- /dev/null +++ b/games/lucidlife/pkg-plist @@ -0,0 +1,406 @@ +bin/lucidlife +share/applications/lucidlife.desktop +share/locale/en_GB/LC_MESSAGES/lucidlife.mo +share/pixmaps/lucidlife.png +%%DATADIR%%/graphics/logo.png +%%DATADIR%%/icons/description.png +%%DATADIR%%/icons/draw.png +%%DATADIR%%/icons/grab.png +%%DATADIR%%/icons/select.png +%%DATADIR%%/icons/zoom_16.png +%%DATADIR%%/patterns/jslife/breeders/catacryst.glf +%%DATADIR%%/patterns/jslife/breeders/metacatacryst.glf +%%DATADIR%%/patterns/jslife/breeders/mosquito.glf +%%DATADIR%%/patterns/jslife/breeders/pi_blink.glf +%%DATADIR%%/patterns/jslife/breeders/pi_blink_2.glf +%%DATADIR%%/patterns/jslife/breeders/rake_breeder.glf +%%DATADIR%%/patterns/jslife/breeders/slide_breeder.glf +%%DATADIR%%/patterns/jslife/build_&_burn/ess_burner.glf +%%DATADIR%%/patterns/jslife/build_&_burn/fuse_builder.glf +%%DATADIR%%/patterns/jslife/build_&_burn/fuse_builder_2.glf +%%DATADIR%%/patterns/jslife/build_&_burn/loaf_burner.glf +%%DATADIR%%/patterns/jslife/build_&_burn/p99fuse.glf +%%DATADIR%%/patterns/jslife/build_&_burn/pond_burn.glf +%%DATADIR%%/patterns/jslife/build_&_burn/skipper.glf +%%DATADIR%%/patterns/jslife/builders/SS_factory.glf +%%DATADIR%%/patterns/jslife/builders/SS_factory_2.glf +%%DATADIR%%/patterns/jslife/builders/assembly_line.glf +%%DATADIR%%/patterns/jslife/builders/barbershop.glf +%%DATADIR%%/patterns/jslife/builders/block_stacker.glf +%%DATADIR%%/patterns/jslife/builders/bricklayer.glf +%%DATADIR%%/patterns/jslife/builders/rake_crystal.glf +%%DATADIR%%/patterns/jslife/builders/snake_stretch.glf +%%DATADIR%%/patterns/jslife/builders/tub_stretch.glf +%%DATADIR%%/patterns/jslife/builders/tub_stretch_2.glf +%%DATADIR%%/patterns/jslife/eaters/SS_eaters.glf +%%DATADIR%%/patterns/jslife/eaters/eaters.glf +%%DATADIR%%/patterns/jslife/eaters/eaters_misc.glf +%%DATADIR%%/patterns/jslife/eaters/p34eater.glf +%%DATADIR%%/patterns/jslife/fuses/blinker_fuses.glf +%%DATADIR%%/patterns/jslife/fuses/pulsar_fuse.glf +%%DATADIR%%/patterns/jslife/fuses/quadfuse.glf +%%DATADIR%%/patterns/jslife/growers/bee_ladder.glf +%%DATADIR%%/patterns/jslife/growers/growing_SS.glf +%%DATADIR%%/patterns/jslife/growers/growing_SS_2.glf +%%DATADIR%%/patterns/jslife/growers/oblique_growth.glf +%%DATADIR%%/patterns/jslife/growers/one_per_gen.glf +%%DATADIR%%/patterns/jslife/guns/MWSS_p165.glf +%%DATADIR%%/patterns/jslife/guns/corder_p4140.glf +%%DATADIR%%/patterns/jslife/guns/corder_p690.glf +%%DATADIR%%/patterns/jslife/guns/corder_p784.glf +%%DATADIR%%/patterns/jslife/guns/edgeshoot_p450.glf +%%DATADIR%%/patterns/jslife/guns/period_133.glf +%%DATADIR%%/patterns/jslife/guns/period_135.glf +%%DATADIR%%/patterns/jslife/guns/period_150.glf +%%DATADIR%%/patterns/jslife/guns/period_180.glf +%%DATADIR%%/patterns/jslife/guns/period_432.glf +%%DATADIR%%/patterns/jslife/guns/period_570.glf +%%DATADIR%%/patterns/jslife/guns/sidecar.glf +%%DATADIR%%/patterns/jslife/loops/emus.glf +%%DATADIR%%/patterns/jslife/loops/period_160.glf +%%DATADIR%%/patterns/jslife/loops/period_174.glf +%%DATADIR%%/patterns/jslife/loops/period_936.glf +%%DATADIR%%/patterns/jslife/mathematics/fermat_primes.glf +%%DATADIR%%/patterns/jslife/mathematics/heisenburp_30.glf +%%DATADIR%%/patterns/jslife/mathematics/heisenburp_30i.glf +%%DATADIR%%/patterns/jslife/mathematics/heisenburp_46.glf +%%DATADIR%%/patterns/jslife/mathematics/twin_primes.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/1xnothing.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/1xtumbler.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/SS_push.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/SS_transform.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/advancer.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/block_keeper.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/c4_puffer.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/crystal.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/eden.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/fanout.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/glider_cross.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/glider_dust.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/glider_union.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/hotel_1.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/hotel_2.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/lightspeed.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/loggrow_diam.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/move_fishhook.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/pi_blinker_climb.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/pi_ship_c3.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/shuttle.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/signal_turn.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/sniper.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/ss_to_glider.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/telegraph.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/tub_tail.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/vacuum.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/whatever.glf +%%DATADIR%%/patterns/jslife/odds_&_ends/zigzag.glf +%%DATADIR%%/patterns/jslife/oscillators/7n+1.glf +%%DATADIR%%/patterns/jslife/oscillators/SS_loop.glf +%%DATADIR%%/patterns/jslife/oscillators/p97307852711.glf +%%DATADIR%%/patterns/jslife/oscillators/poly_osc.glf +%%DATADIR%%/patterns/jslife/oscillators/queen_bee_turn.glf +%%DATADIR%%/patterns/jslife/reflectors/reflectors.glf +%%DATADIR%%/patterns/jslife/reflectors/reflectors_2.glf +%%DATADIR%%/patterns/jslife/reflectors/reflectors_p46.glf +%%DATADIR%%/patterns/jslife/sawtooth/sawtooth_6.glf +%%DATADIR%%/patterns/jslife/sawtooth/sawtooth_6b.glf +%%DATADIR%%/patterns/jslife/slideguns/slide_d_01_120.glf +%%DATADIR%%/patterns/jslife/slideguns/slide_d_02_120.glf +%%DATADIR%%/patterns/jslife/slideguns/slide_d_03_092.glf +%%DATADIR%%/patterns/jslife/slideguns/slide_o_02b_060.glf +%%DATADIR%%/patterns/jslife/slideguns/slide_o_02f_060.glf +%%DATADIR%%/patterns/jslife/slideguns/slide_o_03b_120.glf +%%DATADIR%%/patterns/jslife/slideguns/slide_o_03f_120.glf +%%DATADIR%%/patterns/jslife/slideguns/slide_o_04b_060.glf +%%DATADIR%%/patterns/jslife/slideguns/slide_o_04f_060.glf +%%DATADIR%%/patterns/jslife/slideguns/teth_d_005_154.glf +%%DATADIR%%/patterns/jslife/slideguns/teth_d_008_064.glf +%%DATADIR%%/patterns/jslife/slideguns/teth_o_014b_090.glf +%%DATADIR%%/patterns/jslife/slideguns/teth_o_014f_090.glf +%%DATADIR%%/patterns/jslife/slideguns/teth_o_020b_060.glf +%%DATADIR%%/patterns/jslife/slideguns/teth_o_030f_060.glf +%%DATADIR%%/patterns/jslife/slideguns/teth_o_040f_060.glf +%%DATADIR%%/patterns/jslife/slideguns/teth_o_120f_120.glf +%%DATADIR%%/patterns/jslife/synthesis/make_osc_p11.glf +%%DATADIR%%/patterns/jslife/synthesis/make_osc_p18.glf +%%DATADIR%%/patterns/jslife/synthesis/make_osc_p33.glf +%%DATADIR%%/patterns/jslife/synthesis/make_oscillators.glf +%%DATADIR%%/patterns/jslife/synthesis/make_spaceship.glf +%%DATADIR%%/patterns/jslife/velocity_2c5/puffer_2c5.glf +%%DATADIR%%/patterns/jslife/velocity_2c5/rake_2c5.glf +%%DATADIR%%/patterns/jslife/velocity_2c5/ships_2c5.glf +%%DATADIR%%/patterns/jslife/velocity_c12d/fuse2_c12.glf +%%DATADIR%%/patterns/jslife/velocity_c12d/fuse_c12.glf +%%DATADIR%%/patterns/jslife/velocity_c12d/rakes_c12d.glf +%%DATADIR%%/patterns/jslife/velocity_c12d/ships_c12d.glf +%%DATADIR%%/patterns/jslife/velocity_c12d/stretch_c12.glf +%%DATADIR%%/patterns/jslife/velocity_c2/puffer_p12.glf +%%DATADIR%%/patterns/jslife/velocity_c2/puffer_p12blk.glf +%%DATADIR%%/patterns/jslife/velocity_c2/puffer_p16.glf +%%DATADIR%%/patterns/jslife/velocity_c2/puffers_c2p8.glf +%%DATADIR%%/patterns/jslife/velocity_c2/ships_c2p6.glf +%%DATADIR%%/patterns/jslife/velocity_c2/ships_c2p8.glf +%%DATADIR%%/patterns/jslife/velocity_c2/ships_c2small.glf +%%DATADIR%%/patterns/jslife/velocity_c2/ships_c2small2.glf +%%DATADIR%%/patterns/jslife/velocity_c2/ships_owss.glf +%%DATADIR%%/patterns/jslife/velocity_c2/sparkers_c2.glf +%%DATADIR%%/patterns/jslife/velocity_c2/stretch_c2.glf +%%DATADIR%%/patterns/jslife/velocity_c2/stretch_p16wick.glf +%%DATADIR%%/patterns/jslife/velocity_c2/stretch_trafjam.glf +%%DATADIR%%/patterns/jslife/velocity_c2/varwidth_p2.glf +%%DATADIR%%/patterns/jslife/velocity_c2/wavestretch.glf +%%DATADIR%%/patterns/jslife/velocity_c3/fuse_3c6.glf +%%DATADIR%%/patterns/jslife/velocity_c3/puffer_c3p9.glf +%%DATADIR%%/patterns/jslife/velocity_c3/ships_c3_hp.glf +%%DATADIR%%/patterns/jslife/velocity_c4d/fuse_c4d.glf +%%DATADIR%%/patterns/jslife/velocity_c4d/puffers_c4d.glf +%%DATADIR%%/patterns/jslife/velocity_c4d/ships_c4d.glf +%%DATADIR%%/patterns/jslife/velocity_c4d/ships_c4d_ct.glf +%%DATADIR%%/patterns/jslife/velocity_c4d/ships_c4d_ext.glf +%%DATADIR%%/patterns/jslife/velocity_c4d/ships_c4d_hp.glf +%%DATADIR%%/patterns/jslife/velocity_c4d/ships_c4d_lg.glf +%%DATADIR%%/patterns/jslife/velocity_c4d/ships_c4d_tags.glf +%%DATADIR%%/patterns/jslife/velocity_c4o/puffers_c4o.glf +%%DATADIR%%/patterns/jslife/velocity_c4o/rake_c4.glf +%%DATADIR%%/patterns/jslife/velocity_c4o/ships_c4o.glf +%%DATADIR%%/patterns/jslife/velocity_c4o/ships_c4o_hp.glf +%%DATADIR%%/patterns/jslife/velocity_c4o/stretch_c4o.glf +%%DATADIR%%/patterns/jslife/velocity_c5o/ships_c5o.glf +%%DATADIR%%/patterns/jslife/velocity_c5o/ships_c5o_hp.glf +%%DATADIR%%/patterns/jslife/velocity_other/ships_2c7.glf +%%DATADIR%%/patterns/jslife/velocity_other/ships_c5d.glf +%%DATADIR%%/patterns/jslife/velocity_other/ships_c6.glf +%%DATADIR%%/patterns/lpa/basics/acorn.glf +%%DATADIR%%/patterns/lpa/basics/b-heptomino.glf +%%DATADIR%%/patterns/lpa/basics/pi.glf +%%DATADIR%%/patterns/lpa/basics/r-pentomino.glf +%%DATADIR%%/patterns/lpa/basics/rabbits.glf +%%DATADIR%%/patterns/lpa/basics/still_life.glf +%%DATADIR%%/patterns/lpa/breeders/breeder_1.glf +%%DATADIR%%/patterns/lpa/breeders/breeder_2.glf +%%DATADIR%%/patterns/lpa/breeders/breeder_3.glf +%%DATADIR%%/patterns/lpa/breeders/breeder_4.glf +%%DATADIR%%/patterns/lpa/breeders/breeder_5.glf +%%DATADIR%%/patterns/lpa/breeders/jaws.glf +%%DATADIR%%/patterns/lpa/breeders/stifled.glf +%%DATADIR%%/patterns/lpa/corders/corder_ship.glf +%%DATADIR%%/patterns/lpa/corders/corder_ship_2.glf +%%DATADIR%%/patterns/lpa/corders/loop.glf +%%DATADIR%%/patterns/lpa/fuses/fuses.glf +%%DATADIR%%/patterns/lpa/fuses/rev_fuse.glf +%%DATADIR%%/patterns/lpa/fuses/spark_to_pi.glf +%%DATADIR%%/patterns/lpa/fuses/thunderbird.glf +%%DATADIR%%/patterns/lpa/growth_limit/caber_tosser.glf +%%DATADIR%%/patterns/lpa/growth_limit/e15_growth.glf +%%DATADIR%%/patterns/lpa/growth_limit/log_growth.glf +%%DATADIR%%/patterns/lpa/growth_limit/log_growth_2.glf +%%DATADIR%%/patterns/lpa/growth_limit/sqrt_gun.glf +%%DATADIR%%/patterns/lpa/growth_limit/sqrt_gun_2.glf +%%DATADIR%%/patterns/lpa/guns/4_barrelled.glf +%%DATADIR%%/patterns/lpa/guns/AK47.glf +%%DATADIR%%/patterns/lpa/guns/HWSS_gun.glf +%%DATADIR%%/patterns/lpa/guns/LWSS_gun.glf +%%DATADIR%%/patterns/lpa/guns/MWSS_gun.glf +%%DATADIR%%/patterns/lpa/guns/b-track_112.glf +%%DATADIR%%/patterns/lpa/guns/b-track_256.glf +%%DATADIR%%/patterns/lpa/guns/b-track_856.glf +%%DATADIR%%/patterns/lpa/guns/bi-gun.glf +%%DATADIR%%/patterns/lpa/guns/cyclotron.glf +%%DATADIR%%/patterns/lpa/guns/gunstar.glf +%%DATADIR%%/patterns/lpa/guns/gunstar_2.glf +%%DATADIR%%/patterns/lpa/guns/gunstar_3.glf +%%DATADIR%%/patterns/lpa/guns/period_104.glf +%%DATADIR%%/patterns/lpa/guns/period_132.glf +%%DATADIR%%/patterns/lpa/guns/period_136.glf +%%DATADIR%%/patterns/lpa/guns/period_144.glf +%%DATADIR%%/patterns/lpa/guns/period_184.glf +%%DATADIR%%/patterns/lpa/guns/period_246.glf +%%DATADIR%%/patterns/lpa/guns/period_30.glf +%%DATADIR%%/patterns/lpa/guns/period_44.glf +%%DATADIR%%/patterns/lpa/guns/period_46.glf +%%DATADIR%%/patterns/lpa/guns/period_94.glf +%%DATADIR%%/patterns/lpa/guns/thick_1.glf +%%DATADIR%%/patterns/lpa/guns/thick_2.glf +%%DATADIR%%/patterns/lpa/guns/thin_1.glf +%%DATADIR%%/patterns/lpa/guns/thin_2.glf +%%DATADIR%%/patterns/lpa/guns/thin_3.glf +%%DATADIR%%/patterns/lpa/guns/thin_4.glf +%%DATADIR%%/patterns/lpa/math_and_CS/adder.glf +%%DATADIR%%/patterns/lpa/math_and_CS/block_puller.glf +%%DATADIR%%/patterns/lpa/math_and_CS/memory.glf +%%DATADIR%%/patterns/lpa/math_and_CS/primes.glf +%%DATADIR%%/patterns/lpa/math_and_CS/random_LWSS.glf +%%DATADIR%%/patterns/lpa/math_and_CS/random_gun.glf +%%DATADIR%%/patterns/lpa/math_and_CS/random_gun_2.glf +%%DATADIR%%/patterns/lpa/math_and_CS/thue.glf +%%DATADIR%%/patterns/lpa/math_and_CS/turing_machine.glf +%%DATADIR%%/patterns/lpa/math_and_CS/unit_cell.glf +%%DATADIR%%/patterns/lpa/miscellaneous/6_gliders.glf +%%DATADIR%%/patterns/lpa/miscellaneous/LWSS_around.glf +%%DATADIR%%/patterns/lpa/miscellaneous/SL_reflector.glf +%%DATADIR%%/patterns/lpa/miscellaneous/block_memory.glf +%%DATADIR%%/patterns/lpa/miscellaneous/block_pusher.glf +%%DATADIR%%/patterns/lpa/miscellaneous/crystal.glf +%%DATADIR%%/patterns/lpa/miscellaneous/double_x.glf +%%DATADIR%%/patterns/lpa/miscellaneous/eaters.glf +%%DATADIR%%/patterns/lpa/miscellaneous/eden.glf +%%DATADIR%%/patterns/lpa/miscellaneous/electric_fence.glf +%%DATADIR%%/patterns/lpa/miscellaneous/gliders_race.glf +%%DATADIR%%/patterns/lpa/miscellaneous/herschel.glf +%%DATADIR%%/patterns/lpa/miscellaneous/hotel.glf +%%DATADIR%%/patterns/lpa/miscellaneous/irrational.glf +%%DATADIR%%/patterns/lpa/miscellaneous/irrational_2.glf +%%DATADIR%%/patterns/lpa/miscellaneous/irrational_5.glf +%%DATADIR%%/patterns/lpa/miscellaneous/mirage.glf +%%DATADIR%%/patterns/lpa/miscellaneous/pinball.glf +%%DATADIR%%/patterns/lpa/miscellaneous/relay.glf +%%DATADIR%%/patterns/lpa/miscellaneous/relay_2.glf +%%DATADIR%%/patterns/lpa/miscellaneous/spiral_decay.glf +%%DATADIR%%/patterns/lpa/miscellaneous/stargate.glf +%%DATADIR%%/patterns/lpa/miscellaneous/switch_engine.glf +%%DATADIR%%/patterns/lpa/miscellaneous/tire_tracks.glf +%%DATADIR%%/patterns/lpa/miscellaneous/tire_tracks_2.glf +%%DATADIR%%/patterns/lpa/miscellaneous/tub_tracks.glf +%%DATADIR%%/patterns/lpa/miscellaneous/wick_stretcher.glf +%%DATADIR%%/patterns/lpa/miscellaneous/wire.glf +%%DATADIR%%/patterns/lpa/miscellaneous/wire_with_sink.glf +%%DATADIR%%/patterns/lpa/oscillators/b-track.glf +%%DATADIR%%/patterns/lpa/oscillators/lone_dots.glf +%%DATADIR%%/patterns/lpa/oscillators/period_10-22.glf +%%DATADIR%%/patterns/lpa/oscillators/period_2.glf +%%DATADIR%%/patterns/lpa/oscillators/period_24-50.glf +%%DATADIR%%/patterns/lpa/oscillators/period_3.glf +%%DATADIR%%/patterns/lpa/oscillators/period_3x.glf +%%DATADIR%%/patterns/lpa/oscillators/period_4x.glf +%%DATADIR%%/patterns/lpa/oscillators/period_5.glf +%%DATADIR%%/patterns/lpa/oscillators/period_52-144.glf +%%DATADIR%%/patterns/lpa/oscillators/period_6.glf +%%DATADIR%%/patterns/lpa/oscillators/period_6x.glf +%%DATADIR%%/patterns/lpa/oscillators/period_7-9.glf +%%DATADIR%%/patterns/lpa/oscillators/poles.glf +%%DATADIR%%/patterns/lpa/oscillators/quilt.glf +%%DATADIR%%/patterns/lpa/oscillators/rot8.glf +%%DATADIR%%/patterns/lpa/oscillators/twin_dots.glf +%%DATADIR%%/patterns/lpa/oscillators/venetian.glf +%%DATADIR%%/patterns/lpa/oscillators/venetian_2.glf +%%DATADIR%%/patterns/lpa/oscillators/venetian_3.glf +%%DATADIR%%/patterns/lpa/puffers/bhepto_puffer.glf +%%DATADIR%%/patterns/lpa/puffers/blinker_ship.glf +%%DATADIR%%/patterns/lpa/puffers/blinker_ship_2.glf +%%DATADIR%%/patterns/lpa/puffers/classic.glf +%%DATADIR%%/patterns/lpa/puffers/line_puffer_1.glf +%%DATADIR%%/patterns/lpa/puffers/line_puffer_2.glf +%%DATADIR%%/patterns/lpa/puffers/pi_puffer.glf +%%DATADIR%%/patterns/lpa/puffers/pulsar_train.glf +%%DATADIR%%/patterns/lpa/puffers/slow_puffer_1.glf +%%DATADIR%%/patterns/lpa/puffers/slow_puffer_2.glf +%%DATADIR%%/patterns/lpa/puffers/switch_puffer.glf +%%DATADIR%%/patterns/lpa/rakes/LWSS_rake_1.glf +%%DATADIR%%/patterns/lpa/rakes/LWSS_rake_2.glf +%%DATADIR%%/patterns/lpa/rakes/MWSS_rake_1.glf +%%DATADIR%%/patterns/lpa/rakes/MWSS_rake_2.glf +%%DATADIR%%/patterns/lpa/rakes/coe_rake_1.glf +%%DATADIR%%/patterns/lpa/rakes/coe_rake_2.glf +%%DATADIR%%/patterns/lpa/rakes/fore_rake.glf +%%DATADIR%%/patterns/lpa/rakes/program_rake.glf +%%DATADIR%%/patterns/lpa/rakes/rake_1.glf +%%DATADIR%%/patterns/lpa/rakes/rake_2.glf +%%DATADIR%%/patterns/lpa/rakes/rake_3.glf +%%DATADIR%%/patterns/lpa/rakes/rake_gun.glf +%%DATADIR%%/patterns/lpa/rakes/spiders.glf +%%DATADIR%%/patterns/lpa/rakes/thin_rake.glf +%%DATADIR%%/patterns/lpa/sawtooth/cord_pull.glf +%%DATADIR%%/patterns/lpa/sawtooth/hacksaw.glf +%%DATADIR%%/patterns/lpa/sawtooth/sawtooth_1.glf +%%DATADIR%%/patterns/lpa/sawtooth/sawtooth_2.glf +%%DATADIR%%/patterns/lpa/sawtooth/sawtooth_3.glf +%%DATADIR%%/patterns/lpa/sawtooth/sawtooth_4.glf +%%DATADIR%%/patterns/lpa/sawtooth/sawtooth_5.glf +%%DATADIR%%/patterns/lpa/sawtooth/sawtooth_6.glf +%%DATADIR%%/patterns/lpa/sawtooth/sawtooth_7.glf +%%DATADIR%%/patterns/lpa/space_fillers/max.glf +%%DATADIR%%/patterns/lpa/space_fillers/max_2.glf +%%DATADIR%%/patterns/lpa/space_fillers/max_3.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_20.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_25.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_25b.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_33.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_33w.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_40.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_50.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_50f.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_50fa.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_50fn.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_50s.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_50sb.glf +%%DATADIR%%/patterns/lpa/spaceships/aquarium_50sh.glf +%%DATADIR%%/patterns/lpa/spaceships/barge.glf +%%DATADIR%%/patterns/lpa/spaceships/barge_2.glf +%%DATADIR%%/patterns/lpa/spaceships/wing.glf +%%DATADIR%%/patterns/lpa/synthesis/make_billiards.glf +%%DATADIR%%/patterns/lpa/synthesis/make_fish.glf +%%DATADIR%%/patterns/lpa/synthesis/make_fuse.glf +%%DATADIR%%/patterns/lpa/synthesis/make_gun.glf +%%DATADIR%%/patterns/lpa/synthesis/make_hustler.glf +%%DATADIR%%/patterns/lpa/synthesis/make_osc.glf +%%DATADIR%%/patterns/lpa/synthesis/make_pole.glf +%%DOCSDIR%%/billiard.gif +%%DOCSDIR%%/blinker_horizontal.gif +%%DOCSDIR%%/blinker_vertical.gif +%%DOCSDIR%%/draw.png +%%DOCSDIR%%/glf_format.html +%%DOCSDIR%%/glider.gif +%%DOCSDIR%%/grab.png +%%DOCSDIR%%/index.html +%%DOCSDIR%%/max.gif +%%DOCSDIR%%/patterns.html +%%DOCSDIR%%/pulsar.gif +%%DOCSDIR%%/select.png +%%DOCSDIR%%/style.css +%%DOCSDIR%%/window.gif +@unexec rmdir %D/share/applications 2>/dev/null || true +@dirrm %%DATADIR%%/patterns/lpa/synthesis +@dirrm %%DATADIR%%/patterns/lpa/spaceships +@dirrm %%DATADIR%%/patterns/lpa/space_fillers +@dirrm %%DATADIR%%/patterns/lpa/sawtooth +@dirrm %%DATADIR%%/patterns/lpa/rakes +@dirrm %%DATADIR%%/patterns/lpa/puffers +@dirrm %%DATADIR%%/patterns/lpa/oscillators +@dirrm %%DATADIR%%/patterns/lpa/miscellaneous +@dirrm %%DATADIR%%/patterns/lpa/math_and_CS +@dirrm %%DATADIR%%/patterns/lpa/guns +@dirrm %%DATADIR%%/patterns/lpa/growth_limit +@dirrm %%DATADIR%%/patterns/lpa/fuses +@dirrm %%DATADIR%%/patterns/lpa/corders +@dirrm %%DATADIR%%/patterns/lpa/breeders +@dirrm %%DATADIR%%/patterns/lpa/basics +@dirrm %%DATADIR%%/patterns/lpa +@dirrm %%DATADIR%%/patterns/jslife/velocity_other +@dirrm %%DATADIR%%/patterns/jslife/velocity_c5o +@dirrm %%DATADIR%%/patterns/jslife/velocity_c4o +@dirrm %%DATADIR%%/patterns/jslife/velocity_c4d +@dirrm %%DATADIR%%/patterns/jslife/velocity_c3 +@dirrm %%DATADIR%%/patterns/jslife/velocity_c2 +@dirrm %%DATADIR%%/patterns/jslife/velocity_c12d +@dirrm %%DATADIR%%/patterns/jslife/velocity_2c5 +@dirrm %%DATADIR%%/patterns/jslife/synthesis +@dirrm %%DATADIR%%/patterns/jslife/slideguns +@dirrm %%DATADIR%%/patterns/jslife/sawtooth +@dirrm %%DATADIR%%/patterns/jslife/reflectors +@dirrm %%DATADIR%%/patterns/jslife/oscillators +@dirrm %%DATADIR%%/patterns/jslife/odds_&_ends +@dirrm %%DATADIR%%/patterns/jslife/mathematics +@dirrm %%DATADIR%%/patterns/jslife/loops +@dirrm %%DATADIR%%/patterns/jslife/guns +@dirrm %%DATADIR%%/patterns/jslife/growers +@dirrm %%DATADIR%%/patterns/jslife/fuses +@dirrm %%DATADIR%%/patterns/jslife/eaters +@dirrm %%DATADIR%%/patterns/jslife/builders +@dirrm %%DATADIR%%/patterns/jslife/build_&_burn +@dirrm %%DATADIR%%/patterns/jslife/breeders +@dirrm %%DATADIR%%/patterns/jslife +@dirrm %%DATADIR%%/patterns +@dirrm %%DATADIR%%/icons +@dirrm %%DATADIR%%/graphics +@dirrm %%DATADIR%% +@dirrm %%DOCSDIR%% |