How jorkat/lunarose works
LunaROSE is a custom iROSE multiplayer game project. Players use the client to explore, inspect monsters and items, chat, manage skills and titles, and trade; the game server controls shared gameplay and reward content. The README establishes the major feature relationships, while the sampled code shows client settings persistence and server achievement/title updates. Several feature-specific implementations are not included in the excerpts, so those components are represented at their existing enclosing directories rather than with guessed source files.
Main entry points: CApplication.cpp Game Client · main.cpp Game Server · zz_system.h Engine System · Interface Bag Preview
Components 17
Game Client
- Game Client
Sources/Client/CApplication.cpp - Monster Database
Sources/Client/CMonsterListItem.cpp - Bag Preview
Sources/Client/Interface - Item Tooltips
Sources/Client/Interface - Skill UI
Sources/Client/Interface - Chat Item Links
Sources/Client/CViewMSG.cpp - Personal Shop
Sources/Client/Interface/PersonalStoreManager.cpp - Client Settings
Sources/Client/CClientStorage.cpp - Terrain Patches
Sources/Client/Terrain/PatchManager.cpp
Game Servers
- Achievement System
Sources/Server/SHO_GS/SHO_GS_LIB/Common/AchievementManager.cpp - Game Server
Sources/Server/SHO_GS/SHO_GS_EXE/main.cpp - Login Server
Sources/Server/SHO_LS/SHO_LS_EXE/main.cpp - World Server
Sources/Server/SHO_WS/SHO_WS_EXE/main.cpp
Client Engine
- Engine System
Sources/engine/include/zz_system.h - Scene Manager
Sources/engine/src/zz_manager.cpp - Sound Manager
Sources/engine/src/zz_manager_sound.cpp
Other components
- Player
Connections 17
- Player → Game Client: plays through
- Game Client → Monster Database: shows monster data
- Game Client → Bag Preview: previews rewards
- Game Client → Item Tooltips: shows item details
- Game Client → Skill UI: manages skills
- Game Client → Chat Item Links: renders item links
- Game Client → Personal Shop: manages shop
- Player → Achievement System: earns titles
Sources/Server/SHO_GS/SHO_GS_LIB/Common/AchievementManager.cpp - Game Client → Client Settings: stores preferences
Sources/Client/CClientStorage.cpp - Game Server → Achievement System: updates achievements
Sources/Server/SHO_GS/SHO_GS_LIB/Common/AchievementManager.cpp - Game Server → Bag Preview: controls rewards
- Login Server → Game Server: supports login
- World Server → Game Server: supports world play
- Game Client → Engine System: uses engine
- Engine System → Scene Manager: manages scene nodes
Sources/engine/src/zz_manager.cpp - Engine System → Sound Manager: initializes audio
Sources/engine/src/zz_manager_sound.cpp - Game Client → Terrain Patches: renders terrain