Skip to content

hidefromkgb/DPengine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DPengine

An alternative experimental engine for Desktop Ponies written in C and GLSL and focused on performance. Don`t trust GitHub if it shows ObjC in the list of used languages, it`s pure C.

[WARNING:] This repo contains submodules (core/gif/load/, core/ogl/load/, exec/ctr/, exec/zip/, macos/load/), so don`t forget to specify --recursive when doing a git clone! As for GitHub ZIP downloader, unfortunately it still doesn`t support submodules as of now, so downloading a ZIP instead of cloning yields an incomplete copy.

Win32 GUI (as seen on Windows 98 SE):

Linux GUI (as seen on Arch Linux 4.6):

MacOS GUI (as seen on 10.15 Catalina, Dark UI mode):

To run properly, DPE requires the DP animation base, automatically downloading it from GitHub if possible. If for any reason DPE keeps failing to download it, the said directory needs to be manually put to any location on the local hard drive, after which DPE should be configured to use it: click the 'More Options...' button on the main window and choose the 'Animation base directory' so that it points to the parent directory of the animation base. After that, close DPE and execute it again. Enjoy!

The source code is meant to be built via either Code::Blocks IDE or makefiles included in the project.

N.B.: to be able to build on Windows using Code::Blocks 10.05, go to Settings → Compiler and Debugger → Toolchain Executables, and change 'Make program' to 'mingw32-make.exe'. It`s how it was meant to be. More recent versions ship with correct settings.

N.B.: to build and run DPE on Linux, install the following packages:

  1. make
  2. gcc
  3. mesa-common-dev
  4. libgtk2.0-dev
  5. libgtkglext1-dev
  6. libcurl4-openssl-dev
  7. libssl-dev

Releases

Binary releases are available for download. Building from source is no more necessary!

Release notes

The task at hand is to implement the remaining DP features missing from DPE:

  1. Interactions
  2. Games
  3. Profiles
  4. Screensaver
  5. Screen movement restriction, tab 2
  6. Audio (in doubt over its necessity, but whatever)

Some functionality is not present in DP but would also be nice to have:

  1. Implement the "alias method" for behaviours
  2. Parallelize sprite processing in frontend
  3. Move rendering options from tray menu to tab 3
  4. Add OS-specific options to tab 3

License

The source code and binaries are licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0). This means you are allowed to share and alter them, provided you give credit, do not use them for commercial purposes and release them under this same license.

The DP animation base is not a part of this project; see here for details on its license.