Version 1.7 of the LionSnake modeler is now available for download at:
Changes since the last version include:
# LionSnake now supports faces with more than four sides. The limit now
is 32,767 sides per face. If you try to exceed that, I can't be held
# LionSnake can now import and export Alias/Wavefront .obj and .mtl
files. Presently edge sharpness is not saved in the files, but the face
grouping assignment is. I was considering making this the primary file
format, but it does not support all of the features that I wanted, so I
stayed with my own format with the .lsm extension.
# A bug with the mouse mode was causing crashes after a certain number
of undo and redo operations. Fixed.
# When a Bone with dependent Bones or Vertices is deleted, a
confirmation dialog box now appears, and among other things lets you
specify whether to make the dependent items non-dependent, make them
dependent on the deleted Bone's parent (if any), or to cancel the
# You can select all of a continuous section of mesh at once, by
selecting that operation from the context menu for any vertex, edge, or
face in the desired section.
# The display of the axes is now more consistent.
# The subdivision preview is no longer as smooth as it once was. I hope
to get it back to something nice (and, hopefully, better) soon.
# The default color for faces is now a full white (<255,255,255>),
instead of the medium-light gray (<160,160,160>) used before. This was
done because the default color for Alias/Wavefront objects is white.
# Performance is now vastly improved for large meshes. There was an
O(N^2) situation that came up with file loading and mesh validation.
This caused some meshes to take a long time (two minutes or more) to
load from file or make any edit to the mesh topography. Fixed.
# Mesh selection is more consistent as well. You can select mesh
portions by selecting vertices, edges, or faces.
# The POV-Ray macros have been replaced with a new set, based on the
Catmull-Clark subdivision scheme. The names of the files have been
changed (they start with c2s3 instead of the former nsss) so that using
the new macro suite won't overwrite older work.
# And nobody cares, but all of the C-style malloc(), calloc(), and
free() calls have been replaced with C++ equivalent (new and delete)
# And some of you may care that the header files in the source code have
been rearranged from their former evil state to something that is easier
to follow; the crazy way of nesting them has been replaced with
something more sensible.
# Furthermore, the sources have been re-arranged. With some exceptions,
all of the member functions for the Model class are now in files named
model_*.cpp, where the * stands for the first letter of the function
name. There are now more source files, but they are now mostly smaller,
and it's easier to find a function in the source files.
# And to make things easier for any masochist who wants to port this to
Mac or Linux (and to eliminate a global variable to track an end-of-file
condition), I have encapsulated the code for reading and writing files
into a set of file handling classes. I developed my own set of classes
instead of using the standard library streaming operators, because at
least on my compiler those things are bloated.
Post a reply to this message