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
Bryan Bishop
81208d51a0
move the text command classes around
2012-05-01 11:25:05 -05:00
Bryan Bishop
37e808b43a
basic TextCommand skeleton from yesterday
2012-04-30 02:21:43 -05:00
Bryan Bishop
9189b3f6e0
begin to rewrite the text parser
2012-04-29 15:15:48 -05:00
Bryan Bishop
6eb1478f1b
clean up comments in Script.parse method
2012-04-29 10:40:34 -05:00
Bryan Bishop
a06cb374ef
remove old comment
2012-04-29 10:26:27 -05:00
Bryan Bishop
d4508d9bed
temporary fix to prevent TextScript from appending @s
2012-04-28 11:08:05 -05:00
Bryan Bishop
ef56a46e81
top-level dependency bug fix.. actual problem not solved ?
2012-04-28 01:34:20 -05:00
Bryan Bishop
94e486be89
still having trouble with UnknownText_0x580c7 not in main.asm
2012-04-27 18:50:13 -05:00
Bryan Bishop
90cee9191e
TextPointerLabelParam sometimes doesn't point to anything useful
2012-04-27 17:38:49 -05:00
Bryan Bishop
6321bf121f
TextPointerLabelParam.get_dependencies() now returns the text pointer
2012-04-27 17:35:06 -05:00
Bryan Bishop
94a6e1b0cc
words/pointers should point within bank
2012-04-27 17:16:45 -05:00
Bryan Bishop
d9a2680c71
fix MoneyByteParam formatting
2012-04-27 16:48:25 -05:00
Bryan Bishop
45c41795f5
possibly fix preprocessor/checkmoney issues
2012-04-27 16:33:37 -05:00
Bryan Bishop
14a35baa3f
reverse byte output in RAMAddressParam.to_asm()
2012-04-27 16:04:16 -05:00
Bryan Bishop
09a0e3aa85
redo item constants (some were missed?)
2012-04-27 15:52:57 -05:00
Bryan Bishop
b0eee4c06b
add newlines to generate_item_constants output
2012-04-27 15:47:51 -05:00
Bryan Bishop
9672e960ee
fix RAMAddressParam.to_asm() (no [] characters)
2012-04-27 15:39:41 -05:00
Bryan Bishop
d319aea119
fix label lookup
2012-04-27 15:33:37 -05:00
Bryan Bishop
9ed1a474d0
minor fixes for insert_single_with_dependencies
2012-04-27 15:02:53 -05:00
Bryan Bishop
a58aeae5cc
prevent dependency loops in script at 0x18d0a9, 0x18d023 and 0x943ca
2012-04-27 14:58:57 -05:00
Bryan Bishop
9e92ebd40b
better debugging for a max recursion depth error
2012-04-27 13:58:02 -05:00
Bryan Bishop
7ed1bebc01
pass 'recompute' parameter through get_dependencies() calls
2012-04-27 13:46:57 -05:00
Bryan Bishop
39a71c55c7
prevent dependencies from being recomputed
2012-04-27 13:41:44 -05:00
Bryan Bishop
ce35b436ed
faster get_dependencies on Script
2012-04-27 13:29:41 -05:00
Bryan Bishop
34ff5fc4ce
checkmonkey -> checkmoney
2012-04-27 01:07:30 -05:00
Bryan Bishop
1098757c4a
speed up asm insertion
2012-04-27 01:06:31 -05:00
Bryan Bishop
226e964f1d
Asm.insert_multiple_with_dependencies
2012-04-27 00:59:05 -05:00
Bryan Bishop
bde9cb3b57
caught a self.label -> self.label.name
2012-04-26 18:45:53 -05:00
Bryan Bishop
ddbfc016c1
refactor all labels to be Label instances
2012-04-26 18:41:13 -05:00
Bryan Bishop
ea2daf05ee
refactoring some labels code
2012-04-26 18:04:20 -05:00
Bryan Bishop
16b8cf491f
start to write the Label class and is_label_in_asm
2012-04-26 17:41:37 -05:00
Bryan Bishop
849c0d132d
rename textpre.py -> preprocessor.py
2012-04-26 16:58:20 -05:00
Bryan Bishop
092baabdd4
make jumptextfaceplayer point to text
2012-04-26 16:50:52 -05:00
Bryan Bishop
8cc5597b0b
continue to fix off-by-one error in TextScript
2012-04-26 15:04:09 -05:00
Bryan Bishop
806687bf69
fix off-by-one error in TextScript
2012-04-26 14:59:24 -05:00
Bryan Bishop
d37f986971
revert to dbw in MapScriptHeader.to_asm()
2012-04-26 14:46:46 -05:00
Bryan Bishop
386a688eca
revert '_' prefix to some macro_names
2012-04-26 14:37:09 -05:00
Bryan Bishop
3c8b381489
revert PeopleEvent to use better-looking asm output
2012-04-26 14:30:30 -05:00
Bryan Bishop
6c5b5d2b57
add two filler bytes to MapEventHeader asm output
2012-04-26 14:26:16 -05:00
Bryan Bishop
70cf2554a1
gah forgot a file to let preprocessor import macros
2012-04-26 14:16:01 -05:00
Bryan Bishop
8f2221aa70
add map/group constants into constants.asm
...
map 18.3 and 7.14 are both "Route 10" ? Need to confirm that they are
both, in fact, "Route 10". Even if they both point to the same map, we
can call them 10a and 10b so that the map constants will work.
generate_map_constants and generate_map_constant_labels have been
updated to deal with left-over issues in various labels and obscure
characters.
2012-04-26 14:13:06 -05:00
Bryan Bishop
8f2afd2f7c
add DataByteWordMacro for the preprocessor
2012-04-26 14:00:55 -05:00
Bryan Bishop
d09cf6d950
add param_types to Signpost
2012-04-26 13:55:55 -05:00
Bryan Bishop
1bba364ba6
change Signpost to extend Command and set byte_type in a few places
2012-04-26 13:13:24 -05:00
Bryan Bishop
a720875a84
return to using warp_def, signpost, person_event macros
2012-04-26 10:27:46 -05:00
Bryan Bishop
69783a6a69
probably a bad idea - don't use macros inside event headers
2012-04-26 01:07:04 -05:00
Bryan Bishop
ece37237e3
don't delete tempt_opt_table in gbz80disasm
2012-04-26 00:32:38 -05:00
Bryan Bishop
ad76f259ff
simple lexer
2012-04-26 00:31:53 -05:00
Bryan Bishop
2b159a5ebd
fix MapHeader size and TextScript asm output
2012-04-25 21:53:20 -05:00
Bryan Bishop
69450ad8b3
fix dbw error in MapScriptHeader and add ending newline
2012-04-25 20:23:10 -05:00
Bryan Bishop
cb1a372d75
dump scripting macros into script_macros.asm
2012-04-25 20:02:40 -05:00
Bryan Bishop
f61e028871
update last_address in MapScriptHeader to get asm output working again
2012-04-25 18:51:54 -05:00
Bryan Bishop
c8cdbdede1
oops, make MapScriptHeader and others show up again
2012-04-25 18:18:14 -05:00
Bryan Bishop
759c55d3f2
better asm output newline logic
2012-04-25 16:11:38 -05:00
Bryan Bishop
ff4c37eb2b
fix bad placement of MapScriptHeader_0x70000 in asm
2012-04-25 14:05:51 -05:00
Bryan Bishop
9a81918392
fix some parameter types
2012-04-22 20:49:00 -05:00
Bryan Bishop
3869d5a30f
split up insertion and dumping in Asm
2012-04-22 20:33:42 -05:00
Bryan Bishop
1021728fb3
attempts to stop a recursion limit error
2012-04-22 15:48:47 -05:00
Bryan Bishop
2de204cdb5
remove duplicate incbins in asm output
2012-04-22 15:13:32 -05:00
Bryan Bishop
c1cbb74ae8
awful newline rules in asm output
2012-04-22 15:08:58 -05:00
Bryan Bishop
fdbf484b57
prevent scripts from appearing in MapScriptHeader.to_asm output
2012-04-22 14:04:27 -05:00
Bryan Bishop
c8b4c3203c
fix MapEventHeader asm formatting
2012-04-21 23:46:58 -05:00
Bryan Bishop
c33c15befb
remove duplicates from Asm output
2012-04-21 23:37:02 -05:00
Bryan Bishop
4f683d6421
hmm duplicate insertions
2012-04-21 18:59:58 -05:00
Bryan Bishop
26e0ee9545
TrainerFragments pointing to 0x26ef should be ignored
2012-04-21 18:24:54 -05:00
Bryan Bishop
2588ff6255
insertion of asm dependencies
2012-04-21 18:09:03 -05:00
Bryan Bishop
c42b254081
fix bug parsing INCBIN lines
2012-04-21 16:11:00 -05:00
Bryan Bishop
b597af7c57
probably right insertion routine for Asm
2012-04-21 16:06:22 -05:00
Bryan Bishop
02497888f6
Incbin.split method similar to split_incbin_line_into_three
2012-04-21 12:38:12 -05:00
Bryan Bishop
285b3066a4
foundation for asm parsing
2012-04-21 11:33:23 -05:00
Bryan Bishop
9b4ce897d4
improve to_asm output (newlines)
2012-04-21 10:24:44 -05:00
Bryan Bishop
3b234223c5
fix some bugs in get_dependencies and to_asm
2012-04-21 03:15:56 -05:00
Bryan Bishop
7d6af535e9
flatten a list of dependencies into one giant list
2012-04-21 02:43:19 -05:00
Bryan Bishop
06bc6699da
improve TrainerFragment.to_asm
2012-04-21 02:25:56 -05:00
Bryan Bishop
64af1959ae
fix trainer label output
2012-04-21 02:16:12 -05:00
Bryan Bishop
09908ecbdf
better get_dependencies and MapEventHeader.to_asm
2012-04-20 22:19:01 -05:00
Bryan Bishop
c80279b98f
starting dependencies work
2012-04-20 18:26:52 -05:00
Bryan Bishop
a8da5fbda9
improvements to global to_asm
2012-04-20 17:57:59 -05:00
Bryan Bishop
628a147578
switch from "r" to "rb" when reading the ROM for Microsoft Windows users
2012-04-20 10:34:07 -05:00
Bryan Bishop
7114385997
create maps directory if necessary
2012-04-19 22:17:22 -05:00
Bryan Bishop
b7cca3a548
make unit tests work again
2012-04-18 23:20:28 -05:00
Bryan Bishop
b7295080d5
add encoding to old_parse_scripts.py
2012-04-18 20:55:16 -05:00
Bryan Bishop
1877c7573e
move Script.parse_old into its own file
2012-04-18 16:54:11 -05:00
Bryan Bishop
6a8e2d0ed4
spacing
2012-04-18 16:17:31 -05:00
C Nelson
475ec418dd
Move some data back to avoid a circular import.
2012-04-17 23:33:23 -05:00
C Nelson
c7838eec93
Fix an import.
2012-04-17 23:32:56 -05:00