[Initial Import
Nick Moffitt <nick@zork.net>**20051213040715] 
[dos2unix, eof newlines, s/pause/paused/ and diked out a known-irrelevant header file from directx or whatever
Nick Moffitt <nick@zork.net>**20051213042257] 
[Kill cargo-cult io libraries
Nick Moffitt <nick@zork.net>**20051213043451] 
[More dirent magic, some globbing, and it all at least compiles to .o files now.
Nick Moffitt <nick@zork.net>**20051213053024] 
[It builds!
Nick Moffitt <nick@zork.net>**20051213053928] 
[fixed compiler warning and clean rule in Makefile
Nick Moffitt <nick@zork.net>**20051213054305] 
[go CPPFLAGS, debug our lives
Nick Moffitt <nick@zork.net>**20051213064710] 
[No really this is GPL'd code!
Nick Moffitt <nick@zork.net>**20051213070451] 
[No more MS dev studio monkeyshine
Nick Moffitt <nick@zork.net>**20051213070541] 
[It was empty anyway
Nick Moffitt <nick@zork.net>**20051213073049] 
[Profiling document available for reference.  We'll update this as our code improves.
Nick Moffitt <nick@zork.net>**20051213165939] 
[Tags and header files.
Nick Moffitt <nick@zork.net>**20051213172815] 
[Let's actually *use* the double-buffering SDL provides.
Nick Moffitt <nick@zork.net>**20051213172845] 
[These are no longer Win32 modules, but generic SDL!
Nick Moffitt <nick@zork.net>**20051213174614] 
[Now we use sdl-config for our headers and libs
Nick Moffitt <nick@zork.net>**20051213183130] 
[Welcome to vim.
Nick Moffitt <nick@zork.net>**20051214022027] 
[Switched t_ik_image to be an SDL_Surface, made cmin/max_x/y an SDL_Rect
Nick Moffitt <nick@zork.net>**20051214065606
 
 22:55 <StrangeAdventuresInPorting> well
 22:55 <StrangeAdventuresInPorting> holy cow
 22:55 <StrangeAdventuresInPorting> I actually made progress on this
 22:57 <StrangeAdventuresInPorting> like, t_ik_image is now actually
 				   SDL_Surface
 22:58 <StrangeAdventuresInPorting> and it loads PCX and TGA files much
 				   faster and with less fuss
 22:58 <StrangeAdventuresInPorting> I noticed the end credits as actually
 				   working this time
 
 This is step one in the long gruesome trek toward proper use of SDL.
 Ultimately this will allow me to use the SDL_BlitSurface() routine to
 help performance, but for now I'm just swapping in SDL data types one at
 a time.  
 
 What I have done so far is make t_ik_image an SDL_Surface object.  There
 was already a one-to-one mapping once you cast the img->pixels pointer
 to uint8* (and the ugliest part of this so far is from doing just that).
 I also made the c_minx, c_miny, c_maxx, c_maxy globals a single
 SDL_Rect.  I'm not sure what the benefit may be down the line, but I'm
 sure it'll make blitting easier at some point.  It was an easy cosmetic
 change in any event.
 
 We have yet to fix the prep_screen and ik_dsprite/ik_drsprite functions.
 That is the next step.
 
] 
[Enabled custom sounds directory for mods.
shadowcat@ttlg.com**20051214121653] 
[New profile data
Nick Moffitt <nick@zork.net>**20051214163120] 
[New profile data from colorizer-cached BlitSurface patch
Nick Moffitt <nick@zork.net>**20051215000708
 The patch is to follow, but I wanted to include this separately.  It
 looks like my work is not in vain, for now ik_dsprite is way down in the
 rankings and drsprite and drawfont are the two big ones, suggesting
 future courses of action (especially since the font stuff is similar to
 the dsprite stuff).
] 
[We are now using SDL_BlitSurface, and we cache color-transformed sprites!
Nick Moffitt <nick@zork.net>**20051215000957
 This is a significant milestone.  I have redefined the sprite type to
 include an image, and directed the sprite.data pointer into the pixels
 array of the SDL_Surface.  This allows all existing code to behave as
 expected, while making the SDL_BlitSurface much simpler in the common
 case.
 
 In addition, I have determined that the color values used to do palette
 transformations are all in the upper nybble of the pixel, making a
 sixteen-slot cache of color-transformed sprite images a no-brainer.
 ik_dsprite now caches the co transformations, which may explain
 ik.dsprite()'s dramatic drop in the profile rankings.
 
 The next step is to do the same thing to ik_drsprite(), which could be
 hairy.  It may be easier to do the drawfont function first, as that is
 more similar to dsprite.  
 
 As for caching the drsprite results, I speculate that it might be best
 to keep a short ring buffer of transformed sprite images and simply walk
 it at the start of each operation.  sprites traveling in a line at an
 angle will benefit, particularly in the starmap.  Rotation may be too
 fast to make a full cache worthwhile.
 
 Perhaps an MRU instead of a ring buffer would be best.  I anticipate the
 sizes to range from 3 (<=2 gets one pixel) to maybe 16, and the
 rotations are scaled to 1000.  So there's an upper bound of 64k on
 pointers alone if we did a static array.  Not sure when we'd collect
 garbage on it, though.
 
 
 To the future!
] 
[Grab demo data from Makefile
Nick Moffitt <nick@zork.net>**20051219181012] 
[Fixing non-demo code
Nick Moffitt <nick@zork.net>**20051225224659] 
[the SAIS zipfile is long dead.
Nick Moffitt <nick@zork.net>**20060421070527] 
[Fullscreen for speed
Nick Moffitt <nick@zork.net>**20060502194709] 
[backing out fullscreen, leaving surface flag voodoo, better makefile
Nick Moffitt <nick@zork.net>**20060509162318] 
