AverageConsumer
99d9908017
render: add cross-platform desktop companion display
2026-08-16 22:24:12 +02:00
AverageConsumer
1f3d13adaf
mods: add OS-independent game viewport composition
2026-08-16 15:17:35 +02:00
bryanthaboi
1151c188a7
CLOSES #1211 , CLOSES #1228 , CLOSES #1229 , CLOSES #1232 , CLOSES #1251 , CLOSES #1265 , CLOSES #1267 , CLOSES #1276 , CLOSES #1279 , CLOSES #1282 , CLOSES #1293 , CLOSES #1296 , CLOSES #1303 , CLOSES #1329 , CLOSES #1338 , CLOSES #1341 , CLOSES #1343 , CLOSES #1344 , CLOSES #1368 , CLOSES #1385 , CLOSES #1388 , CLOSES #1389 , CLOSES #1391
2026-08-16 08:55:40 -04:00
bryanthaboi
fc841f7525
Merge branch 'dev' of https://github.com/bryanthaboi/gen1recomp into dev
2026-08-16 06:41:58 -04:00
bryanthaboi
12fdfa1e88
CLOSES #1181 , CLOSES #1212 , CLOSES #1214 , CLOSES #1224 , CLOSES #1230 , CLOSES #1249 , CLOSES #1271 , CLOSES #1272 , CLOSES #1273 , CLOSES #1298 , CLOSES #1305 , CLOSES #1307 , CLOSES #1318 , CLOSES #1328 , CLOSES #1330 , CLOSES #1331 , CLOSES #1333 , CLOSES #1334 , CLOSES #1335 , CLOSES #1340 , CLOSES #1345 , CLOSES #1346 , CLOSES #1360 , CLOSES #1362
2026-08-16 06:41:56 -04:00
Shane McGovern
4b7a4daf2c
HostShell: stage postLog bodies via OS temp env, not tmpnam
...
tmpnam() on the Windows CRT returns a bare, CWD-relative name (e.g. \sb4c.2), and io.open on it fails with Permission denied when the game's working directory is not writable -- a Program Files (or otherwise protected) install. postLog then dies before curl runs: the mod reports a send failure and no bytes leave the machine (confirmed on a Windows install: "could not create request body: \sb4c.2: Permission denied").
Stage the request body under the OS temp contract instead: TEMP/TMP on Windows (always set, always per-user writable), TMPDIR with a /tmp fallback on POSIX. The transport stays on plain io/os -- no love.filesystem dependency.
Tests updated to mock os.getenv and assert the staged path sits under the temp dir; 10/10 checks pass.
2026-08-16 03:29:33 +01:00
Shane McGovern
3e3566d1b4
Fix desktop postLog transport
2026-08-16 01:04:01 +01:00
Shane McGovern
cf335f67de
feat(mods): add mod.postLog one-way log reporting to a manifest-declared URL
2026-08-15 21:03:24 +01:00
1jamie
e24410f0fb
fix: improve Gen2 data loading and error handling to prevent crashes when cache modules are missing on android
2026-08-15 12:48:36 -05:00
1jamie
3a997e8a62
fix(save-editor): clean up module registry and pristine Data state on editor unload so subsequent edits perform safely
2026-08-15 12:48:36 -05:00
bryanthaboi
5198b35945
bazinga
2026-08-15 10:44:20 -04:00
1jamie
8dfbd1daae
fix(save/gen2): auto-recover orphaned save slots and fix PartyMenu field moves
...
- Auto-recover save slots: Scan saves/<version>/ on boot to re-index orphaned slot files if options.lua is reset or loses its slot registry.
- Fix Gen 2 field moves: Make PartyMenu field actions (Strength, Surf, Cut, Flash) generation-aware so they execute safely in Gold.
- Fortify platform stability: Guard native controller/hidapi init against Android 14 receiver exceptions and ensure safe Windows file replacement.
- Add unit test coverage for slot auto-recovery in save_editor_gen2_tests.lua.
2026-08-14 22:16:17 -05:00
1jamie
df0be1cba6
Add Gold save-editor support, rearrange the launcher, and ship a patch-notes modal.
...
The save editor now routes Gold vs RBY through a generation adapter so boxes, items, events, and maps write the right fields. The launcher layout is shuffled a bit, and patch notes can come from the updater, a packed file, or the iOS sidecar.
2026-08-14 18:48:06 -05:00
MaxTomahawk
a77210799f
feat(mod-api): add trainer battle party scope
2026-08-14 17:33:17 +02:00
bryanthaboi
a94fecfec8
Closes #919 , closes #982 , closes #1003 , closes #1012 , closes #1022 , closes #1028 , closes #1033
2026-08-14 10:05:51 -04:00
AverageConsumer
09204daa28
feat(mods): expose opt-in final-frame output hooks
2026-08-13 23:04:46 +02:00
bryanthaboi
941181d31c
check bonxes
2026-08-13 13:22:18 -04:00
bryanthaboi
37051a26b5
CLOSES #1206 , CLOSES #1189 , CLOSES #1175 , CLOSES #1129 , CLOSES #1119 , CLOSES #1089 , CLOSES #1073 , CLOSES #1069 , CLOSES #1065 , CLOSES #1010 , CLOSES #990 , CLOSES #989 , CLOSES #988 , CLOSES #978 , CLOSES #944 , CLOSES #936 , CLOSES #1221 , CLOSES #1220 , CLOSES #1193 , CLOSES #1101 , CLOSES #1066 , CLOSES #1056 , CLOSES #1041 , CLOSES #984 , CLOSES #1225 , CLOSES #1214 , CLOSES #1011 , CLOSES #1035 , CLOSES #1219 , CLOSES #1048 , CLOSES #1047 , CLOSES #964 , CLOSES #949 , CLOSES #1149 , CLOSES #1007 , CLOSES #914 , CLOSES #1115 , CLOSES #1146 , CLOSES #999 , CLOSES #1207 , CLOSES #1029 , CLOSES #1120 , CLOSES #987 , CLOSES #983
2026-08-13 13:07:20 -04:00
bryanthaboi
df35193ad3
Merge pull request #1204 from castdrian/ios-improvements
...
feat(ios): improve branding and fix haptic feedback
2026-08-13 06:06:31 -04:00
bryanthaboi
285a98533a
Merge pull request #1201 from HimioneGranger/upstream-payload-host-contract
...
feat(update): gate payloads by native host family
2026-08-13 06:06:18 -04:00
bryanthaboi
f952edf77a
Merge pull request #1200 from HimioneGranger/upstream-host-display-api
...
feat(host): add optional display lifecycle backend
2026-08-13 06:06:12 -04:00
bryanthaboi
62b9f04191
Merge pull request #1209 from MaxTomahawk/fix/checkpoint-engine-version-restore
...
fix(mods): allow checkpoint restore across engine versions
2026-08-13 05:35:05 -04:00
bryanthaboi
6864173f35
Merge branch 'dev' of https://github.com/bryanthaboi/gen1recomp into dev
2026-08-13 05:30:35 -04:00
bryanthaboi
e9d431b3ff
CLOSES #1091 , CLOSES #1097 , CLOSES #1100 , CLOSES #1104 , CLOSES #1135 , CLOSES #1155 , CLOSES #1157 , CLOSES #1158 , CLOSES #1159 , CLOSES #1160 , CLOSES #1167 , CLOSES #1208
2026-08-13 05:30:33 -04:00
Max
a68c47e7e1
fix(mods): allow checkpoint restore across engine versions
2026-08-13 02:28:57 +02:00
Adrian Castro
d648990a81
feat(ios): brand app and tune haptic feedback
2026-08-13 02:19:45 +02:00
Codex Agent
0aab11b690
feat(update): gate payloads by native host family
2026-08-12 17:23:25 -05:00
Codex Agent
c2d9af693d
feat(host): add optional display lifecycle backend
2026-08-12 17:07:32 -05:00
bryanthaboi
e5bebea437
Merge pull request #1077 from MaxTomahawk/feat/battle-menu-auxiliary
...
feat(mods): add battle menu auxiliary action
2026-08-12 16:56:04 -04:00
bryanthaboi
b40ff167e7
Merge pull request #1170 from thibautbus/fix/resume-boot-music
...
Fix lingering title music after Resume Game
2026-08-12 16:55:32 -04:00
bryanthaboi
f394f56395
Merge branch 'dev' of https://github.com/bryanthaboi/gen1recomp into dev
2026-08-12 16:51:29 -04:00
bryanthaboi
6731937841
Pulled every open Gold bug (bodies, comments, screenshots/videos), matched them against the port and ../pokegold, then split them so each fixer owns a disjoint file set. Duplicates collapsed: #1164 and #1188 are the same Radio Tower stair softlock. #1150 and #1190 are the same Gold rebind freeze. Enhancements ( #1161 , #1130 , #1112 , #1100 ) were left out. Battle 1 src/battle/gen2/*, src/ui/gen2/BattleState.lua #1168 multi-hit always 2 #1180 DV / stats #1185 learn-move text order after a trainer fight #1152 no "Use next POKéMON?" / run after a wild faint Overworld 2 src/world/gen2/*, trade anim, hidden items #1184 Kurt blocking Slowpoke Well #1164 / #1188 Radio Tower gentleman on the stairs #1173 Rock Smash rocks walk left each visit #1172 last item name used Rock Smash #1167 Ilex Forest hidden items #1165 trade movie + ledge hop still missing ( #1121 / #1126 ) UI 3 naming, party, mart, pokegear #1166 grey nickname screen #1162 TM/HM missing ABLE / NOT ABLE #1169 underground herb lady whites out the map #1151 Pokegear black player icon + extra A/B on the phone card Platform 4 Gold options, save slots, pack, mod tab #1150 / #1190 controls freeze #1178 no vibration row #1177 cannot move Gold touch controls #1107 SAVE with no launcher slot #1145 Gold mod tab still lists Gen 1-only mods #1192 RGXX missing tools/rom_manifest_gold.json Drivers only for the progress / data-loss ones (faint-run, multi-hit, Kurt, Radio Tower, Rock Smash shift, herb shop, save slot). No new unit tests. New comments are pokegold file.asm:line only. A verifier agent will get this same list once the four finish and check that the diffs actually fix the reports. Verifier checked the batch against pokegold. Almost everything landed. I closed the two leftovers that were still real bugs: #1185 : the active mon no longer reprints GrewToLevel (engine/battle/core.asm:7044). Bench mons still print it, then the stats box, then the learn-move line. #1180 : the party list recalcs stats on open, same as Summary. Gold boot now applies options.touchControls / haptics from the Gold options block, not the shared Red pad. # Verdict 1168 multi-hit FIXED 1180 DVs / stats FIXED 1185 learn-move order FIXED (was partial) 1152 run after faint FIXED 1184 Kurt FIXED 1164 / 1188 Radio Tower FIXED 1173 rocks slide FIXED 1172 Rock Smash name FIXED 1167 Ilex hidden items SKIP-OK (already in the Gold cache) 1165 trade + ledge FIXED 1166 nickname color FIXED 1162 TM ABLE / NOT ABLE FIXED 1169 herb shop white-out FIXED 1151 Pokegear FIXED 1150 / 1190 rebind freeze FIXED 1178 vibration FIXED 1177 touch layout FIXED 1107 save slot FIXED 1145 mod tab filter FIXED 1192 RGXX Gold manifest FIXED Nothing is committed. Drivers, from the repo root: POKEPORT_GAME=gold POKEPORT_TOUCH=0 POKEPORT_DRIVER=tests/drivers/multihit_bug1168_test.lua love . Fury Attack should hit 2-5 times. Always twice is still broken. POKEPORT_GAME=gold POKEPORT_TOUCH=0 POKEPORT_DRIVER=tests/drivers/use_next_mon_bug1152_test.lua love . After the lead faints: "Use next POKéMON?" YES opens the party. NO/B tries to run. POKEPORT_GAME=gold POKEPORT_TOUCH=0 POKEPORT_DRIVER=tests/drivers/kurt_well_bug1184_test.lua love . Kurt at the well entrance (16, 14), not on the inner path. POKEPORT_GAME=gold POKEPORT_TOUCH=0 POKEPORT_DRIVER=tests/drivers/radiotower_softlock_bug1164_test.lua love . Gentleman in the 5F office (3, 6). Stairs at (12, 0) clear. POKEPORT_GAME=gold POKEPORT_TOUCH=0 POKEPORT_DRIVER=tests/drivers/rocksmash_shift_bug1173_test.lua love . Route 40 rocks stay put. A slide one cell left is the old bug. POKEPORT_GAME=gold POKEPORT_TOUCH=0 POKEPORT_DRIVER=tests/drivers/herbshop_bug1169_test.lua love . Herb shop intro over the Underground map, not a white screen. POKEPORT_GAME=gold POKEPORT_IDENTITY=gold-bug1107 POKEPORT_DRIVER=tests/drivers/gold_save_slot_bug1107_test.lua love . Look for PASS and a saves/gold/slot*.lua path. CONTINUE should see it. Worth a hand check with no driver: nickname color, a TM for ABLE/NOT ABLE, Pokegear phone B-to-close, OPTION > CONTROLS, a ledge hop, a trade movie, and on a phone OPTION > TOUCH LAYOUT / VIBRATION. give me CLOSES #93939 , in a comma separated list each saying CLOSES before each issue number that is fixed CLOSES #1107 , CLOSES #1145 , CLOSES #1150 , CLOSES #1151 , CLOSES #1152 , CLOSES #1162 , CLOSES #1164 , CLOSES #1165 , CLOSES #1166 , CLOSES #1168 , CLOSES #1169 , CLOSES #1172 , CLOSES #1173 , CLOSES #1177 , CLOSES #1178 , CLOSES #1180 , CLOSES #1184 , CLOSES #1185 , CLOSES #1188 , CLOSES #1190 , CLOSES #1192
2026-08-12 16:51:27 -04:00
AverageConsumer
52fac8ced6
Honor hidden screen states in Gold rendering
2026-08-12 20:59:35 +02:00
thibautbus
96af652d3b
Fix lingering title music after Resume Game
...
Continue dropped the player into the overworld with the title
screen's song still cross-fading into the map theme over ~1.2s
(Music.MAP_FADE), audibly wrong since the player already has control.
New Game never showed this because OakSpeech's own unfaded
Music.play/playMap masks it before the player is ever placed in the
overworld. The same bug was also reachable through F2 quickload
(pressed at the title screen, or mid-session -- F2 always jumps
straight to the loaded save's map/position with no walking
transition, so it needs the same instant swap as Continue rather than
an ordinary warp's crossfade either way) and through the
checkpoint-resume mod API (RFC 0006's mod.checkpoint:resume).
OverworldState:setMap now takes an opts.freshBoot flag: when set, the
map's music swaps in at once instead of cross-fading, like every
other map's PlayDefaultMusic. It is set by every real hard state
teleport -- TitleState's onContinue, New Game's push, F2 quickload,
and Game:restoreCheckpointSave (whose only caller is itself
title-gated) -- and deliberately kept separate from the pre-existing
opts.via == "boot" default, which dev tooling (the console's `warp`
verb, hot reload's map rebuild) also reuses for unrelated reasons and
must keep its ordinary crossfade.
2026-08-12 11:25:07 +02:00
MaxTomahawk
238af263d6
Merge remote-tracking branch 'origin/dev' into feat/battle-menu-auxiliary
...
# Conflicts:
# src/core/Checkpoint.lua
2026-08-12 09:46:00 +02:00
bryanthaboi
3aaaf9936e
Merge pull request #1076 from MaxTomahawk/feat/mod-title-checkpoint-resume
...
feat(mods): resume selected checkpoints from title
2026-08-11 21:23:08 -04:00
bryanthaboi
af33c6e810
Merge pull request #1078 from MaxTomahawk/feat/scripted-battle-checkpoints
...
feat(mods): checkpoint scripted battle decisions
2026-08-11 21:22:40 -04:00
bryanthaboi
e8eccfd4df
Merge pull request #1080 from MaxTomahawk/feat/device-date-time
...
feat(mods): add shared local date and time formatting
2026-08-11 21:21:51 -04:00
bryanthaboi
0136429d3e
CLOSES #1090 , CLOSES #1093 , CLOSES #1094 , CLOSES #1095 , CLOSES #1098 , CLOSES #1102 , CLOSES #1105 , CLOSES #1106 , CLOSES #1108 , CLOSES #1109 , CLOSES #1110 , CLOSES #1111 , CLOSES #1113 , CLOSES #1114 , CLOSES #1117 , CLOSES #1118 , CLOSES #1121 , CLOSES #1122 , CLOSES #1123 , CLOSES #1124 , CLOSES #1126 , CLOSES #1127 , CLOSES #1128 , CLOSES #1131 , CLOSES #1132 , CLOSES #1134 , CLOSES #1137 , CLOSES #1141
2026-08-11 21:19:36 -04:00
bryanthaboi
ae6cac89e1
G2 support
2026-08-11 11:53:30 -04:00
MaxTomahawk
2c8c800584
feat: add shared date and time formatting
2026-08-11 11:17:32 +02:00
MaxTomahawk
4db97164bb
feat: anchor first checkpoint for cold restart
2026-08-11 08:59:47 +02:00
MaxTomahawk
882763cfe1
feat: checkpoint scripted battle decisions
2026-08-11 08:58:33 +02:00
MaxTomahawk
59725c0ead
feat(mods): add battle menu auxiliary action
2026-08-10 23:32:38 +02:00
MaxTomahawk
4e20f4585f
fix(mods): emit restore lifecycle after title resume
2026-08-10 23:32:35 +02:00
MaxTomahawk
1c37867e52
fix(mods): keep title resume independent
2026-08-10 23:32:35 +02:00
MaxTomahawk
67491e2dac
feat(mods): expose selected save chronology
2026-08-10 23:32:35 +02:00
MaxTomahawk
b8138ef850
feat(mods): resume selected checkpoints from title
2026-08-10 23:32:35 +02:00
bryanthaboi
ee891fb8fa
Merge pull request #993 from MaxTomahawk/feat/checkpoint-restore-event
...
feat(mods): signal verified checkpoint restores
2026-08-10 14:31:45 -04:00
bryanthaboi
9302bbcbf3
Merge branch 'fix1037' into fix1038
...
# Conflicts:
# docs/modding.md
2026-08-10 14:12:21 -04:00