Change version to 1.4.0 beta 1, add draft of new ChangeLog and the nsi script used for creating the installer

git-svn-id: https://svn.eduke32.com/eduke32@160 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2006-05-11 07:17:40 +00:00
parent 9b45f1ba55
commit 4e704d39dc
6 changed files with 266 additions and 9 deletions

View file

@ -1,5 +1,88 @@
=EDuke32 ChangeLog= =EDuke32 ChangeLog=
==1.4.0 beta 1=
- Core: added support for defining dummy tiles in the def files to eliminate the need for placeholders for hightile art
- Core: added a temporary projection hack to reduce HOM at the top and bottom of the screen
- Core: fixed P2P multiplayer with more than two players
- Core: fixed a nasty memory corruption issue with screen tinting that resulted in crashes in the classic renderer
- Core: fixed a palette issue with the in-game textured 2D map in Polymost
- Core: fixed a mouse input bug in winlayer that resulted in loss of input precision
- Core: modified the def loader to perform two passes; one to load GRPs early in game startup, and one to do the rest later on
- Core: tweaks to caching system to leave more memory available for hightile art
- Core: proper alpha sorting on md3 models
- Core: removed usegoodalpha in favor of an alternate sprite sorting algorithm (note: rendering glitches may occur)
- Core: attempt to correct display perspective in order to properly display HUD models
- Core: netcode packet rate now 26 (was 40)
- Core: don't use 100% CPU when waiting for players to join a multiplayer game
- Core: reduce mouse wheel input lock time to 25ms (was 100ms)
- Game: completely reworked mouse sensitivity and added an input filter slider
- Game: changed the weapon switching to be less restrictive in order to assist weapon changes via mouse wheel
- Game: added support for alt+enter to switch between fullscreen and windowed mode
- Game: added an option to disable demo playback cameras
- Game: added support for scaling the crosshair to 1/2 or 1/4 normal size
- Game: added an option to enable autoaim only for hitscan weapons (bullets)
- Game: changed the default video mode to 1024x768x32 and added several fallback choices
- Game: reworked the quicksave and quickload functions such as to not prompt the player on use
- Game: set the default controls to WSAD + mouse aiming
- Game: restore the pause key behavior from Duke 1.5 wherein the "GAME PAUSED" message isn't displayed when shift is pressed while pausing
- Game: fixed an infinite loop and a palette corruption bug regarding the video setup menu and switching to the classic renderer
- Game: fixed an issue where the automap would scroll itself and/or jitter when the game was paused while moving
- Game: fixed pistol timing to more closely match Duke 1.5
- Game: fixed long-standing quick kick animation bug
- Game: fixed kick attack speed to more closely match Duke 1.5
- Game: fixed an issue with shift+F5 not allowing selection of music defined for episode 5 and up
- Game: changed the default menu background to something more pleasing
- Game: restructured the option menus to make more sense
- Game: expanded the "HUD weapon" menu option to allow displaying a weapon's pickup sprite instead of the HUD art
- Multiplayer: Duke Talk menu option can now be set to "all" to hear enemy pain sounds
- Multiplayer: added an option to disable nuke button exits in deathmatch
- Multiplayer: greatly improved the text chat by increasing the text buffer size and by implementing basic line wrapping
- Multiplayer: added a voting system for map changes along with a menu option to automatically vote yes or no
- Multiplayer: added an icon above the heads of other players for when they're chatting or using the menu
- Multiplayer: added an option to automatically send messages to all players rather than prompting
- Multiplayer: added an option to display the name of the opponent you're currently aiming at
- Multiplayer: added a player setup menu to configure player name, color, macros, and weapon/aiming options mid-game
- Multiplayer: added support for Rancidmeat network configuration files via -rmnet command line parameter
- Multiplayer: detect and correct internal vs external IP address issues when using Rancidmeat configuration files
- Multiplayer: added dummy duke3d_w32.exe to facilitate EDuke32 multiplayer via DukesterX 1.5
- Multiplayer: added support for in-game selection and loading of different user maps
- Multiplayer: added support for various player death messages which can be redefined in the CONs
- Multiplayer: added support for Quake-style color codes in player names and text chat (code format is ^<palette>)
- Multiplayer: limit player name to 10 characters (not counting color codes)
- Multiplayer: fixed issue where multiple players trying to step on the same shrunken enemy would kill the game
- Multiplayer: fixed issue where briefly tapping the jump key would produce a lag effect during the resulting jump
- Multiplayer: fixed issue where using the jetpack + steroids would produce a lag effect in P2P mode
- Multiplayer: fixed several out-of-sync issues
- Multiplayer: fixed a long-standing bug wherein a player death could be counted as both a death and a suicide
- Multiplayer: fixed screen resizing issue when typing - and = in chat
- CON: added "save" command to allow the creation of automatic checkpoints
- CON: added "cansee" and "canseespr" commands to easily determine whether two sprites or sets of coordinates have visibility
- CON: added "definegamefuncname" command to change the key names used in the configuration file and in the control setup menus
- CON: added additional safety checks to get/setuserdef/player/sector/sprite/wall/input
- CON: added support for Quake-style color codes in quotes (code format is ^<palette>)
- CON: added extra timing checks to the weapon system; note that weapons with strange TOTALTIME and FIREDELAY values may no longer fire
- CON: save quotes, dynamic-to-static tile remapping information, extended sprite flags and sprite caching info to savegames
- CON: reworked the quote system to use dynamically allocated memory and doubled the length of each individual quote
- CON: fixed a savegame issue where some gamevar values may not have been restored properly and added more sanity checks to savegame loading
- CON: fixed an issue with FRAMEEFFECT1 sprites ending up with the wrong tspr->picnum
- CON: fixed a potential issue where custom projectiles that hit a player wouldn't knock the player back
- CON: fixed a bug in the findnearactor3d command and further sped up findnearactor3d and findnearsprite3d
- CON: fixed an issue where tab characters in CON files could screw up label names
- CON: fixed a crash that occurred when hitscan type custom projectiles with trails were fired at a wall from a distance of 0
- CON: removed the RENDERSIZE attribute for weapons
- CON: made slight optimizations to various commands
- Console: added the following cvars: "crosshair", "cl_autoaim", "cl_automsg", "cl_autovote", "cl_democams", "cl_drawweapon", "cl_idplayers",
"cl_messagetime", "cl_mousefilter", "cl_showcoords", "cl_showfps", "cl_smoothinput", "cl_statusbarmode", "cl_statusbarscale",
"cl_weaponswitch" and "r_precache"
- Console: added "addpath" command to add a new directory to the game's virtual filesystem pool
- Mapster32: better smoothing of mouse input when using 3D mode mouselook
- Mapster32: add ' F key combo to replace nonexistent tiles with tile 0
==1.3.1-1== ==1.3.1-1==
- Game: fixed issue with multiplayer switches - Game: fixed issue with multiplayer switches

View file

@ -0,0 +1,174 @@
; Script generated by the HM NIS Edit Script Wizard.
; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "EDuke32"
!define PRODUCT_VERSION "1.4.0 beta 1"
!define PRODUCT_PUBLISHER "EDuke32 Team"
!define PRODUCT_WEB_SITE "http://www.eduke32.com"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir"
SetCompressor /SOLID lzma
; MUI 1.67 compatible ------
!include "MUI.nsh"
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\box-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\box-uninstall.ico"
!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp"
; Welcome page
!define MUI_WELCOMEPAGE_TEXT "$(MUI_WELCOMEPAGE_TEXT)"
LangString MUI_WELCOMEPAGE_TEXT {LANG_ENGLSH} "This wizard will guide you through the installation of ${PRODUCT_NAME} ${PRODUCT_VERSION}\n\nClick next to continue."
!insertmacro MUI_PAGE_WELCOME
; License page
!insertmacro MUI_PAGE_LICENSE "..\GNU.TXT"
; Components page
!insertmacro MUI_PAGE_COMPONENTS
; Directory page
!define MUI_DIRECTORYPAGE_TEXT_TOP "$(MUI_DIRECTORYPAGE_TEXT_TOP)"
LangString MUI_DIRECTORYPAGE_TEXT_TOP {LANG_ENGLSH} "Please select your Duke Nukem 3D directory."
!insertmacro MUI_PAGE_DIRECTORY
; Start menu page
var ICONS_GROUP
!define MUI_STARTMENUPAGE_NODISABLE
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "EDuke32"
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}"
!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
; !define MUI_FINISHPAGE_RUN "$INSTDIR\datainst.exe"
; !define MUI_FINISHPAGE_RUN_TEXT "Run GRP file installer"
; !define MUI_FINISHPAGE_RUN_PARAMETERS ""
!define MUI_FINISHPAGE_RUN "notepad.exe"
!define MUI_FINISHPAGE_RUN_TEXT "Show ChangeLog"
!define MUI_FINISHPAGE_RUN_PARAMETERS "$INSTDIR\ChangeLog"
; !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\ChangeLog"
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "English"
; Reserve files
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "eduke32-${PRODUCT_VERSION}.exe"
InstallDir ""
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show
Section "!Game" SEC_GAME
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "..\eduke32.exe"
CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\EDuke32.lnk" "$INSTDIR\eduke32.exe"
File "..\GNU.TXT"
File "..\jfduke_releasenotes.html"
File "..\ChangeLog"
File "..\setup.exe"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Setup.lnk" "$INSTDIR\setup.exe"
SectionEnd
Section "Editor" SEC_EDITOR
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "..\build.cfg"
File "..\mapster32.exe"
CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Mapster32.lnk" "$INSTDIR\mapster32.exe"
SectionEnd
Section /o "Samples" SEC_SAMPLES
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "..\duke3d.def.sample"
File "..\enhance.con.sample"
SetOutPath "$INSTDIR"
SectionEnd
Section -AdditionalIcons
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\EDuke32 Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\eduke32.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\eduke32.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "${PRODUCT_STARTMENU_REGVAL}" "$ICONS_GROUP"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd
; Section descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_GAME} "The main EDuke32 game components (required to play EDuke enhanced mods)"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_EDITOR} "Enhanced Mapster32 editor (optional)"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_SAMPLES} "Sample enhancement definition files (optional)"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "EDuke32 was successfully removed from your computer."
FunctionEnd
Function un.onInit
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove EDuke32 and all of its components?" IDYES +2
Abort
FunctionEnd
Section Uninstall
ReadRegStr $ICONS_GROUP ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "${PRODUCT_STARTMENU_REGVAL}"
Delete "$INSTDIR\${PRODUCT_NAME}.url"
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\duke3d.def.sample"
Delete "$INSTDIR\enhance.con.sample"
Delete "$INSTDIR\mapster32.exe"
; Delete "$INSTDIR\build.cfg"
Delete "$INSTDIR\setup.exe"
Delete "$INSTDIR\jfduke_releasenotes.html"
Delete "$INSTDIR\ChangeLog"
Delete "$INSTDIR\GNU.TXT"
Delete "$INSTDIR\eduke32.exe"
; Delete "$INSTDIR\datainst.exe"
; Delete "$INSTDIR\duke3d.grp"
; Delete "$INSTDIR\duke3d.cfg"
Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\EDuke32 Website.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\Mapster32.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\Setup.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\EDuke32.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\Game Data Installer.lnk"
RMDir "$SMPROGRAMS\$ICONS_GROUP"
RMDir "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
SectionEnd

View file

@ -571,7 +571,7 @@ void CONFIG_ReadSetup( void )
SCRIPT_GetString( scripthandle, "Comm Setup",commmacro,&ud.ridecule[dummy][0]); SCRIPT_GetString( scripthandle, "Comm Setup",commmacro,&ud.ridecule[dummy][0]);
} }
SCRIPT_GetString( scripthandle, "Comm Setup","PlayerName",&tempbuf); SCRIPT_GetString( scripthandle, "Comm Setup","PlayerName",&tempbuf[0]);
while(Bstrlen(strip_color_codes(tempbuf)) > 10) while(Bstrlen(strip_color_codes(tempbuf)) > 10)
tempbuf[Bstrlen(tempbuf)-1] = '\0'; tempbuf[Bstrlen(tempbuf)-1] = '\0';

View file

@ -44,7 +44,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "util_lib.h" #include "util_lib.h"
#define VERSION " 1.4.0svn" #define VERSION " 1.4.0 beta 1"
#define HEAD "EDuke32"VERSION" (shareware mode)" #define HEAD "EDuke32"VERSION" (shareware mode)"
#define HEAD2 "EDuke32"VERSION #define HEAD2 "EDuke32"VERSION
@ -215,7 +215,7 @@ int gametext_(int small, int starttile, int x,int y,char *t,char s,char p,short
if( ac < starttile || ac > (starttile + 93) ) break; if( ac < starttile || ac > (starttile + 93) ) break;
if((*t >= '0' && *t <= '9') || (small && !(*t >= 'a' && *t <= 'Z'))) if(*t >= '0' && *t <= '9')
newx += 8; newx += 8;
else newx += tilesizx[ac]; else newx += tilesizx[ac];
t++; t++;

View file

@ -3997,9 +3997,9 @@ VOLUME_ALL_40x:
plrvotes += votes[i]; plrvotes += votes[i];
j += gotvote[i]; j += gotvote[i];
} }
if(j == numplayers || !ps[myconnectindex].i || (plrvotes > (numplayers>>1))) if(j == numplayers || !ps[myconnectindex].i || (plrvotes > (numplayers>>1)) || (!networkmode && myconnectindex == connecthead))
{ {
if(plrvotes > (numplayers>>1) || !ps[myconnectindex].i) if(plrvotes > (numplayers>>1) || !ps[myconnectindex].i || (!networkmode && myconnectindex == connecthead))
{ {
tempbuf[0] = 5; tempbuf[0] = 5;
tempbuf[1] = ud.m_level_number; tempbuf[1] = ud.m_level_number;

View file

@ -158,7 +158,7 @@ void hitscantrail(long x1, long y1, long z1, long x2, long y2, long z2, short an
x1 += (sintable[(348+ang+512)&2047]/projectile[atwith].offset); x1 += (sintable[(348+ang+512)&2047]/projectile[atwith].offset);
y1 += (sintable[(ang+348)&2047]/projectile[atwith].offset); y1 += (sintable[(ang+348)&2047]/projectile[atwith].offset);
n = (FindDistance2D(x1-x2,y1-y2))>>8; n = ((FindDistance2D(x1-x2,y1-y2))>>8)+1;
z1 += (projectile[atwith].toffset<<8)+1024; z1 += (projectile[atwith].toffset<<8)+1024;