From f19c9eb8406016b4ffe7001f1c97da3df856dfa6 Mon Sep 17 00:00:00 2001 From: hendricks266 Date: Fri, 29 Nov 2019 07:53:31 +0000 Subject: [PATCH 1/2] SW: Clean up startup messages git-svn-id: https://svn.eduke32.com/eduke32@8328 1a8010ca-5511-0410-912e-c29ae57300e0 # Conflicts: # source/sw/src/game.cpp # source/sw/src/grpscan.cpp --- source/sw/src/game.cpp | 64 +++++++++--------------------------------- 1 file changed, 14 insertions(+), 50 deletions(-) diff --git a/source/sw/src/game.cpp b/source/sw/src/game.cpp index 59a44d5c3..db03fef4f 100644 --- a/source/sw/src/game.cpp +++ b/source/sw/src/game.cpp @@ -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 @@ -2930,53 +2930,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; @@ -3099,6 +3052,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(); @@ -3126,9 +3087,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'; From 1616ee0c6ac06c5a12d77212a92bbe9f745da37d Mon Sep 17 00:00:00 2001 From: hendricks266 Date: Fri, 29 Nov 2019 07:54:07 +0000 Subject: [PATCH 2/2] - added more SW GRP detection data (from latest VoidSW) - added SWCustom.txt from SWP, mainly as reference. What's really needed is one for Wanton Destruction, though. --- wadsrc/static/demolition/demolition.grpinfo | 105 +++- .../shadowwarrior.shadowwarrior/SWCustom.txt | 525 ++++++++++++++++++ 2 files changed, 623 insertions(+), 7 deletions(-) create mode 100644 wadsrc/static/filter/shadowwarrior.shadowwarrior/SWCustom.txt diff --git a/wadsrc/static/demolition/demolition.grpinfo b/wadsrc/static/demolition/demolition.grpinfo index b1561d67b..f4dcebc85 100644 --- a/wadsrc/static/demolition/demolition.grpinfo +++ b/wadsrc/static/demolition/demolition.grpinfo @@ -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 }, diff --git a/wadsrc/static/filter/shadowwarrior.shadowwarrior/SWCustom.txt b/wadsrc/static/filter/shadowwarrior.shadowwarrior/SWCustom.txt new file mode 100644 index 000000000..4372f00cc --- /dev/null +++ b/wadsrc/static/filter/shadowwarrior.shadowwarrior/SWCustom.txt @@ -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 +} +*/ \ No newline at end of file