Merge branch 'master' into menu_for_real

This commit is contained in:
Christoph Oelckers 2019-11-29 19:55:16 +01:00
commit a7bbd7324e
3 changed files with 637 additions and 57 deletions

View file

@ -900,8 +900,8 @@ void InitGame()
// LoadImages will now proceed to steal all the remaining heap space
//_outtext("\n\n\n\n\n\n\n\n");
//buildputs("Loading sound and graphics...\n");
//AnimateCacheCursor();
initprintf("Loading sound and graphics...\n");
TileFiles.LoadArtSet("tiles%03d.art");
// Now free it up for later use
@ -2927,53 +2927,6 @@ void DosScreen(void)
{
}
#if 0 //PLOCK_VERSION
void AlphaMessage(void)
{
Global_PLock = TRUE; // Set the hardwired parental lock mode!
initprintf(""
" SHADOW WARRIOR(tm) Version 1.2 \n"
"Copyright (c) 1997 3D Realms Entertainment\n"
"\n\n"
" NOTE: This version of Shadow Warrior has been modified from it's\n"
" original form. All of the violent and mature content has been\n"
" removed. To download a patch to restore this version to its\n"
" original form visit www.3drealms.com, www.gtinteractive.com, or look\n"
" inside your retail packaging for information about this version.\n\n\n"
);
}
#endif
#if 0 //UK_VERSION
void AlphaMessage(void)
{
initprintf(""
" SHADOW WARRIOR(tm) Version 1.2 (UK Version) \n"
"Copyright (c) 1997 3D Realms Entertainment\n"
"\n\n"
" NOTE: This is a modified version of Shadow Warrior created for the UK.\n"
" It has been altered from its original version to replace \"shurikens\" \n"
" with darts. We apologize for the inconvenience and hope you enjoy the\n"
" game. Visit us on the web at www.3drealms.com.\n\n\n"
);
}
#endif
#if 1 //!UK_VERSION && !PLOCK_VERSION
void AlphaMessage(void)
{
if (SW_SHAREWARE)
{
initprintf("SHADOW WARRIOR(tm) Version 1.2 (Shareware Version)\n");
}
else
{
initprintf("SHADOW WARRIOR(tm) Version 1.2\n");
}
initprintf("Copyright (c) 1997 3D Realms Entertainment\n\n");
}
#endif
typedef struct
{
char notshareware;
@ -3096,6 +3049,14 @@ int32_t GameInterface::app_main()
int cnt = 0;
uint32_t TotalMemory;
if (argc > 1)
{
buildputs("Application parameters: ");
for (i = 1; i < argc; ++i)
buildprintf("%s ", argv[i]);
buildputs("\n");
}
SW_ExtInit();
CONFIG_ReadSetup();
@ -3123,9 +3084,12 @@ int32_t GameInterface::app_main()
DebugOperate = TRUE;
AlphaMessage();
if (SW_SHAREWARE)
buildputs("SHADOW WARRIOR(tm) Version 1.2 (Shareware Version)\n");
else
buildputs("SHADOW WARRIOR(tm) Version 1.2\n");
buildputs("\nType 'SW -?' for command line options.\n\n");
buildputs("Copyright (c) 1997 3D Realms Entertainment\n");
UserMapName[0] = '\0';

View file

@ -28,6 +28,10 @@ CRC
RR_CRC 0x19D9BC79
RRRA_CRC 0x958018C6
BLOOD_CRC 0xA8FDDA84
SWREG12_CRC 0x7545319F
SWWD_CRC 0xA9AAA7B7
SWTD_CRC 0xA1A65BE8
}
@ -87,7 +91,7 @@ grpinfo
size 9690241
crc DUKE099_CRC
flags GAMEFLAG_DUKE|GAMEFLAG_DUKEBETA
gamefilter "Duke.Duke"
gamefilter "Duke.Shareware"
dependency 0
}
@ -97,7 +101,7 @@ grpinfo
size 10429258
crc DUKE10_CRC
flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE
gamefilter "Duke.Duke"
gamefilter "Duke.Shareware"
dependency 0
}
@ -107,7 +111,7 @@ grpinfo
size 10442980
crc DUKE11_CRC
flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE
gamefilter "Duke.Duke"
gamefilter "Duke.Shareware"
dependency 0
}
@ -117,7 +121,7 @@ grpinfo
size 11035779
crc DUKESW_CRC
flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE
gamefilter "Duke.Duke"
gamefilter "Duke.Shareware"
dependency 0
}
@ -127,7 +131,7 @@ grpinfo
size 10444391
crc DUKEMD_CRC
flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE
gamefilter "Duke.Duke"
gamefilter "Duke.Shareware"
dependency 0
}
@ -137,7 +141,7 @@ grpinfo
size 10628573
crc DUKEMD2_CRC
flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE
gamefilter "Duke.Duke"
gamefilter "Duke.Shareware"
dependency 0
}
@ -351,6 +355,19 @@ grpinfo
gamefilter "Blood.Blood"
}
grpinfo
{
// This is for identifying older Blood versions. Since I have no information, all I can do is testing for a few known files.
name "BLOOD: Unknown Version"
mustcontain "help1.qav", "cult2d2.seq", "tombstn1.kvx", "normal.plu"
defname "blood.def"
scriptname "BLOOD.INI"
flags GAMEFLAG_BLOOD
dependency 0
loadgrp "SOUNDS.RFF", "GUI.RFF"
gamefilter "Blood.Blood"
}
grpinfo
{
name "BLOOD: Cryptic Passage"
@ -367,8 +384,82 @@ grpinfo
{
name "Shadow Warrior"
flags GAMEFLAG_SW
crc 0x7545319F
crc SWREG12_CRC
size 47536148
defname "sw.def"
gamefilter "ShadowWarrior.ShadowWarrior"
}
grpinfo
{
name "Shadow Warrior Shareware 1.0"
flags GAMEFLAG_SW|GAMEFLAG_SHAREWARE
crc 0xDAA6BECE
size 25702245
defname "sw.def"
gamefilter "ShadowWarrior.Shareware"
}
grpinfo
{
name "Shadow Warrior Shareware 1.1"
flags GAMEFLAG_SW|GAMEFLAG_SHAREWARE
crc 0xF21A6B35
size 25833456
defname "sw.def"
gamefilter "ShadowWarrior.Shareware"
}
grpinfo
{
name "Shadow Warrior Shareware 1.2"
flags GAMEFLAG_SW|GAMEFLAG_SHAREWARE
crc 0x08A7FA1F´
size 26056769
defname "sw.def"
gamefilter "ShadowWarrior.Shareware"
}
grpinfo
{
name "Shadow Warrior Mac Demo"
flags GAMEFLAG_SW|GAMEFLAG_SHAREWARE
crc 0x4227F535u
size 26056769
defname "sw.def"
gamefilter "ShadowWarrior.Shareware"
}
grpinfo
{
name "Shadow Warrior: Wanton Destruction"
flags GAMEFLAG_SW|GAMEFLAG_ADDON
crc SWWD_CRC
size 48698128
defname "sw.def"
dependency SWREG12_CRC
gamefilter "ShadowWarrior.Wanton"
}
grpinfo
{
name "Shadow Warrior: Twin Dragon"
flags GAMEFLAG_SW|GAMEFLAG_ADDON
crc SWTD_CRC
size 12499012
defname "twindrag.def" // included in the GRP
dependency SWREG12_CRC
gamefilter "ShadowWarrior.TwinDragon"
}
internalgrpfile grpfiles[numgrpfiles] =
{
{ "Shadow Warrior", SWREG12_CRC, 47536148, 0, 0 },
{ "Shadow Warrior Shareware 1.0", 0xDAA6BECEu, 25702245, 0, 0 },
{ "Shadow Warrior Shareware 1.1", 0xF21A6B35u, 25833456, 0, 0 },
{ "Shadow Warrior Shareware 1.2", 0x08A7FA1Fu, 26056769, 0, 0 },
{ "Shadow Warrior Mac Demo", 0x4227F535u, 26056769, 0, 0 },
{ "Wanton Destruction", SWWD_CRC, 48698128, GRP_HAS_DEPENDENCY, SWREG12_CRC },
{ "Twin Dragon", SWTD_CRC, 12499012, GRP_HAS_DEPENDENCY, SWREG12_CRC },

View file

@ -0,0 +1,525 @@
level 1
{
title "Seppuku Station"
filename "$bullet.map"
song "e1l01.mid"
cdatrack 4
besttime 60
partime 300
}
level 2
{
title "Zilla Construction"
filename "$dozer.map"
song "e1l03.mid"
cdatrack 9
besttime 300
partime 480
}
level 3
{
title "Master Leep's Temple"
filename "$shrine.map"
song "e1l02.mid"
cdatrack 12
besttime 196
partime 600
}
level 4
{
title "Dark Woods of the Serpent"
filename "$woods.map"
song "e1l04.mid"
cdatrack 10
besttime 428
partime 960
}
level 5
{
title "Rising Son"
filename "$whirl.map"
song "yokoha03.mid"
cdatrack 5
besttime 330
partime 600
}
level 6
{
title "Killing Fields"
filename "$tank.map"
song "nippon34.mid"
cdatrack 6
besttime 120
partime 240
}
level 7
{
title "Hara-Kiri Harbor"
filename "$boat.map"
song "execut11.mid"
cdatrack 8
besttime 120
partime 240
}
level 8
{
title "Zilla's Villa"
filename "$garden.map"
song "execut11.mid"
cdatrack 11
besttime 66
partime 120
}
level 9
{
title "Monastery"
filename "$outpost.map"
song "sanai.mid"
cdatrack 12
besttime 90
partime 180
}
level 10
{
title "Raider of the Lost Wang"
filename "$hidtemp.map"
song "kotec2.mid"
cdatrack 5
besttime 125
partime 250
}
level 11
{
title "Sumo Sky Palace"
filename "$plax1.map"
song "kotec2.mid"
cdatrack 10
besttime 392
partime 720
}
level 12
{
title "Bath House"
filename "$bath.map"
song "yokoha03"
cdatrack 4
besttime 600
partime 600
}
level 13
{
title "Unfriendly Skies"
filename "$airport.map"
song "nippon34"
cdatrack 6
besttime 180
partime 300
}
level 14
{
title "Crude Oil"
filename "$refiner.map"
song "kotoki12.mid"
cdatrack 9
besttime 160
partime 300
}
level 15
{
title "Coolie Mines"
filename "$newmine.map"
song "hoshia02.mid"
cdatrack 7
besttime 180
partime 300
}
level 16
{
title "Subpen 7"
filename "$subbase.map"
song "hoshia02.mid"
cdatrack 10
besttime 122
partime 240
}
level 17
{
title "The Great Escape"
filename "$rock.map"
song ""
cdatrack 8
besttime 198
partime 360
}
level 18
{
title "Floating Fortress"
filename "$yamato.map"
song "sanai.mid"
cdatrack 7
besttime 698
partime 1200
}
level 19
{
title "Water Torture"
filename "$seabase.map"
song "kotec2.mid"
cdatrack 9
besttime 307
partime 480
}
level 20
{
title "Stone Rain"
filename "$volcano.map"
song ""
cdatrack 10
besttime 554
partime 660
}
level 21
{
title "Shanghai Shipwreck"
filename "$shore.map"
song ""
cdatrack 11
besttime 240
partime 480
}
level 22
{
title "Auto Maul"
filename "$auto.map"
song ""
cdatrack 5
besttime 247
partime 480
}
level 23
{
title "Heavy Metal (DM only)"
filename "tank.map"
song ""
cdatrack 11
besttime 600
partime 600
}
level 24
{
title "Ripper Valley (DM only)"
filename "$dmwoods.map"
song ""
cdatrack 8
besttime 600
partime 600
}
level 25
{
title "House of Wang (DM only)"
filename "$dmshrin.map"
song ""
cdatrack 7
besttime 600
partime 600
}
level 26
{
title "Lo Wang Rally (DM only"
filename "$rush.map"
song ""
cdatrack 13
besttime 600
partime 600
}
level 27
{
title "Ruins of the Ronin (CTF)"
filename "shotgun.map"
song ""
cdatrack 5
besttime 600
partime 600
}
level 28
{
title "Killing Fields (CTF)"
filename "$dmdrop.map"
song ""
cdatrack 6
besttime 600
partime 600
}
episode 1
{
title "Enter the Wang"
subtitle "Four levels (Shareware Version)"
}
episode 2
{
title "Code of Honor"
subtitle "Eighteen levels (Full Version Only)"
}
skill 1
{
name "Tiny Grasshopper"
}
skill 2
{
name "I Have No Fear"
}
skill 3
{
name "Who Wants Wang"
}
skill 4
{
name "No Pain, No Gain"
}
/*
inventory 1
{
name "Armor Vest +50"
amount 50
}
inventory 2
{
name "Kevlar Armor Vest +100"
amount 100
}
inventory 3
{
name "MedKit +20"
amount 20
}
inventory 4
{
name "Fortune Cookie +50 BOOST"
amount 50
}
inventory 5
{
name "Portable MedKit"
amount 100
}
inventory 6
{
name "Gas Bomb"
amount 1
}
inventory 7
{
name "Flash Bomb"
amount 2
}
inventory 8
{
name "Caltrops"
amount 3
}
inventory 9
{
name "Night Vision Goggles"
amount 100
}
inventory 10
{
name "Repair Kit"
amount 100
}
inventory 11
{
name "Smoke Bomb"
amount 100
}
weapon 1
{
name "Fists"
mindamage 10
maxdamage 40
}
weapon 2
{
name "Sword"
mindamage 50
maxdamage 80
}
weapon 3
{
name "Shurikens"
ammoname ""
maxammo 99
mindamage 5
maxdamage 10
pickup 9
weaponpickup 9
}
weapon 4
{
name "Sticky Bombs"
ammoname ""
maxammo 20
mindamage 5
maxdamage 10
pickup 5
weaponpickup 5
}
weapon 5
{
name "UZI Submachine Gun"
ammoname "UZI Clip"
maxammo 200
mindamage 5
maxdamage 7
pickup 50
weaponpickup 50
}
weapon 6
{
name "Missile Launcher"
ammoname "Missiles"
maxammo 50
mindamage 15
maxdamage 30
pickup 5
weaponpickup 5
}
weapon 7
{
name "Nuclear Warhead"
ammoname ""
maxammo 0
mindamage 0
maxdamage 800
pickup 1
weaponpickup 1
}
weapon 8
{
name "Grenade Launcher"
ammoname "Grenade Shells"
maxammo 50
mindamage 15
maxdamage 30
pickup 6
weaponpickup 8
}
weapon 9
{
name "Rail Gun"
ammoname "Rail Gun Rods"
maxammo 20
mindamage 40
maxdamage 60
pickup 10
weaponpickup 10
}
weapon 10
{
name "Riot Gun"
ammoname "Shotshells"
maxammo 52
mindamage 4
maxdamage 4
pickup 8
weaponpickup 24
}
weapon 11
{
name "Guardian Head"
ammoname "Firebursts"
maxammo 80
mindamage 10
maxdamage 25
pickup 30
weaponpickup 30
}
weapon 12
{
name "Ripper Heart"
ammoname "Deathcoils"
maxammo 5
mindamage 75
maxdamage 100
pickup 1
weaponpickup 1
}
fortune
{
"You never going to score."
"26-31-43-82-16-29"
"Sorry, you no win this time, try again."
"You try harder get along. Be a nice man."
"No man is island, except Lo Wang."
"There is much death in future."
"You should kill all business associates."
"(c)1997,3DRealms fortune cookie company."
"Your chi attracts many chicks."
"Don't you know you the scum of society!?"
"You should not scratch yourself there."
"Man who stand on toilet, high on pot."
"Man who fart in church sit in own pew."
"Man trapped in pantry has ass in jam."
"Baseball wrong. Man with 4 balls cannot walk."
"Man who buy drowned cat pay for wet pussy."
}
gotkey
{
"Got the RED key!"
"Got the BLUE key!"
"Got the GREEN key!"
"Got the YELLOW key!"
"Got the GOLD master key!"
"Got the SILVER master key!"
"Got the BRONZE master key!"
"Got the RED master key!"
}
needkey
{
"You need a RED key for this door."
"You need a BLUE key for this door."
"You need a GREEN key for this door."
"You need a YELLOW key for this door."
"You need a GOLD key for this door."
"You need a SILVER key for this door."
"You need a BRONZE key for this door."
"You need a RED key for this door."
}
animation
{
"SwpAnim.zip" // Swp1001.. 43 frames org = sw.anm
"swend.anm" // Swp2001.. 70
"sumocinm.anm" // Swp3001.. 84
"zfcin.anm" // Swp4001.. 142
}
theme 1 // game startup menu
{
song "theme.mid"
cdatrack 2
}
theme 2 // bonus screen
{
song "endlev3.voc"
cdatrack 3
}
theme 3 // serpent boss meter
{
song "serpent.mid"
cdatrack 13
}
theme 4 // sumo boss meter
{
song "sumo.mid"
cdatrack 13
}
theme 5 // zilla boss meter
{
song "zilla.mid"
cdatrack 13
}
theme 6 // game end sequence
{
song "ending.mid"
cdatrack 14
}
*/