Revert "Handle Vault 109 quest handoff"
This reverts commit 6fdc63c36d.
This commit is contained in:
@@ -10,7 +10,6 @@ For testing notes, milestone summaries, known issues, and next steps, see [`docs
|
|||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- `COVault109` exit handoff in the plugin: when the local player leaves the solo cell, MQ101 (`War Never Changes`) is completed and MQ102 (`Out of Time`) is started at stage 10.
|
|
||||||
- Optional `isPipboyOpen` transform state so receivers can detect remote Pip-Boy open/close transitions. The state is synced and logged for diagnostics; no proxy Pip-Boy animation is driven (the third-person humanoid behavior graph has no Pip-Boy raise/use animation — it is first-person only), leaving room for a future custom third-person animation.
|
- Optional `isPipboyOpen` transform state so receivers can detect remote Pip-Boy open/close transitions. The state is synced and logged for diagnostics; no proxy Pip-Boy animation is driven (the third-person humanoid behavior graph has no Pip-Boy raise/use animation — it is first-person only), leaving room for a future custom third-person animation.
|
||||||
- Optional `appearance` transform snapshots for best-effort runtime proxy body and face visuals, including height, body morph weight, body tint, hair colors, head-part IDs, and morph slider values while leaving gender switching out.
|
- Optional `appearance` transform snapshots for best-effort runtime proxy body and face visuals, including height, body morph weight, body tint, hair colors, head-part IDs, and morph slider values while leaving gender switching out.
|
||||||
- Game-thread proxy appearance application for supported `appearance` fields after runtime proxy 3D is ready, with race switching deferred for future proxy-base compatibility work.
|
- Game-thread proxy appearance application for supported `appearance` fields after runtime proxy 3D is ready, with race switching deferred for future proxy-base compatibility work.
|
||||||
|
|||||||
Binary file not shown.
@@ -46,10 +46,8 @@ both send and receive paths:
|
|||||||
creation. On entry it can send one location update so other clients hold any
|
creation. On entry it can send one location update so other clients hold any
|
||||||
stale proxy, then outgoing transform packets are suppressed and remote proxy
|
stale proxy, then outgoing transform packets are suppressed and remote proxy
|
||||||
representation is skipped while the local player remains inside. Looks and
|
representation is skipped while the local player remains inside. Looks and
|
||||||
SPECIAL setup therefore stay visually single-player. When the local player
|
SPECIAL setup therefore stay visually single-player. The relay protocol is
|
||||||
leaves this cell, the plugin completes MQ101 (`War Never Changes`) and starts
|
unchanged; the rule is enforced client-side by the plugin.
|
||||||
MQ102 (`Out of Time`) at stage 10. The relay protocol is unchanged; the rule
|
|
||||||
is enforced client-side by the plugin.
|
|
||||||
14. On the game-thread update path, the proxy controller reads a copied
|
14. On the game-thread update path, the proxy controller reads a copied
|
||||||
remote-player snapshot before attempting any actor work. The snapshot is
|
remote-player snapshot before attempting any actor work. The snapshot is
|
||||||
sorted by `playerId`, and only remote players with valid transform data in
|
sorted by `playerId`, and only remote players with valid transform data in
|
||||||
|
|||||||
@@ -9,37 +9,6 @@ failed experiments, successful tests, and next steps.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 2026-06-30 - Vault 109 Main Quest Handoff
|
|
||||||
|
|
||||||
### Summary
|
|
||||||
Added a game-thread quest handoff when the local player exits `COVault109`, completing `War Never Changes` and starting `Out of Time` at stage 10.
|
|
||||||
|
|
||||||
### Files Changed
|
|
||||||
- `plugin/src/main.cpp`
|
|
||||||
- `changelog.md`
|
|
||||||
- `docs/dev-log.md`
|
|
||||||
- `docs/architecture.md`
|
|
||||||
|
|
||||||
### Details
|
|
||||||
- Reused the existing `COVault109` solo-cell tracking in local transform polling so the trigger fires as soon as the previous known location was the solo cell and the current location is not.
|
|
||||||
- Runs Fallout 4 console quest commands on the plugin game-thread update path: `completequest MQ101`, `startquest MQ102`, and `setstage MQ102 10`.
|
|
||||||
- Logs the handoff with the quest editor IDs and form IDs for confirmation in `CommonwealthOnline.log`.
|
|
||||||
|
|
||||||
### Testing
|
|
||||||
- Ran `build.bat`; `CommonwealthOnline.dll` compiled and linked successfully.
|
|
||||||
- Not run in-game in this session.
|
|
||||||
- Expected result: leaving `COVault109` completes MQ101 (`0001ED86`) and starts MQ102 (`0001CC2A`) at stage 10.
|
|
||||||
- Recommended log check: confirm `CommonwealthOnline.log` contains the Vault 109 quest handoff message after exiting the cell.
|
|
||||||
|
|
||||||
### Known Issues
|
|
||||||
- In-game confirmation is still needed to verify the vanilla quest scripts accept the handoff cleanly from the custom Vault 109 flow.
|
|
||||||
|
|
||||||
### Next Steps
|
|
||||||
- Start the server, connect one Fallout 4 instance, leave `COVault109`, and verify MQ101 is completed while MQ102 is active at stage 10.
|
|
||||||
- Connect two Fallout 4 instances and confirm outgoing transform packets, server relay, remote state parsing, and visible proxy movement still work after leaving the solo cell.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2026-06-30 - Pip-Boy Third-Person Behavior Investigation
|
## 2026-06-30 - Pip-Boy Third-Person Behavior Investigation
|
||||||
|
|
||||||
### Summary
|
### Summary
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
#include "RE/B/BIPED_OBJECT.h"
|
#include "RE/B/BIPED_OBJECT.h"
|
||||||
#include "RE/B/BipedAnim.h"
|
#include "RE/B/BipedAnim.h"
|
||||||
#include "RE/B/BSFixedString.h"
|
#include "RE/B/BSFixedString.h"
|
||||||
#include "RE/C/Console.h"
|
|
||||||
#include "RE/I/IAnimationGraphManagerHolder.h"
|
#include "RE/I/IAnimationGraphManagerHolder.h"
|
||||||
#include "RE/P/PipboyManager.h"
|
#include "RE/P/PipboyManager.h"
|
||||||
#include "RE/P/PipboyMenu.h"
|
#include "RE/P/PipboyMenu.h"
|
||||||
@@ -648,16 +647,6 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdvanceMainQuestAfterVault109Exit()
|
|
||||||
{
|
|
||||||
RE::Console::ExecuteCommand("completequest MQ101");
|
|
||||||
RE::Console::ExecuteCommand("startquest MQ102");
|
|
||||||
RE::Console::ExecuteCommand("setstage MQ102 10");
|
|
||||||
|
|
||||||
LogInfoWithLocalPlayerPrefix(
|
|
||||||
"Player left COVault109; completed MQ101 (0001ED86) and started MQ102 (0001CC2A) at stage 10.");
|
|
||||||
}
|
|
||||||
|
|
||||||
void PollLocalPlayerTransform()
|
void PollLocalPlayerTransform()
|
||||||
{
|
{
|
||||||
auto* player = TryGetLocalPlayer();
|
auto* player = TryGetLocalPlayer();
|
||||||
@@ -728,9 +717,6 @@ namespace
|
|||||||
|
|
||||||
if (soloCellTransformSuppressed) {
|
if (soloCellTransformSuppressed) {
|
||||||
LogInfoWithLocalPlayerPrefix("Local player left solo cell; transform packet sending resumed.");
|
LogInfoWithLocalPlayerPrefix("Local player left solo cell; transform packet sending resumed.");
|
||||||
if (hasLastTransform && lastKnownLocation.isSoloCell && !currentLocation.isSoloCell) {
|
|
||||||
AdvanceMainQuestAfterVault109Exit();
|
|
||||||
}
|
|
||||||
soloCellTransformSuppressed = false;
|
soloCellTransformSuppressed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user