diff --git a/auto-splitters/GTA3/README.md b/auto-splitters/GTA3/README.md new file mode 100644 index 0000000..7dd836e --- /dev/null +++ b/auto-splitters/GTA3/README.md @@ -0,0 +1,6 @@ +# GTA3 Autosplitter for Libresplit +Original code by: zoton2, iguaan, hoxi +Libresplit lua port: Tepiloxtl + +## Configuration +This autosplitter can be reconfigured using variables inside the .lua file. Configuration covers splitting on all missions; rampages, stunt jumps and packages (either on each of or after collecting/finishing all of them); on Any% final split (losing control on The Exchange) and on 100% ingame completion. Mission splits can be disabled by commenting out their respective entry in `missionList` \ No newline at end of file diff --git a/auto-splitters/GTA3/gta3.lua b/auto-splitters/GTA3/gta3.lua new file mode 100644 index 0000000..0790946 --- /dev/null +++ b/auto-splitters/GTA3/gta3.lua @@ -0,0 +1,244 @@ +-- GTA3 Autosplitter for Libresplit +-- Original code by: zoton2, iguaan, hoxi +-- Libresplit lua port: Tepiloxtl +process("gta3.exe") +local enable = {} + +-- ==== Autosplitter configuration==== +-- Version: currently only supporting Steam +-- local version = "Steam" +-- Split after every mission, comment out entry in missionList to disable splitting on that particular mission +enable.missions = true + +-- Split once you lose control on The Exchange +enable.anyfinalsplit = false + +-- Split once you reach 100% game completion +enable.hundofinalsplit = false + +-- USJ autosplitter, values: false, "each", "all" +enable.usjs = false + +-- Packages autosplitter, values: false, "each", "all" +enable.packages = false + +-- Rampages autosplitter, values: false, "each", "all" +enable.rampages = false +-- ==== Autosplitter configuration ends ==== + +local current = {} +local old = {} +if enable.missions == true then + missionList = { + {addr = 0x35B75C, label = "Luigi's Girls"}, + {addr = 0x35B76C, label = "Don't Spank Ma Bitch Up"}, + {addr = 0x35B770, label = "Drive Misty For Me"}, + {addr = 0x35B80C, label = "The Crook"}, + {addr = 0x35B810, label = "The Thieves"}, + {addr = 0x35B814, label = "The Wife"}, + {addr = 0x35B818, label = "Her Lover"}, + {addr = 0x35B780, label = "Mike Lips Last Lunch"}, + {addr = 0x35B784, label = "Farewell 'Chunky' Lee Chong"}, + {addr = 0x35B788, label = "Van Heist"}, + {addr = 0x35B78C, label = "Cipriani's Chauffeur"}, + {addr = 0x35B79C, label = "Taking Out the Laundry"}, + {addr = 0x35B790, label = "Dead Skunk in the Trunk"}, + {addr = 0x35B838, label = "Turismo"}, + {addr = 0x35B794, label = "The Getaway"}, + {addr = 0x35B7A0, label = "The Pick-Up"}, + {addr = 0x35B970, label = "Patriot Playground"}, + {addr = 0x35B7A4, label = "Salvatore's Called a Meeting"}, + {addr = 0x35B7B4, label = "Chaperone"}, + {addr = 0x35B7B8, label = "Cutting the Grass"}, + {addr = 0x35B7A8, label = "Triads and Tribulations"}, + {addr = 0x35B774, label = "Pump-Action Pimp"}, + {addr = 0x35B9EC, label = "Diablo Destruction"}, + {addr = 0x35B778, label = "The Fuzz Ball"}, + {addr = 0x35B7E4, label = "I Scream, You Scream"}, + {addr = 0x35B7E8, label = "Trial By Fire"}, + {addr = 0x35B7EC, label = "Big'N'Veiny"}, + {addr = 0x35B9F0, label = "Mafia Massacre"}, + {addr = 0x35B7AC, label = "Blow Fish"}, + {addr = 0x35B7BC, label = "Bomb Da Base: Act I"}, + {addr = 0x35B7C0, label = "Bomb Da Base: Act II"}, + {addr = 0x35B7C4, label = "Last Requests"}, + {addr = 0x35B878, label = "Sayonara Salvatore"}, + {addr = 0x35B8D4, label = "Bling-Bling Scramble"}, + {addr = 0x35B87C, label = "Under Surveillance"}, + {addr = 0x35B8AC, label = "Kanbu Bust-Out"}, + {addr = 0x35B9F8, label = "Casino Calamity"}, + {addr = 0x35B8B0, label = "Grand Theft Auto"}, + {addr = 0x35B8D8, label = "Uzi Rider"}, + {addr = 0x35B97C, label = "Multistorey Mayhem"}, + {addr = 0x35B880, label = "Paparazzi Purge"}, + {addr = 0x35B884, label = "Payday For Ray"}, + {addr = 0x35B890, label = "Silence The Sneak"}, + {addr = 0x35B888, label = "Two-Faced Tanner"}, + {addr = 0x35B8B4, label = "Deal Steal"}, + {addr = 0x35B8B8, label = "Shima"}, + {addr = 0x35B8BC, label = "Smack Down"}, + {addr = 0x35B974, label = "A Ride In The Park"}, + {addr = 0x35B894, label = "Arms Shortage"}, + {addr = 0x35B898, label = "Evidence Dash"}, + {addr = 0x35B89C, label = "Gone Fishing"}, + {addr = 0x35B8DC, label = "Gangcar Round-Up"}, + {addr = 0x35B8A0, label = "Plaster Blaster"}, + {addr = 0x35B8E0, label = "Kingdom Come"}, + {addr = 0x35B8C4, label = "Liberator"}, + {addr = 0x35B8C8, label = "Waka-Gashira Wipeout!"}, + {addr = 0x35B8CC, label = "A Drop In The Ocean"}, + {addr = 0x35B8FC, label = "Grand Theft Aero"}, + {addr = 0x35B8A4, label = "Marked Man"}, + {addr = 0x35B900, label = "Escort Service"}, + {addr = 0x35B9F4, label = "Rumpo Rampage"}, + {addr = 0x35B924, label = "Uzi Money"}, + {addr = 0x35B928, label = "Toyminator"}, + {addr = 0x35B92C, label = "Rigged to Blow"}, + {addr = 0x35B930, label = "Bullion Run"}, + {addr = 0x35B910, label = "Bait"}, + {addr = 0x35B904, label = "Decoy"}, + {addr = 0x35B908, label = "Love's Disappearance"}, + {addr = 0x35B914, label = "Espresso-2-Go!"}, + {addr = 0x35B918, label = "S.A.M."}, + {addr = 0x35B948, label = "The Exchange"}, + {addr = 0x35B934, label = "Rumble"}, + {addr = 0x35B978, label = "Gripped!"} + } + missionCount = #missionList + current.missionStates = {} + old.missionStates = {} + completedMissions = {} +end +if enable.anyfinalsplit == true then + current.teHelipad = 0 + current.teTimer = 0 +end +if enable.hundofinalsplit == true then + current.progressMade = 0 +end +if enable.usjs ~= false then + current.usjs = 0 +end +if enable.packages ~= false then + current.packages = 0 +end +if enable.rampages ~= false then + current.rampages = 0 +end +current.gameState = 0 + + +function startup() + refreshRate = 30 + if enable.missions == true then + for i = 1, missionCount do + completedMissions[i] = false + end + end +end + +function start() + if (old.gameState == 8 and current.gameState == 9) then + return true + end +end + +-- function reset() +-- if (old.gameState == 8 and current.gameState == 9) then +-- return true +-- end +-- end + +function state() + old = shallow_copy_tbl(current) + if enable.missions == true then + old.missionStates = shallow_copy_tbl(current.missionStates) + for i = 1, missionCount do + if completedMissions[i] == false then + local address = missionList[i].addr + local val = readAddress("int", address) + current.missionStates[i] = val + end + end + end + if enable.anyfinalsplit == true then + current.teHelipad = readAddress("byte", 0x35F6B8) + current.teTimer = readAddress("int", 0x35BA2C) + end + if enable.hundofinalsplit == true then + current.progressMade = readAddress("int", 0x50651C) + end + if enable.usjs ~= false then + current.usjs = readAddress("int", 0x35BFB0) + end + if enable.packages ~= false then + current.packages = readAddress("int", 0x35C3D4) + end + if enable.rampages ~= false then + current.rampages = readAddress("int", 0x35C0AC) + end + current.gameState = readAddress("int", "0x505A2C") +end + +function split() + if enable.missions == true then + --Procedure, via LiveSplit ASL + --Loop over all missions + --1. Check if mission is enabled + --2. Check if the mission was just passed + --3. Check if we didn't split for this mission already + --If all checks passes, split + for i = 1, missionCount do + if completedMissions[i] == false then + if old.missionStates and old.missionStates[i] and current.missionStates[i] > old.missionStates[i] then + completedMissions[i] = true + print("Mission Complete: " .. missionList[i].label) + return true + end + end + end + end + if enable.anyfinalsplit == true then + if current.teHelipad == 1 and current.teTimer ~= old.teTimer then + return true + end + end + if enable.hundofinalsplit == true then + if current.progressMade == 154 and current.progressMade ~= old.progressMade then + return true + end + end + if enable.usjs ~= false then + if enable.usjs == "each" then + if current.usjs > old.usjs then + return true + end + elseif enable.usjs == "all" then + if current.usjs == 20 and current.usjs ~= old.usjs then + return true + end + end + end + if enable.packages ~= false then + if enable.packages == "each" then + if current.packages > old.packages then + return true + end + elseif enable.packages == "all" then + if current.packages == 100 and current.packages ~= old.packages then + return true + end + end + end + if enable.rampages ~= false then + if enable.rampages == "each" then + if current.rampages > old.rampages then + return true + end + elseif enable.rampages == "all" then + if current.rampages == 20 and current.rampages ~= old.rampages then + return true + end + end + end +end diff --git a/splits/GTA3/GTA3 All Missions with icons.json b/splits/GTA3/GTA3 All Missions with icons.json new file mode 100644 index 0000000..4ce6578 --- /dev/null +++ b/splits/GTA3/GTA3 All Missions with icons.json @@ -0,0 +1,299 @@ +{ + "title": "GTAIII All Missions", + "splits": [ + { + "title": "Luigi's Girls", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/LuigiGoterelli.png" + }, + { + "title": "Don't Spank Ma Bitch Up", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/LuigiGoterelli.png" + }, + { + "title": "Drive Misty For Me", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/LuigiGoterelli.png" + }, + { + "title": "The Crook @9-19", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/MartyChonks.png" + }, + { + "title": "The Thieves @9-19", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/MartyChonks.png" + }, + { + "title": "The Wife @9-19", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/MartyChonks.png" + }, + { + "title": "Her Lover @9-19", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/MartyChonks.png" + }, + { + "title": "Mike Lips Last Lunch @5-21", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/JoeyLeone.png" + }, + { + "title": "Farewell \"Chunky\" Lee Chong", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/JoeyLeone.png" + }, + { + "title": "Van Heist", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/JoeyLeone.png" + }, + { + "title": "Cipriani's Chaffeur", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/JoeyLeone.png" + }, + { + "title": "Taking Out the Laundry", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/TonyCipriani.png" + }, + { + "title": "Dead Skunk in the Trunk", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/JoeyLeone.png" + }, + { + "title": "Turismo", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/ElBurro.png" + }, + { + "title": "The Getaway @6-14", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/JoeyLeone.png" + }, + { + "title": "The Pick-Up", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/TonyCipriani.png" + }, + { + "title": "Salvatore's Called a Meeting", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/TonyCipriani.png" + }, + { + "title": "Chaperone", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/SalvatoreLeone.png" + }, + { + "title": "Cutting the Grass", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/SalvatoreLeone.png" + }, + { + "title": "Triads and Tribulations", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/TonyCipriani.png" + }, + { + "title": "Pump-Action Pimp", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/LuigiGoterelli.png" + }, + { + "title": "Diablo Destruction", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RCToyz.png" + }, + { + "title": "I Scream, You Scream", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/ElBurro.png" + }, + { + "title": "The Fuzz Ball", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/LuigiGoterelli.png" + }, + { + "title": "Trial by Fire", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/ElBurro.png" + }, + { + "title": "Big N' Veiny", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/ElBurro.png" + }, + { + "title": "Mafia Massacre", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RCToyz.png" + }, + { + "title": "Blow Fish", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/TonyCipriani.png" + }, + { + "title": "Patriot Playground", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/13 TaxiDriver.png" + }, + { + "title": "Bomb Da Base: Act I", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/SalvatoreLeone.png" + }, + { + "title": "Bomb Da Base: Act II", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/EightBall.png" + }, + { + "title": "Last Requests", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/SalvatoreLeone.png" + }, + { + "title": "Sayonara Salvatore", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" + }, + { + "title": "Under Surveillance", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" + }, + { + "title": "Bling-Bling Scramble", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KingCourtney.png" + }, + { + "title": "Paparazzi Purge", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" + }, + { + "title": "Payday for Ray", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" + }, + { + "title": "Silence the Sneak", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RayMachowski.png" + }, + { + "title": "Two-Faced Tanner", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" + }, + { + "title": "Kanbu Bust-Out", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KenjiKasen.png" + }, + { + "title": "Grand Theft Auto", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KenjiKasen.png" + }, + { + "title": "Uzi Rider", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KingCourtney.png" + }, + { + "title": "Multistorey Mayhem", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/13 TaxiDriver.png" + }, + { + "title": "Casino Calamity", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RCToyz.png" + }, + { + "title": "Deal Steal", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KenjiKasen.png" + }, + { + "title": "Shima", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KenjiKasen.png" + }, + { + "title": "Smack Down", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KenjiKasen.png" + }, + { + "title": "A Ride in the Park", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/13 TaxiDriver.png" + }, + { + "title": "Arms Shortage", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RayMachowski.png" + }, + { + "title": "Evidence Dash", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RayMachowski.png" + }, + { + "title": "Liberator", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" + }, + { + "title": "Waka-Gashira Wipeout", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" + }, + { + "title": "Gone Fishing", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RayMachowski.png" + }, + { + "title": "Gangcar Round-Up", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KingCourtney.png" + }, + { + "title": "Plaster Blaster", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RayMachowski.png" + }, + { + "title": "Kingdom Come", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KingCourtney.png" + }, + { + "title": "A Drop in the Ocean", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" + }, + { + "title": "Grand Theft Aero", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" + }, + { + "title": "Escort Service", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" + }, + { + "title": "Uzi Money", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" + }, + { + "title": "Toyminator", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" + }, + { + "title": "Rumpo Rampage", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RCToyz.png" + }, + { + "title": "Rigged to Blow", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" + }, + { + "title": "Bullion Run", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" + }, + { + "title": "Bait", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" + }, + { + "title": "Espresso-2-Go!", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" + }, + { + "title": "Decoy", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" + }, + { + "title": "S.A.M.", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" + }, + { + "title": "Marked Man", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RayMachowski.png" + }, + { + "title": "Love's Disappearence", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" + }, + { + "title": "The Exchange", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/CatalinaIII.png" + }, + { + "title": "Rumble", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" + }, + { + "title": "Gripped!", + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/13 TaxiDriver.png" + } + ], + "width": 450, + "height": 742 +} \ No newline at end of file diff --git a/splits/GTA3/GTA3 All Missions.json b/splits/GTA3/GTA3 All Missions.json new file mode 100644 index 0000000..8859f7f --- /dev/null +++ b/splits/GTA3/GTA3 All Missions.json @@ -0,0 +1,226 @@ +{ + "title": "GTAIII All Missions", + "splits": [ + { + "title": "Luigi's Girls" + }, + { + "title": "Don't Spank Ma Bitch Up" + }, + { + "title": "Drive Misty For Me" + }, + { + "title": "The Crook @9-19" + }, + { + "title": "The Thieves @9-19" + }, + { + "title": "The Wife @9-19" + }, + { + "title": "Her Lover @9-19" + }, + { + "title": "Mike Lips Last Lunch @5-21" + }, + { + "title": "Farewell \"Chunky\" Lee Chong" + }, + { + "title": "Van Heist" + }, + { + "title": "Cipriani's Chaffeur" + }, + { + "title": "Taking Out the Laundry" + }, + { + "title": "Dead Skunk in the Trunk" + }, + { + "title": "Turismo" + }, + { + "title": "The Getaway @6-14" + }, + { + "title": "The Pick-Up" + }, + { + "title": "Salvatore's Called a Meeting" + }, + { + "title": "Chaperone" + }, + { + "title": "Cutting the Grass" + }, + { + "title": "Triads and Tribulations" + }, + { + "title": "Pump-Action Pimp" + }, + { + "title": "Diablo Destruction" + }, + { + "title": "I Scream, You Scream" + }, + { + "title": "The Fuzz Ball" + }, + { + "title": "Trial by Fire" + }, + { + "title": "Big N' Veiny" + }, + { + "title": "Mafia Massacre" + }, + { + "title": "Blow Fish" + }, + { + "title": "Patriot Playground" + }, + { + "title": "Bomb Da Base: Act I" + }, + { + "title": "Bomb Da Base: Act II" + }, + { + "title": "Last Requests" + }, + { + "title": "Sayonara Salvatore" + }, + { + "title": "Under Surveillance" + }, + { + "title": "Bling-Bling Scramble" + }, + { + "title": "Paparazzi Purge" + }, + { + "title": "Payday for Ray" + }, + { + "title": "Silence the Sneak" + }, + { + "title": "Two-Faced Tanner" + }, + { + "title": "Kanbu Bust-Out" + }, + { + "title": "Grand Theft Auto" + }, + { + "title": "Uzi Rider" + }, + { + "title": "Multistorey Mayhem" + }, + { + "title": "Casino Calamity" + }, + { + "title": "Deal Steal" + }, + { + "title": "Shima" + }, + { + "title": "Smack Down" + }, + { + "title": "A Ride in the Park" + }, + { + "title": "Arms Shortage" + }, + { + "title": "Evidence Dash" + }, + { + "title": "Liberator" + }, + { + "title": "Waka-Gashira Wipeout" + }, + { + "title": "Gone Fishing" + }, + { + "title": "Gangcar Round-Up" + }, + { + "title": "Plaster Blaster" + }, + { + "title": "Kingdom Come" + }, + { + "title": "A Drop in the Ocean" + }, + { + "title": "Grand Theft Aero" + }, + { + "title": "Escort Service" + }, + { + "title": "Uzi Money" + }, + { + "title": "Toyminator" + }, + { + "title": "Rumpo Rampage" + }, + { + "title": "Rigged to Blow" + }, + { + "title": "Bullion Run" + }, + { + "title": "Bait" + }, + { + "title": "Espresso-2-Go!" + }, + { + "title": "Decoy" + }, + { + "title": "S.A.M." + }, + { + "title": "Marked Man" + }, + { + "title": "Love's Disappearence" + }, + { + "title": "The Exchange" + }, + { + "title": "Rumble" + }, + { + "title": "Gripped!" + } + ], + "width": 450, + "height": 742 +} \ No newline at end of file diff --git a/splits/GTA3/README.md b/splits/GTA3/README.md new file mode 100644 index 0000000..69d7e7e --- /dev/null +++ b/splits/GTA3/README.md @@ -0,0 +1 @@ +GTA3 All Missions with icons.json uses icons from Lightnat0r [100% checklist](https://github.com/Lighnat0r-pers/100pc_checklist/tree/master/Icons) \ No newline at end of file diff --git a/splits/GTA3/icons/02 UniqueJump.png b/splits/GTA3/icons/02 UniqueJump.png new file mode 100644 index 0000000..ace2ef1 Binary files /dev/null and b/splits/GTA3/icons/02 UniqueJump.png differ diff --git a/splits/GTA3/icons/06 Safehouse.png b/splits/GTA3/icons/06 Safehouse.png new file mode 100644 index 0000000..f50d606 Binary files /dev/null and b/splits/GTA3/icons/06 Safehouse.png differ diff --git a/splits/GTA3/icons/09 Vigilante.png b/splits/GTA3/icons/09 Vigilante.png new file mode 100644 index 0000000..c4d77f7 Binary files /dev/null and b/splits/GTA3/icons/09 Vigilante.png differ diff --git a/splits/GTA3/icons/10 Firefighter.png b/splits/GTA3/icons/10 Firefighter.png new file mode 100644 index 0000000..4fa6fd8 Binary files /dev/null and b/splits/GTA3/icons/10 Firefighter.png differ diff --git a/splits/GTA3/icons/11 Paramedic.png b/splits/GTA3/icons/11 Paramedic.png new file mode 100644 index 0000000..2ac1bef Binary files /dev/null and b/splits/GTA3/icons/11 Paramedic.png differ diff --git a/splits/GTA3/icons/13 TaxiDriver.png b/splits/GTA3/icons/13 TaxiDriver.png new file mode 100644 index 0000000..ba16f8b Binary files /dev/null and b/splits/GTA3/icons/13 TaxiDriver.png differ diff --git a/splits/GTA3/icons/AsukaKasen.png b/splits/GTA3/icons/AsukaKasen.png new file mode 100644 index 0000000..91c8c91 Binary files /dev/null and b/splits/GTA3/icons/AsukaKasen.png differ diff --git a/splits/GTA3/icons/CatalinaIII.png b/splits/GTA3/icons/CatalinaIII.png new file mode 100644 index 0000000..682392c Binary files /dev/null and b/splits/GTA3/icons/CatalinaIII.png differ diff --git a/splits/GTA3/icons/DIce.png b/splits/GTA3/icons/DIce.png new file mode 100644 index 0000000..15153e0 Binary files /dev/null and b/splits/GTA3/icons/DIce.png differ diff --git a/splits/GTA3/icons/DonaldLove.png b/splits/GTA3/icons/DonaldLove.png new file mode 100644 index 0000000..5b9e4a2 Binary files /dev/null and b/splits/GTA3/icons/DonaldLove.png differ diff --git a/splits/GTA3/icons/EightBall.png b/splits/GTA3/icons/EightBall.png new file mode 100644 index 0000000..4d7f42b Binary files /dev/null and b/splits/GTA3/icons/EightBall.png differ diff --git a/splits/GTA3/icons/ElBurro.png b/splits/GTA3/icons/ElBurro.png new file mode 100644 index 0000000..966a2c8 Binary files /dev/null and b/splits/GTA3/icons/ElBurro.png differ diff --git a/splits/GTA3/icons/HiddenPackageIII.png b/splits/GTA3/icons/HiddenPackageIII.png new file mode 100644 index 0000000..d44e74d Binary files /dev/null and b/splits/GTA3/icons/HiddenPackageIII.png differ diff --git a/splits/GTA3/icons/ImportExport.png b/splits/GTA3/icons/ImportExport.png new file mode 100644 index 0000000..b05f609 Binary files /dev/null and b/splits/GTA3/icons/ImportExport.png differ diff --git a/splits/GTA3/icons/JoeyLeone.png b/splits/GTA3/icons/JoeyLeone.png new file mode 100644 index 0000000..2fd32b5 Binary files /dev/null and b/splits/GTA3/icons/JoeyLeone.png differ diff --git a/splits/GTA3/icons/KenjiKasen.png b/splits/GTA3/icons/KenjiKasen.png new file mode 100644 index 0000000..e24a014 Binary files /dev/null and b/splits/GTA3/icons/KenjiKasen.png differ diff --git a/splits/GTA3/icons/KingCourtney.png b/splits/GTA3/icons/KingCourtney.png new file mode 100644 index 0000000..ad51e05 Binary files /dev/null and b/splits/GTA3/icons/KingCourtney.png differ diff --git a/splits/GTA3/icons/LuigiGoterelli.png b/splits/GTA3/icons/LuigiGoterelli.png new file mode 100644 index 0000000..f61562f Binary files /dev/null and b/splits/GTA3/icons/LuigiGoterelli.png differ diff --git a/splits/GTA3/icons/MartyChonks.png b/splits/GTA3/icons/MartyChonks.png new file mode 100644 index 0000000..744389c Binary files /dev/null and b/splits/GTA3/icons/MartyChonks.png differ diff --git a/splits/GTA3/icons/RCToyz.png b/splits/GTA3/icons/RCToyz.png new file mode 100644 index 0000000..ee5d4b0 Binary files /dev/null and b/splits/GTA3/icons/RCToyz.png differ diff --git a/splits/GTA3/icons/RampageIII.png b/splits/GTA3/icons/RampageIII.png new file mode 100644 index 0000000..a96b38c Binary files /dev/null and b/splits/GTA3/icons/RampageIII.png differ diff --git a/splits/GTA3/icons/RayMachowski.png b/splits/GTA3/icons/RayMachowski.png new file mode 100644 index 0000000..3184ed5 Binary files /dev/null and b/splits/GTA3/icons/RayMachowski.png differ diff --git a/splits/GTA3/icons/SalvatoreLeone.png b/splits/GTA3/icons/SalvatoreLeone.png new file mode 100644 index 0000000..1597b4a Binary files /dev/null and b/splits/GTA3/icons/SalvatoreLeone.png differ diff --git a/splits/GTA3/icons/TonyCipriani.png b/splits/GTA3/icons/TonyCipriani.png new file mode 100644 index 0000000..5737c53 Binary files /dev/null and b/splits/GTA3/icons/TonyCipriani.png differ