2004-08-22
	- added cylindrical texture mapping to the texture application dialog
	- added -lpthread to the python linking arguments; apparently, python 2.3 
	  needs pthreads, even if you don't use python's threading code


2003-12-19
	- added DND loading, so now you can drag files into the kludge3d window 
	  in order to load them


2003-12-11
	- made some changes to the ac3d loader: 
		began materials support
		loader now checks the version of the files that it loads
	- more changes to mat_edit: switched from text entries to spinbuttons, 
	  which simplified much of the code; more cleanups and fixes


2003-12-08 through 10
	- worked on porting me3d's materials editor dialog to kludge3d


2003-12-04
	- finished/re-enabled mtllib loading for wavefront files, esp texture file 
	  loading
	- started work on materials support


2003-12-03
	- fmt_3ds now uses the scale value to scale the model after loading (oops)
	- rewrote group_btns.c's groupBtns_new_group_dlg and groupBtns_edit_dlg
	- rewrote fmt_wavefront.c's dialog prompt
	- made the OK button the default widget for the following dialogs:
		fmt_3ds, new group, edit group, fmt_md2, fmt_wavefront
	- rewrote doc_man.c's fmt_overwrite_dlg
	- fixed tex_gdkpixbuf.c; images with rowstrides that do not match 
	  width*depth are now handled correctly


2003-12-02
	- fixed bug in group.c's group_reparent; was preventing user from adding 
	  new groups via the new-group button
	- fixed some issues w/ the texture name code
	- fixed the fmt_ac3d loader; the loc keyword was not being handled 
	  correctly
	- cleaned up fmt_ac3d.c
	- replaced the Mesh->location member with a float[3]; removed model.c's 
	  model_flatten()
	- tex_load() now chdir's to model's dir when loading a tex, chdir's again 
	  when finished


2003-12-01
	- changed behaviour for storage of texture names; texture names are now 
	  stored relative to the model's path, not absolute.


2003-11-26
	- finished the l-systems python script


2003-11-21
	- started the l-systems python script
	- added a 'type' member to Primitives, so that Verts can be distinguished 
	  from Polys in pywrapper.i
	- added wrapper funcs for extrude & get-normal
	- fixed bug in poly_find_normal


2003-11-20
	- wrote rollup.c
	- modified toolbox to make use of rollups, added scriptbox to toolbox
	- completed the scriptbox code, including the dialog
	- wrote some documentation for the scripting stuff


2003-11-19b
	- started work on scriptbox


2003-11-19
	- Fixed preferences ordering.  Prefs are now stored in a list in addition 
	  to the hash table.  pref_man is now populated using that list; this 
	  ensures that the preferences appear in the order in which they were 
	  registered.
	- prepared for release: fixed numerous compiler warnings, disabled the 
	  incomplete "Find Holes" tool, added pixmap for poly-smooth tool, etc.
	- fixed some bugs in prefs.c, re string-type prefs
	- release


2003-11-18
	- added register_func_with_kludge3d to python wrapper; when complete, it 
	  will be used to register scripts with kludge3d, ultimately so that users 
	  can use scripts without having to know Python


2003-11-13 - 17
	- re-organized pywrapper header
	- added lots of functions to the python interface, added typemaps for 
	  GSList and so forth.  The Python interface is much more useful now.
	- wrote a new python script/module; the prefabs.py script has code for 
	  creating common shapes, like cones, cylinders, cubes, and spheres.


2003-11-11
	- fixed 'tab' problem for python entry
	- fixed polygon winding; view_config was calling glp_set_triangleorder for 
	  just the first view, not all 4
	- fixed poly winding when drawing verts as quads; needed to add a 'flipped' 
	  member to the View struct, too
	- wrote the log_window code, moved the stdout-redirection code from main.c 
	  to log_window.c
	- reworked part of the Python init stuff, so that the ~/.kludge3d directory 
	  is added to Python's path, and ~/.kludge3d/base.py is executed on 
	  startup (if it exists)
	- fix for tex_app: using the arrow keys will no longer change the input 
	  focus
	

2003-11-10
	- added some code to tools_polys_find_holes stuff, to help detect figure-8 
	  holes.  figure-8's still can't be split up.  I'm starting to think that 
	  this tool isn't really work all the trouble is will be to 'do it right'.
	- added some code to redirect the output from the python interpreter 
	  back into kludge3d, rather than the console.  This is experimental.
	- fixed some bugs in python entry stuff: couldn't enter multi-line 
	  programs, so I added some code to "batch" the lines together until they 
	  can be sent to the interpreter.
	  Also, hitting the tab key causes focus to leave entry widget, rather 
	  than actually entering a tab character.
	

2003-11-07
	- added new tool: tools_polys_find_holes, which finds holes (and 'T' 
	  junctions, which are holes too) in a list of polys


2003-11-06
	- fixed bug in undo code: action stack should only be trimmed when MARKER 
	  actions are added to the stack, rather than for *every* action added to 
	  the stack.  Here's what was happening in some circumstances: an action, 
	  the only reference holder to a vert that was being worked on by a tool, 
	  was trimmed from the stack before the tool was finished.  The vert would 
	  then be deleted by the reference-counting code, even though it was still 
	  very much "in use".
	- completed the new poly-subdivide tools
	- added new tool: polygon smooth


2003-11-05
	- greatly improved vertex drawing speed.  Vertices are now drawn using 
	  billboarded quads, rather than cubes.  The verts now look slightly 
	  different in the 3d view (the isometric views are unaffected, since 
	  a flat quad looks the same as a cube when drawn in an isometric view), 
	  but I don't think anyone will mind (or even notice).  Perhaps I'll add 
	  a preference (now that adding preferences is so easy, hehehe) allowing 
	  the user to set which to use (cubes vs quads) for the 3d view.
	- split view.c into view.c and view_config.c
	- moved FRAME_* to view.h, renamed them to VIEW_*
	- added a preference to allow user to set whether verts should be drawn as 
	  cubes or quads (only affects 3d view...)
	- started two new tools: make-polys-into-triangles and 
	  polygon-subdivide-quads


2003-11-3
	- cleaned up view.c a bit
	- all 4 views now share the same opengl context; this makes it possible to 
	  share textures and display lists amongst the 4 views
	- started work on speeding up vertex drawing


2003-10-31
	- added new tool: turn edge
	- made toolbox pretty.  buttons are organized into columns now.


2003-10-30
	- finished pref_man
	- fixed some major bugs in prefs.c
	- added undo stack-length-limit code ("undo-stack trimming")
	- added preference entry for undo stack-length-limit 


2003-10-29
	- added prefs.[ch]; loads and saves preferences
	- added code to main to create ~/.kludge3d directory
	- moved gui code out of main.c and into gui.c
	- wrote nearly all of pref_man.c


2003-10-28
	- fixed build stuff for lib3ds
	- fixed some bugs in 3ds loader


2003-10-27
	- fixed two bugs in weld code


2003-10-24
	- fixed possible bug in polygon.c: when adding new verts to a polygon, it's 
	  possible that those verts weren't being added to the poly's mesh as well.
	- added new tool: model-wide vertex-weld


2003-10-22
	- fixed crash: if close texapp window via WM's 'X' rather than the 'Close' 
	  button, then try to open texapp window again
	- fixed memory overrun in tex_pcx.c
	- added new undo-action: poly_replace_vert.  this fixes two problems:
		* undoing an extrude causes crashes.  this will fix that.
		* vertex-weld is now possible.
	- fixed extrude undo crash
	- fixed insidious bug in vertex_dup.  was causing bizarre behavior, 
	  thrashing the stack, etc.
	- added new tool: vertex-weld.  should be undo-able.


2003-10-21
	- finished multiple-document management.  docs are accessed through 
	  Documents menu, which is updated every time a model is loaded or closed.
	- added ability to Close current model; this revealed several bugs 
	  (which were fixed) and one design flaw (see next several items)
	- added Model* members to Vertex and Mesh, and code to update them
	- added Model* argument to certain funcs in selection.c, modified others 
	  to retrieve model via existing args
	- added Model* arg to all tools.c functions
	- the previous 3 changes were needed b/c there are certain funcs that are 
	  used when a model is being loaded or deleted... these funcs can not 
	  assume that the_model is the model that is being loaded/deleted.  These 
	  funcs, namely the sel_* and tools_* code, were fixed so that this 
	  assumption is no longer made.
	- several bugfixes in the sel_* code


2003-10-20
	- finished work on scale objects tool.  added undo as well
	- began work on multiple-document management
	

2003-10-17
	- began work on new tool: scale objects


2003-10-16
	- fixed create-new-group-from-selected-polys
	- added new tool: thin/fatten selected objects


2003-10-15
	- fixed segfaults in selection.c; uninitialized pointers


2003-10-14
	- added new tex_app tool: flip polys, horiz or vert
	- added help button for tex app
	- finally fixed a serious flaw in picking.  The long-standing 
	  "only 40 or so verts/polys can be selected in a single pass" issue 
	  has been resolved.  The number of primitives that can be picked at 
	  once (ie the selection rectangle thingy) is now 4000, which should be 
	  plenty given that kludge3d can't realistically handle models with 
	  greater complexity than that.  Of course, that number can always be 
	  raised; it's just a #define.  The picking buffer is dynamically 
	  allocated and its size is dependant on the number of verts in the model.
	  This helps conserve memory in the typical situation, where there are 
	  fewer than 4000 verts in the model.
	- added tooltips for global scope radiobuttons, removed 'Mesh' button, 
	  made button labels more verbose
	- changed nb tab order back to original 'groups, textures, tools, options'
	- put frame around active-axis radiobuttons and added tooltips; now people 
	  will know what it's for :)
	- added new tool: remove unused verts


2003-10-13
	- added warning to tex_app to notify user when user selects polys from 
	  different meshes and tries to edit their texture coords
	- tex_app now picks texture based on which mesh(es) the sel. polys belong 
	  to, rather than just blindly using the curr. mesh's tex
	- added arrows for texapp's move-all-points and scale-all-points
	- tex_app now shows texture as it would appear in-engine; ie the texture 
	  is repeated in the window according to the tex-repeat vals of the mesh 
	  that the polys belong to
	- fixed bug in texture.c's tex_populate_pixbuf; upside_down tex's weren't 
	  being flipped


2003-10-07
	- fixed mem leak in tex_sgi.c: rowStart & rowSize
	- added texture preview icon to tex_man list; required addition of 
	  a gdkpixbuf member to the Texture struct
	- fixed bug in tex_man when deleting the second-to-last texture in a model;
	  texman_current_tex was being set to NULL too late in texman_delete_cb
	- re-enabled code to draw polygon normals; added a menu item, under the 
	  View menu, to control whether the normals are displayed
	

2003-09-08
	- Fixed error involving polygon undeletion.  Polygon undelete would add 
	  verts back to poly in wrong order, causes backwards polys.  Undo system 
	  now remembers the index of each vert that is removed from a poly.  If 
	  the removal action is ever undone, the undo system will ensure that the 
	  vert is placed in its original index within the poly.
	- fixed polygon double-free; occurred only under rare circumstances.  In 
	  situations where the poly has not yet been added to a mesh, but *has* 
	  had verts added to it, calling poly_remove would release all references 
	  to the poly, causing it to be freed.  poly_delete now uses a 
	  prim_ref/prim_unref pair to free the poly.  The primitive delete_cb for 
	  polys was changed from poly_delete to poly_free (which just calls free())
	  to avoid inf. recursion.
	- fixed mem leak in fmt_ac3d.c, fmt_wavefront.c, fmt_3ds.c; model_new() 
	  creates an empty mesh and groupnode.  Neither are needed by those 3 
	  document-loaders, so they need to be freed.
	  Kludge3d is now mostly memory-error-free.  There's probably some leaks 
	  still in there, but you can at least load, view, and close a model 
	  without memwatch complaining about anything.
	- fixed bug where, if user initiates a drag with one tool and, while 
	  dragging, clicks with another tool, lots of things get screwed up
	  (including undo, the cumulative_delta, etc.)


2003-09-04
	- moved the action stack and the undo-enabled-flag into the Model struct
	- fixed some errors in model.c: was using global 'the_model' instead of 
	  local 'model' as arg to action_do calls
	- fixed lots of undo-related mistakes, mostly missing MARKER things
	- added poly-reverse-winding undo action
	- moved partially_completed_tri to Model struct


2003-09-01
	- fixed some mem leaks in new code in polygon.c
	- cleaned up doc_load_save, fixing some mem errors and leaks (relating to 
	  model->name, fname)
	- all calls to the undo code now require a model to be passed in; this is 
	  in preparation for moving the action stack and the undo-enabled-flag into 
	  the Model struct
	- fixed configure.ac; passing '--disable-python' now actually disables 
	  python
	- fixed scripting_entry.c; silly mistake prevented non-python-enabled 
	  builds from compiling


2003-08-12
	- completed reference-counting code; verts and polys are now 
	  reference-counted, and will only be freed when the ref count reaches 0.
	  This makes the next item possible...
	- completed the undo code (well, almost all of it).  vert/poly add and 
	  delete all seem to work, and are undo-able.  When a vert/poly is deleted 
	  by the user, the undo list ref's the primitive, and actually becomes the 
	  sole reference holder for that primitive.  This way, if the undo buffer 
	  ever becomes full, the buffer can simply delete the oldest action entries 
	  in the undo stack.  If the action entry happens to be a vert-delete or 
	  poly-delete action, the primitive associated with that action will be 
	  unref'ed (thus releasing the final reference for that primitive, causing 
	  it to be freed).


2003-08-11
	- replaced all instances of "struct model_doc" with "Model" (which is the 
	  proper name)
	- architecture change: moved clipboard code to clipboard.c
	- fixed vert/poly hide/show code
	- moved selection code out of vert.c and poly.c and into selection.c 
	- moved "selected_*" & "hidden_*" stuff to Model
	- verts now know which polys they are used by
	- began reference-counting code


2003-08-10
	- cleaned up tex_app; now compiles cleanly
	- compiled w/ GTK_DISABLE_DEPRECATED, fixed some little things.  The port 
	  to GTK2 is officially complete at this point.


2003-08-08
	- put group_browser and tex_man lists inside scrolledwindows (finally)
	- fixed undo bug in group_btns; "select" button did not place an undo 
	  marker on the undo stack


2003-08-03
	- added a slider to the options notebook tab to set camera height (dist of 
	  look-at-point from xy plane)
	- made the minimum-vertex-size smaller (from 0.01 to 0.001)
	- added extra column in group_browser : toggle mesh visible/not visible


2003-08-02
	- added frame selector to md2 loader
	- changed groupbtn 'select' behavior
	- made changes in many parts of the system to allow for polys with only 
	  two verts, aka line segments.  Not a terribly complicated or difficult 
	  change to make, but has some important consequences: 
		- correctness - most 3d file formats (esp. ac3d) allow line segments
		- usefulness - kludge3d can now be used to create bones in models, for 
		  use with PLIB's 'exposer' program (and maybe other animator progs too)


2003-07-26 through 08-01 
	- went to siggraph!


2003-07-25
	- added ability to flip ortho views around


2003-07-24
	- added pcx texture loader


2003-07-23
	- wrote GdkPixbuf-based texture loader


2003-07-22
	- added md2 loader


2003-07-21
	- fixed assertion re. retrieving glcontext/drawable before 
	  gl widgets were realized
	- fixed weirdness re. loading wavefront files from command line.
	  problem was caused by calling gtkmain in fmt_wavefront.c BEFORE 
	  gtkmain in main.c was entered.
	- rewrote bottombar stuff; it actually works now
	- changed many of the modules to make use of bottombar message stuff
	- changed group_btns to use gdkpixbuf and gtkimage instead of old 
	  gdkpixmap/gdkbitmap and gtkpixmap


2003-07-18
	- rewrote much of tex_man, to make use of gtk2's new list stuff


2003-07-16, 17
	- added drag-and-drop for group_browser (and it works)
	- added code to group_browser; when model changes, the current_node will 
	  be highlighted in the group tree
	- added "tool palettes" and "tool palette switching"


2003-07-13 through 16
	ported to gtk2:
	- switched from gtkglarea to gtkglext. gtkglext is much nicer (and 
	  slightly faster) anyway.
	- switched to pango for origin axis marker font
	- merged in D. Pinson's gtk2 patch.  no truly major changes were 
	  required; the gtk maintainers seem to know their stuff.
	- removed/fixed deprecated code
	- rewrote group_browser.c:  now split into 3 files (group_browser.c, 
	  group_btns.c, scripting_entry.c)
	  group_browser.c now makes use of gtk2's new tree/list system.  It's 
	  nice, but a little slow... I wish I could turn off the animation.
	- switched to using glib's signal system for many of the system events:
		- ::exit (listened-for by some "destructors")
		- ::model-appearance-changed (listened-for by view_redraw)
		- ::model-structure-changed (listened-for by gb_rebuild)
		- ::model-texturelist-changed (listened-for by texman_rebuild_list)
	- fixed a mem leak in undo.c


2003-07-??
	- added some new wrapper funcs for python stuff: select verts in sphere,
	  select verts in box, new quad, new tri
	- terrain gen. py script rewritten.


2003-07-07
	- merged in D. Pinson's python code.  Kludge3d now has some scripting 
	  capabilities.  Build system was changed; configure will now try to 
	  detect if the user has a working python interpreter.  If a working 
	  interp. is found, configure will go ahead and perform the full 
	  python-detection stuff, and enable the kludge3d wrapper code.  If 
	  you want to force configure to do the full python-detection stuff 
	  (if, for example, you have python installed, but it isn't in your path
	  or something like that) then give the configure script the --enable-python
	  argument.  (Or is it --enable-use_python?  I forget...)


2003-06-??
	- can now delete polys and verts w/ ctrl-K
	- texture-repeat stuff moved to mesh/group properties dialog 
	  (where it belongs)
	- misc fixes


2003-06-13 (Fri the 13th! oooooo...)
	- cleaned up texture stuff (works like doc_load_save now)
	  tex renamed Texture


2003-06-06
	- code re-organized; many changes to model.c, multiple models can now be 
	  loaded (by low-level code; GUI is oblivious).  Changes were made for my 
	  CG Animation course, and were then back-ported to kludge3d.
	- fixed silly bug when drawing meshes with polys of mixed degree; bug 
	  was in glp_draw_primitives & glp_draw_primitives_textured
	  (forgot to update prev_num_verts)


2002-11-03
    - finished change in vertex storage - verts are now stored in one global 
      list, in addition to pointers held by meshes
    - fixed some big nasty leaks caused by above change
    - added placeholder action_do's to code, to both clear the undo stack 
      after non-undo-able actions and to serve as a reminder to eventually 
      implement the undo code for them.


2002-10-27
    - started undo stuff; the move, rotate, and select operations have 
      do and undo implemented.  The more difficult stuff, like vertex add,
      delete, etc. still need to be implemented
      BTW - undo actually works!
    - added {vertex, poly}_select_list, etc.
    - fixed massive leak in view_object_select


2002-10-21
	- completed interactive vertex rotation, poly rotation, poly extrude


2002-10-20
	- added interactive vertex rotation (not functional, disabled)
	- performed quick hack on group_browser.c and tex_man.c to silence 
	  warnings at startup
	
2002-09-??
	- merged in patches from D. Pinson:
		- arbitrary rotate tool (see toolbox)
		- current cursor position is displayed in bottom bar
		- new verts can now be created at precise positions, just enter the 
		coord in the text entry box at the bottom of the groups tab (this needs 
		a better spot)
		- misc build fixes

2002-07-01
	- split model.c into group.c and model.c
	- Many users seem to have problems with the way kludge3d sets up 
	  new/loaded models.  Previously, a new model would have the 
	  current_node set to NULL.  This would present a problem, as most 
	  users didn't know to create a new group before adding verts.
	  (You can't add verts to the root group or to a NULL group.)
	  Now, kludge3d will automatically create *and select* a 
	  "default group" when starting a new model.  When loading a model,
	  kludge3d will select the first non-root group.
	  Note that this doesn't work very well when specifying a file from 
          the command line (I need to set up a timeout so that kl3d enters the 
          gtk_main loop at least once before trying to highlight CList rows)
	  This change probably should have been made much earlier...

2002-06-19
	- added quake2 .map format export

2002-05-?? andrew sampson
	- moved some geometry-manip stuff to tools.c
        - re-arranged tool tabs
	- broke lots of things

2002-05-firstweek andrew sampson
	- erm... oops.  lib3ds wasn't completely "optional" - fixed fmt_3ds.c
	- texapp dialog was still assuming 3-sided polys (crash!)
	  kinda fixed it, but it draws quads oddly now.  oh well.

2002-02-28 andrew sampson
	- finished polygon-extrude tools
	- fixed bug in ac3d save routine (numverts > 3)
	- added polygon-move
	- turned off depth-testing in wireframe mode (better performance)
	- added ability to create polygons with numverts > 3
	  To create tris/quads/etc:
	     1) make sure you're in polygon mode
	     2) make sure you have selected a "current mesh," so that kl3d 
	        knows where to put the stuff you add
	     3) click on each vertex you want to include in the poly
	     4) click on some "empty space" to finish off the polygon


2002-02-25 andrew sampson
	- added autoconf stuff to detect lib3ds, and define HAVE_LIB3DS 
	  if it's found
	- prep for release


2002-02-23 andrew sampson
	- added texcoord loading to the wavefront loader
	- added wavefront saving


2002-02-21 andrew sampson
	- integrated patches from D. Pinson; apparently, kludge3d can be made 
	  to compile on win32, using cyg/mingw/etc.
	- fixed drawing-order bug in ortho views


2002-02-19 andrew sampson
	- added .3ds support via lib3ds.  It was really easy... it took me 
	  less than an afternoon.  The people who wrote lib3ds really know 
	  what they're doing.


2002-02-?? andrew sampson
	- fixed depth testing - wasn't requesting a depth buffer when calling 
	  gtk_gl_area_new()... how *embarassing* :)
	  Because depth-testing wasn't being performed before, and finally *is*
	  being performed, this version of kludge3d is considerably slower than 
	  previous releases.  I'll probably disable d.t. when in wireframe 
	  mode, since it will speed things up.
	- normals are now calculated for the polygons.  The flat-shaded mode 
	  looks much better now (no more weird lighting).
	- flat-shaded mode now has wireframe overlay rendered in a 2nd pass...
	  it's a little slower than before, but it looks much nicer.  I'm using 
	  a clever little hack I found online to avoid using the polygon-offset 
	  extension.
	- two new group operations: Merge Group With Children and Create New 
	  Group From Selected Polygons
	- added ability to hide/unhide selected polygons and vertices
	- added stuff for polygons with # vertices != 3.  This is more 
	  complicated than it sounds.  Lots of stuff had to be rewritten... 
	  anything that handled polygons needed to be changed (which consisted 
	  of much of the rendering and loading code...)
	  
	  I haven't decided how I'm going to handle interactive creation of 
	  non-triangle polygons.  Currently, kludge3d assumes you're finished 
	  after the third vertex is clicked.
	  
	  If you've hacked kludge3d to read/write file formats other than AC3D
	  (I know at least one person has done so) then this set of changes,
	  coupled with the new file-format-handler (see 2002-02-12 below), 
	  means that you've got some work ahead of you if you want to port your 
	  reader/writer to the newest version of kludge3d.  Email me if you 
	  need help.


2002-02-12 andrew sampson
	- merged in some more code from ME3D.  Multiple file formats can now 
	  be read/written.  The ac3d stuff has been moved into its own module
	  (fmt_ac3d.c), and the Wavefront loader from me3d has been ported to 
	  kludge3d.  If you want to write a reader or writer, take a look at 
	  doc_load_save.c and the existing fmt_*.c files.
	  
	  This should make adding new file formats to kludge3d much easier.
	  Note that you don't have to provide both reading and writing 
	  functions.  Kludge3d (and ME3D) can have read-only or write-only 
	  formats, too.  The Wavefront module, for example, is read-only for 
	  now.


2002-01-31 andrew sampson
	- merged in patches from D. Pinson: some autoconf problems were fixed, 
	  and a really sharp-looking axis-indicator was added. (thanks!)
	- made memwatch optional; use "./configure --with-dev" to enable
	- cleaned up interface:  added some icons for tools, and moved the 
	  mode-selector radio buttons.


2002-01-?? andrew sampson
	- changed the name of Point to Vertex and Tri to Poly
	- removed the vertex and polygon tools and replaced them with 
          generalized object tools.  Their behaviour is determined by scope-
          selector radiobuttons.
	- changed color scheme for verts and polys 
	- changed projection for the XZ ortho
        - new feature: a background image can now be specified for each axis
        - drag-n-drop stuff rewritten (IT WORKS NOW!)
        - the following tools were implemented:
        	duplicate subtree
                rotate vertices
                reverse polygon vertex winding
                flip vertices
        - texture-application dialog rewritten.  It is *very* nice, if you ask 
          me.  Check out my mustang model if you don't believe me!
        - fixed long-standing bug in texture code... alpha component was not 
          removed after texture load


2001-11-?? andrew sampson
	- new icons for buttons
	- David Pinson submitted a patch for rpm stuff, build problems, and 
          gnome desktop entry


2001-11-05 andrew sampson
	- Several patches from David Pinson were integrated:
          code-cleanup: compiler warnings
          on Tru64: mouse drag events weren't being handled correctly


2001-10-18 andrew sampson
	- cleanup, in prep. for release
        - mad props go out to Mike, for providing a makefile for freebsd.


2001-10-12 andrew sampson
	- changed 3d camera positioning.  It's better now.  
          To Rotate:  click and drag with the "Pan View" tool
          To scoot around on the XY plane:  hold down "shift" and click and 
          	drag with the "Pan View" tool (careful, it's sensitive)
          To change the distance-from-the-point-of-camera-rotation (ie zoom):
          	click and drag with the "Zoom View" tool
          I'll add a way to change the elevation soon, too.
          

2001-10-06 andrew sampson
	- A lot has happened in the last few months.  While I _have_ been 
          working on kludge3d, I haven't been making regular releases like I
          used to.  I'll try to list all the major changes that have been made,
          but I don't think I'll be able to remember them all...
          
        - rendering errors - the drawing-order problem was actually caused by 
          the version of Mesa I was using, not kludge3d.  Mesa-3.5 doesn't 
          seem to have this problem.
        - vertex selection has been rewritten.  Triangle selection still uses 
          the old method, but it works well enough for now.
          BTW - don't try to select more than 64 vertices in one go.  This is
          a limitation in OpenGL (the name stack, to be specific).  If you
          need to select more than 64 vertices, then just do it in 2 groups.
        - vertex selection has gimp-style key bindings now.  Hold down [shift]
          when selecting vertices to add to the current selection.  Hold down
          [ctrl] to negate.  Try it, you'll see what I mean.
        - texture-app dialog uses an enlarged version of the original texture,
          to make it easier to see what you're doing.  You'll need some 
          serious screen real-estate to avoid overlapping windows.
        - Expose events are handled *MUCH* better than they were.  Instead of
          re-rendering the entire scene, the GL buffers are swapped.  Dragging 
          a window across kludge3d should no longer bog-down your machine.
        - The entire geometry tree is drawn now, including vertices, all the
          time. Previously, only the "current group" and its children were 
          drawn.  Actions like selecting/moving/deleting vertices are now 
          performed on the whole tree (ie you can now select vertices that are
          in different groups).  
          There are some exceptions: adding vertices, selecting/texturing/
          adding/deleting triangles.  If you add a vertex, it will be added to 
          the "current group".  Likewise, triangle operations are performed 
          only on the "current group".
          (BTW - the "current group" is set by clicking on one of the list items
          in the "Groups" notebook tab)
        - A major bug was fixed in the texture manager, which prevented texture
          information from being saved correctly.  To my credit, the bug wasn't
          in my code; it was in code from G3d...
        - A rubber-band is drawn when selecting vertices.  
          Try it!  It's spiffy!



2001-06-14 andrew sampson
	- split glpreview.c into view.c and glpreview.c; opengl rendering 
          stuff goes in glpreview.c, and view-initialization & 
          mouse-event-related stuff goes in view.c
        - more progress made in lasso selection 


2001-06-12 andrew sampson
	- lots of bug fixes (i can't remembr what changed)
        - most of the group operations work now
        - beginnings of a texture-coordinate dialog
        - beginnings of lasso-selection for vertices
        - worked on the web page a little (new look!)


2001-05-28 andrew sampson
	- opengl is now used for all 4 views
	- sourceforge finally accepted the project... still waiting for 
          the shell server to be fixed


2001-05-26 andrew sampson
        - lots of code clean-up
        - "loc" keyword is now handled
        - 2d performance is worrisome... thinking about switching over to 
          opengl for all 4 views.


2001-05-24 andrew sampson
	- recursive rendering of surfaces
        - changed name to "kludge3d"
        - cleanup in prep. for release


2001-05-22 andrew sampson
	- loading and saving are functional once again 
        - lots of little fixes to prevent segfaults, etc


2001-05-21 andrew sampson
	- added heirarchical (sp?) grouping of meshes 
        - ported me3d's "groups" dialog to the notebook thingy
          (still needs lots of work)


2001-05-20 andrew sampson
	- fixed coordinate system
	- moved texture dialog onto the notebook thingy
	- fixed/enabled textured rendering


2001-05-16 andrew sampson
	- fixed up cut/copy/paste
        - misc. cleanup / fixes


2001-05-15 Andrew Sampson
	- started work on "options" tab; it works, mostly...
        - added cut/copy/paste, still needs work


2001-05-12 Andrew Sampson
	- triangles and vertices are now drawn in 3d view
        - fixed/enabled point and triangle selection in glpreview


2001-05-10 Andrew Sampson
	- replaced 3d preview window ( glpreview.c ) with code borrowed 
          from ME3D.  G3d now sucks less.


2001-05-5 Andrew Sampson
	- added AC3D loading
	- added zoom and pan for 2d views.
          this affected many of the files... too many to list


2001-04-29 Andrew Sampson <ads4260@rit.edu>
	Lots of changes:
        - pixmaps are now compiled-in; you no longer need to put the .xpm's
          in /usr/local/share/whatever 
        - added rudimentary AC3D file output
        - multiple vertex selection has been added


2001-04-23 Andrew Sampson <ads4260@rit.edu>
	- frame.c : added a gdk_gc_unref() to fix a 
		    major memory leak... this leak was causing
                    X crashes, as BEH mentioned on his web page
	- lines.c : same problem
        - points.c : rewrote the vertex-selection function; it's now much
        	     less retarded.


1999-06-18 Blake E Hegerle <laertes@stab.gemma.com>
	* fileops.c : changed to use internal b3d strucs, now mush simpler
	* gadj.c : now allows scaling
	* glpreview.c : +texture mapping
	* tex_man.c : fixed a bug in deleting dialog
	* toolbar.c : added a modal indicator
	* tri.c : use internal format of B3D
	* misc : lots of other changes and bug fixes, now can save and 
		load files, texture mapping is started and interface 
		improvments have found their way into this program
	
1999-06-2  Blake E Hegerle <laertes@stab.gemma.com>

	* first public release. Should almost be useable.
