Commit graph

32 commits

Author SHA1 Message Date
Lyle Mantooth 13e910091b
Add graph data.
Items and dungeons so far. Will be used to make sure the resulting ROM
is beatable.
2022-06-10 11:49:07 -04:00
Lyle Mantooth 1c752e5bbd
Make RomData indexable. 2022-06-05 15:57:02 -04:00
Lyle Mantooth d1d4e31738
Format! 2022-06-05 15:56:36 -04:00
Lyle Mantooth a0150caa56
Bake enemizer base patch and asar symbols into executable. 2022-06-04 15:29:02 -04:00
Lyle Mantooth 8d8faf105a
Finally done serializing. 2022-06-04 15:28:21 -04:00
Lyle Mantooth ec37b1d583
Put the enemizer base patch next to the executable. 2022-06-04 15:27:28 -04:00
Lyle Mantooth 4972986fee
Fix byte indexes.
And standardize on lower-case hexadecimal.
2022-06-04 14:39:11 -04:00
Lyle Mantooth fed38efcc4
Add back options passed by ALttpDoorRandomizer.
Even though they aren't used, we have to declare them to parse them.
2022-06-04 14:38:35 -04:00
Lyle Mantooth 76ff991e8f
Conform to serialization used by ALttpDoorRandomizer. 2022-06-04 14:37:12 -04:00
Lyle Mantooth 975d6fd420
PatchSet only serializes patches to the file. 2022-06-04 14:35:44 -04:00
Lyle Mantooth 4cbc70eeca
Make it easy to write options file. 2022-06-04 10:00:06 -04:00
Lyle Mantooth 034af7fa92
More backwards compatibility. 2022-06-04 09:58:10 -04:00
Lyle Mantooth 27d5a4d6c0
Format! 2022-06-04 09:41:29 -04:00
Lyle Mantooth 1113adca98
Make it run (no actual randomizing yet). 2022-06-04 09:39:52 -04:00
Lyle Mantooth 87b0476b7e
Make it easy to generate necessary artifacts to run enemize-rs.
Maybe these files could be committed? It's not like they'll change very
often. But maybe there's copyrighted material in them I haven't noticed.
2022-06-04 09:36:08 -04:00
Lyle Mantooth 8901e0e8b0
Serialize option enums to u8, for backward compatibility. 2022-06-04 09:33:11 -04:00
Lyle Mantooth 41be111857
Add RomData::is_randomizer. 2022-06-01 09:53:11 -04:00
Lyle Mantooth 568360206d
Begin loading ROM data for randomization.
Use the fact that the default path for the asar symbols file is just the
ROM's file with a ".sym" extension. When enemize runs, it checks if this
file exists, and if it doesn't, runs asar on the ROM to create the
symbols file.
2022-05-31 22:48:45 -04:00
Lyle Mantooth f6eb37b6fe
Use clap for processing arguments. 2022-05-31 17:08:52 -04:00
Lyle Mantooth 4112573d85
Add base_patch_generator. 2022-05-30 01:04:39 -04:00
Lyle Mantooth 7cd01df7d6
Move Asar symbols into RomData.
Add move_room_headers function for base_patch_generator.
2022-05-30 01:03:30 -04:00
Lyle Mantooth 7a6689efd1
Understand better how SNES addressing works. 2022-05-29 19:16:49 -04:00
Lyle Mantooth a161d9090e
Add RomData, OptionFlags, and enums for them.
Fun error handling with automatic, fallible conversion to and from u8s
for the enums.
2022-05-29 10:22:34 -04:00
Lyle Mantooth c81348fb10
Fix up compiler issues. 2022-05-24 22:53:15 -04:00
Lyle Mantooth 5f8f1b5655
Ignore generated files. 2022-05-24 22:49:58 -04:00
Lyle Mantooth 1cca600505
Use MIT License for my own code.
Files in `assembly/src` written by others under the WTFPL.
2022-05-23 09:57:16 -04:00
Lyle Mantooth cd76b9f2f1
Copy ASM files, etc. from parent project. 2022-05-23 09:47:51 -04:00
Lyle Mantooth 476f01fad3
Fix bin_comp and factor out Patch struct to base lib. 2022-05-23 09:46:44 -04:00
Lyle Mantooth ca1c347386
Need cc to compile serde. 2022-05-22 12:58:35 -04:00
Lyle Mantooth 903855910a
Get asar in the right spot. 2022-05-22 12:58:24 -04:00
Lyle Mantooth ecce139c1d
Lock crates. 2022-05-22 12:42:31 -04:00
Lyle Mantooth c78df56306
Initial commit.
BinComp ported to Rust.
2022-05-22 12:31:39 -04:00