Add variant support for Skylanders (#9424)

* Update skylander_dialog.cpp

Co-authored-by: RipleyTom <RipleyTom@users.noreply.github.com>
This commit is contained in:
Fro Zen 2020-12-13 05:30:38 -06:00 committed by GitHub
parent cb8ef46ec7
commit 8e07b19bc7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 401 additions and 269 deletions

View File

@ -13,268 +13,396 @@
skylander_dialog* skylander_dialog::inst = nullptr; skylander_dialog* skylander_dialog::inst = nullptr;
const std::map<const u16, const std::string> list_skylanders = { const std::map<const std::pair<const u16, const u16>, const std::string> list_skylanders = {
{0, "Whirlwind"}, {{0, 0}, "Whirlwind"},
{1, "Sonic Boom"}, {{0, 6145}, "Series 2 Whirlwind"},
{2, "Warnado"}, {{0, 10245}, "Horn Blast Whirlwind"},
{3, "Lightning Rod"}, {{1, 0}, "Sonic Boom"},
{4, "Bash"}, {{1, 6145}, "Series 2 Sonic Boom"},
{5, "Terrafin"}, {{2, 0}, "Warnado"},
{6, "Dino-Rang"}, {{2, 4614}, "LightCore Warnado"},
{7, "Prism Break"}, {{3, 0}, "Lightning Rod"},
{8, "Sunburn"}, {{3, 6145}, "Series 2 Lightning Rod"},
{9, "Eruptor"}, {{4, 0}, "Bash"},
{10, "Ignitor"}, {{4, 6145}, "Series 2 Bash"},
{11, "Flameslinger"}, {{5, 0}, "Terrafin"},
{12, "Zap"}, {{5, 6145}, "Series 2 Terrafin"},
{13, "Wham-Shell"}, {{5, 10245}, "Knockout Terrafin"},
{14, "Gill Grunt"}, {{6, 0}, "Dino Rang"},
{15, "Slam Bam"}, {{7, 0}, "Prism Break"},
{16, "Spyro"}, {{7, 4614}, "LightCore Prism Break"},
{17, "Voodood"}, {{7, 6145}, "Series 2 Prism Break"},
{18, "Double Trouble"}, {{7, 10245}, "Hyper Beam Prism Break"},
{19, "Trigger Happy"}, {{8, 0}, "Sunburn"},
{20, "Drobot"}, {{9, 0}, "Eruptor"},
{21, "Drill Sergeant"}, {{9, 4614}, "LightCore Eruptor"},
{22, "Boomer"}, {{9, 6145}, "Series 2 Eruptor"},
{23, "Wrecking Ball"}, {{9, 10245}, "Lava Barf Eruptor"},
{24, "Camo"}, {{10, 0}, "Ignitor"},
{25, "Zook"}, {{10, 6145}, "Series 2 Ignitor"},
{26, "Stealth Elf"}, {{11, 0}, "Flameslinger"},
{27, "Stump Smash"}, {{11, 6145}, "Series 2 Flameslinger"},
{28, "Dark Spyro"}, {{12, 0}, "Zap"},
{29, "Hex"}, {{12, 6145}, "Series 2 Zap"},
{30, "Chop Chop"}, {{13, 0}, "Wham Shell"},
{31, "Ghost Roaster"}, {{13, 4614}, "LightCore Wham Shell"},
{32, "Cynder"}, {{14, 0}, "Gill Grunt"},
{100, "Jet Vac"}, {{14, 6145}, "Series 2 Gill Grunt"},
{101, "Swarm"}, {{14, 10245}, "Anchors Away Gill Grunt"},
{102, "Crusher"}, {{15, 0}, "Slam Bam"},
{103, "Flashwing"}, {{15, 6145}, "Series 2 Slam Bam"},
{104, "Hot Head"}, {{16, 0}, "Spyro"},
{105, "Hot Dog"}, {{16, 6145}, "Series 2 Spyro"},
{106, "Chill"}, {{16, 10245}, "Mega Ram Spyro"},
{107, "Thumpback"}, {{16, 11266}, "Dark Mega Ram Spyro"},
{108, "Pop Fizz"}, {{17, 0}, "Voodood"},
{109, "Ninjini"}, {{18, 0}, "Double Trouble"},
{110, "Bouncer"}, {{18, 6145}, "Series 2 Double Trouble"},
{111, "Sprocket"}, {{19, 0}, "Trigger Happy"},
{112, "Tree Rex"}, {{19, 6145}, "Series 2 Trigger Happy"},
{113, "Shroomboom"}, {{20, 0}, "Drobot"},
{114, "Eye-Brawl"}, {{20, 4614}, "LightCore Drobot"},
{115, "Fright Rider"}, {{20, 6145}, "Series 2 Drobot"},
{200, "Anvil Rain"}, {{21, 0}, "Drill Seargeant"},
{201, "Treasure Chest"}, {{21, 6145}, "Series 2 Drill Seargeant"},
{202, "Healing Elixer"}, {{22, 0}, "Boomer"},
{203, "Ghost Swords"}, {{23, 0}, "Wrecking Ball"},
{204, "Time Twister"}, {{23, 6145}, "Series 2 Wrecking Ball"},
{205, "Sky-Iron Shield"}, {{24, 0}, "Camo"},
{206, "Winged Boots"}, {{24, 10245}, "Thorn Horn Camo"},
{207, "Sparx Dragonfly"}, {{25, 0}, "Zook"},
{208, "Dragonfire Cannon"}, {{25, 6145}, "Series 2 Zook"},
{209, "Scorpion Striker Catapult"}, {{26, 0}, "Stealth Elf"},
{210, "Magic Traps"}, {{26, 6145}, "Series 2 Stealth Elf"},
{211, "Water Traps"}, {{26, 10245}, "Ninja Stealth Elf"},
{212, "Air Traps"}, {{26, 11266}, "Dark Stealth Elf"},
{213, "Undead Traps"}, {{27, 0}, "Stump Smash"},
{214, "Tech Traps"}, {{27, 6145}, "Series 2 Stump Smash"},
{215, "Fire Traps"}, {{28, 0}, "Dark Spyro"},
{216, "Earth Traps"}, {{28, 6145}, "Series 2 Dark Spyro"},
{217, "Life Traps"}, {{29, 0}, "Hex"},
{218, "Dark Traps"}, {{29, 6145}, "Series 2 Hex"},
{219, "Light Traps"}, {{30, 0}, "Chop Chop"},
{220, "Kaos Traps"}, {{30, 6145}, "Series 2 Chop Chop"},
{230, "Hand Of Fate"}, {{30, 10245}, "Twin Blade Chop Chop"},
{231, "Piggy Bank"}, {{31, 0}, "Ghost Roaster"},
{232, "Rocket Ram"}, {{32, 0}, "Cynder"},
{233, "Tiki Speaky"}, {{32, 6145}, "Series 2 Cynder"},
{300, "Dragons Peak"}, {{32, 10245}, "Phantom Cynder"},
{301, "Empire of Ice"}, {{100, 0}, "Jet Vac"},
{302, "Pirate Seas"}, {{100, 4614}, "LightCore Jet Vac"},
{303, "Darklight Crypt"}, {{100, 10245}, "Turbo Jet Vac"},
{304, "Volcanic Vault"}, {{101, 0}, "Swarm"},
{305, "Mirror Of Mystery"}, {{102, 0}, "Crusher"},
{306, "Nightmare Express"}, {{103, 0}, "Flashwing"},
{307, "Sunscraper Spire"}, {{103, 4614}, "LightCore Flashwing"},
{308, "Midnight Museum"}, {{103, 13314}, "Jade Flash Wing"},
{404, "Legendary Bash"}, {{104, 0}, "Hot Head"},
{416, "Legendary Spyro"}, {{105, 0}, "Hot Dog"},
{419, "Legendary Trigger Happy"}, {{105, 10245}, "Fire Bone Hot Dog"},
{430, "Legendary Chop Chop"}, {{106, 0}, "Chill"},
{450, "Gusto"}, {{106, 4614}, "LightCore Chill"},
{451, "Thunderbolt"}, {{106, 10245}, "Blizzard Chill"},
{452, "Fling Kong"}, {{107, 0}, "Thumpback"},
{453, "Blades"}, {{108, 0}, "Pop Fizz"},
{454, "Wallop"}, {{108, 4614}, "LightCore Pop Fizz"},
{455, "Head Rush"}, {{108, 10245}, "Super Gulp Pop Fizz"},
{456, "Fist Bump"}, {{108, 15362}, "Love Potion Pop Fizz"},
{457, "Rocky Roll"}, {{109, 0}, "Ninjini"},
{458, "Wildfire"}, {{109, 13314}, "Scarlet Ninjini"},
{459, "Ka Boom"}, {{110, 0}, "Bouncer"},
{460, "Trail Blazer"}, {{111, 0}, "Sprocket"},
{461, "Torch"}, {{111, 10245}, "Heavy Duty Sprocket"},
{462, "Snap Shot"}, {{112, 0}, "Tree Rex"},
{463, "Lob Star"}, {{112, 13314}, "Gnarly Tree Rex"},
{464, "Flip Wreck"}, {{113, 0}, "Shroomboom"},
{465, "Echo"}, {{113, 4614}, "LightCore Shroomboom"},
{466, "Blastermind"}, {{114, 0}, "Eye Brawl"},
{467, "Enigma"}, {{115, 0}, "Fright Rider"},
{468, "Deja Vu"}, {{200, 0}, "Anvil Rain"},
{469, "Cobra Cadabra"}, {{201, 0}, "Hidden Treasure"},
{470, "Jawbreaker"}, {{202, 0}, "Healing Elixir"},
{471, "Gearshift"}, {{203, 0}, "Ghost Pirate Swords"},
{472, "Chopper"}, {{204, 0}, "Time Twist Hourglass"},
{473, "Tread Head"}, {{205, 0}, "Sky Iron Shield"},
{474, "Bushwhack"}, {{206, 0}, "Winged Boots"},
{475, "Tuff Luck"}, {{207, 0}, "Sparx the Dragonfly"},
{476, "Food Fight"}, {{208, 0}, "Dragonfire Cannon"},
{477, "High Five"}, {{209, 0}, "Scorpion Striker"},
{478, "Krypt King"}, {{210, 12290}, "Biter's Bane"},
{479, "Short Cut"}, {{210, 12296}, "Sorcerous Skull"},
{480, "Bat Spin"}, {{210, 12299}, "Axe of Illusion"},
{481, "Funny Bone"}, {{210, 12302}, "Arcane Hourglass"},
{482, "Knight light"}, {{210, 12306}, "Spell Slapper"},
{483, "Spotlight"}, {{210, 12308}, "Rune Rocket"},
{484, "Knight Mare"}, {{211, 12289}, "Tidal Tiki"},
{485, "Blackout"}, {{211, 12290}, "Wet Walter"},
{502, "Bop"}, {{211, 12294}, "Flood Flask"},
{503, "Spry"}, {{211, 12295}, "Soaking Staff"},
{504, "Hijinx"}, {{211, 12299}, "Aqua Axe"},
{505, "Terrabite"}, {{211, 12310}, "Frost Helm"},
{506, "Breeze"}, {{212, 12291}, "Breezy Bird"},
{507, "Weeruptor"}, {{212, 12294}, "Drafty Decanter"},
{508, "Pet Vac"}, {{212, 12301}, "Tempest Timer"},
{509, "Small Fry"}, {{212, 12304}, "Cloudy Cobra"},
{510, "Drobit"}, {{212, 12305}, "Storm Warning"},
{514, "Gill Runt"}, {{212, 12312}, "Cyclone Saber"},
{519, "Trigger Snappy"}, {{213, 12292}, "Spirit Sphere"},
{526, "Whisper Elf"}, {{213, 12296}, "Spectral Skull"},
{540, "Barkley"}, {{213, 12299}, "Haunted Hatchet"},
{541, "Thumpling"}, {{213, 12300}, "Grim Gripper"},
{542, "Mini Jini"}, {{213, 12304}, "Spooky Snake"},
{543, "Eye Small"}, {{213, 12311}, "Dream Piercer"},
{601, "King Pen"}, {{214, 12288}, "Tech Totem"},
{602, "Tri-Tip"}, {{214, 12295}, "Automatic Angel"},
{603, "Chopscotch"}, {{214, 12297}, "Factory Flower"},
{604, "Boom Bloom"}, {{214, 12300}, "Grabbing Gadget"},
{605, "Pit Boss"}, {{214, 12310}, "Makers Mana"},
{606, "Barbella"}, {{214, 12314}, "Topsy Techy"},
{607, "Air Strike"}, {{215, 12293}, "Eternal Flame"},
{608, "Ember"}, {{215, 12297}, "Fire Flower"},
{609, "Ambush"}, {{215, 12305}, "Scorching Stopper"},
{610, "Dr. Krankcase"}, {{215, 12306}, "Searing Spinner"},
{611, "Hood Sickle"}, {{215, 12311}, "Spark Spear"},
{612, "Tae Kwon Crow"}, {{215, 12315}, "Blazing Belch"},
{613, "Golden Queen"}, {{216, 12288}, "Banded Boulder"},
{614, "Wolfgang"}, {{216, 12291}, "Rock Hawk"},
{615, "Pain-Yatta"}, {{216, 12298}, "Slag Hammer"},
{616, "Mysticat"}, {{216, 12302}, "Dust Of Time"},
{617, "Starcast"}, {{216, 12307}, "Spinning Sandstorm"},
{618, "Buckshot"}, {{216, 12314}, "Rubble Trouble"},
{619, "Aurora"}, {{217, 12291}, "Oak Eagle"},
{620, "Flare Wolf"}, {{217, 12293}, "Emerald Energy"},
{621, "Chompy Mage"}, {{217, 12298}, "Weed Whacker"},
{622, "Bad Juju"}, {{217, 12304}, "Seed Serpent"},
{623, "Grave Clobber"}, {{217, 12312}, "Jade Blade"},
{624, "Blaster-Tron"}, {{217, 12315}, "Shrub Shrieker"},
{625, "Ro-Bow"}, {{218, 12288}, "Dark Dagger"},
{626, "Chain Reaction"}, {{218, 12308}, "Shadow Spider"},
{627, "Kaos"}, {{218, 12314}, "Ghastly Grimace"},
{628, "Wild Storm"}, {{219, 12288}, "Shining Ship"},
{629, "Tidepool"}, {{219, 12303}, "Heavenly Hawk"},
{630, "Crash Bandicoot"}, {{219, 12315}, "Beam Scream"},
{631, "Dr. Neo Cortex"}, {{220, 12336}, "Kaos Trap"},
{1000, "Boom Jet (Bottom)"}, {{220, 12337}, "Ultimate Kaos Trap"},
{1001, "Free Ranger (Bottom)"}, {{230, 0}, "Hand of Fate"},
{1002, "Rubble Rouser (Bottom)"}, {{231, 0}, "Piggy Bank"},
{1003, "Doom Stone (Bottom)"}, {{232, 0}, "Rocket Ram"},
{1004, "Blast Zone (Bottom)"}, {{233, 0}, "Tiki Speaky"},
{1005, "Fire Kraken (Bottom)"}, {{300, 0}, "Dragons Peak"},
{1006, "Stink Bomb (Bottom)"}, {{301, 0}, "Empire of Ice"},
{1007, "Grilla Drilla (Bottom)"}, {{302, 0}, "Pirate Seas"},
{1008, "Hoot Loop (Bottom)"}, {{303, 0}, "Darklight Crypt"},
{1009, "Trap Shadow (Bottom)"}, {{304, 0}, "Volcanic Vault"},
{1010, "Magna Charge (Bottom)"}, {{305, 0}, "Mirror of Mystery"},
{1011, "Spy Rise (Bottom)"}, {{306, 0}, "Nightmare Express"},
{1012, "Night Shift (Bottom)"}, {{307, 0}, "Sunscraper Spire"},
{1013, "Rattle Shake (Bottom)"}, {{308, 0}, "Midnight Museum"},
{1014, "Freeze Blade (Bottom)"}, {{404, 0}, "Legendary Bash"},
{1015, "Wash Buckler (Bottom)"}, {{416, 0}, "Legendary Spyro"},
{2000, "Boom Jet (Top)"}, {{419, 0}, "Legendary Trigger Happy"},
{2001, "Free Ranger (Top)"}, {{430, 0}, "Legendary Chop Chop"},
{2002, "Rubble Rouser (Top)"}, {{450, 0}, "Gusto"},
{2003, "Doom Stone (Top)"}, {{451, 0}, "Thunderbolt"},
{2004, "Blast Zone (Top)"}, {{452, 0}, "Fling Kong"},
{2005, "Fire Kraken (Top)"}, {{453, 0}, "Blades"},
{2006, "Stink Bomb (Top)"}, {{454, 0}, "Wallop"},
{2007, "Grilla Drilla (Top)"}, {{455, 0}, "Head Rush"},
{2008, "Hoot Loop (Top)"}, {{456, 0}, "Fist Bump"},
{2009, "Trap Shadow (Top)"}, {{457, 0}, "Rocky Roll"},
{2010, "Magna Charge (Top)"}, {{458, 0}, "Wildfire"},
{2011, "Spy Rise (Top)"}, {{458, 11266}, "Dark Wildfire"},
{2012, "Night Shift (Top)"}, {{459, 0}, "Ka Boom"},
{2013, "Rattle Shake (Top)"}, {{460, 0}, "Trail Blazer"},
{2014, "Freeze Blade (Top)"}, {{461, 0}, "Torch"},
{2015, "Wash Buckler (Top)"}, {{462, 0}, "Snap Shot"},
{3000, "Scratch"}, {{462, 11266}, "Dark Snap Shot"},
{3001, "Pop Thorn"}, {{463, 0}, "Lob Star"},
{3002, "Slobber Tooth"}, {{464, 0}, "Flip Wreck"},
{3003, "Scorp"}, {{465, 0}, "Echo"},
{3004, "Fryno"}, {{466, 0}, "Blastermind"},
{3005, "Smolderdash"}, {{467, 0}, "Enigma"},
{3006, "Bumble Blast"}, {{468, 0}, "Deja Vu"},
{3007, "Zoo Lou"}, {{469, 0}, "Cobra Candabra"},
{3008, "Dune Bug"}, {{470, 0}, "Jawbreaker"},
{3009, "Star Strike"}, {{471, 0}, "Gearshift"},
{3010, "Countdown"}, {{472, 0}, "Chopper"},
{3011, "Wind Up"}, {{473, 0}, "Tread Head"},
{3012, "Roller Brawl"}, {{474, 0}, "Bushwack"},
{3013, "Grim Creeper"}, {{475, 0}, "Tuff Luck"},
{3014, "Rip Tide"}, {{476, 0}, "Food Fight"},
{3015, "Punk Shock"}, {{476, 11266}, "Dark Food Fight"},
{3220, "Jet Stream"}, {{477, 0}, "High Five"},
{3221, "Tomb Buggy"}, {{478, 0}, "Krypt King"},
{3222, "Reef Ripper"}, {{479, 0}, "Short Cut"},
{3223, "Burn Cycle"}, {{480, 0}, "Bat Spin"},
{3224, "Hot Streak"}, {{481, 0}, "Funny Bone"},
{3225, "Shark Tank"}, {{482, 0}, "Knight Light"},
{3226, "Thump Truck"}, {{483, 0}, "Spotlight"},
{3227, "Crypt Crusher"}, {{484, 0}, "Knight Mare"},
{3228, "Stealth Stinger"}, {{485, 0}, "Blackout"},
{3231, "Dive Bomber"}, {{502, 0}, "Bop"},
{3232, "Sky Slicer"}, {{505, 0}, "Terrabite"},
//{3233, "Clown Cruiser"}, {{506, 0}, "Breeze"},
{3234, "Gold Rusher"}, {{508, 0}, "Pet Vac"},
{3235, "Shield Striker"}, {{507, 0}, "Weeruptor"},
{3236, "Sun Runner"}, {{509, 0}, "Small Fry"},
{3237, "Sea Shadow"}, {{510, 0}, "Drobit"},
{3238, "Splatter Splasher"}, {{519, 0}, "Trigger Snappy"},
{3239, "Soda Skimmer"}, {{526, 0}, "Whisper Elf"},
//{3240, "Barrel Blaster"}, {{540, 0}, "Barkley"},
{3241, "Buzz Wing"}, {{540, 13314}, "Gnarly Barkley"},
{3400, "Fiesta"}, {{541, 0}, "Thumpling"},
{3401, "High Volt"}, {{514, 0}, "Gill Runt"},
{3406, "Splat"}, {{542, 0}, "Mini-Jini"},
{3411, "Smash Hit"}, {{503, 0}, "Spry"},
{3412, "Spitfire"}, {{504, 0}, "Hijinx"},
{3413, "Hurricane Jet Vac"}, {{543, 0}, "Eye Small"},
{3414, "Double Dare Trigger Happy"}, {{601, 0}, "King Pen"},
{3415, "Super Shot Stealth Elf"}, {{601, 11266}, "Dark King Pen"},
{3416, "Shark Shooter Terrafin"}, {{602, 0}, "Tri-Tip"},
{3417, "Bone Bash Roller Brawl"}, {{603, 0}, "Chopscotch"},
{3420, "Big Bubble Pop Fizz"}, {{604, 0}, "Boom Bloom"},
{3421, "Lava Lance Eruptor"}, {{605, 0}, "Pit Boss"},
{3422, "Deep Dive Gill Grunt"}, {{606, 0}, "Barbella"},
//{3423, "Turbo Charge Donkey Kong"}, {{607, 0}, "Air Strike"},
//{3424, "Hammer Slam Bowser"}, {{608, 0}, "Ember"},
{3425, "Dive-Clops"}, {{609, 0}, "Ambush"},
{3426, "Astroblast"}, {{610, 0}, "Dr. Krankcase"},
{3427, "Nightfall"}, {{611, 0}, "Hood Sickle"},
{3428, "Thrillipede"}, {{612, 0}, "Tae Kwon Crow"},
{3500, "Sky Trophy"}, {{613, 0}, "Golden Queen"},
{3501, "Land Trophy"}, {{613, 11266}, "Dark Golden Queen"},
{3502, "Sea Trophy"}, {{614, 0}, "Wolfgang"},
{3503, "Kaos Trophy"}, {{614, 11266}, "Dark Wolfgang"},
{{615, 0}, "Pain-Yatta"},
{{616, 0}, "Mysticat"},
{{617, 0}, "Starcast"},
{{618, 0}, "Buckshot"},
{{619, 0}, "Aurora"},
{{620, 0}, "Flare Wolf"},
{{621, 0}, "Chompy Mage"},
{{622, 0}, "Bad Juju"},
{{623, 0}, "Grave Clobber"},
{{624, 0}, "Blaster-Tron"},
{{625, 0}, "Ro-Bow"},
{{626, 0}, "Chain Reaction"},
{{627, 0}, "Kaos"},
{{628, 0}, "Wild Storm"},
{{629, 0}, "Tidepool"},
{{630, 0}, "Crash Bandicoot"},
{{631, 0}, "Dr. Neo Cortex"},
{{3000, 0}, "Scratch"},
{{3001, 0}, "Pop Thorn"},
{{3002, 0}, "Slobber Tooth"},
{{3002, 11266}, "Dark Slobber Tooth"},
{{3003, 0}, "Scorp"},
{{3004, 0}, "Fryno"},
{{3005, 0}, "Smolderdash"},
{{3005, 4614}, "LightCore Smolderdash"},
{{3006, 0}, "Bumble Blast"},
{{3006, 4614}, "LightCore Bumble Blast"},
{{3007, 0}, "Zoo Lou"},
{{3008, 0}, "Dune Bug"},
{{3009, 0}, "Star Strike"},
{{3009, 4614}, "LightCore Star Strike"},
{{3010, 0}, "Countdown"},
{{3010, 4614}, "LightCore Countdown"},
{{3011, 0}, "Wind Up"},
{{3012, 0}, "Roller Brawl"},
{{3013, 0}, "Grim Creeper"},
{{3013, 4614}, "LightCore Grim Creeper"},
{{3014, 0}, "Rip Tide"},
{{3015, 0}, "Punk Shock"},
{{1000, 0}, "Boom Jet (Bottom)"},
{{1001, 0}, "Free Ranger (Bottom)"},
{{1002, 0}, "Rubble Rouser (Bottom)"},
{{1003, 0}, "Doom Stone (Bottom)"},
{{1004, 0}, "Blast Zone (Bottom)"},
{{1004, 11266}, "Dark Blast Zone (Bottom)"},
{{1005, 0}, "Fire Kraken (Bottom)"},
{{1006, 0}, "Stink Bomb (Bottom)"},
{{1007, 0}, "Grilla Drilla (Bottom)"},
{{1008, 0}, "Hoot Loop (Bottom)"},
{{1008, 9218}, "Enchanted Hoot Loop (Bottom)"},
{{1009, 0}, "Trap Shadow (Bottom)"},
{{1010, 0}, "Magna Charge (Bottom)"},
{{1011, 0}, "Spy Rise (Bottom)"},
{{1012, 0}, "Night Shift (Bottom)"},
{{1013, 0}, "Rattle Shake (Bottom)"},
{{1014, 0}, "Freeze Blade (Bottom)"},
{{1015, 0}, "Wash Buckler (Bottom)"},
{{1015, 11266}, "Dark Wash Buckler (Bottom)"},
{{2000, 0}, "Boom Jet (Top)"},
{{2001, 0}, "Free Ranger (Top)"},
{{2002, 0}, "Rubble Rouser (Top)"},
{{2003, 0}, "Doom Stone (Top)"},
{{2004, 0}, "Blast Zone (Top)"},
{{2004, 11266}, "Dark Blast Zone (Top)"},
{{2005, 0}, "Fire Kraken (Top)"},
{{2006, 0}, "Stink Bomb (Top)"},
{{2007, 0}, "Grilla Drilla (Top)"},
{{2008, 0}, "Hoot Loop (Top)"},
{{2008, 9218}, "Enchanted Hoot Loop (Top)"},
{{2009, 0}, "Trap Shadow (Top)"},
{{2010, 0}, "Magna Charge (Top)"},
{{2011, 0}, "Spy Rise (Top)"},
{{2012, 0}, "Night Shift (Top)"},
{{2013, 0}, "Rattle Shake (Top)"},
{{2014, 0}, "Freeze Blade (Top)"},
{{2015, 0}, "Wash Buckler (Top)"},
{{2015, 11266}, "Dark Wash Buckler (Top)"},
{{3220, 0}, "Jet Stream"},
{{3221, 0}, "Tomb Buggy"},
{{3222, 0}, "Reef Ripper"},
{{3223, 0}, "Burn Cycle"},
{{3224, 0}, "Hot Streak"},
{{3225, 0}, "Shark Tank"},
{{3226, 0}, "Thump Truck"},
{{3227, 0}, "Crypt Crusher"},
{{3228, 0}, "Stealth Stinger"},
{{3231, 0}, "Dive Bomber"},
{{3232, 0}, "Sky Slicer"},
//{{3233, 0}, "Clown Cruiser (Nintendo Only)"},
//{{3233, 11266}, "Dark Clown Cruiser (Nintendo Only)"},
{{3234, 0}, "Gold Rusher"},
{{3235, 0}, "Shield Striker"},
{{3236, 0}, "Sun Runner"},
{{3237, 0}, "Sea Shadow"},
{{3237, 11266}, "Dark Sea Shadow"},
{{3238, 0}, "Splatter Splasher"},
{{3239, 0}, "Soda Skimmer"},
//{{3240, 0}, "Barrel Blaster (Nintendo Only)"},
//{{3240, 11266}, "Dark Barrel Blaster (Nintendo Only)"},
{{3241, 0}, "Buzz Wing"},
{{3400, 0}, "Fiesta"},
{{3401, 0}, "High Volt"},
{{3402, 0}, "Splat"},
{{3406, 0}, "Stormblade"},
{{3411, 0}, "Smash Hit"},
{{3412, 0}, "Spitfire"},
{{3412, 11266}, "Dark Spitfire"},
{{3413, 0}, "Hurricane Jet Vac"},
{{3414, 0}, "Double Dare Trigger Happy"},
{{3415, 0}, "Super Shot Stealth Elf"},
{{3415, 11266}, "Dark Super Shot Stealth Elf"},
{{3416, 0}, "Shark Shooter Terrafin"},
{{3417, 0}, "Bone Bash Roller Brawl"},
{{3420, 0}, "Big Bubble Pop Fizz"},
{{3421, 0}, "Lava Lance Eruptor"},
{{3422, 0}, "Deep Dive Gill Grunt"},
//{{3423, 0}, "Turbo Charge Donkey Kong (Nintendo Only)"},
//{{3423, 11266}, "Dark Turbo Charge Donkey Kong (Nintendo Only)"},
//{{3424, 0}, "Hammer Slam Bowser (Nintendo Only)"},
//{{3424, 11266}, "Dark Hammer Slam Bowser (Nintendo Only)"},
{{3425, 0}, "Dive-Clops"},
{{3426, 0}, "Astroblast"},
{{3427, 0}, "Nightfall"},
{{3428, 0}, "Thrillipede"},
{{3500, 0}, "Sky Trophy"},
{{3501, 0}, "Land Trophy"},
{{3502, 0}, "Sea Trophy"},
{{3503, 0}, "Kaos Trophy"},
}; };
QString cur_sky_file_path; QString cur_sky_file_path;
@ -304,12 +432,13 @@ skylander_dialog::skylander_dialog(QWidget* parent)
QGroupBox* group_skyinfo = new QGroupBox(tr("Skylander Info")); QGroupBox* group_skyinfo = new QGroupBox(tr("Skylander Info"));
QVBoxLayout* vbox_group = new QVBoxLayout(); QVBoxLayout* vbox_group = new QVBoxLayout();
combo_skylist = new QComboBox(); combo_skylist = new QComboBox();
for (auto& entry : list_skylanders) for (const auto& entry : list_skylanders)
{ {
combo_skylist->addItem(QString::fromStdString(entry.second), QVariant(int{entry.first})); uint qvar = (entry.first.first << 16) | entry.first.second;
combo_skylist->addItem(QString::fromStdString(entry.second), QVariant(qvar));
} }
combo_skylist->addItem(tr("--Unknown--"), QVariant(0xFFFF)); combo_skylist->addItem(tr("--Unknown--"), QVariant(0xFFFFFFFF));
QLabel* label_skyid = new QLabel(tr("Skylander ID:")); QLabel* label_skyid = new QLabel(tr("Skylander ID:"));
edit_skyid = new QLineEdit(); edit_skyid = new QLineEdit();
@ -348,13 +477,16 @@ skylander_dialog::skylander_dialog(QWidget* parent)
// clang-format off // clang-format off
connect(combo_skylist, &QComboBox::currentTextChanged, this, [&]() connect(combo_skylist, &QComboBox::currentTextChanged, this, [&]()
{ {
u16 sky_id = combo_skylist->itemData(combo_skylist->currentIndex()).toInt(); const u32 sky_info = combo_skylist->itemData(combo_skylist->currentIndex()).toUInt();
if (sky_id != 0xFFFF) if (sky_info != 0xFFFFFFFF)
{ {
const u16 sky_id = sky_info >> 16;
const u16 sky_var = sky_info & 0xFFFF;
{ {
std::lock_guard lock(g_skylander.sky_mutex); std::lock_guard lock(g_skylander.sky_mutex);
reinterpret_cast<le_t<u32>&>(g_skylander.sky_dump[0]) = combo_skylist->itemData(combo_skylist->currentIndex()).toInt() & 0xffff; reinterpret_cast<le_t<u32>&>(g_skylander.sky_dump[0]) = sky_info;
reinterpret_cast<le_t<u16>&>(g_skylander.sky_dump[0x10]) = combo_skylist->itemData(combo_skylist->currentIndex()).toInt() & 0xffff; reinterpret_cast<le_t<u16>&>(g_skylander.sky_dump[0x10]) = sky_id;
reinterpret_cast<le_t<u16>&>(g_skylander.sky_dump[0x1C]) = sky_var;
reinterpret_cast<le_t<u16>&>(g_skylander.sky_dump[0x1E]) = skylander_crc16(0xFFFF, g_skylander.sky_dump, 0x1E); reinterpret_cast<le_t<u16>&>(g_skylander.sky_dump[0x1E]) = skylander_crc16(0xFFFF, g_skylander.sky_dump, 0x1E);
} }