Skip to content

Commit

Permalink
Revert "added support for reading/writing hiscore files from cart ima…
Browse files Browse the repository at this point in the history
…ges (#6130)"

This reverts commit a77313a.

This seems to break high score support on things without cartridges.  I think it needs re-thinking.
  • Loading branch information
cuavas committed Feb 27, 2020
1 parent 60ab9de commit c39f46d
Showing 1 changed file with 9 additions and 32 deletions.
41 changes: 9 additions & 32 deletions plugins/hiscore/init.lua
@@ -1,16 +1,16 @@
-- hiscore.lua
-- by borgar@borgar.net & eadmaster, WTFPL license
-- by borgar@borgar.net, WTFPL license
--
-- This uses MAME's built-in Lua scripting to implment
-- high-score saving with hiscore.dat infom just as older
-- builds did in the past.
--
local exports = {}
exports.name = "hiscore"
exports.version = "1.1.0"
exports.version = "1.0.0"
exports.description = "Hiscore"
exports.license = "WTFPL license"
exports.author = { name = "borgar@borgar.net & eadmaster" }
exports.author = { name = "borgar@borgar.net" }
local hiscore = exports

local hiscore_plugin_path = ""
Expand Down Expand Up @@ -46,7 +46,7 @@ function hiscore.startplugin()
emu.print_verbose( "hiscore: config found" );
local _conf = {}
for line in io.lines(config_path) do
token, value = string.match(line, '([^ ]+) +([^ ]+)');
token, spaces, value = string.match(line, '([^ ]+)([ ]+)([^ ]+)');
if token ~= nil and token ~= '' then
_conf[token] = value;
end
Expand Down Expand Up @@ -98,25 +98,14 @@ function hiscore.startplugin()
local function read_hiscore_dat ()
local file = io.open( hiscoredata_path, "r" );
local rm_match;
local rm_match_crc = 0;
if not file then
file = io.open( hiscore_plugin_path .. "/console_hiscore.dat", "r" );
file = io.open( hiscore_plugin_path .. "/hiscore.dat", "r" );
end
if emu.softname() ~= "" then
local soft = emu.softname():match("([^:]*)$")
rm_match = emu.romname() .. ',' .. soft .. ':';
elseif manager:machine().images["cart"]:filename() ~= nil then
local basename = string.gsub(manager:machine().images["cart"]:filename(), "(.*/)(.*)", "%2");
local filename = string.gsub(basename, "(.*)(%..*)", "%1"); -- strip the extension (e.g. ".nes")
rm_match = emu.romname() .. "," .. filename .. ':';
rm_match_crc = emu.romname() .. ",crc32=" .. string.format("%x", manager:machine().images["cart"]:crc()) .. ':';
elseif manager:machine().images["cdrom"]:filename() ~= nil then
local basename = string.gsub(manager:machine().images["cdrom"]:filename(), "(.*/)(.*)", "%2");
local filename = string.gsub(basename, "(.*)(%..*)", "%1"); -- strip the extension (e.g. ".cue")
rm_match = emu.romname() .. "," .. filename .. ':';
--rm_match_crc = string.format("%x", manager:machine().images["cdrom"]:crc()) .. ':'; -- always 0 with cdrom media?
rm_match = '^' .. emu.romname() .. ',' .. soft .. ':';
else
rm_match = emu.romname() .. ':';
rm_match = '^' .. emu.romname() .. ':';
end
local cluster = "";
local current_is_match = false;
Expand All @@ -133,9 +122,7 @@ function hiscore.startplugin()
end
elseif string.find(line, rm_match) then --- match this game
current_is_match = true;
elseif line == rm_match_crc then --- match this game crc
current_is_match = true;
elseif string.find(line, '^.+:') then --- some game
elseif string.find(line, '^[a-z0-9_]+:') then --- some game
if current_is_match and string.len(cluster) > 0 then
break; -- we're done
end
Expand Down Expand Up @@ -171,17 +158,8 @@ function hiscore.startplugin()
local r;
if emu.softname() ~= "" then
local soft = emu.softname():match("([^:]*)$")
r = hiscore_path .. '/' .. emu.romname() .. '/' .. soft .. ".hi";
elseif manager:machine().images["cart"]:filename() ~= nil then
local basename = string.gsub(manager:machine().images["cart"]:filename(), "(.*/)(.*)", "%2")
local filename = string.gsub(basename, "(.*)(%..*)", "%1"); -- strip the extension (e.g. ".nes")
r = hiscore_path .. '/' .. emu.romname() .. '/' .. filename .. ".hi";
elseif manager:machine().images["cdrom"]:filename() ~= nil then
local basename = string.gsub(manager:machine().images["cdrom"]:filename(), "(.*/)(.*)", "%2");
local filename = string.gsub(basename, "(.*)(%..*)", "%1"); -- strip the media extension (e.g. ".cue")
r = hiscore_path .. '/' .. emu.romname() .. '/' .. filename .. ".hi";
r = hiscore_path .. '/' .. emu.romname() .. "_" .. soft .. ".hi";
else
-- arcade games
r = hiscore_path .. '/' .. emu.romname() .. ".hi";
end
return r;
Expand All @@ -194,7 +172,6 @@ function hiscore.startplugin()
if not output then
-- attempt to create the directory, and try again
lfs.mkdir( hiscore_path );
lfs.mkdir( hiscore_path .. '/' .. emu.romname() );
output = io.open(get_file_name(), "wb");
end
emu.print_verbose("hiscore: write_scores output")
Expand Down

0 comments on commit c39f46d

Please sign in to comment.