- Add On Mission Start, On Mission End hooks; swap Warpin and Warpout to Warp In and Warp Out
- Safer handle helper structs
- Improved math, eg matrix interpolation and vector multiply/divide
- Filesystem read AND write support
- Initial scripting orders support
- Better waypoints support
- Assorted requested scripting functions
bmpman:
- Safer bm_get_filename
cfile:
- Support for RW, rather than just R or W, file modes.
model:
- Safer texture_info struct. Taylor, I know we talked about this, but I realized that it was just a lot better for what it does and it shouldn't be too much trouble to replace with the new system (operations tend to be much more concise and clear). Let me know if any unexpected difficulties arise.
be sure to clean all three possible buffers with OGL init
fix a couple of bmpman loading bugs that messed up animations
fix bmpman bug that didn't properly account for free'd texture ram count with unload_fast
better texture memory handling (a work in-progress)
new image finding/loading
get rid of -pcx32 and -jpgtga
change the game_busy() reporting during bitmap page-in to only catch one frame of an animation
fix numerous little bugs in gropenglbmpman relating to -img2dds
- don't alloc it for bmpman, and make sure to only call on textures that we are loading
- add text for model loading, gets rid of the long-wait issue when it appears to not be doing anything early on
bm_load_sub_fast() doesn't need to lowercase filenames, so don't
byte-swap 16-bit DDS on big endian (they still don't look right though)
update bm_has_alpha_channel() to be less dumb
newer OpenGL extension support
add GL_ARB_texture_rectangle support for non-power-of-2 textures as interface graphics
add cubemap reading and writing support to DDS loader
fix bug in DDS loader that made compressed images with mipmaps use more memory than they really required
add support for a default envmap named "cubemap.dds"
new mission flag "$Environment Map:" to use a pre-existing envmap
minor cleanup of compiler warning messages
get rid of wasteful math from gr_set_proj_matrix()
remove extra gr_set_*_matrix() calls from starfield.cpp as there was no longer a reason for them to be there
clean up bmpman flags in reguards to cubemaps and render targets
disable D3D envmap code until it can be upgraded to current level of code
remove bumpmap code from OpenGL stuff (sorry but it was getting in the way, if it was more than copy-paste it would be worth keeping)
replace gluPerspective() call with glFrustum() call, it's a lot less math this way and saves the extra function call
add a pause/unpause for parsing so that we can safely start parsing something new then continue parsing something old
make Mission_text and Mission_text_raw only use the memory needed, and free it when it doesn't need to parse anymore
(should work ok with FRED2, but I wasn't able to test it)
- some new error checking (and fixes related to that) and cleanup
- fix EFFs not getting released/unloaded properly (was in a local tree but apparently missed CVS)
- minor fixes for bm_release() to produce a more properly cleaned slot
- use fast unloading for page_in stuff since we don't actually want really want the load count changing for texture maps
and to make sure that we free the memory usage regardless of load count
clean up some DDS error messages and other minor bug/comment fixes
move bitmap stuff from pstypes.h, it makes more sense here anyway
start of 8-bit palette conversion, needs work but is here for WMCoolmon to look at and play with
add -img2dds support
cleanup some D3D stuff (missing a lot since the old code is so unstable I couldn't get it working like I wanted)
some minor OGL cleanup and small performance changes
converge the various pcx_read_bitmap* functions into one
cleanup/rename/remove some cmdline options
add -cache_bitmaps and have bitmap caching between levels off by default
when -cache_bitmaps is used then use C-BMP for top-right memory listing, and just BMP otherwise
always use bm_set_render_target() rather than the gr_ version so that the graphics state is set properly
save the original gamma ramp on OGL init so that it can be restored on exit