=EDuke32 ChangeLog= ==1.3.1-1== - Game: fixed issue with multiplayer switches ==1.3.1== - Core: sync with JFBuild SVN - Core: on-disk compressed texture cache for greatly improved level load times (JF) - Core: virtual game file system similar to Quake (JF) - Core: re-tooled screen tinting and gamma correction in OpenGL (JF) - Game: sync with JFDuke3D SVN - Game: added option to disable automatic weapon switching (JF) - Game: mouse input smoothing (JF) - Game: pre-caching of HUD sprites (JF) - Game: redesigned game settings menu with several new options - Game: menus are now drawn over the status bar rather than under it and have a tinted background in OpenGL - Game: FPS counter color now changes when frame rate is under 40 - Game: added -z# command line parameter to set CON compiler verbosity level - Game: added parsing of autoexec.cfg on startup - Game: adjusted default tripbomb plant delay to match Duke3D 1.5 - CON: added getinput/setinput commands to read/write to/from sync[] in conjunction with EVENT_PROCESSINPUT - CON: completely rewritten compiler error handling - CON: findnearactor/findnearsprite and variants now exponentially faster - CON: better handling of duplicate event errors - CON: improvements to switch/case commands, fixes several bugs - CON: added per-actor flags for controlling shade, shadow, NVG presence, et cetera - CON: added EVENT_USE and EVENT_PROCESSINPUT - Console: added "exec", "cmenu", "gamma", "give" and "sensitivity" console commands - Mapster32 changes: - General: mouse input smoothing (JF) - General: informational messages now logged to console and mapster32.log - General: improved mass palette change function - General: improved mass visibility change function - 2D mode: improved search function - 2D mode: added shift-G key combination to increase grid size - 2D mode: added guide lines to the top and left side of the screen; hold shift for full guide - 3D mode: added + and - shortcut keys for incrementing/decrementing tile number - 3D mode: added mouse control for commonly used functions - 3D mode: refined various status messages - 3D mode: mouse cursor now fades from white to black to increase visibility ==1.3.0== - Added EVENT_PRESSEDFIRE - Minor fixes to getwall/setwall - Engine updated to newest snapshot ==1.3.0rc0== - Updated to current developmental JFDuke3D and engine, including precaching system. - New projectile definition syntax, uses labels like setprojectile - Cheat redefinition allowing both the "D" and "N" keys as well as the actual cheats to be changed. - Gametype customization via definegametype command - Logo and title screen customization via LOGO_FLAGS gamevar - All defined labels are now marked as a specific type, guaranteeing more stability and fixing some broken mods. - Potential multiplayer sync problems are now reported on startup - Con commenting system rewritten to be more error free and allow comments in the middle of commands - New quote manipulation abilities, allowing the user to: - Redefine quotes mid-game - Plug the values of gamevars into quotes - Concatenate the contents of one quote onto the end of another - Copy one quote to another quote position - All event names are now internally defined and no longer need definitions in the CONs. - Added EVENT_LOGO, EVENT_EGS and EVENT_DOFIRE. - Modified variable system to allow constants in place of read only gamevars and to allow prefixing a variable name with a minus to use the negative of the var's value - Pitch and roll control for models, accessed via get/setactor[].pitch and .roll. Also see .mdxoff, .mdyoff and .mdzoff. - All hard coded tile definitions are now changeable from defs.con (note: enable dynamic remapping via dynamicremap command) - The values of gamevars can be saved to and read from the .cfg - Weapon control enhancement: all weapons now have a WEAPONx_RELOADSOUND1 and a WEAPONx_RELOADSOUND2 which control which sounds are played when the magazine is inserted or removed. - Added WEAPON_FLAG_RELOAD_TIMING (defined as 32768) hack for special reload sound timing on things like the pistol - Added the following primitives: - definecheat - cheatkeys - userquote - precache - projectile - redefinequote - dynquote - getpname - qstrcat - qstrcpy - setsprite - rotatepoint - dragpoint - getzrange - changespritestat - getceilzofslope - getflorzofslope - neartag - definegametype - changespritesect - spriteflags - savegamevar - readgamevar - findnearsprite - findnearsprite3d - findnearspritevar - findnearsprite3dvar - dynamicremap - Miscellaneous cleanups all over the code (the diff is 36,000+ lines!) ==1.2.3== - Updated to current developmental JFDuke3D and engine - Added the following primitives: - displayrandvar - displayrandvarvar - checkavailinven - globalsoundvar - guniqhudid - getprojectile - getthisprojectile - setthisprojectile - Modified projectile system as follows: - Each projectile in flight now has its own properties which can be set using get/setthisprojectile in event 64 - setprojectile sets the default for all projectiles of that type, whereas setthisprojectile only affects the specific projectile - Fixed range property not working on RPG type projectiles - Upped max sounds to 1500 - Added support for more/less than 4 episodes. The number of episodes is defined by the last definevolumename instance found upon compilation. Max is 8. - Added EVENT_GETMENUTILE: RETURN value sets background for main menu, set MENU_TILE var to 1 for tiled, leave set to 0 for an image that fills the screen. - Added EVENT_SPAWN: called every time an actor is spawned, use this to set properties on actors at spawn time. - Logo animation and splash screens disabled during multiplayer - Out of sync fix for event 64 - Added support for setting the loogiex and loogiey members of the player struct - Minor internal changes, bug and compiler warning fixes - Added setvar console command for debugging - Modified WEAPKEY events; support weapon key remapping (set RETURN to desired weapon num) - Mapster32 changes: - Fixed bug which disabled creating masked walls - Added ' D 2D mode key combination to delete all sprites of a specific picnum - Added ' N key combination to enable/disable noclip - Fixed a few compiler warnings ==1.2.2== - Updated to current JFDuke3D and engine, which brings the following: - MD3 support - fixed network sync issues - minor renderer fixes - Player movement events now work in multiplayer (thanks JonoF) - Added sound_pitch member to player struct - Added EVENT_NEXTWEAPON, EVENT_PREVIOUSWEAPON, EVENT_SWIMUP and EVENT_SWIMDOWN - Added multi-purpose event "64" which runs on all sprites in the game, allowing for manipulation of virtually everything in the game world - Added user-definable colored fog: simply add lines similar to the following to your duke3d.def: fogpal Intensities range from 0-63, and palettes 26, 27, 28 and 29 are pre-defined for you as white, red, green and blue respectively. Sector visibility controls fog density. - Added movement_lock[] member to player struct. Functionality will be explained upon request until the wiki is updated. As can be guessed, this is used to lock player movement. - Fixed a couple of reload bugs - Projectile system internally optimized and improved (ripped out remnants of variable based system as well as modified the system to restore projectile defaults on game restart) - Added the following primitives: - movesprite - checkavailweapon - updatesectorz - ssp - stopallsounds - soundoncevar - stopsoundvar Movesprite, checkavailweapon, updatesectorz and ssp work exactly as their internal counterparts do. The sound commands are self-explanatory. - Minor fixes to the error handling system -- it is now impossible to redefine internal pointer gamevars. Some error messages also made more descriptive. - Fixed handling of bad CON files - Added "-condebug" command line parameter which prints one line to the init window per line compiled. This is useful in cases where you've encountered a bug in the CON parser which throws you into an infinite loop on compile, as you can see where the problem happened. - Fixed "DNITEMS" cheat not triggering item cheat events - CON commands "addlog" and "addlogvar" now print to console and log to eduke32.log with all of the other log information rather than log.log - Fixed multiplayer menu problem - Added PROJECTILE_FLAG_RPG_IMPACT (defined as 32768) to projectile flags. This flag causes an RPG type projectile to directly damage whatever it hits rather than do radius damage. - By request, changed how Duke moves when submerging into and emerging from underwater sectors - Various minor code clean-ups and fixes - Mapster32 changes: - Added ' 5 2D mode key combination for changing the shade of every parallaxed ceiling on the map at once - Added ' 6 2D mode key combination for changing the height of every parallaxed ceiling on the map at once - Added ' Z 2D mode key combination for offsetting an entire map on the Z plane. This is useful for merging sections of maps into other maps. - Added Left ALT ' 7 2D mode key combination for scaling the entire map (multiply) - Added Left ALT ' 8 2D mode key combination for scaling the entire map (divide) - Added ' M key combination for setting .extra member (this is the SW middle tag) - Help menus re-organized to be more useful - Added ' P 3D mode key combination to set palette on all sectors selected in 2D mode - Added ; V 3D mode key combination to set visibility on all sectors selected in 2D mode - Added support for running without lookup.dat (obviously, this will disable alt pals) ==1.2.1== - Updated to current JFDuke3D and JFBuild release, see releasenotes.html for details - Mapster32 updated to 1.0.1, hit F1 in 2D mode for new feature rundown - Added "spritenoshade" command. This command works just like spritenvg and spriteshadow, and does exactly what it claims to do. - Fixed 1.2.0 bug which made the player's APLAYER sprite's position shift across the map each time a bullet hole was left on a wall. ==1.2.0== - Updated to current JFDuke3D and JFBuild release, see releasenotes.html for details - Introduction of Mapster32, the enhanced Build editor version 1.0.0 - Lots of miscellaneous code clean-ups and bug fixes - Fixed pre-placed tripbomb bug from EDuke32 1.0.0 - Increased MAXCYCLERS to 1024 - Renumbered EVENT_AIMDOWN to be event 63 - Ripped out unused NAM and WW2GI-specific code - Ripped out unused code specific to foreign, demo and beta versions of Duke - Added several new primitives, as follows: - whilevarn - switch - case - default - endswitch - shootvar - soundvar - findplayer - findotherplayer - activatebysector - operatesectors - operateactivators - operatemasterswitches - checkactivatormotion - zshoot - dist - ldist - shiftvarl - shitvarr - spritenvg - getangle - whilevarvarn - hitscan - getplayervar - setplayervar - mulscale - setaspect Descriptions of these commands will be available soon on EDukeWiki - Added "reloading" member to player struct (1 when reloading, 0 when not, weapon changes blocked while 1) - Fixed setuserdef - Fixed eventloadactor - Added ud.statusbarscale to get/setuserdef - Restricted all screen drawing commands to events - Fixed issues with several events - SHOTSPARK1 now sets temp_data[6-8] to hitwall, hitsect and hitspr, in that order - Tweaked the operation of weapons to allow identical operation to Duke3D 1.5 (may cause issues with some existing mods) - All effector sprites now made non-blockable non-hitscan-sensitive on map start - Added "range" field to custom projectile system