D2X-Rebirth Changelog 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 -------- D2X.make, arch/sdl/jukebox.c, d2x-rebirth.xcodeproj/project.pbxproj, include/pstypes.h, main/game.c, 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 'd2x' 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, 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 -------- d2x-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 main/config.c, main/endlevel.c, main/menu.c, main/songs.c: Enable exit sequence song for D2X (not available via Redbook) 20100925 -------- include/cfile.h, include/physfsx.h, main/bm.c, main/bmread.c, main/multi.c, main/piggy.c, misc/physfsx.c: Add 'Data' subdir as a searchpath, so D2X will find descent.pig and to simplify 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 d2x-rebirth.xcodeproj/project.pbxproj, include/cfile.h, include/hmp.h, include/physfsrwops.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) main/gameseq.c, main/switch.c: Don't let the teleport sound get cut out by Game_wind being hidden when going to a secret level d2x-Info.plist, d2xgl-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, d2x-rebirth.xcodeproj/project.pbxproj, main/multi.h, main/mveplay.c: 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/args.h, include/ogl_init.h, main/inferno.c, main/menu.c, main/movie.c, main/config.c, main/config.h, misc/args.c, 2d/font.c, d2x.ini, 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; Made Movie Filtering a menu option which must be enabled seperately; Added Movie Subtitles toggle to misc game options 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/menu.c, main/songs.c: When 'force descent ][ cd track order' is chosen, play and loop the credits track after the title track for Jukebox too 20100824 -------- main/mission.c, main/mission.h, main/titles.c: Overhauled detection of TEX/TXB files for Briefings and Endings 20100823 -------- main/songs.c: For Redbook, play the credits track after the title track like original Descent 2 did 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 (which does not work in D2X-Rebirth - it's only done for code similarity); added menu item START GAME for consistency and added proper subtitle for game setup page 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 -------- d2x-rebirth.ico, d2x-rebirth.xpm, arch/sdl/gr.c, arch/ogl/gr.c: Bind WM-Icon to application SConstruct, d2x-rebirth.bmp, d2x-rebirth.xpm, arch/sdl/gr.c, arch/ogl/gr.c, arch/win32/d2xr.res: Added res-file to be linked in Windows build to show icon in Filemanager; converted icon file to be smaller 20100819 -------- d2x-rebirth/main/multi.c, d2x-rebirth/main/bmread.c, d2x-rebirth/main/bmread.h, d2x-rebirth/main/paging.c, d2x-rebirth/main/piggy.c, d2x-rebirth/main/render.c, d2x-rebirth/main/net_ipx.c, d2x-rebirth/main/dumpmine.c, d2x-rebirth/main/editor/kmine.c, d2x-rebirth/main/editor/mine.c, d2x-rebirth/main/editor/group.c, d2x-rebirth/main/editor/med.c, d2x-rebirth/main/editor/eswitch.c, d2x-rebirth/main/editor/medwall.c, d2x-rebirth/main/kconfig.c, d2x-rebirth/main/gamecntl.c, d2x-rebirth/ui/window.c, d2x-rebirth/ui/keypad.c, d2x-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/gamecntl.c: Removed processing of HandleVRKey() as this code is not usable anymore and blocks some system keys (removal of general VR-code will follow later) 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 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 -------- d2x-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 main/automap.c, main/text.h: Fixed automap marker info as well as misleading text defines 20100731 -------- main/gamepal.c, main/gamerend.c, 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 -------- main/game.c: Removed leftover of mouse grabbing from set_screen_mode - forgot to do this in rev1192 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/cntrlcen.c, main/game.c, main/gamecntl.c, main/gameseq.c, main/menu.c, main/movie.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/fuelcen.h, main/gameseq.c, main/kmatrix.c: Show stars background for died in mine and secret level messageboxes; 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, main/movie.c: Rewrite quit system, fixing *many* bugs with it :P main/newmenu: 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/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/render.c: Fix overlapping room in D1 lvl19 by moving vertex a little. Still a hack 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 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/object.c, 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; Made sure cloaked walls are recorded FPS-independent but rather fade-value-dependent 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 'freespace' cheat 20100713 -------- include/args.h, main/net_udp.c, main/collide.c, main/multi.c, main/inferno.c, main/object.c, main/gamepal.c, main/wall.c, main/state.c, main/hud.c, main/weapon.c, main/hostage.c, main/hudmsg.h, main/newdemo.c, main/switch.c, main/net_ipx.c, main/gameseq.c, main/escort.c, main/fuelcen.c, main/endlevel.c, main/powerup.c, main/automap.c, main/game.c, main/gauges.c, main/kconfig.c, main/gauges.h, main/gamecntl.c, misc/args.c, d2x.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, main/titles.c: When reading mission file, check for sanity of possible breifing or ending to make sure author did not just screw up the file; Fixed slight bug when playing ending briefings from secret levels main/laser.c: Trying to improve reliability to find appropriate homing object by using vm_vec_mag/normalize instead of their *quick equivalents 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 -------- SConstruct: Fixing Windows build which was not linking against SDL 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/titles.c: Made Briefing printing sound apply everytime there is chattering enabled. Even if it would be logical to have it only with flashing cursor, most briefings - even Counterstrike - forget to toggle it correctly 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 d2x.ini, include/args.h, include/libmve.h, main/inferno.c, main/movie.c, libmve/mve_main.c, main/mveplay.c, misc/args.c: Show movies in correct aspect; Added mipmap generation to movie texture if Texture filtering enabled - can also be disabled seperately 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 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 used 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/inferno.c, main/menu.c, main/movie.c, main/songs.c, main/songs.h, main/switch.c, main/config.c, main/config.h, main/gameseq.c, main/digiobj.c, main/digi.h, main/game.c, main/gamecntl.c, misc/args.c, CHANGELOG.txt, d2x.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/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, include/strutil.h, main/digi.h, main/gamecntl.c, main/songs.c, main/songs.h, main/titles.c, misc/strutil.c: Actually play endgame music when game is finished, play briefing music instead of hum if appropriate main/gameseq.c, main/titles.c: Actually fix endgame music, make briefing beep only play when flashing_cursor is on, 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/gamepal.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/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/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/escort.c, main/game.c, main/gamecntl.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/movie.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/gamecntl.c, main/laser.c, main/laser.h: Make gamecntl.c more similar between D1X and D2X main/automap.c, 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) main/gamecntl.c: Fix bug introduced in last commit where the player can't escape from the death sequence (whoops) main/endlevel.c: Hide the game window so the exit movie has a black background 20100330 -------- main/titles.c: For Descent 1 briefings, only change the palette to groupa.256 for brief03.pcx - the robot screen. Improves palette use for sdl build main/menu.c, main/menu.h, main/movie.c: Don't reshow the mission menu after playing a level intro movie 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 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/escort.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, main/piggy.c: Ignore case-sensitivity for cfile_init/close/size and PHYSFSX_openReadBuffered; Give error message if default sound file cannot be opened so user knows what's going on main/titles.c: Fixing uninitialized angles for robots in briefings 20100325 -------- main/titles.c: Make sure got_z is not reset to 0 for Descent 1 missions - fixing crash, also make sure briefing hum is not played through more than one channel 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, fixing arithmetic crash with SDL Video build 20100322 -------- main/credits.c: Make credits screen a window main/credits.c, main/titles.c: Fix error introduced with credits, make title screen a window. Only the editor left now... 20100321 -------- main/gameseq.c, main/multi.c: Hide game window between levels, fixing bug where many textures are loaded with the wrong palette when advancing to the next multiplayer level 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/kmatrix.c, main/multi.c, main/multi.h: Make kmatrixs into windows (failed attempt at fixing a bug) 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 20100318 -------- main/menu.c, main/menu.h, main/movie.c: Show intro movie properly when idle in main menu, including subtitles if on 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/include/window.h, arch/sdl/window.c, libmve/mveplay.c, main/movie.c, main/titles.c: Make fullscreen movies into windows, maintain performance of robot briefing movies with necessary move of gr_flip 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 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 main/mission.c: Init variables/strings at the beginning of load_mission() to prevent errors if demo content is used 20100301 -------- 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/escort.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, main/multi.c: Add to help how to send a message to a specific player in Multiplayer; Removed NoBombs command as this is covered by the weapons selection in Multiplayer game creation 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/config.h, 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: 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 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 20100215 -------- libmve/mveplay.c: Added another bunch of macros to fix sound initialisation for Movies when program is compiled without SDL_mixer 20100214 -------- d2x.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 d2x-rebirth.xcodeproj/project.pbxproj, main/aistruct.h, main/game.h, main/gameseq.h, main/inferno.h, main/laser.h, main/polyobj.h, main/robot.h, main/weapon.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: Reset last_palette_loaded in nm_draw_background1 as before, it's needed for using the right palette when advancing a level 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/automap.c, main/escort.c, main/game.c, main/game.h, main/gamecntl.c, main/gameseq.c, main/newdemo.c, main/newmenu.c: Put the full_palette_save and palette_restore calls in the game handler for tidiness; remove leftover redundant digi_resume_digi_sounds calls main/newmenu.c: No showing the main menu background between loading a level and playing it, fixing palette issue when autoplaying a demo 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/editor/med.c, main/escort.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 d2x.ini, arch/ogl/gr.c, arch/sdl/gr.c, include/args.h, main/inferno.c, main/movie.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/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; Everything done without breaking the Demo format! arch/sdl/window.c, main/automap.c, main/escort.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/newdemo.c: Resetting DemoDoLeft/Right correctly at start of each demo 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/gamerend.c, 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(); Fixed cockpit switches for Guided missile when Player is in Rear-View - the original code never considered that 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/escort.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/escort.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, fix compiling error 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 -------- main/escort.c: Make escort menu a window, now the game is drawn behind it arch/include/window.h, main/game.c, main/gamecntl.c, main/gamerend.c: Make pause box a window 20100108 -------- arch/sdl/event.h, main/newmenu.c, main/newmenu.h: Add EVENT_NEWMENU_SELECTED, allowing a newmenu/listbox selection to be handled in the callback 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/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/editor/med.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 -------- 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 20091207 -------- main/net_ipx.c: Removing old use of variable already_showing_info which was removed from newmenu code 20091205 -------- main/gamecntl.c, 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, d2x-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, main/weapon.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 -------- d2x-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 main/newmenu.c, main/terrain.c, iff/archive/ifftestv.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 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/net_udp.c, main/multi.c, main/multi.h, main/menu.c, SConstruct, arch/linux/ipx.c, arch/carbon/conf.h: Adding macros for the compiler to compile with either UDP- and/or IPX-support and removed the older IPX macros 20091128 -------- main/net_udp.c, d2x-rebirth.xcodeproj, D2X.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 20091124 -------- include/args.h, INSTALL.txt, main/net_udp.c, main/net_udp.h, main/fireball.c, main/multi.c, main/multibot.c, main/multi.h, main/inferno.c, main/menu.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/gamerend.c, main/gameseq.c, main/endlevel.c, main/vers_id.h, main/game.c, main/gauges.c, misc/args.c, SConstruct, d2x.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/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 20091117 -------- arch/ogl/gr.c, arch/sdl/gr.c, include/gr.h, main/menu.c, main/piggy.c: Only list resolutions that can actually be used, using new gr_check_mode 20091115 -------- main/gamecntl.c, main/gameseq.c, main/gameseq.h, main/menu.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 -------- include/physfsx.h, main/ai.c, main/ai.h, main/cntrlcen.c, main/cntrlcen.h, main/fireball.c, main/fireball.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: Read big endian savegames on little endian computers and vice versa 20090911 -------- main/state.c: Include necessary ogl_init.h in state.c (whoops) 20090822 -------- main/state.c, main/state.h: 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/game.c, main/game.h, main/gamecntl.c, main/kconfig.c, main/kconfig.h, main/menu.c, main/net_ipx.c, main/newmenu.c, main/newmenu.h, main/scores.c, main/screens.h, main/songs.c, main/titles.c: Make game.c more similar between D1X and D2X, making related changes to other files (!) 20090607 -------- main/game.c, main/gamecntl.c: Small cleanup 20090531 -------- include/args.h, include/u_mem.h, main/gamecntl.c, main/inferno.c: Make inferno.c more similar between D1X and D2X 20090522 -------- arch/sdl/window.c, main/inferno.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 220090503 -------- main/net_ipx.c: Make sure HoardEquipped returns 1 if hoard.ham is in the Data folder, hence properly allowing hoard.ham to be in the Data folder main/config.c, main/menu.c: Make some files more similar between D1X and D2X 20090430 -------- arch/carbon/conf.h, d2x-rebirth.xcodeproj/project.pbxproj: Disable network support for Mac OS X for now 2d/2dsline.c, 2d/bitblt.c, 2d/bitmap.c, 2d/box.c, 2d/canvas.c, 2d/circle.c, 2d/disc.c, 2d/font.c, 2d/gpixel.c, 2d/line.c, 2d/palette.c, 2d/pcx.c, 2d/pixel.c, 2d/poly.c, 2d/rect.c, 2d/rle.c, 2d/scalec.c, 2d/tmerge.c, 3d/clipper.c, 3d/draw.c, 3d/globvars.c, 3d/instance.c, 3d/interp.c, 3d/matrix.c, 3d/points.c, 3d/rod.c, 3d/setup.c, arch/carbon/findfile.c, arch/carbon/gui.c, arch/carbon/SDL_main.c, arch/linux/ukali.c, arch/ogl/gr.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, iff/iff.c, include/physfsx.h, libmve/mvelib.c, libmve/mveplay.c, main/ai.c, main/ai2.c, main/aipath.c, main/automap.c, main/bm.c, main/bmread.c, main/cntrlcen.c, main/collide.c, main/config.c, main/console.c, main/controls.c, main/credits.c, main/crypt.c, main/digiobj.c, main/dumpmine.c, main/editor/autosave.c, main/editor/centers.c, main/editor/curves.c, main/editor/eglobal.c, main/editor/ehostage.c, main/editor/elight.c, main/editor/eobject.c, main/editor/eswitch.c, main/editor/fixseg.c, main/editor/func.c, main/editor/group.c, main/editor/info.c, main/editor/kbuild.c, main/editor/kcurve.c, main/editor/kfuncs.c, main/editor/kgame.c, main/editor/khelp.c, main/editor/kmine.c, main/editor/ksegmove.c, main/editor/ksegsel.c, main/editor/ksegsize.c, main/editor/ktmap.c, main/editor/kview.c, main/editor/macro.c, main/editor/med.c, main/editor/meddraw.c, main/editor/medmisc.c, main/editor/medrobot.c, main/editor/medsel.c, main/editor/medwall.c, main/editor/mine.c, main/editor/objpage.c, main/editor/segment.c, main/editor/seguvs.c, main/editor/texpage.c, main/editor/texture.c, main/effects.c, main/endlevel.c, main/escort.c, main/fireball.c, main/fuelcen.c, main/fvi.c, main/game.c, main/gamecntl.c, main/gamemine.c, main/gamepal.c, main/gamerend.c, main/gamesave.c, main/gameseg.c, main/gameseq.c, main/gauges.c, main/hostage.c, main/hud.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/laser.c, main/lighting.c, main/menu.c, main/mglobal.c, main/mission.c, main/morph.c, main/movie.c, main/multi.c, main/multibot.c, main/newdemo.c, main/newmenu.c, main/object.c, main/paging.c, main/physics.c, main/piggy.c, main/player.c, main/playsave.c, main/polyobj.c, main/powerup.c, main/render.c, main/robot.c, main/scores.c, main/segment.c, main/slew.c, main/state.c, main/switch.c, main/terrain.c, main/texmerge.c, main/text.c, main/titles.c, main/vclip.c, main/wall.c, main/weapon.c, maths/fixc.c, maths/rand.c, maths/tables.c, maths/vecmat.c, mem/mem.c, misc/args.c, misc/error.c, misc/hash.c, misc/strio.c, misc/strutil.c, texmap/ntmap.c, texmap/scanline.c, texmap/tmapflat.c, ui/barbox.c, ui/button.c, ui/checkbox.c, ui/func.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/menubar.c, ui/message.c, ui/mouse.c, ui/number.c, ui/popup.c, ui/radio.c, ui/scroll.c, ui/ui.c, ui/uidraw.c, ui/userbox.c, ui/window.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/gamerend.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/collide.c, main/ipxdrv.c, main/fireball.c, main/multi.c, main/multi.h, main/menu.c, main/state.c, main/newdemo.c, main/switch.c, main/net_ipx.c, main/net_ipx.h, main/gameseq.c, main/endlevel.c, main/powerup.c, main/automap.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/gamecntl.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/gamerend.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 20090217 -------- main/object.c, main/object.h, main/weapon.c: Made Max_used_objects an absolute defined value; Made num_objects globally available; Restricted Weapon drops to MAX_USED_OBJECTS; When dropping Secondary weapon, drop 4-pack if possible 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 main/kmatrix.c: Made connect-state handling in kmatrix flow even more failsafe 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, main/network.h, main/kmatrix.c, main/kmatrix.h: 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, main/gameseq.c, main/gamerend.c, main/ai.c, main/game.c, main/gauges.c, main/game.h, main/gamecntl.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); Removed Newdemo_flying_guided global; Init seismic disturbances in demo mode just to make sure tey are switched off when coming from game mode; Made initialisation for Missile_viewer signature saving global so we can reset it for each new level and make sure we get a correct missile view; Fixed regression in Ai_last_missile_camera main/gamerend.c: Made FPS string statically right-justified - unrelated to actual FPS string width preventing jumps 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 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, d2x-Info.plist, d2xgl-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 d2x.ini, inlcude/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 -------- include/cfile.h, main/network.c, main/inferno.h, main/netdrv_udp.c, main/netdrv_udp.h, main/netdrv.c, main/gamecntl.c, arch/sdl/digi_mixer_music.c, include/ogl_init.h: Patch from Damjan Cvetko for better support building with a non-free compiler... arch/sdl/mouse.c, main/automap.c, main/game.h, main/kconfig.c: Fixed typo in mouse delta reading cleaning not up Z-Axis; Giving automap a nicer Frameloop; 20090113 -------- main/physics.c: 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 20090108 -------- main/network.c: Fixed condition for protocol version checking when joining a game - must be allowed for both original and D2X version 20081230 -------- SConstruct: prefix is now an argument (useful for auto-builds) debian/*: created the debian packaging files 20081227 -------- arch/carbon/conf.h, d2x-Info.plist, d2x-rebirth.xcodeproj/project.pbxproj, d2xgl-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. 20081223 -------- main/config.c: Make Redbook the default for Mac, because MIDI is buggy 20081221 -------- d2x-rebirth.xcodeproj/project.pbxproj, D2X.make, main/gamecntl.c, main/playsave.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 20081213 -------- main/game.c, main/game.h, main/gamecntl.c, 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/multi.c: Added /KillReactor command to blow up the reactor in Multiplayer games 20081207 -------- 2d/pcx.c, 3d/interp.c, arch/include/key.h, arch/sdl/key.c, d2x-rebirth.xcodeproj/project.pbxproj, iff/iff.c, include/gr.h, include/pcx.h, include/u_mem.h, main/automap.c, main/escort.c, main/game.c, main/gamecntl.c, main/gauges.h, main/inferno.c, main/inferno.h, main/kconfig.c, main/mglobal.c, main/newdemo.c, main/newdemo.h, main/newmenu.c, main/piggy.c, main/render.c, main/songs.c, main/titles.c: Get Mac command keys working, MACINTOSH code cleanup, update Xcode project 20081201 -------- main/kconfig.c: Restored vertical_thrust_time behaviour combined with slide_on to be inverted - respecting user's wishes 20081129 -------- main/state.c: Fixed the Birthday Bug: Correctly re-compute static_light when restoring a game - finally 20081126 -------- main/gameseq.c: Fixed logical code flow error when player dies in a secret level entered after base level destroyed which is also the last level arch/ogl/ogl.c: Deactivated depth writing fo g3_draw_bitmap() sprites to prevent rendering errors when clipped in some cases 20081122 -------- main/kconfig.c: Completly forgot to make mouse axis values static so they can be used in intervals - shame on me! 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/gamecntl.c, main/gauges.c: Do not allow to restore games while player is dead... again - to much trouble right now; Solving small display issue when fading out weapons which ran out of ammo 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/ai2.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/piggy.c: Corrected a small logical mistake in Shareware-HAM recognition arch/ogl/ogl.c, main/ai2.c, main/object.c: Small transparency fix for robot weapons; 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/gamecntl.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/automap.c, main/gamecntl.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/gamecntl.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, main/gamecntl.c, misc/args.c, 2d/rle.c, 3d/setup.c, SConstruct, D2X.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, include/gr.h, main/gamefont.c, main/inferno.c, main/menu.c, main/gamerend.c, main/gauges.c, main/gauges.h, misc/args.c, d2x.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/ai2.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 -------- main/bm.c, main/inferno.c, main/piggy.c: Allow hires Mac demo graphics, fix endian issue with reading GameBitmapXlat (fixing crash on PowerPC Macs using PC demo), put a return on the end of an error message 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 d2x.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/gamerend.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/gamerend.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/gamecntl.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 SConstruct, include/dl_list.h, main/config.c, main/console.c, main/menu.c, main/robot.h, misc/dl_list.c: Revisited Kip's non-Tracker changes and implemented to D2X: Prettier SConstruct output, Forgotten newlines at end of files, Improvement in dl_list code, Revamped menu GUI defines; I am NOT HAPPY I have to do these changes seperately!!! 20081023 -------- 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/wall.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, 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, main/gamecntl.c, main/menu.c, main/movie.c, main/titles.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/collide.c, main/newmenu.c, main/menu.c, main/playsave.c, main/playsave.h, main/titles.c, main/wall.c, main/render.c, main/newdemo.c, main/newdemo.h, main/config.c, main/gameseq.c, main/gamerend.c, main/endlevel.c, main/scores.c, main/game.c, main/kconfig.c, main/gamecntl.c, main/credits.c, 2d/ibitblt.c, arch/sdl/mouse.c, arch/win32/hmpfile.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 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 20080903 -------- main/console.c, main/collide.c, main/mglobal.c, main/inferno.c, main/menu.c, main/physics.c, main/aipath.c, main/cntrlcen.c, main/weapon.c, main/netpkt.h, main/gamerend.c, main/ai2.c, main/laser.c, main/game.c, main/gauges.c, main/game.h, main/gamecntl.c, SConstruct, d2x.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 20080726 -------- d2x-rebirth.xcodeproj, main/multi.c, main/netpkt.c, main/netpkt.h, main/network.c: Make network endian code more consistent with D1X, 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 20080701 -------- arch/carbon/conf.h, d2x-Info.plist, d2xgl-Info.plist, d2x-rebirth.xcodeproj, English.lproj/InfoPlist.strings: Increment version number for Mac, 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 20080628 -------- main/collide.c: Do not apply new bump_two_objects() when companion object colliding with controlcen due to inability of companion to find alternatives 20080617 -------- main/songs.c: make sure it knows whether an audio CD just inserted is the official one 20080615 -------- main/newdemo.c: Better call for DoJasonInterpolate in demo code (hopefully) arch/sdl/rbaudio.c, include/inferno.h, include/rbaudio.h, main/game.c, main/gamecntl.c, main/songs.c: tidy up music keys, ALT-SHIFT-F9 ejects audio CDs main/gamecnt.c: add necessary #includes for last commit (whoops) 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/netdrv_udp.c, main/playsave.c, main/titles.c, main/object.c, main/kmatrix.c, main/scores.c, main/game.c, main/gauges.c, main/kconfig.c, main/gamecntl.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 -------- 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 D2X 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 -------- main/gr.c: Give render_frame call both arguments (compiler error) arch/sdl/jukebox.c, arch/sdl/rbaudio.c, d2x.ini, include/args.h, main/config.c, main/config.h, main/gamecntl.c, main/inferno.c, main/menu.c, main/songs.c, misc/args.c: Allow audio CD support to be turned on in the menus, 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/gamecntl.c: If a key combo is called which uses key of default wepaon binding, flush inputs main/mission.c, main/mission.h: Added support for another registered D1 HOG with different patching order... damn you PARALLAX! d2x.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 d2x.ini outside the app bundle main/game.c, main/gamecntl.c, main/songs.c: Reworked keys for song changing a bit; Added Song control keys to help menu 20080516 -------- d2x.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/multi.c, main/kconfig.c, main/gamecntl.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/powerup.c, main/automap.c, main/gamecntl.c, misc/args.c, d2x.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/movie.c, main/songs.c, main/config.c, main/config.h, main/gamecntl.c, misc/dl_list.c, misc/args.c, SConstruct, d2x.ini, arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, arch/win32/hmpfile.c, arch/include/jukebox.h, libmve/mveplay.c: 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 -------- D2X.make, d2x-rebirth.xcodeproj, iff/iff.c, include/ogl_init.h, main/config.h, main/newdemo.c, main/newmenu.c, main/playsave.h, main/state.c: get it to build on Mac OS 9 again 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/inferno.c, main/menu.c, main/config.c, main/config.h, main/gamerend.c, main/game.c, main/gamecntl.c, misc/args.c, d2x.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/inferno.c, main/menu.c, main/movie.c, main/playsave.c, main/state.c, main/newdemo.c, main/gamecntl.c, d2x-rebirth.xcodeproj/project.pbxproj, misc/strutil.c, SConstruct, arch/ogl/ogl.c, arch/ogl/gr.c, arch/sdl/joy.c, arch/sdl/gr.c, arch/carbon/conf.h, libmve/mve_main.c, libmve/mveplay.c: Made joy_flush also resetting button state; Improved glReticle; Implemented Fallback resolution if SDL may fail; Code cleanup 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/newdemo.c, main/config.c, main/config.h, main/gamerend.c, main/gameseq.c, main/escort.c, main/escort.h, main/endlevel.c, main/powerup.c, main/powerup.h, main/automap.c, main/game.c, main/gauges.c, main/game.h, main/kconfig.c, main/gauges.h, main/kconfig.h, main/gamecntl.c, misc/args.c, d2x.ini, arch/ogl/ogl.c, arch/ogl/gr.c, arch/sdl/joy.c: 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 -------- d2x-rebirth.xcodeproj, include/cfile.h, 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 -------- d2x.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 20080227 -------- d2x-rebirth.xcodeproj, main/bmread.c, main/piggy.c: allow external sound files to be put in 'Sounds' folder, update Xcode project 20080225 -------- include/loadgl.h, main/newmenu.c, main/titles.c: Added definitions for OpenGL fucntions which might not be included in system headers; Cleaned and declared briefings palette hacks (EMULATING_D1 needs work!); Menu right border shadow was too wide; main/movie.c: Do not actually blit movie frame if palette has been changed 20080323 -------- main/kconfig.c, main/laser.c, main/menu.c, main/newmenu.c, main/playsave.c: 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 -------- INSTALL.txt, SConstruct: make compile instructions clearer for Windows and Mac users, for Mac OS X don't use Sharepath when using SConstruct main/network.c: add prototypes for show_game_stats and network_do_join_game to fix warnings main/multi.c: allow hoard.ham to go in 'Data' subdirectory 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/collide.c, main/credits.c, main/editor/med.c, main/endlevel.c, main/escort.c, main/game.c, main/gamecntl.c, main/gamepal.c, main/gamepal.h, main/gamerend.c, main/gameseq.c, main/gauges.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/menu.h, main/network.c, main/newmenu.c, main/newmenu.h, main/paging.c, main/scores.c, main/switch.c, main/titles.c, ui/file.c, ui/keypress.c, ui/menu.c, ui/menubar.c, ui/message.c, ui/number.c, ui/popup.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 d2x.ini to stay with the binary for *NIX systems, with Mac OS 9 don't put user-created files inside the .app bundle 20080319 -------- d2x-rebirth.xcodeproj: update d2x.xcode to build universal binaries (requires Xcode 2.1 or greater), update source file list 20080308 -------- main/aipath.c, main/collide.c, main/fvi.c, main/game.c, main/gamecntl.c, main/gamerend.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 20080228 -------- 2d/font.c, arch/ogl/gr.c, arch/ogl/ogl.c, main/escort.c, main/game.h, main/gamecntl.c, main/gamepal.c, main/gamerend.c, main/gameseq.c, main/gauges.c, main/hud.c, main/mission.c, main/network.c, main/newmenu.c, main/state.c, main/titles.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 main/network.c: fix bug where a Mac host crashes on starting a game include/args.h, include/gr.h, main/credits.h, main/console.c, main/screens.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/menu.h, main/netdrv_udp.c, main/movie.c, main/playsave.c, main/titles.c, main/kmatrix.c, main/controls.c, main/hud.c, main/state.c, main/slew.c, main/gamerend.c, main/gameseq.c, main/escort.c, main/scores.c, main/automap.c, main/game.c, main/gauges.c, main/game.h, main/kconfig.c, main/gauges.h, main/gamecntl.c, main/credits.c, misc/args.c, console/CON_console.c, 2d/font.c, SConstruct, d2x.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 20080217 -------- misc/hmp2mid.c: don't try and free mid_track_buf if it isn't allocated, if midi conversion doesn't work main/netpkt.c, misc/hmp2mid.c: use d_ memory functions in hmp2mid, since I already started to erroneously. Also fixed bug where Mac-hosted games couldn't be started 20080212 -------- main/endlevel.c: make sure a briefing isn't interpreted as an endlevel sequence file, preventing an in-game warning iff/iff.c: remove redundant iff functions 20080211 -------- main/bm.c, main/bm.h, main/bmread.c, main/inferno.c, main/piggy.c, main/piggy.h: support PC shareware files in full version build, make game data loading code easier to follow 20080129 -------- SConstruct, arch/include/mouse.h, arch/ogl/gr.c, arch/ogl/ogl.c, arch/ogl/sdlgl.c, arch/sdl/mouse.c, include/internal.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.* to fit naming convention; Small menu ui fixes 20080125 -------- arch/sdl/digi_mixer_music.c: allow custom MIDI in add-on hogs to be used without caching everything 20080124 -------- INSTALL.txt, main/gamerend.c, main/network.c, main/udp.c: Updated Docs - Data files must be lowercase; Fixed small Multiplayer issues 20080123 -------- d2x.ini, arch/sdl/joy.c, include/cfile.h, include/physfsx.h, main/config.c, main/gamesave.c, main/mission.c, main/mission.h, main/playsave.c: Fixed memory issue as Joystick freeing; Case-insensitive mission-loading; Added support for non-Hog'ed missions; Improved writing functions for config and player files 20080119 -------- misc/strutil.c: fix potential bad memory access in change_filename_extension main/inferno.c: if descent2.hog / d2demo.hog isn't found, show a more accurate error message than before include/physfsx.h, main/bm.c, main/piggy.c: rename datafile_open to PHYSFSX_openReadBuffered to fit in with naming convention 20080113 -------- main/network.c: fix typo causing compiler error on bigendian computers 2d/font.c: make sure a font header only takes up sizeof(grs_font) memory, not sizeof(grs_font) squared arch/ogl/gr.c, arch/ogl/include/internal.h, arch/ogl/sdlgl.c, include/args.h, main/inferno.c, main/menu.c, main/newdemo.c, main/newmenu.c, misc/args.c: Removed SDL Gammaramp code (obsolete); Improvements on Demo code 20080108 -------- SConstruct, include/args.h, include/netdrv.h, main/gameseq.c, main/netdrv.c, main/netpkt.c, main/netpkt.h, main/network.c, main/network.h, main/udp.c, misc/args.c: Fixing MAC compiling issues (hopefully); Re-Added IPX Socket option to Host menu for IPX games; Renamed netmisc.* to 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 20080102 -------- SConstruct, arch/linux/netdrv_ipx.c, arch/linux/netdrv_kali.c, arch/win32/netdrv_ipx.c, main/menu.c, main/netdrv.c, main/netdrv.h, main/netmisc.c main/netmisc.h, main/network.c, main/network.h, main/udp.c, main/udp.h: Cleaned/Rewritten/Renamed lower level network layer to make it (look) less IPX-oriented 20071229 -------- SConstruct, arch/sdl/digi.c, main/ai.c, main/game.h, main/gamepal.c, main/gameseq.c, main/inferno.c, main/kmatrix.c, main/laser.c, main/menu.c, main/mission.c, main/multi.c, main/multibot.c, main/network.c, main/network.h, main/object.c, main/object.h, main/physics.c, main/render.c: Code cleanup - old/unused/obsolete multiplayer code and more 20071223 -------- include/ipx.h, main/credits.c, main/inferno.c, main/multi.c, main/network.c, main/piggy.c: Fixed compiler error because of removed header file; Removed connect state restore in multi_endlevel_score to make sure always state 7 is sent to other players while connect state is obviously restored later; Allocated memory for all sequence_packet's; Moved piggy_close() to main - replacing atexit; Rendering credits with timer_delay2 at constant 25FPS and save CPU 20071217 -------- d2x.ini, SConstruct, arch/linux/include/ipx_drv.h, arch/linux/linuxnet.c, arch/win32/include/ipx_drv.h, arch/win32/ipx_drv.h, arch/win32/winnet.c, include/args.h, main/inferno.c, main/kconfig.c, main/menu.c, main/network.c, main/network.h, main/scores.c, main/udp.c, main/udp.h, misc/args.c: 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/gamecntl.c, main/kconfig.c, main/kmatrix.c, main/network.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 20071110 -------- arch/include/digi_mixer_music.h, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, include/physfsx.h: port the jukebox to PhysicsFS for Mac OS 9 compatibility arch/ogl/sdlgl.c: print a more meaningful message when SDL fails to initialise OpenGL D2X.make: re-add Mac OS 9's makefile (SCons not compatible with Mac OS 9) 20071106 -------- main/config.c, main/game.c, main/game.h, main/gamecntl.c, main/gamerend.c, 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 20071106 -------- arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, include/args.h, misc/hmp2mid.c: various fixes towards getting it to build for Mac OS 9 again misc/hmp2mid.c: make sure mid_write_error_templ still works 20071105 -------- arch/carbon/conf.h, English.lproj/InfoPlist.strings, d2x-Info.plist, d2xgl-Info.plist: update Mac version info, set SHAREPATH to application folder for Mac OS X arch/sdl/jukebox.c: Fixed crash on absent or invalid jukebox directory 20071103 -------- arch/sdl/jukebox.c: hack to remove warning when compiling on Mac OS X (constant/variable dirent parameter of file selection callback for scandir) include/physfsx.h, INSTALL.txt: hard code userdir to ~/Library/Preferences/D2X Rebirth/ for Mac OS X 20071101 -------- main/collide.c, main/laser.c: Data types correction 20071031 -------- arch/ogl/gr.c, main/multi.c, main/multi.h, main/network.c, main/state.c, main/state.h: Improvements for -gl_prshot; Improved show_netgame_info(); Removed obsolete multisave code texmap/scanline.c: Fixed selection for default Texmapper 20071029 -------- main/object.c: Fixed cockpit_mode_save usage for Death sequence main/credits.c, main/inferno.c, main/menu.c, main/mission.c, main/newmenu.c: Memory stuff 20071028 -------- arch/ogl/ogl.c, include/args.h, main/collide.c, main/fuelcen.c, main/game.c, main/gamecntl.c, main/gameseq.c, main/gauges.c, main/hud.c, main/inferno.c, main/laser.c, main/network.c, main/powerup.c, misc/args.c: Fixed problems with GameTime wraparound - delay sounds, cloak, invulnerability, ping; Added debug key to Reset GameTime for testing; Removed -gl_vidmem; 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 main/newmenu.c: Using FONTSCALE_X instead of MENSCALE_X to scale netlist tabs 20071018 -------- d2x.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/gauges.c, main/inferno.c, main/menu.c, mist/args.c: Small fixes; Code cleanup; Implemented PR-Screenshot feature 20071015 -------- libmve/mveplay.c: Set defines for USE_SDLMIXER to fix issues while compiling d2x.ini, main/inferno.c: Removed -userdir switches from command-line and INI since it's not available anymore include/physfsx.h: Fixed define mistake in PHYSFSX_init 20071014 -------- d2x.ini, arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c, arch/sdl/digi_mixer_music.c, arch/sdl/jukebox.c, include/args.h, include/physfsx.h, main/game.h, main/inferno.c, main/args.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; Reworked PHYSFSX_init and removed SysUserDir so we can finally read args without a hassle; Stored MAXIMUM_FPS in game.h - where it belongs to main/game.c, main/game.h, main/gamecntl.c, main/gamerend.c: Reworked Pause-screen 20070112 -------- arch/linux/arch_ip.cpp, main/ip_base.cpp, main/ip_base.h, main/ipclient.cpp: Fixed port deformation while sending handshake d2x.ini, arch/sdl/digi.c, arch/sdl/digi_audio.c, arch/sdl/digi_mixer.c, main/inferno.c, main/menu.c, main/args.c: Fixed some command-line options main/game.c: Increased Rear_view_leave_time to 0x4000 include/physfsx.h, main/args.c: Big code refactoring, fixed issue with userdir d2x.ini SConstruct: micro version now specified as the "micro" scons flag arch/sdl/digi_mixer.c, libmve/mveplay.c: various small fixes 20071011 -------- main/movie.c, arch/sdl/digi_mixer.c, libmve/mveplay.c: enabled SDL_mixer sound backend for movie playback. When using it, audio is no longer closed/re-opened with each movie -- hence does not crash with SDL_mixer 1.2.8. 20071009 -------- main/gauges.c, main/network.c, main/scores.c: Moved show_bomb_count() to work with new transparency cockpit layer; Fixed nm_draw_background() for scores and show_game_rules() 20071008 -------- main/game.c, main/gamerend.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 arch/ogl/ogl.c, main/gauges.h: Changed name for Window Boxes - preventing redundancy in Windows build main/newdemo.c: Reset Rear_view at beginning and end of demo playback 20071006 -------- 2d/box.c, arch/ogl/ogl.c, main/game.c, main/gamerend.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 main/kconfig.c, main/kmatrix.c, main/newmenu.c: Fixed size of kconfig_sub_table background; Fixed problems caused by use of load_stars() 20071001 -------- main/gamerend.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 d2x.ini, include/args.h, main/inferno.c, main/movie.c, misc/args.c: Moved -nomovies to System Options 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, include/physfsx.h, main/gamecntl.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 include/pstypes.h: Changed define path for SDL_types header for win32 20070928 -------- main/gameseq.c, main/inferno.c, main/playsave.c: Removed some strlwr calls for -use_players_dir since it uses Uppercase letters 20070927 -------- main/gamerend.c: Removed line_spacing for not connected players in Netgame info screen 20070926 -------- main/gamerend.c, main/multi.c, main/network.c, main/network.h: Small fixes for new netgame info screen; Fixed PING routines; Once again fixed some newmenu mouse actions 20070925 -------- main/gamecntl.c: Moved some game keys to not apply if Player_is_dead flag is set 20070924 -------- main/newmenu.c, main/weapons.c: Removed key shortcuts for menus; Correctly aligned ScrollBox arrows; ScrollOffset now increments earlier is scrolling is done with keys; Fixed width for menu mouse selections; Fxied mouse selector for submenus in ScrollBoxes; Using defines for Arrow-chars in Weapon reordering 20070921 -------- most files: executable flag removed main/digi.h: restored previous value of SOUND_MAX_VOLUME 20070920 -------- d2x.ini, SConstruct, include/args.h, main/newmenu.c, main/network.c, main/multi.c, main/network.h, main/multi.h, main/inferno.c, misc/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/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 arch/sdl/jukebox.c, arch/sdl/jukebox.c, include/dl_list.h, misc/dl_list.c : added jukebox functionality 20070913 -------- main/game.c, main/gamecntl.c, main/multi.c, main/network.c: Code Re-formatting; Preventing Redundancy in Restricted-game joining; Dumping refused player back to Join-menu; Expanded Game-help screen 20070908 -------- main/gamecntl.c, main/gamerend.c, main/multi.c, main/network.c, /main/network.h: Added complex netgame information screen (key PAUSE), Removed ping commands because ping handled in new screen 20070905 -------- main/multi.c: Color names in Multi-messages to Player- or Team-color 20070903 -------- 2d/font.c, main/escort.c: Fixed embedded color strings 20070901 -------- main/credits.c, main/game.c, main/gameseq.c, main/titles.c: Moved 'if' for HiresGFX to apply after gr_set_mode call; Fixed problems with HiresGFX=0 in Pilot selection and Briefings; Fixed define for CREDITS_FILE so cfexist checks for txb-, not tex-file 20070831 -------- main/gamerend.c, main/gauges.c: HUD alignment improvements 20070829 -------- main/physics.c: Apply BUMP_HACK on walls only 20070828 -------- d2x.ini, 2d/bitblt.c, include/args.h, main/automap.c, main/credits.c, main/gameseq.c, main/inferno.c, main/newmenu.c, main/piggy.c, main/titles.c, misc/args.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 20070824 -------- main/game.c, main/gamecntl.c, main/gamerend.c: allow framerate indicator to be toggled in-game again main/mission.c, main/menu.c: Moved piggy init loading for D1 missions to load_mission_d1 20070822 -------- SConstruct: Removed hardcoded CPPPATH for MinGW environment - obsolete since r487 20070821 -------- arch/linux/linuxnet.c, arch/win32/winnet.c, include/ipx.h, main/network.c: Added ipx_check_ready_to_join for driver element CheckReadyToJoin, making sure communication between UDP/IP clients main/ip_base.h, main/ipclient.h: Fixed some compiler warnings 20070816 -------- main/inferno.c: moved first call of gr_set_mode to before font loading, so OpenGL is initialised before it tries to load textures main/fireball.c: doing pick_connected_segment in D1 way - more reliable 20070809 -------- d2x.ini, include/args.h, main/inferno.c, main/menu.c, misc/args.c: Added -ip_hostaddr argument to specify a host IP address via command-line/INI main/menu.c: Fixes and improvements on -ip_hostaddr 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/menu.c, main/movie.c, main/piggy.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/inferno.c, main/menu.c, main/network.c, main/newmenu.c: Fixed excessive use of set_screen_mode; Menu fixes; Better way to determinate Scollboxes 20070727 -------- 2d/font.c, arch/ogl/ogl.c, include/gr.h, main/automap.c, main/config.c, main/credits.c, main/game.c, main/gamefont.c, main/gamefont.h, main/gamerend.c, main/gameseq.c, main/gauges.c, main/hud.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/menu.h, main/movie.c, main/network.c, main/newmenu.c, main/playsave.c, main/scores.c, main/state.c, main/titles.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; Removed MenuHires(Available) and FontHires(Available) and replaced with HiresGFX(Available) to make a more common way to determinate if Hires data is used or not (interactive Demo); Improved support for Interactive Demo main/gamecntl.c, main/menu.c, main/songs.c, main/songs.h: Control Redbook activity with GameArg.SndEnableRedbook only 20070723 -------- arch/ogl/gr.c, arch/include/internal.h, arch/ogl/ogl.c, arch/sdl/gr.c, include/args.h, include/ogl_init.h, main/inferno.c, main/args.c: FindArg cleanup - GL-Debug and SDL arguments 20070722 -------- include/args.h, include/error.h, main/newmenu.c, main/network.c, main/inferno.c, main/menu.c, main/gamerend.c, main/automap.c, main/game.c, main/game.h, main/gamecntl.c, misc/args.c: Code cleanup and small fixes main/collide.c, main/newmenu.c, main/object.c, main/physics.c, main/weapon.c, main/weapon.h, main/gameseq.c, main/laser.c, main/kconfig.c, main/gamecntl.c: Removed old Tactile-code since ForceFeedback is currently out of question main/multi.h, main/state.c: Deactivated Multisave 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, include/digi.h, main/digiobj.c, main/inferno.c, main/ipserver.cpp, main/network.c, main/piggy.c, main/polyobj.c, main/slew.c, misc/args.c: Even more FindArg cleanups 20070718 -------- SCsonstruct, 2d/palette.c, arch/ogl/gr.c, arch/ogl/ogl.c, arch/sdl/gr.c, include/args.h, include/gr.h, include/ogl_init.h, include/palette.h, main/game.c, main/inferno.c, main/movie.c, main/render.c, main/text.c, misc/args.c: Cleaned up more FindArg's - general Debug Options; Cleanups include/args.h, include/u_mem.h, main/bmread.c, main/inferno.c, mem/mem.c, misc/args.c: Cleanups 20070716 -------- d2x.ini, arch/ogl/gr.c, arch/ogl/ogl.c, arch/ogl/include/internal.h, arch/sdl/gr.c, include/args.h, include/gr.h, include/ogl_init.h, main/automap.c, main/game.c, main/game.h, main/gamecntl.c, main/gamefont.c, main/gauges.c, main/inferno.c, main/menu.c, main/movie.c, main/newmenu.c, main/titles.c, misc/args.c: Cleaned up more FindArg's - (most important) OpenGL Options main/game.c: Fixing duplicated gr_toggle_fullscreen() main/cntrlcen.c, main/game.c, main/game.h, main/gamerend.c, main/laser.c: Removed unused RealFrameTime; Removed FPS-dependent Homing-tracking code d2x.ini, arch/linux/linuxnet.c, arch/win32/winnet.c, include/args.h, main/game.c, main/gamecntl.c, main/hud.c, main/inferno.c, main/ip_base.cpp, main/ipclient.cpp, main/multi.c, main/network.c, misc/args.c: Cleaned up more FindArg's - Networking Options; Some fixes 20070715 -------- Sconstruct, d2x.ini, arch/sdl/mixdigi.c, arch/sdl/rbaudio.c, arch/win32/midi.c, include/args.h, include/physfsx.h, main/ai2.c, main/bmread.c, main/config.c, main/digi.h, main/digiobj.c, main/game.c, main/inferno.c, main/menu.c, main/movie.c, main/multi.c, main/piggy.c, main/songs.c, misc/args.c: Cleaned up more FindArg's - Sound Options main/piggy.c: use EdiMacData, not SysMacData (compiler error) d2x.ini, arch/sdl/gr.c, arch/ogl/gr.c, include/args.h, main/automap.c, main/automap.h, main/collide.c, main/collide.h, main/config.c, main/game.h, main/gamecntl.c, main/gauges.c, main/gauges.h, main/inferno.c, main/movie.c, main/movie.h, main/playsave.c, misc/args.c: Cleaned up more FindArg's - Graphics Options 20070714 -------- SConstruct, d2x.ini, arch/sdl/init.c, arch/sdl/joy.c, include/args.h, include/physfsx.h, main/config.c, main/game.c, main/game.h, main/gamerend.c, main/gameseq.c, main/hud.c, main/inferno.c, main/kconfig.c, main/laser.c, main/menu.c, main/multi.c, main/newdemo.c, main/newmenu.c, main/piggy.c, main/playsave.c, main/playsave.h, main/state.c, main/state.h, main/titles.c, misc/args.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: using gr_flip() with title screens 20070628 -------- main/game.c, main/newdemo.c: fixing compiler warning, show up HOARD textures in demo playback 20070616 -------- main/newmenu.c: adjusted size of Inputbox; code cleanup for saving/restoring state; also display savegame thumbnail when saving game 20070615 -------- SConstruct, arch/sdl/digi.c: complete removal of hmiplay-code usage 2d/bitblt.c, arch/ogl/ogl.c, ogl_init.h, main/gamerend.c, main/newmenu.c, main/state.c: small code cleanup; improved texture caching in menus to save RAM 20070614 -------- 2d/font.c, libmve/decoder16.c, main/object.c, main/piggy.c, main/polyobj.c, main/render.c, mem/mem.c: using size_t when it comes to integer to pointer conversions main/game.c, main/gamecntl.c, main/gamepal.c, main/gamerend.c, main/gauges.c, main/hud.c, main/inferno.c, main/kconfig.c, main/menu.c, main/playsave.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; improved grabmouse so mouse is always released in non-SCREEN_GAME modes 20070611 -------- 2d/bitblt.c, arch/linux/hmiplay.c, arch/linux/ipx_bsd.c, arch/linux/ukali.c, libmve/decorder16.c, main/fvi.c, main/gameseq.c, main/newdemo.c, main/newmenu.c, main/object.c, main/playsave.c, main/render.c: fixed a bunch of compiler warnings arch/include/mouse.h, arch/sdl/mouse.c, arch/win32/include/mouse.h, arch/ogl/gr.c, include/palette.h, main/bmread.c, main/credits.c, main/desw.h, main/gamepal.h, main/gamesave.c, main/gameseq.c, main/inferno.c: fixed more compiler warnings 20070610 -------- arch/carbon/conf.h, SConstruct: fix Mac errors involving use of 'VERSION' arch/linux/arch_ip.cpp, main/ip_base.cpp, main/ipclient.cpp, main/netmisc.h: fix more Mac errors for new UDP/IP 2d/bitblt.c, 2d/font.c, 2/rle.c, arch/ogl/gr.c, arch/ogl/internal.h, arch/ogl/ogl.c, include/gr.h, include/ogl_init.h, include/rle.h, main/game.c, main/gamerend.c, main/gauges.c, main/render.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/netmisc.h, 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 -------- d2x.ini, SConstruct, arch/linux/arch_ip.cpp, arch/linux/linuxnet.c arch/linux/ukali.c, arch/linux/include/ipx_drv.h, arch/win32/arch_ip.cpp, arch/win32/winnet.c, arch/win32/ipx_drv.h, arch/win32/include/ipx_drv.h, main/ip_base.cpp, main/ip_basec.h, main/inferno.c, main/ipbase.h, main/ipclient.cpp, main/ipclienc.c, main/ipclient.h, main/menu.c, main/network.c, main/playsave.c, main/vers_id.h: Removed old UDP/IP and MCAST4 code; Implemented online-capable UDP/IP interface 20070527 -------- include/cfile.h, main/inferno.c, main/mission.c, main/movie.c: add add_to_end parameter to cfile_init, allowing custom MIDI music to be found in an add-on hog arch/sdl/mixmusic.c: look for music files in "Music" dir, store MIDI's in "Music/" to better support custom MIDI music main/mission.c, main/mission.h: close add-on hog when loading another mission, so the add-on hog's custom MIDI music isn't played when playing the built-in mission 20070523 -------- arch/ogl/gr.c: make sure gl functions are not called before OpenGL is initialised, when fullscreen switching 20070522 -------- SConstruct: Added conditions to add compiler/linker flags from user's environemnt if they have any set. main/gameseq.c, main/state.c: make sure the right slot is saved to, and it shows the save screen if appropriate, when using fast save (F6) 20070521 -------- ui/window.c: use new 3 argument mouse_get_delta to avoid compiler errors d2x.ini, main/cntrlcen.c, main/gameseq.c, main/inferno.c, main/multi.c, main/newmenu.c, main/playsave.c, main/playsave.h, main/state.c, main/state.h: add use_players_dir argument, which puts player files and saved games in Players subdirectory, like original Mac D2 folder layout 20070516 -------- include/cfile.h, include/physfsx.h, main/bm.c, main/mission.c, main/piggy.c: allow built-in data files to go in the 'Data' directory, like original Mac D2 folder layout 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/include/mouse.h, include/error.h, main/config.h main/game.c, main/gamecntl.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 20070512 -------- main/endlevel.c: Changed RAND_MAX to D_RAND_MAX in vector multipler so that resulting scale equals something logical. Fixes explosions/attached sound when chasing player during endlevel tunnel exit main/switch.c: Added condition so that sounds keep playing through exit sequence when exiting a D1 level 20070511 -------- main/movie.c: if movielib isn't found in requested resolution, do NOT select other version, since the game is unable to determinate to switch correctly - instead skip playback in that case 20070510 -------- main/gameseq.c: moved load_palette() call in StartNewLevelSub() to show HOARD textures and bitmaps correctly in OGL main/inferno.c: read -pilot arg with and without filename extension 20070509 -------- arch/ogl/gr.c, main/gamecntl.c, main/newmenu.c: update viewing values at Fullscreen Toggle; added Fullscreen Toggle to Menus and Demo Playback 2d/tmerge.c, tmerge_a.asm: fixed Assembler Compile Build error 20070506 -------- main/titles.c: removed unnecessary gr_set_mode() call causing annoying resolution change (hopefully) 20070505 -------- main/gameseq.c: fixed broken Textures for Custom levels caused by load_palette() call 20070503 -------- CHANGELOG.txt, COPYING.txt, INSTALL.txt, README.txt: updated docs SConstruct: Version-Tag 0.52 20070502 -------- main/gauges.c: resolved some overlapping HUD elements main/game.c: rev432 revisited - do not send multi De-Cloak packet in Demo Playback 20070427 -------- main/game.c: removed FrameTime limiter since it is only messing if 150FPS or more is reached 20070425 -------- arch/cocoa/tool_bundle.py, SConstruct: add Mac OS X support to SConstruct 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/newmenu.c: only draw copyright stuff if there is really the menu background (not being changed by draw_stars()) d2x.ini, arch/sdl/rbaudio.c, main/config.c, main/inferno.c, main/menu.c, main/songs.c: removed -nocdrom argument, only use Redbook audio if specified with -redbook 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 main/escort.c: making GuideBot Text color palette independent main/gameseq.c, main/switch.c: fixing D1 Secret Level routines (thanks to xatmes) main/game.c, main/gauges.c: removed use of VR_render_buffer (almost completly) 20070409 -------- arch/carbon/conf.h, include/pstypes.h: move determination of WORDS_BIG_ENDIAN to pstypes.h as SCons can't do it (as far as I know). SCons doesn't make conf.h arch/carbon/SDL_main.c, arch/cocoa/SDLMain.m, arch/dos/digimm.c, arch/include/gp2x.h, arch/ogl/sdlgl.c, arch/sdl/digi.c, arch/sdl/event.c, arch/sdl/gr.c, arch/sdl/init.c, arch/sdl/joy.c, arch/sdl/key.c, arch/sdl/mouse.c, arch/sdl/rbaudio.c, arch/sdl/timer.c, include/cfile.h, include/error.h, include/hmp2mid.h, include/physfsrwops.h, include/physfsx.h, libmve/mve_main.c, libmve/mveplay.c, main/config.c, main/console.c, main/gamecntl.c, main/inferno.c, main/newdemo.c, main/newmenu.c, main/newmenu.h, main/playsave.c, misc/hmp2mid.c, misc/ignorecase.c, ui/file.c: include SDL/SDL.h for all platforms and physfs/physfs.h for Mac OS X to avoid having to add some hard-coded include paths 20070407 -------- main/newmenu.c: hide cursor after newmenu_get_filename() 20070406 -------- SConstruct: some help correction 20070405 -------- arch/dos/gr.c, arch/ogl/gr.c, arch/sdl/gr.c, main/game.c, main/gameseq.c, main/inferno.c, main/menu.c, main/playsave.c, main/screens.h: resolution variable cleanup - remove VGA_current_mode, VR_screen_mode and VR_render_buffer[0].cv_bitmap.bm_w/h (Game_screen_mode is the actual resolution put in an int, not an index) SConstruct: BINARY_SUBDIR should be bin/, not games/ 20070404 -------- main/gauges.c: fixing Alt-HUD Y-Offset for Multi-Games 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 arch/linux/ipx_udp.c, arch/win32/ipx_udp.c: fixed typo in default broadcast main/game.c: extend show_help() with some netgame commands main/mission.c: set enhaced-flag a bit earlier so D1 missions do not get messed up after an enhanced mission had been played main/inferno.c, main/menu.c: improved Autodemo-feature - less code, activate AFTER pilot is selected to make sure resolution and player-file operations do not mess up main/gamerend.c, main/gameseq.c, main/newmenu.c: close menu with boxed message; improved palette reloading; fixed selected item for restore game dialog 20070403 -------- main/newdemo.c: fixed seek errors and data types in newdemo_goto_end() 20070402 -------- main/network.c, main/newmenu.c: palette reloading sets at every newmenu_close() 20070401 -------- main/newmenu.c: moved gr_palette_load() in nm_draw_background so it always does apply and resets step-ups properly main/game.c, main/game.h, main/gamecntl.c, main/gameseq.c, main/gauges.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/gamecntl.c, main/newmenu.c, main/titles.c: move variable declarations to the top for non-gcc compilers (like MrC for MPW) main/mission.c, main/movie.c: improved HAM support with enhanced-flag detection and fixed Extra-Movie init in load_mission(); close Extra-Movies according to movielib_files d2x.ini, main/game.c, main/game.h, main/inferno.c: a switch to disable timer_delay in calc_frame_time - may be used if game runs a bit choppy 20070329 -------- main/gamerend.c, main/network.c, main/newmenu.c, main/titles.c: palette-related fixes for Doublebuffered menus; fixes for SDL-build 20070326 -------- main/gamecntl.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 20070325 -------- main/movie.c, main/network.c, main/titles.c, main/wall.c: do not close movies for now to prevent leaks (PhysFS should do that); fixed crash with malformed N_players if Netgame start is forced in DEBUG; improved briefing screen loading and delay; made wall warning-message not show up in NDEBUG (non-critical) main/gamecntl.c, main/hud.c: allow Quick-Exit with SHIFT+ESC; blocking "SUPER LASER MAXED OUT!" redundancy in stdout 20070324 -------- main/mission.c: remove add_alternate_hogfile because it couldn't close the main hog file (it's normally in use) 20070324 -------- main/game.c, main/gamerend.c, main/gauges.c, main/hud.c, main/inferno.c, main/menu.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) 20070322 -------- SConstruct, arch/ogl/gr.c, arch/ogl/ogl.c, include/ogl_init.h, main/credits.c, main/escort.c, main/game.c, main/gamecntl.c, main/gamerend.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/movie.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 main/inferno.c: must not allow single-buffering for OGL 20070321 -------- 2d/canvas.c, arch/dos/gr.c, arch/ggi/gr.c, arch/ogl/gr.c, arch/ogl/ogl.c, arch/sdl/gr.c, arch/svgalib/gr.c, arch/win32/gr.c, arch/win32/win32.c, include/gr.h, include/ogl_init.h, main/automap.c, main/desw.h, main/escort.c, main/game.c, main/game.h, main/gamecntl.c, main/gamerend.c, main/gauges.c, main/hud.c, main/screens.h: add gr_flip, allowing significant cleanup including the moving of gr_show_canvas, Pages and VR_screen_pages to arch/dos/gr.c arch/ogl/gr.c, main/game.c, main/gamerend.c, main/gauges.c, main/hud.c, main/inferno.c, main/screens.h: remove final remnants of VR_current_page and VRF_USE_PAGING, also allowing -nodoublebuffer switch for all platforms. Fix single buffering for d2xgl 20070306 -------- main/kconfig.c, main/kconfig.h, main/newmenu.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/mission.c: improved Error-handling for starting a mission, making the game not crash if Level file is not found main/automap.c, main/guages.c, main/menu.c, main/network.c: improved create_name_canv(); cleaned up hud_show_weapons_mode(); fixed palette loading in RegisterPlayer(); only show newline in network_get_game_params() if MenuHires arch/linux/hmiplay.c, main/hud.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 ...) arch/sdl/joydefs.c, main/config.h, main/playsave.c: make Joystick Deadzone save in PLX file (Thanks xatmes) 20070303 -------- d2x.ini, main/inferno.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 20070220 -------- arch/sdl/key.c: Added ENTER as Game key texmap/scanline.c: removed unreliable gr_fade_table check in c_tmap_scanline_per() 20070219 -------- arch/sdl/gr.c: SDL compile fix main/hud.c: block "You already have"-messages in HudLog output; make 'Press any key ...'- and 'Demo recording' messages not overlap main/ai.c: amd64 fix 20070218 -------- include/3d.h: use generic 'struct object' instead of including object.h, so gcc4.0 with Xcode doesn't complain about FSCALE being passed to CLIPLINE in 2d/line.c (strange indeed) 20070217 -------- d2x.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/mixdigi.c, arch/sdl/mixmusic.c, include/hmp2mid.h, misc/hmp2mid.c: Going back to PHYSFS_file type (lower-case 'f') for compatibility; Turning off sound debug flags; Optional micro versions (see SConstruct); Makefile emulation for SCons 20070211 -------- d2x.ini, main/collide.c, main/collide.h, main/fireball.c, main/inferno.c, main/object.c: improved debris random stuff, added -persistentdebris feature 20070209 -------- arch/ogl/gr.c, arch/sdl/gr.c, include/gr.h, main/inferno.c: set MENU_SCREEN_MODE at init to set movie according to -menu parameter and also prevent unnecessary screen changes d2x.ini, main/inferno.c: added -gl_voodoo to OpenGL command-line switches and INI SConstruct: added default lflag path for *NIX build 20070208 -------- main/newdemo.c: fixed demo playback Afterburner gauge and Primary weapon ammo info main/game.c, main/game.c, main/movie.c, main/movie.h: since Movies are initiated once in runtime, indroduced SCREEN_MOVIE to set desired movie resolutions seperatly from menu or game resolution main/gauges.c: position alignment for alt-hud2 to prevent overlay with extra views; created offset for LOCK message string if demo record or playback 20070207 -------- main/movie.c: close EXTRA_ROBOT_LIB correctly iff/iff.c: amd64 fixes arch/linux/ipx_udp.c, arch/win32/ipx_udp.c: on-screen network error messages 20070206 -------- 2d/bitblt.c, main/automap.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 20070205 -------- main/menu.h: make sure Menu_pcx_name gets loaded correctly if resolution is lowres main/automap.c: fixed secret level name canvas 20070202 -------- main/gauges.c: corrected Y alignment of hud_show_homing_warning arch/ogl/ogl.c: don't draw bombs with transparency even if -gl_transparency is enabled main/state.c: complete removal of broken Autosave feature 20070131 -------- main/object.c: If bright ships are enabled cast F1_0*2 light instead of F1_0 which is too dark 20070130 -------- d2x.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_mcast.c, arch/linux/ipx_udp.c, arch/win32/ipx_mcast.c, arch/win32/ipx_udp.c: corrected UDP/IP error output main/inferno.c: set movie resolution correctly when no parameter is given - referring to rev365 dxx-readme.txt, SConstruct: preparations for v0.51 release 20070129 -------- main/gamecntl.c: fixed energy->shield transfer message output showing 'No transfer: Shields already at max' everytime if there is enough energy 20070127 -------- main/credits: use ogl_ubitmapm_cs instead of show_fullscr in OGL to render faster main/gamerend.c: corrected position of multi-message entry string 20070126 -------- main/credits.c: improved credits scrolling - not that smooth anymore, but less CPU intense dxx-readme.txt, dxx-compile.txt: improvements on dxx-readme's 20070125 -------- arch/ogl/gr.c, include/gr.c, main/game.c: write screenshots to subdirectory main/inferno.c: improved resolution-check method - removed old code 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, arch/linux/ipx_udp.c, arch/ogl/gr.c, arch/ogl/ogl.c, arch/win32/init.c, arch/win32/ipx_udp.c, include/pstypes.h: cfile/cfile.c: special WINDOWS fixes and cleanups, corrected automated UDP broadcast arch/include/key.h, main/game.c: fixed PRINTSCREEN key for WINDOWS main/kmatrix.c: fixed multi summary reactor lifetime refresh main/escort.c: made thief messages brighter 20070120 -------- main/automap.c: for OGL don't display background bitmap if screen height < 400 because it won't fit - just draw grey; adjusted level name alignment in secret levels main/render.c: removed inaccurate 4D hack d2x.ini, main/inferno.c: corrected -maxfps switch: MAX_FPS is 80, not 100 d2x.ini, main/inferno.c, main/network.c: made short packets default on. long packets are still available but in general cause more problems than short main/network.c: additional newline line in netgame menu - looks better arch/ogl/ogl.c: in g3_draw_sphere align rad according to canvas so it is always in round shape 20070119 -------- arch/ogl/gr.c: gr_upixelc now able to scale pixels to current resolution 20070118 -------- main/gauges.c: draw bomb count correctly in CM_FULL_SCREEN ... finally main/laser.c: made Omega selectable even if it has no energy left and can't fire 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 20070114 -------- main/hud.c: moved hudlog printf's so they do not spam stdout with redundant messages 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 arch/cocoa/d2x-rebirth.icns: update to Novacron's 128x128-bit icon main/kconfig.c: do not select weapon if guide-bot shortcut has done and weapon key is mapped from 0 to 9 d2x.ini, main/inferno.c, main/movie.c: removed mipmap for movies - makes not a real sense or effect main/gamecntl.c: also use ALT-F9/F10 for demo playback 20070112 -------- main/kmatrix.c: fixed canvas stuff to show summary correctly in OGL, added new strings for CTF and HOARD, code cleanup SConstruct: added NATIVE_IPX and KALINIX to build main/newdemo.c: removed timer_delay from DoJasonInterpolate - caused slowdowns in some demos 20070110 -------- main/kconfig.c, main/newmenu.c: joystick axes can be reassigned; higher offset for axes moving detection; correction for menus that are bigger than screen 20070109 -------- dxx-changelog.txt: added missing changelog entries 20070107 -------- arch/cocoa/d2x-rebirth.icns, d2x-Info.plist: add Mac OS X icon 20061231 -------- main/inferno.c: fix a memory leak that occurs when listing the search paths main/inferno.c: if no Descent 2 hog file is available, generate an error, not a warning main/mission.c: allow an add-on mission to override the built-in hog file, such as the use of custom MIDI tracks 20061230 -------- arch/sdl/mixmusic.c, include/cfile.h, include/hmp2mid.h, misc/hmp2mid.c: use PhysicsFS to write MIDI file, make hmp2mid use PhysicsFS exclusively 20061229 -------- arch/ogl/gr.c, arch/ogl/ogl.c: allocate 'pixels' and 'texbuf' according to current screen resolution, saving over a hundred megabytes of memory 20061228 -------- D2X.make, README: make it easier to build for SDL Video on Mac OS 9, update README dxx-readme.txt: add some useful comments on installation, including specifically for Mac OS 9 D2X.make, texmap/scanline.c, texmap/tmapppc.a: add PowerPC assembly texture mapper (requires PPCAsm, which is for Mac OS 9 only) 20061226 -------- arch/carbon/conf.h, arch/sdl/gr.c, d2x-Info.plist, d2xgl-Info.plist, main/inferno.c, English.lproj/InfoPlist.strings: update version info, use DESCENT_VERSION instead of PACKAGE_NAME D2X.make: disable a heap of warnings that are impractical to fix (eg assignment in an if ()) 20061225 -------- main/titles.c: fix crash where loading screen function is called before video mode is set (when SDL Video is used as well as -notitles) arch/carbon/conf.h, arch/carbon/SDL_main.c: fix compile errors when building on Mac OS 9 using SDL 1.2.10 (conflicting macros, use of putenv) 20061224 -------- arch/ogl/gr.c: use PhysicsFS to check for existing screenshots, previous method may have caused writing over of open screenshots (from D2X CVS) arch/ogl/gr.c: avoid loading OpenGL textures before they have been paged in, bug found by loading Abalyon 5 (from D2X CVS) main/weapon.c: only autoselect a secondary weapon if the player didn't have any of that type before (fix bug #2671) (from D2X CVS) texmap/scanline.c: divide negative light rates of change properly (fix bug #2575) (from D2X CVS) texmap/tmapflat.c: divide negative window x-coordinates properly, fixing random crashes (from D2X CVS) arch/carbon/conf.h: allow universal binaries to be built using Xcode 2.1 or later (from D2X CVS) arch/sdl/digi.c: add MIDI stubs for Mac, it doesn't have the 'real' functions yet arch/sdl/joy.c: use d_strdup instead of strdup to avoid errors when compiling on Mac OS 9, free the joystick button texts when closing main/inferno.c: use strncpy instead of snprintf, MPW on Mac OS 9 doesn't have snprintf main/automap.c, main/gamefont.c, main/newmenu.c, main/state.c, main/titles.c: warning fixes for gcc 4.0 main/playsave.c: make sscanf look for "%i.%i" instead of "v%i.%i" because the 'v' isn't written to file (used to cause D2X for Mac OS 9 to crash), use PHYSFS_delete instead of unlink to be safe include/physfsx.h: chdir to application directory so it uses relative userdir and hogdir paths properly, in Mac OS X it can make the root directory the current one 20061223 -------- main/game.c, main/gamerend.c: small brace tidy up to allow a source code editor to list all the functions (from D2X CVS) 20061219 -------- 2d/rle.c, SConstruct, arch/include/gp2x.h, arch/linux/hmiplay.c, arch/ogl/gr.c, arch/sdl/digi.c, arch/sdl/event.c, arch/sdl/gr.c, arch/sdl/joy.c, arch/sdl/key.c, configure.ac, gp2x/buttonmap.txt, gp2x/dxx-rebirth_buttonmap.pdf, gp2x/notes.txt, include/physfsx.h, main/Makefile.am, main/automap.c, main/config.c, main/game.c, main/gamecntl.c, main/gamerend.c, main/gauges.c, main/inferno.c, main/kconfig.c, main/menu.c, main/movie.c, main/newmenu.c, main/physics.c, main/piggy.c, main/playsave.c, main/scores.c, main/text.c, main/titles.c, maths/fixc.c, texmap/scanline.c: GP2X handheld support; added SConstruct file (MAC support incomplete); code optimisations for software renderer; fixed memleaks 20061212 -------- arch/sdl/mixdigi.c, arch/sdl/mixmusic.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) 20061123 -------- arch/include/mixmusic.h, arch/sdl/mixdigi.c, arch/sdl/mixmusic.c: SDL_mixer backend implementation files for D2 20061113 -------- include/hmp2mid.h, misc/hmp2mid.c: Providing hmp2mid code, which was previously forgotten when introducing sdl_mixer in r264 20061107 -------- arch/linux/Makefile.am, arch/sdl/Makefile.am, arch/win32/Makefile.am, configure.ac, include/cfile.h, misc/Makefile.am, initial integration of SDL_mixer sound system for Linux 20061102 -------- arch/ogl/gr.c, d2x.ini, include/ogl_init.h, main/gauges.c, main/inferno.c, command-line to set glScissor off if needed arch/include/joy.h, arch/sdl/joy.c: improved joystick code for more buttons 20061101 -------- main/render.c: just turn off detriangulation for OGL 20061031 -------- main/kconfig.c: make sliding use sensitivity main/game.c, main/inferno.c, main/movie.c, misc/args.c, moved some FindArgs to main() so they are not called in the game; added printf for DEBUG to track FindArgs 20061031 -------- d2x.ini, main/inferno.c: removing -cockpit and -hiresfont parameters which actually belong to D1X-Rebirth 20061029 -------- main/render.c: turning detriangulation off by default; not really needed anymore and makes rendering nicer 20061023 -------- /arch/sdl/joy.c: increased "MAX_HATS_PER_JOYSTICK" from 4 to 128 to prevent axes recognition problems /d1x.ini, /main/inferno.c, /main/menu.c: in do_options_menu decreased i by 1 to not show d2x options menu if arg -nod2xmenu is found; added help text; added INI line /arch/ogl/ogl.c: changed ogl_loadtexture to deal with transparent walls /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 /arch/ogl/sdlgl.c, /arch/ogl/ogl.c, /main/endlevel.c: added GL functions to fix the portal-bug; added exception boolean value tempNoDepthTest to render d1 endlevel correctly; code reformatting /arch/win32/hmpfile.c, /arch/win32/hmpfile.h, /arch/win32/midi.c, /main/songs.c: midi repeat improvements /arch/ogl/gr.c, /arch/sdl/gr.c, /main/inferno.c, /d2x.ini: added variable aspect function, changed cmd-help, changed ini file /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 /d1x.ini, /main/inferno.c, /main/menu.c: rejected -nod2xmenu feature /main/gameseg.c: disabled another Assert. commented with FIXME's - debugging if needed /main/inferno.c: made 22k sounds default /arch/ogl/ogl.c, /main/automap.c: show borders in SDL and OGL, optimized and cleaned /2d/font.c, /arch/ogl/ogl.c, /d2x.ini, /include/gr.h, /include/ogl_init.h, /main/automap.c, /main/gamefont.c, /main/inferno.c, /main/kconfig.c, /main/menu.c, /main/newmenu.c, /main/newmenu.h, /main/scores.c, /main/state.c, /main/titles.c: made fonts scalable, added command-line to enable fixed fonts, made savegame thumbs scalable, reworked menu borders, new way to display level info in automap to get right with scaled fonts. additionally layed out special characters to newmenu.h /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 /arch/ogl/gr.c, /arch/sdl/gr.c, /d2x.ini, /main/automap.c, /main/game.c, /main/gamecntl.c, /main/gamerend.c, /main/gameseq.c, /main/gauges.c, /main/inferno.c, /main/kconfig.c, /main/menu.c, /main/movie.c, /main/newmenu.c, /main/playsave.c, /main/scores.c, /main/screens.h: 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 '-menux' to scale menus /2d/bitblt.c, /arch/ogl/gr.c, /main/game.c, /main/gamerend.c, /main/gameseq.c, /main/gauges.c: scalable HUD, improvements for HUD and cockpits, cleaner code, fixes to get SDL renderer working again /arch/sdl/joy.c, /arch/sdl/joydefs.c: added joystick deadzone feature /main/inferno.c: saving config files in home directory /main/slew.h: fix error when building editor with RELEASE (d2x-cvs takeover) /arch/carbon/descent.r: don't allow MPW build to run in OS X (d2x-cvs takeover) /main/laser.c, /main/object.c: fix crash when a robot's guided missile explodes (d2x-cvs takeover) /d2x.xcode/project.pbxproj: add references to headers in main for SCM and batch find (d2x-cvs takeover) /main/inferno.c, /main/multi.c, /main/multi.h: move hoard data saving from main to save_hoard_data (d2x-cvs takeover) /main/inferno.c, main/titles.c, main/titles.h: move titles, loading screen and order form showing to titles.c (d2x-cvs takeover) /include/physfsx.h, /main/inferno.c: move PhysicsFS initialisation, search path setup and argument reading to physfsx.h (d2x-cvs takeover) /ChangeLog: Update /main/game.c, /main/inferno.c, /main/menu.c, /main/playsave.c: removing unnecessary stuff from game_init_render_buffers; better resolution handling; storing resolution stuff in PLX file (Thanks to Hans de Goede and Chris Taylor)" /arch/sdl/joydefs.c, /main/config.h, /main/gameseq.c, /main/kconfig.c, /main/newmenu.c, /main/playsave.c: added new control type: Joystick & Mouse (Thanks to The_Lion) /main/credits.c: code cleanup /2d/font.c, /arch/ogl/ogl.c, /include/ogl_init.h, /main/automap.c, /main/gamerend.c, /main/gauges.c, /main/newdemo.c, /main/state.c: corrected demo-related font positions; fixed window view glitch in demo playback; merged ogl_ubitmapm_cs and ogl_ubitmapm_cf /2d/font.c, /main/gamecntl.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, /arch/sdl/joy.c , /main/gamerend.c, /main/gauges.c, /main/hud.c, /main/menu.c: print joystick dialog to stdout; print time with hud messages; fixing some graphical glitches; repaired brightness slider (oops); code cleanup /2d/font.c, /arch/ogl/gr.c, /arch/ogl/internal.h, /arch/ogl/ogl.c, /arch/ogl/sdlgl.c, /main/gamecntl.c, /main/inferno.c: introduced FSAA; fixed fullscreen toggle glitches; adjusted OGL_TEXTURE_LIST_SIZE and OGLTEXBUFSIZE; code cleanup; fixed memleak in game pause; restored font.c (oops) /main/movie.c: made file extension for TXB files lowercase to match filename case itself. makes easier to use external files /arch/ogl/gr.c, /main/inferno.c, /main/menu.c, /main/newmenu.c, /main/vers_id.h: if player is deleted also delete PLX file; removed date strings, not necessary; added Menu_special /configure.ac, /Makefile.am: changed build target to 'rebirth'; changed version string; preparations for v0.50 release /main/gauges.c: corrected position of shield/energy numbers if 200 /main/movie.c: improved code to show scaled movies /arch/ogl/gr.c, /arch/ogl/ogl.c, /arch/ogl/sdlgl.c, /include/gr.h, /main/inferno.c: re-enabled SDL_SetGammaRamp; removed FSAA because no function on all platforms; fixed offscreen render; better restriction to show menus ingame /main/render.c, /main/wall.c: improved 4D room detection /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/credits.c: make scrolling smoother by changing time_delay /main/gauges.c: fixes for alt huds /main/gauges.c, /main/titles.c: don't show alt hud while guilded missile view; removed unnbecessary delay in show_char_delay to make robo movies smoother /main/menu.c: print warning if resolution is set too high and don't change after all /arch/ogl/gr.c, /main/lighting.c, /main/state.c: fixing OGL compile bug; fixing calculation of object light before and after restoring a saved game /arch/sdl/joydefs.c, /main/config.h: re-activated Weapon Keys menu - aka D2X keys /arch/sdl/joy.c, /main/inferno.c: fixing mem corruptions while closing joysticks; removed Joystick calibration which should be unnecessary with SDL /arch/ogl/ogl.c: Fix for inherent limitation in pow2ize() and wrong description thereof /d1x.ini, /main/inferno.c: cleaned up command-line help; removed old/redundant/unfunctional options; improved code to read -pilot argument /arch/ogl/gr.c: make write_bmp use PhysFS /main/credits.c: adjusted credits scroll speed with MenuHires /include/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: made lines width scale to resolution; fixed compiler warnings /main/object.h: fixed compiler warnings in object header /main/inferno.c, /main/kconfig.c: using global variable for sp-mouselook to save CPU usage 20060416 -------- /main/newmenu.c, /main/gauges.c, /main/gameseg.c, /main/menu.c, /main/gamesave.c, /main/gamerend.c, /include/strutil.h, /main/bm.c, /main/gamepal.c, /main/piggy.c, /misc/strutil.c, /main/object.c, /main/render.c, /main/editor/kfuncs.c, /main/editor/med.c: implementation of current d2x-cvs patches /main/automap.c: FIX: deleting marker dialog in automap causes major graphical issues in automap /main/movie.c: more original look of scalable movies /texmap/tmapppro.S: compile-time bug with ASM /arch/ogl/ogl.c, /arch/ogl/include/ogl_init.h, /2d/bitblt.c, /main/menu.c, /main/game.c, /main/gamerend.c, /main/gauges.c: scalable cockpits /main/gamesave.c: FIX: d2x restores window size wrong after restart /main/gauges.c: FIX: if "you already have 20 concussion missles!" is displayed, lives and score disappeared /main/gauges.c: better alt-huds, alt-huds in cockpit /arch/ogl/ogl.c: fixed renderstats option /main/physics.c: allow asserting objet to none if player is dead - fixes some random crashes /main/credits.c: new credits code /main/gauges.c: no use of fading if alt huds and no alt hugs if missile view /arch/ogl/gr.c: FIX: gamma changes change whole screen /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/ogl.c, /include/ogl_init.h, /2d/bitblt.c, /main/movie.c, /main/inferno.c: added mipmap operator to ogl_bitblt_i, added if to MovieShowFrame to switch off movie mipmap if argument -nomoviesmooth given, added command-line option /arch/ogl/gr.c, /main/menu.c: removed fullok hack for fullscreen changing 20060226 -------- /arch/ogl/include/internal.h fixing "OGL: texture list full"-bug /arch/linux/ipx_udp.c, /arch/win32/ipx_udp.c: full broadcast as default in UPD/IP games /configure, /main/vers_id.h: changes in date, version-number /arch/ogl/gr.c: setting gl_reticle as default (if you don't like it, set -gl_reticle 0) /main/gauges.c: fixed alt-hud text positions for gl_reticle /main/menu.c: removed serial connection functions (not really needed anymore) /main/game.c, /main/inferno.c: implementation of menu in gameres /arch/ogl/ogl.c, /main/movie.c: scalable movies /main/menu.c: removed vertigo say for menu_gameres /main/menu.c: load resolution after player is selected /main/game.c, /main/gamecntl.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/credits.c: credits now working correctly with menu_gameres /main/scores.c: fixing frames in scoretable in menu_gameres /main/kconfig.c: fixing frames in controls-config in menu_gameres /main/menu.c: implementation of custom resolutions /main/game.c, /main/menu.c: new calls to get right fonts with new resolutions menus-menu /main/newdemo.c: smoother demo-playback /arch/sdl/digi.c, /arch/linux/Makefile.am, /arch/linux/Makefile.in: implementation for midi on linux /main/inferno.c: fixing possibility for midi-loops after game was killed 20060122 -------- /main/menu.c: removed second resolutions menu /arch/ogl/gr.c: resolution switches now faster in windows (at least as fast as windows is able to) 20060116 -------- /main/inferno.c, /main/gamerend.c: added -fps switch /arch/ogl/gr.c: fix for screenshot function /main/inferno.c, /main/kconfig.c: new function for optional mouselook style feature /arch/ogl/ogl.c: D2X-CVS update - make super transparent textures have alpha /main/titles.c: D2X-CVS update - for Descent 1 briefings, look for briefings no further than NUM_D1_BRIEFING_SCREENS (fix bug #2270) /main/inferno.c: new definition of config dir for linux because multiplatform release, fix for soundloops after game quit (some onboard soundcards) /arch/ogl/gr.c, /main/game.c, /main/menu.c: fix for fullscreen switching in windows /main/game.c, /main/gamecntl.c /main/gameseq.c: resolution fix after pause, secret level messages and guidebot menu /main/mission.h: fix to hold up to 5000 addon levels /main/game.c: made nicefps standard. better gameplay, lesser cpu usage, a little pause in linux for resolution change at new game /main/gamerend.c: fix for guided missle crosshair /main/menu.c: resolutions up to 1600x1200 /arch/ogl/gr.c, /arch/ogl/sdlgl.c: fix for ingame screenshots /arch/include/key.h, /main/game.c: windows fix for PRINTSCREEN key -> is now ALT+P /main/credits.c: fix for crash while credits in higher game resolutions /main/escort.c: fix for linespacing in guidebot-menu /main/inferno.c, /main/gauges.c: added new hud modes /misc/args.c: fix for crashes while using modified d2x.ini various: code cleaning, fixes and additional includes for windows build, restructuration for new multiplatform release 20051025 -------- /main/inferno.c: cleaned up the command-line help, removed inactive/defected functions /main/kconfig.c: improved turn speed on x and y if mouse is used for better/faster control /main/newmenu.c: fixed messageboxes to prevent chrases in automap, secret leves etc /main/menu.c: fix to prevent toggles menu from crashing game README.TXT: removed/changed some kown issues added gentoo and suse 10 to working ditributions added Maystorm to Thanks section Changelog: file created 20050928 -------- README.TXT d2x-install.sh: Added hint to create $HOME/.d2x manually 20050916 -------- initial release /main/gamerend.c: fix for death-sequence and sdl segfault in 320xXXX /main/lighting.c: fix for dark models after loading a game