AST_Studios-LateRepo_Fix icon

LateRepo Fix

Compatibility patch for LateRepo 1.6.4: fixes the outdated singleplayerPool error, active-round lobby access, enemy late-join state, early client module link repair, targeted module replay, and late-join battery charge UI sync.

CHANGELOG

Changelog

1.1.4

  • Added an early client-side module connection prepass before GenerateConnectObjects and GenerateBlockObjects.
  • Fixes active-round reconnects where the client could generate phantom walls before receiving the host's room-link replay.
  • Applies incoming ModuleConnectionSetRPC idempotently on clients, preventing duplicate module-ready counts and duplicate prop-switch setup.
  • Keeps the targeted host module replay from 1.1.3 as a backup for late-loaded module PhotonViews.
  • Helps prevent late-joined or reconnected players from spawning inside disconnected room blockers after a crash.

1.1.3

  • Added targeted vanilla ItemBattery state sync for newly joined clients.
  • Fixed missing charge bars for vanilla charged items such as Phase Bridge and staff weapons after joining an active round.
  • Also resyncs item battery charge after level item setup, covering clients who joined before the round but loaded items with stale charge UI.
  • Added an inventory UI fallback that repairs stale private ItemBattery bar counters when vanilla returns an empty charge state.
  • Extended targeted late-join battery sync retries so active-round joiners can receive charge state after their item PhotonViews finish loading.
  • Sends current battery state only to the newly joined player, avoiding the old global item state replay that broke charge UI.
  • Stores module connection state on the host and replays it directly to late joiners after their player avatar is ready, avoiding early ModuleConnectionSetRPC misses that could create disconnected/phantom walls.
  • Skips direct ItemBattery RPC sync for nested batteries whose PhotonView cannot receive vanilla battery RPC methods, preventing BatteryToggleRPC / BatteryFullPercentChangeRPC console errors.
  • Added Items.SyncItemBatteryStateForLateJoiners config.
  • Added Items.RepairInventoryBatteryUiForLateJoiners config.

1.1.2

  • Removed the experimental equipped item state replay and ItemEquippable.RPC_UpdateItemState guard because they could break charge bars on battery-style items and Defibro.
  • Removed Items.RepairItemEquipStateRpc and Items.SyncEquippedItemsForLateJoiners config.
  • Replaced late module connection replay with buffered ModuleConnectionSetRPC during generation, so active-round joiners receive room links through the same Photon cache path as vanilla level state.
  • Removed late-join item battery state replay. LateRepo Fix no longer sends BatteryFullPercentChangeRPC, leaving charge bars to vanilla ItemBattery and item-specific fixes.
  • Updated Level.SyncModuleConnectionsForLateJoiners to control buffered module connection sync.

1.1.1

  • Stopped the periodic Steam lobby unlock call that caused constant Steam: Unlocking lobby... console spam.
  • Kept the periodic Photon room open/visible refresh for active-round joining.
  • Added late-join enemy state synchronization to prevent missing player dictionary keys in EnemyOnScreen and EnemyVision.
  • Keeps the host Photon room open and visible while active round joining is enabled.
  • Added Host.KeepPhotonRoomOpenDuringActiveRound config.
  • Added periodic host access refresh during active runs.

1.1.0

  • Added Host.AllowJoiningDuringActiveRound config.
  • Keeps the host Steam lobby joinable while active round joining is enabled.
  • Preserves public/private lobby visibility while allowing joins.

1.0.0

  • Added a guard around LateRepo's LevelGenerator.Start hook.
  • Added a finalizer on LevelGenerator.Start so the guard still works after runtime hooks are installed.
  • Suppressed the outdated RunManager.singleplayerPool MissingFieldException.
  • Added General.DebugLogging config.