AverageConsumer
f3619a00c2
fix(gen2): stay below LuaJIT local limit
2026-08-16 20:43:38 +02:00
bryanthaboi
0c941cecd4
Merge pull request #1402 from AverageConsumer/codex/mod-field-advanced-actions
2026-08-16 12:08:47 -04:00
bryanthaboi
dd59175c71
Merge pull request #1405 from AverageConsumer/codex/mod-render-viewport
2026-08-16 12:08:03 -04:00
bryanthaboi
a910b65434
CLOSES #1231 , CLOSES #1269 , CLOSES #1301
2026-08-16 10:04:54 -04:00
AverageConsumer
1f3d13adaf
mods: add OS-independent game viewport composition
2026-08-16 15:17:35 +02:00
AverageConsumer
a3a20a07e1
feat(mods): expose Fly and Softboiled field actions
2026-08-16 14:57:46 +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
AverageConsumer
d99072b44e
feat(mods): report field action availability state
2026-08-16 01:01:16 +02:00
bryanthaboi
72f126ae26
Merge pull request #1312 from AverageConsumer/feat/contextual-field-moves
2026-08-14 21:42:22 -04:00
AverageConsumer
2b6473ae03
feat(mods): extend contextual field actions
2026-08-15 02:01:20 +02: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
AverageConsumer
dcc388a942
feat(mods): expose contextual field items
2026-08-14 21:39:18 +02:00
MaxTomahawk
407f649e9d
fix(mod-api): harden deferred trainer preparation
2026-08-14 17:57:59 +02: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
c5192eaea4
feat(mods): expose map overviews in Gold
2026-08-13 22:08:00 +02:00
bryanthaboi
f6a035947f
Update OverworldController.lua
2026-08-13 13:31:36 -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
52e36ad7e4
fix testsZ
2026-08-13 06:05:27 -04:00
Yukita Mayako
f138827917
fix(OverworldController): ledge jump arc to match player stepFrames
2026-08-12 21:23:35 -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
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
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
bryanthaboi
cd02cd6f33
Merge pull request #1061 from AverageConsumer/codex/mod-world-party-reorder
...
Mod API: expose safe overworld party reordering
2026-08-11 21:23:43 -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
241c3345bd
Merge pull request #1086 from thibautbus/fix/yellow-pallet-oak-music
...
Bring Oak's Pallet Town cutscene in line with the original Yellow game
2026-08-11 21:21:36 -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
thibautbus
ab94b96a79
Simplify comments
2026-08-11 15:23:32 +02:00
thibautbus
8e48bb4e32
Play the museum-guy cue during Oak's lab walk in Yellow
...
Yellow's Pallet Town intro (professor catches the wild Pikachu, then
walks the player to the lab) played the map's default Pallet Town
theme the whole time instead of the dedicated escort cue. Per
pokeyellow's actual scripts: PlayDefaultMusicFadeOutCurrent (run on
every battle exit) legitimately restores Pallet Town's theme after
the Pikachu demo battle for the Whew.../Come with me lines; the
escort cue (MUSIC_MUSEUM_GUY, the same "led by an NPC" theme Pewter's
museum guide uses) only starts in PalletMovementScript_OakMoveLeft,
the first function of the escort script -- but only in pokeyellow's
copy. pokered's copy of that same shared Red/Yellow function only
sets BIT_NO_MAP_MUSIC and leaves whatever was already playing
(MUSIC_MEET_PROF_OAK) running uninterrupted into the lab.
Start Music_MuseumGuy at the top of escortToLab, gated on Yellow so
Red/Blue keeps its unchanged behavior, and fix the Oak-escort warp's
keepMusic comment to say which song rides the warp in each version.
2026-08-11 14:00:40 +02:00
MaxTomahawk
882763cfe1
feat: checkpoint scripted battle decisions
2026-08-11 08:58:33 +02:00
AverageConsumer
e3fc8380cf
feat(mods): expose safe overworld party reordering
2026-08-10 23:25:54 +02:00
bryanthaboi
c3855cebec
more buggies CLOSES #960 , CLOSES #961 , CLOSES #968 , CLOSES #995 , CLOSES #1006 , CLOSES #1009 , CLOSES #1013 , CLOSES #1021 , CLOSES #1031 , CLOSES #1044 , CLOSES #1049 , CLOSES #1050 , CLOSES #1045,,
2026-08-10 17:06:24 -04:00
bryanthaboi
05668591ef
Merge pull request #965 from crusty/feat/worldapi-start-wild-battle
...
Add mod.world:startWildBattle
2026-08-10 14:09:28 -04:00
bryanthaboi
d3af63e013
Merge pull request #1020 from ArmstrongThomas/agent/variable-size-overworld-sprites
...
Support variable-size anchored overworld sprites
2026-08-10 14:09:13 -04:00
bryanthaboi
23e1877a62
Merge pull request #1025 from AverageConsumer/feature/map-overview-detail-markers
...
Mod API: add detailed map overview data and POIs
2026-08-10 14:08:58 -04:00
bryanthaboi
1c2163bb5f
Merge pull request #1046 from ShaneMcGovernIE/shanemcgovernie-fix-encounter-rate-grace-period
...
Fix wild encounter grace period
2026-08-10 14:08:46 -04:00
bryanthaboi
12c2677dc2
title screen issues, audio issues, and replacing gf c
2026-08-10 14:00:26 -04:00
Shane McGovern
ae1b59ce7f
fix: restore wild encounter grace period
...
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-10 12:15:18 +01:00
AverageConsumer
d881997acd
feat(mods): add detailed map overview POIs
2026-08-09 15:57:17 +02:00
Thomas Armstrong
81f18e244d
Support variable-size anchored overworld sprites
2026-08-09 04:10:39 -04:00
Jakub Lisicki
d498016a47
Merge remote-tracking branch 'origin/dev' into feat/worldapi-start-wild-battle
2026-08-08 12:42:10 +02:00
Jakub Lisicki
a710c64909
Refuse re-entrant, fractional-level and no-party wild battles
...
overworld() resolves the world from under the stack, so a call from a
battle hook stacked a second battle over the live one -- on a loss its
afterBattle blacked out and warped with the outer battle still up.
newWild marks the species SEEN before it reports an empty party, so a
refused call still wrote the Pokedex; test the party before building it.
tonumber accepts 5.5, which Pokemon.new writes straight into the stat
calc and the exp curve.
2026-08-08 12:23:05 +02:00
AverageConsumer
371edd1a02
feat(mods): expose map tile shading
2026-08-08 11:59:57 +02:00
Jakub Lisicki
9fc6ba5b01
Add mod.world:startWildBattle
...
Starting a wild encounter had no supported entry point, so mods built a
BattleState and pushed it themselves -- silently losing onFinish (and
with it evolutions and blackout-on-loss) and pushBattle (entry wipe,
battle theme). Neither failure raises.
Also covers awardExp -> leveledUp -> afterBattle -> checkParty, which
parity_trainer_evolution_order stubs BattleState out of.
2026-08-08 11:58:10 +02:00
bryanthaboi
983bea61aa
Merge pull request #986 from MaxTomahawk/feat/mod-battle-checkpoints
...
feat: add persistent battle safe-point checkpoints
2026-08-08 05:46:34 -04:00
MaxTomahawk
44a7910c69
feat: reconstruct standard battle continuations
2026-08-08 09:53:41 +02:00
AverageConsumer
c1e0685e97
feat(mods): expose read-only map overview
2026-08-07 20:20:57 +02:00