Commit Graph

462 Commits

Author SHA1 Message Date
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
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