mirror of
https://github.com/bryanthaboi/gen1recomp
synced 2026-10-12 02:59:07 -04:00
feat: Gen 3 save editor, GBA extraction resilience, and UI/asset polish
- Save Editor (Gen 3): - Added full support for EV, IV, Nature, Ability, and Ribbons editing for Gen 3 Pokémon. - Implemented stat calculations, personality-based nature derivation, and Gen 3 save data structures. - Added comprehensive unit test suite in tests/save_editor_gen3_ev_iv_tests.lua. - GBA Extraction & Graphics: - Added zero-copy ARM-safe ROM accessor and fast LZ77 string decompression. - Fixed bag chrome decompression string-buffer indexing preventing solid-color renders. - Fixed TM Case HM badge tile offset and palette mapping. - Added builtin moves fallback in src/core/game3/battle/builtin_moves.lua. - Improved parallel extraction resilience, desktop fallback search paths, and prefix handling. - Android & Launchers: - Added dynamic high-res app launcher shortcuts and color palettes for all supported games. - Updated Android icon generator and intent dispatch handlers.
This commit is contained in:
@@ -7,17 +7,30 @@
|
||||
-- this only fills the tree between those two steps, so the "marker appears
|
||||
-- last" order isReady() depends on stays on one thread.
|
||||
|
||||
require("love.filesystem")
|
||||
require("love.image")
|
||||
require("love.math")
|
||||
require("love.system")
|
||||
require("love.timer")
|
||||
require("love.data")
|
||||
pcall(require, "love.filesystem")
|
||||
pcall(require, "love.image")
|
||||
pcall(require, "love.math")
|
||||
pcall(require, "love.system")
|
||||
pcall(require, "love.timer")
|
||||
pcall(require, "love.data")
|
||||
pcall(require, "love.thread")
|
||||
|
||||
-- Ensure fresh thread Lua state resolves "src.*" via love.filesystem on all platforms:
|
||||
table.insert(package.searchers or package.loaders, 1, function(modname)
|
||||
local path = modname:gsub("%.", "/") .. ".lua"
|
||||
if love and love.filesystem and love.filesystem.getInfo and love.filesystem.getInfo(path) then
|
||||
return assert(love.filesystem.load(path))
|
||||
end
|
||||
local initPath = modname:gsub("%.", "/") .. "/init.lua"
|
||||
if love and love.filesystem and love.filesystem.getInfo and love.filesystem.getInfo(initPath) then
|
||||
return assert(love.filesystem.load(initPath))
|
||||
end
|
||||
end)
|
||||
|
||||
local version, prefix, romData, progressName, resultName, romSha1 = ...
|
||||
|
||||
local progressChannel = love.thread.getChannel(progressName)
|
||||
local resultChannel = love.thread.getChannel(resultName)
|
||||
local progressChannel = love.thread and love.thread.getChannel and love.thread.getChannel(progressName)
|
||||
local resultChannel = love.thread and love.thread.getChannel and love.thread.getChannel(resultName)
|
||||
|
||||
-- RomExtractor:tick fires per item, thousands of times per import; a channel
|
||||
-- push each would cost more than the work it reports.
|
||||
|
||||
Reference in New Issue
Block a user