Commit Graph

20 Commits

Author SHA1 Message Date
massimilianodelliubaldini
ff5165e8b9 Update memory version to 4. 2024-10-29 10:27:36 -04:00
massimilianodelliubaldini
86460b4c5e Stellar Messaging (#54)
* Use new ap-messenger functions for text writing.

* Remove Powershell requirement, bump memory version to 3.

* Error message update w/ instructions for game crash.

* Create no console window for gk.
2024-10-14 13:24:09 -04:00
massimilianodelliubaldini
9bec9377fd Temper and Harden Text Client (#52)
* Provide config path so OpenGOAL can use mod-specific saves and settings.

* Add versioning to MemoryReader. Harden the client against user errors.

* Updated comments.

* Add Deathlink as a "statement of intent" to the YAML. Small updates to client.

* Revert deathlink changes.

* Update error message.

* Added color markup to log messages printed in text client.

* Separate loggers by agent, write markup to GUI and non-markup to disk simultaneously.

* Refactor MemoryReader callbacks from main_tick to constructor.

* Make callback names more... informative.

* Give users explicit instructions in error messages.
2024-10-04 13:50:30 -04:00
massimilianodelliubaldini
e6b58aa2be Fix deathlink reset stalls on a busy client. (#47) 2024-09-07 15:30:23 -04:00
massimilianodelliubaldini
746b281f48 Exempt's Code Review Updates (#43)
* Round 1 of code review updates, the easy stuff.

* Factor options checking away from region/rule creation.

* Code review updates round 2, more complex stuff.

* Code review updates round 3: the mental health annihilator

* Code review updates part 4: redemption.

* More code review feedback, simplifying code, etc.
2024-08-27 09:56:11 -04:00
massimilianodelliubaldini
17b484580e Make orb trade amounts configurable, make orbsanity defaults more reasonable. 2024-08-19 18:15:01 -04:00
massimilianodelliubaldini
ea82846a2b The Afterparty (#42)
* Fixes to Jak client, rules, options, and more.

* Post-rebase fixes.

* Remove orbsanity reset code, optimize game text in client.

* More game text optimization.
2024-08-03 14:19:06 -04:00
massimilianodelliubaldini
35bf07806f Finishing Touches (#36)
* Set up connector level thresholds, completion goal choices.

* Send AP sender/recipient info to game via client.

* Slight refactors.

* Refactor option checking, add DataStorage handling of traded orbs.

* Update instructions to change order of load/connect.

* Add Option check to ensure enough Locations exist for Cell Count thresholds. Fix Final Door region.

* Need some height move to get LPC sunken chamber cell.
2024-07-23 19:32:15 -04:00
massimilianodelliubaldini
f7b688de38 Orbsanity (#32)
* My big dumb shortcut: a 2000 item array.

* A better idea: bundle orbs as a numerical option and make array variable size.

* Have Item/Region generation respect the chosen Orbsanity bundle size. Fix trade logic.

* Separate Global/Local Orbsanity options. TODO - re-introduce orb factory for per-level option.

* Per-level Orbsanity implemented w/ orb bundle factory.

* Implement Orbsanity for client, fix some things up for regions.

* Fix location name/id mappings.

* Fix client orb collection on connection.

* Fix minor Deathlink bug, add Update instructions.
2024-07-11 18:42:04 -04:00
massimilianodelliubaldini
f8751699fc Move rando fixes (#29)
* Fix virtual regions in Snowy. Fix some GMC problems.

* Fix Deathlink on sunken slides.

* Removed unncessary code causing build failure.
2024-07-03 13:25:34 -04:00
massimilianodelliubaldini
1c42bdb353 Move Randomizer (#26)
* Finally remove debug-segment text, update Python imports to relative paths.

* HUGE refactor to Regions/Rules to support move rando, first hub area coded.

* More refactoring.

* Another refactor - may squash.

* Fix some Rules, reuse some code by returning key regions from build_regions.

* More regions added. A couple of TODOs.

* Fixed trade logic, added LPC regions.

* Added Spider, Snowy, Boggy. Fixed Misty's orbs.

* Fix circular import, assert orb counts per level, fix a few naming errors.

* Citadel added, missing locs and connections fixed. First move rando seed generated.

* Add Move Rando to Options class.

* Fixed rules for prerequisite moves.

* Implement client functionality for move rando, add blurbs to game info page.

* Fix wrong address for cache checks.

* Fix byte alignment of offsets, refactor read_memory for better code reuse.

* Refactor memory offsets and add some unit tests.

* Make green eco the filler item, also define a maximum ID. Fix Boggy tether locations.
2024-06-27 10:12:48 -04:00
massimilianodelliubaldini
8293b9d436 Deathlink (#18)
* Jak 1: Implement Deathlink. TODO: make it optional...

* Jak 1: Issue a proper send-event for deathlink deaths.

* Jak 1: Added cause of death to deathlink, fixed typo.

* Jak 1: Make Deathlink toggleable.

* Jak 1: Added player name to death text, added zoomer/flut/fishing text, simplified GOAL call for deathlink.

* Jak 1: Fix death text in client logger.
2024-06-07 11:07:31 -04:00
massimilianodelliubaldini
33a858e526 Logging Update (#16)
* Jak 1: Separate info and debug logs.

* Jak 1: Update world info to refer to Archipelago Options menu.
2024-06-01 11:55:17 -04:00
massimilianodelliubaldini
50f56064eb Alpha Updates (#15)
* Jak 1: Consolidate client into apworld, create launcher icon, improve setup docs.

* Jak 1: Update setup guide.

* Jak 1: Load title screen, save states of in/outboxes.
2024-05-28 18:02:23 -04:00
massimilianodelliubaldini
7cf50b0935 Jak and Daxter: Genericize Items, Update Scout Fly logic, Add Victory Condition. (#3)
* Jak 1: Update to 0.4.6. Decouple locations from items, support filler items.

* Jak 1: Total revamp of Items. This is where everything broke.

* Jak 1: Decouple 7 scout fly checks from normal checks, update regions/rules for orb counts/traders.

* Jak 1: correct regions/rules, account for sequential oracle/miner locations.

* Jak 1: make nicer strings.

* Jak 1: Add logic for finished game. First full run complete!

* Jak 1: update group names.
2024-05-18 14:37:01 -04:00
massimilianodelliubaldini
4b4489a7ae Jak 1: Simplified startup process, updated docs, prayed. 2024-05-12 15:22:53 -04:00
massimilianodelliubaldini
240bb6c255 Jak 1: Simplify user interaction with agents, make process more robust/less dependent on order of ops. 2024-05-09 17:23:03 -04:00
massimilianodelliubaldini
75461d62a0 Jak 1: There's magic in the air... 2024-04-29 22:42:52 -04:00
massimilianodelliubaldini
801e50b817 Jak 1: In tandem with new ArchipelaGOAL memory structure, define read_memory. 2024-04-28 23:11:03 -04:00
massimilianodelliubaldini
39364b38fd Jak 1: Refactored client into components, working on async communication between the client and the game. 2024-04-26 22:56:16 -04:00