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