Commit Graph

532 Commits

Author SHA1 Message Date
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
yenatch
2cdf7a3688 include all compressed and decompressed graphics
* frontpics & animation tiles
* backpics
* trainer pics
* attack animation gfx
* intro gfx
* intro tilemaps
* title gfx
* tilesets
* player backpic
* dude backpic
* pokegear/town map

fixes #33, #34 and #35
2013-01-04 04:08:13 -06:00
yenatch
e91f41dd35 allow other files to import gfx.py 2013-01-02 04:37:45 -05:00
yenatch
3e953ad7b6 make gfx.py more convenient from command line 2013-01-01 16:31:05 -05:00
Bryan Bishop
98c1d9d09d Merge pull request #51 from yenatch/master
Image compression/decompression.
2012-12-31 20:10:43 -08:00
yenatch
a3fe9c00d0 decompress all known gfx 2012-12-31 22:53:40 -05:00
Bryan Bishop
da8b1e06e5 clean up whitespace 2012-12-28 12:37:58 -06:00
Bryan Bishop
3b20ea2916 Merge remote branch 'remotes/yenatch/master'
fixes #49
2012-12-23 02:57:21 -06:00
IIMarckus
19ce6e7a74 specialphonecall takes a 16‐bit ID. 2012-12-17 21:00:41 -07:00
Bryan Bishop
531ccfb5f6 update gbz80disasm to not use $ff00+$ff syntax 2012-12-16 09:16:04 -06:00
padz
3bae3a5313 make gbz80disasm easier to use externally 2012-12-14 02:47:13 -05:00
Bryan Bishop
671e2b1289 md5 -> hashlib 2012-11-30 10:17:23 -06:00
Bryan Bishop
a1a9fa5560 move allowed_lengths for music macros out
This moves the allowed_lengths setting out of the preprocessor. Special
cases should not be hardcoded in the preprocessor.
2012-11-30 09:54:02 -06:00
padz
3626ddebd1 implement music macros; INCLUDE injection in pre 2012-11-30 05:58:00 -05:00
padz
1b54f73323 play nice w/ cygwin; undeprecate used command 2012-11-15 02:33:02 -05:00
Bryan Bishop
69c0125112 remove deprecated functions from crystal.py 2012-10-11 19:05:49 -05:00
Bryan Bishop
82f7e98306 get an address given a label 2012-10-11 18:52:54 -05:00
Bryan Bishop
e6c95e22c9 clean up comments in extras/crystal.py
This fixes the inconsistent comment formatting throughout the file.

There should be a space between the comment token and the comment
message, otherwise this file is less fun to read.
2012-10-01 13:11:52 -05:00
Bryan Bishop
e1ff7f98de generate labels.json automagically in gbz80disasm 2012-09-10 22:30:58 -05:00
Bryan Bishop
d23972b7a3 call load_asm in scan_for_predefined_labels 2012-09-10 22:30:58 -05:00
Bryan Bishop
0c3ba03d37 Merge pull request #22 from iimarckus/decimal1
Decimal1
2012-07-08 23:25:49 -07:00
IIMarckus
fa019d2f51 Add some functions from Mobile Stadium. 2012-07-07 19:51:02 -06:00
Bryan Bishop
6f8c3e5c3e use decimal output for givepoke in extras/crystal.py 2012-07-05 10:25:33 -05:00
Bryan Bishop
b85d9b86ad use os.path.join instead of cowboying it 2012-07-01 08:55:21 -05:00
Bryan Bishop
86cb61dbe8 make pokecrystal compatible with python2.6 by default 2012-07-01 08:48:27 -05:00
Bryan Bishop
58c696cfd3 use extras/labels.json and not ./labels.json in romstr.py 2012-07-01 08:44:20 -05:00
Bryan Bishop
85d26e31a5 better graph-generating routines 2012-07-01 08:41:38 -05:00
Bryan Bishop
fcf43b13da fix romstr for compiling (thanks pasky) 2012-07-01 08:41:14 -05:00
Bryan Bishop
3359121ba7 graph.py - parse pokecrystal into a function graph for d3.js 2012-06-21 03:37:13 -05:00
Bryan Bishop
e471fbeb32 continue at relative jumps and fix formatting 2012-06-20 21:13:24 -05:00
Bryan Bishop
36eb6c726a use labels in the disassembler output 2012-06-20 01:51:23 -05:00
Bryan Bishop
099295bb3d load labels into the new disassembler 2012-06-20 01:42:48 -05:00
Bryan Bishop
1342ab67db more de-dependency-looping 2012-06-20 01:42:33 -05:00
Bryan Bishop
ca07f1d64c move code around to avoid dependency loops 2012-06-20 01:13:15 -05:00
Bryan Bishop
e2babd69fb use romstr.py as the new disassembler 2012-06-19 23:59:49 -05:00
Bryan Bishop
96596c6944 asm output for the new disassembler 2012-06-19 23:42:12 -05:00
Bryan Bishop
96ca472fc9 implement a formatted-with-labels version of the opcode line 2012-06-19 22:54:20 -05:00
Bryan Bishop
9a4158462b remove debug lines 2012-06-19 22:40:38 -05:00
Bryan Bishop
132182e263 super duper disassembler fixes 2012-06-19 22:12:52 -05:00
Bryan Bishop
4b7ca69344 advance forward when disassembling the rom 2012-06-14 21:54:25 -05:00
Bryan Bishop
b19db1e604 broken disassembler 2012-06-10 22:55:05 -05:00
Bryan Bishop
cd60a1f0e4 backtracking and labeling for the disassembler 2012-06-10 18:26:18 -05:00
Bryan Bishop
10a5a6518d somewhat improved disassembler 2012-06-10 12:24:33 -05:00
Bryan Bishop
3233cead33 sleepy disassembling 2012-06-07 01:37:55 -05:00
Bryan Bishop
4ccfe27e4a more awful code for the new disassembler 2012-06-07 01:24:38 -05:00
Bryan Bishop
7dd0c86a6b almost complete new disassembler version 2012-06-07 01:07:48 -05:00
Bryan Bishop
0768fead4f more cleaning 2012-06-06 21:04:40 -05:00
Bryan Bishop
c79db81d43 remove more code cruft 2012-06-06 21:00:30 -05:00
Bryan Bishop
48b2237b82 remove some code cruft from gbz80disasm 2012-06-06 20:43:02 -05:00
Bryan Bishop
315edbe14b get RomStr from romstr.py in gbz80disasm 2012-06-06 20:26:02 -05:00
Bryan Bishop
9144706510 make unittest2 error show up in stderr 2012-06-02 11:42:09 -05:00
Bryan Bishop
376f65a4fd temporarily disable label-usage (find_label) in gbz80disasm 2012-05-31 02:02:41 -05:00
Bryan Bishop
8add342a85 find functions based on first few similar bytes 2012-05-31 02:02:23 -05:00
Bryan Bishop
e954781618 hooray PrintNumber_PrintLeadingZero is also shared 2012-05-29 15:04:19 -05:00
Bryan Bishop
53b0dd13a8 comparator.py - find shared functions between pokered/pokecrystal 2012-05-29 14:50:56 -05:00
Bryan Bishop
d174c8b7c6 fix up AsmSection and line_has_comment_address 2012-05-29 14:50:35 -05:00
Bryan Bishop
0edf9eb8b8 move AsmList into romstr.py too 2012-05-29 13:19:02 -05:00
Bryan Bishop
ee7d39bf04 move RomStr into a shared file 2012-05-29 13:08:43 -05:00
Bryan Bishop
0aecb683a0 use map constants for wildmons sections 2012-05-28 10:30:45 -05:00
Bryan Bishop
a9b0eb4d87 update to_asm on MapHeader to use the BANK macro 2012-05-28 09:51:49 -05:00
Bryan Bishop
5e37b9a97f insert all map connections 2012-05-28 00:16:38 -05:00
Bryan Bishop
2fe10a6682 don't use any particular formula for strip-destination west/east 2012-05-27 23:50:18 -05:00
Bryan Bishop
7d9552b5fa fix typo in strip destination pointer (north) calculations 2012-05-27 20:02:34 -05:00
Bryan Bishop
d48ce59997 do all the connection to_asm output 2012-05-27 19:45:44 -05:00
Bryan Bishop
da74952bf7 asm output for strip pointer formulas 2012-05-27 18:24:09 -05:00
Bryan Bishop
5b59d0776b better formulas for strip_destination and window 2012-05-27 15:54:44 -05:00
Bryan Bishop
a32c6d0aa4 improve formulas for calculating strip_pointer 2012-05-27 13:46:58 -05:00
Bryan Bishop
56e0795d0d better equations for calculating strip_pointer in connections 2012-05-27 12:51:53 -05:00
Bryan Bishop
fbaadd97ac some broken code 2012-05-26 23:13:48 -05:00
Bryan Bishop
3a614ddcea east connections? 2012-05-26 22:19:53 -05:00
Bryan Bishop
30695eec25 fix MainText/PokedexText interaction 2012-05-26 16:10:11 -05:00
Bryan Bishop
d88ea77cfa start to parse the connection data 2012-05-26 14:46:34 -05:00
Bryan Bishop
6074a55e3d minor whitespace fix 2012-05-24 22:01:50 -05:00
Bryan Bishop
64f52b32ef fix more height/weight confusion and whitespacing 2012-05-23 19:40:12 -05:00
Sanky
765b555b47 Dumped Pokédex data and entries. 2012-05-24 02:33:42 +02:00
Bryan Bishop
4ec6dfc5fe fix PokedexText? 2012-05-23 18:15:48 -05:00
Bryan Bishop
38eae01fcd fix PokedexText 2012-05-23 17:56:34 -05:00
Bryan Bishop
1663472cf6 quick fix for PokedexText 2012-05-23 17:39:30 -05:00
Bryan Bishop
0c778f2930 use PokedexText to parse text-script-like text without the first bash command 2012-05-23 17:38:15 -05:00
IIMarckus
bd1760f3f9 Use Pokémon IDs for the “cry” macro. 2012-05-22 19:57:09 -06:00
Bryan Bishop
4b2d26965e dump-insert the stringtotext targets 2012-05-22 11:57:00 -05:00
Bryan Bishop
2567957692 use EncodedText for stringtotext params 2012-05-22 11:50:25 -05:00
Bryan Bishop
cb5eae3e9d check if trainer_names has been set yet before using that key 2012-05-22 11:44:42 -05:00
Bryan Bishop
c16d796c27 add '@' to EncodedText output 2012-05-22 11:38:57 -05:00
Bryan Bishop
05686167d7 SUPERNERD -> SUPER_NERD in trainer constants 2012-05-21 08:39:11 -05:00
Bryan Bishop
e517b30a14 at least try to keep HoOh in tact in label names 2012-05-21 01:38:11 -05:00
Bryan Bishop
7641b53a6a fix line continuation syntax error 2012-05-21 01:35:45 -05:00
Bryan Bishop
9ea35422f8 add trainer id to trainer fragment headers for grunts 2012-05-21 01:34:21 -05:00
Bryan Bishop
377a212322 improvements to map_name_cleaner 2012-05-21 01:31:26 -05:00
Bryan Bishop
ba72006077 add the labels to the scripts, not to the params pointing to scripts 2012-05-20 14:32:19 -05:00
Bryan Bishop
a34d4621ee better signpost labeling 2012-05-20 14:23:13 -05:00
Bryan Bishop
61d3b8a6b4 use better label for MapEventHeader 2012-05-20 09:56:27 -05:00
Bryan Bishop
a27a7f2892 reuse pre-existing/pre-inserted MapBlockData objects when possible 2012-05-20 09:37:43 -05:00
Bryan Bishop
2c73f020a6 make map header labels use better rules 2012-05-20 09:32:59 -05:00
Bryan Bishop
1286f37a85 don't add TrainerGroupTable to future dumps 2012-05-20 04:32:39 -05:00
Bryan Bishop
38b9862002 give better labels to TrainerFragment subobjects like texts and scripts 2012-05-20 04:29:19 -05:00
Bryan Bishop
219c4865e3 create better labels for TrainerFragments 2012-05-20 04:11:37 -05:00
Bryan Bishop
6a2dc36749 rename cal's header to PKMN Trainer 2012-05-20 03:57:12 -05:00
Bryan Bishop
be8a5d6c6a remove extra spacing in crystal.py 2012-05-20 03:39:25 -05:00
Bryan Bishop
609e94774c make TrainerFragment.to_asm() use trainer constants 2012-05-20 03:33:35 -05:00
Bryan Bishop
35e6903395 better asm output for TrainerHeader and TrainerGroupHeader 2012-05-20 03:20:01 -05:00
Bryan Bishop
efd43a17b2 improve MoveParam to handle zeroed-out moves 2012-05-20 03:15:36 -05:00
Bryan Bishop
40000ca816 fix quick syntax error 2012-05-20 03:11:22 -05:00
Bryan Bishop
569dec4a85 initial MoveParam class 2012-05-20 03:10:40 -05:00
Bryan Bishop
a28311ff90 move_constants.py - store moves for MoveParam 2012-05-20 03:10:26 -05:00
Bryan Bishop
1fb70a4b4f update TrainerGroupParam and TrainerIdParam to use better constant/number rules 2012-05-20 03:02:35 -05:00
Bryan Bishop
b731d8d1f8 update the constants for BLACKBELT_T and PSYCHIC_T in trainers.py 2012-05-20 02:52:51 -05:00
Bryan Bishop
c08a543620 fix duplicate BENNY trainer name 2012-05-20 02:50:21 -05:00
Bryan Bishop
fafb53ebf9 fix RIVAL1 trainer id labeling 2012-05-20 02:21:26 -05:00
Bryan Bishop
11177b9b7d spit out trainer id constants 2012-05-20 02:15:40 -05:00
Bryan Bishop
8124e76940 move around the trainers.py import line 2012-05-20 00:24:25 -05:00
Bryan Bishop
4c45171213 add 'trainer_names' key to each trainer header in trainer_group_names 2012-05-20 00:20:31 -05:00
Bryan Bishop
6f49b01c4b make better trainer names 2012-05-20 00:02:43 -05:00
Bryan Bishop
424300a803 add default constants to trainer_group_names 2012-05-19 22:35:05 -05:00
Bryan Bishop
6d7a20692a use GruntM/GruntF for the trainer group names 2012-05-19 22:25:53 -05:00
Bryan Bishop
4aa953cc38 setup rules for which trainer groups should use which naming scheme 2012-05-19 22:02:11 -05:00
Bryan Bishop
7098fccc22 rename some trainer groups 2012-05-19 21:50:07 -05:00
Bryan Bishop
a001c51bd4 fix TrainerGroupTable.get_dependencies() 2012-05-19 21:13:57 -05:00
Bryan Bishop
aed366e59d update trainer group names for the new rules 2012-05-19 19:26:29 -05:00
Bryan Bishop
fd094d17bf add missing trainer header for twins lea & pia 2012-05-19 18:54:32 -05:00