summary refs log tree commit diff stats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Changed how door location names are formattedStar Rauchenberger6 days5-215/+328
| | | | | | | | | | | | | | | | | | STANDARD type doors with at most four panels in the same map area and no other trigger objects will have their location names generated from the names of the panels used to open the door, similar to Lingo 1. Other door types will use the door's name. In either case, the name can be overridden using the new location_name field. Rooms can also set a panel_display_name field, which will be used in location names for doors, and is used to group panels into areas. Panels themselves can set display names, which differentiates their locations from other panels in the same area. Many maps were updated for this, but note that the_symbolic and the_unyielding have validator failures because of duplicate panel names. This won't matter until panelsanity is implemented.
* [Data] Made proxies with the same answer as the panel explicitStar Rauchenberger7 days1-1/+0
|
* Renamed Painting and Keyholder protosStar Rauchenberger9 days2-4/+4
|
* Prevent assigning ap_id==0Star Rauchenberger9 days1-1/+1
|
* Added control_centerStar Rauchenberger9 days4-1/+21
|
* Added daedalusStar Rauchenberger12 days1-0/+5
|
* Maps have display names nowStar Rauchenberger2025-08-201-0/+17
| | | | Also added endings to the apworld.
* Added "endings" object typeStar Rauchenberger2025-08-208-1/+105
|
* Store IDs in a yaml fileStar Rauchenberger2025-08-195-12/+169
| | | | This is much more efficient than the txtpb format, and we only need an interface for it in C++ since the IDs will be packed into the binary proto representation.
* Added the_repetitiveStar Rauchenberger2025-08-183-114/+40
|
* Validate that nodes in game files are usedStar Rauchenberger2025-08-1810-4/+459
| | | | You can now also list out nodes that you are explicitly not mapping out. The current state of the repo does produce some warnings when the validator is run and they're either endings, paintings that I'm not sure what to do with yet, and weird proxy stuff I'm not sure how to handle yet.
* Validate that node paths aren't used multiple timesStar Rauchenberger2025-08-173-1/+40
|
* Minor changes for compiling on WindowsStar Rauchenberger2025-08-163-3/+3
|
* Started writing a data validatorStar Rauchenberger2025-08-1612-0/+1040
| | | | | | | Currently, it can check whether identifiers point to non-existent objects, or whether multiple objects share the same identifier. It can also determine whether an identifier is underspecified (e.g. a door doesn't specify a room, or a global connection doesn't specify a map).
* Assigned IDs for the_galleryStar Rauchenberger2025-08-131-0/+7
|
* Converted to proto2Star Rauchenberger2025-08-126-19/+18
| | | | | | | | | | | | | | | | | This will let us use an older version of protobuf in Python, and allows us to use the Godot protobuf implementation at all. Scalar fields with custom defaults in data.proto were changed to not have a default, because Godot doesn't handle it properly. The equivalent fields in human.proto still have the defaults, and datapacker copies the default value in if necessary. The Panel message in data.proto was also renamed to PanelData because otherwise it conflicts with the native Godot class named Panel. The double field in Letter was renamed to level2, because Godot couldn't handle it well. Finally, common.proto was removed and its contents were moved into data.proto, which allows us to generate code for Python without needing to edit it. NOTE: I had to slightly modify the Godot protobuf code generator. I'll need to upload that somewhere.
* Add gravity to paintings/portsStar Rauchenberger2025-08-111-2/+6
|
* Assigned IDs for the_congruentStar Rauchenberger2025-08-103-0/+91
| | | | | Keyholders are packed now. Doors can rely on keyholders and rooms. Paintings can be exit only.
* Assigned IDs for the_colorfulStar Rauchenberger2025-08-102-0/+21
| | | | | | Also fixed bug where the ID assigner didn't read letter and mastery IDs and would thus reuse them. I reassigned all IDs because of this (since we don't need to worry about ID stability yet).
* Added support for masteriesStar Rauchenberger2025-08-099-7/+196
| | | | | Also assigned IDs for the_butterfly, as well as already configured letters.
* Propagate complete_at to packed datafileStar Rauchenberger2025-08-091-2/+6
|
* Assigned IDs for the_bearerStar Rauchenberger2025-08-091-0/+4
| | | | | assign_ids now doesn't assign IDs for event doors, since they can't ever be locations or items.
* Added special IDsStar Rauchenberger2025-08-072-0/+13
|
* Assign AP IDs to doors and panels protoStar Rauchenberger2025-08-073-0/+202
|
* Started apworldStar Rauchenberger2025-08-071-0/+8
| | | | | | | vcpkg's libprotobuf is older than what PIP has, but neither are completely up to date either. Ugh. Doors have a room now because that's where the location will go.
* Process the rest of the defined protosStar Rauchenberger2025-08-072-2/+200
|
* Protobuf works! Parsing connectionsStar Rauchenberger2025-08-074-3/+473
|
* Trying out protobuf I guessStar Rauchenberger2025-08-071-0/+21