Coder Social home page Coder Social logo

asdlei99 / xlengine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mindwerks/xlengine

0.0 1.0 0.0 11.31 MB

XLEngine allows you to play Dark Forces, Daggerfall and soon Outlaws and Blood with modern technology.

License: MIT License

C++ 87.78% C 7.20% AngelScript 3.32% CMake 1.70%

xlengine's Introduction

XLEngine

TODO

  • game plugin fix-ups

Dependencies

  • DevIL Cross-platform image loading and manipulation toolkit
  • enet Thin network communication layer on top of UDP
  • GLEW OpenGL Extension Wrangler Library
  • SDL2 Cross-platform low-level I/O access
  • cmake

Install the dependencies on Linux:

sudo apt install libdevil-dev libenet-dev libglew-dev libsdl2-dev

Install the dependencies on Windows with vcpkg:

vcpkg install devil enet glew sdl2

Building

We use CMake as the cross-platform build system.

Building on Linux:

git checkout https://github.com/Mindwerks/XLEngine.git
mkdir build; cd build; cmake ../XLEngine; make -j4

Building on Windows:

(Replace < Location of vcpkg > with the location where you installed vcpkg)

git checkout https://github.com/Mindwerks/XLEngine.git
mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=< Location of vcpkg >\scripts\buildsystems\vcpkg.cmake ../XLEngine

Runtime Configuration

Game data paths and render settings are specified in XLEngine.conf. On non- Windows systems, it will look for this in the XDG standard directory:

$XDG_CONFIG_HOME/XLEngine/XLEngine.conf

or, if XDG_CONFIG_HOME is unset or empty:

$HOME/.config/XLEngine/XLEngine.conf

On all systems, it will then search for XLEngine.conf in the process's working directory and use the settings there as overrides.

The available settings are:

[general]
width = # window/screen width, 320 minimum
height = # window/screen height, 200 minimum
fullscreen = # true or false
vsync = # true or false
emulate-low-res = # true to render at 320x200 and stretch to fit, or false
renderer = # opengl, soft32 (true-color software), soft8 (paletted software)

[DaggerXL]
data-path = # Full path to game data, e.g. C:\DAGGER\ARENA2

[DarkXL]
data-path = # ...

[BloodXL]
data-path = # ...

[OutlawsXL]
data-path = # ...

Currently the game must be run from where it can find the DarkXL/, DaggerXL/, etc. directories, where the AngelScript (*.as) and image (*.png) files are for the respective games. Just copy the contents of the resources/ directory to your build directory.

Changelog

0.2.0

  • dos2unix all files
  • PlatformDef magic with macros
  • bare minimum fixes to compile on linux with gcc
  • added cross-platform cmake build system
  • re-added angelscript external dep

0.1.0 Initial Release

  • LuciusDXL code drop from 2011-07-12 09:24:47 +0200 (Tue, 12 Jul 2011)
  • LuciusDXL licensed code under the Expat License (aka MIT License)
  • Original LuciusDXL release will be included in 0.1.0 tagged release
  • Added README.md
  • Removed 3rd-party libs (will add back as necessary)
  • Removed binaries and MSVC related files

xlengine's People

Contributors

afritz1 avatar angguss avatar anotherfoxguy avatar drummyfish avatar kcat avatar psi29a avatar winterheart avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.