Commit Graph

55 Commits

Author SHA1 Message Date
3092714212 Add checks to avoid running docking commands in invalid state. 2025-02-19 19:51:03 -05:00
11298083e7 Add a docking controller script using some new Block Actions. 2025-02-19 19:41:53 -05:00
54f04a7cf0 Oops, interface implementations on Program don't carry over into the compiled game script. IConsoleProgram will have to just stand as a compile-time checking convenience. 2025-02-14 16:20:50 -05:00
372e9e22d2 Cleanup old sequencer references. 2025-02-14 15:57:46 -05:00
f5d3dbc275 Completely rework the Sequencery library and abandon MechDoor in favor of just using the action sequencer script. 2025-02-14 15:52:28 -05:00
cd9ee88172 Actually use the IConsoleProgram interface where appropriate. (we may trim this down later to only use the actual IConsole where appropriate...) 2025-02-13 21:11:46 -05:00
c998f088f6 Fix sprite-based rendering, add checkmark, add automatic scaling. 2025-02-13 13:38:46 -05:00
b7fa9cb2cd Add automatic screen output and formatting to Consoles. 2025-02-13 00:50:11 -05:00
b1d12bad28 Convert display output to use sprites. Still a work in progress. 2025-02-13 00:49:18 -05:00
8b740dde71 Refactor doors and lights to be slightly less coupled to the Zones. This allows them to be shared by multiple zones. 2025-02-12 22:32:00 -05:00
4be70bdfdb Go back to automatically resetting once O2 levels are normalized. 2025-02-12 01:00:44 -05:00
d5775df58a Don't allow cycling an already cycling airlock. 2025-02-11 21:47:22 -05:00
536b4a5ea5 Remove redundant solution files. 2025-02-11 21:44:25 -05:00
8611c6e597 Fix rotors and pistons getting stuck and breaking the sequence. 2025-02-11 21:43:23 -05:00
fb211a9426 Add ability to manually trigger O2 alarms, plus some more tidying. 2025-02-11 18:25:13 -05:00
66fff69396 Don't actually use the IConsoleProgram interface in code since it would require a huge number of casts and everything is inside Program anyway. 2025-02-11 14:36:24 -05:00
06be2bf30e Add a general-purpose Action Sequencer capable of arbitrary configuration. 2025-02-11 14:00:49 -05:00
6fd7d5dda5 Make sure Enumerator resources get cleaned up. 2025-02-11 14:00:28 -05:00
be989a233d More refactoring. 2025-02-11 13:18:34 -05:00
2311019f4e Refactor to do non-dependent initializations before construction. 2025-02-11 13:10:32 -05:00
6a51e203e0 Add informational/warning light support. 2025-02-11 12:50:09 -05:00
97eb659378 More cleanup and refactoring. Adjust update frequency of scripts where possible. 2025-02-11 12:44:01 -05:00
af97dbf6e8 Major refactor and cleanup as we look towards reuse. 2025-02-11 11:03:48 -05:00
5db025bb47 Added the ability to use display screens in cockpits and LCD panels to display air monitoring data. 2025-02-11 02:06:49 -05:00
136938a3e3 Fixes and add some default output. 2025-02-11 00:42:22 -05:00
1f33b7fbb4 Add an air monitor script and necessary additions to the Sequencer. 2025-02-11 00:20:39 -05:00
85ce54ad1d Add reference sensor support. 2025-02-10 20:30:33 -05:00
f57243d699 Cleanup. 2025-02-10 19:45:16 -05:00
c8babebaef Configure Mechanical Door to use CustomData for configuration. Also refactor Sequenceables to use the yield enumerator pattern. 2025-02-10 19:43:10 -05:00
8c55176aed Configure Airlock entirely from CustomData. 2025-02-10 16:16:36 -05:00
606442d3a0 Variable renaming and cleanup. 2025-02-10 01:59:38 -05:00
723b27298b Refactor airlock for fewer lookups and in preparation for using a sequencer. 2025-02-09 21:51:47 -05:00
e82303ff00 Replace ConfigParser with SDK-provided MyIni 2025-02-09 21:18:58 -05:00
37511ac473 Add (and use) a Sequencer library for orchestrating the mechanical door; this will eventually have wide reuse applicability. 2025-02-09 20:26:00 -05:00
74331a95ba Add a utility functions library. 2025-02-09 20:25:15 -05:00
eac331b4ee Move classes into Program class. 2025-02-09 20:24:58 -05:00
497f5887bd Add a "main" solution file for intellisense to be happier. (Also useful for building/deploying all the scripts at once) 2025-02-09 01:12:52 -05:00
ef40362062 Use console. 2025-02-08 21:26:21 -05:00
cb759ccdc2 Fix control flow. 2025-02-08 21:20:59 -05:00
dcc6a17c2c Use console. 2025-02-08 21:06:30 -05:00
9dcf923a49 Use ConfigParser library. 2025-02-08 21:04:28 -05:00
c75159f706 Add console system to print debug output to the PB screen. 2025-02-08 14:48:59 -05:00
4a288ed859 Fix build errors. 2025-02-07 21:06:24 -05:00
e897b5dfd3 Refactor for consistency. 2025-02-07 21:02:46 -05:00
302609a004 Remove unused includes. 2025-02-07 20:56:00 -05:00
446aa29742 Convert airlock into a multiplex controller and use MDK. 2025-02-07 18:09:19 -05:00
d2952a3111 More idioms. 2025-02-07 15:25:25 -05:00
2227c92377 Start to make code slightly more idiomatic. 2025-02-07 15:19:57 -05:00
13e1f9d63c Convert mechanical door script to use MDK2. 2025-02-07 15:07:37 -05:00
f0f7aa9030 Add todo. 2025-02-07 12:11:03 -05:00