Código fuente original
El código del lado del servidor no se sigue de cerca en este momento.
La descripción general del cliente es la siguiente:
Sistema UI Sistema básico UI CEGUI
Representador CEGUI
El analizador XML expatriado depende en CEGUI Así que supongo que a los escritores no les gusta usarlo.
FreeType2 es un renderizador de fuentes multiplataforma de código abierto que se utiliza para dibujar chino.
Escribir script luaPlus
El motor de visualización 3D Ogre es un motor de renderizado eficiente y de código abierto. El último Ogro es 1.7.2.
Los códigos de operación utilizados para la detección de conflictos son de código abierto y utilizan menos memoria. Puede considerar viñetas, ODE u otras (generalmente seleccionadas según las necesidades reales).
La detección de colisiones de Dianlong parece ser solo una simple detección de cuadro de colisión.
Herramienta de análisis TinyXML El analizador XML utilizado en el juego puede ser más pequeño usando RapidXML.
FMOD SDK para música y efectos de sonido de amplificadores es suficiente, pero OPENAL también es una buena opción.
Sistema WX
La gestión de operaciones de acciones de WXClient incluye chat, elementos, habilidades para la vida, etc., que en realidad se operan mediante íconos.
Administración del cursor y del puntero del mouse (también viene con muchos comandos)
El cliente de la base de datos utiliza la base de datos en memoria para implementar la definición de DB en WXEngine, incluidas las funciones de búsqueda, obtención y apertura de archivos TLBB_DBC. Lo cierto es que aunque se llama artes marciales, deja atrás la sombra de Tianlong.
El grupo de datos gestiona de manera uniforme todos los datos del juego, incluida la interfaz de usuario, el equipo o el grupo, etc. Hay una clase CModelShowInUI (curiosamente, esta clase no debería colocarse aquí, ¿verdad?)
Los controladores de eventos del juego de eventos se dividen en colas de eventos y colas de eventos de procesamiento lento, ¡que vale la pena consultar! ! ! Usando el método de registrar controladores de eventos, ¡los parámetros son muy flexibles!
FakeObject se utiliza para los objetos que se muestran en la interfaz de usuario (aquí como una clase de administrador).
El ayudante se exporta usando luaPlus y crea una ventana del sistema de ayuda.
Clase de entrada de entrada
La interfaz es la clase de control de interfaz externa de todo el juego. Todos los módulos externos necesitan controlar los datos y controles del juego a través de esta interfaz, como un tipo de llamada de script.
Procesamiento de mensajes de red
La clase base lógica del objeto Object no tiene nada que ver con la visualización, ¡por supuesto que se deriva de los tipos que se pueden mostrar! y tipos de objetos específicos en el juego.
Programa flujo de juego, inicio de sesión, selección de personajes, creación de personajes, espera para ingresar al juego, flujo principal del juego MMO, inicio de sesión en el servidor.
Archivos de recursos para varios ratones. archivo actual.
El administrador del sistema de scripts, heredado del entorno de scripts del motor, llama scripts.
Sonido
El archivo fuente tWinMain está aquí 2
Sistema de parámetros de configuración variable
Área de escena mundial ZONA, Escena, Administrador mundial, búsqueda de rutas y otras funciones, el tamaño de una ZONA es exactamente el tamaño de una pantalla, y la Zona constituye la escena.
WXCore
La detección de colisiones cubre principalmente el método de procesamiento del modelo óseo de ogro.
Sistema de efectos especiales
Definición de modelo de tipo de modelo adicional
SkeletonMesh (se sospecha que está abandonado) Dobject_NT envuelve Ogre::Entity y se puede colgar en SceneNode.
Utilice SkeletonMeshUrl como formato de almacenamiento para almacenar Dobject_NT.
La capa combinada entre la capa de renderizado LogicModel y el cliente utiliza la capa de renderizado para realizar las necesidades del cliente de objetos dinámicos en la escena sin llamar al código de la capa de renderizado.
OgreExt extiende y renderiza Ogre.
Efecto de imagen 3D post-filtro, post-filtro
Sistema de archivos de ResourceSystem Ogre, utilizado para leer y cargar el sistema de archivos en su conjunto.
Archivo de encabezado & amp& amp archivo fuente renderizable capa de objetos renderizable básico y sus subclases
Implementación del terreno y su gestión, edición y optimización
WX:: Los objetos heredan impulso::enable_shared_from_this.
XercescParser es otra biblioteca de análisis XML que se encuentra aquí.
Wx::acroobj, Wx::actor object, Wx::logicmodeobject deben leerse atentamente para conocer los principios.
Clase base de escena, administración, serialización, edición y otros métodos
cursor del motor wx
Base de datos
¿Depurador para depurar? Pero no lo he visto usado en ninguna parte. ¿Es por el guión?
Las excepciones incluyen los directorios comprimidos de Xzip... Por supuesto, también incluye definiciones para excepciones lanzadas, informes de fallas de objetos falsos, gfx, ayudas y entradas.
Matemáticas, perfil, script, sonido
Clases virtuales de tiempo, UI, funciones útiles y variables, por supuesto también hay clases concretas. Esperando para continuar con el análisis de clasificación 2
Kernel TDKernel Registro de clases de administración e información de complementos CEGUISystem y WXRender heredan de TDNode (y la TDClass correspondiente a TDNode) y se agregan al kernel a través de complementos (para ser verificado).
TDNode establece la clase de nodo central, similar a un árbol, para facilitar la organización de los datos en el núcleo.
El nodo TDClass define una clase y toma el nombre de la clase definida en función del nombre de la clase. Al igual que MFC, establece su propia cadena de clases. Lo importante es que varias definiciones de clases implementan macros que inicializan automáticamente tClass. Por cierto, también se implementa la función CreateObject.
Acción del juego
Grupo de datos
Evento 2
Conexión
Objetivo
World
Tabla de estructura de datos del campo de batalla de WXNetPackets, estructura de registros de la tabla de datos de habilidades y efectos, el lector de administración general de la tabla de datos tiene un administrador de datos de plantilla.
Base de datos TLBB_DBC.h define una clase de archivo de base de datos DBC común para clientes de servidor.
Definición universal de todo el juego, GameStruct.
Funciones de conveniencia de GameUtil, verificación CRC, bloqueo, conversión binaria a DB de cadena, etc.
Función aleatoria, tipo, estructura de comando del script, gestión de datos de habilidades, estado del jugador 2.
Definición de paquetes de datos importantes
Los archivos de encabezado y los archivos fuente amp& amp básicamente utilizan la situación específica de Packet en Common\Net para implementar Packet->; /p>
Cámara WXRender 3 tipos de cámaras
El objeto RFObject en WXEngine basado en la clase base del objeto de capa de renderizado tEntityNode
RFObj hereda el paquete utilizado por RFObject para WX: :Object, poniendo su propio puntero en los datos de WX::Object.
RFobj_actor, rfobj_model y rfobj_static heredan de la figura rfobj, el modelo dinámico y el modelo estático2.
El diseño original de RFObj_Actor debería haber usado Dobject_NT en SkeletonMesh.h, pero en realidad no está relacionado. Se interpreta que WXLogicModel reemplaza el Dobject 2 original.
El archivo de encabezado y el archivo fuente amp& DebugPanel incluyen información de depuración y HitObjectPanel (¿información de ataque?)
RenderSystem integra objetos ambientales, gestión de filtrado posterior al renderizado y sistema central. Existen muchas técnicas para cargar recursos.
El sistema ResourceProvider utiliza el administrador de grupos de recursos de Ogre para una gestión y un juicio unificados. ResourceLoadListener se utiliza para encontrar errores detallados al analizar scripts. scriptparsinglistener:public orge::ResourceLoadListener es realmente poderoso.
RFFakeObjectManager es el administrador de la capa de presentación del modelo de visualización de la interfaz de usuario.
La cuadrícula de terreno TerrainGrid puede representar objetos.
WXObj_ProjTex Textura de proyección WXObj, que incluye anillo de selección, puntos de sombra y huellas.