Devils Everywhere

This is a modernization of the beloved UNIX gaming staple, XEvil. XEvil was GPLed in 2000; the last public source release was in 2003. Devils Everywhere is based on that experimental source release.

License

"He beholdeth all high things; he is a king over all the children of pride." - Job 41:34

readme.txt contains the original readme and licensing information. Please read it. It asked nicely and everything. The original XEvil source is distributed under the terms of the GPL. Devils Everywhere, as a derivative work incorporating that source, must also be distributed under those terms.

All additional contributions by "Leviathan" are dedicated to the public domain.

To Do

Short term

Get it building and running (DONE)

Remove unneeded license screen

None of the settings on the license screen are likely to need to be disabled on modern machines. The commandline options will suffice in case anyone wants to disable smooth scrolling or whatever.

End users are not obligated to accept the GPL to play the game. It is not a EULA. The copyright information is displayed on the title screen.

Thus, there's no reason to keep the license screen. It can be removed.

Change defaults to fit performance of modern machines

Smooth scrolling should be enabled by default.

Replace deprecated headers

sstream, fstream, I guess? Also, using extern "C" instead of for C includes.

Remove -fpermissive

Resolve (reasonable) warnings

Update -help output to match all available options

There are convenient options that are undocumented.

Tidy up build system

Most of the host types in config.mk are for ancient machines and serve no purpose anymore.

Medium-ish term

SDL implementation alongside win32/x11

Remove win32/x11 implementations

Gamepad support

Config file support

Allow loading images at runtime (and alternative image sets)

Speculative

Online multiplayer w/ matchmaking

Look into increased resolution options

Extract as much configuration as possible into files loaded at runtime

Dynamically loaded mods

Some kind of transpiled JS whatnot

Mobile ports

Tricky things

Netplay code

I don't understand it well enough to consider modifying it yet.