the cutting room mirror

Duke Nukem II

Unused Ending Image#

Dn2lostendingframe.png

For some unknown reason, this slide of the ending of Episode Four (END4-2.MNI) is skipped over. Coding error? Deliberate cut? We may never know.

(Source: Hendricks266)

Unused Text#

text.mni contains a message that would have appeared in in-house beta versions of the game:

Beta_Only

//FADEOUT
//LOADRAW MESSAGE.MNI
//XYTEXT 0 0 ï28100
//PAK
//XYTEXT 5 9  This is a BETA COPY of Duke
//XYTEXT 5 10  Nukem II. Do not distribute.
//XYTEXT 5 11  This game is work in progress
//XYTEXT 5 12  and should not be viewed
//XYTEXT 5 13  by anyone outside Apogee!
//XYTEXT 5 15  Please report any illegal
//XYTEXT 5 16  use to Apogee Software at
//XYTEXT 5 17  1-214-278-5655.
//FADEIN
//WAIT
//END

help.mni contains several messages related to disabled debugging features:

God_Mode_On

//SETCURRENTPAGE
//SHIFTWIN -3
//CENTERWINDOW 5 5 24
//SKLINE
//CWTEXT Tec mode ON.
//DELAY 30
//WAIT
//END

God_Mode_Off

//SETCURRENTPAGE
//SHIFTWIN -3
//CENTERWINDOW 5 5 24
//SKLINE
//CWTEXT Tec mode OFF.
//DELAY 30
//WAIT
//END





Weapon_Select

//FADEOUT
//LOADRAW MESSAGE.mni
//XYTEXT 1 2 óCHOOSE YOUR WEAPON
//XYTEXT 4 7 òDEFAULT
//XYTEXT 4 10 òBLUE LASERS
//XYTEXT 4 13 òROCKETS
//XYTEXT 4 16 òFLAME THROWER
//MENU 10

//PAGESSTART
//XYTEXT 4 7 ñDEFAULT
//XYTEXT 4 10 òBLUE LASERS
//XYTEXT 4 13 òROCKETS
//XYTEXT 4 16 òFLAME THROWER
//WAIT

//APAGE
//XYTEXT 4 7 òDEFAULT
//XYTEXT 4 10 ñBLUE LASERS
//XYTEXT 4 13 òROCKETS
//XYTEXT 4 16 òFLAME THROWER

//WAIT

//APAGE
//XYTEXT 4 7 òDEFAULT
//XYTEXT 4 10 òBLUE LASERS
//XYTEXT 4 13 ñROCKETS
//XYTEXT 4 16 òFLAME THROWER
//WAIT

//APAGE
//XYTEXT 4 7 òDEFAULT
//XYTEXT 4 10 òBLUE LASERS
//XYTEXT 4 13 òROCKETS
//XYTEXT 4 16 ñFLAME THROWER
//WAIT
//PAGESEND
//END

Warp

//FADEOUT
//LOADRAW MESSAGE.mni
//XYTEXT 8 2 ÷WARP MODE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7òBOSS
//TOGGS 8 4 7 1 9 2 11 3 13 4
//MENU 11

//PAGESSTART
//XYTEXT 8 7 óVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7òBOSS
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 óVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 óVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7òBOSS
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 óVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7òBOSS
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 óL1òL2òL3òL4òL5òL6òL7òBOSS
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1óL2òL3òL4òL5òL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2óL3òL4òL5òL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3óL4òL5òL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4óL5òL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5óL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6óL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7óBOSS
//WAIT
//PAGESEND
//END

(Source: Hendricks266)

Anti-Piracy#

The registered version of Duke Nukem 2 uses a simple anti-piracy method that was in common use at Apogee at the time: The game checks for a FILE_ID.DIZ file (commonly used as an archive description on BBSes) that contains the following:

████▓▒░ ALERT THE SYSOP IMMEDIATELY! ░▒▓████
████████████████████████████████████████████
THIS FILE IS NOT SHAREWARE -- it is ILLEGAL
and forbidden to upload this copyrighted
software to bulletin boards. If you see this
message on a BBS, please request that the
Sysop remove this software IMMEDIATELY!!!
█▓▒░ OR CONTACT APOGEE: (214) 278-5655 ░▒▓█
IT IS ILLEGAL TO GET THIS FILE FROM A BBS!
████████████████████████████████████████████

This effectively labels pirated copies of the game on BBSes so that SysOps could quickly remove them. Upon completing any level, the game will unceremoniously end as if you had chosen to quit. After the high score display, a message will appear before taking you back to the main menu.

This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Examine the exact details of how the checksum is, well, checked.

The Sunglasses Edit#

In 2013, Duke Nukem II was rereleased on Steam in a Windows and MacOS-compatible DOSBox package by Interceptor Entertainment. This version came with a number of graphical edits, appearing in no other rereleases of the game, that serve primarily to give Duke his now-signature always-on sunglasses introduced in Duke Nukem 3D. In August 2015, these edits were reverted in an update to the Steam release published by 3D Realms, which used the original data files instead. This remained the official Steam version until the end of 2015, when it was finally delisted from the service altogether due to the acquisition of the Duke Nukem IP by Gearbox Software, with many of these changes also being re-added for the Evercade re-release in 2023.

Startup screen#

The anti-piracy message from Apogee Software that appears when the game starts (LCR.MNI, a 256-color image in a format used by no other asset in the game) is replaced with a message from Interceptor Entertainment thanking the player for playing their rerelease, using a new font that appears nowhere else in the game.

Original

Interceptor

This game is NOT shareware. Please do not distribute it.
 
It is not meant to be on any BBS or in any shareware library. If you find it there please remove it at once or notify the people in charge. Please help us reduce software piracy. 

Thanks, Apogee and Duke Nukem
Thanks for playing Duke Nukem 2 for PC. 

We are proud to bring this classic DOS game to PC. Keep an eye out for more classics from Interceptor 

-Duke, Interceptor and 3DRealms [sic]‎

Intro animation#

The Sunglasses Edit starts with the game's intro animation, where NUKEM2.F1 and NUKEM2.F4 (256-color FLIC-format animations) are edited to draw Duke's sunglasses onto his face in every frame where he appears.

Original

Interceptor

Story sequence#

Every sprite of Duke used in the game's story slideshow is also edited to add his shades. Given these scenes use EGA-mode 16-color rendering instead of the full 256-color palette enabled by VGA, and were furthermore not intended to include sunglasses, these edits are noticeably simpler in comparison.

Original

Interceptor

In-game sprites#

Duke's in-game sprite set, as it appears in the episode selection screen and in gameplay, is edited to add the sunglasses using a single shade of black. Strangely, however, this does not apply to his appearance in the Instructions pages, where he keeps his original appearance sans eyewear. (The player sprites are presented as shown because the game stores separate sprites for Duke and his enemies facing left and right, rather than mirroring them.)

Original

Interceptor

In addition, the HUD infobox describing how to access the Help and Options screens is replaced with a portrait of Duke wearing his sunglasses and smoking a cigar. This edit and the previous are accomplished by bundling separate ACTORS.MNI and ACTRINFO.MNI files outside of the NUKEM2.CMP archive file, meaning the originals remain in the game's data unused.

Original

Interceptor

Ending sequences#

Finally, every image of Duke in the episode endings is edited to add the shades, including the unused slide from Episode Four. Like the sprite edits, this is done using separate copies of each image file outside NUKEM2.CMP, so the original slides can still be found in the game's data.

Original

Interceptor

END1-3.MNI

END1-1.MNI

END1-2.MNI

END2-1.MNI

END3-1.MNI

END4-2.MNI