Commit Graph

4 Commits

Author SHA1 Message Date
34e9dbe454 feat(char-spawn): Fase 4 — DT_Maps + pawn reposicionado na pos do DB
Cliente UE (foco da frente):
- FZMMOMapDef + FZMMOMapSpawn (Source/ZMMO/Data/World/MapDef.h) — row do
  DT_Maps com MapId/DisplayName/ClientLevel/Spawns[] taggeados
- DT_Maps.uasset (Content/ZMMO/Data/World/) — 1 row "TestWorld" mapId=1
  apontando pra L_TestWorld + spawn "default" em (0,0,200)
- L_TestWorld movido: /Game/ThirdPerson/TestWorld -> /Game/ZMMO/Maps/World/L_TestWorld
  (75 ext actors WP duplicados, original deletado)
- ZMMOCharSummary.MapName (FString) -> MapId (int32)
- UIUserLobbyScreen_Base parseia uint16 mapId no S_CHAR_SELECT_OK + chama
  Flow->TravelToMapById(mapId) + Flow->SetPendingSpawnPose(pos, yaw)
- UIFrontEndFlowSubsystem: MapsTableAsset (config), FindMapDef,
  ResolveLevelPathByMapId, TravelToMapById, SetPendingSpawnPose/Consume
- AZMMOPlayerCharacter::BeginPlay: consome PendingSpawnPose do Flow e
  SetActorLocationAndRotation no pawn local (substitui PlayerStart default)
- DefaultGame.ini: MapsTableAsset=/Game/ZMMO/Data/World/DT_Maps.DT_Maps
- .gitignore: + .vscode/

Outras mudancas no working tree (paralelas a esta frente):
- Content/AutoCreated/MMOWidget/Widgets/WBP_* (boot/login/charselect/etc.)
- Content/AutoCreated/MMOWidget/Fonts/Font_* + font_*_Face
- Refatoracao de fontes ZMMO/UI/Fonts (FF_* deletadas, F_* + Face)
- Content/__ExternalActors__/ZMMO/Debug/Maps/L_Test_UI/* (75 actors)
- Content/Editor/ZeusUMGForge/FontMap.uasset
- Content/ZMMO/UI/Shared/UI_CheckBox_Master.uasset
- Content/ExternalContent/{Fab,Marketplace,Megascans}/.gitkeep
- Content/ThirdPerson/Menu.umap
2026-05-23 02:00:48 -03:00
99aee52317 feat(client): Fase 3 — handoff UDP no Lobby + entry no mundo de gameplay
Lobby:
- HandleCharSelectOk invoca UZeusNetworkSubsystem->ConnectToZeusServerWithTicket
  (host, port, token) recebido do CharServer no S_CHAR_SELECT_OK.

Server travel:
- HandleServerTravelRequested força ZMMOGameMode via URL option
  (`?game=/Script/ZMMO.ZMMOGameMode`) no OpenLevel, independente do
  GameModeOverride do .umap. Evita herdar ZMMOFrontEndGameMode em mapas
  copiados/baseados em L_FrontEnd.

PlayerController:
- ZMMOPlayerController::BeginPlay força FInputModeGameOnly + cursor off +
  FlushPressedKeys ao tomar posse. Necessário pq UIManagerSubsystem é
  LocalPlayerSubsystem (sobrevive ao travel) e o controller anterior
  (AZMMOFrontEndPlayerController) tinha setado FInputModeUIOnly — sem este
  reset, WASD/Look não chegavam ao pawn no novo mundo.

Assets:
- TestWorld: PlayerStart adicionado, World Settings com GameModeOverride=
  ZMMOGameMode + Default Pawn=ZMMOPlayerCharacter + Controller=
  ZMMOPlayerController.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 20:58:48 -03:00
50471831a2 chore: remove conteudo template da Epic (Variant_*)
Remove os pacotes de exemplo Variant_Combat, Variant_Platforming e Variant_SideScrolling (mais os External Actors/Objects associados) que vieram do template Third Person e nao fazem parte do cliente ZMMO. Ajusta Config/DefaultEditor.ini de acordo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 21:21:01 -03:00
3d4d0de40b feat: ZMMO client base (Game/Entity|Controller|Modes|Network)
Estrutura inicial do cliente Unreal Zeus MMO alinhada ao padrao
"cliente solto + servidor valida input/velocidade" (ADR 0038):

- Source/ZMMO/Game/Entity/ — IZMMOEntityInterface, AZMMOEntity (base
  AActor para Mob/NPC/Object), AZMMOPlayerCharacter (player local com
  CMC livre, Enhanced Input, envio de C_INPUT_AXIS), AZMMOPlayerProxy
  (snapshot-only para players remotos).
- Source/ZMMO/Game/Controller/ — AZMMOPlayerController com IMC defaults
  (IMC_Default + IMC_MouseLook) e suporte opcional a virtual joystick.
- Source/ZMMO/Game/Modes/ — AZMMOGameMode (defaults para PlayerCharacter
  / PlayerController), UZMMOGameInstance (auto-connect ao servidor Zeus
  em Init e logging dos eventos OnConnected/OnDisconnected/...).
- Source/ZMMO/Game/Network/ — UZMMOWorldSubsystem (registry
  EntityId -> AActor*, dispatch dos delegates OnPlayerSpawned/Despawned/
  StateUpdate; ignora snapshots locais do cliente solto).
- Config/DefaultEngine.ini — GlobalDefaultGameMode aponta para
  /Script/ZMMO.ZMMOGameMode; GameInstanceClass para
  /Script/ZMMO.ZMMOGameInstance; redirects para a nova hierarquia.
- ZMMO.Build.cs — depende de ZeusNetwork; PublicIncludePaths para a
  nova arvore Game/Entity|Controller|Modes|Network.
- Content — assets do template ThirdPerson (Mannequins, IAs/IMCs,
  Lvl_ThirdPerson + TestWorld). Os Variant_* levels ficam no commit
  inicial mas serao limpos numa proxima sessao com aprovacao explicita
  (Master Rule para .umap/.uasset).

Notas:
- BP_ThirdPersonCharacter/GameMode/PlayerController ainda apontam para
  a hierarquia antiga e estao a aguardar aprovacao para remocao
  (Master Rule).
- README.md descreve a arquitectura e o smoke test de conexao.
2026-05-07 20:21:21 -03:00