Commit Graph

551 Commits

Author SHA1 Message Date
yenatch
9fc8d527f7 Fix PointerLabelToScriptPointer class
used the current address instead of the parsed address
2013-04-30 20:29:15 -04:00
Bryan Bishop
0e47273378 Merge yenatch/master. 2013-04-27 17:29:29 -05:00
yenatch
494f4c13fe damagecalc is actually damagestats; itemmultiplier is actually damagecalc 2013-04-20 02:55:50 -04:00
yenatch
e21fc0fad1 make chars consistent with preprocessor 2013-03-29 21:50:24 -04:00
yenatch
dc81d0cfcf dump move effects 2013-03-29 18:54:42 -04:00
Bryan Bishop
4332a25bd5 fix docstring formatting everywhere 2013-03-21 15:15:42 -05:00
Bryan Bishop
1abb020335 Merge pull request #124 from yenatch/master
hram labels + png make target
2013-03-20 20:12:48 -07:00
yenatch
b570c4d6e6 fix path handling in png make target
lz files were being decompressed to the top directory (gfx/)
2013-03-18 16:36:30 -04:00
Bryan Bishop
e0e902b1c7 dump tileset pngs in gfx.py 2013-03-18 04:52:49 -05:00
yenatch
c19dcb996c Fix unused function parse_map_header_by_id
'Dunno' exception always fired even if parameters were correct
2013-03-18 00:30:37 -04:00
Bryan Bishop
36a0acbde1 Merge pull request #122 from yenatch/master
vba config shouldn't need fiddling out of the box
2013-03-07 21:05:14 -08:00
yenatch
a46a4b35a2 vba - generalize project path in config 2013-03-07 23:39:21 -05:00
yenatch
91b24953f6 vba - suppress joypad input message 2013-03-07 23:27:55 -05:00
Bryan Bishop
6a3cf4e393 vba - record/replay button sequences 2013-03-05 01:56:25 -06:00
Bryan Bishop
0fa5d9a162 vba - keyboard input optimization 2013-03-04 03:08:00 -06:00
Bryan Bishop
a1ed7e7658 vba - basic cheating infrastructure 2013-03-03 21:42:35 -06:00
Bryan Bishop
9ee0600524 vba - separate config 2013-03-01 22:45:30 -06:00
Bryan Bishop
3255093451 vba - run without unit tests 2013-03-01 22:31:20 -06:00
Bryan Bishop
c2932b0490 vba - also install jython 2013-03-01 22:11:45 -06:00
Bryan Bishop
e59fa73c95 vba - improve install instructions 2013-03-01 21:40:49 -06:00
yenatch
a7c260f4f4 Script commands 0xb2 and 0xcc don't exist 2013-03-01 16:22:35 -05:00
Bryan Bishop
bcfac567ed fix bank handling in vba.call 2013-03-01 13:30:44 -06:00
Bryan Bishop
f0767fb15a vba - example unit testing of roms 2013-03-01 12:36:17 -06:00
Bryan Bishop
caa1dc10dd vba - call arbitrary functions from jython 2013-03-01 02:43:55 -06:00
Bryan Bishop
b543827ee4 vba - fix off-by-one error in registers 2013-02-28 22:26:58 -06:00
Bryan Bishop
7dc2c3129b vba - better way to deal with registers 2013-02-28 22:23:01 -06:00
Bryan Bishop
37fac8a714 vba - get text on screen 2013-02-28 20:38:11 -06:00
Bryan Bishop
4941f473a2 vba - set_registers 2013-02-28 04:33:54 -06:00
Bryan Bishop
9a20ba1d3f remove code slop 2013-02-28 04:32:28 -06:00
Bryan Bishop
a98dcc1745 vba warp function 2013-02-28 04:31:45 -06:00
Bryan Bishop
23003bd772 disassemble scripting engine commands
All commands are in scripting.asm, and there's also a small python
script that was written to assist with some of the automation.
2013-02-27 23:31:12 -06:00
Bryan Bishop
01e10a11b2 update gbz80disasm for handling known fall-throughs
When disassembling a group of functions, sometimes there are other
functions known in advance. By passing in a list called stop_at to
gbz80disasm, it is possible to prevent disassembled asm from running on
for longer than necessary.
2013-02-27 21:41:03 -06:00
Bryan Bishop
0e2ab04353 update automatic main.asm insertion
This updates the automatic parsing of main.asm to catch cases of INCBINs
pulling in files that end in .asm, .lz, .1bpp, and .2bpp. This is
necessary because otherwise the parser tries to figure out the start and
end addresses expressed on the INCBIN line, details not present on these
types of lines in the asm.

Asm and Asm.insert_all are now back in working condition.
2013-02-27 21:38:53 -06:00
Bryan Bishop
381d3e76b7 include_last_address for disassembler
This is an extra option that is on by default for gbz80disasm, which is
useful in situations where you may not want the last address to be
included (like if the output of the disassembler is going to be sent to
to_asm anyway).
2013-02-27 20:03:18 -06:00
Bryan Bishop
affcd587d6 make to_asm more configurable 2013-02-27 20:02:51 -06:00
Bryan Bishop
2a04c1c20a fix parameters for verbosegiveitem2 definition 2013-02-27 17:22:07 -06:00
Bryan Bishop
d2b464e51d describedecoration is an ender 2013-02-27 17:21:10 -06:00
Bryan Bishop
821d794898 oops, include map_names 2013-02-27 03:01:49 -06:00
Bryan Bishop
ec098d1a03 various helper functions for the vba interface
New vba.py features include:
* get_memory_at
* get_memory_range
* set_memory_at

Also, the "crystal" class has a number of specialty helpers:
* crystal.walk_through_walls
* crystal.get_player_name
* crystal.get_map_name
* crystal.get_xy
* crystal.nstep (which sets memory each step by calling certain
* functions, like walk_through_walls)
* crystal.is_in_battle
* crystal.get_gender
2013-02-26 21:49:54 -06:00
Bryan Bishop
160acfa296 separate map_names into map_names.py 2013-02-26 21:30:24 -06:00
Bryan Bishop
12c8255067 jython bindings to vba-linux/vba-closure (vba-rr)
A bunch of functions and tools to run vba-clojure (a fork of
vba-rerecording specifically for compiling on Linux, bound to the JVM
through JNI).
2013-02-26 02:29:12 -06:00
yenatch
7f7f461240 Export any detected palettes to png by default
Checks for any palette using the same name as the 2bpp file.
2013-02-12 03:40:41 -05:00
yenatch
ad0578fda0 Fix png export orientation
A quirk of the Decompressed class dissociated the orientation from
the output attribute.

The makefile no longer suppresses output since it's still relevant.
2013-02-12 03:31:35 -05:00
yenatch
0b8c5ef75b Finish off make target for png generation
Now any existing lz files are converted to 2bpp, and all 2bpp files
are converted to png.
2013-02-11 17:59:43 -05:00
yenatch
98d8914b62 better dimension handling in 2bpp->png 2013-02-11 04:13:36 -05:00
yenatch
d1172e1fb6 Add build target to mass-generate pngs from 2bpp files 2013-02-11 04:13:36 -05:00
yenatch
80600f9291 Infrastructure to dump pngs for 2bpp graphics 2013-02-11 04:12:59 -05:00
yenatch
e7762890aa Don't try to convert empty 2bpp files
Also, make non-square images 1 tile wide
Minor path fixes and cleanup
2013-02-09 06:26:09 -05:00
yenatch
70280c0c3f Add some command-line interfaces for use w/ makefile
Extras:
-function to dump trainer pals
-fix testing leftover in a compression function
-keep load_rom() from getting in the way (relative address breaks extras)
2013-02-09 04:36:36 -05:00
yenatch
da205909c0 implement png import/export
palette export works fine, but palette import is disabled for now
2013-02-07 21:03:19 -05:00
yenatch
4d44c2c0e6 Condense pic dimensions table 2013-02-06 02:09:57 -05:00
Bryan Bishop
57200b6cf7 simplify load_rom in gbz80disasm 2013-02-03 15:18:06 -06:00
Bryan Bishop
82b8b5121a enable labels in gbz80disasm
fixes #102
2013-02-03 15:10:14 -06:00
Bryan Bishop
73c374a366 README: fix testing instructions 2013-01-27 19:22:12 -06:00
Bryan Bishop
eb6cb9812d dump_sections - tool to dump a skeleton asm file 2013-01-27 19:10:42 -06:00
Bryan Bishop
9a29def250 basic type_constants data 2013-01-27 17:46:48 -06:00
Bryan Bishop
fd6bb7de55 various formatting fixes for crystal.py 2013-01-27 17:33:25 -06:00
Bryan Bishop
5b2848b419 replace wildcard import with explicit import 2013-01-27 17:20:41 -06:00
Bryan Bishop
edee13391d add character encoding header in pksv.py 2013-01-27 17:17:45 -06:00
Bryan Bishop
9e9c37f577 py26 fix for RomStr.load_labels (json) 2013-01-27 17:14:59 -06:00
Bryan Bishop
db5208b41f make gbz80disasm work with python2.6 again
There was an incompatible change to the json module api between py26 and
py27, causing gbz80disasm to not work with py26. The fix is to simply
alias the new loads method to the old read function.

A possibly better plan might be to not support py26 at all.
2013-01-27 17:13:18 -06:00
Bryan Bishop
00a2e4e119 pedantic formatting changes for pointers.py 2013-01-27 17:08:14 -06:00
Bryan Bishop
3b7089411b add character encoding headers to other files 2013-01-27 17:07:32 -06:00
Bryan Bishop
12c06174d8 fix headers and imports in labels.py 2013-01-27 17:05:52 -06:00
Bryan Bishop
47a828c1dc set character encoding header in interval_map.py 2013-01-27 17:05:17 -06:00
Bryan Bishop
74a4d65884 fix imports in graph.py
Although graph.py never used DisAsm, it was still trying to import the
deprecated class. Removed.
2013-01-27 17:03:51 -06:00
Bryan Bishop
26ed5760a2 fix header comments in graph.py 2013-01-27 17:03:00 -06:00
Bryan Bishop
f22bbdd722 remove a duplication of load_rom and load_asm 2013-01-27 17:00:51 -06:00
Bryan Bishop
0ee57e94db clean up lousy headers in comparator.py 2013-01-27 16:56:31 -06:00
Bryan Bishop
59d0c6bc03 better import syntax in comparator.py 2013-01-27 16:55:52 -06:00
Bryan Bishop
4dfb8d3b09 better import syntax in crystal.py 2013-01-27 16:54:58 -06:00
Bryan Bishop
ac47399e66 remove extra whitespace in gbz80disasm 2013-01-27 16:52:20 -06:00
Bryan Bishop
00f1b71cd4 remove a broken, unfinished disassembler (DisAsm)
This removes DisAsm from romstr.py, which was the only reason that
gbz80disasm wasn't able to import RomStr from romstr.py.

DisAsm was an experimental gbz80 disassembler that was meant to replace
gbz80disasm eventually. The goals were to write cleaner code and write
more unit tests. But it never worked and the code quality looks close to
being the same as gbz80disasm anyway.
2013-01-27 16:49:35 -06:00
Bryan Bishop
a1579ab519 allow unicode addresses in RomStr.to_asm 2013-01-27 16:46:52 -06:00
Bryan Bishop
500d47f4cc add character encoding header in gbz80disasm.py 2013-01-27 16:43:03 -06:00
Bryan Bishop
4e1e9ed229 include character encoding header in romstr.py 2013-01-27 16:42:23 -06:00
Bryan Bishop
8f4b5dae2a better formatting for romstr imports 2013-01-27 16:41:35 -06:00
Bryan Bishop
5eb81b07f3 RomStr doesn't need deepcopy 2013-01-27 16:40:09 -06:00
Bryan Bishop
86150b0f8a commentify report_untested 2013-01-27 16:37:48 -06:00
Bryan Bishop
bc167bedb7 fix label imports in tests 2013-01-27 16:34:21 -06:00
Bryan Bishop
44db66e13e fix AsmList import in tests 2013-01-27 16:32:52 -06:00
Bryan Bishop
564a1b5874 fix pksv imports in tests 2013-01-27 16:30:27 -06:00
Bryan Bishop
50ae458b08 fix calculate_pointer in tests 2013-01-27 16:29:30 -06:00
Bryan Bishop
f8b1695b54 split out more item_constants stuff
Some of the item_constants functions are now placed in
item_constants.py, and the unit tests now import from that file rather
than from crystal.py for those functions.
2013-01-27 16:27:41 -06:00
Bryan Bishop
35682de426 split out tests into a separate file 2013-01-27 07:22:31 -06:00
Bryan Bishop
a826951adb fix label generator
Recently the bank lines were changed to use lowercase characters,
breaking the generator for "labels.json".
2013-01-23 18:32:23 -06:00
yenatch
cd0f717305 update gfx.py to reflect new structure 2013-01-22 05:01:21 -05:00
Bryan Bishop
0a54ce9e75 clean up python script imports 2013-01-15 16:20:10 -06:00
Bryan Bishop
80781e56f0 remove the Size class (unused) 2013-01-15 16:15:25 -06:00
Bryan Bishop
536df0787f split out IntervalMap into a separate file 2013-01-15 16:12:26 -06:00
Bryan Bishop
7a33b66ab4 Merge pull request #86 from yenatch/master
3jumptext is an ender.
2013-01-14 20:44:07 -08:00
yenatch
669c461ad8 forgot to make 3jumptext an ender 2013-01-14 23:19:31 -05:00
Bryan Bishop
e09aff7715 Merge pull request #85 from yenatch/master
More script commands.
2013-01-14 19:25:54 -08:00
yenatch
28b565a01c add missing script command (3jumptext) 2013-01-14 21:44:47 -05:00
Bryan Bishop
df680fde38 Merge pull request #84 from yenatch/master
make script parsing less terrible
2013-01-14 01:48:24 -08:00
yenatch
acd6d354c8 banish script parser output to debug 2013-01-14 03:15:47 -05:00
IIMarckus
818a82a20e Fix typo. 2013-01-13 16:12:25 -07:00
yenatch
9fbe7ea423 make careless use of gfx.py less fatal 2013-01-13 00:40:13 -05:00
yenatch
238f406024 implement rgb macro for palettes 2013-01-13 00:38:48 -05:00
yenatch
e59a7c8d6f add symfile generation 2013-01-10 03:00:46 -05:00