tl;dr: Last week I fixed lots of edge-case bugs in Meteor Power, and I spent a lot of time battling the blue-screen-of-death.
What happened last week?
- I debugged and fixed lots of complex edge cases in Meteor Power—especially relating to bot/station/wire destruction and managing queued commands.
- I wrote some extra devlog posts, reflecting on my job search and sabbatical.
- I battled the blue-screen-of-death.
- I debugged and fixed lots of complex edge cases in Meteor Power:
- Fix a regression with bot explicit navigation commands not working.
- Fix bot idleness tracking when canceling a queued command.
- Update idleness-changed methods to be idempotent.
- Fix an issue with next commands being started before the previous command has finished being cleaned up.
- Fix an issue with commands not being reenabled when energy rose up past the command-cost threshold.
- Fix a bug where commands could sometimes not be removed from the queue when they should.
- Move connected-powerline-destruction logic from replace_station to remove_station, so it always triggers when a station is destroyed.
- Add an extra call to update bot idleness when clearing its command state, in order to cover some missing edge cases.
- Debug incomplete station destruction.
- Fix some bugs where I was trying to remove values from a collection while iterating through the collection.
- Add checks that let things continue running when encountering freed instances inside some game-level collections.
- Fix a regression with cost-based enablements clearing previous non-cost-based disablements.
- Add a fallback check for getting bots back into a stable state in case something goes wrong when changing commands, navigation, and idleness.
- Fix an issue with power-lines sometimes being removed twice in the same frame.
- Fix an issue with station-overlay-buttons not always getting reset back to `run-wire` mode from `cancel` mode.
- Add support for showing the `cancel` button instead of the `run-wire` button when there is already a command in the queue for connecting the pair of stations.
- I wrote some extra devlog posts:
- Write a devlog post on my experience with finding a game-dev job.
- Start writing a devlog post on a retrospective of my sabbatical.
- I spent a lot of my week trying to diagnose a recurring blue-screen-of-death error (WHEA_UNCORRECTABLE_ERROR).
- This happens when running certain resource-intensive applications and/or with video conferencing.
- I _suspect_ this may relate to the RAM speed settings I had configured in BIOS.
- Fingers crossed...
- (This didn't turn out to be the problem
- Debug a couple edge-case issues with line-runner-bot edge trajectories at run-time.
- Implement barrier bot movement.
- Add some power-line polish:
- Better collision geometry.
- Some snapping animations.