D1X-Rebirth Changelog

20130611
--------
main/wall.c: Made wall_damage() and blast_blastable_wall() similar to D2X-Rebirth code base. Also fixing regression introduced in a4068234b4 causing blast_blastable_wall() being called multiple times and causing high damage
main/titles.c: Fixed briefing_screens array for Descent 1 Shareware
main/menu.c: Changed message regarding VSync and Multisampling indicating not all OSes need a restart to apply (mysteries of SDL)
main/laser.c: Consider FrameTime overhead when calculating time to allow next weapon fire. Should work perfectly as long as FPS >= Shots-per-second

20130610
--------
misc/hmp.c: Made hmp code actually read tempo. Due to missing documentation of the format I can only guess it's a 4 bit int

20130422
--------
main/net_udp.c: In restricted game mode check for player callsign and sockaddr at the same time; Clear Netgame struct each time player enters a new IP in manual join menu
arch/sdl/rbaudio.c: Added a lot of status messages for RBA code shown with -verbose, hopefully making it easier for users to track down problems and made all RBA messages start with RBAudio prefix

20130418
--------
main/lighting.c, main/render.c: Removed light_frame_count due to being unnecessary since lighting is now time-based and messed up deletion of dynamic light
main/render.c: Due to additive blending, transparent sprites will become invivible in font of white surfaces (lamps). Fix that with a little desaturation
main/net_udp.h: Made UPID_GAME_INFO_SIZE, UPID_GAME_INFO_LITE_SIZE and UPID_SEQUENCE_SIZE change if NETGAME_NAME_LEN, MISSION_NAME_LEN or CALLSIGN_LEN changes, fixes bug where joining games was not possible anymore due to recent change of MISSION_NAME_LEN
main/multi.c: use const ubyte for multi_do_powcap_update()
main/gauges.c: Adjusted SB_PRIMARY_W_BOX_RIGHT_L to fit perfectly

20130408
--------
main/gamecntl.c, main/gamerend.c, main/gauges.c, main/gauges.h: Added 4th alternative HUD mode for no HUD rendering, aka Immersion mode
main/menu.c, main/playsave.c, main/playsave.h, main/weapons.c: Added option to ignore cycling weapons that are not on autoselect list

20130406
--------
d1x-rebirth.xcodeproj/project.pbxproj, editor/ehostage.c, main/custom.c: Updated Xcode project, changed references to error.h to dxxerror.h, since it was renamed
.gitignore: Added .gitignore

20130405
--------
SConstruct: For the assembler build, make sure platform_settings is accessed from self, likely preventing a compiling error
SConstruct: Changes towards building using SCons on Mac OS X

20130122
--------
README.RPi, SConstruct, arch/ogl/gr.c: Support for Raspberry Pi - patch by derhass
main/controls.c: Increased ship wiggle from 20FPS- to 30FPS-base as I think this more representy the 486 play style - feels way more natural to me, too

20130119
--------
main/gamerend.c, main/menu.c, main/multi.c, main/multi.h, main/net_udp.c, main/playsave.c, main/playsave.h: Added Rankings functionality like in D2X-Rebirth while still utilizing eff file from original D1X source
main/multi.c, main/multi.h: Decrease personal score when killing multi buddy and don't increment towards kill goal

20130117
--------
main/render.c: Fix click-selection in the editor for OpenGL implementations that insist on point blending

20130112
--------
arch/carbon/conf.h: Used new D1XMAJORi / D1XMINORi / D1XMICROi version constants for Mac
main/inferno.h, main/mission.c, main/mission.h: Increased the maximum number of levels and secret levels per mission to 127 each, using MALLOC'd arrays; defined 'd_fname' type (mainly for my pointers to arrays of 13 character filenames, but could be convenient elsewhere)
arch/carbon/messagebox.c, arch/win32/messagebox.c: If there's a messagebox to show on exit, and we *were* in fullscreen, don't try to toggle fullscreen and crash

20130108
--------
main/gamerend.c, main/multi.c, net_udp.c: Fixed some minor HUD-text related issues: For team assignment messages, joining player name would appear; team color assignment in netgame info screen could be wrong due to wrong syntax handling; when rewrapping text messages to specific player, game would not add space behind colon
main/kmatrix.c: Defer free of kmatrix data until window is fully gone - patch by Kp
main/kconfig.c: Added default keys for weapon cycling similar to Descent 2 and reverted default reverse key to Z as default as more convinient for the QUERTY keyboard layout
main/inferno.c: Disable fullscreen toggling via ALT+ENTER if Game_wind is on top so toggling cannot be done accidentially ingame
arch/sdl/mouse.c, d1x.ini, include/args.h, main/inferno.c, misc/args.c: Added option to hide mouse cursor (without disabling the mouse completely)
SConstruct: Patch by A Future Pilot to hopefully fix bug which prevented building source within MinGW if Visual Studio installed
arch/ogl/ogl.c: Changed additive color blending func to GL_ONE, GL_ONE - patch by derhass

20130103
--------
main/net_udp.c: Centralized UDP Broadcast function for IPv4 and IPv6 calls - patch by Kp
editor/med.c: Deleted unnecessary drop-to-shell feature; commented out unused ReadLispMacro - patches by Kp
2d/font.c, include/ogl_init.h: Moved pow2ize declaration to ogl_init.h - patch by Kp
main/bmread.c, main/hostage.c, main/piggy.h: Moved remove_char declaration to piggy.h - patch by Kp
main/multi.h, main/net_udp.c: Moved multi_* declarations to multi.h - patch by Kp
maths/rand.c: Included maths.h in rand.c to get d_rand prototype - patch by Kp
arch/include/joy.h, arch/sdl/event.c, arch/sdl/joy.c: Moved joy_*_handler declarations to joy.h - patch by Kp
editor/group.c, editor/medwall.c, editor/segment.c, main/gameseg.h, main/wall.h: Declared wall_close_door_num in wall.h; Declared validate_segment_side in gameseg.h - patches by Kp
include/3d.h, main/gameseq.h: Removed redundant/obsolete declarations - patch by Kp
main/kconfig.h: Moved large control_info arrays to end - patch by Kp
medrobot.c: medrobot: avoid needless name copy - patch by Kp
editor/centers.c, main/gamecntl.c: Fixed argument specifier mismatches flagged by -Wformat - patch by Kp
arch/ogl/gr.c, main/game.c: Moved screenshot message formating to HUD_init_message - patch by Kp (and me for non-OGL code ;))
main/automap.c, main/credits.c, main/gamerend.c, main/gauges.c, main/hud.c, main/kmatrix.c, main/menu.c, main/newmenu.c, main/scores.c: Converted gr_printf to gr_string where needed - patch by Kp
editor/medrobot.c, main/endlevel.c, main/gamecntl.c, main/powerup.c, main/wall.c, main/weapon.c, ui/file.c: Added dummy "%s" to prevent formatting untrusted literals - patch by Kp
main/hud.c: Removed obsolete HUD cleaning code - patch by Kp
editor/info.c: Use proper width in format specifier - patch by Kp

20121102
--------
arch/include/key.h, arch/sdl/key.c, main/kconfig.c: Made key_properties readable in other files; Eliminated key_text variable; Marked unicode_frame_buffer as extern in header - patches by Kp
arch/ogl/gr.c, arch/ogl/ogl.c, include/gr.h: Removed 'new' from prototypes; Declared ogl_do_palfx(), ogl_close_pixel_buffers(), ogl_init_pixel_buffers() in gr.h - patches by Kp
include/maths.h, include/texmap.h, include/ui.h, main/object.c, maths/fixc.c, maths/tables.c, texmap/ntmap.c, ui/dialog.c, ui/icon.c: Moved ui_draw_frame(), ui_draw_shad(), draw_tmap_flat(), math tables externs to headers - patches by Kp
3d/clipper.c, 3d/draw.c, editor/meddraw.c, include/3d.h, main/automap.c, main/render.c: in g3s_codes renamed  or,and to uor,uand - patch by Kp
main/object.h: use struct type explicitly - patch by Kp
include/error.h: Renamed __format to __attribute_gcc_format due to possible C++ conflict; allow arguments - patch by Kp
include/console.h, main/console.c: Marked con_printf fmt as const, Increased console lines from 512 to 2048; Marked console private entries as static - patches by Kp
2d/font.c: Fixed test for font magic number; Consolidated grs_font_read() - patches by Kp
main/menu.c, main/multi.h, main/net_udp.c: Moved vers_id.h inclusion to where it is needed - patch by Kp
2d/bitmap.c: Include bitmap.h - patch by Kp
2d/bitblt.c, include/rle.h: Move declaration of gr_rle_expand_scanline_generic() to rle.h - patch by Kp

20121031
--------
main/hostage.h, include/u_mem.h: Fixed inconsistency in hostage_rescue() definition and revoked recent patch for u_mem.h due to infinite loops in mem.c caused by this

20120903
--------
arch/sdl/jukebox.c, main/gauges.c: Avoid some unnecessary strlen's - (slightly changed) patch by Kp
misc/args.c: Made FindArg static - patch by Kp

20120902
--------
include/u_mem.h: Compile out memory checker if not enabled - patch by Kp

20120901
--------
main/vers_id.h: Fixed incorrect patch merge introduced in the last commit
main/fireball.c, main/laser.c: Removed Assert in create_smart_children() which has been taken from D2X code but does not apply for D1X and only will let the Assert fail
main/laser.c, main/laser.h, main/object.c, main/object.h, main/powerup.h: Use enum for object types, powerup types, weapon types

20120728
--------
SConstruct, main/vers_id.h: Some Sconstruct lovin': Respect LDFLAGS; Made D1XMAJORi/MINORi/MICROi compile time constants; Do not pass CFLAGS to CXX; Mark some more warnings as errors - patches by Kp

20120724
--------
main/bmread.c: No calling piggy_dump_all() when EDITOR is defined, it causes a failed Assert and causes it to exit when the PC Shareware descent.pig is used
English.lproj/InfoPlist.strings, d1x-Info.plist, d1x-rebirth.xcodeproj/project.pbxproj, d1xgl-Info.plist: Increment version number for Mac files (should have committed this ages ago)
include/strutil.h, main/collide.c, main/dumpmine.c, ui/gadget.c, ui/radio.c: Fix warnings (add d_splitpath prototype, no checking ubyte 'id' is < 0, fix say_totals prototype, include d_strdup prototype for radio.c and make sure that 'text' gets freed)
main/polyobj.c: Don't draw objects with a modelnum of -1, improving stability when a third party mission is played with shareware data

20120723
--------
2d/font.c,, 2d/pcx.c, 3d/points.c, arch/include/jukebox.h, arch/sdl/jukebox.c, iff/iff.c, include/3d.h, include/error.h, include/gr.h, include/iff.h, include/pcx.h, include/physfsx.h, include/vecmat.h, main/ai.c, main/config.c, main/dumpmine.c, main/fvi.c, main/fvi.h, main/gamefont.c, main/gamesave.c, main/gamesave.h, main/gameseg.c, main/gameseg.h, main/kconfig.c, main/kconfig.h, main/menu.c, main/multi.c, main/multi.h, main/newdemo.c, main/newmenu.c, main/newmenu.h, maths/vecmat.c, misc/error.c, misc/physfsx.c: Redefined lotsa variables, functions and parameters as const and/or static - patch by Kp

20120618
--------
main/gamerend.c, main/multi.c: removed temp_string buffer for ingame message inputs preventing the string from being messed up if containing special characters
main/game.c, main/gameseq.c, main/multi.c, main/multi.h, main/player.h, main/powerup.c: Introduced INITIAL_ENERGY and INITIAL_SHIELDS defines from d2x and on that way added handicap feature for multiplayer as well; incremented multi proto version

20120610
--------
arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, main/songs.c, main/songs.h: added songs_play_file() to play any song depending on filename-extension as a more streamlined approach to handle all different kinds of formats; also used for jukebox to make it independent from SDL_mixer; cleaned up supported filename extenstions

20120608
--------
main/kconfig.c: Switching keyboard sensitivity function from variable increase to variable offset, making the ship more responsive in higher settings
math/vecmat.c: in vms_matrix_from_quaternion put the definition of tmp1 and tmp2 variables at the beginning of the functions because i was a baaaad boy

20120601
--------
main/kconfig.c, main/kconfig.h, main/menu.c, main/playsave.c, main/playsave.h: Introduced sensitivity sliders for keyboard which cause movement increase the longer the designated key is pressed
main/gauges.c, main/menu.c, main/net_udp.c, main/songs.c, misc/physfsx.c: use size of output buffer for snprintf; on the way changed rebirth-specific song file to dxx-r.sng to respect hog 8+3 file convention
editor/med.c, misc/physfsx.c: changed extension for archive (addon) content from zip to dxa - still a zip-file but renamed to not accidentially add user generated backups and possibly mess things up
med/file.c: renamed forgotten stricmp to d_stricmp to make editor compile again

20120527
--------
editor/med.c, main/game.c, main/game.h, main/gamerend.c, main/menu.c: Removed remnants of the old and obsolete VR implementation
main/laser.c: removed weapon_rate_scale() which should be obsolete due to other optimizations in network code; Removed Laser_offset hack

20120526
--------
main/collide.c: Fit player/player collisions to not take damage from bump while remote player has possibly not aligned to the collision, yet; Added FORCE_DAMAGE_THRESHOLD for minimum force damage to receive from object bumps to not simply take damage from touching objects
main/net_udp.c: Fixed one more copy/paste issue causeing positional updates relayed to possibly disconnected players
include/vecmat.h, main/gameseg.c, main/multi.h, main/net_udp.c, main/net_udp.h, main/object.h, maths/vecmat.c: Optimization for quaternion structure: Stuffed orientation in shorts and removed figure out segnum by position - saving 10 bytes for each positional update in Multiplayer; Also removed render_type from pdata to save yet another byte
main/titles.c: fixed possible buffer overflow in load_screen_text()
 
20120525
--------
main/cntrlcen.c, main/game.c, main/switch.c: Cancel out do_controlcen_dead_frame() when not playing and only check triggers for playing players for further host-authority stuff; Made GameProcessFrame not cause endless loop by closing kmatrix over and over again due to game_leave_menus(); Also only close menus when level ends and when we die only the automap will close - otherwise menus can stay (user request)

20120524
--------
main/gameseq.c, main/multi.c: in StartLevel() only call disable_matcens() and clear_transient_objects() in Singleplayer to keep consistency with remote clients

20120521
--------
main/state.c: now properly initialize all other parts of the new/old player object when restoring a coop savestate
include/vecmat.h, main/gameseg.c, main/multi.c, main/multi.h, main/net_udp.c, main/net_udp.h, main/object.h, main/playsave.c, maths/vecmat.c: Introduced quaternion functions to replace vector matrix where size matters - created by Florian Feucht; Added option for pdata packets based on quaternion in Multiplayer game; Removed PF_LEVELLING from new player objects to prevent jittering in player banking

20120519
--------
arch/ogl/gr.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, editor/autosave.c, editor/func.c, include/strutil.h, main/bmread.c, main/gamecntl.c, main/gamesave.c, main/hash.c, main/hud.c, main/menu.c, main/mission.c, main/multi.c, main/net_udp.c, main/newmenu.c, main/piggy.c, main/playsave.c, main/scores.c, main/songs.c, main/text.c, main/titles.c, misc/args.c, misc/physfsx.c, misc/strutil.c, texmap/scanline.c, ui/file.c: using our own functions for stricmp, strnicmp, strlwr, strupr, strrev with a d_ prefix for all platforms for consistency
editor/kmine.c, editor/mine.c, include/strutil.h, include/u_mem.h, main/gamesave.c, mem/mem.c, misc/strutil.c: using our own functions for strdup and _splitpath with the d_ prefix for all platforms for consistency

20120518
--------
main/state.c: fixed incorrect canvase for opengl-scaled savestate thumbnail; rebuild free objects after restoring and remapping the coop players

20120516
--------
main/game.c: In Multiplayer when taking damage, the game will only leave menus when shield drop below 5
main/net_udp.c: when updating game info also check for player connected status in case we send to everyone
main/gamecntl.c, main/object.c: allow PAUSE key during death sequence to pause or view multiplayer game stats; Also reset hostages_on_board when ship blows up so pause menu during death sequence will show 0 hostages soon as the ship explodes; fixed crash for slew_init by removing old numlock hack

20120515
--------
main/net_udp.c: Do not send endlevel packets to disconnected (but still saved) clients; Do not allow ports below 1024; More verbosity for udp_open_socket()

20120514
--------
2d/disc.c, SConstruct, editor/medmisc.c, include/gr.h, include/internal.h, main/menu.c, main/net_udp.c, main/playsave.c, main/state.c, misc/hmp.c, misc/physfsx.c: Fixed some non-critical compiler warnings; Now compiling with -std=c99 -pedantic and fixed warnings (except for editor build) caused by this
2d/bitblt.c, 2d/pixel.c, arch/sdl/digi_mixer.c, main/gauges.c, main/menu.c: Made inline functions static
include/gr.h, main/ai.c, main/aipath.c, main/automap.c, main/cntrlcen.c, main/fuelcen.c, main/game.c, main/game.h, main/gamecntl.c, main/gamerend.c, main/laser.c, main/mglobal.c, main/object.c, main/render.c, main/texmerge.c, main/wall.c: Renamed FixedStepCalc() to cald_d_tick() and FixedStep became d_tick_step; Also ther eonly is a 50ms-timer used to d_tick_step as it was the only one used so far; Replaced FrameCount with d_tick_count which only increments by 50ms-timer used in calc_d_tick() - that now scales timed actions for certain functions properly and makes AI work FPS-independent without any hacks in that regard
main/multi.c: During kmatrix bring up Game_wind againso the host can still follow the game - becomes necessary later with host-authority functions


20120510
--------
main/multi.h, main/state.c: Reuse pre-defined player objects when loading coop savestate to revent messup when player amount or orders change in a certain way
main/menu.c, main/playsave.c, main/playsave.h, main/weapon.c: Wrote seperate function for weapon autocycling that also cycles through non-autoselect weapons; Added option to not autoselect weapon when firing; On the way, smoothed the menu text in misc menu a bit
net_udp.h: Reduced timeout from 10 to 5 seconds
RELEASE-NOTES.txt, SConstruct, arch/carbon/conf.h, main/multi.h: Incremented version to 0.57.3; Added Release notes

20120509
--------
main/laser.c, main/multi.h: Added more versatility in picking targets for the creation of smart blobs - especially for Multiplayer; cleaned that code a bit; made dodging of homing projectiles a little easier

20120430
--------
main/net_udp.c: fixed copy/paste mistake

20120427
--------
main/inferno.c, main/multi.c, main/multi.h: Similar to Network_new_game introduced imulti_new_game to exclusivly use in multi.c to execute stuff in new level only when starting a new game - for example resetting player ship inventory which is not supposed to happen on each level; Removed long obsolete control_invul_time varible

20120424
--------
main/gauges.c: little reorganization for draw_hud(): draw multiplayer names first, reticle last to prevent anything being drawn over by floating names and reticle not messed by anything else

20120423
--------
main/multi.c, main/multi.h, main/net_udp.c: fixed improper player disconnecting which might have been caused by endlevel packet

20120418
--------
main/gameseq.c, main/gameseq.h, main/gauges.c, main/multi.c, main/net_udp.c, main/state.c: Removed usage of 'oldmaxnet' variable when switching between coop and other game modes which would not be correctly set when coop mode is loaded from a netgame profile; Removed 'MaxNumNetPlayers' variable as already replaced by Netgame.max_numplayers

20120417
--------
main/gameseq.c: Allow level progressing if playing the builtin mission with EDITOR compiled - only exit if Current_level_num is 0
editor/med.c: Reset the player object for the editor, since demo playback mucks it up
main/render.c: Skip rendering of OBJ_NONE objects to avoid a failed Assert (can happen when playing a demo then going to the editor)
main/newdemo.c: Set object lifeleft to IMMORTAL_TIME if the byte read in demo playback is -1. This allows the objects to stay when playing a demo, going to the editor then playing the game from the editor
main/newdemo.c: Call free_mission() if a demo is corrupt, so the editor doesn't load a corrupt level
editor/group.c, editor/kgame.c, editor/khelp.c, editor/kmine.c, editor/macro.c, editor/med.c, editor/medwall.c, editor/mine.c, include/ui.h, ui/file.c, ui/keypad.c, ui/menubar.c, ui/message.c: Rename MessageBox to ui_messagebox to avoid a conflict with Windows' MessageBox
main/newdemo.c, main/object.c, main/object.h: Call new obj_relink_all after playing a demo, so the editor is (hopefully) never faced with poorly linked objects and hence crashes

20120416
--------
main/gameseq.c, main/multi.c, main/multi.h: fixed two bugs caused by recent Multiplayer cleanup: Set more player-death-related veriables outside of dead_player_end() when creating new ship as not covered in subfunction is Palyer_is_dead is not true; also init my own inventory properly in multi_prep_level to get our inventory straight after receiving netgame information
editor/data/med.mnu, editor/med.c, editor/medmisc.c, main/slew.c, ui/ui.c: Make movement in the editor's game screen use the player controls, make that movement more like the automap and resolve some likely conflicting key commands
editor/centers.c, editor/eswitch.c, editor/med.c, editor/medrobot.c, editor/medwall.c, main/game.c, main/gameseq.c: Avoid crashes when clicking on close box with a center, switch, object or wall editing dialog open; also when playing a level, going to the editor, going back to the game then dying
editor/eglobal.c, editor/med.c, main/game.c, main/gamesave.c, main/menu.c, main/mission.c, main/mission.h: Make a new mission when making a new mine to avoid a crash when testing it straight from the editor and winning, only create a new mine if a mission isn't loaded, if it thinks it needs to use Cursegp to fix the player object make sure Cursegp is initialised, remove key command for ToggleDrawAllSegments since add segment now has ctrl-A

20120415
--------
main/multi.c, main/multi.h, main/net_udp.c: When possibly sending player positions prior to firing, do that before messing multibuf; Added more strict sanity checks for outgoing and incoming multi packets; Moved some general game stuff from net_udp_init() to multi_new_game()
editor/meddraw.c: Set edge_list_size to Num_segments*12 to avoid crashes in the editor with certain third party levels
2d/gpixel.c, arch/ogl/gr.c, editor/meddraw.c, include/ogl_init.h, main/multi.c, main/render.c: Clicking on mine elements in the editor now works in ogl
main/bmread.c, main/game.c, main/gameseq.c, main/gameseq.h, main/gauges.c, main/kmatrix.c, main/multi.c, main/multi.h, main/net_udp.c, main/state.c: Further Multiplayer cleanup: moved gobal variable resets from multi_new_game() to proper function calls; added pnum variable to init_player_stats_game() and init_player_stats_new_ship() so these can be set for each player when starting match; added multi_new_level() calls when setting up game as well when trying to join game; cleaned multi_reset_stuff() from variable resetting that happen in general game code; when being dumped from game, made sure no packets are sent during messagebox dispaly; replaced MAX_NUM_NET_PLAYERS by MAX_PLAYERS as it's the same definition
misc/hmp.c: Addition for last change in hmp_reset(): execute midiOutShortMsg() even if midiOutPrepareHeader() fails as not related to SysEx part
main/titles.c: made -notitles suppress show_order_form() as well
2d/bitblt.c, main/render.c: Fixed set but unused variables in OGL build

20120414
--------
main/gamesave.c: Fix crash when loading a level in the editor
editor/segment.c, include/editor/editor.h, main/gamesave.c: Set Gamesave_current_version to correct version when making a new mine, move create_new_mine to gamesave.c
main/gamesave.c: Don't bother generating a game text file (.txm) every time a level is loaded, even if the EDITOR is compiled. Just when a level is saved
editor/med.c, main/game.c, main/gamecntl.c: Delete-E while playing a level now works properly - it closes Game_wind and sets Cursegp if necessary when going to the editor
editor/med.c, main/dumpmine.c, main/gamecntl.c, ui/ui.c: Fix bugs switching between game and editor and back: make sure ModeFlag is set to 0 before it has any chance to show an alert message, fixing a crash; allow OBJ_NONE in Assert; make Game_wind invisible when loading editor in case we show an alert; call mouse_flush() in ui_init() to fix mouse issues
editor/med.c: Set the correct palette for the editor

20120412
--------
main/collide.c, main/gameseq.c, main/multi.c, main/multi.h, main/net_udp.c: Fixed some Multiplayer bugs: Reactor invulnerable time did not checked for hours spent in level so reactor would become invulnerable again after 60 minutes; Fixed the fix (heh) for misordered explode/reappear packets; Reset Player_eggs_dropped when initializing new ship so eggs are properly dropped when player disconnects two times without respawning; Cleaned player disconnecting a little bit and made code more straightforward
main/menu.c, misc/hmp.c: Removed redundant call of songs_stop_all() when starting credits; Added failsafe for loop in case MHDR_DONE flag is not properly set by MIDI device; Added more verbosity for hmp_reset()

20120411
--------
editor/ehostage.c, editor/medrobot.c, ui/file.c, ui/inputbox.c, ui/keypress.c, ui/listbox.c, ui/message.c, ui/uidraw.c: Draw the object rotation velocity, file browser and MessageBox dialogs properly
ui/file.c: Fix a crash when going into a directory with no files in the editor file browser, clicking on listboxes for same sets inputbox correctly

20120409
--------
main/state.c: in software rendering scale savestate thumbnail to correct size
editor/autosave.c, editor/info.c, editor/med.c, editor/objpage.c, editor/texpage.c, include/ui.h, ui/keypad.c, ui/uidraw.c: Get the clock, 'keypad' info, texture choosing page and object choosing page to draw (latter two just show black squares for ogl)
arch/sdl/window.c, ui/menubar.c: Fix a nasty bug where pressing 'Alt' to explore the editor menubar would split the window stack in two, rendering the editor unresponsive
2d/bitblt.c, 2d/box.c, 2d/font.c, arch/ogl/gr.c, editor/med.c, ui/dialog.c, ui/uidraw.c, ui/userbox.c: Fix all remaining known editor drawing issues. In ogl: get the texture previews to draw, get userbox borders to draw in the right location, properly underline characters in the menus, draw all the borders properly (i.e. no gap), no scaling fonts. Software render: draw userbox borders again. Both: clear the whole status bar, clear to the right edge of the screen.
main/newmenu.c: No setting the screen mode when calling a newmenu function, so if it shows the 'Save Mine' messagebox in the editor, it won't change the screen resolution and trash everything. (If this causes problems, we can make it use the MessageBox if it's still in the editor, nm_messagebox otherwise)
2d/rect.c, editor/info.c, editor/med.c, include/ui.h, main/inferno.c, ui/dialog.c, ui/menubar.c: Editor exits cleanly when clicking the close box, no more redundant gr_uscanline call in gl_urect for ogl (an initial attempt to fix the previous bug)
2d/rect.c: Fix unused variable warning in last commit

20120408
--------
main/mission.c, main/mission.h, main/titles.c: added specification for Descent: Destination Saturn briefing screen to properly show briefings; added different briefing structure for Descent 1 Shareware which has a slightly different order of the usual briefings
main/collide.c: plasma fire can ignite bombs which are dropped while firing. to compensate added a timed check where at least one projectile must be older than 200ms to trigger a possible collision. this fixes this issue if the player is moving away from the bomb

20120407
--------
main/fireball.c: made choose_drop_segment more similar to D2X-Rebirth and let fallback correctly check for reactor segment
2d/font.c: made code more similar to D2X-Rebirth by introducing open_font which allows to keep track of font_data and free it properly
2d/font.c, misc/strutil.c: removed redundant definitions of FILENAME_LEN
main/multi.c, main/multi.h: fixed glitch when reappear and explode packets are misordered, rendering player invisible
main/gauges.c: record shields if player is invulnerable to get proper shield display in demo playback if player respawns with invulnerability on

20120405
--------
include/maths.h, main/fvi.c, maths/fixc.c: Introduced fixmul64 returning fix64 type to use with check_point_to_face() and prevent fix overflow with very large faces; on the way cleaned up NO_FIX_INLINE remnants and replaced QLONG with fix64

20120331
--------
d1x-rebirth.xcodeproj/project.pbxproj, 2d/font.c: Make sure the ogl font code recognises the editor font is fixed width, fixing a crash; take the plunge and make D1X Rebirth compile with editor for Mac OpenGL build (won't work yet)
editor/med.c, editor/meddraw.c, editor/medmisc.c, include/editor/editor.h, main/render.c: Make all drawing in the editor single buffered, since the whole screen is double buffered. Fixes crash - but only shows a black screen and the menu for ogl
editor/med.c, editor/meddraw.c, editor/medmisc.c, ui/button.c, ui/checkbox.c, ui/dialog.c, ui/file.c, ui/icon.c, ui/inputbox.c, ui/listbox.c, ui/menubar.c, ui/radio.c, ui/scroll.c, ui/userbox.c: Make the main stuff (gadgets, two viewers) draw for the editor in ogl, still more tweaking required
ui/dialog.c: Use correct coordinates for dialog border (still doesn't draw fully)
editor/medmisc.c, ui/button.c, ui/checkbox.c, ui/icon.c, ui/inputbox.c, ui/listbox.c, ui/radio.c, ui/scroll.c, ui/userbox.c: Make the editor draw the same for the non-ogl build as the ogl build, since I just made it draw the grey background over everything in the last commit. If you want to see what it's *supposed* to look like, go to yesterday's commit :P

20120330
--------
2d/font.c, include/gr.h: Make 2d/font.c more similar between d1x-rebirth and d2x-rebirth
arch/include/event.h: Changed declaration of event_get_idle_second() from int32_t to fix since Windows does not know it without pstypes.h. Included maths.h for this but should now work flawlessly on all platforms

20120329
--------
main/multi.c, main/multi.h, main/net_udp.c, main/net_udp.h: Immediately relay pdata packets from clients to others which should reduce artificial delay; allow sending of pdata packet when firing if enough time has passed since last update; only answer full game info requests 2 times per second and lite info 8 times per second
main/songs.c: Fixed Redbook playback which was not repeating the CD after finishing

20120328
--------
main/slew.c: Fix compile-time error when building without editor
arch/sdl/jukebox.c, main/songs.c: Allow .flac to be a filename extension for sng file and jukebox
main/state.c: properly disable cheats when loading a saved game so only cheats that were stored are re-enabled
main/collide.c, main/physics.c: Fixed double wall-object-damage introduced 20111124 by applying more strict rules to wall-colliding and wall-scraping where latter now is player-exclusive
main/net_udp.c: in netgame info screen some setting-descriptions were interchanged and displayed wrong toggles
main/net_udp.c: Since the kicked message is shown after player is technically removed from the game we do not know hosts name anymore. Message changed accordingly
main/multi.c, main/multi.h, main/newdemo.c, main/player.h: Allow a total of 32 different player ship textures and stored N_PLAYER_SHIP_TEXTURES in player.h
main/config.c: Dynamically allocate line to read from descent.cfg and ensure a safe length
main/gamesave.c, main/net_udp.c: Added forgotten D2 powerup capping code when starting level which hopefully fixes massive powerup loss

20120324
--------
arch/ogl/gr.c, arch/sdl/gr.c, ui/menubar.c: Draw the editor menubar properly - by drawing in response to EVENT_WINDOW_DRAW and initialising the screen canvas properly. The latter fixes a lot of other editor drawing issues as well
2d/bitmap.c, arch/include/window.h, arch/sdl/gr.c, arch/sdl/window.c, include/gr.h: Update the canvas data pointers for all windows after changing the screen mode, so the main menu draws properly after leaving the editor
arch/include/event.h, editor/centers.c, editor/curves.c, editor/ehostage.c, editor/eswitch.c, editor/med.c, editor/meddraw.c, editor/medrobot.c, editor/medwall.c, ui/dialog.c, ui/userbox.c: Draw in response to EVENT_UI_DIALOG_DRAW, uncomment medlisp_update_screen call and use gr_box instead of gr_rect in some places. You can now see what you're doing!
ui/gadget.c: Fix bug where pad buttons would disappear when clicking on them, after opening then closing a dialog

20120319
--------
editor/med.c, include/editor/editor.h, include/ui.h, main/gamecntl.c, main/gameseq.c, main/inferno.c, main/menu.c: The editor now falls back to the main event loop in inferno.c, File->Exit now works as intended and get closer to making the editor and game work together
editor/med.c, main/endlevel.c, main/gamecntl.c, main/gamesave.c, main/inferno.c, main/inferno.h, main/menu.c, main/powerup.c, main/render.c, main/slew.c: Remove all remaining uses of Function_mode, checking for the existence of EditorWindow where necessary instead

20120318
--------
editor/med.c, editor/texpage.c, include/editor/editor.h, main/game.c: Do a bit of a tidy up for the editor, dump code from editor() within the loop into new editor_handler()
editor/info.c, editor/med.c, editor/medmisc.c, editor/objpage.c, editor/texpage.c, include/editor/objpage.h, include/editor/texpage.h, include/ui.h, ui/userbox.c: Make editor_handler into a proper callback, iron some problems out. Seems to draw a different bunch of stuff now (still erroneous)
SConstruct, arch/include/event.h, arch/include/mouse.h, arch/sdl/event.c, d1x-rebirth.xcodeproj/project.pbxproj, editor/info.c, editor/macro.c, editor/med.c, editor/meddraw.c, editor/medmisc.c, include/ui.h, ui/button.c, ui/checkbox.c, ui/dialog.c, ui/file.c, ui/icon.c, ui/inputbox.c, ui/listbox.c, ui/menubar.c, ui/mouse.c, ui/radio.c, ui/scroll.c, ui/ui.c, ui/userbox.c: Remove redundant ui_event_process and duplicate mouse.c in ui/. All editor input is now event-based.

20120317
--------
editor/ehostage.c, editor/med.c: Make do_hostage_window into a proper callback (seems to be unused for now)
editor/eswitch.c, editor/med.c: Make do_trigger_window into a proper callback
editor/med.c, editor/medrobot.c: Make do_robot_window and do_object_window into proper callbacks, doing both in the same commit because of global recycling
editor/med.c, editor/medwall.c: Make do_wall_window into a proper callback. Only one dialog left - the main one.

20120312
--------
editor/centers.c, editor/med.c, ui/dialog.c, ui/file.c, ui/gadget.c, ui/radio.c: Make do_centers_window into a proper callback, iron out some problems that have become apparent

20120305
--------
include/ui.h, ui/file.c, ui/gadget.c, ui/keypress.c, ui/listbox.c, ui/menu.c, ui/message.c, ui/popup.c: Use the gadget-sent events in the dialogs in ui

20120303
--------
d1x-Info.plist, d1xgl-Info.plist, English.lproj/InfoPlist.strings, RELEASE-NOTES.txt: Increment version to 0.57.2 for Mac and RELEASE-NOTES
d1x-rebirth.xcodeproj/project.pbxproj, editor/data/, editor/data/curve.pad, editor/data/dummy.pad, editor/data/group.pad, editor/data/lighting.pad, editor/data/med.mnu, editor/data/newobj.pad, editor/data/object.pad, editor/data/objmov.pad, editor/data/pc6x8.fnt, editor/data/pc8x16.fnt, editor/data/segmove.pad, editor/data/segsize.pad, editor/data/test.pad, editor/data/texture.pad, editor/med.c, include/physfsx.h, misc/physfsx.c, ui/ui.c: Actually add editor data files and make sure DXX can find them
arch/include/event.h, editor/med.c, include/ui.h, ui/button.c, ui/checkbox.c, ui/dialog.c, ui/gadget.c, ui/icon.c, ui/inputbox.c, ui/listbox.c, ui/radio.c, ui/scroll.c, ui/ui.c, ui/userbox.c: All gadgets now send events

20120109
--------
ui/popup.c: Give the last use of a dialog in ui, in PopupMenu, a callback

20120103
--------
ui/keypress.c: Give the dialog in (presently unused) GetKeyCode a callback
ui/menu.c: Give the dialog in (also presently unused) MenuX a callback
ui/message.c: Give the dialog in MessageBoxN a callback

20120102
--------
ui/dialog.c, ui/file.c: Give ui_get_filename a callback for its dialog. Happy new year!

20111231
--------
editor/med.c, include/ui.h, ui/menu.c, ui/menubar.c, ui/popup.c: Make editor menubar and associated menus into windows; either remove or make event-based all the B1_* macros

20111218
--------
include/ui.h, ui/dialog.c, ui/gadget.c, ui/keypad.c: Remove redundant canvas, next and prev members in the UI_DIALOG struct

20111127
--------
arch/sdl/event.c: break out of loop in event_send() in case window_send_event() closed the window to prevent invalid read on memory

20111125
--------
3d/interp.c: Fixed forgotten MALLOC in g3_draw_morphing_model crashing game when rendering morphing robot (created from matcen for example)
main/collide.c: Just as in Descent 2, let flares die in lava

20111124
--------
main/collide.c, main/collide.h, main/fireball.c, main/game.c: Smoothed disabling of friendly fire to re-enable splash damage possible when friendly fire is disabled
main/physics.c: calling scrape_object_on_wall in each case of HIT_WALL more reliable to properly do hazard surface damage and prevent weapon objects from possibly sliding against walls

20111114
--------
ui/userbox.c: Make ui_userbox_do fully event-responsive
main/newmenu.c: Sliders can now be operated with Numpad arrows if numlock if off

20111112
--------
ui/gadget.c, ui/scroll.c: Make ui_scroll_do fully event-responsive, make sure scrolling actually works by calling all controls' ui_*_do functions (like before)

20111106
--------
include/ui.h, ui/dialog.c, ui/listbox.c: Make ui_listbox_do fully event-responsive
ui/radio.c: Make ui_radio_do fully event-responsive

20111105
--------
include/ui.h, ui/button.c, ui/dialog.c, ui/gadget.c, ui/scroll.c, ui/userbox.c: Make B1_JUST_PRESSED event-based, leave ui_dialog_do_gadgets early if a key makes another gadget current, make ui_button_do fully event-responsive (but won't *send* events yet)
editor/med.c: Fix crash on exit for non-Linux, when it tries to show an editor warning (unfreed blocks) but doesn't have the images to render it
ui/checkbox.c: Make ui_checkbox_do fully event-responsive
ui/checkbox.c, ui/icon.c: Fix implicit function declaration in last commit, make ui_icon_do fully event-responsive
ui/inputbox.c: Say when the event was handled for ui_inputbox_do (was already event-responsive)

20111103
--------
main/net_udp.c, main/net_udp.h: Do not attempt to check for MULTI_PROTO_VERSION when requesting lite_info

20111102
--------
SConstruct, arch/carbon/conf.h, main/inferno.c, main/multi.h, main/net_udp.c, main/net_udp.h, main/vers_id.h: Introduced extra short based on MULTI_PROTO_VERSION for version-independent Multiplayer-compability-check; Changed version to 0.57.2 to make new version checking not cause problems with stable release 0.57.1; Removed old version_major/minor variables from netgame and player structures since DXX handles this independently; Cleaned up old version stuff and copyright messages

20111030
--------
arch/include/mouse.h, arch/sdl/mouse.c, ui/dialog.c: Return 1 (event handled) in ui_dialog_handler for mouse button events if the mouse was in the dialog

20111025
--------
include/ui.h, ui/button.c, ui/checkbox.c, ui/dialog.c, ui/gadget.c, ui/icon.c, ui/inputbox.c, ui/keytrap.c, ui/listbox.c, ui/radio.c, ui/scroll.c, ui/userbox.c: Pass the event to the individual gadgets' 'do' functions, fix compile warnings introduced in last commit

20111023
--------
include/ui.h, ui/dialog.c, ui/gadget.c: Pass the event to ui_dialog_do_gadgets and use it in that immediate function

20111009
--------
main/render.c: Initialise dyn_light using memset, fixing a warning
arch/include/event.h, arch/include/window.h, arch/sdl/event.c, arch/sdl/window.c, include/ui.h, ui/dialog.c, ui/file.c, ui/keypress.c, ui/menu.c, ui/message.c, ui/popup.c: Add support for 'modeless' windows - windows that will allow events to be passed on to the underlying window. Intended for the editor
main/net_udp.c: Fix comparison is always false warning
editor/centers.c, editor/ehostage.c, editor/eswitch.c, editor/info.c, editor/med.c, editor/medrobot.c, editor/medwall.c, ui/dialog.c, ui/file.c, ui/keypress.c, ui/menu.c, ui/message.c, ui/popup.c: Move calls to ui_dialog_do_gadgets to the dialog event handler, making sure ui_event_handler gets called beforehand

20110927
--------
2d/palette.c, RELEASE-NOTES.txt, editor/eobject.c, editor/group.c, editor/meddraw.c, editor/medrobot.c, editor/mine.c, editor/segment.c, editor/seguvs.c, iff/iff.c, main/aipath.c, main/bmread.c, main/dumpmine.c, main/fvi.c, main/gamemine.c, main/gamesave.c, main/gauges.c, main/newdemo.c, main/newmenu.c, main/piggy.c, main/render.c, main/titles.c, texmap/ntmap.c, texmap/scanline.c, ui/button.c, ui/inputbox.c, ui/keypad.c, ui/keytrap.c, ui/popup.c, ui/scroll.c: Fixed set but unused variables

20110926
--------
main/fireball.c, main/lighting.c: Code consistency checks by _Tyr_; Fixed set but unused variables
d1x-rebirth.desktop, SConstruct, misc/physfsx.c: Patches by Hans de Goede: Made the .desktop file follow the official specifications; Added explicit link to libmath for newer versions of binutils; Fixed crash using PhysFS 1.x in PHYSFSX_addArchiveContent()
main/kconfig.c, main/menu.c, main/playsave.c, main/playsave.h: Gave throttle it's own sensitivity and deadzone settings; Added patch by Hans de Goede to let Slide-On and Bank-On settings use invert settings from Slide- and Bank-axes
3d/interp.c, arch/ogl/ogl.c, main/bm.c, main/endlevel.c, main/object.c: Avoided variable array initializations which some compilers do not like; Also made sure declarations happen first inside (sub)functions; Fixed set but unused variables

20110925
--------
main/game.c: Fixed misuse of gr_bitblt_find_transparent_area() caused rear view to be shifted on some cockpits

20110924
--------
main/fvi.c, main/gameseg.c, main/object.c: Consistency check for segment number in find_vector_intersection() and obj_create(); Added more debug output for invalid segment numberin get_seg_masks()
main/cntrlcen.c, main/newdemo.c, main/switch.c, main/wall.c, main/wall.h: Reworked wall_toggle() to work with index for segnum instead of a pointer, hopefully making the consistency check less error prone

20110923
--------
main/state.c: When restoring Coop players and make turn them into ghosts perform a check if this player is actually a valid player so we do not just blindly use any object number from a possibly uninitialized player structure

20110921
--------
main/net_udp.c: Streamlined joining, rejoining, disconnecting players and timeouts, getting rid of unwanted rejoin messages and let host remove a player for good without rejoining it via pdata packet to really get rid of lossy or unwanted players; Care for rollover of pkt_num of stored mdata packets
main/net_udp.c: Added wrapper functions dxx_sendto and dxx_recvfrom to collect simple statistics about amount and size of packets sent/received per second; Actually fixed packet scheduling in main UDP frame - was sending more than intended - stupid me

20110919
--------
main/multi.h, main/net_udp.c: Reworked Packet Loss Prevention: If an important packet could not be recovered until it timed out, dump player who failed sending/receiving it; Noloss queue can proces spackets until a certain traffic has been reached; In main UDP frame schedule different types of packets depending on PPS to decrease traffic produced in one frame, hopefully preventing too much loss in high-traffic situations; Small code cleanups; Added new dump signal for loss of important packet; When dumping player also disconnect that one in case the dumped player does not accept the signal
main/playsave.c: Removed saving/restoring the state of Packet Loss Prevention from Netgame profiles

20110915
--------
main/laser.c, main/laser.h, main/multi.c, main/multi.h, main/multibot.c, main/net_udp.c, main/net_udp.h: Added new priority level for MDATA packets to also send them ASAP without the need for an ACK; Streamlined sending multibot and fire packets and on the way artificially and automatically scaling fire rates, energy/ammo usage and damage of weapons in Multiplayer to decrease traffic easy way without changing the Gameplay

20110914
--------
INSTALL.txt, README.txt, SConstruct, arch/carbon/conf.h, d1x.ini, include/args.h, main/inferno.c, main/kmatrix.c, main/kmatrix.h, main/menu.c, main/multi.c, main/multi.h, misc/args.c: Removed support for IPX protocol and MS-DOS-Multiplayer-compability due to age and lack of real need and to really improve on the Multiplayer without adding too much complexity for backwards-compability

20110913
--------
README.txt: Mention Mac command keys
arch/carbon/conf.h, d1x-rebirth.xcodeproj/project.pbxproj: Define USE_TRACKER for Mac OS X, remove reference to deleted cfile.h

20110912
--------
arch/sdl/mouse.c, ui/mouse.c: Move EVENT_MOUSE_DOUBLE_CLICKED support from ui/mouse.c to arch/sdl/mouse.c for tidiness and to possibly use it outside the editor
INSTALL.txt: Put back the instructions for installing the PC data

20110826
--------
main/ai.c: Due to conversion from fix64 to fix Boss_dying_start_time was not 0 when saving even if boss was not dead - fixed; Fixed warning about set but unused variable

20110720
--------
main/menu: Added Polygon model viewer and GameBitmaps viewer in non-Release build for debugging, messing around, DXX-Redrawn, etc.

20110719
--------
main/net_udp.c: Properly call multi_leave_game() when host leaves multi game to let clients exit smoothly
English.lproj/InfoPlist.strings, d1x-Info.plist, d1xgl-Info.plist, main/inferno.c: Keep copyright information up to date
README.txt, debian/control, debian/copyright, debian/rules: Changed my eMail address

20110716
--------
main/songs.c: Correctly proceed to new Redbook track if songnum != Song_playing (hopefully - to confirm); Using songs_stop_all() in songs_uninit() to clear redundancy; added some notes to functions to shine a bit light on the mess of some functions; Also if there's no escape song, continue level music
arch/sdl/rbaudio.c, main/inferno.c: Fixing Redbook hooks: Initialize last_check_time in RBACheckFinishedHook(); Execute RBACheckFinishedHook() during EVENT_WINDOW_DRAW in standard_handler() as EVENT_IDLE rarely happens if you have a shivering Joystick connected for example
arch/carbon/conf.h, SConstruct: Changed version to 0.57.1; Updated release notes

20110715
--------
arch/sdl/digi.c, main/digi.h, main/songs.c, misc/hmp.c: Bail out of hmp_reset() if midiOutOpen fails and return error with -debug set; execute hmp_reset() before first song plays; renamed digi_win32_stop_current_song() to digi_win32_stop_midi_song() to keep naming convention; Fixed some compiler warnings
main/net_udp.c, main/net_udp.h: Fixed typo in Packets per sec. in GAME_RULES screen; Reduced max amount of games shown on netlist to 900 to reduce RAM usage... as if we'd ever reach this
main/automap.c: properly check and fix viewMatrix in free flight auotmap

20110714
--------
main/collide.c: When colliding with robot not controlled by us in Multi-Robot game do not apply force or damage - wait until the robot is under our control - preventing juggeling robots back and forth between players and creating massive damage

20110713
--------
arch/sdl/event.c, arch/sdl/key.c, main/kconfig.c, main/menu.c: Stability fixes: avoid somfusions with same named variables in one function; Properly sort out players from player list that use too long filenames; Removed call for gr_set_fontcolor in kconfig where no canvas is set, causing crashes when trying to reassign a button, key or axis

20110712
--------
main/wall.c: Add fallback routine from D2 source in wall_frame_process() to automatically set open-flag if wall state is set to opened
main/multibot.c: Fixed uninitialized bytes in multi_do_create_robot_powerups() and two set but unused variables

20110710
--------
main/gameseg.c: Added complex error output if illegal segnum passed to get_seg_masks(); Fixed warning about set but unused variables

20110709
--------
main/lighting.c: Added new dynamic light calculation which works with find_connected_distance() preventing vertecies to be lit up without connection to light source but still maintaining illumination. Still deactivated as it needs more optimization - planned for 0.58. Removed old alternative dynamic lighting which was suppoed to work via fvi but way slower than the new one

20110708
--------
main/net_udp.c: Slight improvement for Packet Loss Prevention: Be able to send to 35 packets per call of net_udp_noloss_process_queue() and also let counter only increase if a packet was actually sent, making sure the queue is not stuck on the first 5 packets in the list
arch/sdl/digi.c: Make sure hmp_reset() is only executed if a song was playing

20110704
--------
main/game.c, main/gamerend.c: Only call show_netplayerinfo() if GM_MULTI is set and reset netplayerinfo_on in game_setup()

20110702
--------
main/ai.c: When initializing ai object correctly initialize Ai_local_info to prevent glitches like random submodel angles

20110701
--------
d1x.ini, main/inferno.c, main/net_udp.h, misc/args.c: Made formatting for help text more consistent and prettier; Somewhat changed the code for help text so we can use variables in the help text. For example: If we change MAXIMUM_FPS, it will automatically be displayed in the help text without manual editing needed

20110630
--------
editor/group.c, editor/ksegsize.c, editor/meddraw.c, editor/segment.c, editor/seguvs.c, include/editor/editor.h, main/automap.c, main/fireball.c, main/gamecntl.c, main/gameseg.c, main/gameseg.h, main/lighting.c, main/render.c, main/render.h, main/segment.h: changed variables and pointer carrying vertex indexes from short to int to handle levels with over 900 segments properly

20110629
--------
main/newdemo.c: Due to design issue in demo system initial recording of doors could place same texture on front and back sides of doors - fixed as good as possible (wish I could expand the demo format)

20110628
--------
main/state.c: Fixed possible memory corruption when saving Current_mission_filename which is not necessarily a 9 byte long allocated string; Bit safer string handling with snprintf; Fixed set but unused variables like a boss
main/net_ipx.c: Correctly disable/initialize Multiplayer features not supported by IPX games for compability; Removed show_games_rules as there isn't much useful to show there; Some more code simplicity

20110627
--------
main/switch.c: when entering secret level reset Control_center_destroyed when we start the level and not in between as it will break sending endlevel packets

20110624
--------
main/net_udp.c: Fixed object sync for latecoming clients which was broken due to a very, very, VERY stupid mistake...

20110623
--------
main/hud.c: PlayerCfg.MultiMessages was supposed to only show messages of class HM_MULTI but turned out to only block HM_REDUNDANT, too. Fixed this copy/paste error of mine
main/laser.c: For Hotshot and above made homing missiles turn to player a bit less agressive which is hardly noticable but slightly increases the chance to shake off a projective even if dodged without perfect timing. This makes possible to survive in case a player/bot shoots several homing projectiles in spread fashion

20110620
--------
main/lighting.c: in compute_light_emission() handle RT_NONE for delayed explosion fireballs

20110617
--------
main/physics.c: By using fixed distance bumping for fix_illegal_wall_intersection making the whole process much more reliable on sharp edges

20110613
--------
main/sounds.h: Condition for sound sample number for SOUND_CHEATER was reversed between Shareware and Full Release content

20110609
--------
main/render.c: Saturate colored dynamic light just like normal one - makes the hwole thing a bit less colorful but makes for better balanced color mixing (theoretically) and does not reduce static light

20110607
--------
main/render.c: Definition of dynlight_time should have been static to archive timed light calculations

20110606
--------
main/menu.c, main/playsave.c: For all filename strings use PATH_MAX as size, make sure they are inited correctly and only fill them with snprintf instead of sprintf

20110604
--------
main/lighting.c: Since set_dynamic_light() is not necessarily processed each frame, added own counter for delayed precession of vertex-clight calculation; Added possibility to page in a bitmap in case an object which has never been rendered before is supposed to cast light visible by the player 
main/sounds.h, main/weapon.c: Fix weapon selection sounds fpr pc shareware and do not allow selecting weapons not available in this content (i.e. if obtained by cheat)
main/multi.c: for flexibility in terms of modding, allow player ship textures in Multiplayer be <= N_PLAYER_SHIP_TEXTURES and not hit Assert but pull out Eroor if there are more

20110601
--------
2d/font.c, 2d/palette.c, 2d/pcx.c, arch/linux/hmiplay.c, arch/ogl/gr.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, editor/group.c, editor/kmine.c, editor/med.c, editor/mine.c, iff/iff.c, include/physfsx.h, main/ai.c, main/bm.c, main/bmread.c, main/cntrlcen.c, main/cntrlcen.h, main/credits.c, main/custom.c, main/digiobj.c, main/dumpmine.c, main/effects.c, main/effects.h, main/endlevel.c, main/fuelcen.c, main/fuelcen.h, main/game.c, main/game.h, main/gamefont.c, main/gamemine.c, main/gamemine.h, main/gamesave.c, main/gameseq.c, main/inferno.c, main/menu.c, main/menu.h, main/mission.c, main/newdemo.c, main/newmenu.c, main/object.c, main/piggy.c, main/piggy.h, main/player.c, main/playsave.c, main/polyobj.c, main/polyobj.h, main/powerup.c, main/powerup.h, main/robot.c, main/robot.h, main/segment.h, main/songs.c, main/state.c, main/switch.c, main/switch.h, main/text.c, main/titles.c, main/vclip.c, main/vclip.h, main/wall.c, main/wall.h, main/weapon.c, main/weapon.h, misc/hmp.c, misc/ignorecase.c, misc/physfsx.c, misc/strio.c, ui/keypad.c, ui/menubar.c: Got rid of cfile code: Renamed cfile-functions to use PHYSFSX-naming convention, Replaced cfile-macros with proper PHYSFS(X) calls; Introduced PHYSFSX_exists() which can check case-sensitive or case-insensitive to give more flexibility with game content
main/game.c: Executing timer_update() at the beginning of calc_frame_time in case event_process() taking a significant amount of time to reach the game window and therefor could make FrameTime be inaccurate
main/lighting.c: Added proper colored lighting handling for RT_POWERUP which I not noticed was wrong before ... darn dim glowing powerups

20110530
--------
arch/include/digi_audio.h, arch/include/digi_mixer.h, arch/sdl/digi.c, arch/sdl/digi_mixer.c, main/digi.h, main/digiobj.c: Added own channel management to SDL_mixer sound interface since the builtin channel management of this lib cannot handle our needs; Little code cleanup

20110528
--------
main/net_ipx.c, main/net_udp.c: Made netgame setup menu more flexible towards (constant or temporary) changes in available game modes

20110526
--------
arch/sdl/event.c: In event_process() if a window closes while being drawn and there isn't a previous window we can get the next from just finish processing for this frame

20110525
--------
main/game.c, main/multi.c, main/multi.h, main/net_udp.c, main/net_udp.h: Added multi_send_data_direct to send multibuf to a specific player (i.e. Host<->Client, not Client<->Client); Overhauled kill sending/receiving and computation to rely in host information about game_mode-related variables (team_vector, Bounty_target) which are vital for consistent kill computation; Added function to send/update game_mode-related variables and solve /move command with this as well instead of workaround via updating lite_info; Introduced /move commend from Descent2 to move players between teams

20110522
--------
editor/med.c, main/game.c, main/gameseg.c, main/gameseq.c, main/menu.c: Like in BigEndian builds do netmisc_calc_checksum() only with expected items of segment/side struct to prevent different checksums in case these structs change; Fixed several issues when building with editor; Fixed compiler warning regarding set but unused variable
main/net_udp.c: When restoring Coop setting from netgame profile don't forget to fix max players variable

20110520
--------
INSTALL.txt, RELEASE-NOTES.txt: Updated docs and fixed some typos
main/net_ipx.c, main/net_udp.c: Rearranged code to check for netgame-closed flag and refuse-players flag so they are updated correctly if another part of the code changes the menu item without activating it
main/automap.c, main/menu.c, main/playsave.c, main/playsave.h: Made Automap Free Flight controls an optional feature which can be set in MISC OPTIONS; Fixed possible path string issue in plyr_read_stats_v() and fixed compiler warning regarding set but unused variable
main/net_udp.c: Making D1X- and D2X-Rebirth more similar in behavior of which player limit is needed to start team-based game in both RELEASE and DEBUG builds

20110519
--------
main/fvi.c, main/fvi.h, main/physics.c: Improvement for fix_illegal_wall_interesection(): Move away from wall in right angle - not towards center. This improves the bumping in many situations and prevents ship getting stuck in small segments. Simplified and optimized code as well and removed check for degenerated Segments as not needed with this approach; Fixed some compiler warnings regarding set but unused variables
main/multi.c: Reset new_Bounty_target after using it  and let host add a number on how often Bounty is reassigned. Both additions should help keeping target correct no matter how if multiple packets of the same type are disordered, delayed or both
main/physics.c: for fix_illegal_wall_intersection() try using the distance we moved to move out from the wall. Just in case it's a sane value, i.e. > 0 and <= obj->size/2
arch/ogl/gr.c, main/game.c: Removed key_flush() call from save_screen_shot() - not needed anymore due to new input reading and only screws up ingame controls

20110516
--------
main/menu.c: for debug build ignore player Highest_level_index when starting a mission, making *Load Level* entry in main menu obsolete; Fixed two compiler warnings regarding set but unused variables

20110515
--------
main/multi.c: Solved possible issue when setting new Bounty_target via host messing up scores or new target itself - only set if player decided why to unset Bounty_target, keeping code flow and game logic in order; Fixed two compiler warnings regarding set but unused variables
RELEASE-NOTES.txt: Added more info: M3U-support, GCC 4.6 warnings, more tracker infos

20110513
--------
main/multi.c: Send player position also when multi_send_player_explode() is called so powerups drop at the right spot in case the respawn packet arrives first

20110507
--------
arch/carbon/conf.h: Enabled Tracker support for Mac OS
RELEASE-NOTES.txt, README.txt, SConstruct, arch/carbon/conf.h: Changed version from 0.56 to 0.57; Added first draft for RELEASE-NOTES.txt; updated docs
main/endlevel.c: Taken out Render_depth reduction of Endlevel sequence in Software rendering build; Fixed two compiler warnings regarding set but unused variables
main/automap.c: Don't call automap_process_input() if autmap_key_command() returns 1 preventing input mess; Fixed two compiler warnings regarding set but unused variables

20110505
--------
main/gauges.c, main/multi.h, main/net_udp.c, main/net_udp.h, main/playsave.c: Host can now decide (again) if players are allowed to display enemy names on HUD
main/gauges.c, main/piggy.c, main/piggy.h: When using PC Shareware pigfile do not show key icons in CM_FULL_SCREEN since pigfile does not have these icons
d1x-rebirth.desktop, debian/changelog, debian/control, debian/copyright, debian/rules: Update for Debian packaging stuff
main/lighting.c: Correctly handle light computation of objects with render_type RT_LASER

20110504
--------
editor/segment.c, main/fvi.c, main/gameseg.c, main/physics.c, main/segment.h: Since current approach to improve wall collisions prevented the player to enter segments which basically are too small for the player ship, added simple bumping function via object_intersects_wall(); Also when validating segments check for segment degeneration outside the editor build, too and set flag in segment structure for all different purposes but right now helps us to disable bumping when encountering degenerated segments and not break such levels
main/endlevel.c: Make sure the big explosion at the end of the escape sequence also uses blending if transparency effects are activated
main/multi.c: Fix crash in multi_maybe_disable_friendly_fire() when killer == NULL
2d/font.c: mipmapping was always on for fonts due to changed filtering code in ogl.c
main/physics.c: To compensate fewer FVI runs in lower FPS and wall penetration caused by strong forces allowed fix_illegal_wall_intersection() to move an object out of the wall half it's size improving the collisions once more
main/segment.h, main/state.c: Due to increased size of MAX_SEGMENTS old savegames became incompatible. To compensate added MAX_SEGMENTS_ORIGINAL with the original segment amount and read certain savegame info with this info when dealing with standard-sized levels and use Highest_segment_index when dealing with larger levels which are incompatible with older versions of the game anyways. Makes savegame site more efficient and still maintain backwards compability

20110424
--------
d1x-rebirth.xcodeproj/project.pbxproj, main/newmenu.c: Check if a menu closed in a subfunction before setting it's return value, fixing crash when levels are mismatched in multiplayer; Small tidy up for Xcode project

20110422
--------
2d/rle.c, SConstruct, main/segment.h, main/texmerge.c: Expanded possibilities for level authors: RLE- and Texture-cache accepts textures bigger than 64x64, only limit being Texture width must be equal height; Increased maximum amount of Segments from 900 to 9000 - not dynamically allocating them, yet
arch/sdl/mouse.c, main/kconfig.c, main/menu.c, main/playsave.c, main/playsave.h: When reading ingame controls only flush mouse delta timer-based since reading is event-based already, allowing high precision no matter the game speed; Removed Mouse smoothing/filtering as it's now unnecessary due to event-based motion handling
2d/rle.c, main/texmerge.c: Fixes for RLE- and Texture-cache modifcations: Before freeing now must check if bitmap is already allocated
main/menu.c, main/net_udp.c, main/playsave.c, main/playsave.h: Remember previously set up netgame variables in pilot-related file with extension ngp - due to feature consistency for UDP only

20110421
--------
main/net_udp.c: When leaving game and still sending extras, don't forget to update the timer so we won't get stuck in an infinite loop
arch/sdl/key.c: Added SDLK_WORLD_** symbols to keyboard array to enable layout specific keys and make the game more flexible

20110420
--------
main/multi.c, main/state.c: Resolved termination issue when reading and comparing callsigns fro Coop savestates; Added scores sending after Coop savestate loading as unrestored players will send them when loading new level

20110418
--------
arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, main/config.c, main/menu.c, main/songs.c, main/songs.h: Fix broken m3u playlist support (in jukebox_play() path resolving); point to default descent.m3u playlist for Mac OS X (will be included in bundle); better error reporting in mix_play_file(); only make relative Jukebox path in the menu absolute after browsing it - relative paths are more flexible; allow select_file_recursive() to figure out PhysicsFS relative paths passed to it; stop the music if Jukebox is chosen and unavailable (used to just keep playing the last song)

20110416
--------
main/gamecntl.c, main/gauges.c: Due to controls rewrite was not possible anymore to send multiplayer messages while being dead - added specific exception to allow this; Rewrote show_HUD_names to only show names, indicators or typing string for enemy players when they are not cloaked
misc/hmp.c: Check for hmp before pausing/resuming it

20110414
--------
main/kmatrix.c: Fixing km struct being used after it's being freed by closing the window in EVENT_WINDOW_DRAW

20110413
--------
main/net_udp.c, main/net_udp.h: Improved security for UDP protocol: Add checks for correct packet size and - if possible - valid sender address (valid player) and making sure Clients only accept packets meant for Clients and Hosts only accept packets meant for Hosts
main/fvi.c, main/physics.c: Bit more safeguarding in find_plane_line_intersection() and as a result less agressive but more beautiful back-bumping on illegal wall interesections; Scaling of movement from PhysTime to FrameTime now done with vector math functions
main/credits.c: Fixing unfreed buffer when credits_show() was called but there was nothing to show me
main/lighting.c: Reset obj_color for colored object lights when object does not return any usable color so the object will cast white light at least

20110412
--------
main/gauges.c, main/multi.h, main/net_udp.c, main/net_udp.h: Little fix for typing-indicator in multiplayer - was showing comma even if no player name was displayed; Removed team_vector from UDP lite_info structure - it's not needed; Increased UDP_NETGAMES_PAGES to actually show 3000 possible games
include/gr.h, main/bm.c, main/bm.h, main/gamesave.c, main/lighting.c, main/multi.c, main/object.c, main/object.h, main/piggy.c, main/render.c, main/state.c: Execute set_dynamic_light 60 times per second max since more would just be a waste of CPU time; When executing set_dynamic_light, process ALL lights; Instead of storing light color in objects, do it on-thy-fly but store bitmap-based color in grs_bitmap - vastly speeds up colored dynamic lights; Improved saturation for vertex lighting to make light color a bit more subtile
main/playsave.c: kconfig weapon cycling fields changed after 0.56 release will automatically fix if version number changes on next release

20110411
--------
main/game.c, main/gamecntl.c, main/gamerend.c, main/gauges.c, main/multi.c, main/multi.h: Improved syntax for Multi messages/commands: Commands starting with '/' and those accepting arguments as well as Player/Team messages require space after ':' ; Added indicator on HUD to show if a player is typing a message to prevent accidential kills
main/hud.c, main/hudmsg.h, main/powerup.c, main/weapon.c: Introduced HUD message class HM_MAYDUPL for messages that may appear once per frame but the player might not able to supress via option

20110410
--------
main/net_udp.c: Allow multi_send_fire when necessary and not crop to PPS so fix weapons with high firing rate
main/game.c, main/gamerend.c, main/gauges.c, main/net_udp.c, main/titles.c: Fixed text-related annoyances: "Show reticle names" now named "Show player names on HUD"; Fixed positions of strings TXT_CLOAKED and TXT_CRUISE in CM_FULL_SCREEN; Fixed typo in tracker timeout screen; Fixed scaling of tab_stop in briefings (again); Removed some little D2 code for briefings as it broke some briefing screens
INSTALL.txt: Tell people about The Unarchiver for installing from the Mac game CD (thanks, Jonathan!)
arch/ogl/gr.c: Smash texture list when switching between window mode and fullscreen prevent invalid textures; Made code to capture Screenshots more similar between OpenGL and OpenGL ES
main/automap.c: Allow completely free movement in the automap. It will rotate relative to the viewer.

20110408
--------
main/net_udp.c: Allow multi_send_fire when necessary and not crop to PPS so fix weapons with high firing rate

20110407
--------
3d/draw.c, 3d/interp.c, 3d/rod.c, arch/ogl/ogl.c, include/3d.h, include/ogl_init.h, main/endlevel.c, main/gamesave.c, main/lighting.c, main/lighting.h, main/menu.c, main/morph.c, main/multi.c, main/object.c, main/object.h, main/playsave.c, main/playsave.h, main/polyobj.c, main/polyobj.h, main/render.c, main/state.c, main/terrain.c: Made lighting code work with actual RGB values and added feature to let certain objects emit colored dynamic light as well as let mine flash red when control center destroyed (OpenGL-only at the moment)
main/physics.c: When sliding along a wall keep wall_part sane to ensure good velocity for slide

20110405
--------
SConstruct, arch/win32/ipx.c, d1x.ini, include/args.h, main/inferno.c, main/menu.c, main/multi.h, main/net_ipx.h, main/net_udp.c, main/net_udp.h, misc/args.c: Client-side implementation for Tracker support by Matt "1360" Vandermeulen including improvements in udp_dns_filladdr and IPv4/IPv6 compability; Very little adjustments by me, too including IPv6 support for Windows (untested); Actual tracker code will follow later as seperate branch when it's done

20110329
--------
main/cntrlcen.c, main/cntrlcen.h, main/state.c: Dead_controlcen_object_num should be set when a new level starts in debug build, too; Setting Total_countdown_time when loading a savestate so SEF-DESTRUCT SEQUENCE ACTIVATED sample will not play soon as timer reaches 0

20110328
--------
main/endlevel.c, main/newdemo.c: Properly record the event of reset_rear_view() while switching levels to make it work right when rewinding as well; Properly record Countdown seconds for each newdemo frame instead of second change to get display showing up right while playback and still preserving backwards compability
arch/ogl/gr.c: Fixes for OpenGL ES implementation

20110327
--------
main/physics.c: Another rework for anti-stuck-bumping: Execute after calculation of velocity and add fvi check to make sure we deal with an actual wall collision

20110314
--------
main/fvi.c, main/physics.c: Again reworked new bump hack to only apply when fate == HIT_WALL (to not break level SKYBOX) and made bumping by distance  between object position and wall hit point; Removed/handled some safety checks in find_plane_line_intersection() to make sliding along joining edges smoother again while bad values *should* be handled in pyhsics.c and not make object warp-crashing tru the whole level or stuck in walls (fvi code should still be rewritten tho)

20110310
--------
main/kconfig.c: Due to lazy copy&paste sliding up/down speed was divided by 2 - fixed

20110306
--------
main/songs.c: Be safer not interrupting other ports of descent or the original MS-DOS game when it comes to reading song files: Try reading from MISSION_NAME.sngdxx to have a way reading a song file for a specific mission outside the mission's HOG, next try reading from descent.sngdxx which shall serve as an alternative song file specifically for DXX and then try descent.sng. This should give authors enough possibilities to add OSTs for all different versions of the game without the need to publish different versions of their missions

20110224
--------
2d/canvas.c: Fix for last revision: Correctly initialize cv_fade_level and cv_blend_func when creating initializing a canvas

20110223
--------
2d/2dsline.c, 2d/canvas.c, arch/ogl/gr.c, arch/ogl/ogl.c, arch/sdl/gr.c, include/3d.h, include/gr.h, include/ogl_init.h, main/ai.h, main/console.c, main/effects.h, main/gamerend.c, main/gauges.c, main/hud.c, main/menu.c, main/multibot.c, main/newmenu.c, main/object.c, main/playsave.c, main/playsave.h, main/render.c, texmap/tmapflat.c: Added cv_fade_level to canvas structure to replace Gr_scanline_darkening_level; Added cv_blend_func to canvas structure to set blending; Introduced gr_settransblend to set cv_fade_level and cv_blend_func; Added function to set normal blending, additive alpha blending and additive color blending; Moved Special transparency effects from g3_draw_bitmap to render_object to set individual transparency and/or blending for each object outside of OpenGL-specific code; Added special blending for fuelcenter and force field effects as well; Removed unused LASER_HACK code; Renamed OglAlphaEffects variable of PalyerCfg to AlphaEffects as I plan to implement this kind of effects for Software renderer, too

20110221
--------
misc/strutil.c: Fix a critical bug in string_array_add - when d_reallocing the buffer containing the string data, update all the pointers in '*list' as well as next_str, preventing ugly crashes

20110218
--------
arch/ogl/ogl.c, include/ogl_init.h, main/endlevel.c, main/object.c: Draw laser effects with special blending instead of disabled DepthMask; Added special blending for transparency effects as well to let them kick more ass; Corrections while rendering outside part of endlevel sequence with disabled depth testing and dynamically changing Render_depth to make the mine exit visible again while not rendering the exit tunnel tru the planet terrain
arch/ogl/ogl.c: Set zNear for gluPerspective to 0.1 to prevent ugly clipping while passing illusory walls; Set zFar to 5000.0 to prevent disappearing automap in large distance - all still sane enough for Intel chips so my eeePC is safe nyahahaha

20110215
--------
main/gamecntl.c: Fixed PRShot feature which was accidentially broken while implementation of OpenGL ES support

20110214
--------
d1x.ini, include/args.h, main/ai.c, main/ai.h, main/automap.c, main/cntrlcen.c, main/collide.c, main/config.c, main/config.h, main/fvi.c, main/game.c, main/game.h, main/gamecntl.c, main/gamerend.c, main/gameseq.c, main/gameseq.h, main/gauges.c, main/inferno.c, main/kconfig.c, main/laser.c, main/menu.c, main/multi.c, main/net_ipx.c, main/net_udp.c, main/physics.c, main/player.h, main/render.c, main/state.c, main/titles.c, main/titles.h, misc/args.c: Moved all these unsorted global cheat variables to a handy structure; Simplified reading of the cheats without trying to make it complicated so no one finds them (everyone can get the source); Removed one or two cheats which carry more garbage than they are worth; Added replacement for the bittersweet cheat; Made FPS Counter an option of Graphics menu
main/credits.c, main/titles.c: For credits and briefings moved all code happened in EVENT_IDLE to EVENT_WINDOW_DRAW since a jitterish Joystick could slow down text rendering

20110212
--------
arch/inlcude/window.h, arch/sdl/event.c, arch/sdl/window.c, main/game.c: New approach to handle a bunch of closing windows - removed window_do_close() again, reworked game_leave_menus by checking window_get_front() and closing this window until it's Game_wind, while event_process checking if window still exists after drawing and if not, take next window from previous which should be updated by then

20110211
--------
main/gamecntl.c, main/kconfig.c, main/newmenu.c: Controls.select_weapon_count needs to be incremented differently to get non-0 when we want to select the laser type weapon; Readded jumping from first to last item in newmenu and vice versa

20110210
--------
main/automap.c, main/gauges.c, main/gauges.h, main/kconfig.c, main/newmenu.c, main/newmenu.h: Fixed broken FlightSim indicator on Automap; Fixed Assert for using mouse buttons in kconfig (which can react to UP and DOWN states); Added scrolling support for menus flagged tiny_mode and all_text
arch/ogl/gr.c, arch/sdl/gr.c, d1x.ini, include/args.h, main/inferno.c, misc/args.c: Simplified ogl version of gr.c in terms of SDL video flags and fullscreen toggle; Added command-line/INI option to remove borders from windowed program
main/multi.c: Fixed compiler warning related to generation of game_id for Coop Savegames
arch/ogl/ogl.c, main/gauges.c: Added secondary weapon indicators to new reticle types; Fixed disks being drawn as circles - whoops

20110209
--------
main/ai.c, main/game.c, main/gamecntl.c, main/menu.c, main/multi.c, main/multi.h, main/state.c, main/state.h, main/titles.c: Reintroduced Savegames for Coop games using the original Descent2 implementation but correctly handling player slots in their pre-loading state preventing accidential player shifting which never really worked in the original game and we do not want with UDP anyways - was all tested but still might need a fix or two; Added some missing initializations for saving players and AI stuff; Completely ripped out remnants of saving between levels code
arch/ogl/ogl.c: Fixed memory leak produced by drawing circles and disks

20110206
--------
arch/include/key.h, main/automap.c: Increased key repeat values to react a little more like the MS-DOS version of the game but a little slower so I can still stop at the correct item; In automap reorganized control_info swapping as well as wiggle state handling to properly work in connection with the new input handling and Multiplayer where game is not paused

20110203
--------
main/automap.c, main/gamecntl.c: Little fixes for recent kconfig/event overhaul: Automap inputs read by kconfig should be processed by input rather than idle and automap frame calculations should be done while drawing; Fixed drop_bomb_count which could roll over to 255 dropping bombs without end
arch/include/window.h, arch/sdl/event.c, arch/sdl/window.c: Included new window structure flag w_closing_state and let window_close() set this flag - after drawing all windows, check them again and call window_do_close() which then actually closes the window(s) marked to.  Solving all sorts of problems when windows close while being drawn (network error messageboxes, game_leave_menus(), etc.)

20110202
--------
arch/include/event.h, arch/include/joy.h, arch/include/key.h, arch/include/mouse.h, arch/sdl/event.c, arch/sdl/joy.c, arch/sdl/key.c, arch/sdl/mouse.c, main/automap.c, main/endlevel.c, main/game.c, main/gamecntl.c, main/inferno.c, main/kconfig.c, main/kconfig.h, main/multi.c, main/newmenu.c, main/slew.c: Added event types for all input actions; Rewrote kconfig code to work with events; static defined inputs will not trigger kconfig-mapped inputs anymore; Simplified keyboard, mouse and joystick code a lot due to event-based handling; Added function to toggle SDL key repeats on and off; Put timer_update() to event_process; Removed return when event_poll() is idle to get cursor hiding to work again; Added a small delay between cursoe hiding and re-enabling to cursor will not accidentially enable by SDL event centering cursor while hiding
arch/ogl/ogl.c: After rendering Reboot reticle, reset glLineWidth to default value again
main/fireball.c, main/gameseq.c, main/net_ipx.c, main/net_udp.c: Little more smoothness for Multiplayer: Before dropping Powerups in random segment, make sure it's accessible by the player who drops it; Got rid of goto in InitPlayerPositions() and made code more D2-ish; Allow host to send 50 object/extra packets per second which does not overload network stack, yet but speeds up joining

20110126
--------
arc/sdl/event.c: In event_process() check for wind->next before sending EVENT_WINDOW_DRAW in case drawing will free wind

20110124
--------
main/physics.c: Revamped what previously was the BUMP_HACK by checking if an object is actually intersecting a segment and move it out towards segment center just after the initial object movement composed by fvi and before velocity is made - should make inaccurate wall collisions a bit smoother and prevent objects from goind inside or through walls, too
main/physics.c: Added some new conditions to the bumping code: Only bump objects which can slide (alive robots and players) and added a count making sure this function can never get stuck in an infinite loop
main/collide.c, main/fireball.c: Some improvements and cleanups for Persistent Debris: Let them bounce, added drag and let them explode on hazardous walls

20110123
--------
main/ai.c: Taking out one Assert in init_boss_segments() stopping the program if there is more than one boss in level - taking out because it's not fatal or unsafe to do that
main/physics.c: Increasing the collision count for objects so there can be 8 for all objects; also do not increase count when colliding with a powerup as it should not change our movement
main/playsave.c: For new player, set ReticleSize to 0 which is the smallest size

20110122
--------
main/console.c, main/game.c, main/gamerend.c, main/gauges.c: Added timer_update() to stop/start/reset_time() functions so resumed last_timer_value will be precise; Added new FPS counter which actually does count the frames rendered per second and is less irritating; Added timer_dleay2 call to console to not stress CPU too much; Imporoved placement for show_time(), multi messages
main/cntrlcen.c, main/cntrlcen.h, main/fuelcen.c, main/multi.c, main/state.c: Handling Controlcen countdown Descent2-way to make code more similar but more importantly to avoid issues in Multiplayer levels which do not even have a Controlcen type Station causing the game get stuck in an infinite loop; Fixed small issue parsing killreactor command in Multiplayer
main/polyobj.h: _POLYOBJ_H definition was not terminated at end of file causing compiling to fail with WORDS_NEED_ALIGNMENT define
include/byteswap.h: Added swapping for 64Bit sized integers in case we want to store/read them some day (i.e. new Savegame version storing object instead of object_rw)
main/gamerend.c: in show_framerate do not use gr_get_string_size at all but rather use hardcoded coordinates - less CPU-intense
main/fvi.c: Removed fvi_a.h and added the asm code from it as comment to fvi.c in case we need it again some day

20110121
--------
main/render.c: Protection for negative array index in find_seg_side was accidentially checking for vv1 != -1 - fixed that

20110120
--------
arch/sdl/jukebox.c, main/digi.h, main/menu.c, main/songs.c: Added a simple random function for the Jukebox; Removed one small printf I once added for debugging

20110119
--------
include/3d.h, main/game.h, main/gamerend.c, main/gauges.c, main/multi.c, main/multi.h, main/net_udp.c: Introducing new BOUNTY Multiplayer game mode by Matt "1360" Vandermeulen <matt1360@gmail.com>; Fit show_HUD_names code to be more similar to D2X - names display still client-decided tho
main/gauges.c, main/multi.c: Fix for showing bounty target in kill list - was not actually checking if player_num == Bounty_target; When Bounty_target player leaves game host must select a new target so the game can proceed; Made Bounty sound play a bit louder
main/gamerend.c, main/multi.c, main/multi.h, main/net_ipx.c, main/net_udp.c, main/text.h: On NETGAMES list Bounty mode was not shown since MODE_NAMES define was not adjusted - so in the end introduced GMNames and GMNamesShrt Arrays in multi.c for globally displaying full or short Multiplayer game mode names
2d/bitmap.c, 2d/bitmap.h, 2d/canvas.c, 2d/font.c, 2d/rect.c, 2d/scale.c, 2d/scalec.c, 2d/tmerge.c, 3d/draw.c, 3d/instance.c, 3d/matrix.c, 3d/points.c, 3d/rod.c, 3d/setup.c, SConstruct, arch/linux/alsadigi.c, arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c, include/3d.h, include/error.h, include/gr.h, include/maths.h, include/texmap.h, main/fvi_a.h, main/inferno.c, main/piggy.c, main/state.c, maths/fixc.c, maths/vecmat.c, texmap/scanline.c: Retired most of the Assembler code except the generic i386 scanline renderer; Removed all leftovers of Direct3D implementation; On the way make a some code more similar between D1X-Rebirth and D2X-Rebirth

20110118
--------
main/gamecntl.c, main/gameseq.c: Allowing loading a savestate while being in death sequence and resetting Dead_player_camera correctly in init_player_stats_level() so forther death sequences won't screw up
main/net_udp.c: In net_udp_send_objects() player_num byte was not considered for mode 1 resulting on incorrect object count for this mode
main/net_ipx.c, main/net_udp.c: Instead of calling object/extras sending every frame, use a delay of 100ms between packet send to not overload the network stack

20110117
--------
arch/sdl/event.c: Still send idle events when receiving SDL joystick events, fixing possible joystick issues
main/menu.c: No referring to non-existent ogl_maxanisotropy for non-OGL build
main/kconfig.c, main/newmenu.c, ui/mouse.c: Fix cursor recentering issues - comment out redundant event_toggle_focus(1) calls in kconfig.c and newmenu.c and use event_toggle_focus(0) in ui_mouse_show()
arch/ogl/ogl.c: Before duplicating last pixel column or row in ogl_filltexbuf, make sure we are still in actual bitmap boundaries
SConstruct, d1x-rebirth.xcodeproj/project.pbxproj, editor/centers.c, editor/ehostage.c, editor/eswitch.c, editor/med.c, editor/medrobot.c, editor/medwall.c, editor/mine.c, editor/objpage.c, editor/texpage.c, include/editor/editor.h, include/editor/objpage.h, include/editor/texpage.h, include/ui.h, ui/button.c, ui/checkbox.c, ui/dialog.c, ui/file.c, ui/gadget.c, ui/icon.c, ui/inputbox.c, ui/keypad.c, ui/keypress.c, ui/keytrap.c, ui/listbox.c, ui/menu.c, ui/message.c, ui/popup.c, ui/radio.c, ui/scroll.c, ui/userbox.c: Rename ui/window.c to ui/dialog.c to avoid confusion with arch/sdl/window.c, also rename UI_WINDOW to UI_DIALOG, rename all associated functions, constants, parameters, local variables etc too; make a window when making a UI_DIALOG (does nothing yet)
SConstruct: opengles variable in SConstruct could be activated by command-line argument opengl
main/terrain.c texmap/ntmap.c, texmap/scanline.c: Fixing memory corruptions produced by the scanline renderer; Dynamically allocate y_pointers to free scanline renderer from resolution limits

20110116
--------
2d/bitblt.c, arch/ogl/gr.c, arch/ogl/ogl.c, include/ogl_init.h, main/menu.c: Added feature to enable Anisotropic filtering is supported by hardware or driver; Reworked way of handling texture filtering information so ingame switching is possible again; Little fix for ogl_get_verinfo which was taken out for ordinary OGL code but should for OGLES
main/menu.c: When changing resolutions and Game_wind is present, send EVENT_WINDOW_ACTIVATE shortly so it's canvase will align to the new resolution seamlessly
main/titles.c: Generally use PATH_MAX for filename arrays in titles code
main/console.c, main/inferno.c: Toggle console by KEY_SHIFTED+KEY_ESC again - as it should be
arch/ogl/ogl.c, main/menu.c: in ogl_filltexbuf add pixel row matching color of bitmap edge to get a clean border when filtering cockpit overlay bitmaps; Small text correction for sound menu to fit better on screen

20110115
--------
arch/linux/ipx.c, main/net_ipx.c: Fixed some compiler warnings
main/game.c: Due to recent changes in event_poll() game_handler() must call ReadControls() for EVENT_MOUSE_MOVED, too; Little fix for FixedStepCalc()
arch/ogl/gr.c, arch/ogl/ogl.c: Fixed alpha limit for ogl_ulinec(), gr_uricle(), gr_disk()

20110114
--------
main/credits.c, main/menu.c, main/net_udp.c, main/scores.c: Fix compile errors introduced when merging
main/collide.c, main/fireball.c, main/gamesave.c, main/gameseq.c, main/gameseq.h, main/laser.c, main/multi.c, main/multi.h, main/multibot.c, main/net_ipx.c, main/net_udp.c, main/object.c, main/powerup.c, main/powerup.h, main/weapon.c, main/weapon.h: Removed D1X implementation of multiplayer powerup capping and added D2X code to replace this (UDP-only); Added a bunch of D2X code for general and multiplayer powerup dropping to make codes more consistent to each other; Removed MULTI_PROTO_D1X_VER and MULTI_PROTO_D1X_MINOR defines since they are not needed anymore
main/gamesave.c, main/multi.c, main/object.h: In multi_leave_game check for Player_eggs_Dropped before actually dropping to prevent multiple drops in case player quits game after being killed; put console output level of multiplayer powerup cap messagers to CON_VERBOSE; Fixed small compiler warning in gamesave.c due to last commit
main/gameseq.c: Using timer_query() instead of clock() in InitPlayerPositions(); Also check up distance up to 10 segments
main/game.c, main/gamerend.c, main/gameseq.c, main/gauges.c, main/multi.c, main/multi.h, main/net_udp.c, main/object.c, main/player.h: Added Descent2 Multiplayer features: Kill goals, Allowed play time; Bright players, Invulnerable when reappearing
main/collide.c, main/multi.c, main/multi.h, main/net_udp.c: Added feature to optionally disable friendly fire in Team and Coop games
main/newmenu.c: Moved scroll arrow one unit to the left to be not pixel-aligned to possible checkbox; Made newmenu sliders only react to spacebar, backspace, left and right since pageup/down is already taken for menu scrolling and all other previous key assignments will not work on most spread keyboard layouts
include/console.h, main/console.c, main/gamecntl.c, main/gamerend.c, main/inferno.c, main/kmatrix.c, main/net_ipx.c, main/net_udp.c: Converted console into a window and allow it to show in every part of the game; Fit several poll functions and kmatrix so they won't get interrupted by the console

20110113
--------
arch/include/event.h, arch/include/key.h, arch/include/mouse.h, arch/sdl/event.c, arch/sdl/key.c, arch/sdl/mouse.c, editor/med.c, include/ui.h, main/automap.c, main/gamecntl.c, main/inferno.c, main/inferno.h, main/kconfig.c, main/kmatrix.c, main/menu.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c, main/scores.c, main/titles.c, ui/file.c, ui/keypress.c, ui/menu.c, ui/menubar.c, ui/message.c, ui/mouse.c, ui/popup.c, ui/window.c: For editor, replace use of ui_mega_process() with event_process(), with the editor's own default event handler; add EVENT_MOUSE_MOVED event with event_mouse_get_delta() accessor; add event_key_get() to replace ugly casting; rename mouse_get_button() with event_mouse_get_button() to keep with name convention; only send idle events when there are no input events so editor still works properly (or the same anyway); add and use event_send() function for input events (including idle)

20110111
--------
main/net_udp.c: Fixed Menu setting for AllowedItems which was broken due to changed return value of newmenu_do1

20110110
--------
2d/disc.c, arch/ogl/gr.c, arch/ogl/ogl.c, include/gr.h, include/ogl_init.h, main/automap.c, main/gauges.c, main/gauges.h, main/menu.c, main/playsave.c, main/playsave.h: Added different reticle types with RGBA and size settings; Apply RGBA and size to FlightSim Indicator; Added Brightness Slider to Graphics options menu; Added OpenGL usage for gr_disk
main/credits.c, main/songs.c, misc/hmp.c: Let credits track fade out at the end of text sequence; Fixed usage for RBAPlayTracks - when playing only one track last must be equal first, not 0; In hmp_open changed data from long to int, preventing memory explosion depending on optimisation of the code
arch/sdl/timer.c: In timer_update() convert cur_tv to fix scale before substracting from last_tv to get a little more accurate values to F64_RunTime (insignificant tho); Added rollover check for SDL_GetTicks() to timer_delay2()

20110109
--------
main/net_udp.h: Set max UDP packet size to 1024 again (seems some configuration DO have problems with larger packets after all)
main/net_udp.c: Fix for rev959: my_pnum must be defined static
arch/sdl/digi.c, inlcude/hmp.h, misc/hmp.c: Improvement on the HMP track loop feature by TURRICAN; Added small template fix for descent.hmp which is supposed to be activated soon as we have some kind or Checksum function
main/kconfig.c: Mousebutton assigned to CYCLE SECONADARY was actually calling CYCLE PRIMARY

20110106
--------
SConstruct, arch/ogl/gr.c, arch/ogl/ogl.c, include/loadgl.h, include/ogl_init.h, main/gamecntl.c, main/state.c, misc/args.c: Added OpenGL ES support - contributed by Florian Feucht and Oliver Haag
main/automap.c, main/gauges.c, main/gauges.h: Draw FlightSim Reticle on Automap display, too
arch/ogl/ogl.c: Fix small bug in vertex_array for ogl_ubitblt_i

20110104
--------
d1x.ini, include/args.h, main/gauges.c, main/inferno.c, main/kconfig.c, main/kconfig.h, main/menu.c, main/playsave.c, main/playsave.h, misc/args.c: Introduced FlightSim control scheme for mouse which adds delta values to absolute position to behave like a Joystick; Added Deadzone slider for FlightSim as well as an optional Reticle display to show the positional data on screen; Removed old Mouselook hack in favor of this new feature

20110103
--------
arch/sdl/joy.c, arch/sdl/key.c, arch/sdl/mouse.c, include/args.h, main/kconfig.c, main/kconfig.h, main/playsave.c, misc/args.c: Added Cycle Primary/Secondary to the config panels for keyboard and joystick like in D2X-Rebirth and store them in the designated key/button arrays; Added Cycle Primary/Secondary for Mouse which makes wheel axis cycling unnecessary and also let Weapon Keys be assigned to a Mouse button; If GameArg.NoStickyKeys do flush these keys so they can be used as normal game keys - otherwise ban them; Fixed crash when reassigning mouse button greater than 3; Joystick/Mouse function taking button as argument now check for sanity of this value so they can safely be used in kconfig code and deal with unassigned key values
d1x.ini, include/args.h, main/gauges.c, main/hud.c, main/inferno.c, main/menu.c, main/playsave.c, main/playsave.h, misc/args.c: Added feature to disable D2-style Prox. Bomb Gauge; Moved NoRedundancy and MultiMessages toggles from GameArg to PlayerCfg to be set via Misc Options
SConstruct, INSTALL.txt: More consistency in SConstruct command-line variables; Added automatic Endianess-checker; Set target to 'd1x-rebirth' no matter if OpenGL or not

20110102
--------
main/credits.c, main/kconfig.c, main/menu.c, main/net_udp.c, main/newmenu.c, main/scores.c: Increasing general mouse functionality all over the game: Mouse wheel now can scroll through menu/listbox items; Right mouse button closes a menu (without the need of these ugly close boxes); Also added mouse-closing capabilities to credits, scores and kconfig menus; While being in UDP Netgames list, override keycode at PAGEUP/DOWN keypress to only flip pages without modifying citem also added messagebox showing TXT_INVALID_CHOICE when invalid netgame was chosen
arch/include/key.h, arch/sdl/key.c, main/newmenu.c: Introduced function key_ismodlck to get the status of modifier keys or sticky keys; Let sticky keys survive flush so we can accurately use their real states; Added key repeating via SDL; Depending on status of KEY_NUMLOCK keypad will either be used as numerical or arrow input in menus

20101230
--------
main/newmenu.c, main/menu.c: Fixed glitch in scroll arrow position; Added newmenu_scroll which can scroll through all kind is menu structures including automatically handling NM_TYPE_TEXT items as well as automatically updating scroll_offset; PageUp/Down now scrolls by 10 items, Home/end will select first/last/items of menu creating consistency to listbox behaviour; Fit text for GrabInput to be more understandable

20101228
--------
editor/info.c, editor/med.c, include/editor/editor.h, include/editor/info.h: Make the keypad info display into a window
arch/include/event.h, arch/include/joy.h, arch/include/mouse.h, arch/sdl/event.c, arch/sdl/joy.c, arch/sdl/mouse.c, d1x.ini, include/args.h, main/automap.c, main/config.c, main/config.h, main/game.c, main/gamecntl.c, main/inferno.c, main/kconfig.c, main/menu.c, main/newmenu.c, main/playsave.c, main/playsave.h, misc/args.c: Added Sensitivity/Deadzone menu with sliders for each movement based action seperated for joystick and mouse to support all kinds of configuration - regardless the amount of joystick axes and whatnot; SDL_WM_GrabInput does not only capture mouse but also focus keyboard input - changed code to respect this fact and made grabbing a menu option which is enabled by default

20101224
--------
CHANGELOG.txt, SConstruct, d1x-rebirth.xcodeproj/project.pbxproj, editor/autosave.c, editor/centers.c, editor/curves.c, editor/eglobal.c, editor/ehostage.c, editor/elight.c, editor/eobject.c, editor/eswitch.c, editor/fixseg.c, editor/func.c, editor/group.c, editor/info.c, editor/kbuild.c, editor/kcurve.c, editor/kfuncs.c, editor/kgame.c, editor/kgroup.c, editor/khelp.c, editor/kmine.c, editor/ksegmove.c, editor/ksegsel.c, editor/ksegsize.c, editor/ktmap.c, editor/kview.c, editor/macro.c, editor/med.c, editor/meddraw.c, editor/medmisc.c, editor/medrobot.c, editor/medsel.c, editor/medwall.c, editor/mine.c, editor/objpage.c, editor/segment.c, editor/seguvs.c, editor/texpage.c, editor/texture.c, include/editor/centers.h, include/editor/editor.h, include/editor/ehostage.h, include/editor/eobject.h, include/editor/eswitch.h, include/editor/info.h, include/editor/kdefs.h, include/editor/kfuncs.h, include/editor/macro.h, include/editor/meddraw.h, include/editor/medlisp.h, include/editor/medmisc.h, include/editor/medrobot.h, include/editor/medsel.h, include/editor/medwall.h, include/editor/objpage.h, include/editor/seguvs.h, include/editor/texpage.h, include/makesig.h, include/ui.h, main/bm.c, main/bm.h, main/cntrlcen.c, main/cntrlcen.h, main/fuelcen.c, main/fuelcen.h, main/gamemine.h, main/gamesave.c, main/gamesave.h, main/menu.c, main/switch.c, main/switch.h, main/wall.c, main/wall.h, misc/strutil.c, ui/button.c, ui/checkbox.c, ui/file.c, ui/gadget.c, ui/inputbox.c, ui/keypad.c, ui/keypress.c, ui/keytrap.c, ui/lfile.c, ui/listbox.c, ui/menu.c, ui/menubar.c, ui/message.c, ui/mouse.c, ui/popup.c, ui/radio.c, ui/scroll.c, ui/ui.c, ui/uidraw.c, ui/userbox.c, ui/window.c: Copy lots of editor stuff from d2x-rebirth to d1x-rebirth, getting it to work on Mac OS X
arch/carbon/conf.h: Disabling IPv6 support for OS X since in Snow Leopard it's buggy, making all Multiplayer pretty much impossible - re-activating soon as proper patches from Apple are in sight

20101223
--------
main/net_udp.c, main/net_udp.h: Reworked object sending/receiving to work without unnecessary type casting and a bit less error prone; Also increased UDP max packet size to 2048 so we can send 7 objects per frame
main/credits.c: Align timer_delay for credits so the song (midi or redbook) should at least be heard once

20101222
--------
arch/sdl/window.c: In window_close() prev window did not get EVENT_WINDOW_ACTIVATED but the recent closed window got it causing previous window not being activated anymore and a bunch of memory errors
arch/ogl/ogl.c, include/ogl_init.h, main/ai.c, main/ai.h, main/aipath.c, main/aistruct.h, main/collide.c, main/controls.c, main/fuelcen.c, main/game.c, main/game.h, main/gamecntl.c, main/gameseq.c, main/gauges.c, main/laser.c, main/lighting.c, main/mglobal.c, main/multi.c, main/multi.h, main/multibot.c, main/net_ipx.c, main/net_udp.c, main/newdemo.c, main/object.c, main/object.h, main/player.c, main/player.h, main/playsave.c, main/playsave.h, main/powerup.c, main/state.c, main/state.h, main/weapon.c: Made GameTime to GameTime64 using fix64; Changed all structures saving GameTime64 for internal timer purposes to store fix64 and added converting functions to save such times in fix; For Savegames/Demos always reset GameTime64 to 0 while saving and putting all timer values to safe limits, Multiplayer objects are sent in similar fashion
main/game.c: Use game_init_render_buffers for editor (for now), fixing crash
main/collide.c, main/object.c, main/object.h, main/state.c: added hitobj_list to struct laser_info to get a bit cleaner code
main/multi.h, main/net_udp.c, main/net_udp.h: in IPv6 builds also send regular broadcast packets to get games found via LAN between IPv4 clients/systems and IPv6 clients/systems; rather than identifying (lite_info) games via IP use randomly generated GameID and game name to prevent duplicated coming from IPv6 builds
main/gamecntl.c, main/net_udp.c: Fix warning for deliberate GameTime64 wrap; uncomment multi_object_to_object_rw and multi_object_rw_to_object prototypes
ui/window.c: Put event_process() in ui_mega_process(), hopefully getting editor to (mostly) work (not on Mac yet)

20101211
--------
arch/include/key.h, arch/include/mouse.h, arch/sdl/event.c, arch/sdl/joy.c, arch/sdl/key.c, arch/sdl/mouse.c, arch/sdl/rbaudio.c, arch/sdl/timer.c, editor/ehostage.c, editor/medrobot.c, editor/medwall.c, include/maths.h, include/timer.h, include/ui.h, main/automap.c, main/console.c, main/digiobj.c, main/fireball.c, main/game.c, main/inferno.c, main/kmatrix.c, main/laser.c, main/laser.h, main/lighting.c, main/menu.c, main/multi.c, main/multi.h, main/multibot.c, main/net_ipx.c, main/net_ipx.h, main/net_udp.c, main/net_udp.h, main/newmenu.c, main/scores.c, main/titles.c, ui/listbox.c, ui/mouse.c, ui/scroll.c, ui/window.c: Introduced new data type fix64 to be used for new timers which can last 4462756 years instead of 9 hours; Introduced new timer functions to update and query program time; Used new timer all over the program except GameTime (which comes next)

20101221
--------
d1x-rebirth.xcodeproj/project.pbxproj, editor/med.c, main/menu.c: Activate EDITOR for Mac OS X in Xcode, d1x target; fix some warnings and errors but it won't compile yet

20101205
--------
arch/carbon/messagebox.c, arch/include/window.h, arch/linux/messagebox.c, arch/sdl/key.c, arch/sdl/mouse.c, arch/sdl/window.c, arch/win32/messagebox.c: Add CON_DEBUG level con_printf's for basic events (not EVENT_IDLE or EVENT_DRAW though)

20101204
--------
main/bmread.c, main/piggy.c: When setting a bogus sound in gamedata_read_tbl, don't let piggy_close free it. Fixes freeing of non-malloc'd pointer for PC shareware data
main/gamecntl.c: When calling do_game_pause do not allocate msg in Game mod GM_MULTI as it's not used nor freed
include/pstypes.h: Changed another WIN32 to _WIN32 to avoid accidentially compiling with WORDS_BIGENDIAN when using VisualC

20101203
--------
main/net_udp.c: Made resent_delay for net_udp_noloss_process_queue() a bit longer depending on the player's ping

20101130
--------
include/hmp.h, misc/hmp.c: Little fixes for rev939 - changed definition from WIN32 to _WIN32, added little hack for incorrectly set HMP loop in Descent2-version of descent.hmp
SConstruct, arch/include/messagebox.h, arch/win32/messagebox.c, main/inferno.c, misc/error.c: Add support for Windows native error/warning boxes; Only print to stdout on Linux/other *nix; Fixed redundant printing of Error and Warning via stdout
arch/carbon/messagebox.c, main/inferno.c, main/titles.c: Turn fullscreen off when showing a messagebox for Mac; move songs_play_song(SONG_TITLE) from inferno.c to titles.c
d1x-rebirth.xcodeproj/project.pbxproj: Change Mac OS X 'Development' SDK to the built-in one to get rid of depreciated 'ShowCursor' warning
main/inferno.c: When Quitting is called in standard_handler disable Autodemo if active

20101128
--------
main/multi.c: In multi_new_game when initializing Players structures, also correctly init connected variable which is highly important for spreading pdata to clients and should be set correctly anyways (Thanks to Gold Leader and Flip for help with debugging/testing recent Multiplayer bugs)
main/powerup.c: in do_powerup added check for distance of other players to powerup object to make redundant pickups less likely
arch/carbon/messagebox.c, arch/include/messagebox.h, arch/linux/messagebox.c, arch/sdl/rbaudio.c, arch/win32/messagebox.c, d1x-rebirth.xcodeproj/project.pbxproj, editor/med.c, main/game.c, main/inferno.c, SConstruct: Add support for OS native error/warning boxes, only implemented for Mac for now
main/inferno.c: Fix for r936 - re-added playing titles song when titles are about to show
SConstruct: Added missing brackets gone missing in r936
arch/sdl/digi.c, arch/sdl/digi_mixer_music.c, include/hmp.h, main/digi.h, main/songs.c, misc/args.c, misc/hmp.c: Large improvement for _WIN32 native MIDI code by TURRICAN: supprt for HMP track loop, seamless song looping, GS reset, pausing/resuming midi, volume control for each MIDI channel; Set GameArg.SndDisableSdlMixer automatically if compiled without SDL_mixer support; On _WIN32 play HMP natively again

20101126
--------
include/physfsx.h, main/inferno.c, misc/physfsx.c: Implemented PHYSFSX_checkSupportedArchiveTypes to check if essential archive types are supported. Print warnings if not and stop program if necessary. Also added PHYSFSX_listSearchPAthContent  to print out search path contents (figures) each time the function is called. Doing this before main HOG inits as well after sucessfully adding archives. Made PHYSFSX_addArchiveContent a bit more verbose as well.
main/console.c, main/inferno.c: If -verbose or -debug is set, write gamelog.txt unbuffered for a higher chance to get messages there in case of a crash; Totally supress messages in stdout/err.txt on _WIN32

20101123
--------
main/net_udp.h: reducing max buffer size of an UDP packet from 1024 to 576 bytes - should prevent possible turncating, especially when sending obejcts where max size is actually used
main/net_ipx.c, main/net_udp.c: When verifying objects, do not necessarily check for controlcen as it's not necessarily there in some anarchy missions

20101122
--------
arch/sdl/jukebox.c: Make sure read_m3u won't read past the end of the buffer, causing a crash
main/inferno.c: If it can't find descent.hog, still print some useful info

20101121
--------
arch/sdl/jukebox.c, include/physfsx.h, main/menu.c, misc/physfsx.c: Created function PHYSFSX_isNewPath to check wether given path has already been added to Searchpath or not; Used PHYSFSX_isNewPath for menu browsing code instead it's own implementation; Using PHYSFSX_isNewPath for Jukebox directory, too to make sure Jukebox will not accidentially remove Game content depending on user selection; Also only keep Jukebox directory added until files are stored to prevent any other file present in this path can override or add anything to the game
main/config.c: For fresh configuration set Redbook music as default for Mac, Builtin music for all others
main/hud.c: When checking for redundant messages in HUD display, compare new message to most recent one for locking and check whole list only for messages marked with HM_REDUNDANT. This will show all messages in correct order while keeping redundancy-prone messages from looping infinitely

20101113
--------
main/playsave.c: In plyr_save_stats setting filename to size of PATH_MAX to have enough space to also hold the player directory prefix which would otherwise create a memory corruption and crash the game

20101109
--------
main/multi.c: In multi_consistency_error check for Game_wind before trying to set it in/visible - just for safety
mem/mem.c: When running out of memory slots, do not try to print detailed info as it will only call a negative array index

20101101
--------
main/newmenu.c: In case listbox strings are too long for screen, fit box width to screen width, shorten strings and add a scroll effect to selected item
main/titles.c: Increased buffer for fname2 in load_briefing_screen, preventing buffer overflow in case replacement filenames are longer than DOS-style

20101030
--------
main/titles: Make songs playing at end briefings loop, like they used to in the original game
main/menu.c: Text string for level music was made smaller some time ago so BROWSE_TXT_SHRT basically became obsolete - removed it now and show BROWSE_TXT instead

20101029
--------
arch/sdl/digi_mixer_music, include/hmp.h, misc/hmp.c: Instead of writing converted MIDI to file, write to buffer so it can be played directly

20101016
--------
main/custom.c, main/gameseq.c: Finished support for custom textures and robots, fixed some bugs, reformatted code and placed function calls to properly work for designated mission/level
D1X.make, arch/sdl/jukebox.c, d1x-rebirth.xcodeproj/project.pbxproj, include/pstypes.h, main/hud.c, main/menu.c, main/newdemo.c, main/titles.c, misc/args.c, misc/physfsx.c: Fix errors for Mac OS 9, Mac OS X 'd1x' target builds again

20101014
--------
main/menu.c: Fixed compilation of menu.c when USE_SDLMIXER is not defined
arch/sdl/jukebox.c, include/cfile.h, main/console.c, main/hud.c, main/menu.c, main/mission.c, main/net_ipx.c, main/net_udp.c, main/scores.c, main/titles.c, misc/physfsx.c: Added format arguments to all printf, sprintf and snprintf calls missing them to prevent warnings/errors with some distributions of gcc

20101010
--------
d1x-rebirth.xcodeproj/project.pbxproj, INSTALL.txt: Use dynamic PhysicsFS library again to fix linking errors

20100926
--------
arch/sdl/jukebox.c, include/strutil.h, main/menu.c, misc/strutil.c: Add support for M3U playlists, tweak 'Jukebox playing' message so it shows the end of the path when truncating

20100925
--------
include/cfile.h, include/physfsx.h, main/bmread.c, main/piggy.c, misc/physfsx.c: Add 'Data' subdir as a searchpath, simplifying a lot of file opening/checking/closing code
misc/physfsx.c: fullpath variable was missing for _WIN32

20100919
--------
main/state.c: Pass -1 instead of 255 as the colour to ogl_ubitmapm_cs when drawing savegame previews, to make sure a black rectangle isn't drawn instead
iff/iff.c, main/titles.c: To fix Dravis's head in endgame debriefing, don't remap the colours and read compressed .bbm bitmaps properly (both my bad)

20100917
--------
arch/carbon/conf.h: Enable IPv6 for Mac OS X
main/config.c: Set default Jukebox music paths to original Redbook music in iTunes for Mac OS X
d1x-rebirth.xcodeproj/project.pbxproj, include/cfile.h, include/hmp.h, include/physfsx.h, INSTALL.txt, main/config.c, main/inferno.c, main/newdemo.c, main/newmenu.c, main/playsave.c, misc/hmp.c, misc/ignorecase.c: Link to PhysicsFS static library and use header from source for Mac OS X
main/menu.c: Put in a note that a restart is required when changing the texture filter level (remove later when it isn't)
d1x-Info.plist, d1xgl-Info.plist, English.lproj/InfoPlist.strings: Increment version to 0.56.0 for Mac OS X, marking release point

20100904
--------
main/titles.c: In briefing_init() init robot angles properly because in show_spinning_robot_frame() robot_angles.h is incremented only but not initialized
main/game.c, main/game.h, main/gameseq.c, main/state.c: Removed Fusion_last_sound_time and made Fusion_next_sound_time static inside FireLaser() with it's own fallback function for bogus timer values - should make this code insusceptible against errors - last but not least: minus two globals

20100903
--------
main/game.h, main/gameseq.c, main/state.c: Reset Fusion_next_sound_time in init_player_stats_level() to hopefully fix Fusion not doing damage or playing sounds 

20100902
--------
arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, d1x-rebirth.xcodeproj/project.pbxproj, main/multi.h: On Mac OS X - no longer have to copy SDL_mixer.h to SDL framework; frameworks can now be in /Library/Frameworks; fix for obscure compile error involving u_int32_t
include/ogl_init.h, 2d/font.c, arch/ogl/ogl.c, arch/ogl/gr.c: Rewrote code to control Texture Filtering a little so it's easier to apply Mipmaps for different parts of the game independently
main/gamecntl.c, main/menu.c, main/newdemo.c, main/newdemo.h: Using PHYSFSX_findFiles to make sure random demo playback will only find actual demo files and not quit autodemo; added DEMO_EXT for an universal definition of demo file extension
arch/sdl/digi_mixer_music.c: When opening music file via filehandle, made sure buffer is freed after playing to prevent major memory leakage

20100901
--------
main/net_ipx.c, main/net_udp.c: in pdata communication swap_bytes was set for create_shortpos causing problems on PPC architecture; in multiplayer host menu set citem to START GAME by default

20100831
--------
include/u_mem.h, main/menu.c, main/newmenu.c, main/newmenu.h: Added feature to let select_file_reursive() change drive on _WIN32 via CTRL-D; Removed second definition of MEM_K accidentially happened due to bad communication

20100828
--------
main/menu.c: In list_dir_el make sure PHYSFS_getRealDir won't give NULL to strcmp which will happen for files located in a Windows root directory
include/u_mem.h: Make define of MEM_K apply to non-debug builds as well (whoops)
main/menu.c: In select_file_recursive handle paths relative to the current write directory correctly

20100827
--------
arch/include/jukebox.h, arch/sdl/jukebox.c, include/u_mem.h, main/menu.c: Add path browsing feature to make song file/directory selection easier
include/u_mem.h, main/menu.c: Moving upwards definition of MEM_K so it's not restricted to !NDEBUG; Initialized **i in list_dir_el properly to silence gcc when compiling
main/menu.c: In select_file_handler properly initialize newpath preventing memory errors and crashes

20100825
--------
main/titles.c: Made loading of Hires briefings a bit more simpler (more D2-ish) and not using a new briefing_screen structure; Also perform a check if requested image originates from descent.hog or a third-party mission and do not load a Hires version in the latter case

20100824
--------
main/mission.c, main/mission.h, main/titles.c: Overhauled detection of TEX/TXB files for Briefings and Endings

20100822
--------
main/net_ipx.c, main/net_udp.c: Moved levelnum-sanity-check in game_param_handler so it will be checked when screen is changed to allow entry of secret levels; added menu item START GAME for consistency and added proper subtitle for game setup page
INSTALL.txt: Added link for the Mac Content Sound Effects AddOn Pack
arch/sdl/digi_mixer_music.c: Use more reliable Mix_LoadMUS for music in directory searchpaths, so WAVE's and MP3's are correctly loaded (probably others)

20100821
--------
d1x-rebirth.ico, d1x-rebirth.xpm, arch/sdl/gr.c, arch/ogl/gr.c: Bind WM-Icon to application
SConstruct, d1x-rebirth.bmp, d1x-rebirth.xpm, arch/sdl/gr.c, arch/ogl/gr.c, arch/win32/d1xr.res: Added res-file to be linked in Windows build to show icon in Filemanager; converted icon file to be smaller

20100819
--------
d1x-rebirth/main/bmread.c, d1x-rebirth/main/paging.c, d1x-rebirth/main/aipath.c, d1x-rebirth/main/piggy.c, d1x-rebirth/main/gamesave.c, d1x-rebirth/main/dumpmine.c, d1x-rebirth/main/kconfig.c, d1x-rebirth/main/gamecntl.c, d1x-rebirth/editor/segment.c, d1x-rebirth/editor/kmine.c, d1x-rebirth/editor/mine.c, d1x-rebirth/editor/group.c, d1x-rebirth/editor/med.c, d1x-rebirth/editor/eswitch.c, d1x-rebirth/editor/medwall.c, d1x-rebirth/iff/iff.c, d1x-rebirth/ui/radio.c, d1x-rebirth/ui/scroll.c, d1x-rebirth/ui/window.c, d1x-rebirth/ui/keypad.c, d1x-rebirth/ui/file.c, d1x-rebirth/ui/listbox.c, d1x-rebirth/ui/mouse.c, d1x-rebirth/ui/menubar.c, d1x-rebirth/ui/lfile.c, d1x-rebirth/mem/mem.c: Patching together editor so it compiles again (while still not running); Implemented PhysFS for file accessing for editor- and debugging-related code
main/text.c: In demo list help text changed string CTRL+C to CTRL-C for consistency
main/songs.c, arch/sdl/digi_mixer_music.c, arch/sdl/rbaudio.c, arch/sdl/digi.c: For each Music playback system defining own volume scaling definition which was wrong for SDL_mixer

20100817
--------
main/digi.h, main/menu.c, main/songs.c, main/songs.h: Renamed MUSIC TYPE options BUILT-IN MUSIC to BUILT-IN/ADDON MUSIC and CUSTOM MUSIC to JUKEBOX; Removed LEVEL-DEPENDENT play order for Jukebox as this is now mainly covered by AddOn packs and future M3U-support

20100816
--------
main/net_ipx.c, main/net_udp.c: When switching from COOP to any other game mode, make sure Netgame.max_numplayers, MaxNumNetPlayers as well as the menu text showing the player limit is updated correctly
INSTALL.txt: Updated docs to add new OGG Soundtrack created by Brandon Blume
main/inferno.c: Moved up PHYSFSX_addArchiveContent() a little inside main() so -debug and -verbose will show us this content which will be helpful for debugging possible problems with AddOn Zips

20100815
--------
INSTALL.txt, include/physfsx.h, main/inferno.c, misc/physfsx.c: Added support to automatically load/mount ZIP files at startup, giving option to dynamically override or replace game content; Updated docs

20100814
--------
main/game.c: Tidy up for EVENT_IDLE case in game_handler, hopefully fixing obscure 'optimise threads' bug

20100812
--------
main/weapon.c: When picking up laser, game would show generic weapon pickup/already-have messages instead of laser-upgrade/maxed-out messages only - fixed

20100811
--------
main/laser.c: The inital vector scaling to compensate previous frame-skipped tracking was not aligned to FrameTime. Removed that code and just divided homer_turn_base values to compensate this offset properly. Thanks to zif for hinting me to that; Added comment about the how and why of the homing missile scaling issue

20100809
--------
d1x-rebirth.xcodeproj/project.pbxproj, include/physfsx.h, include/pstypes.h, misc/physfsx.c, SConstruct: Add 'Resources' in .app bundle to searchpath for Mac; move bigger functions from physfsx.h to physfsx.c; resolve conflict with definition of 'bool'
include/pstypes.h: Cleaned and simplified includes to fix possible and actual problems with PATH_MAX

20100806
--------
arch/sdl/event.c: Between event sending, exit event_process if front window is different, fixing netgame joining problem introduced with commit on 20100731

20100803
--------
main/hud.c: When updating redundant HUD messages check the for-loop not the start with a negative number - causes too long message display and negative array index

20100801
--------
main/menu.c, main/songs.c, main/songs.h, main/gameseq.c, main/digi.h, arch/sdl/digi.c: Builtin music list now dynamically allocated and not limited to 30 songs; Instead of never loading new level when loading savestate ingame, only do this for Redbook and Custom Music playing order 'continously'; if no endlevel song is specified in Custom Music continue with level music
arch/sdl/mouse.c: If mouse_toggle_cursor is set to activate, do not toggle ursor visibility as mouse_update_cursor_and_grab might decide it should be hidden

20100731
--------
main/inferno.c, main/kmatrix.c, main/menu.c, main/newmenu.c, main/newmenu.h, main/scores.c: For polling newmenus, set rval using a pointer and don't delay closing the window, hopefully fixing bad memory access when clicking in level scores screen; change newmenu_close to newmenu_free_background to avoid confusion

20100730
--------
SConstruct: restricted parsing of sdl-config to *NIX and Mac builds as it's static on Win32 anyways; added verbosebuild as SCons option to print out all compiler/linker messages
main/state.c, main/game.c, arch/sdl/event.c, arch/sdl/mouse.c, arch/include/event.h: Added event_flush to take place in game_flush_inputs which will clean SDL events which may be buffered while event_process was suspended; suspend Game_Wind while loading restoring save state while playing a level to properly flush controls and reset timer; when toggeling cursor, also directly modify the mouse to wanted behaviour instead of waiting for mouse_update_cursor_and_grab

20100729
--------
main/automap.c, main/fuelcen.c, main/game.c, main/gamecntl.c, main/gameseq.c, main/menu.c, main/newmenu.c: Tidy up use of set_screen_mode
arch/ogl/gr.c, arch/ogl/ogl.c: Using rather sane values for gluPerspective - fixing Z-Fighting bugs on Intel chips; in Fullscreen toggle, always apply new viewing values independent of Screen_mode

20100728
--------
main/automap.c, main/game.c, main/gamecntl.c, arch/sdl/init.c, arch/sdl/mouse.c, arch/include/mouse.h: One more take on Mouse cursor friendliness: Merged mouse_toggle_cursor and mouse_toggle_grab; instead of trying to use SDL_GetAppState (which does not work as expected on Windows) to release mouse, use strict calls of mouse_toggle_cursor so we at least have a free mouse outside of Game_wind and Automap; decreased time to automatically hide cursor; added mouse_close to release mouse in case of emergency

20100727
--------
2d/pcx.c, include/pcx.h, main/cntrlcen.h, main/effects.c, main/fireball.c, main/fuelcen.h, main/gameseq.c, main/kmatrix.c, main/net_ipx.c, main/net_udp.c, main/render.c, main/segment.h, main/switch.c: Show main menu background for died in mine messagebox; equalise fuelcen.h and cntrlcen.h
arch/sdl/mouse.c: Fixing automatic mouse release function - still this does not seem to work in every case
misc/hmp.c: Fixing bug in MIDI header - format was written in size of int instead of short
arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c, main/config.c: Moved digi_set_digi_volume call from config loading to designated audio subsystem init function so it will be correctly set after the sound system is auctionlly initialized

20100726
--------
arch/sdl/event.c, arch/sdl/mouse.c: Overhauling showing/grabbing cursor and also taking care of case if program looses focus; store old_delta_x/y in mouse info structure

20100725
--------
arch/sdl/event.c, arch/ogl/gr.c, arch/sdl/gr.c: Exit SDL_PollEvent early if window changes, to avoid menu problems when pressing keys fast; fix 'condition is always false' warning
main/inferno.c, main/inferno.h: Rewrite quit system, fixing *many* bugs with it :P
main/newmenu.c: For menus, only call the user function for closing immediately before closing, fixing memory errors when the user function frees memory
main/newmenu.c: Fix crash caused by last commit (whoops)

20100721
--------
main/net_udp.c: Fixing crash when joinging game over UDP Netlist: when exiting the menu for any reason, return 0 instead of following the code and possibly lead to drawing text from a newly free'd pointer - D'OH! 

20100720
--------
main/net_udp.c: Thanks to Marix for hinting me I should not init a pointer with quotes if I plan to allocate/free it... my stupid-level officially broke the record

20100719
--------
misc/hmp.c: Did not close hmp after MIDI conversion which caused some unfree memory - fixed
main/gameseq.c, main/state.c, main/state.h: Introduced state_quick_item so we can safly check if there is a valid quicksave slot wihtout messing around with state_Default_item which is supposed to always show a valid slot in the first place
main/titles.c: In briefings make sure Current_color cannot exceed possible array bounds
include/strutil.h, main/credits.h, main/menu.c, main/bmread.c, main/newdemo.c: Fixing some harmless compiler warnings caused by missing includes, missing newlines at end of file; cleaned up strutil.h
arch/win32/ipx.c: Removed redundant Winsock calls from Windows-specific IPX code - it's already in net_ipx.c

20100718
--------
SCsonstruct, d1x-rebirth.xcodeproj, arch/sdl/digi.c, arch/sdl/digi_mixer_music.c, include/cfile.h, include/hmp.h, include/hmp.c: Merged all HMP-related code into hmp.c/h; Also introduced new HMP to MIDI conversion functions based on JJFFE which use former Win32-related HMP-code - fixes some bugs in MIDI conversion and cleaner

20100717
--------
main/gamesave.c, main/render.c: Removed OGL hack to fix overlapping room in D1 lvl19 and rather move vertex a little. Still a hack but now without messing Depth test
main/gameseg.c, main/render.c: Instead of screwing by possibly using negative array indicies in find_seg_side() return -1. In ordering segments make this result in unimportant order; Taking in some Asserts which were disabled years ago by me. Let's fix this for real when we get to it
main/game.c, main/gamecntl.c: Implenented POBOYS cheat as equivalent to D2's DELSHIFTB
arch/sdl/digi_audio.c: For normal digital audio (11/22Khz) use buffer of 1024 for all platforms to prevent delay

20100716
--------
main/gamecntl.c: Fixing showing options menu in demos - was still called (or rather not) by obsolete variable
main/newmenu.c, main/newmenu.h, main/automap.c, main/game.c, main/kconfig.c, arch/sdl/event.c, arch/sdl/joy.c, arch/sdl/init.c, arch/sdl/key.c, arch/sdl/mouse.c, arch/include/mouse.h: Only use one single call of timer_get_fixed_seconds() for whole SDL event loop; Abstracted grabbing mouse and mouse cursor toogle to mouse functions instead of calling SDL functions inside of non-arch code; Automatically hide mouse cursor if it's not used for more than 3 seconds; Reworked placement of mouse grabbing toggle; Do not read any mouse input if -nomouse is given
main/newdemo.c: If newdemo_start_playback fails if random file is given set -autodemo to 0 to prevent endless loop


20100715
--------
main/wall.c, main/newdemo.c, main/newdemo.h, main/gauges.c: Cleaned the variables used for newdemo code; Instead of giving both old and new values to special recording functions, added new variables to demo code serving this purpose and also checking for redundant record calls which only would waste bytes; Removed duplicated-object-id-hack which did not work as expected and caused jittering on playback; In that process, found a bug where Num_open_doors might nor be set correctly - cleaned that up a little and got also rid of one aweful goto
main/titles.c: Scale tab stops in briefings to font-size correctly
main/titles.c: Make sure the right canvas is set for titles and briefings, fixing bug where briefing is shown in the cockpit when using 'farmerjoe' cheat

20100713
--------
include/args.h, main/net_udp.c, main/collide.c, main/multi.c, main/inferno.c, main/object.c, main/wall.c, main/state.c, main/hud.c, main/weapon.c, main/hostage.c, main/hudmsg.h, main/newdemo.c, main/net_ipx.c, main/fuelcen.c, main/ai.c, main/endlevel.c, main/powerup.c, main/game.c, main/gauges.c, main/gauges.h, main/gamecntl.c, misc/args.c, d1x.ini, arch/ogl/gr.c, arch/sdl/jukebox.c: Added expandable classes for HUD messages (like D1X but slacked) to better handle Multi messages or redundant messages; Rewrote HUD code completely; Changes -playermessages to -multimessages since this is more appropriate; Removed remnants of -mprofile

20100709
--------
main/mission.c: When reading mission file, check for sanity of possible breifing or ending to make sure author did not just screw up the file
main/laser.c: Trying to improve reliability to find appropriate homing object by using vm_vec_mag/normalize instead of their *quick equivalents; Removed code which supposedly meant to track objects near reticle - don't like that

20100708
--------
main/net_udp.c, main/net_udp.h: Reworked handling of Netlist now also showing full game info; Prevent Clients from sending lite_info; Make lite_info show numconnected instead of numplayers as this would show disconnected ones as well; Removed reusing ports on different instances in Windows build - only screws up several games running on one machine
main/game.c, main/gameseq.c, main/multi.c, main/net_udp.c, main/net_ipx.c: Improved hanlding for closing sockets - doing via closing of Game_wind when available or in specific multi menus; Also handling GM_GAME_OVER setting over Game_wind closing as well if apprpriate - cleaner and helps to cleanup multi when mission is over
arch/sdl/key.c: Also send event KEY_COMMAND if there's somethig in our Unicode buffer since not every Unicode key corresponds to a keysym on every layout 
README.txt: Fixing typo

20100705
--------
main/kconfig.c: Fixing issue when assigning mouse button if a citem is still pointed out; Fixing still processing key commands even if we want to assign a key; After setting mouse button, reset mouse state properly
arch/sdl/digi_mixer_music.c: Fixing issue introduced in rev1139: Game could of course not open music files which are not inside Searchpath or added to it - re-added playing over absolute path
main/net_ipx.c, main/net_udp.c: When selecting coop game mode, make sure that besides max players menu values also actual player number is set and menu text is updated properly
main/net_udp.h: Reducing sending objects per frame from 20 to 1 again to reduce possibility of timeout on stressed systems
main/songs.c: Fixing building on Windows if SDL_Mixer is not a target

20100704
--------
main/net_udp.c: Fixed Compiler-warning on Windows
main/net_ipx.c, main/net_udp.c: Implemented Winsock functions for UDP which I totally forgot about; Now when leaving game in any way, close sockets and Winsock stuff
main/gameseq.c, main/multi.c: Since time is not suspended between levels in Multiplayer, call reset_time after level change. Apply this in Singleplayer, too since it should always be safe - and appropriate - to reset timer_value soon as a new level begins
main/net_udp.c: Fixes for rev1148: Was too hasty with calling net_udp_close; Fixing typo in WSACleanup()

20100701
--------
2d/font.c: For gr_get_string_size introduced get_char_width_f to calculate with floats to measure non-integer font scalings; Cleanup
main/net_udp.c, main/newmenu.c: Renamed manual_join to direct_join; Aligned letlist tabs a little bit
 
20100630
--------
main/gameseq.c: If multi_level_sync() fails, restart menu music since level music is playing already
main/game.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c, main/newmenu.h, main/weapon.c: Removed SurfingNet global and made tabs a parameter of newmenu_dotiny; Same procedure with MenuReordering which is replaced with newmenu_doreorder to set reordering flag specifically
main/net_udp.c: Always try to open UDP default port when discovering Netgames and give warning if that fails; If entered IP address cannot be resoled, do not warn me twice

20100629
--------
main/net_ipx.c, main/net_udp.c: Aligned default width for IPX-Netlist menu to fit possible items a bit better; Fixed two small bugs when sending and receiving lite_info in UDP; Allowed broadcast on UDP sockets (for later use)
main/menu.c, main/new_udp.c, main/net_udp.h: Added UDP Netlist to join LAN games discovered/announced via broadcast
main/net_ipx.c, main/net_udp.c: Improved handling of multi level sync and exit smoothly back to the menus; Fixed another small bug in lite_info broadcasting which was sending full info; By broadcasting full info, host could cripple Netgame so a new security measure is implemented to protect host from letting his game be overwritten from outside

20100627
--------
main/game.c, main/game.h, main/gameseq.c: When starting, leaving or changing a level in any way, use more ordered approach to set Game_wind visible or invisible. Fixing timer-issues after level-change and makes hiding of Game_wind obsolete for certain messageboxes; Moved GameTime and weapon timer variables out of reset_time since this function is not appropriate for this and is not needed between levels anymore due to window management handling start/stop_time properly
arch/sdl/digi_mixer_music.c, main/jukebox.c: For playing music over SDL_mixer always use handle over PhysFS to save the path building mess; When building Jukebox path, only try to build full path if given path is actually a child of Searchpath

20100625
--------
main/gamecntl.c: Implemented kill_and_so_forth via DEL+SHIFT+B for easier debugging

20100624
--------
arch/ogl/gr.c, arch/sdl/gr.c, include/gr.h, main/menu.c: Added function to list valid resolutions and build resolutions menu dynamically with the resulting list
main/gamecntl.c: When inregulary exiting a level by warp cheat, suspend Game_wind and reactivate again after the switch

20100623
--------
main/menu.c, main/newmenu.c, main/newmenu.h, main/net_ipx.c: Making menus recreated on the fly in case resolution or font-size changes; Removing arguments to pass width and height to menu which was not used except on one IPX menu; Fixing measurement of menu strings of type NM_TYPE_INPUT_MENU; Fixing slight bug in freeing IPX netlist
main/menu.c: If no player exists and GameCfg.LasterPlayer is unset, give user a nice default for convenience and - more important - let menu stop to nag about missing callsign and thereby showing the player creation dialogue over and over again
main/newmenu.c: Fix for last rev1130 - store resolution and font-size in matching data type

20100622
--------
main/titles.c: Make sure GAME_FONT is set when reading out briefing text so char dimensions will always be stored correctly

20100620
--------
main/newdemo.c: For starting demo, seperate hide_menus() and game_setup() since between this, demo must load the actual level and it's palette; Fixed small bug in interpolate_frame() causing interpolation happening in very first frame causing file read corruption

20100619
--------
main/titles.c: For briefings, keep elementes of show_briefing_bitmap and show_animated_bitmap in correct aspect
main/laser.c: Re-balanced homing-device turn values introduced in rev1118 based on comparisons to many levels played

20100618
--------
2d/bitblt.c, include/gr.h, main/game.c, main/gauges.c: Introducing gr_bitblt_find_transparent_area to dynamically detect boundaries of sub canvas used for CM_REAR_VIEW; On the way also allowing to create weapon box sub bitmaps from uncompressed cockpit bitmaps
include/physfsx.h, main/newdemo.c: Removed PHYSFSX_getFreeDiskSpace and relying on success of buffered writing to see if demo recording must be stopped

20100617
--------
main/weapons.c: If picking up one missile out of a four-pack, use singular description instead of plural
main/gauges.c: Fixing regression from rev1038 which broke showing laser level or quadness in cockpit and statusbar

20100615
--------
main/game.c, main/gameseq.c: Resetting GameTime, Next/Last_flare/laser/missile_time in reset_time() together so GameTime-rollover-fallbacks will not create a massive delay when starting a new level
main/laser.c: Removed the previously homers code and instead used old one to keep good ol' Gameplay; Removed FrameCount steps from track_track_goal() and scaled homing vector accordingly to this change, including properly scaling it to FrameTime; Made code more similar between D1X and D2X; Introduced different turn rates for different difficulty levels
main/game.c: Fixing typo in Netgame help screen
arch/sdl/digi.c, arch/sdl/digi_audio.c, main/songs.c: Fixing digi_win32_ functions I broke yesterday. THANKS ZIF!

20100614
--------
include/args.h, include/physfsx.h, main/newmenu.h, main/inferno.c, main/menu.c, main/songs.c, main/songs.h, main/config.c, main/config.h, main/gameseq.c, main/digiobj.c, main/digi.h, main/game.c, main/gamecntl.c, misc/args.c, d1x.ini, arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/init.c, arch/sdl/jukebox.c, arch/sdl/digi.c, arch/sdl/digi_audio.c, arch/include/digi_audio.h, arch/include/digi_mixer.h, arch/include/digi_mixer_music.h, arch/include/jukebox.h: Increased SDL_mixer music abilities to play non-hmp from HOGs, having Level-music path to play, options to specify non-level tracks and added various playing order methods; Abstracted SDL_mixer- and Redbook-interfaces; Simplified program flow through all music functions
arch/include/window.h: Added missing newline at EOF
arch/sdl/jukebox.c: Small fix and improvement for Jukebox path detection
arch/sdl/digi_mixer_music.c, main/songs.c: Use strrchr instead of strchr for music filename extension in case there are dots in the filename
main/collide.c: Made reactor damage with persistent weapons FPS-independent but still a bit stronger than normal
arch/sdl/jukebox.c: rev1112 contd: Killed juggling around with adding Jukebox paths - must always be removed correctly if Jukebox loading fails
arch/linux/hmiplay.c, arch/sdl/digi.c, main/songs.c: Process -nomusic argument again

20100503
--------
main/menu.c: Properly specify number of items for do_options_menu, so the options menu actually shows
arch/include/event.h, main/newmenu.h: Merge d_event and newmenu_event enum's, hopefully fixing compiler warnings in GCC 4.5.0
arch/sdl/joy.c, arch/sdl/key.c, arch/sdl/mouse.c: Comment out redundant calls to event_poll, fixing rapid bomb dropping bug (and probably others)

20100405
--------
arch/include/digi_audio.h, arch/include/digi_mixer.h, arch/include/digi_mixer_music.h, arch/linux/hmiplay.c, arch/linux/hmistub.c, arch/sdl/digi.c, arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, arch/sdl/rbaudio.c, main/digi.h, main/gamecntl.c, main/songs.c, main/songs.h, main/titles.c: Actually play endgame music when game is finished
main/gameseq.c: No restarting music when reloading a saved game

20100404
--------
arch/include/event.h, arch/sdl/event.c, main/automap.c, main/game.c, main/gamecntl.c, main/gameseq.c, main/inferno.c, main/inferno.h, main/menu.c, main/multi.c, main/net_ipx.c, main/net_udp.c, main/newdemo.c, main/state.c, misc/error.c: Get rid of a heap of uses of Function_mode, quit properly (freeing all windows and asking for confirmation for game) when clicking close box
arch/include/window.h, arch/sdl/window.c, main/inferno.c, main/menu.c, main/mission.c, main/net_ipx.c, main/net_ipx.h, main/net_udp.c, main/net_udp.h, main/newmenu.c: Make menus for hosting a netgame stack, make quitting work with newmenu_do2 and simpler

20100403
--------
arch/sdl/mouse.c, main/game.c, main/net_ipx.c, main/net_ipx.h, main/newmenu.c, main/newmenu.h, main/state.c: Make newmenu_do3 and newmenu_dotiny return as soon as the newmenu is created, which will allow the main menu (and others) to persist
main/menu.c: Make main menu persist to streamline redrawing (later)
main/kconfig.c, main/menu.h, main/net_ipx.c, main/net_udp.c, main/newmenu.c, main/scores.c: Remove calls to nm_draw_background1 to show newmenus stacked
main/menu.c, main/newmenu.c, main/scores.c: Move copyright drawing to main menu's event handler for tidiness

20100402
--------
arch/include/event.h, arch/sdl/event.c, arch/sdl/key.c, arch/sdl/mouse.c, main/automap.c, main/credits.c, main/game.c, main/gamecntl.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c, main/scores.c, main/titles.c: Add a default event handler for screenshots, entering debugger, Redbook repeating etc
main/menu.c, main/newmenu.c: Keep demo selector just after playing one, for convenience

20100331
--------
main/game.h, main/gamecntl.c, main/gamerend.c, main/kconfig.c, main/kconfig.h, main/laser.c, main/laser.h: Make gamecntl.c more similar between D1X and D2X
main/game.c, main/gamecntl.c, main/multi.c, main/multi.h: Make game respond to EVENT_KEY_COMMAND for key commands, allowing default key handler (later)

20100330
--------
main/titles.c: Fix black and white swapping when viewing robots in briefings using Mac data

20100328
--------
main/lighting.c: For casting light from Player-object, smooth out thrust to prevent flickering on high FPS

20100327
--------
main/kmatrix.c, main/net_udp.c: Initialise 'playing' to 0 for UDP kmatrix, making sure player progresses to next level; always return 1 when starting to join a UDP game so it doesn't immediately return to the main menu
main/gameseq.c, main/menu.c: Hide mission dialog before the level intro screens are shown, make sure it doesn't try to show it again after it was closed - fixing bad memory access
main/game.c: Finally fix bug where if you start a single player game then a multiplayer game, time is stopped. Always start time if it's stopped and the game window is activated
main/menu.c: Check menus[0], not menus[i] in hide_menus - fixing possible crash
main/gameseq.c: In AdvanceLevel only set Game_mode to GAME_OVER if current level is last level, fixing stupid mistake introduced in rev. 1080
main/gameseq.c: Make sure correct palette is loaded for game, fixing swapping of black and white and cockpit/status bar not showing for ogl build, in multiplayer

20100326
--------
main/endlevel.c, main/gameseq.c, main/mission.c, main/mission.h, main/titles.c, main/titles.h: In Endlevel sequence, re-align big explosion to draw in front of exit model, relative to viewer; Re-organized tex files for Briefings and Endings and created more general code to play them; Re-aligned Dravis' head
main/automap.c, main/gamecntl.c, main/kconfig.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c, main/scores.c: Make all windows except game and editor use EVENT_KEY_COMMAND, returning 1 if handled; pass NULL instead of userdata for the PCX filename, for newmenu_do1
include/cfile.h, include/physfsx.h: Ignore case-sensitivity for cfile_init/close/size and PHYSFSX_openReadBuffered
main/titles.c: Fixing uninitialized angles for robots in briefings

20100324
--------
arch/include/event.h, arch/include/mouse.h, arch/sdl/mouse.c, main/kconfig.c, main/movie.c, main/newmenu.c, main/titles.c: Add EVENT_MOUSE_BUTTON_DOWN and EVENT_MOUSE_BUTTON_UP, use for all windows except game and editor. Fixes crash on iMac G5 when pressing keys to progress through briefing
main/titles.c: Only show briefing background if we have one (which we should always for Descent 1)

20100322
--------
main/credits.c: Make credits screen a window
main/titles.c: Make title screen a window. Only the editor left now...

20100321
--------
main/gameseq.c, main/multi.c: Hide game window between levels
main/multi.c: Fix bug introduced in last commit - when the last level is finished, hide the game window - making sure the cockpit isn't drawn over the kmatrix screen

20100320
--------
main/cntrlcen.c, main/fuelcen.c, main/fuelcen.h, main/game.c, main/gamecntl.c, main/gamerend.c, main/kmatrix.c, main/multi.c, main/multi.h, main/net_ipx.c, main/net_udp.c, main/newdemo.c, main/state.c: Make kmatrixs into windows, rename Fuelcen_seconds_left to Countdown_seconds_left for consistency
main/game.c: Fix bug - make sure time isn't stopped for multiplayer when aborting, so starting a second game doesn't result in a frozen game

20100317
--------
main/menu.c, main/menu.h: Add hide_menus and show_menus (for later use in the case of D1X)
main/titles.c: Make briefing into a window, allowing more flexibility with other windows and tidying code up
main/game.c, main/menu.c, main/mission.c, main/mission.h, main/net_ipx.c, main/net_ipx.h, main/net_udp.c, main/net_udp.h, main/newmenu.c, main/newmenu.h: Make all listboxes fall back to main event loop for flexibility

20100317
--------
arch/sdl/window.c, arch/include/window.h: Add window_exists function so event loops can be placed for specific windows

20100313
--------
main/newmenu.c: Fix memory error for listbox when clicking in the region where there are no items

20100310
--------
main/titles.c: Put most local variables in show_briefing in 'briefing' struct, to make briefing a window in future

20100309
--------
main/titles.c: Put briefing globals in 'briefing' struct, pass this by parameter
arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c: Change audio buffer size back to 1024 for Mac only - fixing crackly music
main/titles.c, main/titles.h: Put parameters in functions from do_briefing_screens to show_briefing in 'briefing' struct, to make briefing a window in future

20100304
--------
main/piggy.c, main/text.c, main/text.h: Fixed some Piggy- and Text-loading routines for Shareware, Destination Saturn and 1.0 Registered; Full support for End-Briefing on non-registered still missing however
main/mission.c: Init variables/strings at the beginning of load_mission() to prevent errors if demo content is used
main/laser.h: If Shareware content is used, fallback to original Smart behaviour since Shareware content has no own definition for Bot-related Smarts

20100303
--------
arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c: Changed default Audio-buffer size to 2048 bytes. Should prevent crackly playback on some systems
debian/control: Adding scons to depends-list for Debian packaging

20100301
--------
main/gameseq.c, main/inferno.c, main/state.c, main/titles.c, main/titles.h: Make titles.c more similar between D1X and D2X

20100227
--------
main/menu.c: Actually change to MIDI if Jukebox was selected
arch/sdl/jukebox.c: No more crashing if an invalid Jukebox path is entered - default to MIDI

20100226
--------
main/menu.c, main/newmenu.c: Handle all user input in callback for sounds menu, being more judicious about when to restart the music. Also make the jukebox path input a NM_TYPE_INPUT_MENU, allowing the user to abort changes

20100225
--------
main/game.c, main/gamecntl.c, main/gameseq.c, main/state.c, main/state.h: Put fast save back, using Alt-F1 instead of F6
arch/sdl/key.c: Move call to callback outside of loop in key_handler, now deleting a second demo using CTRL-D actually works
main/automap.c, main/game.c, main/gamecntl.c, main/gauges.c, main/kconfig.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c, main/scores.c: Call game_flush_inputs for all windows' EVENT_WINDOW_ACTIVATED, so clicking on a pilot doesn't bring up the multiplayer screen for example
main/kconfig.c: Resetting menu->mouse_state after changing a key in kconfig so you will not accidentially activate a new field when left mouse button is assigned

20100224
--------
main/kconfig.c: Due to the change of GameCfg.ControlType, Mouselook was broken - fixed

20100223
--------
SConstruct: Removing svnmicro as micro numbering option since SVN-revisions will not really represent logical numbering; Some cleaning for libs usage; Small cleanup
SConstruct, main/multi.h, main/net_udp.c, main/net_udp.h, main/vers_id.h: Make Version-check for UDP also cover Micro-versions; Making sure versioning will act same way as conf.h for MacOS
main/game.c: Add to help how to send a message to a specific player in Multiplayer
main/songs.c: Adding a Failsafe to Songs-reading so it will not accidentially read over current Array-boundaries
INSTALL.TXT, README.TXT: Updated docs and hopefully made them more user-friendly

20100221
--------
main/kconfig.c, main/kconfig.h, main/menu.c, main/playsave.c, main/playsave.h, main/text.h: Overhaul for CONTROLS menu; Cleaned kconfig-code a little and slacked out keymap arrays

20100219
--------
main/gauges.c, main/text.c, main/weapon.c: The little light bulb showing homing warning in Cockpit was broken and I replaced it; Rewritten code to show weapon text in Cockpit and Statusbar slightly; Instead of using hardcoded weapon strings, use from descent.txb and fixed too long spreadfire string properly
main/text.c: Small fix for most recent commit: Removed an obsolete d_free
main/songs.c, main/songs.h: Making reading of descent.sng a bit more flexible; Not dynamically allocated, yet, since missions are not as well

20100214
--------
d1x.ini, arch/include/joy.h, arch/sdl/joy.c, main/endlevel.c, main/inferno.c, main/kconfig.c, main/slew.c, misc/args.c: Cleaning up Joystick code and on the way supporting more axes and buttons; Also fixed bug with channel_mask byte causing trouble using some axes ingame; Added argument to set environment variable which disables sticky keys (for SDL >= 1.2.14)

20100208
--------
main/menu.c, main/scores.c, main/scores.h: Move all globals in scores.c into struct members/local variables
main/game.c, main/newdemo.c: Don't make another Game_wind when advancing a level, fixing failed asserts / slow turning
arch/sdl/window.c: Don't send an EVENT_WINDOW_DEACTIVATED when closing a window if it wasn't the front window, now the game works properly after you're shown on the high scores
main/collide.c, main/object.c, main/object.h, main/state.c: Introduced hitobj_list for persistent weapon objects to keep track of multiple objects the weapon is in contect with to prevent it from doing FPS-based damage; Made persistent weapon objects not die on debris but just decrease their shields like when an ordinary player/robot is hit - makes more sense
main/console.c: Write gamelog.txt buffered so it will not stress the medium it's saved on

20100207
--------
main/game.c, main/gameseq.c, main/inferno.c, main/inferno.h, main/menu.c, main/newdemo.c: Create the main event loop and use it for the game and main menu
main/scores.c: Make the scores menu into a window
d1x-rebirth.xcodeproj/project.pbxproj, include/3d.h, main/aistruct.h, main/game.h, main/gamefont.h, main/gameseq.h, main/inferno.h, main/laser.h, main/polyobj.h, main/robot.h: Move MAX_SUBMODELS from inferno.h to polyobj.h, fixing #include loop by removing some (mainly object.h) and instead using explicit 'struct' declarations; compile net_ipx.c for Mac SDL Video build
main/gameseq.c, main/gameseq.h, main/menu.c, main/menu.h: Split select_filename into [existing] RegisterPlayer and select_demo for better clarity

20100206
--------
main/newmenu.c: Set the correct scroll position for the listbox when it's shown
main/gameseq.c, main/gameseq.h, main/menu.c, main/menu.h: Handle player selection and demo playing in filename_menu_handler, fixing bug where it won't leave the player listbox if there's no LastPlayer; close do_options dialog when changing resolution

20100205
--------
main/game.c, main/gameseq.c, main/newdemo.c: Use palette_save and palette_restore for all windows displayed over Game_wind, not just for do_option
main/gameseq.c, main/newmenu.c: No showing the main menu background between loading a level and playing it (syncing with D2X)
main/window.c: Send EVENT_WINDOW_DEACTIVATE before EVENT_WINDOW_ACTIVATE, ensuring cursor remains shown when appropriate
main/physics.c: In do_physics_sim() only set velocity from movement for certain objects which actually do collisions like Player or Robots - otherwise we might be able to shoot down projectiles or produce other unfortunate glitches

20100202
--------
arch/include/event.h, arch/sdl/window.c, main/automap.c, main/dumpmine.c, main/game.c, main/gamecntl.c, main/gamesave.c, main/gameseq.c, main/kconfig.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c: Add EVENT_WINDOW_DEACTIVATED; move many game_flush_inputs, start_time and stop_time calls to game_handler as well as digi_pause_digi_sounds and digi_resume_digi_sounds
main/inferno.c: Hide all other windows before showing error dialog, hopefully so errors don't happen while the error dialog is there
arch/include/event.h, arch/sdl/window.c, main/game.c, main/inferno.c, main/newmenu.c: Put LeaveGame longjmp back, but in response to new EVENT_WINDOW_CLOSED, fixing demo issues; fix compiler error in last commit

20100201
--------
arch/carbon/conf.h, d1x-rebirth.xcodeproj/project.pbxproj, main/kconfig.c, main/menu.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c, main/newmenu.h: Leave kconfig_idle early if exiting kconfig to avoid erroneous memory access; initialise menu's citem properly; add EVENT_NEWMENU_CHANGED; activate USE_IPX in Xcode while I'm still changing net_ipx.c

20100131
--------
main/newmenu.c: Fix memory errors, but still dynamically allocate menu and lb so it doesn't have to stay in newmenu_do4 and newmenu_listbox1 respectively
main/automap.c, main/game.c, main/game.h, main/multi.c, main/multi.h, main/net_ipx.c, main/net_udp.c, main/newmenu.c: Fix crashing when doing menus in multiplayer, don't let player move when in automap
main/automap.c, main/kconfig.c, main/newmenu.c: Adding a bunch of memset's to menu/automap creations so we won't run into uninitialized variables

20100130
--------
arch/sdl/event.c, arch/sdl/key.c, main/menu.c, main/newmenu.c, main/newmenu.h, main/state.c: Send EVENT_KEY_COMMAND from key.c; add EVENT_NEWMENU_DRAW for state restore; place newmenu and listbox calls to callback so they can override ALL newmenu behaviour
main/newdemo.c: Fix warning in newdemo_stop_recording where it should set the last char of filename to 0, not the next variable
main/menu.c, main/newmenu.c: Fixed two memory errors inside menu GUI

20100129
--------
main/automap.c, main/automap.h, main/game.c, main/gamecntl.c, main/kconfig.c, main/multi.c, main/multi.h, main/net_ipx.c, main/net_udp.c, main/newmenu.c: For multiplayer, close menus from game_handler by doing frame processing in response to EVENT_WINDOW_DRAW, replacing multi_menu_poll system with single multi_menu_check call
main/newmenu.c: Initialise lb->first_item to 0, not -1, preventing crash if you make a listbox selection very quickly
d1x.ini, arch/ogl/gr.c, arch/sdl/gr.c, include/args.h, main/inferno.c, main/newmenu.c, misc/args.c: Added real Doublebuffering to SDL-build; While on the way, making Bpp selection available for SDL-build, too

20100128
--------
main/playsave.c, main/playsave.h, main/object.c, main/render.c, main/hud.c, main/hostage.c, main/newdemo.c, main/gamerend.c, main/endlevel.c, main/game.c, main/gauges.c: Made PlayerCfg.CockpitMode an array to hold two values: 0 to store the actual "cockpit", 1 to also store Letterbox, Rear, etc. Greatly helps to switch and restore views - especially in Demo playback which now properly selects modes
main/newdemo.c: Added a new code to properly re-record view/cockpit-events at beginning and end of Demo recording so views will be fine if switched before recording started; Also added lost sequence to record Rear-view reset between levels; Last but not least, record wall tmaps so opened/blasted doors will be shown correctly if opened/blasted before recording; Everything done without breaking the Demo format!
arch/sdl/window.c, main/automap.c, main/game.c, main/gamecntl.c, main/kconfig.c, main/menu.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c: Make response to EVENT_WINDOW_CLOSE conform to 'handling' system - returning 1 means abort closing
main/kconfig.c, main/newmenu.c: Tidy up newmenu_show/hide_cursor calls
main/newmenu.c: Allow user to abort close, for whatever reason (helps with my next commit)
main/gamesave.c, main/newdemo.c, main/object.c, main/object.h, main/state.c: Improved Object signature assignment and made sure there will be no duplicates; Also used short-ranged values only so Demo system won't screw up
main/menu.c: When deleting a player also delete the Multiplayer efficiency file

20100127
--------
main/game.c, main/game.h, main/gamecntl.c, main/gameseq.c, main/kmatrix.c, main/multi.c, main/net_ipx.c, main/net_udp.c, main/newdemo.c, main/render.c: Remove all uses of LeaveGame jmpbuf to allow more changing of main loop
main/gameseq.c, main/inferno.c, main/menu.c, main/newmenu.c: Allow escape from player listbox if appropriate; call RegisterPlayer only from main menu for more flexibility; actually use file_list block so deleting players/demos doesn't crash it

20100126
--------
main/newdemo.c: Once again improving Demo Interpolation code, regarding changes from rev993, reducing Viewport flicker and jitter

20100124
--------
main/gauges.c: Rewrote code for showing Cloak-effect on Cockpit and Statusbar, because it became bugged with changed order of function calls do_cloaked_stuff() and render_gauges()

20100123
--------
main/gamecntl.c, main/inferno.c, main/menu.c: Move the editor call out of the Function_mode loop, for later overhaul

20100121
--------
main/newdemo.c: Removed the new Demo Interpolating code and added the improvements to the old one

20100120
--------
arch/include/event.h, arch/sdl/event.c, arch/sdl/window.c, main/automap.c, main/game.c, main/gamecntl.c, main/kconfig.c, main/menu.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c, main/state.c: Add EVENT_WINDOW_ACTIVATED, change EVENT_DRAW to EVENT_WINDOW_DRAW and EVENT_CLOSE to EVENT_WINDOW_CLOSE
main/automap.c, main/game.c, main/gamecntl.c, main/kconfig.c, main/newmenu.c: Fix major issues with last commit - tidy up window callbacks to dodge EVENT_WINDOW_ACTIVATED where it's unnecessary or erroneous to respond to

20100119
--------
main/net_ipx.c, main/net_udp.c: Make net_ipx_show_game_rules and net_udp_show_game_rules into windows

20100118
--------
main/kconfig.c: Make kconfig menus into windows - allowing drawing of the game screen behind, changing of item to change while question mark flashing and clicking out of item change

20100117
--------
main/menu.c: Respond to EVENT_NEWMENU_SELECTED for options_menuset and input_menuset, so the input menu will have THE event loop for kconfig

20100115
--------
main/menu.c: For get_filename, put mode and find variables in a structure - fixing 64-bit problem and allowing freeing of PHYSFS file list in callback in future, respectively

20100109
--------
arch/include/window.h, main/game.c, main/gamecntl.c, main/gamerend.c: Make pause box a window

20100108
--------
arch/sdl/event.h, main/menu.c, main/newmenu.c, main/newmenu.h: Add EVENT_NEWMENU_SELECTED, allowing a newmenu/listbox selection to be handled in the callback. Demonstrate with "Select Song" menu

20100107
--------
main/gamecntl.c, main/newdemo.c: New Interpolation method for demos and a small hack to fix this Interpolation if duplicate object signatures appear (mostly)
arch/carbon/conf.h, arch/include/event.h, arch/include/key.h, arch/sdl/event.c, main/escort.c, main/game.c, main/gamecntl.c, main/gamesave.c, main/gameseq.c, main/kmatrix.c, main/menu.c, main/mission.c, main/multi.c, main/multi.h, main/net_ipx.c, main/net_ipx.h, main/net_udp.c, main/net_udp.h, main/newdemo.c, main/newmenu.c, main/newmenu.h, main/scores.c, main/state.c, main/weapon.c: Change newmenu and listbox callback systems, adding use of d_event, for greater flexibility

20091227
--------
main/newmenu.c: Make listboxes into windows
main/automap.c, main/automap.h: Put most of the remaining globals in automap.c in the 'automap' struct

20091226
--------
arch/include/key.h, arch/sdl/event.c, arch/sdl/key.c, main/automap.c, main/game.c, main/gamerend.c, main/kconfig.c, main/newmenu.c: Make newmenus into windows, allowing redrawing of automap and game to take place outside of newmenu.c; remove redundant keyd_repeat

20091213
--------
main/game.c: Make sure the Game_wind only gets freed once when escaping demo playback

20091212
--------
main/game.c: Make sure the Game_wind always gets freed when exiting the game screen, fixing flashing automap and framerate reduction after playing demos

20091211
--------
arch/linux/ukali.c: Fixing possible string overflow while using KALI_PROCESS_NAME

20091208
--------
d1x-rebirth.xcodeproj/project.pbxproj, main/gameseq.c, main/menu.c, main/menu.h, main/newdemo.c, main/newmenu.c, main/newmenu.h: Move newmenu_get_filename to menu.c, call it get_filename and have it use newmenu_listbox1; support long demo filenames

20091205
--------
main/newmenu.c: Make newmenu.c nearly identical between D1X and D2X

20091202
--------
arch/include/event.h, arch/include/window.h, arch/sdl/window.c, d1x-rebirth.xcodeproj/project.pbxproj, main/automap.c, main/game.c, main/game.h, main/gamecntl.c, main/kconfig.c, main/kconfig.h: Make the automap into a 'window', make kconfig.c more similar between D1X and D2X

20091201
--------
main/gauges.c: Squishing string-related bugs in Bomb display and Weapon reordering
2d/clip.h, 2d/line.c: Renaming FSCALE to FIXSCALE preventing possible naming conflicts

20091130
--------
d1x-rebirth/arch/carbon/conf.h, d1x-rebirth.xcodeproj/project.pbxproj: Update to not compile redundant net_ipx.c for Mac OS X
main/newdemo.c, main/newdemo.h, main/gamerend.c, main/game.c, main/gauges.c, main/gamecntl.c: Reintroduced Newdemo_game_mode to prevent demo playback from entering code parts it should not and fixing a bug with Multiplayer demos along the way, introduced in rev. 953
arch/ogl.c, main/endlevel.c: Draw Endlevel sequence with correct DepthFunc
include/u_mem.h, main/newmenu.c, 2d/2dsline.c, 2d/bitblt.c, 2d/pixel.c, 2d/rle.c, 2d/line.c,  2d/gpixel.c, SConstruct: Making files in 2d directory more similar and removed unused and broken code; Fixing a bunch of memory errors; Removed stack protecting flag for gcc in debug mode
2d/clip.h: Fixed missing define introduced in the last revision

20091129
--------
d1x-Info.plist, d1x-rebirth.xcodeproj/project.pbxproj, d1xgl-Info.plist, English.lproj/InfoPlist.strings: Make Mac version numbers consistent, Xcode build settings tidy up
main/collide.c, main/multi.c, main/multi.h, main/menu.c, main/powerup.c, SConstruct, arch/linux/ipx.c, arch/carbon/conf.h: Adding macros USE_UDP and USE_IPX for the compiler to compile with either UDP- and/or IPX-support and removed the older IPX macros

20091128
--------
main/net_udp.c, main/menu.c, d1x-rebirth.xcodeproj, D1X.make, arch/carbon/conf.h: Fixed building error on Windows caused by false socket variable; Fixed compiler Warnings on Mac; Updated Mac build files; Unification in version numbering

20091127
--------
main/fireball.c, main/gameseq.c, main/menu.c: Fix some compile errors, including for the non-NETWORK build

20091124
--------
include/args.h, main/net_udp.c, main/net_udp.h, main/gameseg.c, main/fireball.c, main/multi.c, main/multi.h, main/inferno.c, main/menu.c, main/titles.c, main/object.c, main/kmatrix.c, main/kmatrix.h, main/newdemo.c, main/config.c, main/net_ipx.c, main/config.h, main/net_ipx.h, main/gameseq.c, main/gamerend.c, main/vers_id.h, main/gauges.c, main/gamecntl.c, INSTALL.txt, misc/args.c, SConstruct, d1x.ini, README.txt, arch/linux/ipx.c, arch/linux/ipx_kali.c, arch/win32/ipx.c: Abstracting networking protocols - Step 4: Implemented new UDP layer with Client/Server communication, Packet Loss Prevention and strict Version checking. Netgames list will follow later.
main/net_udp.c: Remove the IP check when processing game info or version deny as the IP might be translated (IPv6 especially)
main/net_udp.c, main/net_ipx.c, SConstruct: Improved Disconnect-handling between levels; Improved Kick-handling; Do not say that IPv4 and IPv6 builds are not compatible in scons -h anymore
include/timer.h, main/net_udp.c, main/newmenu.c, main/multibot.c, main/menu.c, main/titles.c, main/kmatrix.c, main/net_ipx.c, main/gameseq.c, main/digiobj.c, arch/sdl/timer.c: Removed timer_get_approx_seconds() and replaced with timer_get_fixed seconds since it was too inaccurate and created significant offset
main/net_udp.c: Again making the joining safer

20091122
--------
main/piggy.h: Adding cfile.h include to get CFILE definition work again

20091117
--------
3d/interp.c, arch/ogl/gr.c, arch/sdl/gr.c, include/gr.h, main/kconfig.c, main/menu.c: Only list resolutions that can actually be used, using new gr_check_mode

20091115
--------
main/gamecntl.c, main/newdemo.c, main/newdemo.h, main/newmenu.c, main/text.c: Add endian converter for demos, read shareware demos, various bugfixes to demo system

20091005
--------
d1x-rebirth.xcodeproj/project.pbxproj, include/physfsx.h, main/ai.c, main/ai.h, main/cntrlcen.c, main/cntrlcen.h, main/fuelcen.c, main/fuelcen.h, main/object.c, main/object.h, main/player.c, main/player.h, main/state.c, main/switch.c, main/switch.h, main/wall.c, main/wall.h, SConstruct: Read big endian savegames on little endian computers and vice versa

20090911
--------
main/ai.c, main/ai.h, main/state.c: Fix compile error with ai_restore_state and include necessary ogl_init.h in state.c (whoops)

20090909
--------
d1x-rebirth.xcodeproj/project.pbxproj, utilities/extractD1Data.cpp, utilities/SConstruct: Add program for extracting Mac data files from installer

20090822
--------
main/ai.h, main/state.c: Make state.c more similar between D1X and D2X

20090810
--------
arch/sdl/window.c, main/automap.c, main/game.c, main/inferno.c, main/multi.c: Make the game screen into a 'window', handling events through event_process

20090701
--------
main/cntrlcen.c, main/collide.c, main/effects.c, main/fireball.c, main/fuelcen.c, main/fuelcen.h, main/game.c, main/game.h, main/gamecntl.c, main/gamerend.c, main/gameseq.c, main/multi.c, main/net_ipx.c, main/newdemo.c, main/render.c, main/songs.c, main/state.c, main/switch.c: Make game.c more similar between D1X and D2X, making related changes to other files (!)

20090607
--------
d1x-rebirth.xcodeproj/project.pbxproj, main/game.c, main/game.h, main/gamecntl.c, main/gamerend.c, SConstruct: Split game.c into game.c, gamecntl.c and gamerend.c like d2x

20090531
--------
include/u_mem.h, main/inferno.c, main/menu.c, main/titles.c: Make inferno.c more similar between D1X and D2X, better handling of ordering/commercial software screen

20090522
--------
arch/sdl/window.c: Add include directives for last commit (whoops)

20090521
--------
arch/include/event.h, arch/include/window.h, arch/sdl/event.c, arch/sdl/mouse.c, arch/sdl/window.c, d1x-rebirth.xcodeproj/project.pbxproj, main/inferno.c, SConstruct: Add new window system, not used yet

20090506
--------
main/config.c, main/config.h, main/menu.c, main/songs.c: Add option to force either Redbook or Jukebox to use the playing order for the game CD

20090503
--------
main/config.c, main/config.h, main/menu.c: Make some files more similar between D1X and D2X

20090430
--------
arch/carbon/conf.h, d1x-rebirth.xcodeproj/project.pbxproj, main/gauges.h, main/multi.h: Disable network support for Mac OS X for now
arch/carbon/SDL_main.c, arch/ogl/ogl.c, arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c, arch/sdl/digi.c, arch/sdl/event.c, arch/sdl/gr.c, arch/sdl/joy.c, arch/sdl/key.c, arch/sdl/mouse.c, arch/sdl/rbaudio.c, arch/sdl/timer.c, include/physfsx.h, main/automap.c, main/console.c, main/digiobj.c, main/lighting.c, main/mission.c, misc/error.c: Remove redundant conf.h directives

20090409
--------
main/multi.c, main/multi.h, main/multibot.c, main/menu.c, main/kmatrix.c, main/net_ipx.c, main/net_ipx.h, main/gameseq.c, main/fuelcen.c, main/ai.c, main/game.c: Abstracting networking protocols - Step 3: Renaming network_* functions to net_ipx_*, writing wrappers for protocol dependend functions in multi.c, Implementing protocol selection and Cleanup - Next up: Implementing new UDP layer

20090320
--------
include/ipxdrv.h, main/ipxdrv.c, main/newmenu.c, main/fireball.c, main/multi.c, main/multi.h, main/menu.c, main/state.c, main/newdemo.c, main/net_ipx.c, main/net_ipx.h, main/gameseq.c, main/endlevel.c, main/game.c, main/gamecntl.c, SConstruct, arch/linux/ipx.c, arch/linux/ipx_kali.c, arch/win32/ipx.c: Abstracting networking protocols - Step 2: Introducing new structure to hold protocol-dependend and -independend information about Netgame and it's Players; Further isolation of the IPX code and renaming the netdrv_* code to ipxdrv_* as this is now actually IPX-only; Next up: Renaming network_* functions to net_ipx_*, writing wrappers for protocol dependend functions in multi.c, Implementing protocol selection and Cleanup

20090304
--------
various: Abstracting networking protocols - Step 1: Renaming network-related files; Removing net_ipx.h (former network.h) includes from as much files as possible to make isolation of IPX-related functions easier in Step 2; Version defines Cleanup - needed later for good Version-Checking

20090303
--------
arch/include/digi_mixer_music.h, arch/include/jukebox.h, arch/sdl/digi_mixer_music.c, arch/sdl/digi_mixer.c, arch/sdl/digi.c, arch/sdl/init.c, arch/sdl/jukebox.c, arch/sdl/rbaudio.c, include/rbaudio.h, main/automap.c, main/config.h, main/credits.c, main/digi.h, main/game.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/network.c, main/newmenu.c, main/scores.c, main/songs.c, main/songs.h: Associate the jukebox with Redbook Audio via new 'extmusic' layer - separating from MIDI and making it handle ALL music (not just game music)

20090223
--------
main/game.c, main/gauges.c, main/menu.c: Made our Cockpit-Transparency decoding function a bit safer for current and possibly new code flow
main/gauges.c: Small positional correction for homing-warning bitmap

20090222
--------
main/fireball.c: Fixed param handling of expl_obj in do_explosion_sequence for the case that free_object_slots might have it set to OF_SHOULD_BE_DEAD before it's actually attached to another object
d1x-rebirth.xpm, d1x-rebirth.desktop: Added desktop UI files...

20090217
--------
main/object.c, main/object.h: Made Max_used_objects an absolute defined value; Made num_objects globally available

20090215
--------
main/network.c, main/noloss.c, main/noloss.h: Added list to keep trace of received PDATA packets so receiver won't interpret them several times

20090209
--------
main/kconfig.c: Removed PH_SCALE on Keyboard readings as caps movement not in sync to FrameTime; Removed scaled Joystick reading as it's not necessary anymore
main/gameseq.c: When creating new player, make sure string is long enough for use with players dir

20090208
--------
main/multi.c: Fixed connect-state mess in order of kmatrix flow
main/menu.c: Make sure HostAddr buffer is directly saved as soon as we confirm it in the entry field

20090206
--------
INSTALL.txt, main/network.c, main/network.h, main/noloss.c: Small docs update; Noloss thinking flaw correccted: Add a special type for PDATA packets that need to be ACK'd so other clients won't ACK everything

20090203
--------
main/network.c, main/noloss.c: Close out fire from queue list as this is not necessarily needed to keep games in sync; While processing the noloss queue, only process 5 packets max

20090202
--------
main/newdemo.c: Defined some default cockpit modes in Demo mode so we do not get invalid values when demo starts in non-default-view mode (as new HUD modes are only triggered at beginning and end of event)
main/game.c: Made FPS string statically right-justified - unrelated to actual FPS string width preventing jumps
main/multi.c, main/multi.c: Removed MULIT_POS_* hanldings as these signals are not created anymore

20090201
--------
main/netdrv_udp.c: Fixing bug with incorrect/missing UDP port termination
main/network.c, main/network.h, main/multi.h, main/netdrv_udp.c, main/netdrv_udp.h, main/noloss.c, main/noloss.h, SConstruct: Added Packet-loss prevention code for Netgames

20090131
--------
main/songs.c: Last track is endgame track for any audio CD, endgame track not played when a level is started, jukebox/redbook works in game even if no MIDI songs

20090130
--------
arch/ogl/ogl.c, main/render.c: New level render order for better seperation and blending between transculent level geometry and sprites

20090129
--------
main/netdrv_udp.c: Decreasing delay from timer_delay2 to timer_delay for sending/receiving packets when connecting to UDP host due to FPS-dependent inconsistencies in timer_delay2 causing packets possibly not received or sent frequently

20090126
--------
include/netdrv.h, main/network.c, main/menu.c, main/netdrv_udp.c, main/netdrv_udp.h, main/netpkt.c, main/netpkt.h, main/netdrv.c, arch/linux/netdrv_ipx.c, arch/linux/netdrv_kali.c, arch/win32/netdrv_ipx.c: Changed function naming convention in netdrv and below to general Descent code convention
arch/carbon/conf.h, d1x-Info.plist, d1xgl-Info.plist, English.lproj/InfoPlist.strings: Update version to 0.55.1

20090124
--------
main/game.c: Removed some old code to smooth FrameTime we don't need anymore

20090122
--------
main/newdemo.c: New condition to switch to Interpolated demo playback - the old one did NOT make ANY sense at all

20090117
--------
arch/sdl/mouse.c, main/menu.c, main/playsave.c, main/playsave.h: Made MouseFilter selectable over Controls menu while defaulting to OFF - Saved in PLX
d1x.ini, include/args.h, main/inferno.c, main/laser.c, misc/args.c: Took out old missile tracking code to be selectable over command-line to preserve consistency

20090116
--------
arch/ogl/ogl.c, main/gamefont.c, main/menu.c: Reduced size of vectorial reticle to match the size of the original one; Only scale fonts by float if Texture filtering is on - otherwise scale by int
arch/ogl/gr.c: Error handling while dumping TGA file - (partially) Patch by v66r

20090115
--------
main/inferno.h, main/netdrv_udp.c, main/netdrv.c, main/game.c: Cleaning up the mess from revision 892...
arch/sdl/mouse.c, main/automap.c, main/game.c, main/game.h, main/gameseq.c, main/kconfig.c: Fixed typo in mouse delta reading cleaning not up Z-Axis; Giving automap a nicer Frameloop; Small cleanup

20090114
--------
main/network.c, main/multi.c, main/inferno.h, main/netdrv_udp.c, main/netdrv_udp.h, main/config.c, main/netdrv.c, main/game.c, arch/ogl/ogl.c, arch/ogl/gr.c, arch/sdl/digi_mixer_music.c, include/ogl_init.h, include/cfile.h, misc/args.c: Patch from Damjan Cvetko <zobo@lana.krneki.org> for better support building with a non-free compiler...

20090113
--------
main/collide.c, main/physics.c: Adjusted D1 Lifter collision damage according to D2 to scale with FPS as Melee combats can happen in every frame; Actually set velocity from movement when colliding with objects
arch/sdl/jukebox.c: Use a 2D array to allow playing of songs by track number in future
main/collide.c: Added some randomness to collision sound delays and synced robot-player collision sprites to same steps

20081230
--------
SConstruct: prefix is now an argument (useful for auto-builds)
debian/*: created the debian packaging files

20081227
--------
arch/carbon/conf.h, d1x-Info.plist, d1x-rebirth.xcodeproj/project.pbxproj, d1xgl-Info.plist, English.lproj/InfoPlist.strings: Increment Mac version number, update project for latest Xcode

20081226
--------
main/netdrv_udp.c: Fixed segfault via buffer overflow when attempting to start or join a UDP/IP netgame.

20081224
--------
main/inferno.h: Now the Mac command keys work (whoops)

20081223
--------
main/config.c: Make Redbook the default for Mac, because MIDI is buggy

20081221
--------
2d/pcx.c, d1x-rebirth.xcodeproj/project.pbxproj, D1X.make, main/config.c: Fix Mac OS 9 compile issues, update Xcode project
arch/carbon/conf.h: Set SHAREPATH to "." for Mac OS X so reading data from DXX's directory ACTUALLY WORKS

20081220
--------
SConstruct, main/menu.c: Removed (#if 0) the unfinished Tracker stuff for our Release so it won't confuse the Win32 build

20081213
--------
main/network.c: Fix short_frameinfo sending code for big endian processors
main/game.c, main/game.h, main/menu.c: Seperated help screens for game, netgame and demo; Also show them in Controls menu; Small Menu UI fix for ScrollOffset when calling menus in a scrolled area of a menu

20081212
--------
main/netpkt.c, main/netpkt.h, main/network.c, main/network.h: Cleaned a frameinfo-packet related code and introduced more of D2X - especially for short packets (which is thankfully covered by Version checking)
main/multi.c: Added /KillReactor command to blow up the reactor in Multiplayer games

20081207
--------
arch/include/key.h, arch/sdl/key.c, d1x-rebirth.xcodeproj/project.pbxproj, main/game.c, main/inferno.c, main/inferno.h, main/kconfig.c, main/newdemo.c, main/newmenu.c, main/piggy.c: Get Mac command keys working, update Xcode project

20081201
--------
main/kconfig.c: Restored vertical_thrust_time behaviour combined with slide_on to be inverted - respecting user's wishes

20081126
--------
arch/ogl/ogl.c: Deactivated depth writing fo g3_draw_bitmap() sprites to prevent rendering errors when clipped in some cases

20081122
--------
main/fvi.c, main/pysics.c: Took out the "disable_new_fvi"-hack. After all we do not need that specific optimisation anymore and also without it we can have more accurate collisions with non-player objects. After playtesting for a while let's just do this.

20081121
--------
main/game.c: Do not allow to restore games while player is dead... again - to much trouble right now
main/render.c: Increasing Render_depth to max. if OGL build (we probably should get rid of these variables, but may still be handy for non-3D-accellerated build optimisations)

20081120
--------
main/ai.c: When we reached MAX_BOSS_TELEPORT_SEGS in init_boss_segments, make sure we also escape out of the for-loop - otherwise we still might overflow
main/ai.c, main/object.c: Some timer-Failsafe in robot/boss dying frames; Fixed logical flaw in create_small_fireball_on_object() closing out sound effects on robots

20081119
--------
main/game.c: Actually demand ANY valid key to abort the Death sequence
main/songs.c: Do a songs_init() each time a song is played and try to read a new descent.sng - supporting descent.sng files in hog archives

20081118
--------
main/console.c: When printing Gamelog, make sure canvas is NULL
main/newmenu.c, main/multi.c, main/game.c, ui/inputbox.c, ui/menubar.c, arch/sdl/event.c, arch/sdl/key.c, arch/include/key.h: Yet another UNICODE overhaul - Using seperate buffer for UNICODE chars and only use it in key_ascii() while still using keysyms for the rest of the program so we do not screw up readings by key values altered by modifers - possibly still room to optimize
main/game.c: Fixed cheats!
main/automap.c: Changed keys for Automap Viewing Distance to F9/F10 - Minus/Equal is not Layout independent

20081115
--------
arch/sdl/digi_audio.c: include/error.h, main/console.c, main/inferno.c: Added other SDL_(Un)LockAudio statements to protect the audio_mixcallback function - making that hopefully stable on multicores; Resetting warn_func at quit_request so we do not accidently show any menu; Open gamelog.txt unbuffered

20081114
--------
include/args.h, include/3d.h, include/rle.h, include/rbaudio.h, main/text.c, main/text.h, main/bm.c, main/gamefont.c, main/inferno.c, main/bm.c, main/bmread.c, main/piggy.c, main/render.c, main/render.h, main/songs.c, main/gameseq.c, main/gamerend.c, main/netdrv.c, main/endlevel.c, main/endlevel.h, main/terrain.c, main/terrain.h, main/polyobj.c, main/polyobj.h, main/game.c, main/gauges.c, main/texmerge.c, main/mission.c, main/mission.h, misc/args.c, 2d/rle.c, 3d/setup.c, SConstruct, D1X.make, arch/linux/alsadigi.c, arch/ogl/gr.c, arch/sdl/digi_mixer.c, arch/sdl/joy.c, arch/sdl/init.c, arch/sdl/rbaudio.c, arch/sdl/gr.c, arch/sdl/key.c, arch/sdl/digi_audio.c, arch/include/mouse.h: Using a clean flow for closing game data at the end of main() instead of using atexit; Now only use atexit for SDL stuff, error, mem, console (and editor which we do later); Small Cleanup

20081110
--------
main/credits.c, main/inferno.c, main/menu.c, main/newmenu.c: Small Cleanup: Using timer_delay for credits timer as timer_delay2 would respect VSync and change speed of the Credits scrolling; Cleaned that Start/Join Netgame cases up a bit; Removed the excessive use of atexit in newmenu... more to come
misc/error.c: When Error() is called, set Function_mode to FMODE_EXIT... basically to prevent the messagebox would try to render the game in background if the Error would happen while mission loading

20081109
--------
include/args.h, main/inferno.c, main/gamefont.c, main/menu.c, main/game.c, main/gauges.c, main/gauges.h, misc/args.c, d1x.ini, arch/ogl/ogl.c, arch/ogl/gr.c: Always keep aspect scaling (lowest scalar of width and height) for fonts, lines, dots, spheres, reticle and non-Cockpit-/Statusbar-related HUD-elements; Moved the Cockpit alpha decoding to gauges.c and created a seperate bitmap for the alpha fields and create subbitmaps from this one - more memory but this way we do not modify the cockpit bitmap itself

20081107
--------
arch/sdl/key.c: Only read UNICODE values from 31 to 254 to make sure we do not read any non-printable characters and prefer the keysym that way; Added left and right Command Key for MAC Keyboards

20081103
--------
misc/args.c: Fixed Typo
main/ai.c, main/collide.c: Made move_towards_segment_center() use move_towards_vector() instead of just changing object position suddenly - smoother; Changed back the robot:controlcen collision back to original - the AI just relies to often on no-damage collisions, especially when our segment suddenly is a controlcen

20081101
--------
main/config.c, main/menu.c, main/newmenu.c, main/piggy.c: Fixed possible overflows in Jukebox Path; Menu GUI improvements: Correct inputbox scaling for font widths, a little performance boost when determinating string-part to show in inputbox, make it possible to flip over from first/last menu entry to last/first even if it's a ScrollBox, Scrolling via Maousebutton now works with delay; Made reading for Piggy data always break up in loops when reached end of file instead of provoking possible error if *data-count < max-data-count*
arch/sdl/key.c: Make sure that if we use UNICODE, we always take non-control type chars and - as we only want lowercase letters - convert chars if shift is pressed
arch/ogl/ogl.c. main/game.c: I always forget glLineWidth takes previous setting if arg is <1; Made the decodebuffer for cockpit static as the bitmap data pointer points to it

20081031
--------
arch/include/key.h, arch/sdl/key.c, main/game.c, main/kmatrix.c, main/multi.c, main/multi.h, main/newmenu.c, main/scores.c, ui/inputbox.c, main/menubar.c: Always use printable UNICODE characters for the key_handler and included routine to assign key symbols to UNICODE so we get an equivalent of a Key-Released state which we need for the Keyboard buffer; Removed the shifted_ascii_value field from key_props and stored all usable characters in seperate rows; Improves Text input and makes keyboard mapping independent from keyboard layout without breaking any compability
arch/ogl/ogl.c: Make glLinewidth depend on screen height, not width (for Widescreen monitors) (commit came with last revision, sorry)

20081030
--------
INSTALL.txt, README.txt: Docs update: Infos about Jukebox over SDL_mixer, SDL_mixer is not experimental anymore, yet another .de->.com change
d1x.ini, main/inferno.c: Show debug help screen options in release build as well as some might be actually useful for players
main/menu.c: Add a messagebox informing to restart the game if either VSync or 4x Multisampling has been (de)selected

20081029
--------
2d/font.c, main/gamefont.c, main/gamefont.h, main/menu.c: Scale fonts by float values and filter them if texture filtering is on; Another fix for the code flow in change_res() as the check for minimal custom resolution always failed
main/collide.c: Yet another check for collide sounds as FixedStep is not necessarily true if the actual collision happens
main/newmenu.c: Cast LINE_SPACING to integer for menu Scrollbox usages - fixing scrolling issues with non-integer-scaled font sizes

20081028
--------
arch/ogl.c, include/gr.h, main/game.c, main/gauges.c, main/gauges.h, main/newmenu.c: Removed hack for Cockpit-window transparencies and added function to decode and add alpha to the bitmap directly (now works in non-OGL as well); Using sub-bitmaps for Cockpit-windows and menu backgrounds; Cleaned old bkg stuff from menu GUI
main/game.c, main/manu.c, main/newmenu.c: Fixes for my last revisions: More reliable check for cockpit_decode_alpha, more reliable check is newmenu sub-bitmap needs to be re-created, call gr_set_mode() in change_res() with correct Game_screen_mode
INSTALL.txt, README.txt: Docs update: We moved from www.dxx-rebirth.de to www.dxx-rebirth.com!
arch/sdl/gr.c, arch/ogl/gr.c, arch/ogl/ogl.c, include/args.h, main/game.c, main/inferno.c, main/menu.c, main/playsave.c, main/playsave.h, misc/args.c: Cleanup: Renderstats; Made PRShot a non-OpenGL-related feature and added to Misc Options; Added command for SDL_ASYNCBLIT to command-line args

20081023
--------
main/multi.c, main/network.c: Fixed handling for multi_quit_game; Always keep setting -1 for ping table entry of current player so just not to use any previous entry

20081022
--------
main/menu.c, main/netdrv_udp.c, main/netdrv_udp.h: Removing reset of Game_screen_mode while change_res Fullscreen toggle (wtf is the point?); Adding a third valid state for UDP peers so we can get more order in handshaking process - should fix problem when two clients join (and shake) simultaniously

20081021
--------
iff/iff.c, main/inferno.c: Fix some gcc 4.0 warnings (-wall flag)

20081020
--------
main/menu.c: resolution 1440x960 to 1440x900 - typo
d1x.ini, include/args.h, main/inferno.c, main/menu.c, main/netdrv_udp.c, main/network.c, misc/args.c: Readded -ip_hostaddr optional to the value stored in descent.cfg for automated program starts or whatever; Fix by Locate: Correctly close UDP sockets on Win32; Fix by Locate: Ability to select Secret levels on Multiplayer in D1X again which was broken in r619

20081019
--------
arch/sdl/gr.c, arch/ogl/gr.c, include/gr.h, main/game.c, main/menu.c, main/newmenu.c: Setting Fullscreen toggle setting the GameCfg value at each change, not only in change_res(); Do not allow the toggle while playing since ALT-GR+ENTER could be used as game-keys; Reorganized Resolutions menu to automatically calculate aspect ratio for preset resolutions and making custom fields exclusive

20081016
--------
main/credits.h, main/newmenu.c, main/newmenu.h, main/menu.c, main/playsave.c, main/playsave.h, main/titles.c, main/lighting.c, main/lighting.h, main/wall.c, main/render.c, main/newdemo.c, main/newdemo.h, main/gameseq.c, main/scores.c, main/endlevel.c, main/laser.c, main/game.c, main/kconfig.c, main/kconfig.h, main/credits.c, arch/sdl/mouse.c, arch/include/joy.h: Giving credits function ability to use custom creditfile (again); Made laser-offset for laser exclusive so Prox mines won't go tru doors; Preventing cycling tru cockpit modes while dead, but allowing to load a state; Implemented D2X' lighting code to D1X (faster, better, sexier - weeee); Try to hop over some errors regarding walls/doors in levels instead of using -1 indexes for arrays; Made the briefing text ptr a bit more failsafe in case the file is corrupt/non-standard; Made scores use the menu screen even in GAME OVER; Fixed bug in neighbour fields of Weapon Keys table; Added the Weapon Keys stuff to TABLE_CREATION; Fixed bug where D2X did not recall applied resolution in the resolutions menu; Simpler check to create DEMO_DIR; Seperated X/Y sensitivity for mouse and joystick; Flush controls when Automap toggles so keypress won't deactivate it again; Made FrameCount in Demos aligned to the Dropframe condition; Added KEy to ttoggle playback text off; Gracefully exit demo code if demo is corrupt; Removed that new percent counter because many old demos seem to have corrupted last frames; Closing endlevel data file if IFF error so the mission still can be freed; Fixed Cruising for keyboard which was not aligned to FPS correctly; Used mouse delta scaling in kconfig.c instead of mouse.c to not screw up when delta is requested in non-ingame situations - it actually belongs to the controls IMHO; Now support up to 8 joysticks; Changed some leftover malloc's to d_malloc and free to d_free

20081004
--------
d1x-rebirth.xcodeproj, arch/carbon/conf.h, tracker/client/tracker_client.c: Keep Xcode project up-to-date, look in 'SDL' directory for SDL.h
main/paging.c: Page in overriding robot textures, like D2X-Rebirth

20081001
--------
main/physics.c: Update object segment after object position interpolation. This is always done in DEBUG, but not in RELEASE, where further movement would break at segment check

20080930
--------
main/console.c, main/collide.c, main/mglobal.c, main/multi.c, main/inferno.c, main/physics.c, main/aipath.c, main/render.c, main/fuelcen.c, main/ai.c, main/game.c, main/game.h, SConstruct, d1x.ini, maths/vecmat.c, arch/sdl/timer.c, arch/sdl/mouse.c, arch/sdl/digi.c, arch/sdl/digi_audio.c, arch/include/mouse.h: Added new function to calculate common timesteps; Increased MAXIMUM_FPS to 200 for release and 1000 for debug; Used fixed sim_time for do_physics_sim and Interpolating to ensure collisions stay accurate at high FPS; New code and faster code for dot products by The_Lion; Disabled Nice-FPS and common Frame-Loop if VSync is active; More accurate delta timer for mouse (consider overhead); Added SDL_(Un)LockAudio for old SDL Audio interface; General support for up to 16 mouse buttons; Code cleanup; Made some AI movement and Player shaking FPS-independent

20080818
--------
misc/dl_list.c, include/dl_list.h: Added dl_size(dl_list const *) and some minor const correctness.
tracker/Protocol.txt: More thought on tracker protocol.
tracker/{server/tracker_server.c, client/tracker_client.c}: More work on tracker code base.

20080812
--------
tracker/Protocol.txt: More thought on tracker protocol.
tracker/{server/tracker_server.c, client/tracker_client.c}: More work on tracker code base.

20080810
--------
include/tracker/{tracker.h, Protocol.txt, client/tracker_client.c, server/tracker_server.c}: More work on tracker.
SConstruct: Added PROGRAM_NAME to list of CPPDEFINES. Needed for tracker protocol's useragent submission.

20080727
--------
2d/pcx.c: Fixed a compiler warning
main/newdemo.c: Added some notes regarding a compiler warning raised here

20080726
--------
main/{console.c, wall.h, powerup.h, robot.h}: Fixed harmless warnings on no new line at end of source
main/{config.c, config.h, menu.c, include/tracker/tracker.h, tracker/client/tracker_client.c: Added beginnings of game tracker feature. Available only in debug mode for now.
SConstruct: Cleaned up build system a bit with prettier build messages, added a feature or two, and included tracker source

20080726
--------
d1x-rebirth.xcodeproj, main/netpkt.c, main/netpkt.h: Make network endian code more consistent with D2X, use PUT/GET_INTEL macros more, remove redundant no_cpp_precomp macro

20080720
--------
include/netdrv.h, main/netdrv_udp.c, main/netdrv_udp.h, main/netdrv.c, arch/linux/netdrv_ipx.c, arch/linux/netdrv_kali.c, arch/win32/netdrv_ipx.c: Fixed IPX default socket (typo); Using function pointer for IPX-based sockets instead of globals

20080715
--------
2d/pcx.c, include/pcx.h, main/game.c, main/titles.c, main/titles.h: Add BALDGUY cheat for Mac data (see if anyone finds it ;-) )

20080701
--------
arch/carbon/conf.h, D1X.make, d1x-Info.plist, d1xgl-Info.plist, d1x-rebirth.xcodeproj, English.lproj/InfoPlist.strings: Increment version number for Mac, update MPW makefile, ensure Get Info strings copy to bundle, use correct Mac OS X SDKs
include/strutil.h, misc/strutil.c: Add snprintf for Mac OS 9
main/songs.c: Make sure the right audio CD track is played when starting a level
include/physfsx.h, main/config.c: No using chdir for Mac OS 9 - it doesn't have it

20080617
--------
main/songs.c: start at track 1 and continue playing audio CD if it's not the original Mac one (this is how it worked before)

20080615
--------
main/gameseq.c, main/mission.c, main/newdemo.c, main/scores.c: Fixed scores write (wasn't PhysFS); Fixed PLAYING_BUILTIN_MISSION in D1X; Better call for DoJasonInterpolate in demo code (hopefully)
arch/sdl/digi_mixer.c, arch/sdl/rbaudio.c, include/inferno.h, include/rbaudio.h, main/game.c, main/songs.c: tidy up music keys, ALT-SHIFT-F9 ejects audio CDs

20080612
--------
README.txt, main/collide.c, main/multi.c, main/netdrv_udp.c, main/network.c, main/state.c: Improved Player relay for Endlevel status; Fixed leaving when UDP hosts leaves; Fixed multi_frame_calling while demos since demos can be Game_mode & GM_MULTI; Re-added lost collision fix between robots and reactor; Made state_defaut_item static so selected state slot stays selected
arch/sdl/digi_mixer.c: Setting GameArg.SndNoSound to true if SDL_mixer init fails

20080605
--------
INSTALL.txt, arch/sdl/digi_mixer.c, arch/sdl/jukebox.c: Small doc update; Improved SDL_mixer / Jukebox handling if no resource (sound) is available

20080604
--------
main/newmenu.c, main/network.c, main/menu.c, main/menu.h, main/playsave.c, main/titles.c, main/kmatrix.c, main/scores.c, main/game.c, main/gauges.c, main/kconfig.c, main/credits.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, arch/include/jukebox.h: Generally increasing Menu rendering from 20 to 50 FPS; Allowed Fullscreen toggle in Pause menu and correctly releasing mouse; Fixed broken Death sequence timer; Fixed incorrect data offset for UDP player relay; Fixed crash in Multiplayer summary; Reworked player loading a little bit, making sure kconfig controls are all set; Some small Status bar correction; Implemented real Pause/Reume for Jukebox via SDL_mixer

20080602
--------
main/inferno.c: Added d1xrdata.zip for custom data
arch/sdl/jukebox.c: Only stop music at jukebox_stop() if MIDI jukebox_loaded - otherwise user can stop Jukebox with keys but not start it again

20080601
--------
include/args.h, main/inferno.c, main/hud.c, main/game.c, main/gamecntl.c, misc/args.c, d2x.ini, README.txt, arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/digi_audio.c, arch/win32/include/hmpfile.h, arch/win32/hmpfile.c: Using Windows code to play HMP files on Windows build; Fixed Jukebox keys in help screen; Allow -noredundancy in Singleplayer; Fixed processing of Console keys if Console is not active; Added Multiplayer hints to README; Made INI wrapping safer and more accurate

20080528
--------
arch/sdl/rbaudio.c, main/songs.c: allow an audio CD to be played if it's inserted after D1X is launched, hopefully find the first audio CD if multiple CDs are inserted

20080525
--------
arch/sdl/digi_mixer.c, arch/sdl/jukebox.c, main/kconfig.c, main/morph.h: Set sound distance to 0 for HUD sound taunts; Making Jukebox not crash if -nosound is enabled (should stop Jukebox since no digi system enabled); Lowered mouse axis speed a bit again; Increasing MAX_VECS to 5000

20080524
--------
arch/sdl/jukebox.c, arch/sdl/rbaudio.c, d1x-rebirth.xcodeproj, include/rbaudio.h, main/automap.c, main/config.c, main/config.h, main/credits.c, main/game.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/network.c, main/newmenu.c, main/scores.c, main/songs.c, main/songs.h, SConstruct: Add audio CD support to D1X, fix associated bugs

20080522
--------
main/menu.c: Added a new set of preset resolutions

20080521
--------
arch/ogl/gr.c, arch/sdl/mouse.c, main/game.h: Implmented filtered mouse delta reading
SConstruct, INSTALL.txt, README.txt: Updated docs

20080520
--------
main/kconfig.c: Decreasing divisor for mouse axis reading - making mouse sensitivity practically much higher

20080519
--------
main/mission.c, main/mission.h: Added support for another registered D1 HOG with different patching order... damn you PARALLAX!
d1x.ini, arch/sdl/digi_mixer.c, include/args.h, main/gamefont.c, main/inferno.c, misc/args.c: Added -nomusic ability for SDL_mixer API; Added -gl_fontfixwidth to scale fonts with fixed aspect on widescreen resolutions, scaled to height

20080518
--------
include/physfsx.h, main/config.c: set "Jukebox" as the default jukebox path, for Mac OS 9 look for d1x.ini outside the app bundle
main/game.c, main/songs.c: Reworked keys for song changing a bit; Added Song control keys to help menu

20080516
--------
main/multi.c, main/multibot.c, main/netpkt.c, main/network.c: fix remaining endian bugs in network code, now it works on the Mac
d1x.ini, include/args.h, main/config.c, main/config.h, main/inferno.c, main/menu.c, misc/args.c: remember the last IP address entered for UDP instead of parsing -ip_hostaddr

20080510
--------
main/playsave.c: use atoi instead of sscanf for plx reading, so the setting for showing the reticle is read properly on big endian computers

20080508
--------
main/newmenu.c, main/render.c, arch/sdl/key.c, arch/include/key.h: Some code improvements and small fixes

20080507
--------
include/args.h, main/newmenu.c, main/multi.c, main/multi.h, main/inferno.c, main/menu.c, main/netdrv_udp.c, main/game.c, misc/args.c, d1x.ini, ui/inputbox.c, ui/menubar.c, arch/sdl/digi_mixer.c, arch/sdl/jukebox.c, arch/sdl/key.c, arch/include/jukebox.h, arch/include/key.h: Return unicode characters in key_to_ascii for non-EN keyboard layouts; Fixed sound menu issue if not compiled with SDL_mixer; switched -ip_norelay to -ip_relay since it's not tested enough; Renamed jukebox_free() to jukebox_unload() to stay with naming-convention

20080502
--------
include/args.h, main/inferno.c, main/menu.c, main/songs.c, main/config.c, main/config.h, main/game.c, misc/args.c, SConstruct, d1x.ini, arch/ogl/gr.c, arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, arch/win32/hmpfile.c, arch/include/jukebox.h: Extended Jukebox capabilities for looping and continous playing and added jukebox_free() which allows calling jukebox_load() being able to load a new directory; Added Jukebox options to sound options menu; Removed loop hack for Windows MIDI playback; SDL_mixer implementation can now be used for Windows build as well

20080427
--------
main/console.c: make sure it doesn't try to write to gamelog.txt after it's closed

20080424
--------
arch/sdl/digi_mixer.c, D1X.make, iff/iff.c, include/args.h, include/ogl_init.h, include/u_dpmi.h, main/ai.c, main/bmread.c, main/config.h, main/game.c, main/gamesave.c, main/gameseq.c, main/hash.c, main/inferno.c, main/menu.c, main/newdemo.c, main/newmenu.c, main/piggy.c, main/playsave.c, main/playsave.h, main/state.c, main/titles.c, misc/args.c, texmap/tmapppc.a: get it to work for Mac OS 9

20080422
--------
arch/ogl/gr.c, arch/sdl/gr.c, include/gr.h, main/config.c, main/config.h, main/menu.c: Added function gr_set_attributes to change Options like Texture Filtering and SDL_GL attributes while runtime (if supported); Added 4x Multisample support

20080421
--------
main/console.c, main/custom.c, main/inferno.c, main/menu.c, main/gamesave.c, main/config.c, main/config.h, main/game.c, misc/args.c, d1x.ini, arch/ogl/gr.c, arch/sdl/timer.c, arch/win32/netdrv_ipx.c: Reworked timer_delay2() and calc_frame_time() to be more accurate and CPU-friendly; -nicefps replayced by -nonicefps to disable sleeping for calc_frame_time; Implemented VSync via SDL; Fixed compilation issues; Code cleanup
main/console.c: Hack to force DOS-style newlines for _WIN32 in gamelog.txt

20080419
--------
include/ogl_init.h, include/gr.h, include/strutil.h, include/internal.h, main/network.c, main/menu.c, main/game.c, d1x-rebirth.xcodeproj/project.pbxproj, SConstruct, arch/ogl/ogl.c, arch/ogl/gr.c, arch/sdl/joy.c, arch/sdl/gr.c, arch/carbon/conf.h: Made joy_flush also resetting button state; Improved glReticle; Implemented Fallback resolution if SDL may fail; Code cleanup

20080414
--------
main/network.c: fix network bug where it got confused about the Function_mode and gave up

20080413
--------
include/args.h, main/newmenu.c, main/collide.h, main/network.c, main/multi.c, main/multi.h, main/inferno.c, main/menu.c, main/menu.h, main/playsave.c, main/playsave.h, main/object.c, main/hud.c, main/weapon.c, main/hostage.c, main/newdemo.c, main/config.c, main/gameseq.c, main/endlevel.c, main/ai.h, main/game.c, main/gauges.c, main/game.h, main/kconfig.c, main/kconfig.h, misc/args.c, d1x.ini, arch/ogl/ogl.c, arch/ogl/gr.c, arch/sdl/joy.c, arch/include/joy.h: Added structure for values saved in PLR/PLX files; Added most common command-line options to options menu
main/laser.c, main/menu.c, main/playsave.c: Reverted homers turn_radius again to respect higher difficulty levels; Added PRShot to menus; Fixed typo in OglAlphaEffects saving
main/cntrlcen.c, main/collide.c, main/hudmsg.h, main/object.c, main/physics.c: Fixing collision bugs; Cleaning hudmsg.h; Solving death sequence timer without GameTime and removed another global

20080408
--------
d1x-rebirth.xcodeproj, include/cfile.h, main/bmread.c, main/inferno.c, main/newmenu.c, misc/error.c, ui/gadget.c, ui/window.c: show a messagebox if there's an error and graphics are initialised, update Xcode project

20080406
--------
d1x.ini, SConstruct, main/config.c, main/config.h, main/console.c, main/console.h + various: Implemented Console-style game logging system to print graphics, to stdout and gamelog.txt; Added structure to keep values for descent.cfg; Added aspect and Texture Filtering to descent.cfg; Removed mono code - printing important stuff over console; Removed some obsolete or very common defines; Code cleanup and small fixes

20080402
--------
main/automap.c, main/gamefont.c, main/gamefont.h, main/inferno.c, main/inferno.h: fix up the Mac data automap layout

20080331
--------
main/songs.c: fix divide by 0 bug when there is no music available

20080330
--------
main/piggy.c: add support for Mac demo sounds

20080327
--------
d1x-rebirth.xcodeproj, main/bmread.c, main/piggy.c: add support for Mac sounds (converted to RAW format), update Xcode project

20080325
--------
include/loadgl.h, main/credits.c, main/gameseq.c, main/inferno.c, main/inferno.h, main/kmatrix.c, main/menu.h, main/mglobal.c, main/newmenu.c, main/playsave.c, main/titles.c: Added definitions for OpenGL fucntions which might not be included in system headers; Use more HiRes content from dxx.zip; Removed briefings palette hacks; Menu right border shadow was too wide; Corrected reading for some PLX content which seemed not to work on all archs

20080323
--------
arch/sdl/digi.c, arch/sdl/digi.h, arch/sdl/digi_mixer.c, arch/sdl/digi_mixer.h, arch/sdl/digi_mixer_music.c, arch/sdl/digi_mixer_music.h, include/strutil.h, main/songs.c, misc/strutil.c: detect the number of songs actually available if no descent.sng file (max 22)
SConstruct, main/game.c, main/gameseq.c, main/kconfig.c, main/laser.c, main/menu.c, main/newmenu.c, main/playsave.c, main/powerup.c, main/weapon.c: Implemented D2X code for wepaon cycling and reordering; Added lock status for mouse axis weapon cycling because of scaled mouse delta; Due to player feedback (any my opinion) making homer turn rate smaller to make them a bit harder to dodge; Preventing write of player data while Demo playback; Small code cleanup and corrections

20080322
--------
d1x-rebirth.xcodeproj, INSTALL.txt, SConstruct: make compile instructions clearer for Windows and Mac users, for Mac OS X don't use Sharepath when using SConstruct, handle warnings differently in Xcode
main/gamefont.c, main/mission.h: scale Mac fonts correctly

20080321
--------
2d/palette.c, arch/ogl/gr.c, arch/ogl/ogl.c, arch/sdl/gr.c, include/gr.h, include/palette.h, main/automap.c, main/automap.h, main/credits.c, main/endlevel.c, main/game.c, main/gameseq.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/network.c, main/newmenu.c, main/paging.c, main/scores.c, main/switch.c, main/titles.c, ui/window.c: Simplification of palette code; Properly screen clearing in SDL-only build when palette changes; Removed obsolete functions like gr_update (replaced by gr_flip), gr_palette_fade_in/out, gr_palette_clear; Added functionality to render Automap while menu display as well; Improved blocking of some controls code while Automap active; Fixed some compiler warnings
include/physfsx.h: allow d1x.ini to stay with the binary for *NIX systems, with Mac OS 9 don't put user-created files inside the .app bundle

20080316
--------
2d/bitblt.c, 2d/rle.c, arch/ogl/ogl.c, include/gr.h, include/rle.h, main/game.c, main/gauges.c, main/gauges.h, main/inferno.c, main/piggy.c, main/piggy.h, main/titles.c: add support for Mac pigfile (which doesn't include sounds yet)

20080314
--------
main/network.c: add prototype for show_game_stats to remove warning
d1x-rebirth.xcodeproj: update sourcefile list in Mac Xcode project file

20080313
--------
main/render.c: fix potential bug where show_reticle parameters mismatch

20080308
--------
main/aipath.c, main/collide.c, main/fvi.c, main/game.c, main/gauges.c, main/mission.c, main/netdrv.c, main/newdemo.c, main/newdemo.h, main/newmenu.c, main/object.c: Fixed some memory issues; Fixed some HUD element alignment; Only send NetDrv packets if NetDrvInstalled is true; Fixed demo glitches; Actually using Game_mode in demos to make Newdemo_game_mode hacking obsolete
main/game.c: Handle Multi message input before HandleDeathKey to chat while dead

20080228
--------
2d/font.c, arch/ogl/gr.c, arch/ogl/ogl.c, main/game.c, main/game.h, main/gameseq.c, main/gauges.c, main/hud.c, main/mission.c, main/network.c, main/newmenu.c, main/paging.c, main/state.c: Fixed wrong font width spacing, -gl_prshot, mission loading, null-terminatinon in several menus, cockpit glitch; Improved gl_reticle, -noredundancy; Some code cleanup

20080224
--------
main/newdemo.c: make sure the right error message is shown if it can't open a demo
include/args.h, include/gr.h, main/newmenu.c, main/newmenu.h, main/network.c, main/multi.c, main/inferno.c, main/gamefont.c, main/menu.c, main/gamefont.h, main/netdrv_udp.c, main/playsave.c, main/titles.c, main/kmatrix.c, main/controls.c, main/paging.c, main/hud.c, main/state.c, main/reorder.c, main/slew.c, main/gameseq.c, main/scores.c, main/automap.c, main/game.c, main/gauges.c, main/game.h, main/kconfig.c, main/credits.c, misc/args.c, 2d/font.c, SConstruct, d1x.ini, arch/ogl/ogl.c, arch/ogl/gr.c, arch/sdl/gr.c: Reworked fonts routines - makes easier to expand and scale correctly; Reworked menus with better border scaling, improved rendering and cleanups; Improved font priniting ingame, better alignment; Reworked Netgame list; Real Doublebuffering in SDL-mode; Removed old and unused sources
main/playsave: Fixed error in writing PLR-file since PHYSFS_close returns non-zero in success instead of zero like fclose

20080221
--------
main/inferno.c, main/newmenu.c, main/titles.c: add support for Macintosh splash screens and menu backgrounds in descent.hog, but not fonts (yet)

20080217
--------
d1x-rebirth.xcodeproj, main/game.c, main/newmenu.c: get SDL Video build to work again
misc/hmp2mid.c: don't try and free mid_track_buf if it isn't allocated, if midi conversion doesn't work

20080213
--------
main/piggy.c, main/piggy.h: fix undefined function warning with piggy_read_sounds (whoops)
iff/iff.c: remove redundant iff functions

20080212
--------
main/endlevel.c: make sure a briefing isn't interpreted as an endlevel sequence file, preventing an in-game warning

20080211
--------
d1x-rebirth.xcodeproj, include/strutil.h, main/bm.c, main/bm.h, main/bmread.c, main/digiobj.c, main/inferno.c, main/piggy.c, main/piggy.h, main/polyobj.c, main/songs.c, main/text.c, main/text.h, misc/strutil.c, SConstruct: support PC shareware files in full version build, make game data loading code easier to follow

20080129
--------
SConstruct, arch/include/digi_audio.h, arch/include/digi_mixer.h, arch/include/digi_mixer_music.h, arch/include/event.h, arch/include/joy.h, arch/include/joystick.h, arch/include/jukebox.h, arch/include/key.h, arch/include/mouse.h, arch/linux/include/music.h, arch/ogl/gr.c, arch/ogl/ogl.c, arch/ogl/sdlgl.c, arch/sdl/mouse.c, include/internal.h, include/loadgl.h, include/ogl_init.h, main/kconfig.c: Cleanung up arch/ a little bit; Added mouse delta time interval for more more accurate reading at high FPS
SConstruct, main/netdrv_udp.c, main/netdrv_udp.h, main/newmenu.c: Renaming udp.* to netdrv_udp.c to fit naming convention; Small menu ui fixes

20080126
--------
arch/sdl/digi_mixer_music.c: allow custom MIDI in add-on hogs to be used without caching everything

20080125
--------
main/collide.c, main/custom.c, main/kconfig.h, main/newdemo.c, main/powerup.c: Fixed small compiling issues

20080124
--------
INSTALL.txt, main/game.c, main/mission.h, main/network.c: Updated Docs - Data files must be lowercase; Fixed small Multiplayer issues

20080123
--------
d1x.ini, INSTALL.txt, SConstruct, 2d/font.c, 2d/canvas.c, 2d/bitmap.c, 2d/rle.c, 2d/pcx.c, arch/linux/hmiplay.c, arch/ogl/ogl.c, arch/ogl/gr.c, arch/sdl/digi_mixer_music.c, arch/sdl/joy.c, arch/sdl/include/digi_mixer_music.h, arch/sdl/jukebox.c, arch/sdl/gr.c, arch/win32/hmpfile.c, editor/macro.c, editor/medsel.c, editor/med.c, editor/autosave.c, iff/iff.c, include/args.h, include/hmp2mid.h, include/pstypes.h, include/ignorecase.h, include/cfile.h, include/error.h, include/strio.h, include/u_mem.h, include/physfsx.h, main/gameseg.c, main/custom.c, main/newmenu.c, main/fvi.c, main/text.c, main/network.c, main/text.h, main/multi.c, main/multi.h, main/inferno.c, main/gamefont.c, main/menu.c, main/inferno.h, main/playsave.c, main/titles.c, main/titles.h, main/bmread.c, main/piggy.c, main/render.c, main/state.c, main/gamesave.c, main/newdemo.c, main/config.c, main/gameseq.c, main/hash.c, main/gameseq.h, main/altsound.c, main/ai.c, main/scores.c, main/endlevel.c, main/terrain.c, main/polyobj.c, main/game.c, main/mission.c, main/mission.h, main/credits.c, mem/mem.c, misc/ignorecase.c, misc/hmp2mid.c, misc/strio.c, misc/error.c, misc/dl_list.c, misc/args.c, ui/radio.c, ui/menu.c, ui/window.c, ui/inputbox.c, ui/keypad.c, ui/file.c, ui/checkbox.c, ui/menubar.c, ui/lfile.c, ui/gadget.c: Implemented PhysFS support; Implemended D2X memory functions; Code cleanups
2d/clip.h, 2d/line.c: fix name conflict 'FSCALE' on Mac OS X
d1x-rebirth.xcodeproj: add Xcode 2.2 project for Mac OS X

20080113
--------
main/network.c: fix typo causing compiler error on bigendian computers
2d/font.c, 2d/pcx.c, 3d/interp.c, cfile/cfile.c, include/cfile.h, include/pstypes.h, main/bm.c, main/cntrlcen.c, main/cntrlcen.h, main/custom.c, main/custom.h, main/effects.c, main/effects.h, main/fuelcen.c, main/fuelcen.h, main/gamemine.c, main/gamesave.c, main/loadrl2.c, main/newdemo.c, main/piggy.c, main/piggy.h, main/playsave.c, main/polyobj.c, main/powerup.c, main/powerup.h, main/robot.c, main/robot.h, main/scores.c, main/switch.c, main/switch.h, main/vclip.c, main/vclip.h, main/wall.c, main/wall.h, main/weapon.c, main/weapon.h: complete bigendian support, without touching network code
2d/font.c: make special characters print for platforms where a char is signed by default
arch/ogl/gr.c, arch/ogl/include/ogl_init.h, arch/ogl/sdlgl.c, include/args.h, main/args.c, main/inferno.c, main/menu.c, main/newdemo.c: Removed SDL Gammaramp code (obsolete); Improvements on Demo code
include/pstypes.h, include/strutil.h, main/fuelcen.c, main/fuelcen.h, main/gamemine.c, main/gamesave.c, main/gamesave.h, main/gameseq.h, main/inferno.h, main/loadrdl.h, main/loadrl2.c, misc/strutil.c, SConstruct: merge loadrl2.c into gamemine.c and gamesave.c

20080110
--------
arch/sdl/jukebox.c, arch/sdl/include/jukebox.h, arch/sdl/digi_mixer_music.c; fixed looping jukebox music when it shouldn't (at end of level)

20080108
--------
SConstruct, 2d/font.c, include/args.h, include/byteswap.h, include/netdrv.h, main/args.c, main/gameseq.c, main/gameseg.c, main/menu.c, main/multi.c, main/multi.h, main/multibot.c, main/netdrv.c, main/netlist.c, main/netpkt.c, main/netpkt.h, main/network.c, main/network.h, main/newdemo.c, main/object.h, main/udp.c: Added BigEndian-related multiplayer/network code (unfinished); Re-Added IPX Socket option to Host menu for IPX games; Removed ForceVersionCheck global - conditions with driver->type; Merged netmisc.* and netpkt.*; Handling host disconnect for UDP games in network.c
main/menu.c, main/newmenu.c, main/newmenu.h: Safe timer rollover in menu idle-demo function; Reintroduced menu shortcuts; Implemented support for menu scrolling if nitems > 15

20080103
--------
2d/bitmap.c, 2d/font.c, arch/carbon/conf.h, arch/ogl/gr.c, arch/ogl/include/ogl_init.h, arch/sdl/digi_mixer_music.c, arch/sdl/include/music.h, arch/sdl/jukebox.c, iff/iff.c, include/d_glob.h, include/d_io.h, include/error.h, include/pstypes.h, include/strutil.h, include/u_mem.h, main/args.c, main/game.c, main/gameseq.c, main/inferno.c, main/newdemo.c, misc/d_glob.c, misc/strutil.c, SConstruct, texmap/scanline.c: get D1X to build for Mac OS X, conditionals for Mac OS 9

20080102
--------
2d/ibitblt.c, 2d/palette.c, arch/linux/joystick.c, arch/linux/linuxnet.c, arch/sdl/digi.c, arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c, arch/sdl/include/joy.h, arch/sdl/include/key.h, arch/sdl/include/mouse.h, arch/sdl/joydefs.c, arch/win32/include/joy.h, arch/win32/include/mouse.h, arch/win32/winnet.c, cfile/cfile.c, include/compare.h, include/gr.h, include/iff.h, include/ipx_drv.h, include/maths.h, include/pstypes.h, include/rle.h, include/timer.h, include/u_dpmi.h, main/altsound.c, main/bm.c, main/bmread.c, main/config.c, main/console.c, main/credits.c, main/custom.c, main/d_conv.c, main/digi.h, main/gameseg.h, main/ipx_drv.c, main/kconfig.c, main/kconfig.h, main/kmatrix.c, main/loadrdl.h, main/multi.c, main/netlist.c, main/netmisc.c, main/netpkt.c, main/network.c, main/newmenu.c, main/object.h, main/piggy.c, main/scores.c, main/segment.h, main/songs.c, main/titles.c, mem/mem.c, ui/button.c, ui/checkbox.c, ui/file.c, ui/gadget.c, ui/icon.c, ui/inputbox.c, ui/keypad.c, ui/keypress.c, ui/keytrap.c, ui/lfile.c, ui/listbox.c, ui/menu.c, ui/menubar.c, ui/message.c, ui/mouse.c, ui/popup.c, ui/radio.c, ui/scroll.c, ui/ui.c, ui/uidraw.c, ui/userbox.c, ui/window.c: rename types.h to pstypes.h to avoid name conflict with Mac OS 9's MrC (it doesn't respect the difference between project and system headers)
SConstruct, arch/linux/netdrv_ipx.c, arch/linux/netdrv_kali.c, arch/ogl/ogl_init.h, arch/win32/netdrv_ipx.c, main/inferno.c, main/menu.c, main/mission.h, main/netdrv.c, main/netdrv.h, main/netlist.c, main/netpkt.c main/netpkt.h, main/network.c, main/udp.c, main/udp.h: Cleaned/Rewritten/Renamed lower level network layer to make it (look) less IPX-oriented

20080101
--------
arch/carbon/conf.h, arch/carbon/descent.r, arch/carbon/SDL_main.c, arch/cocoa/d1x-rebirth.icns, arch/cocoa/SDLMain.h, arch/cocoa/SDLMain.m, arch/cocoa/tool_bundle.py, d1x-Info.plist, d1xgl-Info.plist, English.lproj/InfoPlist.strings: add Mac source files

20071229
--------
arch/sdl/digi.c, main/ai.c, main/game.h, main/gameseq.c, main/inferno.c, main/laser.c, main/laser.h, main/menu.c, main/multi.c, main/multi.h, main/multibot.c, main/multibot.h, main/object.c, main/object.h, main/physics.c, main/titles.c, main/wall.c: Code cleanup - old/unused/obsolete multiplayer code and more

20071223
--------
include/ipx.h, main/credits.c, main/inferno.c, main/laser.c, main/network.c, main/network.h, main/piggy.c, main/powerup.c: Fixed compiler error because of removed header file; Removed struct network_d1xplayer_info - obsolete; Allocated memory for all sequence_packet's; Moved piggy_close() and sdl_close() to end of main() - replacing atexit; Rendering credits with timer_delay2 at constant 25FPS and save CPU; Fixed -playermessages

20071217
--------
d1x.ini, SConstruct, arch/linux/ipx_bsd.c, arch/linux/ipx_kali.c, arch/linux/linuxnet.c, arch/win32/ipx_win.c, arch/win32/winnet.c, include/args.h, include/ipx_drv.h, main/args.c, main/inferno.c, main/ipx_drv.c, main/kconfig.c, main/menu.c, main/netlist.c, main/network.c, main/network.h, main/scores.c, main/udp.c, main/udp.h: Implemented new UDP/IP interface with Server-Relay (for firewalled users) and IPv6 compability; Fixed memory issues; If arguments -gl_mipmap and -gl_trilinear used both, always select -gl_trilinear

20071124
--------
main/hud.c: Fixed new redundancy HUD messages check - made it more strictly

20071123
--------
main/aipath.c, main/fireball.c, main/titles.c: Fixed some memory problems; Adjusted timer_delay2 for robot briefings

20071121
--------
arch/sdl/key.c, arch/sdl/timer.c, include/timer.h, main/game.c, main/kconfig.c, main/kmatrix.c, main/netlist.c, main/newmenu.c, main/scores.c, main/titles.c: Introduced timer_delay2 as replacement for timer_delay to sleep according to given FPS rate considering calc time between frames

20071106
--------
main/config.c, main/game.c, main/game.h, main/menu.c, main/newdemo.c: Correctly saving Reverse Stereo setting; Added Demo playback help keys; aligned Demo recording to 20 frames per second to save lots of hard drive space

20071105
--------
arch/sdl/jukebox.c: Fixed crash on absent or invalid jukebox directory

20071101
--------
main/collide.c: Data types correction

20071031
--------
d1x.ini, SConstruct, arch/linux/linuxnet.c, arch/ogl/gr.c, arch/win32/winnet.c, include/args.h, main/args.c, main/collide.c, main/game.c, main/hudmsg.c, main/inferno.c, main/kconfig.c, main/laser.c, main/menu.c, main/multi.c, main/multi.h, main/multipow.h, main/netlist.c, main/network.c, main/state.c, main/state.h: Improvements for -gl_prshot; Improved show_netgame_info(); Removed obsolete multisave code; Removed mekh stuff and wide cleanings in whole multi code; Incremented MULTI_PROTO_D1X_VER (for version checks in the future if needed); Renamed 'D1X-only game' to 'Version Check'
main/songs.c: Implemented Hack for broken descent.sng produced by patching descent.hog v1.0 to v1.5

20071029
--------
main/credits.c, main/newmenu.c: Memory stuff

20071028
--------
arch/ogl/ogl.c, include/args.h, main/args.c, main/collide.c, main/fuelcen.c, main/game.c, main/gameseq.c, main/gauges.c, main/hud.c, main/inferno.c, main/laser.c, main/mglobal.c, main/network.c, main/powerup.c: Fixed problems with GameTime wraparound - delay sounds, cloak, invulnerability, ping; Added debug key to Reset GameTime for testing; Removed -gl_vidmem; Cheat-code cleanup; Some HUD message redundancy
main/hud.c: For HUD messages redundancy check, compare all messages and check if message already printed and is a typical "ALREADY HAVE" message - waste them if so

20071018
--------
d1x.ini, 2d/bitblt.c, 2d/box.c, 2d/rle.c, arch/ogl/gr.c, arch/ogl/ogl.c, include/args.h, include/rle.h, main/args.c, main/game.c, main/gauges.c, main/inferno.c, main/menu.c: Small fixes; Code cleanup; Implemented PR-Screenshot feature

20071014
--------
arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, include/args.h, main/args.c, main/game.h, main/inferno.c: Set SOUND_BUFFER_SIZE for SDL_mixer to 1024 to minimize delay; Removed MIDI-existance check and store all music to Music/ subdirectory of writedir - keeps clean if user has tons of levels; Added SDL_mixer command-line help output; Implemented new way to read command-line args
main/game.c: Reworked Pause-screen

20071012
--------
main/ip_base.cpp: Fixed port deformation while sending handshake
main/inferno.c: Fixed some command-line options
SConstruct: micro version now specified as the "micro" scons flag

20071008
--------
main/game.c, main/inferno.c, main/object.c, main/playsave.c: Improvements for Cockpit mode save; Fixed -pilot switch

20071007
--------
main/collide.c, main/laser.c: Changed collision handling between robots and controlcen; Aligned constant sounds to GameTime; Using turn radius of 0x0024*F1_0 for all homing objects while not aligning smart blobs to movement vector
main/newdemo.c: Reset Rear_view at beginning and end of demo playback

20071006
--------
arch/ogl/ogl.c, main/game.c, main/gauges.c, main/gauges.h: Not rendering additional transparency cockpit display anymore to ensure compability with custom cockpits; Improved overlay functions for cockpit elements
d1x.ini, include/args.h, main/args.c, main/inferno.c, main/playsave.c: Readded -notitles switch; Removed use of tempfile for PLX writing

20071001
--------
main/game.c, main/kconfig.c, main/titles.c: Added line_scpacing in netgame info screen for every not-connected player to keep strings below player table in fixed position; Fixed memleak in kconfig code; Fixed show_title_screen function to cycle correctly 3 seconds or until broken by keypress

20070930
--------
SConstruct, arch/sdl/digi_audio.c: Moved Windows midi functions to digi_audio_* functions

20070929
--------
INSTALL.txt, README.txt, SConstruct, arch/sdl/digi_audio.c, arch/sdl/event.c, arch/sdl/gr.c, arch/sdl/joy.c, arch/sdl/key.c, main/config.c, main/game.c, main/kconfig.c, main/menu.c, main/newmenu.c, main/scores.c: Updated docs; Removed GP2X support since I won't support this device anymore

20070928
--------
d1x.ini, include/args.h, main/args.c, main/gameseq.c, main/inferno.c, main/multi.c, main/newmenu.c, main/playsave.c: main/state.c: Implemented -use_players_dir

20070927
--------
main/game.c: Removed line_spacing for not connected players in Netgame info screen

20070926
--------
main/SConstruct, main/game.c, main/gauges.c, main/multi.c, main/network.c, main/network.h, main/nncoms.c: Small fixes for new netgame info screen; Doing PING routines D2X-way while trying to keep compability to other D1X versions

20070924
--------
main/newmenu.c: Removed key shortcuts for menus

20070921
--------
most files: executable flag removed
main/digi.h: restored previous value of SOUND_MAX_VOLUME

20070920
--------
d1x.ini, SConstruct, include/args.h, main/newmenu.c, main/network.c, main/text.h, main/network.h, main/multi.h, main/inferno.c, main/netlist.c,  main/game.c, main/ipx_drv.c, main/args.c: Code-cleanup; Implemented new multi profile feature
main/titles.c: Removed briefing text shadows code

20070918
--------
SConstruct, main/inferno.c, main/digi.h, arch/sdl/include/digi_audio.h, arch/sdl/include/digi_mixer_music.h, arch/sdl/include/digi_mixer.h, arch/sdl/jukebox.c, arch/sdl/digi.c, arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/digi_audio.c : huge refactoring of sound system using function pointers, to allow sound backend selection at runtime and provide a common interface (digi.c)
include/args.h, main/args.c : handle SDL_mixer-specific args
include/hmp2mid.h, misc/hmp2mid.c : moved hmp2mid to misc/, for better organisation and consistency between D1X and D2X

20070913
--------
Sconstruct, main/game.c, main/inferno.c, main/mlticntl.c, main/mprofile.c, main/multi.c, main/network.c, main/network.h: Code Re-formatting; Preventing Redundancy in Restricted-game joining and leaving players (packet redundancy); Removed Network master menu (and mlticntl code) due to compatibility to older games; Using D2X code for restricted games; Expanded Game-help screen

20070908
--------
main/command.c, main/game.c, main/gauges.c, main/multi.c, main/multiver.c, main/network.c, /main/network.h: Added complex netgame information screen (key PAUSE), Removed ping commands because ping handled in new screen

20070905
--------
d1x.ini, 2d/font.c, include/args.h, main/args.c, main/command.c, main/game.c, main/gameseq.c, main/gameseq.h, main/inferno.c, main/multi.c: Removed handicapping remnants, Removed -msgcolorlevel, color names in Multi-messages to Player- or Team-color

20070903
--------
2d/font.c, main/multi.c: Fixed embedded color strings

20070831
--------
main/game.c, main/gauges.c: HUD alignment improvements

20070830
--------
d1x.ini, include/args.h, main/args.c, main/gauges.c, main/inferno.c: Added command-line option to disable reticle

20070829
--------
main/titles.c: Use right palette after briefings end to make sure nothing gets messed up
main/physics.c: Apply BUMP_HACK on walls only

20070828
--------
d1x.ini, 2d/bitblt.c, include/args.h, main/args.c, main/automap.c, main/credits.c, main/inferno.c, main/newmenu.c, main/piggy.c, main/titles.c: Fixed some mem-leaks; Made show_fullscr() use ogl_ubitmapm_cs(); Removed use of glScissor for menus - using Blitting; Code cleanup
SConstruct, arch/ogl/gr.c: If sdl_only=1 do not use Assembly code by default because of poor portability - switch asm=1 necessary now; Removed final remnants of glScissor

20070826
--------
main/game.c, main/multi.c: Improved CPU cycles sleeping for -nicefps - moved out of main frame calc loop and taking care of 10ms timer inaccuracy
main/hud.c: Preventing redundancy of doubled messages correctly

20070821
--------
main/ip_base.h, main/ipclient.h: Fixed some compiler warnings

20070809
--------
d1x.ini, include/args.h, main/args.c, main/inferno.c, main/menu.c: Added -ip_hostaddr argument to specify a host IP address via command-line/INI
main/gameseq.c, main/menu.c: Fixes and improvements on -ip_hostaddr; Fixed paltte bug in SDL build
main/ipbase.cpp, main/ipbase.h, main/ipclient.cpp, main/ipclient.h, main/multi.c: Some debugging-related cleanups, Fixed memleak

20070808
--------
main/config.c, main/game.c, main/gameseq.c, main/menu.c, main/polyobj.c, main/titles.c, main/titles.h: Set default value for Game_screen_mode which is necessary if there's no config file yet; Made resolution switching more failsafe by not allowing resolutions below 320x200; Cleaned up briefings code (I hope so)
main/game.c, main/menu.c: Fixed excessive use of set_screen_mode; Menu fixes

20070727
--------
d1x.ini, main/config.c, main/inferno.c, main/game.c, main/game.h, main/gameseq.c, main/menu.c, main/playsave.c: Cleanup in Config- and PLX-code; Saving Resolution in Config file so it will apply directly at game-init; Removed seperated resolution mode for menus, SCREEN_MENU now always uses Game_screen_mode; Last FindArg cleanups

20070723
--------
arch/ogl/gr.c, arch/ogl/include/ogl_init.h, arch/ogl/ogl.c, arch/sdl/gr.c, include/args.h, main/args.c, main/inferno.c: FindArg cleanup - GL-Debug and SDL arguments

20070722
--------
include/args.h, main/network.c, main/network.h, main/multi.h, main/inferno.c, main/menu.c, main/mprofile.c, main/automap.c, main/game.c, main/ipx_drv.c, main/game.h, main/args.c, arch/linux/linuxnet.c, arch/win32/winnet.c: Code cleanup and small fixes
main/multi.h, main/state.c: Removed -multisave argument, deactivated feature as default (multi.h define) - broken, not sure if it's worth to fix
arch/linux/hmiplay.c, arch/ogl/sdlgl.c, include/args.h, main/altsound.c, main/args.c, main/digi.h, main/digiobj.c, main/inferno.c, main/ipserver.cpp, main/piggy.c, main/polyobj.c: Even more FindArg cleanups

20070718
--------
SCsonstruct, arch/ogl/gr.c, arch/ogl/include/ogl_init.h, arch/ogl/ogl.c, include/args.h, include/gr.h, include/ipx_drv.h, main/args.c, main/game.c, main/inferno.c, main/ipx_drv.c, main/menu.c, main/piggy.c, main/render.c, main/text.c: Cleaned up more FindArg's - general Debug Options; Cleanups
main/cntrlcen.c, main/controls.c, main/game.c, main/gameseq.c, main/inferno.c, main/m_inspak.c, main/multi.c, main/multi.h, main/netlist.c, main/network.c, main/object.c, main/physics.c, main/physics.h: FindArg cleanup; Removed remnants of Observer-mode
include/args.h, main/args.c, main/bmread.c, main/inferno.c, main/piggy.c, main/render.c, mem/mem.c: Cleanups

20070716
--------
d1x.ini, arch/ogl/gr.c, arch/ogl/ogl.c, arch/ogl/include/ogl_init.h, arch/sdl/gr.c, include/args.h, include/gr.h, main/args.c, main/automap.c, main/game.c, main/gamefont.c, main/gauges.c, main/inferno.c, main/menu.c, main/newmenu.c: Cleaned up more FindArg's - (most important) OpenGL Options
main/automap.c, main/game.c: Fixing duplicated gr_toggle_fullscreen()
main/fuelcen.c, main/game.c, main/game.h, main/laser.c: Removed unused RealFrameTime; Removed FPS-dependent Homing-tracking code
d1x.ini, 2d/font.c, include/args.h, main/args.c, main/ban.c, main/game.c, main/hud.c, main/inferno.c, main/inferno.h, main/ip_base.cpp, main/ipclient.cpp, main/ipx_drv.c, main/menu.c, main/network.c: Cleaned up more FindArg's - Networking Options; Some fixes


20070715
--------
Sconstruct, d1x.ini, arch/win32/midi.c, include/args.h, main/args.c, main/inferno.c: Cleaned up more FindArg's - Sound Options
arch/sdl/gr.c, arch/ogl/gr.c, include/args.h, main/automap.c, main/automap.h, main/collide.c, main/collide.h, main/game.c, main/gamefont.c, main/gauges.c, main/gauges.h, main/hud.c, main/inferno.c, main/kconfig.c, main/netlist.c, main/newmenu.c, main/powerup.c, main/scores.c, main/weapon.c: Cleaned up more FindArg's - Graphics Options

20070714
--------
SConstruct, main/game.c, main/inferno.c: removed old CD-Play code
SConstruct, d1x.ini, arch/sdl/init.c, arch/sdl/joy.c, include/args.h, main/args.c, main/config.c, main/game.c, main/game.h, main/gauges.c, main/hud.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/laser.c, main/menu.c, main/multi.c, main/newdemo.c, main/newdemo.h, main/piggy.c, main/titles.c: Placing FindArg calls to seperated function, putting variables to a struct - frist step, not finished, yet; Large code cleanup

20070629
--------
main/playsave.c, main/titles.c: fixing playerfile size detection, using gr_flip() with title screens

20070628
--------
main/game.c, main/newdemo.c: fixing compiler warning, handle *SOUND_TO_OBJ events correctly in demo playback

20070616
--------
main/newmenu.c: adjusted size of Inputbox

20070615
--------
SConstruct, arch/sdl/digi.c: complete removal of hmiplay-code usage
main/text.c: fixed memleak
2d/bitblt.c, arch/ogl/ogl.c, arch/ogl/include/ogl_init.h, main/game.c, main/newmenu.c: small code cleanup; improved texture caching in menus to save RAM

20070614
--------
main/polyobj.c, main/render.c: using size_t when it comes to integer to pointer conversions
d1x.ini, main/game.c, main/gauges.c, main/hud.c, main/inferno.c, main/kconfig.c, main/menu.c, main/playsave.c, main/radar.c: fixed axis direction for vertical and sideways thrust time; fixed y-Offset for mouse selection in kconfig_sub; removed (useless) Shrink/Grow window feature to clean code a bit; saving Cockpit mode in PLX file; improved grabmouse so mouse is always released in non-SCREEN_GAME modes

20070611
--------
SConstruct, 2d/font.c, arch/linux/hmiplay.c, arch/linux/init.c, arch/linux/ipx_bsd.c, arch/linux/ukali.c, arch/win32/init.c, include/ipx_drv.h, main/fvi.c, main/inferno.c, main/ipx_drv.c, main/gameseq.c, main/m_inspak.c, main/multibot.c, main/multi.c, main/multi.h, main/multiver.c, main/netpkt.h, main/newmenu.c, main/nncoms.c, main/render.c, main/state.c: fixed a bunch of compiler warnings
SConstruct, arch/sdl/mouse.c, arch/sdl/include/mouse.h, arch/win32/include/mouse.h, arch/ogl/gr.c, editor/ksegsize.c, editor/segment.c, editor/seguvs.c, ui/mouse.c, include/types.h, main/gamesave.c, main/netlist.c, main/network.c, main/newdemo.c: fixed more compiler warnings

20070610
--------
2d/bitblt.c, 2d/font.c, 2/rle.c, arch/ogl/gr.c, arch/ogl/ogl.c, arch/ogl/include/ogl_init.h, include/gr.h, include/rle.h, main/game.c, main/gauges.c, main/titles.c: introduced new bitmap flag to draw cockpit bitmap with transparency; draw transparent cockpit bitmap over gauges to make it more pixel-correct; code cleanups

20070601
--------
main/menu.c, main/netlist.c, main/network.c, main/newmenu.c: improved pixel-correct (almost) scaling of menus; new Netgame info screen which can show up necessary game rules

20070530
--------
SConstruct, arch/ogl/gr.c, ui/window.c: Added conditions to add compiler/linker flags from user's environemnt if they have any set; make sure gl functions are not called before OpenGL is initialised, when fullscreen switching; use new 3 argument mouse_get_delta to avoid compiler errors

20070516
--------
main/game.c, main/inferno.c, main/newmenu.c: free grabbed mouse in Demo Playback; improved Player-files deletion

20070514
--------
SConstruct, arch/sdl/init.c, arch/sdl/joydefs.c, arch/sdl/mouse.c, arch/sdl/include/mouse.h, main/game.c, main/inferno.c, main/kconfig.c, main/kconfig.h, main/newmenu.c, main/newmenu.h, main/playsave.c, main/text.h: Added config field to map a Mouse Axis/Wheel to cycle Primary and Secondary weapons; lots of controls-related code cleaning
main/laser.c: fixed speeding bug in homing system
main/game.c: make sure Game_window_w/h is always set to a valid value in every cockpit mode

20070510
--------
main/inferno.c: read -pilot arg with and without filename extension

20070509
--------
arch/ogl/gr.c, arch/sdl/gr.c, main/game.c, main/newmenu.c: update viewing values at Fullscreen Toggle; added Fullscreen Toggle to Menus and Demo Playback

20070503
--------
CHANGELOG.txt, COPYING.txt, INSTALL.txt, README.txt: updated docs
SConstruct: Version-Tag 0.52

20070502
--------
main/game.c, main/gauges.c: resolved some overlapping HUD elements
main/args.c: improved INI-File parsing
main/game.c: rev432 revisited - do not send multi De-Cloak packet in Demo Playback

20070421
--------
main/hud.c: prevent string placeholders in HUD Messages which may crash the game

20070420
--------
main/laser.c: made smart blobs easier to dodge
main/kconfig.c: increased offset to detect movement on Joystick axis for mapping function

20070415
--------
main/multi.c: forbid % to read into multi messages to not mess up the string

20070414
--------
main/kconfig.c, main/kmatrix.c, main/newmenu.c, main/scores.c, main/titles.c: introducing kconfig_sub_draw_table() making it possible to redraw configuration tables with OGL swapping and clearing; increased timer_delay for menus and briefings to save more CPU usage

20070412
--------
main/game.c, main/gameseq.c, main/reorder.c: removed some code from Weapon Ordering which broke primary cycling
main/game.c: introduced do_weapon_stuff() to abstract code from ReadControls()

20070407
--------
main/newmenu.c: hide cursor after newmenu_get_filename()

20070406
--------
SConstruct: some help correction

20070405
--------
main/game.c, main/game.h, main/gameseq.c, main/gauges.c, main/inferno.c, main/menu.c, main/playsave.c: remove final remains of VR_current_page and VR_use_paging, resolution variable cleanup - remove VR_screen_mode and VR_render_width/height (Game_screen_mode is the actual resolution put in an int, not an index)
SConstruct: BINARY_SUBDIR should be bin/, not games/

20070404
--------
main/newdemo.c, main/newmenu.c: clear HUD-Messages if a Demo starts so old messages do not appear; also set gr_palette_load() in nm_draw_background1 so palette resets if Demo-playback is cancelled
d1x.ini, main/inferno.c, main/menu.c, main/newdemo.c: improved Autodemo-feature - less code, activate AFTER pilot is selected to make sure resolution and player-file operations do not mess up
main/inferno.c, main/game.c: compile-time fix for demo stuff; close menu with boxed message

20070401
--------
main/newmenu.c: moved gr_palette_load() in nm_draw_background so it always does apply and resets step-ups properly
main/game.h, main/gauges.c, main/menu.c: remove 'extern int last_drawn_cockpit[2]' since it's now a single int (not an array), fixing memory corruption (whoops!!)
main/automap.c: merge and move automap border drawing code to draw_automap, so it could be used to draw the automap again just before showing a dialog box

20070331
--------
main/menu.c: improved Error-handling for loading missions
d1x.ini, main/game.c, main/inferno.c: a switch to disable timer_delay in calc_frame_time - may be used if game runs a bit choppy

20070330
--------
main/game.c, main/newmenu.c, main/newmenu.h: introduced newmenu_dotiny() from D2X to show menus with GAME_FONT; extended Help-menu and removed D1X-Help-menu
cfile/cfile.c: Error-proof cfile_init_hogfile()
main/game.c, main/newdemo.c: dropped Newdemo Un/pause feature - unreliable, creates corrupt data

20070329
--------
main/automap.c, main/game.c, main/newmenu.c: palette-related fixes for Doublebuffered menus; fixes for SDL-build

20070326
--------
main/game.c, main/menu.c: unbind Minus/Equal from Shrink/Grow-window - only use ALT-F9/F10 to get richt with all keyboard layouts; Always allow screen resolution switching, even if selected is not supported to ensure Multi-Monitor support
main/game.c, main/gauges.c, main/hud.c, main/inferno.c, main/newmenu.c, main/screens.h: draw mine view directly to screen with SDL Video, no using an offscreen buffer (will use SDL_Flip later)

20070325
--------
cfile/cfile.c, main/titles.c: fixed possible corrpution with nfiles cin cfile_init_hogfile; improved briefing delay usage
SConstruct, arch/linux/init.c, arch/sdl/key.c, arch/sdl/timer.c, arch/win32/init.c, include/timer.h, main/automap.c, main/game.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/multi.c, main/newmenu.c, main/scores.c, main/titles.c: removed d_delay, now using timer_delay as wrapper for SDL_Delay

20070322
--------
SConstruct, arch/ogl/gr.c, arch/ogl/ogl.c, arch/ogl/include/ogl_init.h, main/credits.c, main/game.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/netlist.c, main/newmenu.c, main.polyobj.c, main/scores.c, main/state.c, main/titles.c: Use Doublebuffer in OGL for all parts of the game and properly redraw elements, fixed Profiler build
2d/canvas.c, arch/ogl/gr.c, arch/ogl/ogl.c, arch/ogl/include/ogl_init.h, arch/sdl/gr.c, arch/win32/gr.c, include/gr.h, main/automap.c, main/credits.c, main/inferno.c, main/game.c, main/game.h, main/gauges.c, main/hud.c, main/kconfig.c, main/kmatrix.c, main/netlist.c, main/newmenu.c, main/scores.c, main/titles.c: add gr_flip, allowing significant cleanup; remove final remnants of VR_current_page, also allowing -nodoublebuffer switch for all platforms

20070318
--------
SConstruct, main/game.c: fixed compiling without jukebox code if no SDL_mixer available
arch/sdl/jukebox.c, arch/sdl/mixdigi.c, arch/sdl/mixmusic.c: slight music management improvements
d1x.ini: typo fixed, sdl_mixer-related options added

20070312
--------
misc/dl_list.c, include/dl_list.h: doubly-linked list implementation
main/game.c, arch/sdl/jukebox.c, arch/sdl/include/jukebox.h, arch/sdl/mixdigi.c, arch/sdl/include/mixdigi.h, SConstruct: new
in-game jukebox system

20070306
--------
main/kconfig.c, main/kconfig.h, main/newmenu.c, main/playsave.c, main/scores.c: implemented expanded Joystick configuration panel (Thanks xatmes); corrected draw functions for kconfig_sub() and Scoreboard to show them correct in non 4/3 aspects; corrected Close-boxes for Mouse Menu control

20070304
--------
main/menu.c: improved Error-handling for starting a mission, making the game not crash if Level file is not found
main/guages.c: cleaned up hud_show_weapons_mode()
SConstruct, main/hud.c, main/hudlog.c: removed WANT_AWE32 flag - too buggy; scaled space between Hud-messages; block Hudlog output messages beginning with you (your ... maxed out, you already have ...)

20070303
--------
main/game.c, main/newmenu.c: some menu fixes

20070228
--------
main/game.c: newdemo-related fixes

20070226
--------
arch/ogl/ogl.c, main/endlevel.c, main/object.c: improved DepthTest, fixing Clipping bugs
main/game.c: reset GameTime properly if needed

20070220
--------
arch/sdl/key.c: Added ENTER as Game key
texmap/scanline.c: removed unreliable gr_fade_table check in c_tmap_scanline_per()
arch/ogl/ogl.c, main/radar.c: don't show Radar box-fading in SDL; fixed OGL gr_ucircle()

20070219
--------
main/network.c, main/network.h: fixed player restriction at robot-/coop-games - code cleanup
main/hudlog.c: block "You already have"-messages in HudLog output
arch/ogl/ogl.c, main/game.c: removed BADTEXTURE cheat
main/game.c: seperated Controls-reading functions in HandleEndlevelKey, HandleEndlevelKey, FinalCheatsKey, HandleGamekey; improved Game-key handling if Player_is_dead
main/inferno.c, main/newdemo.c: fixed memory corruption in Demo-Playback
main/hud.c: make 'Press any key ...'- and 'Demo recording' messages not overlap

20070218
--------
cfile/cfile.c: added patch by The_Lion to improve file handling with AltHogDir

20070217
--------
d1x.ini, main/inferno.c, main/laser.c: added Alex' patch to add FPS independent and physics homing missiles - also implemented command-line to switch back to legacy homers

20070214
--------
Makefile, SConstruct, arch/sdl/mixmusic.c, main/vers_id.h: Turning off sound debug flags; Optional micro versions (see SConstruct); Makefile emulation for SCons

20070211
--------
d1x.ini, main/collide.c, main/collide.h, main/fireball.c, main/inferno.c, main/object.c: improved debris random stuff, added -persistentdebris feature

20070209
--------
d1x.ini, main/inferno.c: added -gl_voodoo to OpenGL command-line switches and INI
SConstruct: added default lflag path for *NIX build

20070208
--------
main/gauges.c: created offset for LOCK message string if demo record or playback

20070207
--------
main/game.c: expanded help menu and fixed d1x help
iff/iff.c: amd64 fixes, code cleanup
arch/linux/arch_ip.cpp, arch/linux/ipx_udp.c, arch/win32/arch_ip.cpp, main/ipclient.h: on-screen network error messages
main/game.c: introducing HandleDeathKey - allows sending multi messages and options menu while dead

20070206
--------
main/inferno.c, main/menu.c, main/newdemo.c: fixed -demo and -autodemo switches to work with DEMO_DIR
main/newmenu.c: use remove instead of unlink to delete plx-file safely
2d/bitblt.c, include/gr.h, main/automap.c, main/credits.c, main/titles.c: force show_fullscreen to software drawing if image is bigger than screen, showing Automap background in low resolutions via software, removed obsolete robot briefing fix in OGL, code cleanup

20070202
--------
arch/ogl/ogl.c: let ogl_ubitblt not return alpha channel to ogl_ubitblt_i
arch/ogl/ogl.c: don't draw bombs with transparency even if -gl_transparency is enabled

20070130
--------
d1x.ini, arch/ogl/gr.c, arch/ogl/ogl.c, include/3d.h, main/inferno.c, main/object.c: added transparency effects for some bitmaps like explosions, powerups, weapons, etc. - to enable with -gl_transparency
arch/linux/ipx_udp.c, main/ipclient.h: corrected UDP/IP error output
dxx-readme.txt, SConstruct: preparations for v0.51 release

20070128
--------
main/radar.c: corrected radar positions and gave it a grey background so it's better visible

20070127
--------
main/credits: use ogl_ubitmapm_cs instead of show_fullscr in OGL to render faster
main/game.c: corrected position of multi-message entry string

20070126
--------
main/credits.c: improved credits scrolling - not that smooth anymore, but less CPU intense
d1x.ini, main/inferno.c: re-added -hudlines and -msgcolorlevel
main/newmenu.c: scale menus properly when dealing with hiresfont
dxx-readme.txt, dxx-compile.txt: improvements on dxx-readme's

20070125
--------
d1x.ini, arch/ogl.gr.c, cfile/cfile.c: include/gr.h, main/game.c, main/gamefont.c, main/inferno.c, main/menu.c, main/ndewdemo.c, main/newdemo.h, main/newmenu.c, titles.c: read/save Hires fonts/briefings, demos, AddOn missions, screenshots from/to subdirectories
main/inferno.c: improved resolution-check method - removed old code
texmap/scanline.c: fixed c-texmap transparency
main/gauges.c: don't display lives and score if hud message is longer than 40 chars. preventing overlay of message and lives/score

20070122
--------
SConstruct, cfile/cfile.c: special WINDOWS fixes and cleanups
arch/sdl/include/key.h: fixed PRINTSCREEN key for WINDOWS
main/network.c: fixed multi summary reactor lifetime refresh

20070121
--------
main/gamesave.c, ui/mouse.c, ui/popup.c, ui/window.c: fixed EDITOR build
d1x.ini, main/inferno.c: re-added missing command-line switches for SUPPORTS_NET_IP

20070120
--------
main/automap.c: for OGL don't display background bitmap if screen height < 400 because it won't fit - just draw grey
main/render.c: removed inaccurate 4D hack, use GL_ALWAYS for special segments in level 19 only
main/network.c: made short packets default on. long packets are still available but in general cause more problems than short
arch/ogl/ogl.c: in g3_draw_sphere align rad according to canvas so it is always in round shape

20070119
--------
cfile/cfile.c: patch by TheLion: cfile_get_filehandle reads case-insensitive on *NIX systems - makes use of .rdl levels easier
d1x.ini, main/inferno.c, main/hudlog.c, main/hudlog.h: tell user where descent.hog/pig should be if it isn't there, removed broken -hudlogdir code
arch/ogl/gr.c: gr_upixelc now able to scale pixels to current resolution

20070118
--------
main/kconfig.c: prevent changing weapons if automap is active
main/inferno.c, main/gameseq.c: only read and write lowercase pilots - prevents mistakes in -pilot option as well as multisaves

20070117
--------
main/endlevel.c: draw spheres instead of pixels in draw_stars to show correctly in OGL

20070113
--------
main/game.c: fixed key combo to shrink/grow window (lost while porting to GP2X)
main/laser.c: limit homing missle turn-rate

20070110
--------
main/kconfig.c, main/newmenu.c, main/playsave.c: joystick axes can be reassigned; higher offset for axes moving detection; correction for menus that are bigger than screen; plxver correction (is actually used)

20070113
--------
main/object.c: removing the !dead statement (leftover from WraithX Deathcam) from object_move_one() so the function will return correctly if player dies instead running further and creating invalid code and crashes

20070112
--------
SConstruct: cleanup

20070109
--------
dxx-changelog.txt, arch/ogl/gr.c, arch/ogl/ogl.c, arch/ogl/include/ogl_init.h, main/playsave.c, texmap/scanline.c, texmap/tmapflat.c: allocate 'pixels' and 'texbuf' according to current screen resolution, saving over a hundred megabytes of memory; divide negative light rates of change properly (fix bug #2575) (from D2X CVS); divide negative window x-coordinates properly, fixing random crashes (from D2X CVS); make sscanf look for "%i.%i" instead of "v%i.%i" because the 'v' isn't written to file; added missing changelog entries

20061212
--------
arch/sdl/mixdigi.c, main/inferno.c: music volume now properly restored and remembered in D1 and D2, using a static int; removed ugly hack that fixed this bug in D1 (inferno.c, revision 230)

20061128
--------
2d/bitmap.c, 2d/font.c, 2d/rle.c, SConstruct, include/gr.h, include/u_mem.h, main/config.c, main/game.c, main/newdemo.c, main/newmenu.c, main/text.c, maths/fixc.c, texmap/scanline.c: code optimisation and fixed mem-leaks

20061125
--------
gp2x/buttonmap.txt, gp2x/dxx-rebirth_buttonmap.pdf, gp2x/notes.txt, main/kconfig.c: optimized movements for GP2X; formatted and optimized GP2X readme's

20061122
--------
main/gauges.c: fixing small cockpit glitch in SDL mode
3d/interp.c, SConstruct, arch/sdl/clipboard.c, arch/sdl/digi.c, arch/sdl/event.c, arch/sdl/gr.c, arch/sdl/include/gp2x.h, arch/sdl/joy.c, arch/sdl/key.c, gp2x/buttonmap.txt,  gp2x/dxx-rebirth_buttonmap.pdf, gp2x/notes.txt, main/bm.c, main/clock.c, main/config.c, main/game.c, main/inferno.c, main/kconfig.c, main/loadrl2.c, main/menu.c, main/newmenu.c, main/object.h, main/physics.c, main/polyobj.c, main/polyobj.h, main/scores.c, texmap/scanline.c: ARM CPU support with words alignment and GP2X handheld support

20061121
--------
mem/mem.c: correct casting in mem_check_integrity

20061117
--------
SConstruct, arch/sdl/include/key.h, arch/sdl/include/key_arch.h, arch/sdl/key.c, arch/sdl/key_arch.c, include/key.h, main/game.c, main/key.c: merged SDL keyboard functions from D2X

20061115
--------
main/automap.c: fixed missing automap side colors; re-added lost cheat; cleaned code to avoid warnings
d1x.ini, main/inferno.c: corrected typo

20061102
--------
arch/sdl/include/joy.h, arch/sdl/joy.c, arch/win32/include/joy.h: improved joystick code for more buttons
arch/ogl/gr.c, arch/ogl/include/ogl_init.h, d1x.ini, main/gauges.c, main/inferno.c: command-line to set glScissor off if needed

20061031
--------
main/kconfig.c: make sliding use sensitivity
main/args.c, main/game.c, main/inferno.c: moved some FindArgs to main() so they are not called in the game; added printf for DEBUG to track FindArgs

20061029
--------
main/render.c: turning detriangulation off by default; not really needed anymore and makes rendering nicer

20061027
--------
arch/sdl/mixdigi.c: Another fix for crash on -nosound

20061024
--------
arch/sdl/mixdigi.c: Fix for crash with -nosound and looped sound volume adjustment

20061023
--------
/main/titles.c: moved gr_clear_canvas from show_briefing_screens to do_briefing_screens to avoid white blending
/main/polyobj.c: using ogl_start/end_frame, instead of offscreen in draw_model_picture
/arch/linux/hmiplay.c: added cut_trough(), a clone of stop_all that is called to flush notes while playing a song to improve song switching; added rephmi integer to see if song should repeat, acts together with a check of csec to send send_ip("s") if endlevel song is finished
/arch/ogl/sdlgl.c, /arch/ogl/ogl.c, /main/endlevel.c: added GL functions, changed g3_draw_poly in d2x style to fix the portal-bug; added exception boolean value tempNoDepthTest to render endlevel correctly; code reformatting
/arch/win32/hmpfile.c, /main/songs.c: code cleanups
/arch/ogl/gr.c, /arch/sdl/gr.c, /main/inferno.c, /d1x.ini: added variable aspect function, changed cmd-help, changed ini file
/arch/win32/digi.c: restored max_distance multiplication; using 0 instead of MIN_VOLUME to fix loud sound on fade-in functions
/2d/bitblt.c, /arch/ogl/include/ogl_init.h, /arch/ogl/ogl.c, /main/titles.c: added bool transp to ogl_filltexbuf and following functions to show bitmaps without transparent pixels if returning 0. fixes unwanted transparency in briefing images; removed "gr_clear_canvas" in titles.c which was used as workaround for this bug
/arch/ogl/ogl.c, /main/endlevel.c, /main/gameseg.c, /main/render.c: improved use of Depth Test, added experimental hack for 4D levels; removed two Asserts which fail with 4D levels
/main/game.c: added game_flush_input() on automap calls to avaoid control irritations
/main/inferno.c: corrected command-line output in inferno.c
/dxx-readme.txt: corrected typo
/arch/ogl/ogl.c: disabled GL_CULL_FACE at ogl_end_frame to avoid problems with menus after player's death
/main/kconfig.c: correctly restoring backgrounds in control menus
/main/gameseq.c, /main/hud.c: showing game over in d2x-way
/main/newmenu.c, /main/newmenu.c: layed out special chars to newmenu.h, fixed menu bevels for OGL, fixed text position for scalable menus, code reformatting
/main/gameseg.c: disabled another Assert. commented with FIXME's - debugging if needed
/SConstruct, /arch/linux/joydefs.c, /arch/linux/joystick.c, /arch/linux/makefile, /arch/ogl/wgl.c, /arch/sdl/event.c, /arch/sdl/include/joy.h, /arch/sdl/joy.c, /arch/sdl/joydefs.c, /arch/sdl/makefile, /arch/win32/init.c, /arch/win32/midi.c, /dxx-compile.txt, /dxx-readme.txt, /editor/curves.c, /editor/group.c, /editor/makefile, /main/kconfig.c, /main/menu.c, /main/playsave.c, /ui/menubar.c, /ui/userbox.c: building with more SDL code, added lots of D2X SDL related code, windows build does not need DirectX anymore; implemented SCons build system; provisoric hacks to build editor; changed contents of readme and compile text files
/SConstruct, /main/inferno.c: made windows build always pipe to stdout.txt and stderr.txt
/d1x.ini, /main/inferno.c, /main/hudlog.c, /main/hudlog.h: hudlogstdout as default
/arch/ogl/sdlgl.c: ogl_smash_texture_list_internal() should applay on windows in window mode as well to prevent texture problems
/d1x.ini, /main/inferno.c, /main/game.c: changed mousegrab calls because of new use in windows as well
/Sconstruct: added profiler support to SConstruct and merged debug and no_release
/main/game.c: removed unwanted stop_time() in set_screen_mode(), that broke pause states and control stuff
/arch/ogl/ogl.c, /main/automap.c: automap code from d2x, show borders in SDL and OGL, optimized and cleaned
/2d/font.c, /arch/ogl/include/ogl_init.h, /arch/ogl/ogl.c, /d1x.ini, /include/gr.h, /main/automap.c, /main/game.c, /main/gamefont.c, /main/inferno.c, /main/kconfig.c, /main/menu.c, /main/newmenu.c, /main/scores.c, /main/state.c, /main/titles.c: made fonts scalable, added command-line to enable fixed fonts, added command-line to enable hires fonts, made savegame thumbs scalable, reworked menu borders, new way to display level info in automap to get right with scaled fonts
/arch/ogl/ogl.c, /main/credits.c, /main/polyobj.c, /main/titles.c: new code for ogl_offscreen_render, used it to reduce flickering in credits and spinning robots, improved way to regognize hires briefing images
/arch/ogl/gr.c, /arch/sdl/gr.c, /d1x.ini, /include/args.h, /main/args.c, /main/automap.c, /main/game.c, /main/gameseq.c, /main/inferno.c, /main/kconfig.c, /main/menu.c, /main/newmenu.c, /main/playsave.c, /main/scores.c: some fixes for menus and automap; new aspect code; improved code to scale window for cockpits; introducing new variable in playsave.c to store game resolution and saving Game_window_h/h again properly - fixes bugs with screwed resolutions; making menus in game-resolution as default and re-activating old command-line arg '-menu<X>x<Y>' to scale menus
/arch/ogl/gr.c, /arch/ogl/ogl.c, /main/automap.c, /main/game.c, /main/gauges.c, /main/newmenu.c, /main/radar.c, /main/weapon.c: adjusted position of strings in hud and cockpit; made fadings work in OGL; made radar scale in cockpit mode; mede normal reticle default again and scaled it to current resolution for OGL; reformatted code to make it A BIT MORE readable
/main/kconfig.c: corrected mouseaxis_text
/texmap/ntmap.c increased MAX_Y_POINTERS to allow higher resolutions in SDL
/main/game.c, /main/gauges.c: corrections and improvements for scalable HUD and cockpits, cleaner code, fixes to get SDL renderer working again
/arch/sdl/joy.c, /arch/sdl/joydefs.c, /main/menu.c: fixed joystick deadzone feature and moved it and sensitivity to controls sub-menu
/arch/sdl/mouse.c, /main/kconfig.c, /main/newmenu.c, /main/newmenu.h: added mouse in menus
/SConstruct, /main/config.c: added command-line arg for SCons to specify Sharepath. Save config files, players etc. in home directory. Patch by Hans de Goede - THANKS
/main/slew.h: fix error when building editor with RELEASE (d2x-cvs takeover)
/main/inferno.c, main/titles.c, main/titles.h: move order form showing to titles.c (d2x-cvs takeover)
/main/ipclient.cpp, /main/menu.c, /main/multi.h, /main/network.c: re-implemented D1X ONLY GAME option to server menu and set it always true on UDP/IP to fix compability issues. making use of alloca instead of malloc in ipx_ip_SendPacket
/main/inferno.c: getting rid of inferno sound hacks
/SConstruct, /main/game.c, /main/game.h, /main/gauges.c, /main/inferno.c, /main/menu.c, /main/playsave.c, /main/state.c, /main/titles.c: removing unnecessary stuff from game_init_render_buffers; better resolution handling; making shareware version using registered save/restore features; storing resolution stuff in PLX file and making compability to other D1X versions; cleaning up the code a bit; implemented SHAREWARE build in SCons and some fixes for SHAREWARE build (Thanks to Hans de Goede)
/main/game.c, /mem/mem.c: making sure canvas is free if a new buffer is created
/2d/bitblt.c, /arch/win32/mouse.c, /editor/eglobal.c, /editor/fixseg.c, /editor/group.c, /editor/medwall.c, /editor/segment.c, /editor/seguvs.c, /editor/texture.c, /iff/iff.c, /include/editor/editor.h, /include/editor/medwall.h, /include/gr.h, /include/iff.h, /include/rpcndr.h, /include/types.h, /include/ui.h, /main/ai.c, /main/aipath.c, /main/aistruct.h, /main/bm.c, /main/bm.h, /main/bmread.c, /main/config.c, /main/credits.c, /main/custom.h, /main/dumpmine.c, /main/fireball.c, /main/fuelcen.c, /main/fuelcen.h, /main/game.c, /main/gamesave.c, /main/gameseg.c, /main/gameseg.h, /main/gauges.c, /main/kconfig.c, /main/laser.c, /main/lighting.c, /main/loadrdl.h, /main/loadrl2.c, /main/menu.c, /main/mglobal.c, /main/modem.c, /main/multi.c, /main/multi.h, /main/multibot.c, /main/netpkt.h, /main/network.c, /main/network.h, /main/newdemo.c, /main/newdemo.h, /main/object.h, /main/paging.c, /main/player.h, /main/render.c, /main/robot.h, /main/scores.c, /main/segment.h, /main/state.c, /main/switch.c, /main/switch.h, /main/titles.c, /main/wall.h, /main/weapon.c, /main/weapon.h, /ui/icon.c: change byte to sbyte
/main/altsound.c: fixing crash when playing sounds in lowmem
/SConstruct, /arch/sdl/digi.c, /main/digi.h, /main/inferno.c, /main/newdemo.c, /main/newdemo.h: implemented sound code of d2x
/arch/sdl/joydefs.c, /main/gameseq.c, /main/kconfig.c, /main/kconfig.h, /main/newmenu.c, /main/playsave.c: added new control type: Joystick & Mouse (Thanks to The_Lion)
/main/credits.c, /main/scores.c, /main/state.c, /main/titles.c: better handling for hires briefings; fixing some memleaks; code cleanup
/2d/font.c, /arch/ogl/include/ogl_init.h, /arch/ogl/ogl.c, /main/automap.c, /main/game.c, /main/gauges.c, /main/state.c, /main/titles.c: corrected demo-related font positions; merged ogl_ubitmapm_cs and ogl_ubitmapm_cf
/2d/font.c, /main/game.c, /main/inferno.c, /main/menu.c: cleaned up options menu and removed 'd1x options' because not really necessary anymore
/arch/ogl/gr.c, /arch/sdl/gr.c: don't give GL extensions on release build, code cleanup
/2d/font.c, /arch/ogl/gr.c, /include/ogl_init.h, /arch/ogl/sdlgl.c, /include/gr.h, /main/inferno.c: introduced FSAA; re-enabled fullscreen toggle in menus again and fixed glitches; adjusted OGL_TEXTURE_LIST_SIZE and OGLTEXBUFSIZE; code cleanup; restored font.c (oops)
/arch/ogl/sdlgl.c, /arch/sdl/gr.c, /main/gameseq.c, /main/inferno.c, /main/newmenu.c,/main/vers_id.h: if player is deleted also delete PLX file; removed D1X_DATE, not necessary; corrected Menu_special
/SConstruct: added install routine; preparations for v0.50 release
/main/gauges.c: corrected position of shield/energy numbers if 200
/SConstruct, /arch/ogl/gr.c, /arch/ogl/include/ogl_init.h, /arch/ogl/ogl.c, /arch/ogl/sdlgl.c, /include/gr.h, /main/inferno.c: added SDL_SetGammaRamp; removed FSAA because no function on all platforms; fixed offscreen render; fixed sharepath in SConstruct
/arch/sdl/joydefs.c, /main/newmenu.c: menu-related fixes
/main/render.c, /main/wall.c: improved 4D room detection
/main/newmenu.c: restore palette in menus for SDL_SetGammaRamp
/main/gameseq.c: don't run joydefs_calibrate if joystick is not selected as input device
/arch/ogl/gr.c: switching SDL gammaramp off by default because uses too much CPU
/main/hud.c: aligned 'press any key...' message on hud
/main/newmenu.c: added forgotten {} to count citem correctly and select last player again
/main/credits.c: make scrolling smoother by changing time_delay
/main/playsave.c: involve hli entry to determinate player_file_size correctly
/main/game.c: corrected position of FPS counter
/main/menu.c: print warning if resolution is set too high and don't change after all
/main/inferno.c: using ReadConfigFile earlier to make it possible to read D1X.INI from home directory
/main/radar.c: corrected radar y position
/arch/sdl/joydefs.c: re-activated Weapon Keys menu - aka D1X keys
/arch/ogl/gr.c, /arch/sdl/include/joy.h, /arch/sdl/joy.c, /main/inferno.c, /main/kconfig.c: improved SDL Joystick axes recognition; fixing mem corruptions while closing joysticks; removed Joystick calibration which should be unnecessary with SDL; fixing printf format in gr.c
/arch/ogl/ogl.c: Fix for inherent limitation in pow2ize() and wrong description thereof
/d1x.ini, /main/inferno.c, /main/multi.c: cleaned up command-line help; removed old/redundant/unfunctional options; improved code to read -pilot/-demo argument
/arch/ogl/gr.c, /include/gr.h, /main/game.c, /main/netlist.c, /main/newmenu.c: removed fullscreen menu toggle - does not work on any arch and hasn't since we have toggle in resolution menu
/arch/ogl/loadgl.h, /main/gauges.c: introducing draw_wbu_border to draw rounded weapon boxes with glScissor
/main/game.c: removed calibrate joystick line from help menu
/arch/ogl/ogl.c, /arch/ogl/include/ogl_init.h: made lines width scale to resolution; fixed compiler warnings
/main/game.c: new handling for keys after player is exploded
/main/inferno.c, /main/kconfig.c: using global variable for sp-mouselook to save CPU usage

20060416
--------
/main/credits.c: new credits code
/arch/hmpfile.c, /main/songs.c: improved midi shutdown at end of game
/main/game.c: shrink/grow window not correct with scalable cockpits
/arch/ogl/ogl.c, /arch/ogl/include/ogl_init.h, /main/game.c, /main/gauges.c: scalable cockpits
/main/gauges.c: FIX: if "you already have 20 concussion missles!" is displayed, lives and score disappeared
/main/newdemo.c: FIX: demo recording crashed game at X demo size
/arch/ogl/wgl.c: FIX: fan-crash bug
/include/gr.h: deactivated possibility to switch window/fullscreen in menu
/main/game.c: mouse capture deactivated in menus for linux
/arch/win32/wgl.c: ALT-key does not call windows frame options anymore
/main/physics.c: allow asserting objet to none if player is dead - fixes some random crashes
/main/titles.c: fix to show white instead of black background for semi-transparent briefing bitmaps
/main/newdemo.c: new interpolate function for demos; changed call for d_delay to nice demo playback
/arch/sdl/gr.c, /arch/ogl/gr.c, /main/inferno.c: added widescreen aspect with command-line option for SDL and OGL build
/main/newmenu.h: possible menu text sring length incrased to 255
/arch/ogl/gr.c, /main/menu.c: removed fullok hack for fullscreen changing
/main/polyobj.c: using OGL offscreen render to reduce flickering in spinning briefing robots
various: new build system


20060224
--------
/arch/ogl/include/ogl_init.h: fixing "OGL: texture list full"-bug
/main/game.c, /main/gameseq.c: beter code older compilers (thanks to AD)
/main/state.c: better savegame thumbs for every resolution
/main/network.c, /main/multi.h, /main/menu.c: removed "D1X ONLY GAME" option, code cleaning
/rules.mak, /main/vers_id.h: changes in date, version-number
/main/gauges.c: fix for invulnerable/cloak hud font colors that had color of your last key
/main/game.c: new keys to get shrink and grow window functions working
/main/automap.c, /main/inferno.c: automap now always in gameres and eat less cpu power
/main/kconfig.c: fix laser fire if energy and vulcan ammo recharged after 0
/main/gauges.c: fix weapons descriptions in cockpit mode
/main/menu.c, /main/playsave.c: save function for resolutions
/main/menu.c: custom resolutions support
/main/game.c: smoother demo playback
/arch/win32/digi.c, /arch/win32/hmpfile.c, /arch/win32/hmpfile.h, /arch/win32/hmiplay.c: fix for incorrect midi loops on windows
/main/game.c: fix to shrink window correctly
/main/credits.c: removed flickering and added fading to credits
/arch/win32/makefile, /arch/win32/makefile.nt: removed d1x.rc and d1x_res.rc from compiiling so ALT key doesn't call frame options in window-mode on windows
/arch/win32/digi.c: fix that fans not play in menus on windows systems

20060122
--------
/main/gauges.c: preventing vulcan ammo index overlapping reticle at high resolutions
/main/ipclient.cpp: fixed segfault when starting udp/ip game
/main/newmenu.c: comments an cleaning

20060116
--------
/main/states.c: fix for text position in save/load screen while using hires fonts
/arch/ogl/gr.c: fix for screenshot function
/main/inferno.c, /main/kconfig.c: new function for optional mouselook style feature
/main/state.c: fix for broken savegames
/main/credits.c: fix for credits background palette
/main/gamefont.c: added optional hires fonts from D2
/main/gauges.c: new HUD icons for lives and keys if hires fonts
/main/gameseq.c: fixed palette after endgame
/main/titles.c: image fix while endgame in lowres briefings, implementation of hires briefings
/arch/win32/digi.c: fix for fading/panning in windows
/arch/ogl/gr.c, /main/game.c, /main/menu.c: fix for fullscreen switching in windows
/arch/ogl/ogl.c, /main/inferno.c: implementation of trilinear filtering
/main/mission.h: fix to hold up to 5000 addon levels
/main/inferno.c, /main/game.c: grabmouse feature for linux
/main/inferno.c: menus at 640x480 are standard now (fits better), fix for soundloops after game quit (some onboard soundcards)
/main/game.c: made nicefps standard. better gameplay, lesser cpu usage, a little pause in linux for resolution change at new game
/main/menu.c: resolutions up to 1600x1200
/arch/ogl/gr.c, /arch/sdl/gr.c, /main/inferno.c: made fullscreen standard, changed '-fullscreen' option to '-window'
/arch/ogl/wgl.c: build fix
/arch/ogl/gr.c: fix for ingame screenshots
/main/args.c: fix for crashes while using modified d1x.ini
various: code cleaning, fixes and additional includes for windows build, restructuration for new multiplatform release

20051025
--------
/main/state.c: fixed crash while loading saved game
/main/polyobj.c: fixed slow spinning robots in briefing
/main/titles.c: fixed exit-door in briefing
/main/kconfig.c: much better mouse movement
/main/vers_id.h: program and version specific changes
/include/cfile.h: added definition for DESCENT_DATA_PATH
d1x-install.sh: changes for v0.04
README.TXT: removed/changed some known issues
            added gentoo and suse 10 to working ditributions
            added Maystorm to Thanks section
Changelog: file created

20050916
--------
initial release
