Subversion Repositories nw_plus

Compare Revisions

Regard whitespace Rev HEAD → Rev 1

/nw_plus/NWNames.def
File deleted
/nw_plus/nw_plus.def
File deleted
/nw_plus/NW_Edit.bat
File deleted
/nw_plus/hrp_art_license.txt
File deleted
\ No newline at end of file
/nw_plus/NW_Edit_Debug.bat
File deleted
/nw_plus/NWNames.h
File deleted
/nw_plus/NW_Edit_DP.bat
File deleted
/nw_plus/nwl1.patch
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/nwl2.patch
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/nwl3.patch
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/nwl4.patch
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/nwl5.patch
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/nwl6.patch
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/nwl7.patch
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/nwl8.patch
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/NW_Debug.bat
File deleted
/nw_plus/nwl5.ips
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/nw_plus/NWEDuke.con
10,4 → 10,10
*/
 
include EDUKE.CON
gamevar picnum 0 2
gamevar temp 0 2
gamevar tempb 0 2
gamevar x 0 2
gamevar y 0 2
gamevar z 0 2
include NWinter.con
/nw_plus/nwl6.ips
0,0 → 1,0
PATCHEOF
/nw_plus/NWinter+_License.txt
0,0 → 1,82
High Resolution Pack Art License
 
This Work is provided under the terms of this License.
The Work is protected by copyright and/or other applicable law. Any use of the
Work other than as authorized under this license is prohibited by law.
 
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE
BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED
TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN
CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
 
 
Definitions:
------------
 
"Adaptation" means a work based upon the Work, or upon the Work and other
pre-existing works, such as a translation, modification, derivative work,
arrangement or other alterations of an artistic work, or phonogram or
performance and includes cinematographic adaptations or any other form in
which the Work may be recast, transformed, or adapted including in any form
recognizably derived from the original.
 
"Distribute" means to make available to the public the original and copies of
the Work or Adaptation, as appropriate, through any transfer of ownership.
 
"Licensor" means the individual, individuals, entity or entities that offer(s)
the Work under the terms of this License.
 
"Author" means, in the case of a literary or artistic work, the individual,
individuals, entity or entities who created the Work or if no individual or
entity can be identified, the publisher.
 
"Work" means the artistic and/or musical content offered under the terms of
this License including without limitation any production in the literary,
scientific and artistic domain, whatever may be the mode or form of its
expression including digital form.
 
"You" means an individual or entity exercising rights under this License who
has not previously violated the terms of this License with respect to the Work,
or who has received express permission from the Licensor to exercise rights
under this License despite a previous violation.
 
"Reproduce" means to make copies of the Work by any means.
 
 
Terms:
------
 
You are free to copy, alter, distribute, reproduce and transmit this Work,
subject to the following conditions:
 
1. You may not use this Work or anything contained in this Work for commercial
purposes.
 
2. You must attribute this Work in the manner specified by the authors or
licensor.
 
3. Any likenesses, characters, sounds, phrases or references specific to
Duke Nukem, 3D Realms Entertainment, or Apogee Software Ltd. appear in this
Work courtesy of 3D Realms Entertainment and are the exclusive property of
3D Realms Entertainment, and are provided only to be used with a legally
acquired copy of Duke Nukem 3D. You may not alter, transform, build upon or
adapt any portion of this Work specifically related to or derived from the
Duke Nukem intellectual property, including likenesses, characters, sounds,
phrases or references for any purpose other than use with a legally acquired
copy of Duke Nukem 3D.
 
4. Any works based upon altered, transformed, or copied parts of this Work must
be distributed under a license identical or similar to this one.
 
5. For any reuse or distribution of this Work, you must make clear to others
the license terms of this Work.
 
6. The producers and/or authors of this Work explicity reject any liability for
any damages resulting from use or misuse of this Work by any Licensee or
other third party.
 
-------
Some source textures in this tutorial are copyrighted by CGTextures.com.
Permission to use and distribute these specific textures has been granted to the author of this texture pack.
Textures downloaded from CGTextures.com are copyrighted and may NOT be redistributed or sold.
For more information and the full license please visit http://www.cgtextures.com.
/nw_plus/nwl7.ips
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/nw_plus/nwl8.ips
0,0 → 1,0
PATCHEOF
/nw_plus/nwinter.def
6,5 → 6,4
*/
 
include duke3d.def
include nw_plus.def
include nwinter_hrp.def
/nw_plus/NW_DP_XXX.bat
1,4 → 1,3
@echo off
set dp=1
set xxx=1
call "%~dp0\NWinter.bat" %*
echo Using Duke Plus by DeeperThought.
NW_XXX.bat -xNWDPXXX.con -hnw_dp_xxx.def %* -jDukePlus
/nw_plus/_nwzoo.map
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/nw_plus/nw_xxx.def
7,4 → 7,3
 
include nwinter.def
include nwinter/xxx.def
include nw_hrp/xxx.def
/nw_plus/NWinter.bat
1,105 → 1,51
@echo off
color 0C
setlocal ENABLEEXTENSIONS DISABLEDELAYEDEXPANSION
pushd "%~dp0"
set startdir=%cd%
@color 0C
 
:restart
title Duke: Nuclear Winter Plus Launcher
if "%editor%"=="1" title Duke: Nuclear Winter Plus Editor Launcher
title Duke: Nuclear Winter Plus Batch Launcher
 
set exedir=%startdir%
set addondir=%startdir%
set addonhrpdir=%startdir%
set dir=%cd%
set nwver=30
set hrp=
set hrpu=
 
set exename=eduke32
set exeproper=EDuke32
set action=playing
 
if "%editor%"=="1" (
set exename=mapster32
set exeproper=Mapster32
set action=editing
)
 
set addonver=r005
 
:title
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Duke: Nuclear Winter Plus º
echo ÈÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍͼ
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Duke: Nuclear Winter Plus Batch Launcher º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍͼ
echo ³ By Hendricks266 ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo You are %action% Simply Silly Software's Duke: Nuclear Winter with the various
echo You are playing Simply Silly Software's Duke: Nuclear Winter with the various
echo enhancements of Duke: Nuclear Winter Plus, maintained by Hendricks266.
echo.
 
 
if "%xxx%"=="1" echo Using XXX mode.
if "%dp%"=="1" echo Using Duke Plus by DeeperThought.
if "%debug%"=="1" echo Using debug mode.
 
if "%debug%"=="1" echo DEBUG: Command Line Input: %*
 
:recheck
if not exist %exename%.exe goto execheck
:execheck_done
set exedir=%cd%
if "%debug%"=="1" echo DEBUG: %exeproper% Directory: "%exedir%"
 
if not exist eduke32.exe goto eduke32check
:eduke32check_done
if exist NWDuke.rt_ del /f /q NWDuke.rt_
if exist NWSanta.grp del /f /q NWSanta.grp
if not exist nw_plus\ goto nodir
if not exist duke3d.grp echo Warning: You don't have Duke3D.grp in your directory.
 
if exist nwinter\ set addonhrpdir=%cd%
:addondircheck
 
chdir nw_plus
set addondir=%cd%
if exist nwinter\ set addonhrpdir=%cd%
if exist nw_plus\ goto addondircheck
if "%debug%"=="1" echo DEBUG: NW+ Directory: "%addondir%".
if "%debug%"=="1" echo DEBUG: NWHRP Directory: "%addonhrpdir%".
 
set kextract=%addondir%\utils\windows\win32\kextract.exe
if "%debug%"=="1" set kextract=%addondir%\utils\windows\win32\kextract.debug.exe
set bspatch=%addondir%\utils\windows\win32\bspatch.exe
set sha1sum=%addondir%\utils\windows\win32\sha1sum.exe
 
if "%nwgrpname%"=="" set nwgrpname=nwinter.grp
if not exist "%exedir%\%nwgrpname%" if not exist "%addondir%\%nwgrpname%" if exist "%exedir%\nwinter_demo.grp" set nwgrpname=nwinter_demo.grp
if not exist "%exedir%\%nwgrpname%" if not exist "%addondir%\%nwgrpname%" if exist "%addondir%\nwinter_demo.grp" set nwgrpname=nwinter_demo.grp
if not exist "%exedir%\%nwgrpname%" if not exist "%addondir%\%nwgrpname%" goto nonwgrp
 
if exist nwinter.grp ren nwinter.grp nwinter.grp
call :grpchecksum
:nonwgrp_return
if not "%version%"=="demo" (
if not exist nwl1.map goto mapextract
if not exist nwl2.map goto mapextract
if not exist nwl3.map goto mapextract
if not exist nwl4.map goto mapextract
if not exist nwl5.map goto mapextract
if not exist nwl6.map goto mapextract
if not exist nwl7.map goto mapextract
if not exist nwl8.map goto mapextract
if not exist nwflag_%addonver%.h266 goto updateextract
)
 
 
 
 
chdir /d "%exedir%"
if not exist duke3d.grp Warning: You don't have Duke3D.grp in your directory.
if exist NWINTER.GRP move NWINTER.GRP nw_plus\
cd nw_plus
if not exist NWINTER.GRP goto nonwgrp
:nonwgrp_done
if not exist nwflag%nwver%.h266 goto extract
if not exist nwl1.map goto extract
if not exist nwl2.map goto extract
if not exist nwl3.map goto extract
if not exist nwl4.map goto extract
if not exist nwl5.map goto extract
if not exist nwl6.map goto extract
if not exist nwl7.map goto extract
if not exist nwl8.map goto extract
cd ..
echo.
echo To switch your character, open the console (~) and type one of the following:
echo Duke: "setvar skin 0".
echo Santa: "setvar skin 1".
echo.
echo.
echo.
echo.
echo.
echo.
 
:init
pause
108,98 → 54,27
 
:check
 
if exist duke3d_hrp.zip set hrp=/gduke3d_hrp.zip
if exist hrp_update.zip set hrpu=/ghrp_update.zip
 
echo.
echo Launching Duke Nukem 3D . . .
echo Thanks for %action%!
echo Thanks for playing!
echo.
echo Please leave this window open for the entire duration of your game.
echo It will close automatically.
 
if "%editor%"=="1" (
type "%exedir%\names.h" > "%exedir%\NWNames.h"
echo. >> "%exedir%\NWNames.h"
type "%addondir%\NWNames.def" >> "%exedir%\NWNames.h"
)
::if exist *.art ren *.art *.abk
 
:arguments
set args=
if exist "%exedir%\HRP\" set args=%args% -j HRP
if exist "%exedir%\polymer_hrp\" set args=%args% -j polymer_hrp
if exist "%exedir%\duke3d_voxel.zip" set args=%args% -g duke3d_voxel.zip
if exist "%exedir%\duke3d_hrp.zip" set args=%args% -g duke3d_hrp.zip
if exist "%exedir%\hrp_update.zip" set args=%args% -g hrp_update.zip
if exist "%exedir%\maphacks.zip" set args=%args% -g maphacks.zip
if exist "%exedir%\eduke32_mus.zip" set args=%args% -g eduke32_mus.zip
if exist "%addondir%" if not "%addondir%"=="%exedir%" set args=%args% -j "%addondir:\=/%"
if exist "%addonhrpdir%" if not "%addonhrpdir%"=="%exedir%" if not "%addonhrpdir%"=="%addondir%" set args=%args% -j "%addonhrpdir:\=/%"
set args=%args% -g %nwgrpname% -h nwinter.def -x NWEDuke.con
if "%editor%"=="1" set args=%args% -namesfile NWNames.h
if "%dp%"=="1" set args=%args% -h nw_dp.def -x NWDP.con
if "%xxx%"=="1" if exist "%exedir%\xxx_lite.zip" set args=%args% -g xxx_lite.zip
if "%xxx%"=="1" if exist "%exedir%\xxx_lite\" set args=%args% -j xxx_lite
if "%xxx%"=="1" if exist "%exedir%\xxx_pack.zip" set args=%args% -g xxx_pack.zip
if "%xxx%"=="1" if exist "%exedir%\xxx_pack\" set args=%args% -j xxx_pack
if "%xxx%"=="1" set args=%args% -h nw_xxx.def
if "%xxx%"=="1" if "%dp%"=="1" set args=%args% -h nw_dp_xxx.def -x NWDPXXX.con
set args=%args% %*
if "%dp%"=="1" set args=%args% -j DukePlus
eduke32 /xNWEDuke.con /hnwinter.def /jnw_plus /gNWINTER.GRP %hrp% %hrpu% %*
 
set exe=%exename%
if "%debug%"=="1" set exe=%exename%.debug
::if exist *.abk ren *.abk *.art
 
if exist %exe%.bat (
if "%debug%"=="1" echo DEBUG: Final Command Line: call %exe%.bat %args%
call %exe%.bat %args%
) else (
if "%debug%"=="1" echo DEBUG: Final Command Line: start %exe%.exe %args%
start %exe%.exe %args%
)
 
set svnpath=0
if "%svnpath%"=="0" if exist "%startdir%\svn\bin\svn.exe" set svnpath=%startdir%\svn\bin
if "%svnpath%"=="0" if exist "%exedir%\svn\bin\svn.exe" set svnpath=%exedir%\svn\bin
if "%svnpath%"=="0" if exist "%ProgramFiles%\SlikSvn\bin\svn.exe" set svnpath=%ProgramFiles%\SlikSvn\bin
if "%svnpath%"=="0" if exist "%ProgramFiles(x86)%\SlikSvn\bin\svn.exe" set svnpath=%ProgramFiles(x86)%\SlikSvn\bin
if "%svnpath%"=="0" if exist "%ProgramFiles%\Subversion\bin\svn.exe" set svnpath=%ProgramFiles%\Subversion\bin
if "%svnpath%"=="0" if exist "%ProgramFiles(x86)%\Subversion\bin\svn.exe" set svnpath=%ProgramFiles(x86)%\Subversion\bin
if "%svnpath%"=="0" if exist "%ProgramFiles%\TortoiseSVN\bin\svn.exe" set svnpath=%ProgramFiles%\TortoiseSVN\bin
if "%svnpath%"=="0" if exist "%ProgramFiles(x86)%\TortoiseSVN\bin\svn.exe" set svnpath=%ProgramFiles(x86)%\TortoiseSVN\bin
if "%svnpath%"=="0" for %%S in (svn.exe) do if exist "%%~dp$PATH:S" set svnpath=%%~dp$PATH:S
 
chdir /d "%addondir%"
if not "%svnpath%"=="0" call :svn_action
chdir /d "%addonhrpdir%"
if not "%svnpath%"=="0" call :svn_action
 
goto end
 
:svn_action
set PATH=%PATH%;%svnpath%
for /f "delims=" %%a in ('svnversion.exe .') do @set oldrev=%%a
if "%oldrev%"=="exported" goto :eof
if "%oldrev%"=="Unversioned directory" goto :eof
"svn.exe" update
for /f "delims=" %%a in ('svnversion.exe .') do @set rev=%%a
set oldrev=%oldrev:M=%
set oldrev=%oldrev:S=%
set oldrev=%oldrev:P=%
set rev=%rev:M=%
set rev=%rev:S=%
set rev=%rev:P=%
if %rev% EQU %oldrev% goto :eof
set /a oldrev=%oldrev% + 1
echo.
"svn.exe" log -r %oldrev%:%rev%
echo.
pause
goto :eof
 
:nonwgrp
set megaton=Steam\SteamApps\common\Duke Nukem 3D\gameroot\addons\nwinter.grp
if exist "%ProgramFiles%\%megaton%" copy "%ProgramFiles%\%megaton%" .\ && call :conprotect && goto nonwgrp_done
if exist "%ProgramFiles(x86)%\%megaton%" copy "%ProgramFiles(x86)%\%megaton%" .\ && call :conprotect && goto nonwgrp_done
echo.
echo Error: You don't have NWINTER.GRP in your directory.
 
 
:retry
echo.
set cddrive=
209,92 → 84,42
if '%cddrive%'=='' goto cdno
if not exist %cddrive%:\ goto cdno
if not exist %cddrive%:\* goto cdno
if exist %cddrive%:\GAMEDATA\NWINTER.GRP copy %cddrive%:\GAMEDATA\NWINTER.GRP .\nwinter.grp && goto nonwgrp_done
if exist %cddrive%:\NWINTER\GAMEDATA\NWINTER.GRP copy %cddrive%:\NWINTER\GAMEDATA\NWINTER.GRP .\nwinter.grp && goto nonwgrp_done
if exist %cddrive%:\NW\GAMEDATA\NWINTER.GRP copy %cddrive%:\NW\GAMEDATA\NWINTER.GRP .\nwinter.grp && goto nonwgrp_done
goto cdwrong
 
:nonwgrp_done
if not exist %cddrive%:\GAMEDATA\NWINTER.GRP goto cdw
copy %cddrive%:GAMEDATA\NWINTER.GRP .\
pause
echo.
if exist nwinter.grp (
type NWINTRO.TXT
echo.
pause
call :grpchecksum
call :grpchecksum_results
goto nonwgrp_return
)
if not exist nwinter.grp (
echo Installation Error!
echo Contact Hendricks266 for help.
echo.
pause
goto end
)
goto nonwgrp_done
 
:grpchecksum
if not exist "%sha1sum%" (
echo "%sha1sum%" not found.
goto :eof
)
pushd .
if exist "%addondir%\%nwgrpname%" chdir /d %addondir%
if exist "%exedir%\%nwgrpname%" chdir /d %exedir%
echo a6728f621f121f9db02ee67c39efdbb5eea95711 *%nwgrpname% | "%sha1sum%" --status --check -
if "%ERRORLEVEL%"=="0" set version=full&& popd && goto :eof
if "%ERRORLEVEL%"=="1" echo 1b33b2cbb7101b5b18b15855392f55575413ecc3 *%nwgrpname% | "%sha1sum%" --status --check -
if "%ERRORLEVEL%"=="0" set version=demo&& popd && goto :eof
if "%ERRORLEVEL%"=="1" set version=unknown
popd
goto :eof
 
:grpchecksum_results
if "%version%"=="full" echo NWINTER.GRP checksum verified.
if "%version%"=="demo" echo NWINTER.GRP (demo version) checksum verified.
if "%version%"=="unknown" echo NWINTER.GRP checksum does not match. You may have a bad copy.
echo.
goto :eof
 
:cdno
echo '%cddrive%' is not valid. Please try again.
goto retry
 
:cdwrong
:cdw
echo '%cddrive%' is not the correct disc. Please try again.
goto retry
 
:mapextract
echo Extracted maps not found or patched. Proceeding to installation.
goto extract
 
:updateextract
echo Map patch update required. Proceeding to installation.
goto extract
 
:extract
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Installation º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Duke: Nuclear Winter Plus Installation º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍͼ
echo ³ By Hendricks266 ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
call :grpchecksum
call :grpchecksum_results
if not exist nwl1.patch goto nopatch
if not exist nwl2.patch goto nopatch
if not exist nwl3.patch goto nopatch
if not exist nwl4.patch goto nopatch
if not exist nwl5.patch goto nopatch
if not exist nwl6.patch goto nopatch
if not exist nwl7.patch goto nopatch
if not exist nwl8.patch goto nopatch
mkdir nw_preserve
if exist nwl*.map move /y nwl*.map nw_preserve\
if exist "%exedir%\nwl*.map" move /y "%exedir%\nwl*.map" nw_preserve\
:: TODO: eliminate the need for the if exist checks; tighten up path handling
set grp=nwinter.grp
if exist "%addondir%\%nwgrpname%" set grp=%addondir%\%nwgrpname%
if exist "%exedir%\%nwgrpname%" set grp=%exedir%\%nwgrpname%
"%kextract%" "%grp%" E2L*.MAP
if not exist nwl1.ips goto noips
if not exist nwl2.ips goto noips
if not exist nwl3.ips goto noips
if not exist nwl4.ips goto noips
if not exist nwl5.ips goto noips
if not exist nwl6.ips goto noips
if not exist nwl7.ips goto noips
if not exist nwl8.ips goto noips
if exist nwl*.map del /f /q nwl*.map
if exist ..\nwl*.map del /f /q ..\nwl*.map
utils\windows\win32\kextract.exe NWINTER.GRP E2L*.MAP
ren E2L1.MAP nwl1.map
ren E2L2.MAP nwl2.map
ren E2L3.MAP nwl3.map
309,23 → 134,31
echo Map patching will now begin.
echo.
pause
echo.
"%bspatch%" nwl1.map nwl1.map nwl1.patch
"%bspatch%" nwl2.map nwl2.map nwl2.patch
"%bspatch%" nwl3.map nwl3.map nwl3.patch
"%bspatch%" nwl4.map nwl4.map nwl4.patch
"%bspatch%" nwl5.map nwl5.map nwl5.patch
"%bspatch%" nwl6.map nwl6.map nwl6.patch
"%bspatch%" nwl7.map nwl7.map nwl7.patch
"%bspatch%" nwl8.map nwl8.map nwl8.patch
echo
utils\windows\win32\uips.exe a nwl1.ips nwl1.map
utils\windows\win32\uips.exe a nwl2.ips nwl2.map
utils\windows\win32\uips.exe a nwl3.ips nwl3.map
utils\windows\win32\uips.exe a nwl4.ips nwl4.map
utils\windows\win32\uips.exe a nwl5.ips nwl5.map
utils\windows\win32\uips.exe a nwl6.ips nwl6.map
utils\windows\win32\uips.exe a nwl7.ips nwl7.map
utils\windows\win32\uips.exe a nwl8.ips nwl8.map
if exist nwpatch*.h266 del /f /q nwpatch*.h266
if exist nwflag*.h266 del /f /q nwflag*.h266
echo Do not delete this file! You will be forced to reinstall NW+ and repatch the maps. >nwflag_%addonver%.h266
attrib +r nwflag_%addonver%.h266
echo Do not delete this file! You will be force to reinstall NW+ and repatch the maps. >nwflag%nwver%.h266
attrib +r nwflag%nwver%.h266
del /f /q nwl1.ips
del /f /q nwl2.ips
del /f /q nwl3.ips
del /f /q nwl4.ips
del /f /q nwl5.ips
del /f /q nwl6.ips
del /f /q nwl7.ips
del /f /q nwl8.ips
echo.
echo Patching complete!
:scanning
chdir "%exedir%"
cd ..
echo.
echo Scanning directory for potential problems.
if exist nwl1.mhk goto mhkfound
349,11 → 182,6
if exist TILES014.ART goto artfound
if exist TILES015.ART goto artfound
:artfound_done
call :checksum c6b8ca33ea6a2ec46b8dfeca4f9a3d5e078d0789 NWACTOR.CON "NWINTER file detected and neutralized:"
call :checksum fdb91aa2912f16232ed9020a7d8ec35834ef58c8 NWDEFS.CON "NWINTER file detected and neutralized:"
call :checksum 2bb2ddc7319e0935569b724f3c67cb953fdb79d6 NWINTER.CON "NWINTER file detected and neutralized:"
call :checksum 5ae347733be1f87f35d1930186de1ed764f4682f NWSNOW.CON "NWINTER file detected and neutralized:"
call :checksum 5df8b3b4216dcfdb8bc0adf6241f8a893eacfd98 NWUSER.CON "NWINTER file detected and neutralized:"
if exist NWinter.con goto confound
if exist NWActor.con goto confound
if exist NWDefs.con goto confound
364,36 → 192,13
if exist NWSnow.con goto confound
if exist NWUser.con goto confound
:confound_done
call :conprotect
chdir /d "%addondir%"
echo.
pause
goto restart
 
:conprotect
pushd "%exedir%"
if not exist GAME.CON "%kextract%" DUKE3D.GRP GAME.CON
if not exist DEFS.CON "%kextract%" DUKE3D.GRP DEFS.CON
if not exist USER.CON "%kextract%" DUKE3D.GRP USER.CON
popd
goto :eof
 
:checksum
if not exist "%sha1sum%" (
echo "%sha1sum%" not found.
goto :eof
)
if not exist "%~2" goto :eof
echo %~1 *%~2 | "%sha1sum%" --status --check -
if "%ERRORLEVEL%"=="0" (
ren "%~2" "NWOld_%addonver%_%~nx2"
echo %~3 %~nx2
)
goto :eof
 
:nopatch
:noips
echo.
echo Error: You don't have all the *.patch files in your directory.
echo Error: You don't have all the *.ips files in your directory.
echo Aborting installation.
echo Map patching is required for NW+ to function correctly.
echo.
404,7 → 209,7
echo.
echo Problematic .mhk files have been found in your directory.
echo Unless you have knowingly made a modification to NW's map hacks,
echo the presence of these files in your %exeproper% directory will
echo the presence of these files in your EDuke32 directory will
echo cause NW+ to function incorrectly.
echo.
echo nwl1.mhk
423,7 → 228,7
echo.
echo Problematic .art files have been found in your directory.
echo Unless you have knowingly made a modification to NW's art,
echo the presence of these files in your %exeproper% directory will
echo the presence of these files in your EDuke32 directory will
echo cause NW+ to function incorrectly.
echo.
echo TILES005.ART
441,7 → 246,7
echo.
echo Problematic .con files have been found in your directory.
echo Unless you have knowingly made a modification to NW's programming,
echo the presence of these files in your %exeproper% directory will
echo the presence of these files in your EDuke32 directory will
echo cause NW+ to function incorrectly.
echo.
echo NWinter.con
455,7 → 260,7
echo NWSnow.con
echo.
echo IF THESE ARE THE ORIGINAL NUCLEAR WINTER CON FILES, OR THEY COME FROM
echo AN OUTDATED VERSION OF NW+, REMOVE THEM FROM YOUR %exeproper% DIRECTORY
echo AN OUTDATED VERSION OF NW+, REMOVE THEM FROM YOUR EDUKE32 DIRECTORY
echo IMMEDIATELY!
echo NW+ uses modified .con files to fix programming errors created by
echo the original programmers. Due to improvements made to the levels,
462,15 → 267,34
echo NW+ will have major errors if the included .con files are not used.
goto confound_done
 
:execheck
if exist %exename%.bat goto execheck_done
if exist %exename%.exe goto recheck
set prevdir=%cd%
if not "%cd%"=="%cd:~0,3%" chdir ..
if not "%cd%"=="%prevdir%" goto execheck
echo Warning: You don't have %exeproper% in your directory.
chdir /d "%startdir%"
goto execheck_done
:eduke32check
if exist eduke32.bat goto eduke32check_done
if exist ..\eduke32.exe (
cd ..
goto recheck
)
if exist ..\..\eduke32.exe (
cd ..\..
goto recheck
)
if exist ..\..\..\eduke32.exe (
cd ..\..\..
goto recheck
)
if exist ..\eduke32.bat (
cd ..
goto eduke32check_done
)
if exist ..\..\eduke32.bat (
cd ..\..
goto eduke32check_done
)
if exist ..\..\..\eduke32.bat (
cd ..\..\..
goto eduke32check_done
)
echo Warning: You don't have EDuke32 in your directory.
goto eduke32check_done
 
:nodir
echo.
481,10 → 305,11
goto end
 
:end
if "%debug%"=="1" echo.
if "%debug%"=="1" pause
set hrp=
set hrpu=
echo.
popd
endlocal
title %ComSpec%
color 07
@color 07
@title %ComSpec%
cd %dir%
@echo on
goto :eof
/nw_plus/nwfix.m32
27,7 → 27,7
*/
 
include DEFS.CON
include NWDefs.con
include nwinter_hrp/NWDefs.con
 
gamevar i 0 0
gamevar k 0 0
55,7 → 55,8
// fixing one-time sector sounds
for k allsectors
{
switch sector[k].lotag
getsector[k].lotag l
switch l
 
case 10091
case 10308
67,68 → 68,9
break
 
endswitch
 
/*
ifvarg sector[k].lotag 9999
ifvarl sector[k].lotag 20000
{
al k
al sector[k].lotag
setsector[k].lotag l
}
*/
 
// texture replacements:
switch sector[k].floorpicnum
case 198
ifvare sector[k].floorpal 1
{
al k
set sector[k].floorpicnum 3670
set sector[k].floorpal 0
}
break
 
endswitch
switch sector[k].ceilingpicnum
case 198
ifvare sector[k].ceilingpal 1
{
al k
set sector[k].ceilingpicnum 3670
set sector[k].ceilingpal 0
}
break
 
endswitch
}
 
for k allwalls
{
ifvare wall[k].pal 1
{
switch wall[k].picnum
case 198
al k
set wall[k].picnum 3670
set wall[k].pal 0
break
endswitch
switch wall[k].overpicnum
case 198
al k
set wall[k].overpicnum 3670
set wall[k].pal 0
break
endswitch
}
}
 
// Fixing actors.
 
// fixing actors already in the map
135,13 → 77,13
for i allsprites
{
switch .picnum
// Step 1: Santa
/*
// Step 1: Santa
case 2000 set .picnum 3900 break
case 2045 set .picnum 3905 break
*/
// Step 2: Pig Cops
/*
// Step 2: Pig Cops
case 2002 set .picnum 2000 break
case 2003 set .picnum 2001 break
case 2047 set .picnum 2045 break
151,17 → 93,17
// fixing actors which spawn on triggers
for i allsprites, ifactor RESPAWN
{
switch .hitag
switch .lotag
// Step 1: Santa
/*
// Step 1: Santa
case 2000 set .hitag 3900 addlogvar .x addlogvar .y break
case 2045 set .hitag 3905 addlogvar .x addlogvar .y break
case 2000 set .lotag 3900 break
case 2045 set .lotag 3905 break
*/
// Step 2: Pig Cops
/*
// Step 2: Pig Cops
case 2002 set .hitag 2000 addlogvar .x addlogvar .y break
case 2003 set .hitag 2001 addlogvar .x addlogvar .y break
case 2047 set .hitag 2045 addlogvar .x addlogvar .y break
case 2002 set .lotag 2000 break
case 2003 set .lotag 2001 break
case 2047 set .lotag 2045 break
*/
endswitch
}
/nw_plus/NWActor.con
63,14 → 63,10
{
ifpdistl 1024
{
getplayer[THISACTOR].i nw_temp
setactor[nw_temp].htextra SNOWBALLAMOUNT
setactor[nw_temp].htpicnum SNOWBALL
// getactor[THISACTOR].owner nw_temp2
setactor[nw_temp].htowner nw_owner
getplayer[THISACTOR].i temp
setactor[temp].htextra SNOWBALLAMOUNT
setactor[temp].htpicnum SNOWBALL
// addphealth SNOWBALLAMOUNT
debris SCRAP3 5
globalsound DUKE_GRUNT
state headhitstate
196,6 → 192,18
 
ifaction ASNOWMANDEAD
{
ifrespawn
{
ifcount RESPAWNACTORTIME
{
spawn TRANSPORTERSTAR
cstat 257
strength SNOWMANSTRENGTH
ai AISNOWFOLLOW
}
}
else
{
strength 0
ifhitweapon
{
207,20 → 215,11
killit
}
}
ifrespawn
{
ifcount RESPAWNACTORTIME
{
spawn TRANSPORTERSTAR
cstat 257
strength SNOWMANSTRENGTH
ai AISNOWFOLLOW
}
}
break
}
else ifaction ASNOWMANFROZEN
else
ifaction ASNOWMANFROZEN
{
ifcount THAWTIME
{
245,7 → 244,6
sound GLASS_BREAKING
killit
}
 
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
258,6 → 256,7
break
}
 
 
ifhitweapon state snowmanhitstate
 
ifp pdead break
367,9 → 366,9
 
state stomphisfreakingass
ifp pdead
nullop
ifp pdead nullop
else
{
ifpdistl SQUISHABLEDISTANCE
{
addphealth -1000
378,6 → 377,7
state standard_pjibs
sound SANTA_TRASH9
}
}
ends
 
398,10 → 398,13
spritepal 9
}
else
{
ifrnd 128
spritepal 3
}
else ifspritepal 3
}
else
ifspritepal 3
{
ifpdistg 4096
{
416,7 → 419,8
spritepal 9
}
}
else ifspritepal 9
else
ifspritepal 9
{
ifpdistg 4096
{
426,22 → 430,16
spritepal 3
}
else
{
ifrnd 128
spritepal 9
}
}
sound SELECT_WEAPON
ends
 
state botshootrpg // so Santa shoots the player's RPG and not the Commander's
eshoot RPG
setactor[RETURN].extra RPG_WEAPON_STRENGTH
setactor[RETURN].xrepeat 14
setactor[RETURN].yrepeat 14
sound RPG_SHOOT
ends
 
state botquickshootstate
ifspritepal 0 nullop else break
450,19 → 448,20
ifp pdead break
 
ifspritepal 0
state botshootrpg
else ifspritepal 3
{
shoot CHAINGUN
sound CHAINGUN_FIRE
shoot RPG sound RPG_SHOOT
}
else ifspritepal 9
else
ifspritepal 3
{
// shoot SHRINKER
// sound SHRINKER_FIRE
shoot SHOTGUN
sound SHOTGUN_FIRE
shoot CHAINGUN sound CHAINGUN_FIRE
}
else
ifspritepal 9
{
// shoot SHRINKER sound SHRINKER_FIRE
shoot SHOTGUN sound SHOTGUN_FIRE
}
ends
 
481,15 → 480,19
ifactioncount 5
{
resetactioncount
state botshootrpg
shoot RPG
sound RPG_SHOOT
}
ifpdistl 4096
{
ifrnd 5
state botchangeweaponstate
}
}
else ifspritepal 3
}
else
ifspritepal 3
{
ifcount 5
{
496,18 → 499,14
ifactioncount 1
{
resetactioncount
shoot SHOTSPARK1
shoot CHAINGUN
shoot CHAINGUN
shoot CHAINGUN
shoot SHOTSPARK1 shoot CHAINGUN shoot CHAINGUN shoot CHAINGUN
sound CHAINGUN_FIRE
}
ifrnd 1
state botchangeweaponstate
ifrnd 1 state botchangeweaponstate
}
}
else ifspritepal 9
else
ifspritepal 9
{
ifcount 5
{
520,17 → 519,20
sound SHOTGUN_FIRE
}
ifp ponsteroids
{
ifrnd 64
state botchangeweaponstate
ifrnd 1
state botchangeweaponstate
}
ifrnd 1 state botchangeweaponstate
}
}
 
 
ends
 
state dudehurt
 
/*
ifstrength YELLHURTSOUNDSTRENGTHMP
{
606,13 → 608,7
ifdead
{
ifspritepal 21
{
state miniboss
break
}
else
soundonce SANTA_DEAD
ifspritepal 21 { state miniboss break } else soundonce SANTA_DEAD
 
ifwasweapon FREEZEBLAST
{
623,7 → 619,8
sound SOMETHINGFROZE
break
}
else ifwasweapon GROWSPARK
else
ifwasweapon GROWSPARK
{
cstat 0
sound ACTOR_GROWING
630,7 → 627,8
ai AIBOTWALKGROW
break
}
else ifwasweapon RADIUSEXPLOSION
else
ifwasweapon RADIUSEXPLOSION
{
// state standard_pjibs
// state standard_pjibs
641,7 → 639,8
endofgame 52
killit
}
else ifwasweapon RPG
else
ifwasweapon RPG
{
// state standard_pjibs
// state standard_pjibs
664,9 → 663,7
ifwasweapon SHRINKSPARK
{
ifai AIBOTWALKSTEROIDS
nullop
else
ifai AIBOTWALKSTEROIDS nullop else
{
ai AIBOTWALKSHRINK
break
697,13 → 694,13
}
ifgapzl 100
nullop
{
}
else
{
ifnotmoving
{
ifrnd 4
operate
ifrnd 4 operate
ifpdistl 8000
{
ai AIFLYUPMOMENT
712,7 → 709,6
}
else
ai AIBOTWALKJUMP1
break
}
}
726,13 → 722,16
state botquickshootstate
ifai AIBOTWALKJUMP1
{
ifactioncount 2
{
ai AIBOTWALKJUMP2
break
}
}
ifai AIBOTWALKJUMP2
{
ifactioncount 1
{
state botshootstate
743,6 → 742,7
ai AIBOTWALKHUNT
}
}
}
ends
 
759,6 → 759,7
ifcansee
{
ifpdistl 1024
{
ifrnd 24
{
ifp pdead
768,13 → 769,16
break
}
}
}
else
{
ifphealthl 50
ifrnd 64
ifpdistl 8000
{
ifrnd 80
sound SANTA_TRASH1
}
ifrnd 128
{
824,14 → 828,12
}
ifp pfacing
ifrnd 16
{
globalsound SANTA_TRASH8
 
}
sound KICK_HIT
ifspritepal 21
addphealth -1
else
addphealth -6
ifspritepal 21 addphealth -1 else addphealth -6
state dukehurt
}
860,7 → 862,8
break
}
}
else ifai AIBOTWALKSTRJUMP2
else
ifai AIBOTWALKSTRJUMP2
{
ifcount 18
{
892,8 → 895,10
count 10
break
}
 
}
else ifai AIBOTWALKSTRJUMP2S
else
ifai AIBOTWALKSTRJUMP2S
{
ifcount 18
{
907,6 → 912,7
}
}
 
ends
 
 
922,14 → 928,15
ai AIBOTWALKSTRJUMP1
break
}
ifrnd 64
ai AIBOTWALKHUNT
}
else
{
ifrnd 128
ifnotmoving
ai AIBOTWALKSTRJUMP1
}
ends
 
945,12 → 952,17
}
ifcount 150
{
ai AIBOTWALKHUNT
}
 
ifcount 34
nullop
{
}
else
{
sizeto 42 36
}
ends
 
957,9 → 969,13
state botletfallstate
ifactioncount 5
nullop
else ifactioncount 6
{
}
else
ifactioncount 6
{
soundonce SANTA_TRASH7
}
ifcansee
{
984,6 → 1000,7
 
ifai 0
{
 
ifspawnedby RECON
{
spawn PIGCOP
1000,35 → 1017,37
ifspritepal 21
{
strength MINIBOSSSTRENGTH
ifrnd 64
soundonce SANTA_TRASH9
ifrnd 64 soundonce SANTA_TRASH9
}
else
spritepal 0
else spritepal 0
sound INSERT_CLIP
break
}
 
 
fall
sleeptime 300
 
ifaction ABOTWDEAD
break
else ifaction ABOTWALKFROZEN
ifaction ABOTWDEAD break
else
ifaction ABOTWALKFROZEN
{
 
ifcount THAWTIME
{
ai AIBOTWALKHUNT
getlastpal
}
else ifcount FROZENDRIPTIME
else
ifcount FROZENDRIPTIME
{
ifactioncount 26
{
spawn WATERDRIP
resetactioncount
}
}
ifhitweapon
{
ifwasweapon FREEZEBLAST
1048,25 → 1067,22
state miniboss
break
}
else
{
endofgame 52
killit
}
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
break
}
else ifai AIBOTWALKSTEROIDS
else
ifai AIBOTWALKSTEROIDS
{
state steroidswalk
break
}
else ifai AIBOTWALKGROW
else
ifai AIBOTWALKGROW
{
ifcount 32
{
1083,12 → 1099,9
state miniboss
break
}
else
{
endofgame 52
killit
}
}
else
{
sizeto MAXXSTRETCH MAXYSTRETCH
1096,21 → 1109,26
}
break
}
else ifai AIBOTWALKSHRINK
else
ifai AIBOTWALKSHRINK
{
 
ifcount SHRUNKDONECOUNT
ai AIBOTWALKHUNT
else
{
ifcount SHRUNKCOUNT
{
spawn FRAMEEFFECT1
sizeto 42 36
}
else ifcount 31
else
{
ifcount 31
nullop
else ifcount 30
else
{
ifcount 30
{
ifrnd 255
{
sound DUKE_TAKEPILLS
1118,6 → 1136,7
break
}
}
}
ifcount 32
{
ifpdistl SQUISHABLEDISTANCE
1125,7 → 1144,11
state standard_pjibs
sound SQUISH2
spawn BLOODPOOL
pstomp
pkick
// state headhitstate
// state headhitstate
// state headhitstate
state headhitstate
ifspritepal 21
{
state miniboss
1137,12 → 1160,11
sound SANTA_DEAD
else
sound SANTA_TRASH9
}
endofgame 52
killit
}
}
}
else
{
sizeto MINXSTRETCH MINYSTRETCH
1149,9 → 1171,11
spawn FRAMEEFFECT1
}
}
 
break
}
else ifai AIBOTWALKDYING
else
ifai AIBOTWALKDYING
{
state botwalkdyingstate
break
1165,13 → 1189,18
state botwalkhitstate
break
}
else ifai AIWALKFALLHARD
else
ifai AIWALKFALLHARD
{
iffloordistl 16
{
ai AIBOTWALKHUNT
}
else
{
break
}
}
else
{
ifai AIWALKFALL
1178,11 → 1207,15
{
state botshootstate
iffloordistl 16
{
ai AIBOTWALKHUNT
}
else
{
break
}
}
}
ifp pshrunk
state stomphisfreakingass
1196,7 → 1229,8
}
 
ifonwater
nullop
{
}
else
{
ifp pjetpack
1211,6 → 1245,7
ifp phigher
{
ifrnd 1
{
ifrnd 196
{
ai AIFLYWAIT
1217,6 → 1252,7
cactor SOBBOTFLY
}
}
}
 
ifai AIWALKWAIT
{
1223,17 → 1259,41
ai AIBOTWALKSEEK
break
}
else ifai AIBOTWALKSEEK state botwalkseekstate
else ifai AIBOTWALKHUNT state botwalkhuntstate
else ifai AIBOTWALKJUMP1 state botwalkjumpstate
else ifai AIBOTWALKJUMP2 state botwalkjumpstate
else ifai AIBOTWALKKICK state botwalkkickstate
else ifai AIBOTWALKSTRAIGHT state botwalkstraightstate
else ifai AIBOTWALKSTRJUMP1 state botwalkstraightjumpstate
else ifai AIBOTWALKSTRJUMP2 state botwalkstraightjumpstate
else ifai AIBOTLETFALL state botletfallstate
else ifai AIBOTWALKSTRJUMP1S state botjumpshootstate
else ifai AIBOTWALKSTRJUMP2S state botjumpshootstate
else
ifai AIBOTWALKSEEK
state botwalkseekstate
else
ifai AIBOTWALKHUNT
state botwalkhuntstate
else
ifai AIBOTWALKJUMP1
state botwalkjumpstate
else
ifai AIBOTWALKJUMP2
state botwalkjumpstate
else
ifai AIBOTWALKKICK
state botwalkkickstate
else
ifai AIBOTWALKSTRAIGHT
state botwalkstraightstate
else
ifai AIBOTWALKSTRJUMP1
state botwalkstraightjumpstate
else
ifai AIBOTWALKSTRJUMP2
state botwalkstraightjumpstate
else
ifai AIBOTLETFALL
state botletfallstate
else
ifai AIBOTWALKSTRJUMP1S
state botjumpshootstate
else
ifai AIBOTWALKSTRJUMP2S
state botjumpshootstate
 
 
enda
 
state botflydyingstate
1246,13 → 1306,11
ifactioncount 5
{
action ABOTFLYDEAD
 
ifspritepal 21
{
state miniboss
break
}
else
endofgame 52
}
1294,7 → 1352,9
}
}
else
{
ai AIBOTFLYSEEKUP
}
ifcount 10
ai AIBOTFLYDOWN
1309,13 → 1369,7
ifdead
{
ifspritepal 21
{
state miniboss
break
}
else
sound SANTA_DEAD
ifspritepal 21 { state miniboss break } else sound SANTA_DEAD
ifwasweapon FREEZEBLAST
{
1326,7 → 1380,8
sound SOMETHINGFROZE
break
}
else ifwasweapon GROWSPARK
else
ifwasweapon GROWSPARK
{
cstat 0
sound ACTOR_GROWING
1333,7 → 1388,8
ai AIBOTFLYGROW
break
}
else ifwasweapon RADIUSEXPLOSION
else
ifwasweapon RADIUSEXPLOSION
{
// state standard_pjibs
// state standard_pjibs
1344,7 → 1400,8
endofgame 52
killit
}
else ifwasweapon RPG
else
ifwasweapon RPG
{
// state standard_pjibs
// state standard_pjibs
1356,8 → 1413,11
killit
}
else
{
ai AIBOTFLYDYING
}
 
}
else
{
state dudehurt
1365,7 → 1425,8
ifwasweapon SHRINKSPARK
{
ifai AIBOTFLYSTEROIDS
nullop
{
}
else
{
ai AIBOTFLYSHRINK
1385,7 → 1446,8
}
ifp phigher
nullop
{
}
else
{
ai AIBOTFLYSEEKDOWN
1404,7 → 1466,8
else
{
ifp phigher
nullop
{
}
else
{
ai AIBOTLETFALL
1425,14 → 1488,17
state botshootstate
ifrnd 16
{
ifp phigher
{
ai AIBOTFLYUP
break
}
}
ifcansee
nullop
{
}
else
{
ai AIBOTFLYSTRAIGHT
1457,9 → 1523,12
}
 
ifcansee
nullop
{
}
else
{
ai AIBOTFLYSTRAIGHT
}
ends
 
1486,7 → 1555,9
state botshootstate
ifcount 50
{
ai AIBOTFLYUP
}
ends
 
1496,7 → 1567,9
ai AIBOTFLYSEEKDOWN
 
ifcansee
{
ai AIBOTFLYDOWN
}
else
{
ifrnd 128
1512,12 → 1585,17
spawn FRAMEEFFECT1
ifcount 100
{
ai AIBOTFLYUP
}
ifcount 34
nullop
{
}
else
{
sizeto 42 36
}
ifhitweapon
{
1534,12 → 1612,8
ifai 0
{
ifcansee
nullop
else
break
ifspritepal 21
strength MINIBOSSSTRENGTH
ifcansee nullop else { break }
ifspritepal 21 strength MINIBOSSSTRENGTH
sizeat 42 36
cstat 257
sound INSERT_CLIP
1548,12 → 1622,15
break
}
 
 
fall
 
sleeptime 300
ifaction ABOTFLYDEAD
break
else ifaction ABOTFLYFROZEN
else
ifaction ABOTFLYFROZEN
{
ifcount THAWTIME
{
1560,7 → 1637,8
ai AIBOTFLYUP
getlastpal
}
else ifcount FROZENDRIPTIME
else
ifcount FROZENDRIPTIME
{
ifactioncount 26
{
1588,12 → 1666,9
state miniboss
break
}
else
{
endofgame 52
killit
}
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
1600,13 → 1675,15
pkick
break
}
else ifai AIBOTFLYSTEROIDS
else
ifai AIBOTFLYSTEROIDS
{
soundonce DUKE_JETPACK_IDLE
state steroidsfly
break
}
else ifai AIBOTFLYGROW
else
ifai AIBOTFLYGROW
{
ifcount 32
{
1623,12 → 1700,9
state miniboss
break
}
else
{
endofgame 52
killit
}
}
else
{
sizeto MAXXSTRETCH MAXYSTRETCH
1636,11 → 1710,13
}
break
}
else ifai AIBOTFLYSHRINK
else
ifai AIBOTFLYSHRINK
{
ifcount SHRUNKDONECOUNT
ai AIBOTFLYUP
else ifcount SHRUNKCOUNT
else
ifcount SHRUNKCOUNT
{
spawn FRAMEEFFECT1
sizeto 42 36
1649,7 → 1725,10
{
ifcount 31
nullop
else ifcount 30
else
{
ifcount 30
{
ifrnd 255
{
sound DUKE_TAKEPILLS
1656,9 → 1735,11
ai AIBOTFLYSTEROIDS
break
}
}
}
ifcount 32
{
 
ifpdistl SQUISHABLEDISTANCE
{
// state standard_pjibs
1667,7 → 1748,11
state standard_pjibs
sound SQUISH2
spawn BLOODPOOL
pstomp
pkick
// state headhitstate
// state headhitstate
// state headhitstate
state headhitstate
ifspritepal 21
{
state miniboss
1679,12 → 1764,11
sound SANTA_DEAD
else
sound SANTA_TRASH9
}
endofgame 52
killit
}
}
}
else
{
sizeto MINXSTRETCH MINYSTRETCH
1708,23 → 1792,28
ifrnd 2 operate
ifp pshrunk
{
state stomphisfreakingass
}
ifrnd 25
{
ifp phigher
nullop
else ifp ponground
{
}
else
{
ifp ponground
{
iffloordistl 200
{
sound DUKE_JETPACK_OFF
iffloordistl 100
ai AIWALKFALL
else
ai AIWALKFALLHARD
iffloordistl 100 ai AIWALKFALL else ai AIWALKFALLHARD
cactor SOBBOTWALK
}
}
}
}
ifai AIFLYWAIT
{
1733,19 → 1822,38
ai AIBOTFLYSEEKDOWN
}
ifai AIBOTFLYSEEKUP state botflyseekupstate
else ifai AIBOTFLYSEEKDOWN state botflyseekdownstate
else ifai AIBOTFLYDOWN state botflydownstate
else ifai AIBOTFLYUP state botflyupstate
else ifai AIBOTFLYDODGEUP state botflydodgestate
else ifai AIBOTFLYDODGEDOWN state botflydodgestate
else ifai AIFLYUPMOMENT state botflyupmomentstate
else ifai AIFLYUPHOLD state botflyholdstate
else ifai AIBOTFLYSTRAIGHT state botflystraightstate
ifai AIBOTFLYSEEKUP
state botflyseekupstate
else
ifai AIBOTFLYSEEKDOWN
state botflyseekdownstate
else
ifai AIBOTFLYDOWN
state botflydownstate
else
ifai AIBOTFLYUP
state botflyupstate
else
ifai AIBOTFLYDODGEUP
state botflydodgestate
else
ifai AIBOTFLYDODGEDOWN
state botflydodgestate
else
ifai AIFLYUPMOMENT
state botflyupmomentstate
else
ifai AIFLYUPHOLD
state botflyholdstate
else
ifai AIBOTFLYSTRAIGHT
state botflystraightstate
 
break
enda
 
// Grunt
 
 
action AELFUZIWALK 0 4 5 1 30
action AELFUZIRUN 0 4 5 1 15
action AELFUZIFROZEN 0 1 5 1
1780,9 → 1888,13
ifp pdead break
ifpdistl 15000
{
ifrnd 16
{
ai AIELFUZIHUNTING
}
}
}
ends
 
1790,6 → 1902,7
ifp pdead ai AIELFUZISEEKING
 
ifcansee
{
ifpdistl 2000
1797,8 → 1910,7
ai AIELFUZISHOOTING
break
}
ifrnd 64
ifnotmoving
ifrnd 64 ifnotmoving
{
ai AIELFUZIJUMPING
break
1806,11 → 1918,14
 
ifrnd 7
ifpdistl 8192
{
ai AIELFUZISHOOTING
}
}
else
ifrnd 64
ai AIELFUZIIQ
{
ifrnd 64 ai AIELFUZIIQ
}
ends
 
1817,13 → 1932,17
state elfuziiqstate
ifcansee
{
ai AIELFUZIHUNTING
}
else
{
ifrnd 16
ifnotmoving
{
ai AIELFUZISEEKING
}
}
ends
 
1840,11 → 1959,12
sound CHAINGUN_FIRE
shoot CHAINGUN
}
else ifrnd 80
else {
ifrnd 80
{
sound SHRINKER_FIRE
shoot SHRINKER
}
} }
resetactioncount
}
ifrnd 4
1851,7 → 1971,9
ai AIELFUZIHUNTING
}
else
{
ai AIELFUZIIQ
}
ends
 
1874,7 → 1996,7
move forwardspeed 1500
// ai AIMOVEFORWARD NONEACTION forwardspeed faceplayer
 
useractor notenemy SPECBLOOD 0 // Hendricks266 fixed this actor. Before this fix, this line said "useractor SPECBLOOD 0", and the code was shit.
useractor notenemy SPECBLOOD 0 // Hendricks266 fixed this actor. Before this fix, this line said "useractor SPECBLOOD 0", and the code was all messed up.
cstat 32768
// sizeat 42 36
// sizeat 32 27
1893,7 → 2015,9
ifdead
{
ifrnd 128
{
spawn XMASPRESENT2
}
ifwasweapon GROWSPARK
{
sound ACTOR_GROWING
1921,7 → 2045,8
state standard_jibs
killit
}
else ifwasweapon RPG
else
ifwasweapon RPG
{
sound SQUISH2
// state standard_jibs
1931,6 → 2056,7
}
else
ai AIELFUZIDYING
 
}
else
{
1940,7 → 2066,8
sound ACTOR_SHRINKING
ai AIELFUZISHRINKING
}
else ifwasweapon GROWSPARK
else
ifwasweapon GROWSPARK
sound EXPANDERHIT
else
ifrnd 32
1954,7 → 2081,8
ai AIELFUZISEEKING
else
ifcount SHRUNKCOUNT
sizeto 32 27 // sizeto 48 40
// sizeto 48 40
sizeto 32 27
else
state genericshrunkcode
1983,6 → 2111,16
ifaction AELFUZIDEAD
{
ifrespawn
ifcount RESPAWNACTORTIME
{
spawn TRANSPORTERSTAR
cstat 257
strength ELFUZISTRENGTH
ai AIELFUZISEEKING
}
else
{
strength 0
ifhitweapon
ifwasweapon RADIUSEXPLOSION
1993,18 → 2131,12
state standard_jibs
killit
}
ifrespawn
ifcount RESPAWNACTORTIME
{
spawn TRANSPORTERSTAR
cstat 257
strength ELFUZISTRENGTH
ai AIELFUZISEEKING
break
}
break
}
else ifaction AELFUZIFROZEN
else
ifaction AELFUZIFROZEN
{
ifcount THAWTIME
{
2011,7 → 2143,8
ai AIELFUZISEEKING
getlastpal
}
else ifcount FROZENDRIPTIME
else
ifcount FROZENDRIPTIME
ifrnd 8
spawn WATERDRIP
2033,15 → 2166,11
pkick
break
}
else ifai AIELFUZIDYING
else
ifai AIELFUZIDYING
state elfuzidyingstate
 
ifai AIELFUZISHRINKING
nullop
else ifai AIELFUZIGROW
nullop
else ifhitweapon
state elfuzihitstate
ifai AIELFUZISHRINKING nullop else { ifai AIELFUZIGROW nullop else { ifhitweapon state elfuzihitstate } }
 
ifai 0
{
2048,10 → 2177,9
ai AIELFUZISEEKING
cstat 257
// clipdist 32
sizeat 32 27 // sizeat 42 36
ifspritepal 0
nullop
else
// sizeat 42 36
sizeat 32 27
ifspritepal 0 nullop else
{
ifrnd 72
strength ELFUZIALTSTR
2059,7 → 2187,9
strength ELFUZISTRENGTH
}
}
else ifai AIELFUZISEEKING state elfuziseekstate
else
 
ifai AIELFUZISEEKING state elfuziseekstate
else ifai AIELFUZIHUNTING state elfuzihuntstate
else ifai AIELFUZIIQ state elfuziiqstate
else ifai AIELFUZISHOOTING state elfuzishootstate
2066,7 → 2196,6
else ifai AIELFUZIJUMPING state elfuzijumpingstate
else ifai AIELFUZIFALLING state elfuzifallingstate
else ifai AIELFUZIGROW state genericgrowcode
 
ifai AIELFUZISHRINKING state elfuzishrinkstate
enda
 
2077,8 → 2206,6
cactor ELFUZI
enda
 
// Groan
 
action AELFGUNWALK 0 4 5 1 20
action AELFGUNRUN 0 4 5 1 10
action AELFGUNFROZEN 0 1 5 1
2107,9 → 2234,13
ifp pdead break
ifpdistl 15000
{
ifrnd 16
{
ai AIELFGUNHUNTING
}
}
}
ends
 
2127,39 → 2258,43
 
ifrnd 7
{
ifpdistl 8192
ai AIELFGUNSHOOTING
ifpdistl 8192 ai AIELFGUNSHOOTING
}
else ifrnd 48
ai AIELFGUNIQ
else ifrnd 48 ai AIELFGUNIQ
ends
 
state elfguniqstate
ifcansee
ai AIELFGUNHUNTING
ifcansee ai AIELFGUNHUNTING
else
{
ifrnd 16
ifnotmoving
ai AIELFGUNSEEKING
}
ends
 
state elfgunshootstate
ifp pdead
ai AIELFGUNSEEKING
ifcansee
{
ifcanshoottarget
ifp pdead ai AIELFGUNSEEKING
 
ifcount 20
{
ifcount 29
nullop
else ifcount 28
else
{
ifcount 28
{
sound SHOTGUN_COCK
else ifcount 20
nullop
else ifcount 19
}
}
}
else
{
ifcount 19
{
sound SHOTGUN_FIRE
shoot SHOTGUN
shoot SHOTGUN
2168,9 → 2303,6
shoot SHOTGUN
}
}
}
else
ai AIELFGUNIQ
ifactioncount 3
{
2179,6 → 2311,8
ifrnd 64
ai AIELFGUNHUNTING
}
}
else ai AIELFGUNIQ
ends
 
2189,8 → 2323,11
ifdead
{
state random_wall_jibs
ifrnd 128
{
spawn XMASPRESENT
}
ifwasweapon GROWSPARK
{
sound ACTOR_GROWING
2217,7 → 2354,8
state standard_jibs
killit
}
else ifwasweapon RPG
else
ifwasweapon RPG
{
sound SQUISH2
// state standard_jibs
2237,7 → 2375,8
sound ACTOR_SHRINKING
ai AIELFGUNSHRINKING
}
else ifwasweapon GROWSPARK
else
ifwasweapon GROWSPARK
sound EXPANDERHIT
else
ifrnd 32
2249,9 → 2388,11
ifcount SHRUNKDONECOUNT
ai AIELFGUNSEEKING
else ifcount SHRUNKCOUNT
sizeto 32 27 // sizeto 48 40
else
ifcount SHRUNKCOUNT
// sizeto 48 40
sizeto 32 27
else
state genericshrunkcode
ends
2302,7 → 2443,8
}
break
}
else ifaction AELFGUNFROZEN
else
ifaction AELFGUNFROZEN
{
ifcount THAWTIME
{
2323,8 → 2465,7
}
addkills 1
lotsofglass 30
ifrnd 84
spawn BLOODPOOL
ifrnd 84 spawn BLOODPOOL
sound GLASS_BREAKING
killit
}
2337,12 → 2478,7
ifai AIELFGUNDYING
state elfgundyingstate
 
ifai AIELFGUNSHRINKING
nullop
else ifai AIELFGUNGROW
nullop
else ifhitweapon
state elfgunhitstate
ifai AIELFGUNSHRINKING nullop else { ifai AIELFGUNGROW nullop else { ifhitweapon { state elfgunhitstate } } }
 
ifai 0
{
2349,17 → 2485,20
ai AIELFGUNSEEKING
cstat 257
// clipdist 32
sizeat 32 27 // sizeat 42 36
// sizeat 42 36
sizeat 32 27
strength ELFGUNSTRENGTH
}
else ifai AIELFGUNSEEKING state elfgunseekstate
else ifai AIELFGUNHUNTING state elfgunhuntstate
else ifai AIELFGUNIQ state elfguniqstate
else ifai AIELFGUNSHOOTING state elfgunshootstate
else ifai AIELFGUNGROW state genericgrowcode
else
 
ifai AIELFGUNSHRINKING state elfgunshrinkstate
ifai AIELFGUNSEEKING { state elfgunseekstate } else
ifai AIELFGUNHUNTING { state elfgunhuntstate } else
ifai AIELFGUNIQ { state elfguniqstate } else
ifai AIELFGUNSHOOTING { state elfgunshootstate } else
ifai AIELFGUNGROW { state genericgrowcode }
ifai AIELFGUNSHRINKING { state elfgunshrinkstate }
break
enda
 
useractor enemystayput ELFGUNSTAYPUT ELFGUNSTRENGTH
2385,15 → 2524,7
ifcanseetarget
{
sound RIP_PAPER
ifvarl nw_temp 1
{
ifrnd 128
spawn SHIELD
else
spawn SIXPAK
}
else
espawnvar nw_temp // spawnvar // spawns the lotag, collected during EVENT_LOADACTOR
ifvarl temp 1 { ifrnd 128 spawn SHIELD else spawn SIXPAK } else espawnvar temp
killit
}
ends
2406,15 → 2537,7
ifcanseetarget
{
sound RIP_PAPER
ifvarl nw_temp 1
{
ifrnd 128
spawn CHAINGUNSPRITE
else
spawn SHOTGUNSPRITE
}
else
espawnvar nw_temp // spawnvar // spawns the lotag, collected during EVENT_LOADACTOR
ifvarl temp 1 { ifrnd 128 spawn CHAINGUNSPRITE else spawn SHOTGUNSPRITE } else espawnvar temp
killit
}
ends
2445,18 → 2568,19
ifspritepal 21
{
ifhitweapon
{
ifcount 24
{
strength 999
ifrnd 128
sound MOVIE2
else
sound MOVIE3
ifrnd 128 sound MOVIE2 else sound MOVIE3
resetcount
}
}
}
else
{
hitradius 4096 1 1 1 1
}
enda
 
useractor notenemy MALEGEEK 20
2475,7 → 2599,6
killit
}
}
ifcount 225
{
sound MALECAROL
2498,7 → 2621,6
killit
}
}
ifcount 225
{
sound FEMALECAROL
/nw_plus/nwinter_hrp.def
5,8 → 5,12
--------------------------------------------------------------------------------
*/
 
include nw_hrp/copies.def
include nw_hrp/sprites.def
include nw_hrp/screen.def
include nw_hrp/textures.def
include nw_hrp/skyboxes.def
include nwinter/undef.def
include nwinter/copies.def
include nwinter/8bit.def
include nwinter/sprites.def
include nwinter/screen.def
include nwinter/textures.def
include nwinter/skyboxes.def
include nwinter/music.def
include nwinter/sounds.def
/nw_plus/NWinter+_Readme.txt
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Modified: svn:mime-type
-text/plain
\ No newline at end of property
+application/octet-stream
\ No newline at end of property
/nw_plus/NWUser.con
19,6 → 19,7
 
define JETPACK_NEAR_EMPTY 160
 
definequote 125 This jetpack is almost empty!
 
definevolumename 0 Nuclear Winter Demo
definevolumename 1 Nuclear Winter
53,8 → 54,6
 
music 3 NW1.MID NW2.MID NW3.MID NW4.MID NW5.MID NW2.MID NW7.MID
 
definesound BONUSMUSIC bonus.voc 0 0 255 3 0 // needs bit 2 for NWL7
 
definesound FLY_BY flyby.voc 0 0 0 0 0
definesound DUKETALKTOBOSS nwinter/sounds/blank.ogg 0 0 255 12 0
definesound BOSSTALKTODUKE nwinter/sounds/blank.ogg 0 0 255 12 0
119,7 → 118,7
definesound SANTA_TRASH9 422.voc 0 0 254 20 100
 
definesound PHONE_RING fonering.voc 0 0 100 3 0
definesound RIP_PAPER rippaper.voc -64 64 250 20 0
definesound RIP_PAPER rippaper.voc 0 0 255 20 100
 
definesound SQUISH2 squish.voc -128 0 2 0 0
definesound WIND2 wind2.voc 0 0 0 2 0
133,10 → 132,10
definesound FEMALECAROL jingle2.voc 0 0 0 0 0
definesound FEMALECAROL_DEAD scream2.voc 0 0 0 0 0
 
definesound LOWANG1 nwinter/sounds/jg41075.voc 0 0 253 0 -2048 // 1.887 sec, 57 tics
definesound LOWANG2 nwinter/sounds/jg42004.voc 0 0 253 0 -2048 // 4.124 sec, 124 tics
definesound LOWANG3 nwinter/sounds/jg42019.voc 0 0 253 0 -2048 // 4.013 sec, 121 tics
definesound LOWANG4 nwinter/sounds/jg42021.voc 0 0 253 0 -2048 // 5.173 sec, 156 tics
definesound LOWANG1 nwinter/sounds/jg41075.voc 0 0 253 0 -2048
definesound LOWANG2 nwinter/sounds/jg42004.voc 0 0 253 0 -2048
definesound LOWANG3 nwinter/sounds/jg42019.voc 0 0 253 0 -2048
definesound LOWANG4 nwinter/sounds/jg42021.voc 0 0 253 0 -2048
 
definesound PHONE_PICKUP nwinter/sounds/phone-pick-up-1.wav 0 0 100 2 0
definesound PHONE_HANGUP nwinter/sounds/phone-hang-up-1.wav 0 0 100 2 0
/nw_plus/nwl1demo.map
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/nw_plus/NWinter+_To_Do.txt
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Modified: svn:mime-type
-text/plain
\ No newline at end of property
+application/octet-stream
\ No newline at end of property
/nw_plus/NWinter.con
9,33 → 9,29
--------------------------------------------------------------------------------
*/
 
definecheat 14 endepisode
definecheat 15 endlevel
definecheat 25 endvolume
 
include NWDefs.con
include NWUser.con
 
setgamename Duke: Nuclear Winter
 
gamevar nw_picnum 0 2
gamevar nw_temp 0 2
gamevar nw_tempb 0 2
gamevar nw_x 0 2
gamevar nw_y 0 2
gamevar nw_z 0 2
gamevar owner 0 2
gamevar temp2 0 2
gamevar temp3 0 2
gamevar temp4 0 2
gamevar ptemp 0 1
gamevar musicchange 0 1
gamevar skin 0 1
 
gamevar nw_owner 0 2
gamevar nw_temp2 0 2
gamevar nw_temp3 0 2
// gamevar nw_temp4 0 0
// gamevar nw_ptemp 0 1
gamevar nw_holodukeid 0 1
gamevar nw_musicchange 0 1
gamevar skin DUKE 132097 // do not reset flag enabled
 
gamevar LOGO_FLAGS 767 0 // default; TEN screen reenabled
 
state cutsceneambience
getactor[THISACTOR].lotag nw_temp
getactor[THISACTOR].lotag temp
 
switch nw_temp
switch temp
 
case WIND_AMBIENCE
case WIND_REPEAT
50,8 → 46,8
ends
 
onevent EVENT_LOADACTOR
getactor[THISACTOR].picnum nw_picnum
switch nw_picnum
getactor[THISACTOR].picnum picnum
switch picnum
 
case SNOWYDOORSHOCK
spritepal 30
75,7 → 71,7
break
 
case JETPACK
ifspritepal 21 setvar nw_temp 1
ifspritepal 21 setvar temp 1
spritepal 0
break
 
88,7 → 84,7
 
case XMASPRESENT
case XMASPRESENT2
getactor[THISACTOR].hitag nw_temp
getactor[THISACTOR].hitag temp
setactor[THISACTOR].hitag 0
break
 
95,14 → 91,7
endswitch
endevent
 
onevent EVENT_SPAWN
getactor[THISACTOR].owner nw_owner
getactor[THISACTOR].picnum nw_picnum
endevent
 
onevent EVENT_EGS
getactor[THISACTOR].picnum nw_picnum
 
ifactor APLAYER setactor[THISACTOR].mdflags 16
ifactor DUKETORSO setactor[THISACTOR].mdflags 16
ifactor DUKEGUN setactor[THISACTOR].mdflags 16
113,18 → 102,18
{
sizeat 8 8
 
setvar nw_temp3 0
randvar nw_temp3 2047
setactor[THISACTOR].ang nw_temp3
setvar temp3 0
randvar temp3 2047
setactor[THISACTOR].ang temp3
 
setvar nw_temp2 -2047
randvar nw_temp2 2047
setvar temp2 -2047
randvar temp2 2047
 
/*
setvar nw_temp3 0
ifrnd 128 addvar nw_temp3 4
ifrnd 128 addvar nw_temp3 8
setactor[THISACTOR].cstat nw_temp3
setvar temp3 0
ifrnd 128 addvar temp3 4
ifrnd 128 addvar temp3 8
setactor[THISACTOR].cstat temp3
*/
}
endevent
204,15 → 193,6
killit
}
else
ifactor CHANDELIER
{
sound GLASS_BREAKING
debris SCRAP3 3
debris SCRAP4 4
lotsofglass 10
killit
}
else
ifactor TREEWITHSOMETHING
{
sound GLASS_HEAVYBREAK
253,8 → 233,6
 
useractor notenemy SNOWGIB WEAK state nwbreakobject enda
 
useractor notenemy CHANDELIER WEAK state nwbreakobject enda
 
useractor notenemy TREEWITHSOMETHING TOUGH state nwbreakobject enda
 
actor JETPACK
270,11 → 248,10
ifpinventory GET_JETPACK JETPACK_AMOUNT
ifcanseetarget
{
ifvare nw_temp 1
ifvare temp 1
{
addinventory GET_JETPACK JETPACK_NEAR_EMPTY
redefinequote 122 This jetpack is almost empty!
quote 122
quote 125
}
else
{
295,22 → 272,22
 
 
state nwbabecode
getactor[THISACTOR].cstat nw_temp
ifvarand nw_temp 1 nullop else addvar nw_temp 1
ifactor HALFBITCH { ifvarand nw_temp 128 nullop else addvar nw_temp 128 }
ifvarand nw_temp 256 nullop else addvar nw_temp 256
getactor[THISACTOR].cstat temp
ifvarand temp 1 nullop else addvar temp 1
ifactor HALFBITCH { ifvarand temp 128 nullop else addvar temp 128 }
ifvarand temp 256 nullop else addvar temp 256
 
getuserdef .lockout nw_temp2
ifvare nw_temp2 1
getuserdef .lockout temp2
ifvare temp2 1
{
ifvarand nw_temp 32768 nullop else addvar nw_temp 32768
ifvarand temp 32768 nullop else addvar temp 32768
}
else
// {
ifvarand nw_temp 32768 subvar nw_temp 32768
ifvarand temp 32768 subvar temp 32768
// }
 
setactor[THISACTOR].cstat nw_temp
setactor[THISACTOR].cstat temp
 
 
 
553,28 → 530,28
{
ifvare LEVEL 2
{
getactor[THISACTOR].sectnum nw_temp
switch nw_temp
getactor[THISACTOR].sectnum temp
switch temp
case 220 case 221
ifvarn nw_musicchange 1
ifvarn musicchange 1
{
starttrack 12 // doom
setvar nw_musicchange 1
setvar musicchange 1
}
break
case 563 case 564 case 565 case 566 case 567
ifvarn nw_musicchange 2
ifvarn musicchange 2
{
starttrack 13 // mario
setvar nw_musicchange 2
setvar musicchange 2
}
break
case 192 case 193 case 194 case 195 case 196 case 197 case 198 case 237 case 238 case 239 case 240
case 166 case 167 case 172 case 173 case 174 case 176 case 179
ifvarn nw_musicchange 0
ifvarn musicchange 0
{
starttrackvar LEVEL // level music
setvar nw_musicchange 0
starttrack 2 // level music
setvar musicchange 0
}
break
endswitch
582,44 → 559,9
}
ends
 
// Flying Frosty
 
/*
action ACOMMBREETH 0 3 5 1 40
action ACOMMFROZEN 0 1 5
action ACOMMSPIN -5 1 5 1 12
action ACOMMGET 0 3 5 1 30
action ACOMMSHOOT 20 1 5 1 35
action ACOMMABOUTTOSHOOT 20 1 5 1 30
action ACOMMDYING 30 8 1 1 12
action ACOMMDEAD 38 1 1 1 1
 
 
move COMMGETUPVELS 128 -64
move COMMGETVELS 128 64
move COMMSLOW 64 24
move COMMSTOPPED
 
ai AICOMMWAIT ACOMMBREETH COMMSTOPPED faceplayerslow
ai AICOMMGET ACOMMGET COMMGETVELS seekplayer
ai AICOMMSHOOT ACOMMSHOOT COMMSTOPPED faceplayerslow
ai AICOMMABOUTTOSHOOT ACOMMABOUTTOSHOOT COMMSTOPPED faceplayerslow
ai AICOMMSPIN ACOMMSPIN COMMGETVELS spin
ai AICOMMDYING ACOMMDYING COMMSTOPPED faceplayer
ai AICOMMSHRUNK ACOMMGET COMMSLOW furthestdir
ai AICOMMGROW ACOMMGET COMMSTOPPED furthestdir
*/
 
move COMMGETUPVELSNW 128 -64
move COMMGETVELSNW 128 64
move COMMSLOWNW 64 24
move COMMSTOPPEDNW
 
action ACOMMSPINNW 0 1 5 1 12
action ACOMMSHOOTNW 20 1 5 1 16 // this is custom to shorten the delay between firing freezeblasts
 
ai AICOMMSPINNW ACOMMSPINNW COMMGETVELSNW spin
ai AICOMMSHOOTNW ACOMMSHOOTNW COMMSTOPPEDNW faceplayerslow
ai AICOMMSPINNW ACOMMSPINNW COMMGETVELS spin
 
state checkcommhitstate
 
728,7 → 670,7
break
}
ifai 0
ai AICOMMSHOOTNW
ai AICOMMSHOOT
else
ifai AICOMMWAIT
{
754,7 → 696,7
ifactioncount 2
{
ifcansee
ai AICOMMSHOOTNW
ai AICOMMSHOOT
else
{
ai AICOMMGET
764,7 → 706,7
ifrnd 32 soundonce COMM_ATTACK
}
else
ifai AICOMMSHOOTNW
ifai AICOMMSHOOT
{
ifcanshoottarget
{
771,7 → 713,6
ifcount 12
ifrnd 16
ai AICOMMWAIT
ifactioncount 1
{
shoot FREEZEBLAST
778,10 → 719,6
resetactioncount
}
getplayer[THISACTOR].i nw_temp
getactor[nw_temp].pal nw_temp
ifvare nw_temp 1 // if player is frozen
ai AICOMMGET
}
else
ai AICOMMGET
807,24 → 744,13
ifrnd 4
operate
ifpdistl 1024
{
ifp palive
{
sound COMM_SPIN
// sound COMM_SPIN
ai AICOMMSPINNW
break
}
getplayer[THISACTOR].i nw_temp
getactor[nw_temp].pal nw_temp
ifvare nw_temp 1 // if player is frozen
{
sound COMM_SPIN
ai AICOMMSPINNW
break
}
}
 
ifcansee
{
ifp phigher
844,17 → 770,10
{
ifpdistl 1280
{
setvar nw_tempb CAPTSPINNINGPLAYER
mulvar nw_tempb -1
// addphealth CAPTSPINNINGPLAYER
getplayer[THISACTOR].i nw_temp
setactor[nw_temp].htextra nw_tempb
setactor[nw_temp].htpicnum KNEE
setactor[nw_temp].htowner THISACTOR
 
globalsound DUKE_GRUNT
palfrom 32 16
resetcount
addphealth CAPTSPINNINGPLAYER
sound DUKE_GRUNT
palfrom 32
16 resetcount
}
else
ifpdistg 2300
899,8 → 818,6
}
enda
 
// Frosted Battle Mobile
 
move TANKSTOPNW
 
useractor enemy TANK TANKSTRENGTH
1029,35 → 946,22
// -----------------------------------------------------------------------------
 
onevent EVENT_GAME
ifactor APLAYER
{
state nwl3surprise
getplayer[THISACTOR].holoduke_on nw_holodukeid
ifvarg nw_holodukeid -1
setactor[nw_holodukeid].mdflags 16
// addlogvar skin
}
ifactor FRAMEEFFECT1
ifspawnedby APLAYER
setactor[THISACTOR].mdflags 16
 
ifactor APLAYER state nwl3surprise
/*
ifactor MONEY
{
setactor[THISACTOR].mdflags 16
// getactor[THISACTOR].owner nw_owner
switch nw_owner
getactor[THISACTOR].owner owner
switch owner
case SNOW case SNOWFLAKE case SNOWMAKER case SNOWMAKERNOMOVE
getactor[THISACTOR].x nw_x
getactor[THISACTOR].y nw_y
getactor[THISACTOR].z nw_z
getactor[THISACTOR].x x
getactor[THISACTOR].y y
getactor[THISACTOR].z z
 
updatesectorz nw_x nw_y nw_z nw_temp
ifvarn nw_temp -1 getflorzofslope nw_temp nw_x nw_y nw_temp2 else killit
updatesectorz x y z temp
ifvarn temp -1 getflorzofslope temp x y temp2 else killit
 
ifvarvare nw_z nw_temp2 killit
ifvarvare z temp2 killit
break
endswitch
}
1064,15 → 968,17
*/
endevent
 
onevent EVENT_ANIMATESPRITES
onevent EVENT_ANIMATESPRITES // This is a hell of a mess because putting get/settspr in states throws warnings, and I don't want that.
getactor[THISACTOR].picnum picnum
getactor[THISACTOR].owner owner
 
ifvare nw_picnum DOORSHOCK
ifvare picnum DOORSHOCK
{
ifspritepal 30 settspr[THISACTOR].tsprpicnum 3656
ifvare VOLUME 1 ifvare LEVEL 2 settspr[THISACTOR].tsprpicnum 3656
break
}
ifvare nw_picnum SNOWFLAKE
ifvare picnum SNOWFLAKE
{
settspr[THISACTOR].tsprpicnum SNOW
settspr[THISACTOR].tsprxrepeat 4
1080,9 → 986,9
break
}
/*
ifvare nw_picnum MONEY
ifvare picnum MONEY
{
switch nw_owner
switch owner
case SNOW case SNOWFLAKE case SNOWMAKER case SNOWMAKERNOMOVE
settspr[THISACTOR].tsprpicnum SNOW
break
1089,75 → 995,95
endswitch
}
*/
switch nw_picnum
case APLAYER
ifvare skin SANTA
getplayervar[THISACTOR].skin temp
ifvare temp 1
{
gettspr[THISACTOR].tsprpicnum nw_temp3
ifvarg nw_temp3 1399 ifvarl nw_temp3 1544 addvar nw_temp3 4096
settspr[THISACTOR].tsprpicnum nw_temp3
getplayer[THISACTOR].i temp2
gettspr[temp2].tsprpicnum temp3
ifvarl temp3 1544 addvar temp3 4096
settspr[temp2].tsprpicnum temp3
settspr[temp2].tsprpal 10
 
ifvarg nw_holodukeid -1
ifvare picnum DUKETORSO
{
gettspr[nw_holodukeid].tsprpicnum nw_temp3
ifvarg nw_temp3 1399 ifvarl nw_temp3 1544 addvar nw_temp3 4096
settspr[nw_holodukeid].tsprpicnum nw_temp3
getactor[owner].picnum temp2
ifvare temp2 APLAYER
{
gettspr[THISACTOR].tsprpicnum temp3
addvar temp3 2456
settspr[THISACTOR].tsprpicnum temp3
break
}
}
ifvare picnum DUKEGUN
{
getactor[owner].picnum temp2
ifvare temp2 APLAYER
{
gettspr[THISACTOR].tsprpicnum temp3
addvar temp3 2456
settspr[THISACTOR].tsprpicnum temp3
break
case FRAMEEFFECT1
ifvare skin SANTA
ifspawnedby APLAYER
}
}
ifvare picnum DUKELEG
{
gettspr[THISACTOR].tsprpicnum nw_temp3
ifvarg nw_temp3 1399 ifvarl nw_temp3 1544 addvar nw_temp3 4096
settspr[THISACTOR].tsprpicnum nw_temp3
getactor[owner].picnum temp2
ifvare temp2 APLAYER settspr[THISACTOR].tsprpal 30
break
}
break
}
case DUKETORSO
case DUKEGUN
getactor[nw_owner].picnum nw_temp2
ifvare nw_temp2 SOBBOTWALK
ifvare picnum DUKETORSO
{
gettspr[THISACTOR].tsprpicnum nw_temp3
addvar nw_temp3 2456
settspr[THISACTOR].tsprpicnum nw_temp3
getactor[owner].picnum temp2
ifvare temp2 SOBBOTWALK
{
gettspr[THISACTOR].tsprpicnum temp3
addvar temp3 2456
settspr[THISACTOR].tsprpicnum temp3
break
}
ifvare nw_temp2 SOBBOTFLY
ifvare temp2 SOBBOTFLY
{
gettspr[THISACTOR].tsprpicnum nw_temp3
addvar nw_temp3 2456
settspr[THISACTOR].tsprpicnum nw_temp3
gettspr[THISACTOR].tsprpicnum temp3
addvar temp3 2456
settspr[THISACTOR].tsprpicnum temp3
break
}
ifvare nw_temp2 APLAYER
}
ifvare picnum DUKEGUN
{
ifvare skin SANTA
getactor[owner].picnum temp2
ifvare temp2 SOBBOTWALK
{
gettspr[THISACTOR].tsprpicnum nw_temp3
addvar nw_temp3 2456
settspr[THISACTOR].tsprpicnum nw_temp3
gettspr[THISACTOR].tsprpicnum temp3
addvar temp3 2456
settspr[THISACTOR].tsprpicnum temp3
break
}
ifvare temp2 SOBBOTFLY
{
gettspr[THISACTOR].tsprpicnum temp3
addvar temp3 2456
settspr[THISACTOR].tsprpicnum temp3
break
}
}
ifvare picnum DUKELEG
{
getactor[owner].picnum temp2
ifvare temp2 SOBBOTWALK settspr[THISACTOR].tsprpal 30
ifvare temp2 SOBBOTFLY settspr[THISACTOR].tsprpal 30
break
 
case DUKELEG
getactor[nw_owner].picnum nw_temp2
ifvare nw_temp2 SOBBOTWALK settspr[THISACTOR].tsprpal 30
ifvare nw_temp2 SOBBOTFLY settspr[THISACTOR].tsprpal 30
ifvare nw_temp2 APLAYER ifvare skin SANTA settspr[THISACTOR].tsprpal 30
break
endswitch
 
ifvare nw_picnum APLAYER // this fixes the bug with the misplaced TV screen tiles
}
ifvare picnum APLAYER
{
gettspr[THISACTOR].tsprpicnum nw_temp
switch nw_temp
gettspr[THISACTOR].tsprpicnum temp
switch temp
case 1470 case 1471 case 1472 case 1473 case 1474
subvar nw_temp 5
settspr[THISACTOR].tsprpicnum nw_temp
subvar temp 5
settspr[THISACTOR].tsprpicnum temp
break
endswitch
}
1170,11 → 1096,10
cstat 32768
// sizeat 1 1
 
ifspritepal 31 // phone ringing effect
ifspritepal 31
{
/*
getplayer[THISACTOR].cursectnum nw_temp3
switch nw_temp3
getplayer[THISACTOR].cursectnum temp3
switch temp3
case 60 case 61 case 62 case 63
case 86 case 87
case 299 case 300 case 301 case 302 case 303 case 304 case 305 case 306 case 307 case 308 case 309
1181,84 → 1106,50
case 310 case 311 case 312 case 313 case 314 case 315 case 316 case 317
soundonce PHONE_RING
break
 
default
stopsound PHONE_RING
break
endswitch
*/
 
ifpdistl 8192 // 4096
soundonce PHONE_RING
ifpdistg 16384
stopsound PHONE_RING
 
ifpdistl RETRIEVEDISTANCE
ifp pfacing
ifhitspace
ifvare nw_temp2 0
ifvare temp2 0
{
setvar nw_temp 0
setvar nw_temp2 1
setvar nw_temp3 0
setvar nw_tempb 0
setvar temp 0
setvar temp2 1
}
 
ifvare nw_temp2 1
ifvare temp2 1
{
addvar nw_temp 1
addvar temp 1
 
stopsound PHONE_RING
ifvare nw_temp 1
sound PHONE_PICKUP
else ifvare nw_temp 30
ifvare temp 1 sound PHONE_PICKUP
else ifvare temp 39
{
setvar nw_tempb 0
randvar nw_tempb 3
 
switch nw_tempb
case 0
sound LOWANG1
setvar nw_temp3 57
break
case 1
sound LOWANG2
setvar nw_temp3 124
break
case 2
sound LOWANG3
setvar nw_temp3 121
break
case 3
sound LOWANG4
setvar nw_temp3 156
break
setvar tempb 0
randvar tempb 3
switch tempb
case 0 sound LOWANG1 break
case 1 sound LOWANG2 break
case 2 sound LOWANG3 break
case 3 sound LOWANG4 break
endswitch
 
addvar nw_temp3 60
setvar nw_tempb 0
}
else ifvarvare nw_temp nw_temp3
else ifvare temp 195 sound PHONE_HANGUP
else ifvare temp 247
{
sound PHONE_HANGUP
setvarvar nw_tempb nw_temp3
addvar nw_tempb 150
setvar temp2 0
setvar temp 0
}
else ifvarvare nw_temp nw_tempb
{
setvar nw_temp2 0
setvar nw_temp 0
}
}
}
enda
 
useractor notenemy 3831 0
// cstat 32768
sizeat 12 13
getactor[THISACTOR].sectnum nw_temp
getplayer[THISACTOR].cursectnum nw_temp2
ifvarvare nw_temp nw_temp2
getactor[THISACTOR].sectnum temp
getplayer[THISACTOR].cursectnum temp2
ifvarvare temp temp2
{
setuserdef[THISACTOR].volume_number 1
endofgame 13
1293,10 → 1184,19
define title_zoom 32768
 
onevent EVENT_DISPLAYMENU
// getplayer[THISACTOR].gm nw_temp
// ifvarand nw_temp 4 nullop else
// getplayer[THISACTOR].gm temp
// ifvarand temp 4 nullop else
// {
rotatesprite title_x1 title_y title_zoom 0 3838 0 0 256 0 0 xdim ydim
rotatesprite title_x2 title_y title_zoom 0 3839 0 0 512 0 0 xdim ydim
rotatesprite title_x1 title_y title_zoom 0 3838 0 0 0 0 0 xdim ydim
rotatesprite title_x2 title_y title_zoom 0 3839 0 0 0 0 0 xdim ydim
// }
endevent
 
/*
onevent EVENT_DISPLAYTITLE
rotatesprite title_x1 title_y title_zoom 0 3838 0 0 0 0 0 xdim ydim
rotatesprite title_x2 title_y title_zoom 0 3839 0 0 0 0 0 xdim ydim
endevent
*/
 
 
/nw_plus/NWinter+_Linux_MacOSX.txt
0,0 → 1,21
 
Unfortunately, I do not understand how to make scripts for Linux and Mac OS X. If you want to run NW+:
1. Copy only NWINTER.GRP from your Nuclear Winter CD to your EDuke32 directory. It should be found in the GAMEDATA/ directory.
2. Extract the maps from NWINTER.GRP using kextract. The syntax is "kextract NWINTER.GRP *.MAP". Binaries for x86 Win32 and x86 Linux have been included. This program's source is included with EDuke32. To compile it, first compile EDuke32 following the steps at the wiki (http://wiki.eduke32.com). Then type "make" in the "build/" directory.
3. Rename the maps' E2L prefix to nwl ("mv E2L*.MAP nwl*.map" should do it).
4. Patch the maps using uips. (http://www.neillcorlett.com/uips/) The syntax is "uips a <ips> <map>". Binaries for x86 Win32 and x86 Linux have been included.
5. Put the Duke3D HRP, Update Pack, XXX Pack if so desired, and Music Pack in autoload/duke3d.grp/
6. Run EDuke32 with either Duke or Santa command line options...
 
 
Normal Mode:
 
eduke32 /xNWEDuke.con /hnwinter.def /gNWINTER.GRP /gnwinter_hrp.zip
 
XXX Mode:
 
eduke32 /xNWEDuke.con /hnw_xxx.def /gNWINTER.GRP /gnwinter_hrp.zip
 
 
 
If you can provide me any assistance with the production of scripts for these OSs, please contact me using the methods specified in the readme.
/nw_plus/NWSnow.con
279,52 → 279,52
useractor notenemy SNOW 0
sizeat 4 4
 
addvar nw_temp2 16
ifvarg nw_temp2 2047 subvar nw_temp2 4095
setvarvar nw_temp3 nw_temp2
sin nw_temp3 nw_temp3
shiftvarr nw_temp3 5
addvar temp2 16
ifvarg temp2 2047 subvar temp2 4095
setvarvar temp3 temp2
sin temp3 temp3
shiftvarr temp3 5
 
/*
getactor[THISACTOR].x nw_x
getactor[THISACTOR].y nw_y
getactor[THISACTOR].z nw_z
getactor[THISACTOR].x x
getactor[THISACTOR].y y
getactor[THISACTOR].z z
 
updatesectorz nw_x nw_y nw_z nw_temp
getactor[THISACTOR].zvel nw_z
ifvare sector[nw_temp].lotag 2
updatesectorz x y z temp
getactor[THISACTOR].zvel z
ifvare sector[temp].lotag 2
{
ifvarl nw_z 64
ifvarl z 64
{
setvar nw_tempb GRAVITATIONALCONSTANT
shiftvarr nw_tempb 5
addvarvar nw_tempb temp4
addvarvar nw_z nw_tempb
setvar tempb GRAVITATIONALCONSTANT
shiftvarr tempb 5
addvarvar tempb temp4
addvarvar z tempb
}
}
else
{
ifvarl nw_z 144
ifvarl z 144
{
setvar nw_tempb GRAVITATIONALCONSTANT
shiftvarr nw_tempb 5
addvarvar nw_tempb temp4
addvarvar nw_z nw_tempb
setvar tempb GRAVITATIONALCONSTANT
shiftvarr tempb 5
addvarvar tempb temp4
addvarvar z tempb
}
}
*/
 
movesprite THISACTOR nw_temp3 0 256 CLIPMASK0 RETURN
movesprite THISACTOR temp3 0 256 CLIPMASK0 RETURN
ifvarn RETURN 0 killit
 
 
getactor[THISACTOR].x nw_x
getactor[THISACTOR].y nw_y
getactor[THISACTOR].z nw_z
getactor[THISACTOR].x x
getactor[THISACTOR].y y
getactor[THISACTOR].z z
 
updatesectorz nw_x nw_y nw_z nw_temp
ifvarn nw_temp -1 getflorzofslope nw_temp nw_x nw_y nw_temp2 else killit
updatesectorz x y z temp
ifvarn temp -1 getflorzofslope temp x y temp2 else killit
 
ifvarvare nw_z nw_temp2 killit
ifvarvare z temp2 killit
 
enda
/nw_plus/nw_dp_xxx.def
7,4 → 7,3
 
include nw_dp.def
include nwinter/xxx.def
include nw_hrp/xxx.def
/nw_plus/NWDPCode.con
184,9 → 184,9
{
ifvarl xydist 1280
{
setvar nw_temp CAPTSPINNINGPLAYER
ifvarand monstflags 8 mulvar nw_temp -2 else mulvar nw_temp -1
setactor[target].htextra nw_temp
setvar temp CAPTSPINNINGPLAYER
ifvarand monstflags 8 mulvar temp -2 else mulvar temp -1
setactor[target].htextra temp
setactor[target].htpicnum RPG
setactor[target].htowner THISACTOR
//sound DUKE_GRUNT
272,10 → 272,10
ifvarl RETURN 16384
ifvarg RETURN -1 // hit a sprite
{
getactor[RETURN].picnum nw_picnum
getactorvar[RETURN].monstatus nw_temp
ifvare nw_picnum APLAYER sound SQUISHED else
ifvare nw_temp 1 sound SQUISHED
getactor[RETURN].picnum picnum
getactorvar[RETURN].monstatus temp
ifvare picnum APLAYER sound SQUISHED else
ifvare temp 1 sound SQUISHED
setactor[RETURN].htpicnum RPG
setactor[RETURN].htextra 100
setactor[RETURN].htowner THISACTOR
424,8 → 424,8
ifai AICOMMSHOOT
{
ifvare target -1 ifvarn playerally 0 { ai AICOMMGET break }
setvar nw_temp 0
ifvarn target -1 setvar nw_temp 1
setvar temp 0
ifvarn target -1 setvar temp 1
ifvarand monstflags 2048
ifvare playerally 0
{
434,10 → 434,10
ai AICOMMFRISBEE
break
}
else ifvarg targetlock 0 setvar nw_temp 1
else ifvarg targetlock 0 setvar temp 1
} else
ifvarg canshootplayer 0 setvar nw_temp 1
ifvare nw_temp 1
ifvarg canshootplayer 0 setvar temp 1
ifvare temp 1
{
ifcount 24
ifrnd 16
489,12 → 489,12
 
ifvarg canseeplayer 0
{
setvar nw_temp 0
ifp phigher setvar nw_temp 1
setvar temp 0
ifp phigher setvar temp 1
ifvarn target -1
ifvarvarg z mz setvar nw_temp 1
ifvarvarg z mz setvar temp 1
ifvare nw_temp 1
ifvare temp 1
move COMMGETUPVELS getv geth faceplayer
else
move COMMGETVELS getv geth faceplayer
/nw_plus/NW_Mapster32.bat
0,0 → 1,37
@echo off
:recheck
if not exist mapster32.exe goto mapster32check
:mapster32check_done
start mapster32 /jnw_plus -hnwinter.def -gNWINTER.GRP %*
goto end
 
:mapster32check
if exist mapster32.bat goto mapster32check_done
if exist ..\mapster32.exe (
cd ..
goto recheck
)
if exist ..\..\mapster32.exe (
cd ..\..
goto recheck
)
if exist ..\..\..\mapster32.exe (
cd ..\..\..
goto recheck
)
if exist ..\mapster32.bat (
cd ..
goto mapster32check_done
)
if exist ..\..\mapster32.bat (
cd ..\..
goto mapster32check_done
)
if exist ..\..\..\mapster32.bat (
cd ..\..\..
goto mapster32check_done
)
echo Warning: You don't have Mapster32 in your directory.
goto mapster32check_done
 
:end
/nw_plus/_nwzoo.mhk
0,0 → 1,10
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: _nwzoo.map - "Nuclear Winter Zoo"
 
 
/nw_plus/nwuninst.bat
1,5 → 1,3
@echo off
 
echo You are about to delete all files relevant to NW+.
echo Continue?
echo.
/nw_plus/nwl1.mhk
0,0 → 1,76
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: nwl1.map - "Déjà Vu"
 
// Pipebomb Box
sprite 336 roll 240
 
// LIGHTS (by Devastator)
 
light 1 750 29970 127 2600 111 111 111 0 0 1536 -1 0 0 0 -1
light 5 566 32938 -23626 1700 61 61 61 0 0 1536 -1 0 0 0 -1
light 13 1262 2234 1792 1700 61 61 61 0 0 1536 -1 0 0 0 -1
light 39 -3182 8993 -4480 2400 85 85 85 0 0 1536 -1 0 0 0 -1
light 42 -1701 13103 -4736 4200 91 81 51 0 0 1536 -1 0 0 0 -1
light 43 -2984 4245 -5760 2700 51 51 41 0 0 1536 -1 0 0 0 -1
light 45 -5269 3398 -10752 1300 101 10 1 0 0 1536 -1 0 0 0 -1
light 53 6113 11494 1280 1400 51 51 51 0 0 1536 -1 0 0 0 -1
light 58 -4789 910 -640 1700 185 21 1 0 0 1536 -1 0 0 0 -1
light 64 -1653 1096 256 2300 205 121 121 0 0 1536 -1 0 0 0 -1
light 70 -16708 36851 -83712 2300 140 140 140 0 0 1536 -1 0 0 0 -1
light 94 -24704 30264 -87168 1600 255 255 240 0 0 1536 -1 0 0 0 -1
light 99 -4442 34049 -23040 2600 157 125 88 0 0 1536 -1 0 0 0 -1
light 100 -2432 37120 -15104 1300 255 255 255 0 0 1536 -1 0 0 0 -1
light 103 -5545 36653 -19584 1500 187 158 160 0 0 1536 -1 0 0 0 -1
light 105 -10724 30785 -48128 2000 181 181 161 0 0 1536 -1 0 0 0 -1
light 106 -10676 35392 -32768 1400 211 41 61 0 0 1536 -1 0 0 0 -1
light 110 -20484 25118 -56448 1400 180 210 210 0 0 1536 -1 0 0 0 -1
light 112 967 4553 384 1600 111 111 111 0 0 1536 -1 0 0 0 -1
light 116 -22230 36607 -73984 3000 81 71 1 0 0 1536 -1 0 0 0 -1
light 129 13535 40259 41728 1700 45 58 11 0 0 1536 -1 0 0 0 -1
light 129 16277 40174 43136 1400 75 76 1 0 0 1536 -1 0 0 0 -1
light 134 5672 37297 41712 1600 105 96 21 0 0 1536 -1 0 0 0 -1
light 155 -20469 33599 -77184 1600 221 201 201 0 0 1536 -1 0 0 0 -1
light 155 -19871 29604 -64640 2400 181 71 61 0 0 1536 -1 0 0 0 -1
light 155 -17821 30780 -76288 2400 255 195 91 0 0 1536 -1 0 0 0 -1
light 163 -3269 7094 -7040 2400 85 85 85 0 0 1536 -1 0 0 0 -1
light 173 7589 10336 4096 1200 111 111 111 0 0 1536 -1 0 0 0 -1
light 174 -11840 20032 -454400 1900 255 41 1 0 0 1536 -1 0 0 0 -1
light 174 -576 20032 -454400 1900 255 41 1 0 0 1536 -1 0 0 0 -1
light 174 2560 23616 -454400 1900 255 41 1 0 0 1536 -1 0 0 0 -1
light 179 -8903 35410 -15872 1600 201 41 1 0 0 1536 -1 0 0 0 -1
light 183 -15703 27485 -38400 1300 71 191 221 0 0 1536 -1 0 0 0 -1
light 183 -14400 32384 -54528 3500 1 31 121 0 0 1536 -1 0 0 0 -1
light 183 -13973 28432 -54400 3500 1 1 225 0 0 1536 -1 0 0 0 -1
light 183 -13713 33628 -46080 2000 1 95 165 0 0 1536 -1 0 0 0 -1
light 183 -12884 27780 -46592 1900 1 135 135 0 0 1536 -1 0 0 0 -1
light 184 -17280 33664 -55168 3500 255 31 1 0 0 1536 -1 0 0 0 -1
light 185 -17064 28199 -53760 3500 255 51 1 0 0 1536 -1 0 0 0 -1
light 186 -25344 29114 -86656 2500 91 71 55 0 0 1536 -1 0 0 0 -1
light 188 -21865 29730 -78336 2200 40 40 40 0 0 1536 -1 0 0 0 -1
light 188 -21225 30802 -81536 1300 211 71 121 0 0 1536 -1 0 0 0 -1
light 191 -26059 27030 -75136 1100 255 255 255 0 0 1536 -1 0 0 0 -1
light 191 -24401 27016 -83072 1900 171 161 141 0 0 1536 -1 0 0 0 -1
light 205 -11776 7680 2048 1700 255 31 1 0 0 1536 -1 0 0 0 -1
light 215 3199 40315 10450 2400 131 131 121 0 0 1536 -1 0 0 0 -1
light 221 2445 12334 -40832 2000 117 107 97 0 0 1536 -1 0 0 0 -1
light 221 5462 13116 -47104 2600 47 37 27 0 0 1536 -1 0 0 0 -1
light 233 3580 33824 -9105 1900 255 255 255 0 0 1536 -1 0 0 0 -1
light 239 -7374 10248 -31744 4200 161 151 131 0 0 1536 -1 0 0 0 -1
light 239 -5354 16804 -171392 8000 131 121 91 0 0 1536 -1 0 0 0 -1
light 239 81 17085 -37504 7000 161 151 131 0 0 1536 -1 0 0 0 -1
light 239 3483 30313 -3200 2200 155 11 1 0 0 1536 -1 0 0 0 -1
light 239 3615 30125 -43136 1500 255 51 1 0 0 1536 -1 0 0 0 -1
light 239 4416 32512 -454400 1900 255 41 1 0 0 1536 -1 0 0 0 -1
light 239 4864 22016 9216 2600 47 37 27 0 0 1536 -1 0 0 0 -1
light 239 8704 30464 -171392 8000 131 121 91 0 0 1536 -1 0 0 0 -1
light 239 11267 28860 -21760 4000 141 131 121 0 0 1536 -1 0 0 0 -1
light 246 -8527 29608 -31616 3600 157 125 88 0 0 1536 -1 0 0 0 -1
light 246 -4008 31035 -29568 3600 157 125 88 0 0 1536 -1 0 0 0 -1
light 248 9984 40192 42624 1700 45 58 11 0 0 1536 -1 0 0 0 -1
light 262 -5020 29232 -30208 2900 191 191 191 0 0 1536 -1 0 0 0 -1
/nw_plus/utils/linux/i586
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/utils/linux/x86_64
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/utils/linux
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/utils/mac
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/utils/source/buildtools/get.sh
File deleted
/nw_plus/utils/source/buildtools/compile.sh
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bzlib.h
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bsdiff.dsw
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/Binary diff.txt
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bsdiff.1
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/crctable.c
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bspatch.cpp
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/huffman.c
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bspatch.dsp
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/compress.c
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/randtable.c
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bsdiff.cpp
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bsdiff.dsp
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/LICENSE
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bzlib_private.h
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bspatch.1
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/bzlib.c
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/blocksort.c
File deleted
/nw_plus/utils/source/bsdiff-4.3/win32/decompress.c
File deleted
/nw_plus/utils/source/bsdiff-4.3/bspatch.1
File deleted
/nw_plus/utils/source/bsdiff-4.3/bspatch.c
File deleted
/nw_plus/utils/source/bsdiff-4.3/bsdiff.1
File deleted
/nw_plus/utils/source/bsdiff-4.3/Makefile
File deleted
/nw_plus/utils/source/bsdiff-4.3/bsdiff.c
File deleted
/nw_plus/utils/source/sums611/COPYING
File deleted
/nw_plus/utils/source/sums611/README
File deleted
/nw_plus/utils/source/sums611/links.txt
File deleted
/nw_plus/utils/source/sums611
Property changes:
Deleted: bugtraq:number
-true
\ No newline at end of property
/nw_plus/utils/source/wget/links.txt
File deleted
/nw_plus/utils/source/wget
Property changes:
Deleted: bugtraq:number
-true
\ No newline at end of property
/nw_plus/utils/source/uips
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/utils/source/kextract/compile.sh
0,0 → 1,11
#!/bin/bash
echo "Before compiling the utilities, you must follow the directions to compile EDuke32."
echo "http://wiki.eduke32.com/wiki/Building_EDuke32_on_Linux"
echo "After that is all done, you must make EDuke32, then change to the build directory and make that too."
echo "This script will do that here."
cd polymer/eduke32/
make
cd build/
make
cd util/
ls
/nw_plus/utils/source/kextract/get.sh
0,0 → 1,4
#!/bin/bash
echo "The source for kextract is part of EDuke32."
echo "This script will check out EDuke32 from its SVN."
svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32
/nw_plus/utils/source
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/utils/windows/win32/md5sum.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/sha512sum.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/sha224sum.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/kextract.debug.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/wget.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/bspatch.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/sha256sum.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/sha384sum.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/kgroup.debug.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/bsdiff.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/sha1sum.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/nw_plus/utils/windows/win32/kextract.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/nw_plus/utils/windows/win32/kgroup.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/nw_plus/utils/windows/win32
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/utils/windows
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/utils
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/NW_XXX.bat
1,3 → 1,3
@echo off
set xxx=1
call "%~dp0\NWinter.bat" %*
echo Using XXX mode.
NWinter.bat /hnw_xxx.def %*
/nw_plus/nwl2.mhk
0,0 → 1,65
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: nwl2.map - "Where It All Began"
 
// "Steering Wheel"
sprite 650 notmd
 
// LIGHTS (by Devastator)
 
// sect x y z range r g b rad fade ang horiz mins maxs prio tile
light 55 18432 49408 -36608 2500 255 255 255 0 0 0 0 0 0 0 0
light 66 22144 39936 -9216 2500 200 200 200 0 0 0 0 10 0 0 0
light 67 26048 39680 -6912 1000 100 100 100 0 0 0 0 18 0 0 0
light 67 26048 40192 -6912 3500 255 255 255 450 200 1024 -600 18 0 0 0
light 67 26048 40704 -6912 1000 100 100 100 0 0 0 0 18 0 0 0
light 72 22016 45300 -6144 4000 255 255 255 400 300 512 100 13 0 0 9000
light 72 22016 45545 -11144 500 255 255 255 0 0 0 0 13 0 0 0
light 72 22016 45545 -1144 500 255 255 255 0 0 0 0 13 0 0 0
light 89 15936 57600 -63232 1000 100 100 100 0 0 0 0 0 0 0 0
light 89 16192 57600 -63232 3000 200 200 200 450 200 1536 -500 0 0 0 0
light 89 16448 57600 -63232 1000 100 100 100 0 0 0 0 0 0 0 0
light 90 22016 48832 -94976 2500 160 160 150 0 0 0 0 16 0 0 0
light 90 22016 48832 -94976 8000 255 255 250 300 200 1536 -600 16 0 0 0
light 105 21792 53664 -103168 9000 255 255 250 300 200 512 -500 15 6 0 0
light 115 18084 57216 -13056 1600 200 200 200 0 0 0 0 22 0 0 0
light 118 16384 57952 -13056 2048 200 200 200 300 200 512 -500 22 0 0 0
light 133 22016 43520 -47104 6500 255 255 255 400 250 1540 -450 15 -21 0 0
light 133 22016 43520 -43000 3000 220 220 220 0 0 0 0 15 -21 0 0
light 136 19200 61184 -69000 4000 255 0 0 0 0 0 0 0 0 0 0
light 139 27910 42254 -22000 7000 255 255 255 375 200 12 -150 15 -8 0 0
light 139 27910 42818 -22000 1280 255 255 255 0 0 0 0 15 -8 0 0
light 139 27910 41876 -22000 1280 255 255 255 0 0 0 0 15 -8 0 0
light 142 25504 39168 -2048 1000 0 100 20 0 0 0 0 0 0 0 0
light 149 19456 60128 -18432 1000 0 100 20 0 0 0 0 0 0 0 0
light 151 16384 58880 -9216 500 200 50 0 0 0 0 0 0 0 0 0
light 158 16640 53120 -52224 3000 255 255 255 200 150 512 -100 0 0 0 0
light 159 16640 52864 -52224 3000 255 255 255 200 150 1536 -100 0 0 0 0
light 165 15296 60920 -58112 500 200 50 0 0 0 0 0 0 0 0 0
light 167 25344 59640 -30720 2000 255 255 255 0 0 0 0 0 0 0 0
light 180 13000 48128 -85632 3000 255 0 0 0 0 0 0 0 0 0 0
light 180 13000 48128 -55632 3000 255 0 0 0 0 0 0 0 0 0 0
light 185 7034 50364 -58568 4000 110 150 130 150 150 1024 77 0 0 0 9001
light 186 7034 52414 -58568 4000 110 150 130 150 150 1024 77 0 0 0 9001
light 189 4338 47184 -58568 4000 110 150 130 155 150 640 77 0 0 0 9001
light 190 2368 46464 -58568 4000 110 150 130 155 150 640 77 0 0 0 9001
light 192 960 47744 -54272 1000 0 100 20 0 0 0 0 0 0 0 0
light 204 14080 46080 -5120 2500 255 255 255 0 0 0 0 11 7 0 0
light 211 26160 46400 -53248 1000 0 100 20 0 0 0 0 0 0 0 0
light 220 17472 50608 -35840 1024 200 0 0 0 0 0 0 0 0 0 0
light 242 17792 43008 -45824 1000 250 250 250 0 0 0 0 0 0 0 0
light 255 300 42313 -460800 45000 200 250 220 120 50 100 -300 0 0 0 0
light 260 18400 48128 -2048 1000 0 100 20 0 0 0 0 0 0 0 0
light 290 -1550 40448 -101376 2000 200 200 200 0 0 0 0 0 0 0 0
light 290 -1550 40448 -102376 5000 255 255 255 350 150 0 -500 0 0 0 0
light 297 19136 48704 -38912 2000 100 100 100 0 0 0 0 0 0 0 0
light 297 19136 48704 -11264 1024 200 0 0 0 0 0 0 0 0 0 0
light 297 19136 48704 -38912 5000 255 255 255 500 300 1775 100 0 0 0 0
light 302 18752 57216 -18432 500 200 50 0 0 0 0 0 0 0 0 0
light 307 -32256 1280 -297996 30000 25 50 25 0 0 0 0 0 0 0 0
light 307 -23146 19439 -297996 30000 200 250 220 150 140 1390 0 0 0 0 0
/nw_plus/nwl3.mhk
0,0 → 1,10
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: nwl3.map - "Land of Forgotten Toys"
 
 
/nw_plus/nwl4.mhk
0,0 → 1,10
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: nwl4.map - "Santa's Corporate HQ"
 
 
/nw_plus/nwl5.mhk
0,0 → 1,13
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: nwl5.map - "The Backdoor"
 
// Drain
sprite 48 notmd
 
 
/nw_plus/nwl1demo.mhk
0,0 → 1,76
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: nwl1demo.map - "Déjà Vu Demo"
 
// Pipebomb Box
sprite 336 roll 240
 
// LIGHTS (by Devastator)
 
light 1 750 29970 127 2600 111 111 111 0 0 1536 -1 0 0 0 -1
light 5 566 32938 -23626 1700 61 61 61 0 0 1536 -1 0 0 0 -1
light 13 1262 2234 1792 1700 61 61 61 0 0 1536 -1 0 0 0 -1
light 39 -3182 8993 -4480 2400 85 85 85 0 0 1536 -1 0 0 0 -1
light 42 -1701 13103 -4736 4200 91 81 51 0 0 1536 -1 0 0 0 -1
light 43 -2984 4245 -5760 2700 51 51 41 0 0 1536 -1 0 0 0 -1
light 45 -5269 3398 -10752 1300 101 10 1 0 0 1536 -1 0 0 0 -1
light 53 6113 11494 1280 1400 51 51 51 0 0 1536 -1 0 0 0 -1
light 58 -4789 910 -640 1700 185 21 1 0 0 1536 -1 0 0 0 -1
light 64 -1653 1096 256 2300 205 121 121 0 0 1536 -1 0 0 0 -1
light 70 -16708 36851 -83712 2300 140 140 140 0 0 1536 -1 0 0 0 -1
light 94 -24704 30264 -87168 1600 255 255 240 0 0 1536 -1 0 0 0 -1
light 99 -4442 34049 -23040 2600 157 125 88 0 0 1536 -1 0 0 0 -1
light 100 -2432 37120 -15104 1300 255 255 255 0 0 1536 -1 0 0 0 -1
light 103 -5545 36653 -19584 1500 187 158 160 0 0 1536 -1 0 0 0 -1
light 105 -10724 30785 -48128 2000 181 181 161 0 0 1536 -1 0 0 0 -1
light 106 -10676 35392 -32768 1400 211 41 61 0 0 1536 -1 0 0 0 -1
light 110 -20484 25118 -56448 1400 180 210 210 0 0 1536 -1 0 0 0 -1
light 112 967 4553 384 1600 111 111 111 0 0 1536 -1 0 0 0 -1
light 116 -22230 36607 -73984 3000 81 71 1 0 0 1536 -1 0 0 0 -1
light 129 13535 40259 41728 1700 45 58 11 0 0 1536 -1 0 0 0 -1
light 129 16277 40174 43136 1400 75 76 1 0 0 1536 -1 0 0 0 -1
light 134 5672 37297 41712 1600 105 96 21 0 0 1536 -1 0 0 0 -1
light 155 -20469 33599 -77184 1600 221 201 201 0 0 1536 -1 0 0 0 -1
light 155 -19871 29604 -64640 2400 181 71 61 0 0 1536 -1 0 0 0 -1
light 155 -17821 30780 -76288 2400 255 195 91 0 0 1536 -1 0 0 0 -1
light 163 -3269 7094 -7040 2400 85 85 85 0 0 1536 -1 0 0 0 -1
light 173 7589 10336 4096 1200 111 111 111 0 0 1536 -1 0 0 0 -1
light 174 -11840 20032 -454400 1900 255 41 1 0 0 1536 -1 0 0 0 -1
light 174 -576 20032 -454400 1900 255 41 1 0 0 1536 -1 0 0 0 -1
light 174 2560 23616 -454400 1900 255 41 1 0 0 1536 -1 0 0 0 -1
light 179 -8903 35410 -15872 1600 201 41 1 0 0 1536 -1 0 0 0 -1
light 183 -15703 27485 -38400 1300 71 191 221 0 0 1536 -1 0 0 0 -1
light 183 -14400 32384 -54528 3500 1 31 121 0 0 1536 -1 0 0 0 -1
light 183 -13973 28432 -54400 3500 1 1 225 0 0 1536 -1 0 0 0 -1
light 183 -13713 33628 -46080 2000 1 95 165 0 0 1536 -1 0 0 0 -1
light 183 -12884 27780 -46592 1900 1 135 135 0 0 1536 -1 0 0 0 -1
light 184 -17280 33664 -55168 3500 255 31 1 0 0 1536 -1 0 0 0 -1
light 185 -17064 28199 -53760 3500 255 51 1 0 0 1536 -1 0 0 0 -1
light 186 -25344 29114 -86656 2500 91 71 55 0 0 1536 -1 0 0 0 -1
light 188 -21865 29730 -78336 2200 40 40 40 0 0 1536 -1 0 0 0 -1
light 188 -21225 30802 -81536 1300 211 71 121 0 0 1536 -1 0 0 0 -1
light 191 -26059 27030 -75136 1100 255 255 255 0 0 1536 -1 0 0 0 -1
light 191 -24401 27016 -83072 1900 171 161 141 0 0 1536 -1 0 0 0 -1
light 205 -11776 7680 2048 1700 255 31 1 0 0 1536 -1 0 0 0 -1
light 215 3199 40315 10450 2400 131 131 121 0 0 1536 -1 0 0 0 -1
light 221 2445 12334 -40832 2000 117 107 97 0 0 1536 -1 0 0 0 -1
light 221 5462 13116 -47104 2600 47 37 27 0 0 1536 -1 0 0 0 -1
light 233 3580 33824 -9105 1900 255 255 255 0 0 1536 -1 0 0 0 -1
light 239 -7374 10248 -31744 4200 161 151 131 0 0 1536 -1 0 0 0 -1
light 239 -5354 16804 -171392 8000 131 121 91 0 0 1536 -1 0 0 0 -1
light 239 81 17085 -37504 7000 161 151 131 0 0 1536 -1 0 0 0 -1
light 239 3483 30313 -3200 2200 155 11 1 0 0 1536 -1 0 0 0 -1
light 239 3615 30125 -43136 1500 255 51 1 0 0 1536 -1 0 0 0 -1
light 239 4416 32512 -454400 1900 255 41 1 0 0 1536 -1 0 0 0 -1
light 239 4864 22016 9216 2600 47 37 27 0 0 1536 -1 0 0 0 -1
light 239 8704 30464 -171392 8000 131 121 91 0 0 1536 -1 0 0 0 -1
light 239 11267 28860 -21760 4000 141 131 121 0 0 1536 -1 0 0 0 -1
light 246 -8527 29608 -31616 3600 157 125 88 0 0 1536 -1 0 0 0 -1
light 246 -4008 31035 -29568 3600 157 125 88 0 0 1536 -1 0 0 0 -1
light 248 9984 40192 42624 1700 45 58 11 0 0 1536 -1 0 0 0 -1
light 262 -5020 29232 -30208 2900 191 191 191 0 0 1536 -1 0 0 0 -1
/nw_plus/nw_dp.def
6,7 → 6,5
*/
 
include dukeplus.def
include nw_plus.def
include nwinter_hrp.def
include nwinter/dp.def
include nw_hrp/dp.def
/nw_plus/nwl6.mhk
0,0 → 1,11
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: nwl6.map - "Christmas Village"
 
// Drain
sprite 143 notmd
/nw_plus/NWDefs.con
21,7 → 21,6
define DRUNKELF 3592
define HALFBITCH 3627
define SLUTASS 3637
define CHANDELIER 3778
define CHOOCHOOSLUT 3779
define HORSEPOWER 3783
 
69,15 → 68,6
 
define SNOW 3835
 
// skin definitions
define duke 0
define Duke 0
define dUKE 0
define DUKE 0
define santa 1
define Santa 1
define sANTA 1
define SANTA 1
 
 
define DAMNUGLY 398
/nw_plus/nwl7.mhk
0,0 → 1,10
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: nwl7.map - "Here Comes Santa Claws"
 
 
/nw_plus/nwl8.mhk
0,0 → 1,10
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
 
// Level: nwl8.map - "Santamatch"
 
 
/nw_plus/linux_macosx/nwinter.sh
1,6 → 1,6
#!/bin/bash
if [ -e eduke32 ]; then
./eduke32 -xNWEDuke.con -hnwinter.def -jnw_plus -gNWINTER.GRP
./eduke32 /xNWEDuke.con /hnwinter.def /jnw_plus /gNWINTER.GRP
else
echo "Place this script and the nw_plus folder in your EDuke32 directory."
fi
/nw_plus/linux_macosx/nw_dp.sh
1,6 → 1,6
#!/bin/bash
if [ -e eduke32 ]; then
./eduke32 -xNWDP.con -hnw_dp.def -jnw_plus -gNWINTER.GRP -jDukePlus
./eduke32 -xNWDP.con -hnw_dp.def /jnw_plus /gNWINTER.GRP -jDukePlus
else
echo "Place this script and the nw_plus folder in your EDuke32 directory."
fi
/nw_plus/linux_macosx/nw_install.sh
5,7 → 5,7
mv ../NWINTER.GRP ./
fi
if [ -e NWINTER.GRP ]; then
./kextract NWINTER.GRP E2L*.MAP
./kextract.linux NWINTER.GRP E2L*.MAP
mv E2L1.MAP nwl1.map
mv E2L2.MAP nwl2.map
mv E2L3.MAP nwl3.map
14,14 → 14,14
mv E2L6.MAP nwl6.map
mv E2L7.MAP nwl7.map
mv E2L8.MAP nwl8.map
./bspatch nwl1.map nwl1.map nwl1.patch
./bspatch nwl2.map nwl2.map nwl2.patch
./bspatch nwl3.map nwl3.map nwl3.patch
./bspatch nwl4.map nwl4.map nwl4.patch
./bspatch nwl5.map nwl5.map nwl5.patch
./bspatch nwl6.map nwl6.map nwl6.patch
./bspatch nwl7.map nwl7.map nwl7.patch
./bspatch nwl8.map nwl8.map nwl8.patch
./uips.linux a nwl1.ips nwl1.map
./uips.linux a nwl2.ips nwl2.map
./uips.linux a nwl3.ips nwl3.map
./uips.linux a nwl4.ips nwl4.map
./uips.linux a nwl5.ips nwl5.map
./uips.linux a nwl6.ips nwl6.map
./uips.linux a nwl7.ips nwl7.map
./uips.linux a nwl8.ips nwl8.map
echo "Patching complete!"
else
echo "NWINTER.GRP does not exist."
/nw_plus/linux_macosx/kextract.linux
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/nw_plus/linux_macosx/nw_xxx.sh
1,6 → 1,6
#!/bin/bash
if [ -e eduke32 ]; then
./eduke32 -xNWEDuke.con -hnw_xxx.def -jnw_plus -gNWINTER.GRP
./eduke32 /xNWEDuke.con /hnw_xxx.def /jnw_plus /gNWINTER.GRP
else
echo "Place this script and the nw_plus folder in your EDuke32 directory."
fi
/nw_plus/linux_macosx/nw_dp_xxx.sh
1,6 → 1,6
#!/bin/bash
if [ -e eduke32 ]; then
./eduke32 -xNWDPXXX.con -hnw_dp_xxx.def -jnw_plus -gNWINTER.GRP -jDukePlus
./eduke32 -xNWDPXXX.con -hnw_dp_xxx.def /jnw_plus /gNWINTER.GRP -jDukePlus
else
echo "Place this script and the nw_plus folder in your EDuke32 directory."
fi
/nw_plus/linux_macosx/NWinter+_Linux_MacOSX.txt
1,6 → 1,6
I am not proficient with bash scripts, but I have included my attempt at providing the same level of support to Mac OS X and Linux as I do with my native OS, Windows.
 
You will have to compile your own binaries using the instructions below and replace the string ".linux" in the installation script with nothing or any existing Mac prefix. I'm truly sorry about this.
Note that on Mac OS X, you will have to compile your own binaries using the instructions below and replace the string ".linux" in the installation script with nothing or any existing Mac prefix. I'm truly sorry about this.
 
First, copy NWINTER.GRP to this directory and run nw_install.sh.
 
13,10 → 13,10
 
If you want to attempt manual installation, or need help along the way:
1. Copy only NWINTER.GRP from your Nuclear Winter CD to your EDuke32 directory. It should be found in the GAMEDATA/ directory.
2. Extract the maps from NWINTER.GRP using kextract. The syntax is "kextract NWINTER.GRP E2L*.MAP". This program's source is included with EDuke32. To compile it, first compile EDuke32 following the steps at the wiki (http://wiki.eduke32.com). Then type "make" in the "build/" directory.
2. Extract the maps from NWINTER.GRP using kextract. The syntax is "kextract NWINTER.GRP E2L*.MAP". Binaries for x86 Win32 and x86 Linux have been included. This program's source is included with EDuke32. To compile it, first compile EDuke32 following the steps at the wiki (http://wiki.eduke32.com). Then type "make" in the "build/" directory.
3. Rename the maps' E2L prefix to nwl ("mv E2L*.MAP nwl*.map" might do it).
4. Patch the maps using bspatch. (http://www.daemonology.net/bsdiff/) The syntax is "bspatch <source> <destination> <patch>".
5. Put the Duke3D HRP, Update Pack, XXX Pack if so desired, and Music Pack in ~/.eduke32/autoload/
4. Patch the maps using uips. (http://www.neillcorlett.com/uips/) The syntax is "uips a <ips> <map>". Binaries for x86 Win32 and x86 Linux have been included.
5. Put the Duke3D HRP, Update Pack, XXX Pack if so desired, and Music Pack in autoload/duke3d.grp/
6. Run EDuke32 with the command line options.
 
 
/nw_plus/linux_macosx/uips.linux
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/nw_plus/linux_macosx
Property changes:
Deleted: svn:ignore
-Thumbs.db
/nw_plus/nwl1.ips
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/nw_plus/NW_DP.bat
1,3 → 1,3
@echo off
set dp=1
call "%~dp0\NWinter.bat" %*
echo Using Duke Plus by DeeperThought.
NWinter.bat -xNWDP.con -hnw_dp.def %* -jDukePlus
/nw_plus/nwl2.ips
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/nw_plus/nwl3.ips
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/nw_plus/NWINTRO.TXT
14,13 → 14,3
 
A telegram alerts Duke Nukem to the horrible plan. Without any hesitation,
Duke springs into action.
 
THE LEVELS
 
Deja Vu - A familiar winterized version of the original, only backwards!
Where It All Began - Los Angeles with snow? What are the aliens up to?
Land of Forgotten Toys - Welcome to the frozen tundra, Duke.
Santa's Corporate HQ - Check Santa's list to see if you've been naughty or nice.
The Backdoor - There's always a way in, but sometimes you have to get a little bit wet.
Christmas Village - The villagers here don't appear to be very friendly.
Here Comes Santa Claus - And he's packing some holiday punch.
Property changes:
Deleted: svn:mime-type
-text/plain
\ No newline at end of property
/nw_plus/nwl4.ips
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/nw_plus/.
Property changes:
Deleted: svn:ignore
-Thumbs.db