Commit graph

180 commits

Author SHA1 Message Date
Bryan Bishop
c2999b8645 analyze_incbins - reject zero interval incbins
hg-commit-id: 3e2f4c7591f4
2012-01-17 16:40:47 -06:00
Bryan Bishop
b48dfcd123 fix TX_RAM injector for addresses between $a-$f inclusive
hg-commit-id: 82f2343a6d11
2012-01-17 16:16:27 -06:00
Bryan Bishop
ffdd92db77 skip some incbins from analyze_texts for 0-size intervals
hg-commit-id: a63d92b4534c
2012-01-17 15:39:36 -06:00
Bryan Bishop
a6f495e25e fix insert_texts for pre-existing TX_FAR target labels
hg-commit-id: b506eecb191a
2012-01-17 15:31:04 -06:00
Bryan Bishop
be34aed58e fix some offset errors in insert_texts.py
hg-commit-id: b131d049ecd3
2012-01-17 14:54:06 -06:00
Bryan Bishop
e5f9d4a144 text insertion code for unnamed TX_FARs
These TX_FARs are found in ASM inside INCBIN intervals, and as a
consequence do not have good names. Someone will have to review the
naming.

Note that these texts may or may not be referenced in scripts that
will eventually be imported. Some of these are raw texts that could
be completely unreferenced, but so far that doesn't look like the
case.

hg-commit-id: 47239e73071a
2012-01-17 13:34:51 -06:00
Bryan Bishop
fe40cc4c74 improve text printer, including TX_RAM and TX_NUM
hg-commit-id: 6ee4e09c729c
2012-01-17 11:02:52 -06:00
Bryan Bishop
42fa336ec6 analyze_texts - find possible TX_FARs
hg-commit-id: 3b5f657bd072
2012-01-17 03:11:11 -06:00
IIMarckus
fb072de105 Add the currency character to text tables.
hg-commit-id: 9ebaeb993372
2012-01-17 01:52:25 -07:00
Bryan Bishop
f01ad092a5 TX_RAM for text engine command $1 in pretty_text
hg-commit-id: e4f95976fef8
2012-01-17 01:33:46 -06:00
Bryan Bishop
7e592a9d98 fix naming of map size constants
hg-commit-id: 4477820444cd
2012-01-16 23:31:20 -06:00
IIMarckus
4e1ac11dbd These didn’t work as intended. Delete.
hg-commit-id: f7dc4c76e051
2012-01-16 16:00:42 -07:00
Bryan Bishop
a23a030417 analyze_texts now returns an end address
hg-commit-id: a8d2da6b569a
2012-01-16 16:25:40 -06:00
Bryan Bishop
8dc5ba8315 pretty_text - print out texts from command line
hg-commit-id: 918000556f93
2012-01-16 16:21:38 -06:00
Bryan Bishop
968c0c493c formulas for map header connections instead of raw values
hg-commit-id: b6822898d929
2012-01-16 01:40:25 -06:00
Bryan Bishop
f0d8e69adc replace connection pointers with formulas
hg-commit-id: 92972d3acaea
2012-01-15 17:20:06 -06:00
Bryan Bishop
4b0f1982bf update analyze_incbins for common.asm
hg-commit-id: ea7bf352f66c
2012-01-15 16:34:32 -06:00
Bryan Bishop
a8ef3c70db replace dimensions with constants in map headers
hg-commit-id: 53c4303c9648
2012-01-15 16:22:35 -06:00
Bryan Bishop
1f1f31ff9c connection_helper - print out a formula for connection math
hg-commit-id: 27e8096bb251
2012-01-15 15:45:09 -06:00
Bryan Bishop
dc673d1233 get direction name in extract_maps
hg-commit-id: 091427f10a69
2012-01-15 12:46:41 -06:00
Bryan Bishop
7128a9cb43 script to generate map height/width constants
hg-commit-id: fbcc1e98685a
2012-01-15 12:10:35 -06:00
Bryan Bishop
e50adb0b24 ItemUseNotTime for gbz80disasm
hg-commit-id: cb4aedaf6142
2012-01-15 09:20:59 -06:00
Bryan Bishop
c62f47cc5e GenRandom for gbz80disasm
hg-commit-id: 99c7713bd905
2012-01-15 00:44:08 -06:00
Bryan Bishop
07016dcf45 insert _VermilionCityText14 machop text
hg-commit-id: 22d36f8bc08e
2012-01-14 21:49:55 -06:00
Bryan Bishop
c744e3b4a8 extract and include blockset data
extract_tileblocks also has the ability to output asm, but the output
seems like it would be too much for rgbasm to handle. Instead of
cluttering up common.asm, I am opting to place the data in binary
data files under gfx/blocksets/ in .bst files.

Every 16 bytes is a separate block in the blockset. Each byte is
referencing a tile id from the tileset graphics in gfx/tilesets/.

hg-commit-id: 0540eff0f081
2012-01-14 17:45:55 -06:00
Bryan Bishop
7cfb09f969 tileset files in gfx/tilesets/
hg-commit-id: a1dd793bdd7f
2012-01-14 00:40:03 -06:00
Bryan Bishop
da2c784ae7 romvisualizer - make gif animation of progress
hg-commit-id: c2fbb929af69
2012-01-13 22:21:16 -06:00
IIMarckus
2dda443c48 Fix typo: Loreli → Lorelei.
hg-commit-id: d4227f9b97e7
2012-01-13 17:56:52 -07:00
Bryan Bishop
4aabc95f63 some map subscript pointer lists
hg-commit-id: b36e9b279197
2012-01-13 15:40:32 -06:00
Bryan Bishop
dd2d259911 insert_texts now inserts map script pointer lists
hg-commit-id: a63f010e5cdc
2012-01-13 15:27:22 -06:00
Bryan Bishop
71ebf0b95e code to insert main scripts and subscripts
hg-commit-id: 807e8743e682
2012-01-13 14:31:22 -06:00
Bryan Bishop
bc3bf29219 update insert_texts: $0000 to $3fff don't need banks
hg-commit-id: 10327274b8f8
2012-01-13 12:10:53 -06:00
Bryan Bishop
9d4f5a459f a very slow tool to find script pointers for each map
hg-commit-id: a61a85fd7577
2012-01-13 01:05:10 -06:00
Bryan Bishop
a8126e077b update gbz80disasm for TextScriptEnd
hg-commit-id: f519c306bc00
2012-01-12 15:48:28 -06:00
Bryan Bishop
5602dc1e7f clean up trailing whitespace in gbz80disasm
hg-commit-id: 1ef910ea7bbf
2012-01-12 15:06:24 -06:00
Bryan Bishop
2c24aa3510 stop disassembling when unconditional relative jumps go back
This adds the condition that it should stop disassembling even if there are
unsatisfied labels (example: from before the text script began).

hg-commit-id: 0b6ebcb02348
2012-01-12 13:21:05 -06:00
Bryan Bishop
0acee287ec update name; reds house f1 -> reds house 1f in extract_maps
hg-commit-id: a7675930313a
2012-01-12 13:06:32 -06:00
Bryan Bishop
1ae8e7e41e insert $8 asm for NameRaterText1
hg-commit-id: dd9f5126d4a5
2012-01-12 12:55:54 -06:00
Bryan Bishop
7e35470fb1 update gbz80disasm based on sawakita's changes
Changes include:

* .ASM_ labels now include their offset in the label

* byte_labels keeps better track of when a label is defined versus used

* reverse relative jumps now work

* reverse unconditional relative jumps can end a script

hg-commit-id: 8afc93fce17a
2012-01-12 12:35:03 -06:00
Bryan Bishop
418dc214d8 insert texts pointer labels
hg-commit-id: 18cc3e2ec33b
2012-01-12 01:31:14 -06:00
Bryan Bishop
9984d22d5b switch ash and gary to red and blue in extract_maps.py
hg-commit-id: 4306f4d5a885
2012-01-11 23:20:16 -06:00
Bryan Bishop
3075fabe26 more automation to assist in text insertion
hg-commit-id: e631a0e3c275
2012-01-11 23:08:46 -06:00
Bryan Bishop
28d21c8e19 a simple tool to insert missing $17s from analyze_texts
hg-commit-id: 66d1deca5777
2012-01-11 21:21:38 -06:00
Bryan Bishop
8ef0838654 remove extra output from gbz80disasm
hg-commit-id: 2c4886b28a2f
2012-01-11 17:45:13 -06:00
Bryan Bishop
ea4fce81fa fix gbz80disasm to not treat $00 as the second byte of an opcode
hg-commit-id: 290296b59823
2012-01-11 17:36:17 -06:00
Bryan Bishop
6d6c18a301 formatting and comments
hg-commit-id: 4cf41759eaf0
2012-01-11 16:20:28 -06:00
Bryan Bishop
981000457c minor formatting
hg-commit-id: b6dfe0dfccd2
2012-01-11 13:57:19 -06:00
Bryan Bishop
167d9baac3 fix asm for route 9 texts 1 through 9 inclusive
hg-commit-id: e139dfb9a032
2012-01-11 12:20:16 -06:00
Bryan Bishop
09289d049b calculate usage count for undone texts
hg-commit-id: d3d02d17f44b
2012-01-11 02:15:37 -06:00
Bryan Bishop
3da828165b add address output to analyze_texts find missing texts
hg-commit-id: 1c41e22d7b30
2012-01-11 01:51:35 -06:00
Bryan Bishop
b3ab0153b3 analyze_texts to find missing texts in pokered.asm
hg-commit-id: 7361a900a8ad
2012-01-11 01:40:53 -06:00
Bryan Bishop
e95b8f1984 add end address to gbz80disasm output in a comment
hg-commit-id: 1d79cd8b426a
2012-01-11 00:06:52 -06:00
Bryan Bishop
e4bce7ed15 lowercase two-byte ops that don't have params
hg-commit-id: 4b518c1bd0a0
2012-01-10 23:42:47 -06:00
Bryan Bishop
811529f6a4 fix gbz80disasm for multi-byte opcode incrementation
hg-commit-id: ad1ae67c5991
2012-01-10 23:36:24 -06:00
Bryan Bishop
5105065c72 gbz80disasm stops at all unconditional jumps unless there's a missing label
hg-commit-id: c23fcf211c19
2012-01-10 23:16:47 -06:00
Bryan Bishop
5e1aaba09b romviz - make an image to show progress
hg-commit-id: 207abc19d569
2012-01-10 21:20:43 -06:00
Bryan Bishop
99fcdc90f6 added text_pretty_printer_at to analyze_texts
hg-commit-id: 04e647ab44f8
2012-01-10 18:04:00 -06:00
Bryan Bishop
f90b3fece1 RockTunnel1 texts and update gbz80disasm to not handle $8
hg-commit-id: 86d0d495afbc
2012-01-10 17:35:03 -06:00
Bryan Bishop
edbfce9ad3 update analyze_texts to find missing $08s
hg-commit-id: 298a5ffd0d98
2012-01-10 16:32:25 -06:00
Bryan Bishop
48199b4916 pick some reasonable defaults for gbz80disasm op codes
hg-commit-id: c249e08cbe9b
2012-01-10 14:58:26 -06:00
Bryan Bishop
f5eb8d3753 prefer "jp hl" over "ld pc, hl" for $E9
hg-commit-id: 4788aae09066
2012-01-10 14:44:47 -06:00
Bryan Bishop
90197fcb86 add GetMachineName address to gbz80disasm
hg-commit-id: 8ba8806f333f
2012-01-10 14:42:15 -06:00
Bryan Bishop
deb5bf89ae call $00b5 -> call CopyData
hg-commit-id: e6a487cf2186
2012-01-10 14:31:38 -06:00
Bryan Bishop
cb9e9404c5 replace call $3e6d -> call Predef
hg-commit-id: 8045c9d0d1a1
2012-01-10 14:12:24 -06:00
Bryan Bishop
464f06ced7 Merge.
hg-commit-id: 5d78a23cd0c7
2012-01-10 13:47:00 -06:00
Bryan Bishop
76dc9b8170 call $2f9e -> call GetMonName
hg-commit-id: 7bb690c08a4d
2012-01-10 13:44:54 -06:00
Bryan Bishop
d9b994bf47 fix gbz80disasm line repetition bug
Certain two-byte op codes would be printed twice.

hg-commit-id: 8c7650a614b7
2012-01-10 13:42:21 -06:00
IIMarckus
1d97a39583 Fix typo: Lavendar → Lavender.
hg-commit-id: e231f8562c83
2012-01-10 12:11:37 -07:00
Bryan Bishop
ebcf2a8756 implement two-byte op codes in gbz80disasm
Previously, two-byte commands in gbz80disasm would not read or allow
parameters. This update fixes gbz80disasm to read both the "x" and
"?" parameters.

x = one-byte parameter
? = two-byte parameter

hg-commit-id: 1494e8a88115
2012-01-10 12:47:37 -06:00
Bryan Bishop
b6d32d9022 fix gbz80disasm pretty printer for non-08 scripts
hg-commit-id: 6f16741dc45f
2012-01-10 12:06:32 -06:00
Bryan Bishop
71a840c3c3 add has_outstanding_labels to gbz80disasm
This checks for whether or not there are relative jumps that have not been
accounted for. When it finds that a label on a relative jump is outstanding,
it will continue past any byte or command that would usually end the script.

hg-commit-id: 20fba34f0ae2
2012-01-10 11:25:09 -06:00
Bryan Bishop
33b7fedda3 replace call pointers with labels in gbz80disasm
Also, this changes how output_bank_opcodes works. Instead of calling lower()
on the entire output, each opcode and each line is individually lowercased.

As a result, the calls end up with correctly-capitalized labels.

hg-commit-id: bdde4aa404da
2012-01-10 11:16:57 -06:00
Bryan Bishop
468d065715 call $3927 -> call AddPokemonToParty
hg-commit-id: a4ec02195797
2012-01-10 02:11:54 -06:00
Bryan Bishop
b36fbc72f3 fix extra whitespace from gbz80disasm
hg-commit-id: a244eb0b11fd
2012-01-10 01:40:34 -06:00
Bryan Bishop
4c59064f9f insert_asm in insert_texts for function asm
hg-commit-id: dc34a93f0f47
2012-01-10 01:18:18 -06:00
Bryan Bishop
983b87069d call $3c49 -> call PrintText
hg-commit-id: 2d9bb23f9db3
2012-01-10 01:05:09 -06:00
Bryan Bishop
14f9f3fac7 remove debug output from gbz80disasm
hg-commit-id: 65f6c206f6e1
2012-01-10 01:02:18 -06:00
Bryan Bishop
a1eebadc37 fix gbz80disasm to optionally load a module in analyze_texts
hg-commit-id: 0504f841a9d5
2012-01-10 00:59:02 -06:00
Bryan Bishop
c7331ebd19 updates to asm injection code
hg-commit-id: 6748c9773b32
2012-01-09 23:12:28 -06:00
Bryan Bishop
52e723ae65 insertion code for $08 text script asm
hg-commit-id: 5668ca41238c
2012-01-09 22:24:04 -06:00
Bryan Bishop
6ee0c38b35 a simple gameboy disassembler
hg-commit-id: 69a312de70de
2012-01-09 20:52:31 -06:00
Bryan Bishop
7819dc288e CELADON_HOUSE_2 -> CELADON_HOUSE
hg-commit-id: 0574f08aaf85
2012-01-09 01:19:10 -06:00
Bryan Bishop
b6d8ebb416 fix map naming mistakes in celadon city
hg-commit-id: d7234963d818
2012-01-09 01:15:09 -06:00
Bryan Bishop
dc0af17185 insert labels for map texts pointer lists
hg-commit-id: f374e6e126d7
2012-01-08 05:03:58 -06:00
Bryan Bishop
eb1c47ce51 update to the broken TX_FAR inserter
hg-commit-id: f5fa1a4f052c
2012-01-08 03:43:26 -06:00
Bryan Bishop
3948f21d57 script to insert TX_FAR labels
hg-commit-id: 6be98c7af43b
2012-01-08 00:23:52 -06:00
Bryan Bishop
10307a7032 typo fix for cinnibar -> cinnabar
hg-commit-id: 5001a53ec965
2012-01-07 15:40:25 -06:00
Bryan Bishop
ff60685f4e text analysis and insertion code (TX_FAR targets only)
hg-commit-id: e4c007ad1c11
2012-01-07 15:13:24 -06:00
Bryan Bishop
20c54ccd58 add more text bytes for abbreviations
hg-commit-id: 95383d94746e
2012-01-07 12:11:12 -06:00
Bryan Bishop
d0be12ead0 somewhat buggy TX_FAR pretty printer
hg-commit-id: 94a023e4e37e
2012-01-07 01:34:22 -06:00
Bryan Bishop
6bad9c837c analyze_texts can handle more text commands now
hg-commit-id: 29ece1f29096
2012-01-06 22:26:08 -06:00
Bryan Bishop
1661e1890b starting to work with text command $01
hg-commit-id: e5bcd78d262b
2012-01-06 15:52:52 -06:00
Bryan Bishop
242a02aaa7 analyze_text now works with TX_FAR
hg-commit-id: a32cf6cdc6f2
2012-01-06 14:23:12 -06:00
Bryan Bishop
f1054129e2 fix pointer calculation in analyze_texts
hg-commit-id: 13e532bc6ca5
2012-01-06 12:20:46 -06:00
Bryan Bishop
6a8582e61f fix some python reserved names and variables
hg-commit-id: 712f1522dcc9
2012-01-06 11:20:48 -06:00
Bryan Bishop
d9fb7e59bd a prototype of a script to parse text scripts
hg-commit-id: e879fc3b59e3
2012-01-06 03:22:53 -06:00
Bryan Bishop
7a80778214 a script to insert map object data into pokered.asm
hg-commit-id: 1026aadb307e
2012-01-05 23:15:30 -06:00
Bryan Bishop
cfe485a1e6 insert object asm
hg-commit-id: 9974e529c8d6
2012-01-05 20:57:41 -06:00
Bryan Bishop
813959be7f use sprite constants in pretty printer
hg-commit-id: cd88256deb01
2012-01-05 19:51:32 -06:00
Bryan Bishop
6d1870ea95 switch around old amber sprite constants
hg-commit-id: cb128c47380e
2012-01-05 19:26:18 -06:00