4.03 changes: The file DCWORLD.EXE and DCPLAY.EXE are now protected mode versions of the DCGAMES system. They use the DOS4GW.EXE program (must be in the same place as the executables). They will now use all available protected mode memory and are optimized for 386 processors, so they don't work on older processors. Worlds may now be up to 512KB in size (up from 64KB). Compiled scripts (SCO files) can now be a lot larger, and a few other internal limits are also extended. I also modified the script language to return the string values instead of numbers when the following variables are assigned to a string or displayed using write/writeln: a) world.density(x,y) <- Returns string from the [WORLD DENSITIES] entry in DCCTOKEN.DAT b) world.block(x,y) <- Returns string from the NAME field of the Tile record in DCBLOCKn.mde where n=0-9 and mde = VHI, VH1, etc. I also fixed a bug in the code that allowed you to replace the landcaping file on the fly. It was plain broken. Now you can have 2 sets of landscaping tiles, one for darkness, one for daylight and switch like this: world.landcape = 1; ! Between 0 and 9 ! Finally, in order to make this protected mode I had to extract the sound library and make it into a TSR (because it's real-mode). To run DCPLAY now you need a batch file that does the following: File: PLAY.BAT tsr i worxlite dcplay %1 %2 tsr r This batch file marks memory (tsr i), loads the WORXLITE tsr program, runs DCPLAY and removes the WORXLITE tsr when DCPLAY ends. Note that if you usually use the -S parameter because you don't have a sound card, you can just run the dcplay.exe program directly w/out loading the worxlite program: dcplay.exe -s 4.02 changes: The utility 'LOADPAL.EXE' will load a NEOPAINT palette (file.PAL) into a DCGAMES palette (file.DAT). The default palette is DCPALET.DAT and is loaded at game startup. Inside the scripts, you can use the LOADPAL() function to load an alternate palette. This function can be used to implement day/night as follows in the 'time' routine in CONTROL.SCR if then loadpal( "DCPALET.DAT" ); else loadpal( "NIGHTPAL.DAT" ); endif; You can also change the palette when you enter a new world depending on the world type, for example: if world.type = CAVE then loadpal( "CAVEPAL.DAT" ); elsif time > sunrise and time < sunset then loadpal( "DCPALET.DAT" ); else loadpal( "NIGHTPAL.DAT" ); endif; I also fixed WORLD.INDEX to return a simple number (like it did in 3.x). I broke it trying to implement a variable that returns the STRING name of the world file. If you want to get the name of the world file (w/out extension), use WORLD.SINDEX, which will return "WORLDnnn" where nnn = 000 to 999. 4.01 changes: Fixes a bug that causes the game driver to hang after a battle when using the -s parameter. Also, contains minor patches to the CONTROL script to handle 3.01 style hidden and locked doors.