Commit Graph

544 Commits

Author SHA1 Message Date
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
C Nelson 17ab9dc558 Move a bunch of constant data into separate files. 2012-04-17 21:37:46 -05:00
C Nelson f19bd8638e Fixing whitespace for real this time. 2012-04-17 20:22:28 -05:00
C Nelson ae3857d64f Revert "Fix whitespace."
Discovered an overwritten incoming change.

This reverts commit 9ddcf90fcc.
2012-04-17 20:16:42 -05:00
C Nelson 9ddcf90fcc Fix whitespace.
Add newlines around functions and classes, remove trailing whitespaces.
2012-04-17 20:03:27 -05:00
Bryan Bishop 41a5e27bdd use $byte not 0xbyte 2012-04-17 19:24:18 -05:00
Bryan Bishop f3f2adb219 to_asm adds a label and end text
Need to write more tools for injecting asm into main.asm from the
python interpreter.
2012-04-16 09:55:28 -05:00
Bryan Bishop e97ba71d11 better asm output for MapScriptHeader 2012-04-15 22:12:10 -05:00
Bryan Bishop e3cf6313e7 fix SecondMapHeader asm output 2012-04-15 21:47:12 -05:00
Bryan Bishop f70c5cf74b restrict what shows up in script_parse_table 2012-04-15 18:26:06 -05:00
Bryan Bishop bd2a23379e keep track of these headers in globals 2012-04-15 18:24:56 -05:00
Bryan Bishop 6dda1a8fac fix MapScriptHeader parsing 2012-04-15 17:21:07 -05:00
Bryan Bishop b0b807e3ea MapEventHeader address fix 2012-04-15 16:37:31 -05:00
Bryan Bishop 2f3e59178f SecondMapHeader looks ok 2012-04-15 14:49:24 -05:00
Bryan Bishop 7cfe92c506 MapHeader parsing looks correct 2012-04-15 14:39:13 -05:00
Bryan Bishop 2b08f91d98 add the old parsers back in for testing 2012-04-15 14:33:41 -05:00
Bryan Bishop cbd8f0925a debugging statements 2012-04-15 12:26:46 -05:00
Bryan Bishop 00ab26a8c4 more fixes (sort of) 2012-04-15 01:27:20 -05:00
Bryan Bishop 441cb01c39 corrections to almost make things run 2012-04-15 01:18:25 -05:00
Bryan Bishop cbd896b8b9 MapHeader parsing and to_asm 2012-04-15 01:11:00 -05:00
Bryan Bishop 49add12c45 better code for MapScriptHeader 2012-04-15 00:50:48 -05:00
Bryan Bishop 746317f90e code for MapBlockData 2012-04-15 00:06:47 -05:00
Bryan Bishop 6b029c36fd to_asm on SecondMapHeader 2012-04-14 21:46:04 -05:00
Bryan Bishop 1ee335063f start on SecondMapHeader 2012-04-14 20:03:19 -05:00
Bryan Bishop 0cb84a7e3a class for MapEventHeader 2012-04-14 18:23:55 -05:00
Bryan Bishop f90f05050d XYTrigger class 2012-04-14 17:58:15 -05:00
Bryan Bishop 52b70619bc making things work 2012-04-14 15:48:26 -05:00
Bryan Bishop 93533ce068 PeopleEvent class code 2012-04-14 15:16:09 -05:00
Bryan Bishop 0c2c2cd3a3 skeleton for PeopleEvent class 2012-04-14 13:45:05 -05:00
Bryan Bishop 01a5c61d4d saner warp parsing 2012-04-14 13:01:20 -05:00
Bryan Bishop e099019701 better signpost parsing 2012-04-14 12:23:53 -05:00
Bryan Bishop f70650a158 start moving signpost into a class 2012-04-14 10:54:48 -05:00
Bryan Bishop 91df3747bf 0xcc probably ends the script 2012-04-09 00:38:55 -05:00
Bryan Bishop 63c161397d fix size computation in GivePoke 2012-04-08 23:47:28 -05:00
Bryan Bishop a06abcf9f4 japanese text dumper and some more script changes 2012-04-08 23:05:19 -05:00
Bryan Bishop 3621217774 all of these scripting changes are probably wrong 2012-04-08 21:15:50 -05:00
Bryan Bishop b276eeb832 don't forget the custom GivePoke commad class 2012-04-08 16:38:34 -05:00
Bryan Bishop 4c3c85d230 oops forgot to create a command class for writevarcode 2012-04-08 16:25:52 -05:00
Bryan Bishop 51ef61e327 fix pokemart command parsing for the script at 0x9cac7 2012-04-08 16:20:34 -05:00
Bryan Bishop 247469f740 winlosstext does not always point to a value 2012-04-08 16:09:00 -05:00
Bryan Bishop 403652525a a working version of compare_script_parsing_methods 2012-04-08 15:52:36 -05:00
Bryan Bishop 8e6466feb7 begin compare_script_parsing_methods 2012-04-08 15:41:52 -05:00
Bryan Bishop e85e71b6a6 text and script parsing improvements 2012-04-08 14:46:37 -05:00
Bryan Bishop d331a28c7a get_label_for improvements (use script_parse_table if possible) 2012-04-08 13:40:55 -05:00
Bryan Bishop bd33188588 make parse_text_at use script_parse_table and make 2writetext parse target texts 2012-04-08 13:35:35 -05:00
Bryan Bishop dd0dfc821c fix bit setting/checking/clearing commands (their parameters were wrong) 2012-04-08 13:14:31 -05:00
Bryan Bishop d7ff5e5ceb pass force=True/False and debug=True/False to command parsing 2012-04-08 12:19:03 -05:00
Bryan Bishop e80f480da9 fixes for parse_script_with_command_classes 2012-04-08 11:48:23 -05:00
Bryan Bishop 768c4c360f move rom_interval into RomStr.interval 2012-04-06 14:22:35 -05:00
C Nelson bd06a22fb8 Making generate_diff_insert python2.7 compatible. 2012-04-06 13:12:30 -05:00
C Nelson 1d17d3e810 Adding compatibility for newer versions of json. 2012-04-06 12:38:22 -05:00
C Nelson 8dc750b1e4 Adding a real check for unittest2 features. 2012-04-06 12:11:40 -05:00
C Nelson 4de0c12b43 Adding an exception handler around the unittest import. 2012-04-06 11:54:48 -05:00
Bryan Bishop 7b3b1f11b2 fix command parsing some more 2012-04-03 15:28:25 -05:00
Bryan Bishop 21081a08e1 not sure why the scripts aren't working yet 2012-04-03 00:59:16 -05:00
Bryan Bishop 2c9c2424d8 somewhat better command parsing 2012-04-02 22:34:02 -05:00
Bryan Bishop 0e8510e3c2 map header tests for event addresses and people-event counts 2012-04-02 20:27:11 -05:00
Bryan Bishop 069a4fbff4 unit tests for checking post-map parsing (overall, not individual functions) 2012-04-02 14:22:50 -05:00
Bryan Bishop d23ab7500b fix bug in generate_map_constant_labels 2012-04-02 12:44:23 -05:00
Bryan Bishop 29a3fbf75b an explicit Label class 2012-04-02 12:36:08 -05:00
Bryan Bishop 1a3aebf191 make tests pass the first time they are ran 2012-04-02 11:45:42 -05:00
Bryan Bishop bd7453f70c more unit tests, again 2012-03-30 01:20:50 -05:00
Bryan Bishop 29dae12c89 more unit tests 2012-03-29 23:41:06 -05:00
Bryan Bishop bcd9794cb5 more command classes 2012-03-27 02:01:04 -05:00
Bryan Bishop 2a22a91cbb committing unfinished code (forgive me) 2012-03-26 01:47:58 -05:00
Bryan Bishop 651d801734 refactor script parsing into a Script class 2012-03-25 13:53:21 -05:00
Bryan Bishop a4b19fe60a test_parse_text_engine_script_at 2012-03-25 01:43:42 -05:00
Bryan Bishop 12fc29529a more testing and debug= keyword params 2012-03-25 01:09:46 -05:00
Bryan Bishop 8df5bd8856 more tests related to analyze_incbins 2012-03-24 22:59:46 -05:00
Bryan Bishop 33d8c7a117 wonderful world of testing 2012-03-24 21:34:19 -05:00
Bryan Bishop 3bd84c1dac lots of asm-related code and tests 2012-03-24 18:01:37 -05:00
Bryan Bishop f93de7b1bd test_load_map_group_offsets and test_calculate_pointer 2012-03-24 15:05:32 -05:00
Bryan Bishop c11794250f new test: test_report_untested 2012-03-24 14:31:33 -05:00
Bryan Bishop 890c37bcad more tests about tests 2012-03-24 14:22:59 -05:00
Bryan Bishop 98c1b52894 AsmList and more testing 2012-03-24 13:22:28 -05:00
Bryan Bishop 0f57499150 tests for IntervalMap 2012-03-24 05:00:45 -05:00
Bryan Bishop 9c723af8ff even more crazy unit tests 2012-03-24 04:43:06 -05:00
Bryan Bishop 21b95d6077 fix typo (burned tower 1f) 2012-03-24 03:54:46 -05:00
Bryan Bishop e57b8a7c00 unit tests 2012-03-24 03:54:28 -05:00
Bryan Bishop 35ecd20aa2 fix bug in find_all_text_pointers_in_script_engine_script 2012-03-24 02:15:43 -05:00
Bryan Bishop da22f934f9 pretty printer for text scripts 2012-03-24 02:13:59 -05:00
Bryan Bishop d497a0a001 start using classes instead of functions everywhere 2012-03-24 00:58:14 -05:00
Bryan Bishop 253c897bbd rom_text_at just dumps text straight from the ROM 2012-03-23 23:36:39 -05:00
Bryan Bishop 4462b9b246 calculate_pointer_from_bytes_at update suggested by sankina 2012-03-23 01:26:02 -05:00
Bryan Bishop 14903375a1 fix trainer texts 2012-03-23 00:58:51 -05:00
Bryan Bishop 08961e4f32 parse texts in scripts 2012-03-21 21:06:33 -05:00
Bryan Bishop b9175e8a03 parser improvements for trainer texts and map scripts 2012-03-19 01:41:22 -05:00
Bryan Bishop 0f3ff6120a skip battle tower people-event scripts 2012-03-18 23:05:28 -05:00
Bryan Bishop f20786a432 gbz80disasm for crystal 2012-03-15 17:47:40 -05:00
Bryan Bishop 270615370c more script debugging 2012-03-15 17:44:25 -05:00
Bryan Bishop c42d7424c9 better signpost parsing 2012-03-15 02:09:17 -05:00
Bryan Bishop 8188cf07dc better debugging for recursive scripts 2012-03-14 22:03:45 -05:00
Bryan Bishop 69f541f541 keep track of which scripts have been parsed 2012-03-14 00:27:44 -05:00
Bryan Bishop 550ca496d6 function to find most text addresses 2012-03-13 16:01:52 -05:00
Bryan Bishop 8cfa4bee12 fix calculate_pointer again 2012-03-12 03:17:39 -05:00
Bryan Bishop ad0f365a37 fix calculate_pointer 2012-03-12 03:01:38 -05:00
Bryan Bishop 25a5a9cef4 initial work on text parsing 2012-03-12 01:59:23 -05:00
Bryan Bishop 873b07dcf9 trainer headers 2012-03-12 01:09:25 -05:00
Bryan Bishop 0a7278c144 update pksv name tables (trial and error) 2012-03-11 15:30:14 -05:00
Bryan Bishop a4f10572ba add pksv command names to crystal.py 2012-03-11 03:01:33 -05:00
Bryan Bishop 5ba4aec8d5 fix crystal script command offsets 2012-03-10 16:51:58 -06:00
IIMarckus 3774f1d61d Map 2.6 is Route 44, not Route 43. 2012-03-09 21:26:00 -07:00
Bryan Bishop 6ec2257cbc more crystal script parsing 2012-03-07 22:31:59 -06:00
Bryan Bishop 6ddb56c228 script parsing with parse_script_at 2012-03-07 16:59:47 -06:00
Bryan Bishop f5a6c18b89 python tooling 2012-03-06 00:15:35 -06:00