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
Bryan Bishop
7762fd89d2
add missing trainer header for kimono girl miki
2012-05-19 18:52:23 -05:00
Bryan Bishop
49c9557964
add missing blackbelt wai
2012-05-19 18:44:00 -05:00
Bryan Bishop
844dfb7d8a
add missing jugglers
2012-05-19 18:42:46 -05:00
Bryan Bishop
2f470415e1
add two missing biker trainer headers
2012-05-19 18:36:11 -05:00
Bryan Bishop
c735786ceb
fix missing supernerd markus
2012-05-19 18:33:42 -05:00
Bryan Bishop
6008b1a96c
pick up the third CAL trainer header
2012-05-19 18:28:23 -05:00
Bryan Bishop
e52d1e9415
add TrainerGroupHeaders to script_parse_table
2012-05-19 17:30:49 -05:00
Bryan Bishop
82731321cb
parse multiple party mons per trainer
2012-05-19 16:39:36 -05:00
Bryan Bishop
fb7c3a3ea5
move trainer parsing classes into crystal.py
2012-05-19 15:43:26 -05:00
Bryan Bishop
1d6fa83902
finish up the classes related to TrainerGroupHeader
2012-05-19 15:31:35 -05:00
Bryan Bishop
38726204c8
better comments on trainer_group_report
2012-05-19 15:30:02 -05:00
Bryan Bishop
810e20cc04
use report_unreferenced_trainer_ids to show which ids are probably valid but unused
2012-05-19 13:57:19 -05:00
Bryan Bishop
e0eb31df73
parse TrainerGroupTable in run_main after everything else
2012-05-19 01:44:44 -05:00
Bryan Bishop
e562ffeedf
update trainer names
2012-05-18 22:55:32 -05:00
Bryan Bishop
e7f90ba15b
add charset encoding for trainers.py
2012-05-18 22:47:07 -05:00
Bryan Bishop
2d4d6399db
find last trainer id in each trainer group
2012-05-18 21:53:17 -05:00
Bryan Bishop
a6efb7f0fb
extract trainer group id and trainer id from TrainerFragment objects
2012-05-18 21:31:51 -05:00
Bryan Bishop
a17ef09e10
work towards parsable trainer group headers
2012-05-18 21:31:14 -05:00
Bryan Bishop
9c9d6a2286
fixing up trainer names
2012-05-18 20:33:15 -05:00
Bryan Bishop
235b123666
initial work on trainer name parsing
2012-05-18 16:48:39 -05:00
Bryan Bishop
979b376741
generate helpful labels for maps
2012-05-17 00:40:40 -05:00
Bryan Bishop
a049ef74f8
use db instead of item_frag on ItemFragment remote chunks
2012-05-16 21:16:28 -05:00
Bryan Bishop
ac19eb2826
don't repeat-parse movement scripts, and set bank=1 for $4000 <= x <= $7FFF
2012-05-16 18:33:24 -05:00
Bryan Bishop
a53b5ae051
handle dragon shrine recursion (but not others?)
2012-05-16 15:22:39 -05:00
Bryan Bishop
34c6b38da6
tool to help narrow down the problem in a bank
2012-05-16 14:37:30 -05:00
Bryan Bishop
dc3fd295c0
correct for two route 10 maps
2012-05-16 14:24:18 -05:00
Bryan Bishop
079afeea46
fix preprocessor/givepoke for variable-number-of-parameter macros
2012-05-16 12:44:55 -05:00
Bryan Bishop
2d763b53a6
fix zzyyxx output for MoneyByteParam (checkmoney, takemoney)
2012-05-16 12:07:20 -05:00
Bryan Bishop
7244cb256e
only recalculate a PointerLabelParam parsed_address if necessary
2012-05-15 22:15:08 -05:00
Bryan Bishop
3afb9602eb
improve extras/README.md opening sentence
2012-05-14 10:42:43 -05:00
Bryan Bishop
bde4f489df
better asm output for SignpostRemoteItem
2012-05-14 00:58:11 -05:00
Bryan Bishop
f43de05607
fix PointerLabelParams in signposts
2012-05-14 00:51:16 -05:00
Bryan Bishop
984597d1aa
fix movement param get_dependencies
2012-05-13 22:48:35 -05:00
Bryan Bishop
6048436046
remove some output that clutters up the preprocessor output
2012-05-13 21:59:25 -05:00
Bryan Bishop
e905f9f1f1
better movement command/macro support
2012-05-13 21:53:48 -05:00
Bryan Bishop
eaff513b47
fix unknown MovementCommand parsing
2012-05-13 21:32:28 -05:00
Bryan Bishop
251fb52d8a
use deepcopy to create applymovement commands
2012-05-13 18:53:11 -05:00
Bryan Bishop
b41da5fe1c
let create_movement_commands access a debug parameter
2012-05-12 14:15:42 -05:00
Bryan Bishop
1a82579956
slightly better applymovement parsing
2012-05-12 02:18:27 -05:00
Bryan Bishop
3f5955b453
apply_movement_command classes doesn't exist
2012-05-12 00:59:15 -05:00
Bryan Bishop
feab0b56bc
quick tool for dumping a segment of ApplyMovementData objects into a bank
2012-05-11 16:30:12 -05:00
Bryan Bishop
4b1540623a
set dependencies and get_dependencies on ApplyMovementData for asm dumping
2012-05-11 16:26:36 -05:00
Bryan Bishop
a548ffdd35
waitbutton in scripts is not the same as waitbutton in texts
2012-05-11 15:09:26 -05:00
Bryan Bishop
e04a7aa375
never show a comma in front of a 7 on a newline
2012-05-11 14:50:53 -05:00
Bryan Bishop
66b65c854b
fix a TextScript/MainText bug where '@' on a newline had an extra comma/param to db
2012-05-11 14:29:19 -05:00
Bryan Bishop
f305b27025
text_from_ram isn't limited to <$8000 like in the text at 0x549a3
2012-05-11 13:40:54 -05:00
Bryan Bishop
55c174d342
fix TextScript bug - to_asm should not modify self.size
2012-05-11 13:05:02 -05:00
Bryan Bishop
e7913e7a90
insert_blah_with -> insert_with in extras/README.md
2012-05-10 09:19:05 -05:00
Bryan Bishop
7dd429fdf4
debugging to figure out the TextScript at 0x5daf1
2012-05-10 09:18:23 -05:00
Bryan Bishop
6ff6f93397
consolidate insert_multiple and insert_single on the Asm class
2012-05-08 18:34:27 -05:00
Bryan Bishop
03ce919b58
tool to dump texts from a particular bank into asm
2012-05-05 17:04:49 -05:00
Bryan Bishop
ec102bc62d
fix $58 parsing in texts for the text at 0x192f34
2012-05-05 15:01:42 -05:00
Bryan Bishop
fa63fe8ab2
set TextInlineAsm to size=1 for now
2012-05-05 02:46:46 -05:00
Bryan Bishop
47d1e412b9
possible fix for movement scripts (many broken?)
2012-05-05 02:29:41 -05:00
Bryan Bishop
0357e1e2f0
temporary and horrible fix to applymovement scripts
2012-05-05 02:15:47 -05:00
Bryan Bishop
a9d3767198
make a broken MovementCommand parser
2012-05-05 02:01:01 -05:00
Bryan Bishop
d16a6debff
by default allow MovementCommand to handle <$45s
2012-05-05 01:42:34 -05:00
Bryan Bishop
a9a1e084a1
fix MovementCommand.to_asm return value for id>$45
2012-05-05 01:40:28 -05:00
Bryan Bishop
adf55937c0
starting ApplyMovementData and MovementCommand
2012-05-05 01:38:14 -05:00
Bryan Bishop
8a064dfb45
use a $50 macro to stop some text scripts
2012-05-04 23:03:03 -05:00
Bryan Bishop
2489165312
fix the use of text_command_classes (not the same format as command_classes)
2012-05-04 22:03:52 -05:00
Bryan Bishop
927d96621a
to_asm and some constructor changes
2012-05-04 21:50:24 -05:00
Bryan Bishop
6ee0c38b3c
new TextScript.parse is almost exactly Script.parse
2012-05-04 21:44:57 -05:00
Bryan Bishop
82d7043acc
a better get_dependencies for NewTextScript
2012-05-04 21:29:07 -05:00
Bryan Bishop
f5e5c110d1
use inspect to gather members for text_command_classes
2012-05-04 21:05:59 -05:00
Bryan Bishop
fde936ac46
add param_types to configure each text script command macro
2012-05-04 20:47:43 -05:00
Bryan Bishop
7d17027ffb
make sure the bytes don't run out with no ending byte in MainText
2012-05-04 20:14:00 -05:00
Bryan Bishop
133bcb7049
handle $57 in MainText.to_asm
2012-05-04 20:13:35 -05:00
Bryan Bishop
0721bd42e1
not ever -> never
2012-05-04 19:05:33 -05:00
Bryan Bishop
94ea6ef442
add quotes to MainText.to_asm output
2012-05-04 19:00:58 -05:00
Bryan Bishop
9ff78a901a
adding non-byte-encoded characters into text to_asm output
2012-05-04 17:37:08 -05:00
Bryan Bishop
55e40b520e
to_asm output for $50 and unknown bytes in texts
2012-05-04 17:25:48 -05:00
Bryan Bishop
2eeae555c5
fix was_comma statement (gah)
2012-05-04 16:51:27 -05:00
Bryan Bishop
cb0bcb77b9
improve MainText.to_asm output
2012-05-04 16:49:16 -05:00
Bryan Bishop
e867ed7469
update some comments
2012-05-04 14:39:31 -05:00
Bryan Bishop
6518a20a1b
fix another readme comment about labels
2012-05-03 00:47:21 -05:00
Bryan Bishop
343ccc909a
fix minor inaccuracy
2012-05-03 00:12:47 -05:00
Bryan Bishop
f2b0779feb
fix typo in readme
2012-05-02 17:11:23 -05:00
Bryan Bishop
ea379f3d93
fix language specifier
2012-05-02 13:59:12 -05:00
Bryan Bishop
404dca19e1
slightly improved example
2012-05-02 13:57:56 -05:00
Bryan Bishop
b1d25e089d
nope.. more formatting
2012-05-02 13:56:40 -05:00
Bryan Bishop
220a9d8346
formatting?
2012-05-02 13:55:59 -05:00
Bryan Bishop
d1ddb59028
investigating bytes in the ROM
2012-05-02 13:55:29 -05:00
Bryan Bishop
b871e6c54d
map_name -> map_id
2012-05-02 13:47:36 -05:00
Bryan Bishop
6ec59c8193
get_dependencies does not return a list of labels nor strings
2012-05-02 13:43:17 -05:00
Bryan Bishop
f51cde7250
show the map event header in the readme
2012-05-02 13:40:16 -05:00
Bryan Bishop
6973ec82ba
figuring out where a script appears based on a known address
2012-05-02 13:37:11 -05:00
Bryan Bishop
faa73c5a47
investigating scripts from a known address
2012-05-02 13:28:11 -05:00
Bryan Bishop
7d6626ee69
extras/output.asm -> extras/output.txt
2012-05-02 01:41:24 -05:00
Bryan Bishop
b6122070d9
clarify a sentence
2012-05-02 01:40:23 -05:00
Bryan Bishop
0406a12fdf
fix readme typo
2012-05-02 01:39:01 -05:00
Bryan Bishop
6fa7fbc357
basic README to explain crystal.py
2012-05-02 01:38:19 -05:00