Skip to content

cptsky42/Faith-Emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

                                Faith Emulator
                               ----------------

                   Copyright (C) 2012 - 2014 Jean-Philippe Boivin
                   https://bitbucket.org/jpboivin/faith-emulator

Overview
--------

Faith Emulator is a C++ emulator of the MMORPG Era of Faith.

The emulator is developed in C++ with Qt4 / Qt5.
N.B. The QMySQL driver must be build to use the QSQL module properly.

Features
--------

Faith Emulator is currently released as a base source. Most functionalities
are not implemented or completed. However, some features have special and
interesting implementation.

+ Support any POSIX and/or WinAPI operating system with Qt
+ Support any architecture (little endian & big endian | 32 bit & 64 bit)
+ Separate worker for logging (see xyserv.log)
+ Self destructed environment (useful for singletons)
+ MySQL5 database based on the official one

+ Security module
  - Custom implementations for:
    * TQ's custom cipher
    * RC5 (32/12/16)

+ Map module
  - Parallel loading of Data Map (DMap) files
    * MapManager will detect the number of physical cores and spawn an appropriate
      amount of worker to load DMaps in parallel.
  - Compressed data when unused
    * Each GameMap will detect when no player will be on the map, and than pack
      the data using the LZOX-1 algorithm and unpack the data when required.
  - Shared data among all GameMaps

+ Script module
  - Shared Lua VM for executing scripts
  - Exposed accessors for the player informations
  - Exposed specialized functions (e.g. text(), link())

+ Generator module
  - Based on TQ's one, using the official spawns will result in the same in-game spawns

+ Character creation
+ Character loading / saving
+ Direction / Emotion / Pk Mode
+ Walking / Jumping
+ Portals
+ Points allocation
+ Talking to NPCs [Incomplete]
+ Screen system [Incomplete]
+ Real item ID generation for monsters [Incomplete]

Documentation about the emulator can be generated with dOxygen.

Supported systems
-----------------

The emulator has been tested on the following platforms:
- Windows XP Professional (SP2)
  + x86_64 [Will compile, untested otherwise]
- Mac OS X Leopard (10.5.8)
  + ppc, ppc64
- Mac OS X Mavericks (10.9.2)
  + (x86), x86_x64
- Debian Lenny (5.0)
  + ARM (armel)

The emulator has been tested with Qt 4.6.3, 4.8.4 & 5.2.1.

However, the emulator should work without any modification on any
POSIX-compliant system (Mac OS X, *NIX, GNU/Linux, etc) and on any
WinAPI system.

N.B. This emulator uses the Windows API and/or the POSIX API and/or the Qt API.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published