ZMMOWorldSubsystem:
- Bind dos delegates + replay do cache de proxies remotos movidos
de Initialize pra OnWorldBeginPlay. Initialize roda muito cedo no
pipeline de LoadMap (antes do GameMode ser instanciado e do
WorldPartition terminar de carregar cells) — atores dinamicos
spawnados ali eram perdidos durante o setup posterior do mundo.
- Replay agora acontece quando o World REALMENTE comeca (GameMode
ativo, cells inicializadas) — proxies remotos persistem.
WireHelpers.h (novo):
- Helpers de leitura/escrita binarios LE/UTF-8 (ReadU8/U16/U32/U64/
Float/StringUtf8/Uuid16 + Write*) como inline em namespace
ZMMOWire. Substitui anonymous namespaces duplicados que existiam
em 3 telas do FrontEnd. UBT Adaptive Build agrupava os .cpp em
unity files diferentes; quando reorganizava as unities, dois
arquivos caiam na mesma TU e os anonymous namespaces colidiam
(ODR violation — "funcao ja tem corpo").
- inline em header tem semantica de "uma definicao por programa",
resolvendo a colisao independente de como o UBT organize unities.
UIServerSelectScreen_Base, UIUserLobbyScreen_Base, UICharacterCreatePage_Base:
- Removidas as definicoes duplicadas, agora usam ZMMOWire::* via
using-declarations.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>