Bryan Bishop
a11b084a28
Merge pull request #39 from kanzure/vba-automation
...
More VBA automation
2013-11-11 10:36:33 -08:00
Bryan Bishop
966985411f
detect the "mandatory switch" menu
...
This requires a slightly slower text_wait function. There is probably a
way to refactor that function in a way that doesn't cause cancer.
2013-11-11 00:55:54 -06:00
Bryan Bishop
1d9ecfa00f
switch tests to use new battle starter
2013-11-11 00:04:32 -06:00
Bryan Bishop
9249ffd2d0
bootstrap the battle tests with more mons
...
Use the givepoke function to add a few more pokemon to the team before
starting the battle-related tests. There are some features of the battle
handling code that require more than one pokemon to be present in the
party.
2013-11-10 23:14:42 -06:00
Bryan Bishop
b94aaa3882
remove more dead code
2013-11-10 23:05:31 -06:00
Bryan Bishop
44ef6852f4
remove old functions
2013-11-10 22:49:19 -06:00
Bryan Bishop
0729ed3554
remove a dead function
2013-11-10 22:45:12 -06:00
Bryan Bishop
409eab1716
start_trainer_battle spawns a battle
2013-11-10 22:43:48 -06:00
Bryan Bishop
9bf214f963
simplify givepoke by using inject_script_into_rom
2013-11-10 19:56:03 -06:00
Bryan Bishop
9310699565
write script to ROM and execute
...
This handles all of the usual tasks that will be required for injecting
and running custom scripts.
2013-11-10 19:49:39 -06:00
Bryan Bishop
d1da18652d
make givepoke work (h/t padz)
2013-11-10 17:53:06 -06:00
Bryan Bishop
bc30cd1e9a
an attempt at givepoke
2013-11-10 17:38:55 -06:00
Bryan Bishop
4fab1088d9
function to start a battle by rocksmash
...
01:04 < padz> u cunt
2013-11-10 16:32:35 -06:00
Bryan Bishop
c76156f3f0
method to lower enemy hp during battle
2013-11-10 16:29:55 -06:00
Bryan Bishop
6b0d8ee855
implement call_script to call CallScript
...
This is the entry point for calling in-game scripts.
2013-11-10 16:29:23 -06:00
Bryan Bishop
b71fbf3852
write inject_asm_into_rom
...
This method injects asm straight into the ROM loaded in the emulator. It
does not overwrite the ROM on the file system.
This method is much slower than the wram version because it involves
copying memory multiples and copying the entire ROM into python and then
sending it back to the emulator.
2013-11-10 15:53:12 -06:00
Bryan Bishop
e700c37844
a working inject_asm implementation
2013-11-10 15:19:15 -06:00
Bryan Bishop
cab54cc723
crude attempt at injecting asm into wram
2013-11-10 15:04:31 -06:00
Bryan Bishop
8b637503a5
allow bank=0 in call()
2013-11-10 14:19:26 -06:00
Bryan Bishop
699ed8c6c1
fix a few call() calls
2013-11-10 14:18:54 -06:00
Bryan Bishop
b36e42494d
stop writing 0x4000 everywhere
2013-11-10 14:13:20 -06:00
Bryan Bishop
271cce5319
make call() calculate bank addresses
2013-11-10 13:56:29 -06:00
Bryan Bishop
a6118071a0
broken attempt at calling givepoke
2013-11-10 13:53:24 -06:00
Bryan Bishop
5495504228
make sure an attack works (new test)
2013-11-09 17:57:23 -06:00
Bryan Bishop
982cff40af
draw the menu in skip_until_input_required
...
Step forward 10 frames so that the menu actually draws. Otherwise the
user will probably be confused about the actual state of the battle.
2013-11-09 17:55:30 -06:00
Bryan Bishop
d5989b755a
write another quick battle test
2013-11-09 15:59:16 -06:00
Bryan Bishop
eb31936aa7
simplify the battle tests
2013-11-09 15:53:17 -06:00
Bryan Bishop
3868fb1e06
simplify the vba-related tests
...
The imports for the emulator-related tests are now simplified in the
tests/ folder. The bootstrapping.py file contains some shared functions
that multiple test files might choose to use. Those functions probably
belong in the actual module instead of in tests/.
The battle-related tests have been separated from the other emulator
tests.
2013-11-09 15:45:03 -06:00
Bryan Bishop
54e2b189b8
Merge branch 'master' into vba-automation
...
Conflicts:
pokemontools/vba/vba.py
2013-11-09 15:25:34 -06:00
Bryan Bishop
ff55a23ece
Merge pull request #47 from kanzure/testing-fixups
...
Testing fixups
2013-11-09 13:23:04 -08:00
Bryan Bishop
8f0b06f22e
fix an import in tests.py
2013-11-09 15:21:59 -06:00
Bryan Bishop
efd71a5cd3
fix some configuration in vba/vba.py
2013-11-09 15:21:43 -06:00
Bryan Bishop
b363e6cca0
fix a syntax error in battle.py
2013-11-09 15:18:55 -06:00
Bryan Bishop
8c7e2bcae7
Merge branch 'master' into vba-automation
2013-11-09 15:16:48 -06:00
Bryan Bishop
cc40339298
import Battle for testing
2013-11-09 15:16:34 -06:00
Bryan Bishop
1d2239e091
Merge pull request #46 from kanzure/fix-old-parsers-test-imports
...
Fix a few imports for testing an old func
2013-11-09 13:11:13 -08:00
Bryan Bishop
cddfe3804d
fix a few imports for testing an old func
2013-11-09 15:10:06 -06:00
Bryan Bishop
fd61c8f460
fix move() for lists of commands
2013-11-09 15:09:21 -06:00
Bryan Bishop
11664e2ac6
a basic battle test
2013-11-09 15:08:04 -06:00
Bryan Bishop
6a1699d32e
even more comments in the battle routines
2013-11-09 14:50:55 -06:00
Bryan Bishop
1ac0e437d1
add a bunch of docstrings in the battler
2013-11-09 14:44:36 -06:00
yenatch
3013246d69
cry_names: zfill(2)
2013-11-08 22:49:47 -05:00
yenatch
e7385d6f04
audio: less ambiguous tuple unpacking
2013-11-08 22:49:25 -05:00
yenatch
85fa5a06c0
audio: sfx and cries are contiguous
...
songs for the most part are independent
sfx/cry headers are grouped together and most sound data is shared
2013-11-08 22:47:31 -05:00
yenatch
6b434d2230
oops forgot the cries
2013-11-07 02:11:00 -05:00
yenatch
a9aae36888
fix spacing for pokered music command classes
2013-11-07 01:00:14 -05:00
yenatch
5612a982ab
add some extra music command classes
2013-11-07 00:58:58 -05:00
yenatch
2d30d0bca7
crystal: use rom.interval instead of rom_interval
...
rom_interval got broken when globals got nuked
it's probably a bad idea to keep the function around but it's supposed to work eventually
2013-11-07 00:48:43 -05:00
yenatch
ea28149195
preprocessor: from_asm method and is_rgbasm_macro in command classes
...
enjoy this half-assed implementation
2013-11-07 00:41:44 -05:00
yenatch
ec52d62700
sound parsing actually works now
...
+ sorted out output semantics
+ cross-song label references
+ incbins
2013-11-07 00:29:37 -05:00