Skip to content

Instantly share code, notes, and snippets.

@alexbevi
Created December 15, 2012 13:14
Show Gist options
  • Save alexbevi/4294855 to your computer and use it in GitHub Desktop.
Save alexbevi/4294855 to your computer and use it in GitHub Desktop.
/home/maximus/workspaces/cpp/scummvm/engines/tucker/detection.cpp
{ "tucker", "Bud Tucker in Double Trouble" },
/home/maximus/workspaces/cpp/scummvm/engines/uplink/detection.cpp
{"uplink", "Uplink: Hacker Elite"},
/home/maximus/workspaces/cpp/scummvm/engines/parallaction/detection.cpp
{"parallaction", "Parallaction engine game"},
{"nippon", "Nippon Safes Inc."},
{"bra", "The Big Red Adventure"},
/home/maximus/workspaces/cpp/scummvm/engines/asylum/detection.cpp
{ "asylum", "Sanitarium" },
/home/maximus/workspaces/cpp/scummvm/engines/tinsel/detection.cpp
{"tinsel", "Tinsel engine game"},
{"dw", "Discworld"},
{"dw2", "Discworld 2: Missing Presumed ...!?"},
/home/maximus/workspaces/cpp/scummvm/engines/sword25/detection.cpp
{"sword25", "Broken Sword 2.5"},
/home/maximus/workspaces/cpp/scummvm/engines/kyra/detection_tables.h
{ "kyra1", "The Legend of Kyrandia" },
{ "kyra2", "The Legend of Kyrandia: The Hand of Fate" },
{ "kyra3", "The Legend of Kyrandia: Malcolm's Revenge" },
#ifdef ENABLE_LOL
{ "lol", "Lands of Lore: The Throne of Chaos" },
#endif // ENABLE_LOL
/home/maximus/workspaces/cpp/scummvm/engines/tsage/detection.cpp
{ "tsage", "Unknown Tsunami TSAGE-based Game" },
{ "ring", "Ringworld: Revenge of the Patriarch" },
{ "blue", "Blue Force" },
/home/maximus/workspaces/cpp/scummvm/engines/dgds-old/detection.cpp
{"dgds", "Unknown DGDS game"},
{"china", "Heart of China"},
{"dragon", "Rise of the Dragon"},
{"willy", "The Adventures of Willy Beamish"},
/home/maximus/workspaces/cpp/scummvm/engines/sci/detection.cpp
{"sci", "Sierra SCI Game"},
{"sci-fanmade", "Fanmade SCI Game"},
// === SCI0 games =========================================================
{"astrochicken", "Astro Chicken"},
{"christmas1988", "Christmas Card 1988"},
{"iceman", "Codename: Iceman"},
{"camelot", "Conquests of Camelot: King Arthur, Quest for the Grail"},
{"funseeker", "Fun Seeker's Guide"},
{"hoyle1", "Hoyle Official Book of Games: Volume 1"},
{"hoyle2", "Hoyle Official Book of Games: Volume 2"},
{"kq4sci", "King's Quest IV: The Perils of Rosella"}, // Note: There was also an AGI version of this
{"laurabow", "Laura Bow: The Colonel's Bequest"},
{"lsl2", "Leisure Suit Larry 2: Goes Looking for Love (in Several Wrong Places)"},
{"lsl3", "Leisure Suit Larry 3: Passionate Patti in Pursuit of the Pulsating Pectorals"},
{"mothergoose", "Mixed-Up Mother Goose"},
{"pq2", "Police Quest II: The Vengeance"},
{"qfg1", "Quest for Glory I: So You Want to Be a Hero"}, // Note: There was also a SCI11 VGA remake of this (further down)
{"sq3", "Space Quest III: The Pirates of Pestulon"},
// === SCI01 games ========================================================
{"qfg2", "Quest for Glory II: Trial by Fire"},
{"kq1sci", "King's Quest I: Quest for the Crown"}, // Note: There was also an AGI version of this
// === SCI1 games =========================================================
{"castlebrain", "Castle of Dr. Brain"},
{"christmas1990", "Christmas Card 1990: The Seasoned Professional"},
{"cnick-lsl", "Crazy Nick's Software Picks: Leisure Suit Larry's Casino"},
{"cnick-kq", "Crazy Nick's Software Picks: King Graham's Board Game Challenge"},
{"cnick-laurabow", "Crazy Nick's Software Picks: Parlor Games with Laura Bow"},
{"cnick-longbow", "Crazy Nick's Software Picks: Robin Hood's Game of Skill and Chance"},
{"cnick-sq", "Crazy Nick's Software Picks: Roger Wilco's Spaced Out Game Pack"},
{"ecoquest", "EcoQuest: The Search for Cetus"}, // floppy is SCI1, CD SCI1.1
{"fairytales", "Mixed-up Fairy Tales"},
{"hoyle3", "Hoyle Official Book of Games: Volume 3"},
{"jones", "Jones in the Fast Lane"},
{"kq5", "King's Quest V: Absence Makes the Heart Go Yonder"},
{"longbow", "Conquests of the Longbow: The Adventures of Robin Hood"},
{"lsl1sci", "Leisure Suit Larry in the Land of the Lounge Lizards"}, // Note: There was also an AGI version of this
{"lsl5", "Leisure Suit Larry 5: Passionate Patti Does a Little Undercover Work"},
{"mothergoose256", "Mixed-Up Mother Goose"},
{"msastrochicken", "Ms. Astro Chicken"},
{"pq1sci", "Police Quest: In Pursuit of the Death Angel"}, // Note: There was also an AGI version of this
{"pq3", "Police Quest III: The Kindred"},
{"sq1sci", "Space Quest I: The Sarien Encounter"}, // Note: There was also an AGI version of this
{"sq4", "Space Quest IV: Roger Wilco and the Time Rippers"}, // floppy is SCI1, CD SCI1.1
// === SCI1.1 games =======================================================
{"christmas1992", "Christmas Card 1992"},
{"ecoquest2", "EcoQuest II: Lost Secret of the Rainforest"},
{"freddypharkas", "Freddy Pharkas: Frontier Pharmacist"},
{"hoyle4", "Hoyle Classic Card Games"},
{"kq6", "King's Quest VI: Heir Today, Gone Tomorrow"},
{"laurabow2", "Laura Bow 2: The Dagger of Amon Ra"},
{"qfg1vga", "Quest for Glory I: So You Want to Be a Hero"}, // Note: There was also a SCI0 version of this (further up)
{"qfg3", "Quest for Glory III: Wages of War"},
{"sq5", "Space Quest V: The Next Mutation"},
{"islandbrain", "The Island of Dr. Brain"},
{"lsl6", "Leisure Suit Larry 6: Shape Up or Slip Out!"},
{"pepper", "Pepper's Adventure in Time"},
{"slater", "Slater & Charlie Go Camping"},
// === SCI2 games =========================================================
{"gk1", "Gabriel Knight: Sins of the Fathers"}, // demo is SCI11, full version SCI32
{"pq4", "Police Quest IV: Open Season"}, // floppy is SCI2, CD SCI2.1
{"qfg4", "Quest for Glory IV: Shadows of Darkness"}, // floppy is SCI2, CD SCI2.1
// === SCI2.1 games ========================================================
{"gk2", "The Beast Within: A Gabriel Knight Mystery"},
// TODO: Inside The Chest/Behind the Developer's Shield
{"kq7", "King's Quest VII: The Princeless Bride"},
// TODO: King's Questions
{"lsl6hires", "Leisure Suit Larry 6: Shape Up or Slip Out!"},
{"mothergoosehires","Mixed-Up Mother Goose Deluxe"},
{"phantasmagoria", "Phantasmagoria"},
{"pqswat", "Police Quest: SWAT"},
{"shivers", "Shivers"},
{"sq6", "Space Quest 6: The Spinal Frontier"},
{"torin", "Torin's Passage"},
// === SCI3 games =========================================================
{"lsl7", "Leisure Suit Larry 7: Love for Sail!"},
{"lighthouse", "Lighthouse: The Dark Being"},
{"phantasmagoria2", "Phantasmagoria II: A Puzzle of Flesh"},
//{"shivers2", "Shivers II: Harvest of Souls"}, // Not SCI
{"rama", "RAMA"},
/home/maximus/workspaces/cpp/scummvm/engines/hugo/detection.cpp
// Games
{"hugo1", "Hugo 1: Hugo's House of Horrors"},
{"hugo2", "Hugo 2: Whodunit?"},
{"hugo3", "Hugo 3: Jungle of Doom"},
/home/maximus/workspaces/cpp/scummvm/engines/saga/detection.cpp
{"saga", "SAGA Engine game"},
{"ite", "Inherit the Earth: Quest for the Orb"},
{"ihnm", "I Have No Mouth and I Must Scream"},
{"dino", "Dinotopia"},
{"fta2", "Faery Tale Adventure II: Halls of the Dead"},
/home/maximus/workspaces/cpp/scummvm/engines/lure/detection.cpp
{"lure", "Lure of the Temptress"},
/home/maximus/workspaces/cpp/scummvm/engines/lastexpress/detection.cpp
// Games
{"lastexpress", "The Last Express"},
/home/maximus/workspaces/cpp/scummvm/engines/groovie/detection.cpp
// Games
{"t7g", "The 7th Guest"},
#ifdef ENABLE_GROOVIE2
{"11h", "The 11th Hour: The Sequel to The 7th Guest"},
{"clandestiny", "Clandestiny"},
{"unclehenry", "Uncle Henry's Playhouse"},
{"tlc", "Tender Loving Care"},
#endif
// Unknown
{"groovie", "Groovie engine game"},
/home/maximus/workspaces/cpp/scummvm/engines/m4/detection.cpp
{"m4", "MADS/M4 engine game"},
{"riddle", "Riddle of Master Lu: Believe it or Not!"},
{"burger", "Orion Burger"},
{"rex", "Rex Nebular and the Cosmic Gender Bender"},
{"dragon", "DragonSphere"},
{"dragoncd", "DragonSphere CD"},
{"phantom", "Return of the Phantom"},
{"phantomcd", "Return of the Phantom CD"},
/home/maximus/workspaces/cpp/scummvm/engines/toon/detection.cpp
{ "toon", "Toonstruck" },
/home/maximus/workspaces/cpp/scummvm/engines/hopkins/detection.cpp
{ "hopkins", "Hopkins FBI" },
/home/maximus/workspaces/cpp/scummvm/engines/cine/detection.cpp
{"cine", "Cinematique evo.1 engine game"},
{"fw", "Future Wars"},
{"os", "Operation Stealth"},
/home/maximus/workspaces/cpp/scummvm/engines/drascula/detection.cpp
{"drascula", "Drascula: The Vampire Strikes Back"},
/home/maximus/workspaces/cpp/scummvm/engines/made/detection.cpp
{"made", "MADE engine game"},
{"manhole", "The Manhole"},
{"rtz", "Return to Zork"},
{"lgop2", "Leather Goddesses of Phobos 2"},
{"rodney", "Rodney's Funscreen"},
/home/maximus/workspaces/cpp/scummvm/engines/sky/detection.cpp
{"sky", "Beneath a Steel Sky" };
/home/maximus/workspaces/cpp/scummvm/engines/agos/detection.cpp
{"pn", "Personal Nightmare"},
{"elvira1", "Elvira - Mistress of the Dark"},
{"elvira2", "Elvira II - The Jaws of Cerberus"},
{"waxworks", "Waxworks"},
{"simon1", "Simon the Sorcerer 1"},
{"simon2", "Simon the Sorcerer 2"},
#ifdef ENABLE_AGOS2
{"feeble", "The Feeble Files"},
{"dimp", "Demon in my Pocket"},
{"jumble", "Jumble"},
{"puzzle", "NoPatience"},
{"swampy", "Swampy Adventures"},
#endif
/home/maximus/workspaces/cpp/scummvm/engines/draci/detection.cpp
{ "draci", "Draci Historie" },
/home/maximus/workspaces/cpp/scummvm/engines/teenagent/detection.cpp
{ "teenagent", "Teen Agent" },
/home/maximus/workspaces/cpp/scummvm/engines/agi/detection.cpp
{"agi", "Sierra AGI game"},
{"agi-fanmade", "Fanmade AGI game"},
{"agidemo", "AGI Demo"},
{"bc", "The Black Cauldron"},
{"caitlyn", "Caitlyn's Destiny"},
{"ddp", "Donald Duck's Playground"},
{"goldrush", "Gold Rush!"},
{"kq1", "King's Quest I: Quest for the Crown"},
{"kq2", "King's Quest II: Romancing the Throne"},
{"kq3", "King's Quest III: To Heir Is Human"},
{"kq4", "King's Quest IV: The Perils of Rosella"},
{"lsl1", "Leisure Suit Larry in the Land of the Lounge Lizards"},
{"mickey", "Mickey\'s Space Adventure"},
{"mixedup", "Mixed-Up Mother Goose"},
{"mh1", "Manhunter 1: New York"},
{"mh2", "Manhunter 2: San Francisco"},
{"pq1", "Police Quest I: In Pursuit of the Death Angel"},
{"serguei1", "Serguei's Destiny 1"},
{"serguei2", "Serguei's Destiny 2"},
{"sq0", "Space Quest 0: Replicated"},
{"sq1", "Space Quest I: The Sarien Encounter"},
{"sq2", "Space Quest II: Vohaul's Revenge"},
{"sqx", "Space Quest X: The Lost Chapter"},
{"tetris", "AGI Tetris"},
{"troll", "Troll\'s Tale"},
{"winnie", "Winnie the Pooh in the Hundred Acre Wood"},
{"xmascard", "Xmas Card"},
/home/maximus/workspaces/cpp/scummvm/engines/touche/detection.cpp
{ "touche", "Touche: The Adventures of the Fifth Musketeer" },
/home/maximus/workspaces/cpp/scummvm/engines/gob/detection.cpp
{"gob", "Gob engine game"},
{"gob1", "Gobliiins"},
{"gob1cd", "Gobliiins CD"},
{"gob2", "Gobliins 2"},
{"gob2cd", "Gobliins 2 CD"},
{"ween", "Ween: The Prophecy"},
{"bargon", "Bargon Attack"},
{"littlered", "Little Red Riding Hood"},
{"ajworld", "A.J's World of Discovery"},
{"gob3", "Goblins Quest 3"},
{"gob3cd", "Goblins Quest 3 CD"},
{"lit1", "Lost in Time Part 1"},
{"lit2", "Lost in Time Part 2"},
{"lit", "Lost in Time"},
{"inca2", "Inca II: Wiracocha"},
{"woodruff", "The Bizarre Adventures of Woodruff and the Schnibble"},
{"dynasty", "The Last Dynasty"},
{"urban", "Urban Runner"},
{"playtoons1", "Playtoons 1 - Uncle Archibald"},
{"playtoons2", "Playtoons 2 - The Case of the Counterfeit Collaborator"},
{"playtoons3", "Playtoons 3 - The Secret of the Castle"},
{"playtoons4", "Playtoons 4 - The Mandarine Prince"},
{"playtoons5", "Playtoons 5 - The Stone of Wakan"},
{"playtnck1", "Playtoons Construction Kit 1 - Monsters"},
{"playtnck2", "Playtoons Construction Kit 2 - Knights"},
{"playtnck3", "Playtoons Construction Kit 3 - Far West"},
{"bambou", "Playtoons Limited Edition - Bambou le sauveur de la jungle"},
{"fascination", "Fascination"},
{"geisha", "Geisha"},
{"adi2", "ADI 2"},
{"adi4", "ADI 4"},
{"adibou2", "Adibou 2"},
{"adibou1", "Adibou 1"},
/home/maximus/workspaces/cpp/scummvm/engines/scumm/detection_tables.h
{ "atlantis", "Indiana Jones and the Fate of Atlantis" },
{ "indy3", "Indiana Jones and the Last Crusade" },
{ "loom", "Loom" },
{ "maniac", "Maniac Mansion" },
{ "monkey", "The Secret of Monkey Island" },
{ "monkey2", "Monkey Island 2: LeChuck's Revenge" },
{ "pass", "Passport to Adventure" },
{ "samnmax", "Sam & Max Hit the Road" },
{ "tentacle", "Day of the Tentacle" },
{ "zak", "Zak McKracken and the Alien Mindbenders" },
#ifdef ENABLE_SCUMM_7_8
{ "ft", "Full Throttle" },
{ "dig", "The Dig" },
{ "comi", "The Curse of Monkey Island" },
#endif
{ "activity", "Putt-Putt & Fatty Bear's Activity Pack" },
{ "brstorm", "Bear Stormin'" },
{ "fbear", "Fatty Bear's Birthday Surprise" },
{ "fbpack", "Fatty Bear's Fun Pack" },
{ "funpack", "Putt-Putt's Fun Pack" },
{ "puttmoon", "Putt-Putt Goes to the Moon" },
{ "puttputt", "Putt-Putt Joins the Parade" },
#ifdef ENABLE_HE
#ifdef USE_RGB_COLOR
{ "arttime", "Blue's Art Time Activities" },
{ "baseball2001", "Backyard Baseball 2001" },
{ "Baseball2003", "Backyard Baseball 2003" },
{ "basketball", "Backyard Basketball" },
{ "football2002", "Backyard Football 2002" },
{ "freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cove" },
{ "moonbase", "Moonbase Commander" },
{ "pjgames", "Pajama Sam: Games to Play on Any Day" },
{ "readtime", "Blue's Reading Time Activities" },
{ "Soccer2004", "Backyard Soccer 2004" },
{ "SoccerMLS", "Backyard Soccer MLS Edition" },
{ "spyozon", "SPY Fox 3: Operation Ozone" },
#endif
{ "airport", "Let's Explore the Airport with Buzzy" },
{ "balloon", "Putt-Putt and Pep's Balloon-O-Rama" },
{ "baseball", "Backyard Baseball" },
{ "Blues123Time", "Blue's 123 Time Activities" },
{ "BluesABCTime", "Blue's ABC Time Activities" },
{ "BluesBirthday", "Blue's Birthday Adventure" },
{ "BluesTreasureHunt", "Blue's Treasure Hunt" },
{ "catalog", "Humongous Interactive Catalog" },
{ "chase", "SPY Fox in Cheese Chase" },
{ "dog", "Putt-Putt and Pep's Dog on a Stick" },
{ "farm", "Let's Explore the Farm with Buzzy" },
{ "football", "Backyard Football" },
{ "freddi", "Freddi Fish 1: The Case of the Missing Kelp Seeds" },
{ "freddi2", "Freddi Fish 2: The Case of the Haunted Schoolhouse" },
{ "freddi3", "Freddi Fish 3: The Case of the Stolen Conch Shell" },
{ "freddi4", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch" },
{ "FreddisFunShop", "Freddi Fish's One-Stop Fun Shop" },
{ "jungle", "Let's Explore the Jungle with Buzzy" },
{ "lost", "Pajama Sam's Lost & Found" },
{ "maze", "Freddi Fish and Luther's Maze Madness" },
{ "mustard", "SPY Fox in Hold the Mustard" },
{ "pajama", "Pajama Sam 1: No Need to Hide When It's Dark Outside" },
{ "pajama2", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening" },
{ "pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet" },
{ "puttcircus", "Putt-Putt Joins the Circus" },
{ "puttrace", "Putt-Putt Enters the Race" },
{ "PuttsFunShop", "Putt-Putt's One-Stop Fun Shop" },
{ "putttime", "Putt-Putt Travels Through Time" },
{ "puttzoo", "Putt-Putt Saves the Zoo" },
{ "SamsFunShop", "Pajama Sam's One-Stop Fun Shop" },
{ "soccer", "Backyard Soccer" },
{ "socks", "Pajama Sam's Sock Works" },
{ "spyfox", "SPY Fox 1: Dry Cereal" },
{ "spyfox2", "SPY Fox 2: Some Assembly Required" },
{ "thinker1", "Big Thinkers First Grade" },
{ "thinkerk", "Big Thinkers Kindergarten" },
{ "water", "Freddi Fish and Luther's Water Worries" },
#endif
/home/maximus/workspaces/cpp/scummvm/engines/mohawk/detection.cpp
{"mohawk", "Mohawk Game"},
{"myst", "Myst"},
{"MakingOfMyst", "The Making of Myst"},
{"riven", "Riven: The Sequel to Myst"},
{"zoombini", "Logical Journey of the Zoombinis"},
{"cstime", "Where in Time is Carmen Sandiego?"},
{"csworld", "Where in the World is Carmen Sandiego?"},
{"csamtrak", "Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure)"},
{"carmentq", "Carmen Sandiego's ThinkQuick Challenge"},
{"maggiesfa", "Maggie's Farmyard Adventure"},
{"jamesmath", "James Discovers/Explores Math"},
{"treehouse", "The Treehouse"},
{"greeneggs", "Green Eggs and Ham"},
{"seussabc", "Dr Seuss ABC"},
{"1stdegree", "In the 1st Degree"},
{"csusa", "Where in the USA is Carmen Sandiego?"},
{"tortoise", "Aesop's Fables: The Tortoise and the Hare"},
{"arthur", "Arthur's Teacher Troubles"},
{"grandma", "Just Grandma and Me"},
{"ruff", "Ruff's Bone"},
{"newkid", "The New Kid on the Block"},
{"arthurrace", "Arthur's Reading Race"},
{"arthurbday", "Arthur's Birthday"},
{"lilmonster", "Little Monster at School"},
{"catinthehat", "The Cat in the Hat"},
{"rugrats", "Rugrats Adventure Game"},
{"lbsampler", "Living Books Sampler"},
{"bearfight", "The Berenstain Bears Get in a Fight"},
{"arthurcomp", "Arthur's Computer Adventure"},
/home/maximus/workspaces/cpp/scummvm/engines/startrek/detection.cpp
{"startrek", "Star Trek game"},
{"st25", "Star Trek: 25th Anniversary"},
{"stjr", "Star Trek: Judgment Rites"},
/home/maximus/workspaces/cpp/scummvm/engines/cruise/detection.cpp
{"cruise", "Cinematique evo.2 engine game"},
{"cruise", "Cruise for a Corpse"},
/home/maximus/workspaces/cpp/scummvm/engines/testbed/detection.cpp
{ "testbed", "Testbed: The Backend Testing Framework" },
def replace_target(path, target)
p = path.split('/')
p[-1] = target
return p.join('/').to_s
end
target = "detection.cpp"
fallback = "detection_tables.h"
search_term = "static const PlainGameDescriptor "
fallback_term = "const PlainGameDescriptor "
files = %x[find `pwd` -name '#{target}'].split("\n")
files.each do |f|
offset = %x[grep -n "#{search_term}" #{f}].split(':')[0].to_i
if offset == 0
f = replace_target(f, fallback)
offset = %x[grep -n "#{search_term}" #{f}].split(':')[0].to_i if File.exists?(f)
# kyra
offset = %x[grep -n "#{fallback_term}" #{f}].split(':')[0].to_i if offset == 0
end
if offset > 0
terminator1 = %x[sed -n '#{offset + 1}, $ p' '#{f}' | grep -n '0, 0'].split(':')[0].to_i
terminator2 = %x[sed -n '#{offset + 1}, $ p' '#{f}' | grep -n ';'].split(':')[0].to_i
length = (terminator1 < terminator2) ? terminator1 : terminator2
content = %x[sed -n '#{offset + 1}, #{offset + length - 1} p' #{f}]
puts f
puts content
puts "\n"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment