From 72cbd45c3c49aa87d9e08666f09361bb27f90b2e Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Wed, 4 Feb 2026 09:52:37 +0100 Subject: [PATCH 01/13] GTA3 autosplitter, missions only --- auto-splitters/GTA3/gta3.lua | 142 +++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 auto-splitters/GTA3/gta3.lua diff --git a/auto-splitters/GTA3/gta3.lua b/auto-splitters/GTA3/gta3.lua new file mode 100644 index 0000000..8be2f45 --- /dev/null +++ b/auto-splitters/GTA3/gta3.lua @@ -0,0 +1,142 @@ +process("gta3.exe") +local enable = {} + +local version = "Steam" +enable.missions = true +enable.usjs = false +enable.packages = false + +local current = {} +local old = {} +local 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!"} +} +local missionCount = #missionList +current.missionStates = {} +old.missionStates = {} +local completedMissions = {} + +function startup() + main_module_size = getModuleSize(); + refreshRate = 30 + print("base " .. getBaseAddress()) + for i = 1, missionCount do + completedMissions[i] = false + 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) + 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 + current.gameState = readAddress("int", "0x505A2C") + print(current.gameState) +end + +function split() + --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 From a7704be23e41fe99317d50b65902056712ef4468 Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Thu, 5 Feb 2026 03:26:19 +0100 Subject: [PATCH 02/13] Untested any and hundo splits --- auto-splitters/GTA3/gta3.lua | 254 +++++++++++++++++++++-------------- 1 file changed, 150 insertions(+), 104 deletions(-) diff --git a/auto-splitters/GTA3/gta3.lua b/auto-splitters/GTA3/gta3.lua index 8be2f45..7902955 100644 --- a/auto-splitters/GTA3/gta3.lua +++ b/auto-splitters/GTA3/gta3.lua @@ -1,99 +1,126 @@ process("gta3.exe") local enable = {} -local version = "Steam" +-- ==== 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 +elable.hundofinalsplit = false + +-- Split after each USJ enable.usjs = false + +-- Split after each collected package enable.packages = false +-- Split after finishing each Rampage +enable.rampages = false +-- ==== Autosplitter configuration ends ==== + local current = {} local old = {} -local 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!"} -} -local missionCount = #missionList -current.missionStates = {} -old.missionStates = {} -local completedMissions = {} +if enable.missions == true then + local 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!"} + } + local missionCount = #missionList + current.missionStates = {} + old.missionStates = {} + local completedMissions = {} +end +if enable.anyfinalsplit == true then + current.teHelipad = 0 + current.teTimer = 0 +end +if enable.hundofinalsplit == true then + current.progressMade = 0 +end + function startup() - main_module_size = getModuleSize(); refreshRate = 30 - print("base " .. getBaseAddress()) - for i = 1, missionCount do - completedMissions[i] = false + if enable.missions == true then + for i = 1, missionCount do + completedMissions[i] = false + end end end @@ -111,32 +138,51 @@ end function state() old = shallow_copy_tbl(current) - 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 + 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 - current.gameState = readAddress("int", "0x505A2C") - print(current.gameState) + 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 end function split() - --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 + 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 end From efe5eeca0eb9114a8c36688cd5558948128b0a81 Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Thu, 5 Feb 2026 03:35:14 +0100 Subject: [PATCH 03/13] Packages, rampages and USJ autosplitters, maybe? --- auto-splitters/GTA3/gta3.lua | 57 ++++++++++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/auto-splitters/GTA3/gta3.lua b/auto-splitters/GTA3/gta3.lua index 7902955..9ed6157 100644 --- a/auto-splitters/GTA3/gta3.lua +++ b/auto-splitters/GTA3/gta3.lua @@ -13,13 +13,13 @@ enable.anyfinalsplit = false -- Split once you reach 100% game completion elable.hundofinalsplit = false --- Split after each USJ +-- USJ autosplitter, values: false, "each", "all" enable.usjs = false --- Split after each collected package +-- Packages autosplitter, values: false, "each", "all" enable.packages = false --- Split after finishing each Rampage +-- Rampages autosplitter, values: false, "each", "all" enable.rampages = false -- ==== Autosplitter configuration ends ==== @@ -113,6 +113,15 @@ 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 function startup() @@ -155,6 +164,15 @@ function state() 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 end function split() @@ -185,4 +203,37 @@ function split() 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 From 067998993910f765e59f83963a74efc271b2051c Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Thu, 5 Feb 2026 03:42:26 +0100 Subject: [PATCH 04/13] Added splits and splits with icons --- splits/GTA3/GTA3 All Missions with icons.json | 299 ++++++++++++++++++ splits/GTA3/GTA3 All Missions.json | 226 +++++++++++++ splits/GTA3/README.md | 1 + 3 files changed, 526 insertions(+) create mode 100644 splits/GTA3/GTA3 All Missions with icons.json create mode 100644 splits/GTA3/GTA3 All Missions.json create mode 100644 splits/GTA3/README.md 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..fd4239e --- /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": "~~path~~/LuigiGoterelli.png" + }, + { + "title": "Don't Spank Ma Bitch Up", + "icon": "~~path~~/LuigiGoterelli.png" + }, + { + "title": "Drive Misty For Me", + "icon": "~~path~~/LuigiGoterelli.png" + }, + { + "title": "The Crook @9-19", + "icon": "~~path~~/MartyChonks.png" + }, + { + "title": "The Thieves @9-19", + "icon": "~~path~~/MartyChonks.png" + }, + { + "title": "The Wife @9-19", + "icon": "~~path~~/MartyChonks.png" + }, + { + "title": "Her Lover @9-19", + "icon": "~~path~~/MartyChonks.png" + }, + { + "title": "Mike Lips Last Lunch @5-21", + "icon": "~~path~~/JoeyLeone.png" + }, + { + "title": "Farewell \"Chunky\" Lee Chong", + "icon": "~~path~~/JoeyLeone.png" + }, + { + "title": "Van Heist", + "icon": "~~path~~/JoeyLeone.png" + }, + { + "title": "Cipriani's Chaffeur", + "icon": "~~path~~/JoeyLeone.png" + }, + { + "title": "Taking Out the Laundry", + "icon": "~~path~~/TonyCipriani.png" + }, + { + "title": "Dead Skunk in the Trunk", + "icon": "~~path~~/TonyCipriani.png" + }, + { + "title": "Turismo", + "icon": "~~path~~/ElBurro.png" + }, + { + "title": "The Getaway @6-14", + "icon": "~~path~~/JoeyLeone.png" + }, + { + "title": "The Pick-Up", + "icon": "~~path~~/TonyCipriani.png" + }, + { + "title": "Salvatore's Called a Meeting", + "icon": "~~path~~/TonyCipriani.png" + }, + { + "title": "Chaperone", + "icon": "~~path~~/SalvatoreLeone.png" + }, + { + "title": "Cutting the Grass", + "icon": "~~path~~/SalvatoreLeone.png" + }, + { + "title": "Triads and Tribulations", + "icon": "~~path~~/TonyCipriani.png" + }, + { + "title": "Pump-Action Pimp", + "icon": "~~path~~/LuigiGoterelli.png" + }, + { + "title": "Diablo Destruction", + "icon": "~~path~~/RCToyz.png" + }, + { + "title": "I Scream, You Scream", + "icon": "~~path~~/ElBurro.png" + }, + { + "title": "The Fuzz Ball", + "icon": "~~path~~/LuigiGoterelli.png" + }, + { + "title": "Trial by Fire", + "icon": "~~path~~/ElBurro.png" + }, + { + "title": "Big N' Veiny", + "icon": "~~path~~/ElBurro.png" + }, + { + "title": "Mafia Massacre", + "icon": "~~path~~/RCToyz.png" + }, + { + "title": "Blow Fish", + "icon": "~~path~~/TonyCipriani.png" + }, + { + "title": "Patriot Playground", + "icon": "~~path~~/13 TaxiDriver.png" + }, + { + "title": "Bomb Da Base: Act I", + "icon": "~~path~~/SalvatoreLeone.png" + }, + { + "title": "Bomb Da Base: Act II", + "icon": "~~path~~/EightBall.png" + }, + { + "title": "Last Requests", + "icon": "~~path~~/SalvatoreLeone.png" + }, + { + "title": "Sayonara Salvatore", + "icon": "~~path~~/AsukaKasen.png" + }, + { + "title": "Under Surveillance", + "icon": "~~path~~/AsukaKasen.png" + }, + { + "title": "Bling-Bling Scramble", + "icon": "~~path~~/KingCourtney.png" + }, + { + "title": "Paparazzi Purge", + "icon": "~~path~~/AsukaKasen.png" + }, + { + "title": "Payday for Ray", + "icon": "~~path~~/AsukaKasen.png" + }, + { + "title": "Silence the Sneak", + "icon": "~~path~~/RayMachowski.png" + }, + { + "title": "Two-Faced Tanner", + "icon": "~~path~~/AsukaKasen.png" + }, + { + "title": "Kanbu Bust-Out", + "icon": "~~path~~/KenjiKasen.png" + }, + { + "title": "Grand Theft Auto", + "icon": "~~path~~/KenjiKasen.png" + }, + { + "title": "Uzi Rider", + "icon": "~~path~~/KingCourtney.png" + }, + { + "title": "Multistorey Mayhem", + "icon": "~~path~~/13 TaxiDriver.png" + }, + { + "title": "Casino Calamity", + "icon": "~~path~~/RCToyz.png" + }, + { + "title": "Deal Steal", + "icon": "~~path~~/KenjiKasen.png" + }, + { + "title": "Shima", + "icon": "~~path~~/KenjiKasen.png" + }, + { + "title": "Smack Down", + "icon": "~~path~~/KenjiKasen.png" + }, + { + "title": "A Ride in the Park", + "icon": "~~path~~/13 TaxiDriver.png" + }, + { + "title": "Arms Shortage", + "icon": "~~path~~/RayMachowski.png" + }, + { + "title": "Evidence Dash", + "icon": "~~path~~/RayMachowski.png" + }, + { + "title": "Liberator", + "icon": "~~path~~/DonaldLove.png" + }, + { + "title": "Waka-Gashira Wipeout", + "icon": "~~path~~/DonaldLove.png" + }, + { + "title": "Gone Fishing", + "icon": "~~path~~/RayMachowski.png" + }, + { + "title": "Gangcar Round-Up", + "icon": "~~path~~/KingCourtney.png" + }, + { + "title": "Plaster Blaster", + "icon": "~~path~~/RayMachowski.png" + }, + { + "title": "Kingdom Come", + "icon": "~~path~~/KingCourtney.png" + }, + { + "title": "A Drop in the Ocean", + "icon": "~~path~~/DonaldLove.png" + }, + { + "title": "Grand Theft Aero", + "icon": "~~path~~/DonaldLove.png" + }, + { + "title": "Escort Service", + "icon": "~~path~~/DonaldLove.png" + }, + { + "title": "Uzi Money", + "icon": "~~path~~/DIce.png" + }, + { + "title": "Toyminator", + "icon": "~~path~~/DIce.png" + }, + { + "title": "Rumpo Rampage", + "icon": "~~path~~/RCToyz.png" + }, + { + "title": "Rigged to Blow", + "icon": "~~path~~/DIce.png" + }, + { + "title": "Bullion Run", + "icon": "~~path~~/DIce.png" + }, + { + "title": "Bait", + "icon": "~~path~~/AsukaKasen.png" + }, + { + "title": "Espresso-2-Go!", + "icon": "~~path~~/AsukaKasen.png" + }, + { + "title": "Decoy", + "icon": "~~path~~/DonaldLove.png" + }, + { + "title": "S.A.M.", + "icon": "~~path~~/AsukaKasen.png" + }, + { + "title": "Marked Man", + "icon": "~~path~~/RayMachowski.png" + }, + { + "title": "Love's Disappearence", + "icon": "~~path~~/DonaldLove.png" + }, + { + "title": "The Exchange", + "icon": "~~path~~/CatalinaIII.png" + }, + { + "title": "Rumble", + "icon": "~~path~~/DIce.png" + }, + { + "title": "Gripped!", + "icon": "~~path~~/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..6a20b4d --- /dev/null +++ b/splits/GTA3/README.md @@ -0,0 +1 @@ +GTA3 All Missions with icons.json uses [these](https://www.speedrun.com/gtaiii/resources/rqk50) icons. Download and unpack them somewhere, then find and replace `~~path~~` for your path to directory containing the icons \ No newline at end of file From 1e4108adcc45263a2d8b4645c495185c44991bcb Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Thu, 5 Feb 2026 04:15:14 +0100 Subject: [PATCH 05/13] Readded accidentaly removed gameState --- auto-splitters/GTA3/gta3.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/auto-splitters/GTA3/gta3.lua b/auto-splitters/GTA3/gta3.lua index 9ed6157..2d19795 100644 --- a/auto-splitters/GTA3/gta3.lua +++ b/auto-splitters/GTA3/gta3.lua @@ -122,6 +122,7 @@ end if enable.rampages != false then current.rampages = 0 end +current.gameState = 0 function startup() @@ -173,6 +174,7 @@ function state() if enable.rampages != false then current.rampages = readAddress("int", 0x35C0AC) end + current.gameState = readAddress("int", "0x505A2C") end function split() From ee4663c95e276cb730b6d466f98d6da2966c3126 Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Thu, 5 Feb 2026 04:17:57 +0100 Subject: [PATCH 06/13] Replaced != with ~=, a lot --- auto-splitters/GTA3/gta3.lua | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/auto-splitters/GTA3/gta3.lua b/auto-splitters/GTA3/gta3.lua index 2d19795..34661bf 100644 --- a/auto-splitters/GTA3/gta3.lua +++ b/auto-splitters/GTA3/gta3.lua @@ -113,13 +113,13 @@ end if enable.hundofinalsplit == true then current.progressMade = 0 end -if enable.usjs != false then +if enable.usjs ~= false then current.usjs = 0 end -if enable.packages != false then +if enable.packages ~= false then current.packages = 0 end -if enable.rampages != false then +if enable.rampages ~= false then current.rampages = 0 end current.gameState = 0 @@ -165,13 +165,13 @@ function state() if enable.hundofinalsplit == true then current.progressMade = readAddress("int", 0x50651C) end - if enable.usjs != false then + if enable.usjs ~= false then current.usjs = readAddress("int", 0x35BFB0) end - if enable.packages != false then + if enable.packages ~= false then current.packages = readAddress("int", 0x35C3D4) end - if enable.rampages != false then + if enable.rampages ~= false then current.rampages = readAddress("int", 0x35C0AC) end current.gameState = readAddress("int", "0x505A2C") @@ -196,44 +196,44 @@ function split() end end if enable.anyfinalsplit == true then - if current.teHelipad == 1 and current.teTimer != old.teTimer 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 + if current.progressMade == 154 and current.progressMade ~= old.progressMade then return true end end - if enable.usjs != false then + 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 + if current.usjs == 20 and current.usjs ~= old.usjs then return true end end end - if enable.packages != false then + 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 + if current.packages == 100 and current.packages ~= old.packages then return true end end end - if enable.rampages != false then + 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 + if current.rampages == 20 and current.rampages ~= old.rampages then return true end end From 3b5104d87d993024445965ed0e67e32d5fd39e20 Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Thu, 5 Feb 2026 11:24:27 +0100 Subject: [PATCH 07/13] Local man incorrectly uses local variables --- auto-splitters/GTA3/gta3.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/auto-splitters/GTA3/gta3.lua b/auto-splitters/GTA3/gta3.lua index 34661bf..5a3ff58 100644 --- a/auto-splitters/GTA3/gta3.lua +++ b/auto-splitters/GTA3/gta3.lua @@ -5,13 +5,13 @@ local enable = {} -- 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 +enable.missions = false -- Split once you lose control on The Exchange enable.anyfinalsplit = false -- Split once you reach 100% game completion -elable.hundofinalsplit = false +enable.hundofinalsplit = true -- USJ autosplitter, values: false, "each", "all" enable.usjs = false @@ -26,7 +26,7 @@ enable.rampages = false local current = {} local old = {} if enable.missions == true then - local missionList = { + missionList = { {addr = 0x35B75C, label = "Luigi's Girls"}, {addr = 0x35B76C, label = "Don't Spank Ma Bitch Up"}, {addr = 0x35B770, label = "Drive Misty For Me"}, @@ -101,10 +101,10 @@ if enable.missions == true then {addr = 0x35B934, label = "Rumble"}, {addr = 0x35B978, label = "Gripped!"} } - local missionCount = #missionList + missionCount = #missionList current.missionStates = {} old.missionStates = {} - local completedMissions = {} + completedMissions = {} end if enable.anyfinalsplit == true then current.teHelipad = 0 From d5524fc0ff3408478a9a2ba7e3d07dbf0afc89ec Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Thu, 5 Feb 2026 11:27:24 +0100 Subject: [PATCH 08/13] Set default config values to all missions --- auto-splitters/GTA3/gta3.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auto-splitters/GTA3/gta3.lua b/auto-splitters/GTA3/gta3.lua index 5a3ff58..7b65efc 100644 --- a/auto-splitters/GTA3/gta3.lua +++ b/auto-splitters/GTA3/gta3.lua @@ -5,13 +5,13 @@ local enable = {} -- 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 = false +enable.missions = true -- Split once you lose control on The Exchange enable.anyfinalsplit = false -- Split once you reach 100% game completion -enable.hundofinalsplit = true +enable.hundofinalsplit = false -- USJ autosplitter, values: false, "each", "all" enable.usjs = false From 6471e8801a2fd1a558686e04d0e7887c1eb7bff1 Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Thu, 5 Feb 2026 18:16:07 +0100 Subject: [PATCH 09/13] Uploaded icons --- splits/GTA3/icons/02 UniqueJump.png | Bin 0 -> 5289 bytes splits/GTA3/icons/06 Safehouse.png | Bin 0 -> 477 bytes splits/GTA3/icons/09 Vigilante.png | Bin 0 -> 709 bytes splits/GTA3/icons/10 Firefighter.png | Bin 0 -> 1354 bytes splits/GTA3/icons/11 Paramedic.png | Bin 0 -> 249 bytes splits/GTA3/icons/13 TaxiDriver.png | Bin 0 -> 1238 bytes splits/GTA3/icons/AsukaKasen.png | Bin 0 -> 421 bytes splits/GTA3/icons/CatalinaIII.png | Bin 0 -> 747 bytes splits/GTA3/icons/DIce.png | Bin 0 -> 894 bytes splits/GTA3/icons/DonaldLove.png | Bin 0 -> 419 bytes splits/GTA3/icons/EightBall.png | Bin 0 -> 614 bytes splits/GTA3/icons/ElBurro.png | Bin 0 -> 914 bytes splits/GTA3/icons/HiddenPackageIII.png | Bin 0 -> 3771 bytes splits/GTA3/icons/ImportExport.png | Bin 0 -> 687 bytes splits/GTA3/icons/JoeyLeone.png | Bin 0 -> 352 bytes splits/GTA3/icons/KenjiKasen.png | Bin 0 -> 439 bytes splits/GTA3/icons/KingCourtney.png | Bin 0 -> 899 bytes splits/GTA3/icons/LuigiGoterelli.png | Bin 0 -> 290 bytes splits/GTA3/icons/MartyChonks.png | Bin 0 -> 4186 bytes splits/GTA3/icons/RCToyz.png | Bin 0 -> 4794 bytes splits/GTA3/icons/RampageIII.png | Bin 0 -> 6362 bytes splits/GTA3/icons/RayMachowski.png | Bin 0 -> 515 bytes splits/GTA3/icons/SalvatoreLeone.png | Bin 0 -> 639 bytes splits/GTA3/icons/TonyCipriani.png | Bin 0 -> 319 bytes 24 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 splits/GTA3/icons/02 UniqueJump.png create mode 100644 splits/GTA3/icons/06 Safehouse.png create mode 100644 splits/GTA3/icons/09 Vigilante.png create mode 100644 splits/GTA3/icons/10 Firefighter.png create mode 100644 splits/GTA3/icons/11 Paramedic.png create mode 100644 splits/GTA3/icons/13 TaxiDriver.png create mode 100644 splits/GTA3/icons/AsukaKasen.png create mode 100644 splits/GTA3/icons/CatalinaIII.png create mode 100644 splits/GTA3/icons/DIce.png create mode 100644 splits/GTA3/icons/DonaldLove.png create mode 100644 splits/GTA3/icons/EightBall.png create mode 100644 splits/GTA3/icons/ElBurro.png create mode 100644 splits/GTA3/icons/HiddenPackageIII.png create mode 100644 splits/GTA3/icons/ImportExport.png create mode 100644 splits/GTA3/icons/JoeyLeone.png create mode 100644 splits/GTA3/icons/KenjiKasen.png create mode 100644 splits/GTA3/icons/KingCourtney.png create mode 100644 splits/GTA3/icons/LuigiGoterelli.png create mode 100644 splits/GTA3/icons/MartyChonks.png create mode 100644 splits/GTA3/icons/RCToyz.png create mode 100644 splits/GTA3/icons/RampageIII.png create mode 100644 splits/GTA3/icons/RayMachowski.png create mode 100644 splits/GTA3/icons/SalvatoreLeone.png create mode 100644 splits/GTA3/icons/TonyCipriani.png diff --git a/splits/GTA3/icons/02 UniqueJump.png b/splits/GTA3/icons/02 UniqueJump.png new file mode 100644 index 0000000000000000000000000000000000000000..ace2ef1b32d166c0b79c3ee0a1f5b99403cef902 GIT binary patch literal 5289 zcmV;a6jtkrP)Bn20#|&?f5s?`bNN^YyWn?hX#45LFQdXrPYD_RzOi~q> zN=PcA(GWK#h(-qlLkbXzC@K!KZ_F^v+xM;azJ2$b@4x+kND%`FyeRX}oar~W@A9AT zob#RU+{e*td~xf&f%RTz0a))1toJ$#zwhLxo{k(jO8XBTrEn-j<#OqT-a>)B74{u!wY=vpcB5I?MruX> z5bQm$C;q|bE_!s@WAU^Bn! zzF$TF-WSHl!vJ95#EBD+9XWpTA5}&9+08fKY`Ly$-gMKA&%K02oTdB+VV_=eTwU7} zi!f_>&f0hX3bSDbEVOogo&G=RfDiofpE8HOoCtE8b*+)F*BiB5JZ(GiUzibN?B(9Tufl20XpIHOHCYIYO-rsJ&eKd_@4*wexcN>Hcw6w;xL9(*R9?9`_FyWMdxoIRx-RG5VD6nx5am&DB!q@V?;qYh(zQ3^IY4) zIS%nknB-I!IZB#LPV~<;=Vz#~vP4QMLy4{e*&Zmyzn}NQ0l4LsTj;jiZX-CmY15|j z&XFW(i)osd7mKTbVyV;<3WemG|NQ1~ccH*lR#x2V$}(4}*X*aJrWU5AXBM|yaDfG4 z{LH?6kJJ7G`x~039aL4dGCMO%mSsKjoQq#S>~GA${@`?$7ljPZaf0i5JPr$@1OQx@ z<9HGjS;04J09Yn@jwt{DUQTtBqqd=zT40$AvpxW7ChG%W+9n48@KA5@1p#o?RaepW z?c3?@yYFU>f4;4)?K)KriMp;+rCO%qYLSM9hP-Rv_BLv2npZtDMs8_^7MfK$vAjf% z8!#_@%Ox|VQh8x|dOC7u^o%z)HuiUhZrs;wHp^Q!_O%`aM|8tvdD#x9+Tifji16zX zZW$XEkqJRTa=D{d?znOlPG5TGop;7Ske^c&<*tqW9qchITyfL1 z67c530N@6sc?ZHRusmg+A`?)0+!|IaeOqbl64F7241v=g7otEkMh-8K3x|mTFf~EV z(mc7~EhU+wNWPNZ*I$<(H|5{9k|ev!A`T zudgo)HW!{eecIc%{~#r!5w16xpfe{=Qg*`zj+bS&Tlc|-9^#)ob!s#giJlxC8_%t- zu5=(urD~;o=*AmwoPFexN3NfooV*pcx-}x%vPWJ4DgQCl@pjubla5O=9AxFsalYgH zF9gL!y)#f)WrWjRq@wO?)jBOsjgkdEkiZY2Ob3OMDYB6Mp#Wfl>?(nKI4MMJ{R0)- z^>%ZYy!p)>)9go%9APzg0|2-R01N*6^zCg?6 zCS{X(QsfZ!Gl|}5P%IwxOG!6vYSeY|bPLB6YRjilqB_mYEYiU6aM|%}AApBLs>&lB z17P)bpq+vfs_odK>$txBlw~>4(b2)dXy?wIT%&1lqvI2_d1Mp!*2^#VI|EvxXIdtL z?D7*66OVo6D_`c|j65_jR6BnBMBa8xm4m02WzP<8*zjWrr7N1Xm2hQc)@T}Tp|0DZ zA^^laD9Q&&Rb&cB0wf2-R>Toi20{=luUUvrrkyhRE*c-3CdCs-6nH8%Yn1QqpnQ8f z)f;t22~;T-=_Il<8jaH6U>^XqX?k*sc$cdrV)5PFwo5K~bYNiM+^`x-=!Q-pDMH$N zq9{6Gb{?tEf%&<<-d<|Yx1;R{?y0B7NDc<++8x`u3(g;*`S}GOfN$P@ySsJkR#bs} z_&eYE_5@hJYiMw2>d=8hUj^E`VzGEvPoXPoTb2O+=&Dv$qo^`!S`Hx{NdPaaO^#v| zq%yCOl;9~EktisNBnDNA#8MPbXQ^q}q+2$1barE}MVdz^!9FS5o+EG+oDKV(MMODj zwF>?0=X?Fhba=xM0F|j+D$(TlR7G!CySa0Rhj+DQv;VYl&L+;_C58IC8>v+^dfrKhZuqK5m}Bd9(eyH(W3D6bh^jdOzR0*L(1R2fUHZ zBmBm5H#VUAfBK^z{pb;pT*J1V!DKRifv#yuq<(gE^h|PW0>p%9v#j7WhZLQsIH#a? zWimX2D)^(sL`tVql+NTR2FImfm<*JFz_Bjo61o5xNcDPCqX4c;C)02+Ksx@<+8q_+G>8Ai>gt|LB&_`Pt1um$Rik00gvMSQzrd&tI=22_@h7kuz;2rM25HzKm0K5-?v}TnoTMc z3iGJxFF&^T(T5t<`gM+FeOwKNk={0yDpi`9o1vy|kPLzk*#gO!`$QcX5ERHs38V>4 zQo}Ncxs$T_Zi>WHWP%l!R#r(v>y1aEl!!(MdqXzhK5$-wU=qOmEb5C3^8}ztQGlNPa7t1_J6D#LHud&&*;ntlk~%xPIFt)FGd*KJ_`?Suz{6LxMlFg=`nly8ZH-3b z!{uT*YC2G9QV>E45wty0EU>pJ;#2SkVFyF5$3~+NN2yGPa&SD^)`?P6;er(8A*4hfS3;3RMXh#Y#P)j3pEVO&(v zbz}E4ZLs&8bI5j_d(J!WyvtrUd~OxB6`q-zilBXYhH3JNREmqoqI0qm3RSChb#8i+ z)9N)hjm?G>l?T#Gsv3NcYc-0xu6+V2_Kt>T1RM|)iymuRwqcQCBh?+5qGrICvzly? zm4K{G2K@95M^iL>-WGr*(bDoNRZy=UuE*Z|v>qNDBnkDb)f*H-keVR5(}$0+hDn9K zUZ4D?mlml9oTaEL$kPFF$|x5J?a?L=rm|Koh!szio(15I7hcHN{QHALLm^2DOk#++ z!u7b$R3>f3W**NBvot*JCe`lx&%O?X!c17PDjWvc`8;l8Xn$A*aPj`|2U0} zk3;Xv6bXkZ8b%FwcTpOjwg8Qfdj?LDN`JoQGnAX>i^UeC#jCiNTrgvHbfFS ziLRUYPA8{YA+ubjP_Dhw(NlO9fL*(8U~1UWo{4zeqaB<0BMb8Ky;fyfVK(Z<=-4ji=qdL(C{3S>Z~>wi#61IlY*{D2}E7N zhTR~*k8-3$WuLW$fJ&8yhuZdNes+>N+B0M!+N>lQvFZ3^M3#=lX{e`%peCsT;*;Ys z62J$R-Xy`XknRzRws%k+?0;bIUWz8-)Rs*7zCoAJ#F+`QdiSVq@Ih6!!d|C77ZSfESbvD@WxH#2@*}tEKs>> z(8(u`69;EdFodCsve`CTn4Kr+3Uq@sZP~n;6ch6YTILFfEdWQ-nG_}BapIBcmdV7A zNkyo=G|Is$m&mHtF#Op5@oKF~Rg?}7m6*=ASNi(Pdtedw~wF0Gum zY2yJfZt3W;cYQq@YZy1oHL?HG#71Ds-1^ zo_`hqmRhA!aUh+}d}#CLkzFGrn^gnr;Gsi{3v+XyLn>aO>&;X|k+vqHN-iLBt&y7T zo((4WWNNJSU(Z*E?piMnh(U;%0JY^hDL*(&9x_0y)sQIwMGc_N1%M||si@KH99rFq zMpLJcQh$FJ1(E6#W0S-t&+efCilB~bl?u`f1d8VyYS<@0QEyNbB@>S)$*$LsS*@4L z0ytwC&d-8R96T?P%Tkna5^>drOz6!+Z@9gZj2*M|gQM4PQ?gt=GciX1* zKGSy8SXiOXT!LaD8Eu8Jdn*O}z%zlulsb;HEI?Fut`C`2TxG|D%p3~gCU8bV zDBppazZ26o$F03Tk$_%jHcpv%$Ztyw1XlX~T+Rkmq@Dnl4x&W`AZ>-3PQg?fEZt7p z+#JQaI*E%gQDpgVb0kDx3IM18QrDHKx?HB|V^2^lp#rov5ZEe}5y2RGzbZi_)f$xS z=_U(vgWv(OScEt@Trby2$KWFd0FDx58R!bG+fV|inAMf)?9%FqrtQwuYfWs?vUty3 zbxdpj^S%#=#r&7G{Yd3c;Pd^QpKz`B)yQtjrJ~fHjsgt6)t?yv>`th?Ao{HgW)DJ> z^G%cNQia_RT3#Uz5m7OyND&3+vKJp7HZ1tWDDV(Tki*SV9i^~J9fRNs^zkC*44dit zpiHYvD}ILc;yY8Xf#4dpAWKc;TccXj8>Y!E1!Q3!O~@^kDs}9olu0W~V4)>s?;{}Q z@%?+Bg02Ag2$Tb5`n&+dv0=uGaQ80|d3}0V8|d&*9V0Wf{Y<0 zp3Xq4L(*c9#3RTAcDxco9}lzlS;V7eC0RjnFjWTg!1`cz53Q1O(BBD)4Q^&~ZRkp_ zhuXKqfMkHo42YkaVQ3IsqNnL4%c^K)2%SYKD9tx5dv0;LdJtLsczahbRBhD{Mmib9 zUMzHh)-?I`Z{GC_zWy=*M&Q}sdabv&9Jh8RYiVjQ-~*6JLTdWI(808Z5mmt;FSjL$ zQGl)0s0zn4bjK8WcmZQ7kKx5-=LHaLoaET1$D2Be*eV^T||(q zreS)f0r_JaWdOb4IW#LO!4uHxUvUN5SOWl{i7o(u95-;S?EnDlt6%%Zi}mv*0k94K zd=crr2|siGn_D;+3r8v6mhoSqao~W3`8lTjd=fNG4}(ga6h-z}2?RvR^&DPXTq!Nf z!N43^)U;l!PI8WO7w)^9j>jM?3|2!90I&gofk#v!_K5-T#joG?vN`%90q{xiGDPdE zwqy55yvTJIx~P9(kitk`6~eYjFZ+wC6kY>dKOiF?JcFtJ{ax3jlm(Wv}W1fM093-}@i0xZ}SRfK)QU+Q_wV z;GR@G!S(g_c|F~oWm!>Inhk9Qtb9Le_}Dzt*b`G8oH1gtu*UI11Cv(+f=Vlv%Zs8Y z=o<(6eW@#;MB1`Bs)OMj_96r+^XUEqubQJT3V;m60$8aJli1sOI=kFAY1M8Nl-tjbfmOQ|u)~&DY#D|E0w7<0seK$CnI%KZ+P+Fy@w2VSQBnM zmS`6B+s@E)AfP8e%wprA-a?)xhpv#Nd5?~i2~Ge0FJMB!+x|;of!}xYpWj!`yqCG5 z>%GtBx0{{#gTKTrUdHK=@x|o#8?}sCtJK$KvKa{W9`l`UGG}#o@MWHc%Q+bp(=)5y zhQDtM;Q3Jdvugjn_5Cs|qD3Eke1ltL4kZ0}eE#9yzu$k)cS>lFyv(yu%7IyN-F0S1 z76GZcr7TJ^p9+rWh-!nLFW=vVn%})$6@9OO?MxC%GH?|e75zGbVHM&f!4(k}J7&TlI7`Mc* z8@Qcd65)^EC1fJyB;-*1qfvn20Go&D8^#6C^bfd6$S(M%;=vTq+s~u0muC`(G(*CD zj*S9a7`)yoI|VhU9)8Xs#&L^5%suek8h!=_4aO@x7aqCX5>a?FVYb+Jp|gxCjKE+= z0|yu#ZtM(O(tpc1`xTP~4}%KBJ;5XVo@WJZ-2TkC^NhLS9`BcP!YeXeK`GK0?CXyTek?i& zNL`B{kO8piQR`P#)ys9p>uuW>zB+v&%mSbwP8k8z5WE0T^c+=LftFVUz^m>4?!H$h zw}6=S&nL_%06+vxlt2W;0l+n44Bg!s@<1);0C@hNj{ryaX!UUo0P5Wz%Mb;=0BjJv z0AQ7Y+*uK65c0LqmkY=@io7Z_X%8W9h2R7L>C7aXD}x!E^I8as9me)dBhEDdj7I${ z$HTF{-EUU!K}LYg#cwhbOL}?paXC^oW$6@J!Rk}|Hc3?)g69c@7Ik1_yz#- zrH9}xU$O!4{t?;%6uS2yh=9SUPZWd%@OVFJyZ~loK3RDH5dy$tl4G>9$dCYJut4E}pq(tu*byGU zt3C?=b=>a?AxA*Y0l6381t3x%2c$X@-2Ys_0wImrpcOz~4@hK1NT(#JH9-de@vjQI z?6T}~Utmz8OC&Z$CIh0~88RtMes2&10Rt$C-C>jRWX=c7DMvRF^9d0O2vMIA!UC{0 z9Q`RVR|u*R(Vr9a0iYTb{Yg4H+zGNS4L+l9)o?HvOblb9({w2q0nmt6 zGWsY+%fJ+ZHUP~6$_aohTb%$fsOm%j=vS@)vE}e<#|ocQ9ioU09MKCt9m_P z3xX>EJ%7z_h7iK&%ZQ)i(*RbY_qzuO(b%+3aJ?%i0Z`fM{Ko`9NCDt220<1;vsf(l zZf|d`RfQmHo@(TtDn15E%^K={PS;E;P#hZGq< zv;d?eNxl)w`uxdHSJ+_9!b+hxz8fzrfaIFz_kL3V)Oq}X00873`-F&If?Cf26MVqz0cZKFRW;LW(3H z72;e0^hi`>&J8;2%G|2rRs{|@mod8jf6kOl!~0tY}&A^?XU4q@ZT22?6) z0HPTXkay~Maji&`Bg*K%QQ%|-h&rNFf2xLqzXqTpxQ0R0Z3C& z`LPmS|9vfG?7KJb;PaoK;q>$rGdaE2>2zR!e;*DG4(Pio0Jwi>5{SOg29O3pbrvM| z`L}Q0!s}mOPqexI=New^zk>G%?{P^f0YLr3;ZPVYqr;Fb04T@D$FR4zN3SC3ygjj*h6~<#IU}01ECZtyT-p&d%lwAWMnh zeyWmsy$+qDPMqcalAj9zcM3_7N`6)Wq)296dUJC_b>UdPp85|& z0HVr}%KG{`wA*c{)oQs)hNB^rzb{YXOw5q@EOBQZ{agSF5aRQ}6o4NHfI~R|D8bLc zy@O=f{vZ8m01uDR=L;a&@6qa`P&5NxJbys}s0!`~k)uKY>=C+&^HKn06{npIRA&H6 z@GOA-X+Ir+rRZA)z#u@%mdHxqikRqs6xOxpz~V?>YMdR=SlLTNiQi}(u4c6zLZTe&MN`XgaAnp2p~Sc zM}J3v^h%O_AAp8f2apFL2ZW9U0)5t;*8-pe!IoZGvGy}L8^*f&E%Mv}=oo9V<+^a* z7=R6fZOTl3ExxD_X7>LA^MtYR|1>2WV8&~D;Q%bUECDP5eB%KA2XS@~)y>XDYDL{bb!cte^ zwa2SeHoEy&7#?|I>@9F##NbT5dD*IfcPkgo-ES_NdtoI*kh1k|#u8?m)pF5Q`k~v6 z8DiM8(}9K|KnA0S=-P!Pj7yk6V(&M~dNP!}iMscjal_ZP?UNE4zD!{KB7NY+gT?6} zw;+M1Jb1v9#0$b3@gLwt#Dj=CLBgX% zBI0UC$Pz*r;s_gzHRdY6>SMOIyQjOVr)L^lzvNfdvormx@9)!f^-d1~i&07;6jRAJ zEJuVB%weA)L&t;>h!6s#Q2iuKXb^7jq_W0v(G!4m~b#o`@CE-=TjLIx9mL1Oadf%asjEq}g^7A#4%_a30Gw zQ7aG0P9T6S5`Y9C0fYvifSyOMM4Xrc`VKVNYygkYFJsVsk*2Sb1E8-|vziUyA_n|B zhKEWnV7a>40M25-^-u(vDb}mdS@%dpoJ`Y=0l0znc=Rbzi-`(ANZ*P7nW zq3=x_VAN78mSav`{s4@3DRIk|Vt|N1@U+VTLJk25zzcx23$-5}_+EC0e{^cAh1J<= zyQUB{IssT;SpwgFHK+PK4%#KDJ-4#sp#> zIFt9)=rSj`128?N2fp`aJ}8PZAb6!xfjJXzJ0Y+y$`rk(u{4y2uY?y5PYEWkTSwPM zi2b+>q@1h9tj_ez$^kWU0Z{q_r&1}1$Kw!-#q@T|Whj+Okk99x4OjuhTjANuUidir zdLRI8UlzgisjWatz3u=Yphiys6$8MeeyS}kEs#tmA(7B;6^g|o6bc3C>+92w2Xr;_ zs<0uTB!MPp!1JC5fdEYFoDHP#6iB6@cU?2KC3)8EnJyuXA^;fCbULjOZg1CbxU$)- zMmCqrX~E}BzUu^F_NFk*9Jek2?!2C>B`u^;0`LN0&H)nx4gu>p4I6-c4iFszZ+CF6 z0%oH@CK&5d6E*<1t*wYgu4NG18xUS%w3TECz|aizJh>Gp@6MSE0Dh@><$rTQ2xl1t zTSKH3VEjS%O@>RCsv7IAiB{-&QQtDy*@5jBd)@E!>eUF1+zK-Q@nHZXRzQz>IuL-) z%m#q(R{%;so$G%X8hrtn4X}#f*di%>sXqZr*b}QXj{%Hlq=?IT+Ey61!AcT>ZG{V3 z8(?mQU3DpX8ziB(K@DAO$q4m!*nVT0004ONkle+W z0fgy&^smFqNWk0nBpHZ74Y)~f6+OmK8+3p$y=`>CKn)5&sq}e<6rgPS3_}!9BRy(R z0Sc#=hD<=c+b;o8LmE&ey)?jp+P7ZqC;`?X!j=3zWvfQPv; z_;K;8^Id86ZLC9;cRqCf&Q8w2Rs9C8YgMQ=Yj-~etwIun8~`u*kY-LNz4v}D*5Tf~ zJMF{h3lBm9f;d1(@ZpDSgkHS6T!=n5m?0D79eSNqGP$*WGDM%X7^qU*$w2>bwy zK3~$9JdMzIT|giR0}LYhPz2=we)1z^U^6;03a^*d_xU&opZ3epXf>ck228vNC;%^> zJeq>VmrIENIQ((|e=g7NzEB2`pr+44z;*@g0Q4x271(2H1;8XvkLaE~ehR<;p24j@ zzJEaG4bu}-@csNJdIZ^pARR!k_L;Y=h!8F#CW3N+(EBwj1jZNI0F>5@%$Ak}0938W zYHf)F;JH6*EKeDL&@dI*3X%(enWdn(BiGPXf@ow=uI4}SJ002ovPDHLkV1hW4NWTC8 literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/DIce.png b/splits/GTA3/icons/DIce.png new file mode 100644 index 0000000000000000000000000000000000000000..15153e0c098afdb26fb4f34822f74ddb37a9c0f3 GIT binary patch literal 894 zcmV-^1A+XBP)0009;NklLi2*{~L3;*zp;hyQ}19u+DGM@8`46=YKNYL*rH_lM18)seo#PR6sR?9D%n_UoDr* zUrc(vUZ>N+t}j2&^%Z#c>@}9a<>--qzfS^xekGH^@^kOIMgkw6pZKiX^oZj)IE-_U zuMsQ|NlzQ6(`lfCOpO46NO~MIpU=^7U6&Q$9P;`6r|y|-0TFs+Hk;Av_4PISf#v2L zu-vN#FYx~OjW|7xMc5MQus@9rfiU{TVnGMcox=`9hBrnjbl4C$dGsRexWHl5-z)Br zxJHCPHk%E532;Zoa!62PL*V7TCy^&?qf>0#h9_<|ESt@yG=~@hVdxw^R*S_VxU1Ew z1cwcQiOinxQO0*O1QDQpQk=qr$*gUZsPh=bMwi8!b)?)naB*J`yJEa4iNdI55vJ3g1o zQ70I}wMvZySbA{>_0Iq`Fs*<9H0WO995fXmdb;*RPj!IFWWqVS*KfSkOVuT!^K&EUVFIpg{ukosDn~dI@m!rWYz>&Y7_H zk}d)qJyIwXieBIV=$RMSbqLZ;;X{#}PPG%jg*Tb7&wy>)hF8C#2O6FBb$X$l0Iq$09c~mF3mjD0& literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/DonaldLove.png b/splits/GTA3/icons/DonaldLove.png new file mode 100644 index 0000000000000000000000000000000000000000..5b9e4a2e106becb767882da1fe3718bc7e6d336b GIT binary patch literal 419 zcmV;U0bKrxP)0004MNklUCP zw0=#8#CFf@9tJsj3V;ASubl53jN<~z?9Urcz;w+h=>o84-;{(gz5?pmXNxR6=lqcK zGF$;=_WSKH9I#y7+a)D~WN-p-W#5$47$ie7Ks&?VkQiVYWP=Dmh(QW~Y!C#X8Ds$n z262Fz0UqFBkO(k7n;;(0W#9+c(@r%Ae#cE<2GqV>CEh1lFGd2ur|hc?ubp)Hi+%;@ zkLGs0xE(_ckpX4)#bjpJ`?R*}n-#m! z4LoW9JnRv5+=kJRX5h&h!U1td&J6m{-;WGY$1bgbF=7wC$_@pjju%mMbFPqGSl9pn N002ovPDHLkV1gkssC57U literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/EightBall.png b/splits/GTA3/icons/EightBall.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7f42b0a6883a1095da94798d9c823eaf3761a3 GIT binary patch literal 614 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 literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/ImportExport.png b/splits/GTA3/icons/ImportExport.png new file mode 100644 index 0000000000000000000000000000000000000000..b05f6098d0d616a0afe1b0ec9af8c31e936f6ea1 GIT binary patch literal 687 zcmV;g0#N;lP)7xV5CC9DqLMAOQic|Zx8P;ctwWv!@gx}-K=4#dNOWPS6iZE&=7&%SPD0>(=hVIq z1r)`1Uu?(0cxjq4o5OPe4!{9W=U@ha=Xun*bcT+L1quM2V3yPRc;0vL%1sA279Skn zZge3G1wb1D^c=7T&M&CF2SEY?6kh;97TJbL3eZrzj%e&rWB`c8I{+gA zkP*xTXhE=J5^O=R=Qh}YU?0F4!v9?gV~5s_5mTbN2v~U;2XJ>GclO?10Jn^n1Ggn$ZA6`#M(0m6^)bX>HEv;bVR5k*%BXaM!`7=|I6&1R?L=JRXaSW-r_4d|A-a`fgZVywm z(;9eRI34HkaqxF`w=!#B&A7q!Ydi0M)w`!Yz5aGg-27#avKc=xe5gBh zFL#?Z1INejo8P?sx5Q0@dqJnUQvvIR(z|QYYwxe;S2%Ki-R{Wqe8-RTGXm`;0({^$ zFzRDiAjRPN=M$q_TVN@}5#0qw_rwp_GasL5Imc?BMnlnK_0I3i3p)Cv9X$UqEVvOA zVo`9Vh5ylB29Nzl41A9mBe)z^{cvUAd6doMA^ToR!F`W+gMgf#`yTCvlOI|>9%W4W zl2Y-gLb#zrVdu#g5^{Qpdn6lPrgB|pj8H!EqUT{%Lq|g4%*AgR!U`C!@O@y-EZ-X6 S0004gNkl=%d*@%-JIqB2ETq{pvm1VYQ=T3`+HiBg!;@#**lVI|WP8lnDS|mh06L z>vgU#!wkRaJ!-Bd3qa#{IxetYo9*@GM+5MyxtikvXz57|f$7r)U`($FATW9200a;J z(6XiiAU6Ce0FvqD0ff^R06&0ydPx8Ph4dN#ynkDY04l>T2Jmju>16?=Cr=Up6VnR< z=%kkd(3w0^0GjFf0h&+E^vnRn=B~E30j8yo0Kl7G8-P81JOHNjssIwhUjRlkmj`&x=+mmg!WTlngD h_qNnak5g^t0iGKZ=dL#oAj<#%002ovPDHLkV1l2Cx=jE8 literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/KingCourtney.png b/splits/GTA3/icons/KingCourtney.png new file mode 100644 index 0000000000000000000000000000000000000000..ad51e0501b461ad84e1e1305927b9dbb51fd0748 GIT binary patch literal 899 zcmV-}1AP36P)0009@Nklm%nwH;hCYenBOpUlw2qXfDKq8O`s1SJa{QhFG z_|2r#>9krce02QotGNPCUp&ATxEwvw?RH7v@2{j%*nWKb#UO!$SC4(xO?sr?@8dMi zLA^$>fRLUJP9~E;2bCHD0z!J6Gn>uOa9x)b;2g5q?9rRgss&`|k?C|wyX|%xVGQl z5W9vzAe~N!Jp{NjBRRyVu_kc);Z5NeHqj}LRa8@Ba&U714!fiQHA9=nA?0o;{J zMS;Vbz>T|C{kCn}LiFKqNYF(8{pc4CUcP=Y?FHP}mP)0aI)n;r3Faan+HU~s+u=_- zL8Sx#91uDP=@mOf7Qj3sq*v(>uoe<)SgTapgu3dHE3v$QDVV6;Fi4*H9`z608OdwXYC(ls*u0^~qf zd?u5jL9nE2l?Dm0^zsh+?*VFHSpflP(6z)l7%D*Y)b~VBb%61B%sH4Sz|l7v4LVLm zZ_Z)Me<<3X#4LTY*`%3txm;2mZ8RE5I_OyovGlfW*J?F1NPyn65zfIZ0ggWBh02&S zChWCjiU3ECcw?kv@rYg@E03Ba0m-AkV#Uk2t0-(|Ht``y@2U7&_ zf?8b#(CGEB5#Z{Xhp#^wCxDL6F=6ik$8jvLenU4j2JPg1EAaPp3ZU<^t8lYWuh;YG z;q&7|XklEZfVEmdAnbFX@5QIb_VjpYr~ra-@R!q;cN5Fg8zI1jrN`nl?9$gSfaaz{ zRC*l(;NCCz^sEE@r>H5zw7PKzGi) Zz#naV$F4xckKq6S002ovPDHLkV1kJku$TY< literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/LuigiGoterelli.png b/splits/GTA3/icons/LuigiGoterelli.png new file mode 100644 index 0000000000000000000000000000000000000000..f61562fd1d9a9bc405cd16ac4cd035aaac88365e GIT binary patch literal 290 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 literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/RCToyz.png b/splits/GTA3/icons/RCToyz.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5d4b0f9e625ac622e1c4aa7d2e53e74c8fd495 GIT binary patch literal 4794 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 UtYbDqrT_o{07*qoM6N<$f?8!5VgLXD literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/RampageIII.png b/splits/GTA3/icons/RampageIII.png new file mode 100644 index 0000000000000000000000000000000000000000..a96b38cf5eb1c8653edd96e3a91d4541c437220a GIT binary patch literal 6362 zcmV<07$xV4P)tLoPu-f(-Lb6=%hu5P6=kY1~O@Ke8jz2TmH&)H|6 zbMN=?|NQVa_W(Bc@ize8?*~pf`rmCnNf22dF>)M10Qf$Nrh!sAh-STtIBH_~Q&+t& zW835p5rYd+6_$pk2$7lq)`W->4~aEMEr;M4_+HFc1A%A3Ghi%#k8ALf29`c?*(Mw3 zCb_W~ozSq@%h5I;vt&!Q+slb_jq9{d*}K?rRVzHK0HBfc82 zjX{_+!JAKhd!vqdquxvmk4z5Dlx74u8coajvexR~eNP_8-)XeGrJbB<{?1`UKD~n1 zTFyLCLCz)wBB3|L^c()p_r6JC;|PcvSoZigH_F&I8URy1b*YVmGGbHGA=64olzU>J z;p~gG^a_DO-h1Nu^a^XleEE;(r74VYqw*LYh8`jpWS8<~8AcvI_fV=2W9?%XZt(aw z_y$uCyGW-u4qA~0CC*hIF+ISS81^FZeGc4nFFsD3!oqokd`5HlhB4184MEe-#Bd#) z;h7RbMz8`#??IH>>ot@HJF)bI4I|49x>$_&IlE1thI8gYhfQSAsZkFQqjUz50pPiC z(9kfRdpf7qQ_qmFNV6e%ko#)nWZu9FoR`QYyuQSb%IOHA;V!&0|GVpL$9i8V#>>E( zegO$*UKn0onKSNXMvBo!3`FXTm&eK9tWKu$0{K*D*s7b0yL-m{(X(#WjdFzp&{*dk z3BxN-PACxQ=3oz2J%8PL*|J_2iSZ%HsFoXtnnwVHyk!1qe3**s%Y2fn;AU3<@kiZW zLV*8xo|{cEN6t;@_SQ=?_jhFJdCnV*c!wP&O{0O)AS$WvQ9tAnR!5KybYab+?~K`= zF<&6Y2aOtN;CVlK|>*q_bxps_L8sg z0dfQ;Oa>9gT^Oo&qO$Pr_hj3924LzZ&bLuW<7LMA*hu_VV_$sTF}P<11bPDBH{&LX zVqlZrFfxMOKfD{ZnLGjQakX9kY56X^r9poz?OQ00l}Q1@;T(a@)$;~{|_40?je$>-*yN)PgjC4>x*i0_;966$O<+DKUO`c%l0d=T*WkoV6=BQW(r ztbP8kYlQa%zy}XJ#SVuP&>s*04l-owaYYMnkjM}cO>1d37!#1Zh6b@sYYPtlr292Wk534Zq2(^#@%6@l^4 z($=BC$Mkz`&bs?yC zWA)2_IW_)O049I*R9g>PP!HP?1UXGfqVOcYCz{SkRAL~*pv+$bmcG*_j>pAkpN6eE z+A-KaOk;~mVsXNmH&WCjDr8jl3YU;j;boFoWihjWk{`V(Utl)zapyzxFz@MSVOrY> zP^h4ZKCl{dzVcG4HHgtMmd!ANW+&Fp|K5fHFmb=rZIi|~f_4|z0st9bW}S(P5y7la zq3(+-Q=gYvx*mVjq4?ZE9|x*co=d{Az8aX)bHHmoUy`2#09HsW)J%|Q0VOQsgp>3T zB2f~BJf2>-7(c%MVf01}vtm)>U${nvHUYF&(r2K>lJph|KCc{Jimn%L*+37Nb+WCO zKS0*c>&b$;VQHF*>-#Ky6VdDjCFXL|sGd@j78_A+6Nv?2T55uDliRNHYLq4lB7j90($)w}YlQwNduzlHAC9$Y^Frheoo8?|hOn$J>~)t;Lt8FH-i z6wBblqVz9x(CP31?EhO3`^A=?1GV_S>%m&g|@KHyr83Be?qI1#R z>j%K(y^ganHGj>c0o45BZe|n!UYXF{sqH!^X=R2aYs-9lP*UK4loB6>5@R^t^uW*Z~+n^E8`=ZQA1lC9ouVO@lTA zfT+i!$T*OKhyc2L*cil_Upby+*udit%*D$uKaDD9!J|l-F=KCh<-~Jvz;ycC;K>Mt-Nv^`Uo~9T<*jv}Sk~C$s<~NK{ zd0>$lAgy%agrh%=%Ic+OlTURj+x8TYf=3qt7Fig2!t4Gx%Iv&?ak__MgU>Po* zWrkHgts!M-4lMrB*a2vr^)(WFQEPFb70-zH&FXV6RmA0?zE3R>)zL<;4r+baXU2|r z>$Mm0``a-&_ZXVPD`-sB#kpXY zO2(gntFE{mpFaEuboVqE20(ZJa$I};C3yD92U!9Kh#OK&(L+dTK{yWQUwAoY%=`qd zy#7|K=&z{<2!Vn`XR-;A94!Du0s!@iG+w+|0H9Aa`q2N%562EbX|LH~!`=7&05{FK zjG@%j*_0-z@$*b~7TfK-KW2aPU-9^Jui?>W7N9(SOVk2B`rAoRmv|xPz*!$~NQeeW|Dn*P3LEP6Sh}FeS0f6K1nQ{n3GT4W$JKFGx zeP`j3pL`E%-g!aqV(4lV~#lkv(LYXX89M;u_BzGZ{T5x&l-``Wnl?a<>i@)e+K}*Qd`>)Jm?1#bclOCAVg93c z;*tArWULZ2il3OGW{dG3zD>W?4}_>&$G z6M&EagpeL30a&meB-p;sKiJsFau?l~SV{zIpFcI)_>fm31qq9rKvsd6)3+YiflJOk z2SKA7-@p1|ELijsACjZ-Q*g}D$Klv79IG1to_p_S`s+YfR~Kf^oQZw+-W_khy#x$Ee`*VTva?ryyB z!t+?Zayh1KxfKpPVtT*o)3qGm z@c-H*{j2?ewwWi{hBrZpPZl(c9lc1D2y3o{gDq17HfqRAKagc=8}slb=bnK*cbbO5 z{t<1Hwd8Xwb^wBWZ`pawW#~2B2e> z05C-hA)#!4be&E+z)}p6$*BRNC_<6pVwz2i^!DSJ!w$h&r+yKQD)X>RP{Qi2PT@nL z^W)oYK`TAtn9qL>zkcpny!zT}_!47%+o>NS0S@V!KpOI11(F%Bz46w2@bf2si4Inj zBh5&c+o^PPLB_MWZ0W7ZbDK`Cr!6GL0&*;da&{@YUb$!e%3%$IS*LOS+URm58k1N?>*d+dQD4nGjP?6@5UyZg~r3^kL8PA||SDwPUV zZAr;gv_gTYvKC3-oGF!mf8~uOcyZyYnE&zu0zxGC8X95dD3v(-k@gzt^V%1HC&mjn zj5z{e;yen;AVGKwor~|=002JvWgDlhG_uu^pj2Pda7cxS$iy=H(#;XI7}G&a38j4ZN>R#pN%~}yfYf)f`YWujj!S4`+*8;iTgamW28C)pN2ER3-X)<~~X`it}cl31>DzCIZ(eW#CbpGfN3x2Y z3QvkC*-Io1*W!+Q?!~e-U5ty8cAbS*tnX)AY25A-f7A;DSru~aIZF<)5z}I9(Bd)s zuwEEk^luvufE=y+o@Yf73f+mlChO|zE)KZJ5E=GZMU6uY6gQFepyykcuvH%vr4Psy#NRa@M${^t>hSeRb8 zLS|ogm5p|R-HwvfEAV**w?|3#6|y8Qm>vwg_=AnRJiZPDhJuvBvJ@q2dTDC@d!L_; zwJenpMyc%nXtGk2%mH0Q)wQ9-?Hm(hM9tNx>cqH!HAO;InQC)GmcB!6!8IER^L+sh zWw%FA7leEX3z-CFr?jj+3Xhdv-tT55*^izVZ{IWkl=uFs0w8+ZQiTDzY-vi`)2?SA zt2|a36Sl6}Ajr$Ib*$?OvO=WYWf~GCu@YP$?QH@Or*&Nzk$nfvhGY_fEYNnG$vjQs z-e@-}aR89@4FT|Vzd|2E(}})?w{Ds(GNVUnkCO=k2?s5i3kGiIm-Mo1q%KY^3YmJB zHN18E1+|}!Z09FN%jzt2%;;igHrv*n=&taQ1%P@;DhsSUK`OyOUXrK0UV2Cq-M_hc z(*htz$DXI#)V6R2%Sw!DR65!(j9tIpb7|4-@pIc=bxRm*wsX{E?R5u2q5#-z&yfoo zFWXJ-rS7M8r#-jJOl~E$iR@Ph?GWEr(fj&sn{JobpC7HeoM{uUl`LFPIjc7m0@Rue z>$u@h>cbH1Ii)kOjIS*lTuwP)V04fBU!g>s;n;nxWyomW~>a+M`=ESf#2RU zW_vbxuW;)O>I1KY$aCA`jp~6UV{EtS!R4$`@3$E=?rpZHm4$-IR(suQk2kutR!{P^ z(zDs(oNz%%075gMt(nTJH?5Z~8)dh6VV6s+Tb_oSebve0-cG&gmf6vLzJC%HE^S(k zbf?+3_A zQn+qsI5K!VWjI$pyY_dI?S~h(&%3s}Zn;a>Es-aq9+GXk7L;V&&u7-CzcKdhv6}<{ zIf~QIw^o{{(vy=OqUUx98_#Cn8*t`mwveqdLY7{lRh%ciJ?3=jHoI;0Zs&={yHuM- z3dl&mOyT*`32Gww?bVzA`vU*d5zM&EN*hd;%~aG#?l%59@=CQSk~-0p$!E7oDsY@2 z^gha}asji0(KwMslZdl^?M55-CjHWs01?N%5V0hh-q-Ck;kqwDKsy626QoAEIZdr8 zd;v&Tf2Epi@@kgQEN=SVc<%z|{{#SkdbI3zo~<ycR#mVyYf3eORf=mcisd)Pl{r39zbxeQz=IG`gz~(;w2EgVX cz~(;w3k^n&^~i>#WdHyG07*qoM6N<$g8b1q#Q*>R literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/RayMachowski.png b/splits/GTA3/icons/RayMachowski.png new file mode 100644 index 0000000000000000000000000000000000000000..3184ed5ab1df6dd063c24fc48a9062660c98e4de GIT binary patch literal 515 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU_9mN;uunK>+LN=zrzj!tQQJT zGHUGLba&XvctXU(M5a-A3D2U1j*C1Nv@i)?yj&nG^=pTNk=Zq+&5_dUZ8v{Q`JXT3 zdg{gdZdvOxp9m2ZC}@Rw1hJN}-`My5G&d$uJ{ z5nvXKU{Dde-?EX_P{5JbLAFWQQI^5H$%{eVDTg73!;$gT{a3j!yH;`?*m>XVNP71# z z>`*whX$E7LZbOk*|K$iqv8!iJGFK>6h)$g$$#g)Z?C9%HQ;+xvKS2p00i_>zopr0J&1i AyZ`_I literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/SalvatoreLeone.png b/splits/GTA3/icons/SalvatoreLeone.png new file mode 100644 index 0000000000000000000000000000000000000000..1597b4ae176a9c8d2e533a5ce68314f7665778c2 GIT binary patch literal 639 zcmV-_0)YLAP)2Hq^f(OK4wJi~90^y$wtpQPSdL$tHlcBW`f&`YACIsyLfK&99l5}k0mKOg?J^omwU=h=L2fVPzpk->gK7dTwu@-r|`D87Krrl)Ll5*0)f&HA5IRa1Hj$^ Z`~eMgUv93IxfTEb002ovPDHLkV1ji;1E2r^ literal 0 HcmV?d00001 diff --git a/splits/GTA3/icons/TonyCipriani.png b/splits/GTA3/icons/TonyCipriani.png new file mode 100644 index 0000000000000000000000000000000000000000..5737c531ac17802023d8675d07d60c2d4ff03c0f GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU}W=jaSW-r_4bw_AETp4`^US= zFXtQ-oYUN);i9M%!uOCvZ^1=Np_xfaDVv||t;|n5`u%G3oB!>eIoopmuDgFez7=Q` z1A}MyJ-w~(L$6gNaR?lnU%plSh5tpsT?20_P3Uvk$!WGqowQ6%%8e?s>In|(YEE*GBI?2|drP|Xzd WbanhcqvE9?qdZ;xT-G@yGywq6^=yLx literal 0 HcmV?d00001 From 78d48c73ddd0aabf9eb03747dba1813073dc7d6e Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Thu, 5 Feb 2026 18:29:33 +0100 Subject: [PATCH 10/13] test loading images from url --- splits/GTA3/GTA3 All Missions with icons.json | 148 +++++++++--------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/splits/GTA3/GTA3 All Missions with icons.json b/splits/GTA3/GTA3 All Missions with icons.json index fd4239e..1bd4320 100644 --- a/splits/GTA3/GTA3 All Missions with icons.json +++ b/splits/GTA3/GTA3 All Missions with icons.json @@ -3,297 +3,297 @@ "splits": [ { "title": "Luigi's Girls", - "icon": "~~path~~/LuigiGoterelli.png" + "icon": "https://tepiloxtl.net/KingCourtney.png" }, { "title": "Don't Spank Ma Bitch Up", - "icon": "~~path~~/LuigiGoterelli.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/LuigiGoterelli.png" }, { "title": "Drive Misty For Me", - "icon": "~~path~~/LuigiGoterelli.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/LuigiGoterelli.png" }, { "title": "The Crook @9-19", - "icon": "~~path~~/MartyChonks.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/MartyChonks.png" }, { "title": "The Thieves @9-19", - "icon": "~~path~~/MartyChonks.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/MartyChonks.png" }, { "title": "The Wife @9-19", - "icon": "~~path~~/MartyChonks.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/MartyChonks.png" }, { "title": "Her Lover @9-19", - "icon": "~~path~~/MartyChonks.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/MartyChonks.png" }, { "title": "Mike Lips Last Lunch @5-21", - "icon": "~~path~~/JoeyLeone.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" }, { "title": "Farewell \"Chunky\" Lee Chong", - "icon": "~~path~~/JoeyLeone.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" }, { "title": "Van Heist", - "icon": "~~path~~/JoeyLeone.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" }, { "title": "Cipriani's Chaffeur", - "icon": "~~path~~/JoeyLeone.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" }, { "title": "Taking Out the Laundry", - "icon": "~~path~~/TonyCipriani.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" }, { "title": "Dead Skunk in the Trunk", - "icon": "~~path~~/TonyCipriani.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" }, { "title": "Turismo", - "icon": "~~path~~/ElBurro.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/ElBurro.png" }, { "title": "The Getaway @6-14", - "icon": "~~path~~/JoeyLeone.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" }, { "title": "The Pick-Up", - "icon": "~~path~~/TonyCipriani.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" }, { "title": "Salvatore's Called a Meeting", - "icon": "~~path~~/TonyCipriani.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" }, { "title": "Chaperone", - "icon": "~~path~~/SalvatoreLeone.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/SalvatoreLeone.png" }, { "title": "Cutting the Grass", - "icon": "~~path~~/SalvatoreLeone.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/SalvatoreLeone.png" }, { "title": "Triads and Tribulations", - "icon": "~~path~~/TonyCipriani.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" }, { "title": "Pump-Action Pimp", - "icon": "~~path~~/LuigiGoterelli.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/LuigiGoterelli.png" }, { "title": "Diablo Destruction", - "icon": "~~path~~/RCToyz.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RCToyz.png" }, { "title": "I Scream, You Scream", - "icon": "~~path~~/ElBurro.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/ElBurro.png" }, { "title": "The Fuzz Ball", - "icon": "~~path~~/LuigiGoterelli.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/LuigiGoterelli.png" }, { "title": "Trial by Fire", - "icon": "~~path~~/ElBurro.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/ElBurro.png" }, { "title": "Big N' Veiny", - "icon": "~~path~~/ElBurro.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/ElBurro.png" }, { "title": "Mafia Massacre", - "icon": "~~path~~/RCToyz.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RCToyz.png" }, { "title": "Blow Fish", - "icon": "~~path~~/TonyCipriani.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" }, { "title": "Patriot Playground", - "icon": "~~path~~/13 TaxiDriver.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/13 TaxiDriver.png" }, { "title": "Bomb Da Base: Act I", - "icon": "~~path~~/SalvatoreLeone.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/SalvatoreLeone.png" }, { "title": "Bomb Da Base: Act II", - "icon": "~~path~~/EightBall.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/EightBall.png" }, { "title": "Last Requests", - "icon": "~~path~~/SalvatoreLeone.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/SalvatoreLeone.png" }, { "title": "Sayonara Salvatore", - "icon": "~~path~~/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Under Surveillance", - "icon": "~~path~~/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Bling-Bling Scramble", - "icon": "~~path~~/KingCourtney.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KingCourtney.png" }, { "title": "Paparazzi Purge", - "icon": "~~path~~/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Payday for Ray", - "icon": "~~path~~/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Silence the Sneak", - "icon": "~~path~~/RayMachowski.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" }, { "title": "Two-Faced Tanner", - "icon": "~~path~~/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Kanbu Bust-Out", - "icon": "~~path~~/KenjiKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" }, { "title": "Grand Theft Auto", - "icon": "~~path~~/KenjiKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" }, { "title": "Uzi Rider", - "icon": "~~path~~/KingCourtney.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KingCourtney.png" }, { "title": "Multistorey Mayhem", - "icon": "~~path~~/13 TaxiDriver.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/13 TaxiDriver.png" }, { "title": "Casino Calamity", - "icon": "~~path~~/RCToyz.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RCToyz.png" }, { "title": "Deal Steal", - "icon": "~~path~~/KenjiKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" }, { "title": "Shima", - "icon": "~~path~~/KenjiKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" }, { "title": "Smack Down", - "icon": "~~path~~/KenjiKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" }, { "title": "A Ride in the Park", - "icon": "~~path~~/13 TaxiDriver.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/13 TaxiDriver.png" }, { "title": "Arms Shortage", - "icon": "~~path~~/RayMachowski.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" }, { "title": "Evidence Dash", - "icon": "~~path~~/RayMachowski.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" }, { "title": "Liberator", - "icon": "~~path~~/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" }, { "title": "Waka-Gashira Wipeout", - "icon": "~~path~~/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" }, { "title": "Gone Fishing", - "icon": "~~path~~/RayMachowski.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" }, { "title": "Gangcar Round-Up", - "icon": "~~path~~/KingCourtney.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KingCourtney.png" }, { "title": "Plaster Blaster", - "icon": "~~path~~/RayMachowski.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" }, { "title": "Kingdom Come", - "icon": "~~path~~/KingCourtney.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KingCourtney.png" }, { "title": "A Drop in the Ocean", - "icon": "~~path~~/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" }, { "title": "Grand Theft Aero", - "icon": "~~path~~/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" }, { "title": "Escort Service", - "icon": "~~path~~/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" }, { "title": "Uzi Money", - "icon": "~~path~~/DIce.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" }, { "title": "Toyminator", - "icon": "~~path~~/DIce.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" }, { "title": "Rumpo Rampage", - "icon": "~~path~~/RCToyz.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RCToyz.png" }, { "title": "Rigged to Blow", - "icon": "~~path~~/DIce.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" }, { "title": "Bullion Run", - "icon": "~~path~~/DIce.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" }, { "title": "Bait", - "icon": "~~path~~/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Espresso-2-Go!", - "icon": "~~path~~/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Decoy", - "icon": "~~path~~/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" }, { "title": "S.A.M.", - "icon": "~~path~~/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Marked Man", - "icon": "~~path~~/RayMachowski.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" }, { "title": "Love's Disappearence", - "icon": "~~path~~/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" }, { "title": "The Exchange", - "icon": "~~path~~/CatalinaIII.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/CatalinaIII.png" }, { "title": "Rumble", - "icon": "~~path~~/DIce.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" }, { "title": "Gripped!", - "icon": "~~path~~/13 TaxiDriver.png" + "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/13 TaxiDriver.png" } ], "width": 450, "height": 742 -} \ No newline at end of file +} From 7ae63cde8ff42bfbb89145edf6b25536b3ea7190 Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Sun, 8 Feb 2026 10:20:50 +0100 Subject: [PATCH 11/13] Updated to correct URLs after merging changes --- splits/GTA3/GTA3 All Missions with icons.json | 148 +++++++++--------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/splits/GTA3/GTA3 All Missions with icons.json b/splits/GTA3/GTA3 All Missions with icons.json index 1bd4320..4ce6578 100644 --- a/splits/GTA3/GTA3 All Missions with icons.json +++ b/splits/GTA3/GTA3 All Missions with icons.json @@ -3,297 +3,297 @@ "splits": [ { "title": "Luigi's Girls", - "icon": "https://tepiloxtl.net/KingCourtney.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/LuigiGoterelli.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/LuigiGoterelli.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/MartyChonks.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/MartyChonks.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/MartyChonks.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/MartyChonks.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/JoeyLeone.png" }, { "title": "Van Heist", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/JoeyLeone.png" }, { "title": "Turismo", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/ElBurro.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/JoeyLeone.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/TonyCipriani.png" }, { "title": "Chaperone", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/SalvatoreLeone.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/SalvatoreLeone.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/LuigiGoterelli.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/LuigiGoterelli.png" }, { "title": "Diablo Destruction", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RCToyz.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/ElBurro.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/LuigiGoterelli.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/ElBurro.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/ElBurro.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/ElBurro.png" }, { "title": "Mafia Massacre", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RCToyz.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RCToyz.png" }, { "title": "Blow Fish", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/TonyCipriani.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/TonyCipriani.png" }, { "title": "Patriot Playground", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/13 TaxiDriver.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/SalvatoreLeone.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/EightBall.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/EightBall.png" }, { "title": "Last Requests", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/SalvatoreLeone.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/SalvatoreLeone.png" }, { "title": "Sayonara Salvatore", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Under Surveillance", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KingCourtney.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KingCourtney.png" }, { "title": "Paparazzi Purge", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KenjiKasen.png" }, { "title": "Uzi Rider", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KingCourtney.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KingCourtney.png" }, { "title": "Multistorey Mayhem", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/13 TaxiDriver.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RCToyz.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RCToyz.png" }, { "title": "Deal Steal", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KenjiKasen.png" }, { "title": "Shima", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KenjiKasen.png" }, { "title": "Smack Down", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KenjiKasen.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/13 TaxiDriver.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RayMachowski.png" }, { "title": "Evidence Dash", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RayMachowski.png" }, { "title": "Liberator", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" }, { "title": "Gone Fishing", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KingCourtney.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/KingCourtney.png" }, { "title": "Plaster Blaster", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/RayMachowski.png" }, { "title": "Kingdom Come", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/KingCourtney.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" }, { "title": "Escort Service", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" }, { "title": "Uzi Money", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" }, { "title": "Toyminator", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" }, { "title": "Rumpo Rampage", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RCToyz.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" }, { "title": "Bullion Run", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" }, { "title": "Bait", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Decoy", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/AsukaKasen.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/AsukaKasen.png" }, { "title": "Marked Man", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/RayMachowski.png" + "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/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DonaldLove.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DonaldLove.png" }, { "title": "The Exchange", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/CatalinaIII.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/CatalinaIII.png" }, { "title": "Rumble", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/DIce.png" + "icon": "https://raw.githubusercontent.com/LibreSplit/LibreSplit-resources/refs/heads/main/splits/GTA3/icons/DIce.png" }, { "title": "Gripped!", - "icon": "https://raw.githubusercontent.com/tepiloxtl/LibreSplit-resources/refs/heads/gta3/splits/GTA3/icons/13 TaxiDriver.png" + "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 From 72373f3d54ebdcad48f109920d260512d1d109df Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Mon, 9 Feb 2026 22:52:05 +0100 Subject: [PATCH 12/13] Updated attributions and readmes --- auto-splitters/GTA3/README.md | 6 ++++++ auto-splitters/GTA3/gta3.lua | 3 +++ splits/GTA3/README.md | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 auto-splitters/GTA3/README.md diff --git a/auto-splitters/GTA3/README.md b/auto-splitters/GTA3/README.md new file mode 100644 index 0000000..9eb00e5 --- /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 \ No newline at end of file diff --git a/auto-splitters/GTA3/gta3.lua b/auto-splitters/GTA3/gta3.lua index 7b65efc..0790946 100644 --- a/auto-splitters/GTA3/gta3.lua +++ b/auto-splitters/GTA3/gta3.lua @@ -1,3 +1,6 @@ +-- GTA3 Autosplitter for Libresplit +-- Original code by: zoton2, iguaan, hoxi +-- Libresplit lua port: Tepiloxtl process("gta3.exe") local enable = {} diff --git a/splits/GTA3/README.md b/splits/GTA3/README.md index 6a20b4d..69d7e7e 100644 --- a/splits/GTA3/README.md +++ b/splits/GTA3/README.md @@ -1 +1 @@ -GTA3 All Missions with icons.json uses [these](https://www.speedrun.com/gtaiii/resources/rqk50) icons. Download and unpack them somewhere, then find and replace `~~path~~` for your path to directory containing the icons \ No newline at end of file +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 From 584f678b7c5a8b8ae6ba5f2a091f1767d2741b78 Mon Sep 17 00:00:00 2001 From: tepiloxtl Date: Mon, 9 Feb 2026 22:53:20 +0100 Subject: [PATCH 13/13] Update README on autosplitter --- auto-splitters/GTA3/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auto-splitters/GTA3/README.md b/auto-splitters/GTA3/README.md index 9eb00e5..7dd836e 100644 --- a/auto-splitters/GTA3/README.md +++ b/auto-splitters/GTA3/README.md @@ -3,4 +3,4 @@ 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 \ No newline at end of file +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