2000-05-08 Ali Abdin <aliabdin@aucegypt.edu>

	* doc/C/glife.sgml: The telsa we all know and love has contributed
	  updated gLife docs :) Goodness to her.

	* Makefile.am: Add BUGS and FAQ to the EXTRA_DIST stuff

	* glife.spec.in,
	  glife.spec: Fix a typo (locale instead of local)

2000-05-07 Ali Abdin <aliabdin@aucegypt.edu>

	* NEWS,
	  FAQ,
	  BUGS,
	  configure.in: Updated in preperation for 0.2.1 

	* src/conf.c: (preferences_cb) Fix a bug with the reproduction rule
	  toggle not being set correctly

	* src/glife.glade: Do not make the 'Pause' button sensitive by default
	
	* src/simulation.c: (do_update) use an AnimalType variable and set it
	  to tmp->data. That way we don't do tmp->data only once. Also put in
	  a for loop around the random_movement so animals move multiple times
	  depending on their speed.

2000-04-26 Ali Abdin <aliabdin@aucegypt.edu>

	* src/glife.c: Internationalized a couple of strings

2000-04-12 Ali Abdin <aliabdin@aucegypt.edu>

	* po/ru.po,
	  glife.spec,
	  glife.spec.in,
	  configure.in: Added 'locale stuff' for our first translation :)
	  Russian :)

	* src/data.[ch],
	  move.c: Added a 'pointer' in the 'terrain' structure.
	  (animal_at) Now uses the 'AnimalType *' pointer in the terrain
	  structure causing major speed-ups :) Also remove unused variables
	  (move_animal) Properly update the pointers when animals move

	* src/data.c: (animal_exists) Put a couple g_assert's

2000-04-09 Ali Abdin <aliabdin@aucegypt.edu>

	* TODO: Updated again (woo - getting smaller). Also removed the DONE
	  section

	* src/drawing.c: (render) Fill with white before re-rendering.

	* src/conf.[ch],
	  src/Makefile.am: Two new files to handle preferences/configuration.
	  It was becoming very big and clutters the glife.c file.

	  Fixed a bug - colors now do not change on color_select - only when
	  you click okay.

	  Updated to reflect new additions to glife.glade
	
	* src/reproduction.[ch],
	  src/Makefile.am: New file + code to handle reproduction stuff
	  (finally) :)

	* src/glife.glade: Change the default timeout to 2000, added a few
	  extra config options for reproduction

	* src/data.[ch]: Maximum age calculation moved from add_animal to
	  add_ranimal (to allow animals to inherit maximum age)

	  Fixed a 'possible' buglet to make sure Male/Female selection is 50/50

	  (animal_at) Remove g_assert's - just return NULL if its out of range

	  (del_animal) When we delete an animal, make sure its reflected on the
	  terrain. I hate linked lists. I fixed something else here and I
	  don't know what it is

	* src/simulation.c: (do_update) Integrate reproduction into main loop

	* src/*.*: Warning-squishing hunt (no more warnings)

	* configure.in: version bump to 0.2.0 - Also do not care about the
	  libglade version number.

	* doc/C/glife.sgml: Update the docs to reflect the 0.2.0 version

	* FAQ: added a couple 'potential' questions :)
	
	* glife.spec.in: Include documentation (I think this is how its done)

2000-04-08 Ali Abdin <aliabdin@aucegypt.edu>

	* TODO: I spent /several/ hours hacking on one a 'TODO' item. After
	  it was all done - I noticed a problem that had happened to me back on 
	  a similiar project I did a while back. This sucks. I hate hacking for
	  several hours, fixing bugs, getting everything to work just perfectly
	  only to find that I can't use it due to a fundamental design flaw in
	  that approach.

	* src/glife.c: Ack - I never did try a 'make install' - would cause
	  segfault due g_free'ing a string that wasn't strdup'd. Thanks to
	  drake on #gnome for finding this.

	* src/glife.c: (glifedocu_cb) Use ghelp instead of file

	* src/glife.c: (preferences_cb) Restore spin button of reproduction
	  age properly (also found by drake)

2000-04-07 Ali Abdin <aliabdin@aucegypt.edu>

	* src/glife.glade: A minor touchup

	* src/glife.h: Fixed the RAND macro to be 'x' to 'y' as opposed to 'x'
	  to 'y-1'

	* src/drawing.c: Fixed a major rendering bug that prevented animals
	  being drawn in the first column/row (didn't notice cos I never tried
	  '625' animals)

	* doc/glife.sgml: Updated to use PNG docbook stuff, fixed an error, and
	  did a small hack to the copyright stuff

	* TODO, BUGS: Updated :)

	* glife.c,
	  drawing.c,
	  simulation.c: Do not re-render on expose events. Only re-draw to the
	  GtkDrawingArea. Only re-render when the data has changed. This was
	  the last 'major' problem I was facing :)

	* doc/*: Plugged in the glife.sgml documentation stuff :) gnomeicu
	  source helped me out with this :)

	* src/glife.c,
	  src/feedback.[ch]: Can now get information about individual animals
	  through the buttons on the main screen.

	* src/glife.c,
	  glife.glade: Show the about box /after/ we add the URL.
	 
	* src/glife.c,
	  glife.glade: Added 'gLife Documentation' to menu.
	  (glifedocu_cb): callback for the documentation in the help menu

2000-04-06 Ali Abdin <aliabdin@aucegypt.edu>

	* My apologies for not commiting. Lost linux and just finally
	  was able to get it back. Hacking shall resume :)

	* *.*: sync up

2000-02-28 Ali Abdin <aliabdin@aucegypt.edu>

	* src/glife.[ch],
	  data.c,
	  simulation.c: Created and used a RAND macro.

	* src/glife.c: Fixed typo problems due to cut&paste.

	* src/move.c: (choose_direction_and_move)  Fixed a problem with animals 
	  moving to the right more than they should. braino

	* src/glife.c: (end_cb) re-instated policy of 'no end simulation' until
	  timeout is off (i.e. animals stop moving)

	* src/glife.glade: Added UI support for getting terrain and animal
	  information.

2000-02-24 Ali Abdin <aliabdin@aucegypt.edu>

	* src/glife.glade,
	  src/data.[ch],
	  src/glife.c,
	  src/simulation.c: Made maximum age a 'random' value between two
	  user-configurable values

	* src/glife.glade: Preliminary support for reproduction (only in config
	  - no actual support code yet).

	* src/glife.c: (about_cb) Added a href to the about box to gLife's
	  website - Code borrowed from Tom Gilbert from gnome-devel mailing list

	* src/glife.c (end_cb)
	  src/simulation.c (start_simulation): Can now end simulation without
	  pausing (this hack dedicated to telsa).

	* src/glife.c: Added a few g_free's to free g_strconcat stuff.

	* TODO: updated a bit

	* doc/devel-notes.txt: Added "proper" Random number algorithm

2000-02-24 Ali Abdin <aliabdin@aucegypt.edu>

	* src/glife.c: Let the config options load before the UI.

	* src/glife.c,
	  src/simulation.h,
	  src/glife.glade,
	  src/drawing.c: Renamed the 'Colors' section to 'Display'

	  Can now enable/disable specific parts of the display (specifically,
	  grid, terrain, and animals can now be enabled/disabled UI-wise).
	  This is a good thing cos u can disable grid and/or terriain for
	  for better speed :)

	* TODO: Updated

	* Makefile.am: 'make distcheck' will now add the .spec file (borrowed
	  from bug-buddy)

	* configure.in: Version bump to 'distinguish' CVS between prior
	  releases.

2000-02-22 Julian Missig <julian@linuxpower.org>

	* glife.spec.in: Created. It seems to work for me.

	* configure.in: Generate glife.spec from glife.spec.in

2000-02-22 Ali Abdin <aliabdin@aucegypt.edu>

	* src/Makefile.am: Install into 'Games' section instead of
	  'Applications' menu.

	* src/glife.c: If $(prefix)/share/glife/glife.glade is not found it
	  will use the 'PWD' env variable instead to load glife.glade file

	* NEWS: Updating as I go along :)

2000-01-29 Ali Abdin <aliabdin@aucegypt.edu>
	
	* src/*.c: Removed canvas.c and canvas.h. Removed the #include's
	  from all the .c file's :) Wheee, we're free of the big bad canvas.

	* src/drawing.c: Added a few gtk_main_iterations to make it unblock.
	  Added libart #include's to avoid warnings.

	* TODO: updated (removed two items - wheeeeeee)

	* src/move.c,
	  src/drawing.h,
	  src/data.h,
	  src/data.c: Removed MAXX and MAXY #define's from data.h - Moved
	  MAXCOL and MAXROW #define's from drawing.h to data.h - Changed .c
	  files to reflect the renaming.

	* src/data.[ch]: Removed erase_terrain function. Updated the prototypes
	  and externs to reflect the change of animal_init and terrain_init to
	  _setup equivelants

	* src/data.[ch],
	  src/move.c:  Addition of a 'occupied' value in the Terrain structure.
	  New animal_exists function that uses this (faster). Updated move.c
	  to set/reset this value.

	* src/glife.c: (end_cb) Chaned from erase_terrain to init_terrain_data
	  (restart_cb) ditto
	  (load_ui): Remove unused variables
	  Added feedback.h to avoid warning.
	  Added \n to a few messages (ending/restarting a simulation)

	* src/glife.[ch]: Removed the GnomeCanvas from the glife structure	
	  Added R_, G_, B_, A_ to extract individual colors from a RGBA value
	  Modified a bunch of functions to use the R_ G_ B_ A_ macros and
	  removed the [malecolor|femalecolor|terraincolor]_[r|g|b|a] variables

	* src/simulation.c,
	  src/data.c: Addition to a log2screen option in the ruleset and do not
	  print out initial creation of animals.

2000-01-28 Ali Abdin <aliabdin@aucegypt.edu>

	* doc/devel-notes.txt: Fixed raph's typo :) (we need an Artificially
	  Intelligent cut&paste command)

	* Makefile.am,
	  intl/*: Fixed my gettext set-up (re-installed) so i re-added the intl
	  directory. This means you can now use the --with-included-gettext
	  option /I THINK/ - i've never needed this, buts its a GNOME thing :)

	* src/glife.glade
	  src/drawing.c: fixing the size of stuff

	* src/data.[ch]: Remove the 'ellipse' item from the terrain - rename
	  terrain_init to terrain_setup. Added init_terrain_data function.
	  Removed the 'ellipse' item from animals too.
	  
	  Removed animal_init() and created animal_setup()
	  
	  Reverted to an old (slower) form of animal_exists which doesn't
	  depend on the canvas

	* src/glife.c: (load_ui) Added some bits to test rendering.
	  (ok_changes_cb) Reflect the removal of the ellipse item

	* src/move.c: (move_animal) Reflect the removal of the ellipse item

	* src/drawing.c: Added a generic get_circle_svp (for sharing between
	  terrain and animals).

	  Added a render_terrain_to_buf and added it to render(). Rendering on
	  expose-event everytime is /expensive/. Aha - taking out a g_print
	  made it /considerably/ faster ;) still slow though (especially when
	  I begin to render animals too).

	  Created a render_animals_to_buf and added to render()

	  Added art_free and art_svp_free's to stop the major memory leaks.
	  The application is now usable again :)

	* src/simulation.c: (start_simulation) Replaced terrain_init and
	  animal_init to the _setup equivelants

2000-01-26 Ali Abdin <aliabdin@aucegypt.edu>

	* src/drawing.h: Went to aligned GdkRGB which is rumored to be 20%
	  faster - so i'm using it. Played around with width/height to try
	  and get the last vertical line drawn - aint workin (will try tomorrow)

	* src/drawing.c: Changed the way rendering works to always (and only)
	  render on expose events. That stops the crashes and is more efficient
	  (thanks to mathieu on #gnome at irc.gimp.org)

	  Now the rendering to drawing area works.

	  The grid also  works!!! :) props go out to mathieu AGAIN
	  he saw a typo in the code that raph gave me (It's the type of typo
	  that your mind just doesn't recognize as a typo and it LOOKS correct)

        * src/glife.c: connect drawing area signal to expose event - remove
          render function and put inside the callback (in drawing.c)

2000-01-26 Ali Abdin <aliabdin@aucegypt.edu>

	* src/Makefile.am: please compile/include drawing.[ch]

	* src/drawing.c: Work on rendering the grid

	* src/glife.c: Some gdk_rgb initialization stuff in main. Some test
	  code for rendering.
	
	* Code Crashes - I got no clue why - I /HATE/ that

2000-01-25 Ali Abdin <aliabdin@aucegypt.edu>

	* Forgot to mention addition of doc directory with just some
	  devel-notes so i don't forget about them :)

	* src/glife.glade: Changed from a canvas to a drawable - This breaks
	  the program. Onto working on using GdkRGB buffer

	* src/glife.c: Commented out some code so the application can at least
	  run without spewing tons of error messages

	* src/drawing.c,
	  src/drawing.h: New files. Started working on drawing the grid (first
	  stab at it)

2000-01-03 Ali Abdin <aliabdin@aucegypt.edu>

	* NEWS,
	  configure.in: 0.1.2 magic before vacation :)

	* src/simulation.c (do_update): Uggggh deleting old animals then trying
	  to move them - taking out deletion of old animals out of the while
	  loop entirely - this means a major re-write of kill_old (and removal
	  of kill_ifold). This is a crude hack.

	* src/feedback.c,
	  src/feedback.h: Two new files for logging to the textbox

	* src/simulation.c,
	  src/data.c: Adding log messages in a few places (along with
	  freeze/thaw in some places)

	* src/glife.glade: Removed 'dummy' message from textbox, also added
	  accelerators, but for some reason they don't show up (Ctrl-S Start
	  simulation and Ctrl-R Restart simulation)

	* src/glife.glade,
	  src/glife.c,
	  src/data.c,
	  src/simulation.c: Implemented 'End Simulation' and 'Restart
	  Simulation'

	* FAQ: Added FAQ

2000-01-01 Ali Abdin <aliabdin@aucegypt.edu>

	* configure.in: Used gnumeric's libglade detection code (and
	  modified it to suit my needs)

	* src/Makefile.am: Added $(GNOME_INCLUDEDIR) to the includes.

1999-12-31 Ali Abdin <aliabdin@aucegypt.edu>

	* src/simulation.c,
	  src/move.c: Iterate over the animals only ONCE in do_update, instead
	  of iterating over them in EACH function (much more efficient)

	* src/data.c,
	  src/move.c: Implemented a (hopefully) more efficient animal_exists 
	  function. This makes 2 implementations (should benchmark these and
	  compare). The disadvantages of this: Need to update canvas every 
	  turn (A mis-intended feature)

	* configure.in: Will fail if you don't have libglade-config

1999-12-30 Ali Abdin <aliabdin@aucegypt.edu>

	* src/glife.glade: Re-did layout almost from scratch - It's bigger by
	  default (which means more room for text box). Now uses a button box
	  and 'panes' (so you can choose your own size of canvas vs. text box)

	* src/README: Updated

1999-12-28 Ali Abdin <aliabdin@aucegypt.edu>

	* src/glife.glade: Changed GnomeLess widget (for files) to the PROPER
	  output widget (Textbox). 

1999-12-27 Ali Abdin <aliabdin@aucegypt.edu>

	* NEWS,
	  configure.in: 0.1.1 version bump

	* BUGS: Updated

	* src/canvas.c: Small fix to draw grid from 0.0 (a pixel was missing there)

	* src/glife.c: Config bugfixes (no longer can create multiple preference 
	  boxes and when you set the terrain color and you haven't started the
	  simulation yet, you don't get all those warnings/assertions)

	* src/glife.glade: Lowered defaults

	* src/move.c (random_movement): Wow, placed a 'flush' of all Gtk+ events
	  here and you get A) better responsivness from the client (slow to quit
	  durign update) AND B) You see each individual animal moving :)
	  (choose_direction_and_move): Implemented the proper rule for moving

	* src/move.c: Improved the 'flushing' hack to update animals in 'blocks'
	  meaning, we get similiar functionality as before, but quit happens quickly

	* src/move.c
	  src/data.c
	  src/animal.c: Fixes to rely less on animal_at where the program spends
	  the majority of its time - This means much more efficient. Also changed
	  animal_exists to use animal_at (instead of doing the exact same thing).
	  This needs to be replaced. See TODO.

	* TODO: Updated to reflect some thing I'd like implemented. Removed
	  DONE items.

1999-12-26 Ali Abdin <aliabdin@aucegypt.edu>

	* 0.1 Release
	
	* src/Makefile.am,
	  src/glife.c: Made the glade file readable from the datadir
	  (code borrowed from bug-buddy)
	
	* src/Makefile.am,
	  glife.glade: Moved to src/glife.glade for installation purposes

	* src/glade-strings.c: New file just for i18n purposes

1999-12-25 Ali Abdin <aliabdin@aucegypt.edu>
	
	* glife.glade: UI Fixup

	* src/*: Certain touch-up to pass 'make distcheck'
	  (getting ready for 0.1 release)

	* Lots of CVS cleaning up done (removal of unnecessary files)
	
	* configure.in: Changed version numbering from 0.0.x to 0.x
	
	* TODO, README: Updated

	* src/Makefile.am: Added move.c and move.h

	* src/simulation.c, move.c, move.h: Moved movement stuff into separate files

	* src/move.c (random_movement): Less random but works - will think about
	  and work on later.

1999-12-24 Ali Abdin <aliabdin@aucegypt.edu>

        * src/simulation.c (random_movement): Movement always occurs unless an
          animal is "stuck". This has broken the choose_direction_and_move
	  function badly. Will fix later (need to re-think it)

	* CVS Mangled a LOT of things up - everything /SHOULD/ be back as it was

	* .cvsignore's added in various dirs

1999-12-23 Ali Abdin <aliabdin@aucegypt.edu>

        * BUGS: Added BUGS file

        * src/glife.c,data.c,simulation.c: Comment out debugging stuff

        * src/glife.c (on_continue): Use the user-configured value for timeout

        * src/simulation.[ch] (random_movement): Incorrectly used '0' as first
          column index. Moved declaration of direction into while loop.

        * src/simulation.[ch]: Changed MovementType to MoveType. Added assertions
          to move_direction.
          (random_movement): First stab at implementing some random movement
          (choose_direction_and_move): Needed by random_movement. First stab.
          (do_update): Random Movement always happens in an update
          (move_direction): Major fix-ups.

        * src/simulation.c: Ugggh got very confused between x and y - shouldn't have
          used 'x' and 'y' shoulda used 'row' and 'column' instead. Patches
          accepted. ;)
          (random_movement): fixed from the above comment

1999-12-22 Ali Abdin <aliabdin@aucegypt.edu>

        * src/data.h: extern the animal_at function

        * src/simulation.[ch]: implemented move_direction function, includes new
          enumerated data type (MovementType) - does not handle errors

1999-12-18 Ali Abdin <aliabdin@aucegypt.edu>	
	
	* src/data.[ch]: Make animal_exists function 'global'

	* src/simulation.[ch] (move_animal): New function to move animals

	* src/data.c (animal_at): Fixed potential bug (range problem)

	* TODO: New item

1999-12-17 Ali Abdin <aliabdin@aucegypt.edu>

	* TODO: Added items

	* glife.glade: Reshuffling of the UI
	
	* src/glife.c:
	  src/simulation.[ch]: New structure for config options. Added age
	  rules to config options. Can now pause/continue properly. Added "timeout"
	  to config options and implemented it

	* src/glife.c:
	  src/data.[ch]: Number of initial animals is now customizable.

	* src/data.c (animal_init): Fixed bug where the number of animals is not
	  honored due to an alredy existing animal.
          (animal_init, add_ranimal, animal_exists): Fixed bug to allow 
	  drawing on row/col 25
	  (draw_terrain, animal_init): Status is reflected in the GnomeAppBar
	  (del_animal): Fixed deletion of animals (works properly now)
	
	* src/simulation.c (do_update, kill_old): Old animals are killed if age is
	  enabled

	* src/glife.c (preferences_cb): Config options now "remembered" during
	  program life.

	* src/*.*: Fix all compiler warnings
	
1999-12-16 Ali Abdin <aliabdin@aucegypt.edu>

	* Initial CVS check-in
