# HG changeset patch # User Robert McIntyre # Date 1332637547 18000 # Node ID 5becef6312b97ca01ead8a850b3724503b82c6ec # Parent 49a709c555f2f9e2787df5e8334b6181aef69ab4 working on item-injection; fixed off-by-one error in print-pokedex. diff -r 49a709c555f2 -r 5becef6312b9 clojure/com/aurellem/exp/cartography --- a/clojure/com/aurellem/exp/cartography Sat Mar 24 16:19:43 2012 -0500 +++ b/clojure/com/aurellem/exp/cartography Sat Mar 24 20:05:47 2012 -0500 @@ -7,400 +7,400 @@ D168 Pokemon 6 Species D169 End-of-List Sentinel (0xFF) D16A Pokemon 1 Color Map -D16B /h +D16B /h D16C \l Pokemon 1 Current Hit Points -D16D Unused -D16E Status +D16D Unused +D16E Status D16F Type 1 (does not affect display) D170 Type 2 (does not affect display) -D171 Scratch Area -D172 Move 1 ID -D173 Move 2 ID -D174 Move 3 ID +D171 Scratch Area +D172 Move 1 ID +D173 Move 2 ID +D174 Move 3 ID D175 Move 4 ID D176 /h Pokemon 1 OT ID D177 \l -D178 /h +D178 /h D179 |m Pokemon 1 Experience Points -D17A \l -D17B /h HP Stat Expeience -D17C \l +D17A \l +D17B /h HP Stat Expeience +D17C \l D17D /h Attack Stat Experience -D17E \l +D17E \l D17F /h Defense Stat Experience -D180 \l +D180 \l D181 /h Speed Stat Experience -D182 \l +D182 \l D183 /h Special Stat Experience -D184 \l +D184 \l D185 Diversification -- Defense, Attack (HP) D186 Diversification -- Special, Speed (HP) -D187 Current/Maximum PP Move 1 -D188 Current/Maximum PP Move 2 -D189 Current/Maximum PP Move 3 -D18A Current/Maximum PP Move 4 -D18B Current Level +D187 Current/Maximum PP Move 1 +D188 Current/Maximum PP Move 2 +D189 Current/Maximum PP Move 3 +D18A Current/Maximum PP Move 4 +D18B Current Level D18C /h Pokemon 1 Total Hit Points -D18D \l -D18E /h Pokemon 1 Attack -D18F \l -D190 /h Pokemon 1 Defense -D191 \l -D192 /h Pokemon 1 Speed -D193 \l -D194 /h Pokemon 1 Special +D18D \l +D18E /h Pokemon 1 Attack +D18F \l +D190 /h Pokemon 1 Defense +D191 \l +D192 /h Pokemon 1 Speed +D193 \l +D194 /h Pokemon 1 Special D195 \l D196 Pokemon 2 Color Map D197 /h D198 \l Pokemon 2 Current Hit Points D199 Unused -D19A Status +D19A Status D19B Type 1 (does not affect display) D19C Type 2 (does not affect display) -D19D Scratch Area +D19D Scratch Area D19E Move 1 ID D19F Move 2 ID D1A0 Move 3 ID D1A1 Move 4 ID D1A2 /h Pokemon 2 OT ID -D1A3 \l -D1A4 /h +D1A3 \l +D1A4 /h D1A5 |m Pokemon 2 Experience Points -D1A6 \l -D1A7 /h HP Stat Expeience -D1A8 \l +D1A6 \l +D1A7 /h HP Stat Expeience +D1A8 \l D1A9 /h Attack Stat Experience -D1AA \l +D1AA \l D1AB /h Defense Stat Experience -D1AC \l +D1AC \l D1AD /h Speed Stat Experience -D1AE \l +D1AE \l D1AF /h Special Stat Experience -D1B0 \l +D1B0 \l D1B1 Diversification -- Defense, Attack (HP) D1B2 Diversification -- Special, Speed (HP) -D1B3 Current/Maximum PP Move 1 -D1B4 Current/Maximum PP Move 2 -D1B5 Current/Maximum PP Move 3 -D1B6 Current/Maximum PP Move 4 -D1B7 Current Level +D1B3 Current/Maximum PP Move 1 +D1B4 Current/Maximum PP Move 2 +D1B5 Current/Maximum PP Move 3 +D1B6 Current/Maximum PP Move 4 +D1B7 Current Level D1B8 /h Pokemon 2 Total Hit Points -D1B9 \l -D1BA /h Pokemon 2 Attack -D1BB \l -D1BC /h Pokemon 2 Defense -D1BD \l -D1BE /h Pokemon 2 Speed -D1BF \l -D1C0 /h Pokemon 2 Special +D1B9 \l +D1BA /h Pokemon 2 Attack +D1BB \l +D1BC /h Pokemon 2 Defense +D1BD \l +D1BE /h Pokemon 2 Speed +D1BF \l +D1C0 /h Pokemon 2 Special D1C1 \l D1C2 Pokemon 3 Color Map -D1C3 /h +D1C3 /h D1C4 \l Pokemon 3 Current Hit Points -D1C5 Unused -D1C6 Status +D1C5 Unused +D1C6 Status D1C7 Type 1 (does not affect display) -D1C8 Type 2 (does not affect display) -D1C9 Scratch Area -D1CA Move 1 ID -D1CB Move 2 ID -D1CC Move 3 ID +D1C8 Type 2 (does not affect display) +D1C9 Scratch Area +D1CA Move 1 ID +D1CB Move 2 ID +D1CC Move 3 ID D1CD Move 4 ID D1CE /h Pokemon 3 OT ID D1CF \l -D1D0 /h +D1D0 /h D1D1 |m Pokemon 3 Experience Points -D1D2 \l -D1D3 /h HP Stat Expeience -D1D4 \l +D1D2 \l +D1D3 /h HP Stat Expeience +D1D4 \l D1D5 /h Attack Stat Experience -D1D6 \l +D1D6 \l D1D7 /h Defense Stat Experience -D1D8 \l +D1D8 \l D1D9 /h Speed Stat Experience -D1DA \l +D1DA \l D1DB /h Special Stat Experience -D1DC \l -D1DD Diversification -- Defense, Attack (HP) +D1DC \l +D1DD Diversification -- Defense, Attack (HP) D1DE Diversification -- Special, Speed (HP) -D1DF Current/Maximum PP Move 1 -D1E0 Current/Maximum PP Move 2 -D1E1 Current/Maximum PP Move 3 -D1E2 Current/Maximum PP Move 4 -D1E3 Current Level +D1DF Current/Maximum PP Move 1 +D1E0 Current/Maximum PP Move 2 +D1E1 Current/Maximum PP Move 3 +D1E2 Current/Maximum PP Move 4 +D1E3 Current Level D1E4 /h Pokemon 3 Total Hit Points -D1E5 \l -D1E6 /h Pokemon 3 Attack -D1E7 \l -D1E8 /h Pokemon 3 Defense -D1E9 \l -D1EA /h Pokemon 3 Speed -D1EB \l -D1EC /h Pokemon 3 Special +D1E5 \l +D1E6 /h Pokemon 3 Attack +D1E7 \l +D1E8 /h Pokemon 3 Defense +D1E9 \l +D1EA /h Pokemon 3 Speed +D1EB \l +D1EC /h Pokemon 3 Special D1ED \l D1EE Pokemon 4 Color Map -D1EF /h +D1EF /h D1F0 \l Pokemon 4 Current Hit Points -D1F1 Unused -D1F2 Status +D1F1 Unused +D1F2 Status D1F3 Type 1 (does not affect display) D1F4 Type 2 (does not affect display) -D1F5 Scratch Area -D1F6 Move 1 ID -D1F7 Move 2 ID -D1F8 Move 3 ID +D1F5 Scratch Area +D1F6 Move 1 ID +D1F7 Move 2 ID +D1F8 Move 3 ID D1F9 Move 4 ID D1FA /h Pokemon 4 OT ID D1FB \l -D1FC /h +D1FC /h D1FD |m Pokemon 4 Experience Points -D1FE \l +D1FE \l D1FF /h HP Stat Expeience -D200 \l +D200 \l D201 /h Attack Stat Experience -D202 \l +D202 \l D203 /h Defense Stat Experience -D204 \l +D204 \l D205 /h Speed Stat Experience -D206 \l +D206 \l D207 /h Special Stat Experience -D208 \l -D209 Diversification -- Defense, Attack (HP) -D20A Diversification -- Special, Speed (HP) -D20B Current/Maximum PP Move 1 -D20C Current/Maximum PP Move 2 -D20D Current/Maximum PP Move 3 -D20E Current/Maximum PP Move 4 -D20F Current Level +D208 \l +D209 Diversification -- Defense, Attack (HP) +D20A Diversification -- Special, Speed (HP) +D20B Current/Maximum PP Move 1 +D20C Current/Maximum PP Move 2 +D20D Current/Maximum PP Move 3 +D20E Current/Maximum PP Move 4 +D20F Current Level D210 /h Pokemon 4 Total Hit Points -D211 \l -D212 /h Pokemon 4 Attack -D213 \l -D214 /h Pokemon 4 Defense -D215 \l -D216 /h Pokemon 4 Speed -D217 \l -D218 /h Pokemon 4 Special +D211 \l +D212 /h Pokemon 4 Attack +D213 \l +D214 /h Pokemon 4 Defense +D215 \l +D216 /h Pokemon 4 Speed +D217 \l +D218 /h Pokemon 4 Special D219 \l D21A Pokemon 5 Color Map -D21B /h +D21B /h D21C \l Pokemon 5 Current Hit Points -D21D Unused -D21E Status +D21D Unused +D21E Status D21F Type 1 (does not affect display) -D220 Type 2 (does not affect display) -D221 Scratch Area -D222 Move 1 ID -D223 Move 2 ID -D224 Move 3 ID +D220 Type 2 (does not affect display) +D221 Scratch Area +D222 Move 1 ID +D223 Move 2 ID +D224 Move 3 ID D225 Move 4 ID -D226 /h Pokemon 5 OT ID -D227 \l -D228 /h +D226 /h Pokemon 5 OT ID +D227 \l +D228 /h D229 |m Pokemon 5 Experience Points -D22A \l -D22B /h HP Stat Expeience -D22C \l +D22A \l +D22B /h HP Stat Expeience +D22C \l D22D /h Attack Stat Experience -D22E \l +D22E \l D22F /h Defense Stat Experience -D230 \l +D230 \l D231 /h Speed Stat Experience -D232 \l +D232 \l D233 /h Special Stat Experience -D234 \l +D234 \l D235 Diversification -- Defense, Attack (HP) D236 Diversification -- Special, Speed (HP) -D237 Current/Maximum PP Move 1 -D238 Current/Maximum PP Move 2 -D239 Current/Maximum PP Move 3 -D23A Current/Maximum PP Move 4 -D23B Current Level +D237 Current/Maximum PP Move 1 +D238 Current/Maximum PP Move 2 +D239 Current/Maximum PP Move 3 +D23A Current/Maximum PP Move 4 +D23B Current Level D23C /h Pokemon 5 Total Hit Points -D23D \l -D23E /h Pokemon 5 Attack -D23F \l -D240 /h Pokemon 5 Defense -D241 \l -D242 /h Pokemon 5 Speed -D243 \l -D244 /h Pokemon 5 Special +D23D \l +D23E /h Pokemon 5 Attack +D23F \l +D240 /h Pokemon 5 Defense +D241 \l +D242 /h Pokemon 5 Speed +D243 \l +D244 /h Pokemon 5 Special D245 \l D246 Pokemon 6 Color Map -D247 /h +D247 /h D248 \l Pokemon 6 Current Hit Points -D249 Unused -D24A Status +D249 Unused +D24A Status D24B Type 1 (does not affect display) -D24C Type 2 (does not affect display) -D24D Scratch Area -D24E Move 1 ID -D24F Move 2 ID -D250 Move 3 ID +D24C Type 2 (does not affect display) +D24D Scratch Area +D24E Move 1 ID +D24F Move 2 ID +D250 Move 3 ID D251 Move 4 ID -D252 /h Pokemon 6 OT ID -D253 \l -D254 /h +D252 /h Pokemon 6 OT ID +D253 \l +D254 /h D255 |m Pokemon 6 Experience Points -D256 \l +D256 \l D257 /h HP Stat Expeience -D258 \l +D258 \l D259 /h Attack Stat Experience -D25A \l +D25A \l D25B /h Defense Stat Experience -D25C \l +D25C \l D25D /h Speed Stat Experience -D25E \l +D25E \l D25F /h Special Stat Experience -D260 \l +D260 \l D261 Diversification -- Defense, Attack (HP) D262 Diversification -- Special, Speed (HP) -D263 Current/Maximum PP Move 1 -D264 Current/Maximum PP Move 2 -D265 Current/Maximum PP Move 3 -D266 Current/Maximum PP Move 4 -D267 Current Level +D263 Current/Maximum PP Move 1 +D264 Current/Maximum PP Move 2 +D265 Current/Maximum PP Move 3 +D266 Current/Maximum PP Move 4 +D267 Current Level D268 /h Pokemon 6 Total Hit Points -D269 \l -D26A /h Pokemon 6 Attack -D26B \l -D26C /h Pokemon 6 Defense -D26D \l -D26E /h Pokemon 6 Speed -D26F \l -D270 /h Pokemon 6 Special +D269 \l +D26A /h Pokemon 6 Attack +D26B \l +D26C /h Pokemon 6 Defense +D26D \l +D26E /h Pokemon 6 Speed +D26F \l +D270 /h Pokemon 6 Special D271 \l -D272 --- -D273 / -D274 | -D275 | -D276 | +D272 --- +D273 / +D274 | +D275 | +D276 | D277 | OT pokemon 1 -D278 | -D279 | -D27A | -D27B \ +D278 | +D279 | +D27A | +D27B \ D27C --- -D27D --- -D27E / -D27F | -D280 | -D281 | +D27D --- +D27E / +D27F | +D280 | +D281 | D282 | OT pokemon 2 -D283 | -D284 | -D285 | -D286 \ +D283 | +D284 | +D285 | +D286 \ D287 --- -D288 --- -D289 / -D28A | -D28B | -D28C | +D288 --- +D289 / +D28A | +D28B | +D28C | D28D | OT pokemon 3 -D28E | -D28F | -D290 | -D291 \ +D28E | +D28F | +D290 | +D291 \ D292 --- -D293 --- -D294 / -D295 | -D296 | -D297 | +D293 --- +D294 / +D295 | +D296 | +D297 | D298 | OT pokemon 4 -D299 | -D29A | -D29B | -D29C \ +D299 | +D29A | +D29B | +D29C \ D29D --- -D29E --- -D29F / -D2A0 | -D2A1 | -D2A2 | +D29E --- +D29F / +D2A0 | +D2A1 | +D2A2 | D2A3 | OT pokemon 5 -D2A4 | -D2A5 | -D2A6 | -D2A7 \ +D2A4 | +D2A5 | +D2A6 | +D2A7 \ D2A8 --- -D2A9 --- -D2AA / -D2AB | -D2AC | -D2AD | +D2A9 --- +D2AA / +D2AB | +D2AC | +D2AD | D2AE | OT pokemon 6 -D2AF | -D2B0 | -D2B1 | -D2B2 \ +D2AF | +D2B0 | +D2B1 | +D2B2 \ D2B3 --- -D2B4 --- -D2B5 / -D2B6 | -D2B7 | -D2B8 | +D2B4 --- +D2B5 / +D2B6 | +D2B7 | +D2B8 | D2B9 | Pokemon 1 Name -D2BA | -D2BB | -D2BC | -D2BD \ +D2BA | +D2BB | +D2BC | +D2BD \ D2BE --- -D2BF --- -D2C0 / -D2C1 | -D2C2 | -D2C3 | +D2BF --- +D2C0 / +D2C1 | +D2C2 | +D2C3 | D2C4 | Pokemon 2 Name -D2C5 | -D2C6 | -D2C7 | -D2C8 \ +D2C5 | +D2C6 | +D2C7 | +D2C8 \ D2C9 --- -D2CA --- -D2CB / -D2CC | -D2CD | -D2CE | +D2CA --- +D2CB / +D2CC | +D2CD | +D2CE | D2CF | Pokemon 3 Name -D2D0 | -D2D1 | -D2D2 | -D2D3 \ +D2D0 | +D2D1 | +D2D2 | +D2D3 \ D2D4 --- -D2D5 --- -D2D6 / -D2D7 | -D2D8 | -D2D9 | +D2D5 --- +D2D6 / +D2D7 | +D2D8 | +D2D9 | D2DA | Pokemon 4 Name -D2DB | -D2DC | -D2DD | -D2DE \ +D2DB | +D2DC | +D2DD | +D2DE \ D2DF --- -D2E0 --- -D2E1 / -D2E2 | -D2E3 | -D2E4 | +D2E0 --- +D2E1 / +D2E2 | +D2E3 | +D2E4 | D2E5 | Pokemon 5 Name -D2E6 | -D2E7 | -D2E8 | -D2E9 \ +D2E6 | +D2E7 | +D2E8 | +D2E9 \ D2EA --- -D2EB --- -D2EC / -D2ED | -D2EE | -D2EF | +D2EB --- +D2EC / +D2ED | +D2EE | +D2EF | D2F0 | Pokemon 6 Name -D2F1 | -D2F2 | -D2F3 | -D2F4 \ +D2F1 | +D2F2 | +D2F3 | +D2F4 \ D2F5 --- D2F6 Pokedex Caught 1-8 D2F7 Pokedex Caught 9-16 @@ -481,218 +481,219 @@ D342 Item 19 Quantity D343 Item 20 Type D344 Item 20 Quantity -D345 Item End-of-List Sentinel -D346 /h (bcd) money -D347 |m (bcd) money -D348 \l (bcd) money -D349 / -D34A | -D34B | -D34C | -D34D | -D34E | Rival's Name -D34F | -D350 | -D351 | -D352 | -D353 \ -D354 Text Speed -D355 Badges -D356 -D357 -D358 -D359 -D35A -D35B -D35C -D35D BEGIN MAP DATA -D35E -D35F -D360 -D361 Player Offset X -D362 Player Offset Y -D363 -D364 -D365 -D366 -D367 -D368 -D369 -D36A -D36B -D36C +D345 Item End-of-List Sentinel T +D346 /h (bcd) money Q +D347 |m (bcd) money T +D348 \l (bcd) money Q +D349 / T +D34A | Q +D34B | T +D34C | Q +D34D | T +D34E | Rival's Name Q +D34F | T +D350 | Q +D351 | T +D352 | Q +D353 \ T +D354 Text Speed Q +D355 Badges T +D356 Q +D357 T +D358 Q +D359 T +D35A Q +D35B T +D35C Q +D35D BEGIN MAP DATA T +D35E Q +D35F T +D360 Q +D361 Player Offset X T +D362 Player Offset Y Q +D363 T +D364 Q +D365 T +D366 Q +D367 T +D368 Q +D369 T +D36A Q +D36B T +D36C Q D36D /l <> the code at the D36E \h stored location EXECUTED on map refresh! -D36F -D370 -D371 -D372 -D373 -D374 -D375 -D376 -D377 -D378 -D379 -D37A -D37B -D37C -D37D -D37E -D37F -D380 -D381 -D382 -D383 -D384 -D385 -D386 -D387 -D388 -D389 -D38A -D38B -D38C -D38D -D38E -D38F -D390 -D391 -D392 -D393 -D394 -D395 -D396 -D397 -D398 -D399 -D39A -D39B END MAP DATA -D39C -D39D -D39E -D39F -D3A0 -D3A1 -D3A2 -D3A3 -D3A4 -D3A5 -D3A6 -D3A7 -D3A8 -D3A9 -D3AA -D3AB -D3AC -D3AD -D3AE -D3AF -D3B0 -D3B1 -D3B2 -D3B3 -D3B4 -D3B5 -D3B6 -D3B7 -D3B8 -D3B9 -D3BA -D3BB -D3BC -D3BD -D3BE -D3BF -D3C0 -D3C1 -D3C2 -D3C3 -D3C4 -D3C5 -D3C6 -D3C7 -D3C8 -D3C9 -D3CA -D3CB -D3CC -D3CD -D3CE -D3CF -D3D0 -D3D1 -D3D2 -D3D3 -D3D4 -D3D5 -D3D6 -D3D7 -D3D8 -D3D9 -D3DA -D3DB -D3DC -D3DD -D3DE -D3DF -D3E0 -D3E1 -D3E2 -D3E3 -D3E4 -D3E5 -D3E6 -D3E7 -D3E8 -D3E9 -D3EA -D3EB -D3EC -D3ED -D3EE -D3EF -D3F0 -D3F1 -D3F2 -D3F3 -D3F4 -D3F5 -D3F6 -D3F7 -D3F8 -D3F9 -D3FA -D3FB -D3FC -D3FD -D3FE -D3FF -D400 -D401 -D402 -D403 -D404 -D405 -D406 -D407 -D408 -D409 -D40A -D40B -D40C -D40D -D40E -D40F -D410 -D411 -D412 -D413 -D414 -D415 -D416 -D417 -D418 -D419 -D41A -D41B \ No newline at end of file +D36F T +D370 Q +D371 T +D372 Q +D373 T +D374 Q +D375 T +D376 Q +D377 T +D378 Q +D379 T +D37A Q +D37B T +D37C Q +D37D T +D37E Q +D37F T +D380 Q +D381 T +D382 Q +D383 T +D384 Q +D385 T +D386 Q +D387 T +D388 Q +D389 T +D38A Q +D38B T +D38C Q +D38D T +D38E Q +D38F T +D390 Q +D391 T +D392 Q +D393 T +D394 Q +D395 T +D396 Q +D397 T +D398 Q +D399 T +D39A Q +D39B END MAP DATA T +D39C Q +D39D T +D39E Q +D39F T +D3A0 Q +D3A1 T +D3A2 Q +D3A3 T +D3A4 Q +D3A5 T +D3A6 Q +D3A7 T +D3A8 Q +D3A9 T +D3AA Q +D3AB T +D3AC Q +D3AD T +D3AE Q +D3AF T +D3B0 Q +D3B1 T +D3B2 Q +D3B3 T +D3B4 Q +D3B5 T +D3B6 Q +D3B7 T +D3B8 Q +D3B9 T +D3BA Q +D3BB T +D3BC Q +D3BD T +D3BE Q +D3BF T +D3C0 Q +D3C1 T +D3C2 Q +D3C3 T +D3C4 Q +D3C5 T +D3C6 Q +D3C7 T +D3C8 Q +D3C9 T +D3CA Q +D3CB T +D3CC Q +D3CD T +D3CE Q +D3CF T +D3D0 Q +D3D1 T +D3D2 Q +D3D3 T +D3D4 Q +D3D5 T +D3D6 Q +D3D7 T +D3D8 Q +D3D9 T +D3DA Q +D3DB T +D3DC Q +D3DD T +D3DE Q +D3DF T +D3E0 Q +D3E1 T +D3E2 Q +D3E3 T +D3E4 Q +D3E5 T +D3E6 Q +D3E7 T +D3E8 Q +D3E9 T +D3EA Q +D3EB T +D3EC Q +D3ED T +D3EE Q +D3EF T +D3F0 Q +D3F1 T +D3F2 Q +D3F3 T +D3F4 Q +D3F5 T +D3F6 Q +D3F7 T +D3F8 Q +D3F9 T +D3FA Q +D3FB T +D3FC Q +D3FD T +D3FE Q +D3FF T +D400 Q +D401 T +D402 Q +D403 T +D404 Q +D405 T +D406 Q +D407 T +D408 Q +D409 T +D40A Q +D40B T +D40C Q +D40D T +D40E Q +D40F T +D410 Q +D411 T +D412 Q +D413 T +D414 Q +D415 T +D416 Q +D417 T +D418 Q +D419 T +D41A Q +D41B T + \ No newline at end of file diff -r 49a709c555f2 -r 5becef6312b9 clojure/com/aurellem/exp/item_bridge.clj --- a/clojure/com/aurellem/exp/item_bridge.clj Sat Mar 24 16:19:43 2012 -0500 +++ b/clojure/com/aurellem/exp/item_bridge.clj Sat Mar 24 20:05:47 2012 -0500 @@ -79,9 +79,6 @@ map-function-address-start [0xD3 0x1D])))) - - - (defn-memo corrupt-moves [] (concat (first @@ -104,8 +101,6 @@ (advance [] [:a]) (advance [:a] [:a :start]))) [[]])) - - (defn corrupt "enter the codes to destroy the @@ -119,10 +114,13 @@ (defn mid-game-corrupt [] (read-state "corrupt-mid-game")) +(defn gen-start-game-corrupt [] + (->> (finish-title) + (advance [:b] [:a :b :start]) + (play-moves (corrupt-moves)))) - - - +(defn start-game-corrupt [] + (read-state "corrupt-start-game")) (defn test-memory-fun [n] (capture-program-counter @@ -197,4 +195,22 @@ (trampoline-assembly (menu-open-state))) (set-memory-range memory-function-address-start - insertion-address-bits)))) \ No newline at end of file + insertion-address-bits)))) + + + +;;map-functions + +;; Room, Upstairs 0xBO 0x40 +;; Room, Downstairs 0x02 0x41 +;; Pallet Town 0xFA 0x4D +;; Rival's House 0x3B 0x5C +;; Oak's Lab 0x92 0x43 +;; Route 1 0x58 0x43 +;; Viridian City 0x2A 0x50 +;; Viridian PkmnCenter 0x5D 0x42 +;; Viridian Mart 0x7A 0x4C +;; Viridian House #1 0x79 0x4D +;; Viridian House #2 0xD3 0x4D +;; Route 22 0xB3 0x4E +;; League Front Gate 0x8D 0x5F \ No newline at end of file diff -r 49a709c555f2 -r 5becef6312b9 clojure/com/aurellem/exp/map-functions.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clojure/com/aurellem/exp/map-functions.txt Sat Mar 24 20:05:47 2012 -0500 @@ -0,0 +1,15 @@ +map-functions + +Room, Upstairs 0xBO 0x40 +Room, Downstairs 0x02 0x41 +Pallet Town 0xFA 0x4D +Rival's House 0x3B 0x5C +Oak's Lab 0x92 0x43 +Route 1 0x58 0x43 +Viridian City 0x2A 0x50 +Viridian PkmnCenter 0x5D 0x42 +Viridian Mart 0x7A 0x4C +Viridian House #1 0x79 0x4D +Viridian House #2 0xD3 0x4D +Route 22 0xB3 0x4E +League Front Gate 0x8D 0x5F diff -r 49a709c555f2 -r 5becef6312b9 clojure/com/aurellem/gb/characters.clj --- a/clojure/com/aurellem/gb/characters.clj Sat Mar 24 16:19:43 2012 -0500 +++ b/clojure/com/aurellem/gb/characters.clj Sat Mar 24 20:05:47 2012 -0500 @@ -14,10 +14,7 @@ :off-turn-pokemon [0x59] :your-pokemon [0x01 0x08 0xD0 0x0] :opponent-pokemon [0x50 0x01 0xD9 0xCF 0x0] - :n-times [0x50 0x09 0x05 0xCD 0x11 0x0] - - }) (def end-of-name-sentinel 0x00) diff -r 49a709c555f2 -r 5becef6312b9 clojure/com/aurellem/gb/pokedex.clj --- a/clojure/com/aurellem/gb/pokedex.clj Sat Mar 24 16:19:43 2012 -0500 +++ b/clojure/com/aurellem/gb/pokedex.clj Sat Mar 24 20:05:47 2012 -0500 @@ -10,14 +10,14 @@ (+ (if capture? pokedex-captured-start-address pokedex-seen-start-address) - (int (/ (dec species-num) 8)))) + (int (/ (dec species-num) 8)))) (defn read-pokedex ([^SaveState state capture? species-num] (bit-test (aget (memory state) (pokedex-offset capture? species-num)) - (rem species-num 8)))) + (rem (dec species-num) 8)))) (defn set-pokedex ([^SaveState state capture? set? species-num] @@ -75,9 +75,9 @@ (map #(.toUpperCase (.substring (str %) 1)) (map pokedex-num->species-name (range 1 152))) (map #(if % " X " " ") - (map read-pokedex-seen (range 152))) + (map read-pokedex-seen (range 1 152))) (map #(if % " X " " ") - (map read-pokedex-captured (range 152))))) + (map read-pokedex-captured (range 1 152))))) (println "+-----------+-------+-------+")) ([] (print-pokedex @current-state))) diff -r 49a709c555f2 -r 5becef6312b9 clojure/com/aurellem/gb/pokemon_presets.clj --- a/clojure/com/aurellem/gb/pokemon_presets.clj Sat Mar 24 16:19:43 2012 -0500 +++ b/clojure/com/aurellem/gb/pokemon_presets.clj Sat Mar 24 20:05:47 2012 -0500 @@ -13,4 +13,34 @@ :speed-exp 0xFFFF :special-exp 0xFFFF} :moves [:fly :surf :cut :strength]}) - \ No newline at end of file + +(def ideal-pikachu + {:species :pikachu + :ID 5195 + :original-trainer "RLM" + + :dv + {:hp 15 + :attack 15 + :defense 15 + :speed 15 + :special 15} + + :experience + {:main-exp 20 + :hp-exp 0xFFFF + :attack-exp 0xFFFF + :defense-exp 0xFFFF + :speed-exp 0xFFFF + :special-exp 0xFFFF} + + :stats + {:level 2 + :current-hp 15 + :hp 15 + :attack 9 + :defense 8 + :speed 10 + :special 8} + + :moves [:thundershock :growl :surf]}) diff -r 49a709c555f2 -r 5becef6312b9 clojure/com/aurellem/gb/saves.clj --- a/clojure/com/aurellem/gb/saves.clj Sat Mar 24 16:19:43 2012 -0500 +++ b/clojure/com/aurellem/gb/saves.clj Sat Mar 24 20:05:47 2012 -0500 @@ -2,7 +2,14 @@ (:use (com.aurellem.gb gb-driver)) (:import [com.aurellem.gb.gb_driver SaveState])) -(defn pre-wild-battle [] (read-state "prepare-for-battle")) +(defn pre-wild-battle [] + (read-state "prepare-for-battle")) (defn pre-trainer-battle [] - (read-state "pre-trainer-battle")) \ No newline at end of file + (read-state "pre-trainer-battle")) + +(defn rlm-pallet-town [] + (read-state "rlm-pallet-town")) + + + diff -r 49a709c555f2 -r 5becef6312b9 save-states/corrupt-start-game.sav Binary file save-states/corrupt-start-game.sav has changed diff -r 49a709c555f2 -r 5becef6312b9 save-states/rlm-pallet-town.sav Binary file save-states/rlm-pallet-town.sav has changed diff -r 49a709c555f2 -r 5becef6312b9 save-states/rlm-prepare-pikachu.sav Binary file save-states/rlm-prepare-pikachu.sav has changed