Skip to content
/ abuse Public
forked from Xenoveritas/abuse

An enhanced version of Abuse based on the original source code that was released to the public domain. See the Changelog for details.

License

Unknown and 3 other licenses found

Licenses found

Unknown
COPYING
GPL-2.0
COPYING.GPL
Unknown
COPYING.WTFPL
Unknown
COPYING.rtf
Notifications You must be signed in to change notification settings

metinc/abuse

 
 

Abuse

hero

This is an enhanced version of Abuse based on the original source code that was released to the public domain. See the Changelog for details.

If you have any problems with the game or just want to chat, join my Discord server. I'll see what I can do to help.

To report a bug, please create a new issue here on GitHub. Pull requests are welcome!

Table of Contents

Getting Started

To install the game, see the last release available for your platform in the release section.

Data Files

While this repository contains all data files needed to play the base game, these assets come from different sources with varying licenses and historical records. My hope is that the educational and non-profit intentions of this repository will enable it to stay hosted and available. If you prefer to use only clearly-licensed content, please replace the included assets with the public domain subset of the original shareware content available from various archives online.

Save files and configuration are stored in the user folder, which can override default files in the game folder. The game only looks for built-in files if they weren't already found in the user folder. This allows adding custom levels or mods without affecting the original bundled game files.

Default paths for user data:

  • Windows: %APPDATA%\abuse
  • macOS: ~/Library/Application Support/abuse
  • Linux: ~/.local/share/abuse

For custom content, there are three types to consider:

Type Installation Launch
Custom Levels Place level files in the data/levels folder abuse -f levels/levelname.spe
Regular Mods Place mod files in the data/addon folder abuse -a modname
Total Conversion Mods Place directly in the data folder Launches automatically when starting the game

Cheats

To use cheats, press c to open the console and type the desired cheat command. The mouse cursor must be inside the console window for input. Press enter when done, or type "quit"/"exit" to close the console.

Available cheats:

  • god - Makes you invulnerable to all damage
  • giveall - Gives all weapons and maximum ammunition
  • flypower - Grants Anti-Gravity Boots effect
  • sneakypower - Grants Cloak effect
  • fastpower - Grants Flash Speed effect
  • healthpower - Grants Ultra-Health effect
  • nopower - Removes all active special abilities

Configuration

Configuration is stored in config.txt in the user folder. It will be created if it doesn't exist at launch. Lines starting with ; are comments. Use 1 to enable and 0 to disable options.

Config File Options

Display Settings

  • fullscreen - Fullscreen mode (0 - window, 1 - fullscreen window, 2 - fullscreen)
  • borderless - Enable borderless window mode
  • vsync - Enable vertical sync
  • virtual_width - Internal game resolution width
  • virtual_height - Internal game resolution height (calculated from aspect ratio if not specified)
  • screen_width - Game window width
  • screen_height - Game window height
  • linear_filter - Use linear texture filter (nearest is default)
  • hires - Enable high resolution menu and screens (2 for Bungie logo)
  • big_font - Enable big font
  • mouse_scale - Mouse to game scaling (0 - match desktop, 1 - match game screen)

The game is designed to be played at an internal resolution of 320×200 (virtual_width×virtual_height). Using a higher resolution may reveal some hidden areas. However, when using the editor, a higher resolution is recommended for better visibility and usability.

Audio Settings

  • volume_sound - Sound effects volume (0-127)
  • volume_music - Music volume (0-127)
  • mono - Use mono audio only
  • no_music - Disable music
  • no_sound - Disable sound effects
  • soundfont - Path to custom soundfont file. Custom or bundled AWE64 Gold Presets.sf2 or Roland SC-55 Presets.sf2

Game Settings

  • local_save - Save config and files locally
  • grab_input - Grab mouse to window
  • editor - Enable editor mode
  • physics_update - Physics update time in ms (65ms/15FPS original)
  • language - Game language (english, german, french)

Key Bindings

Default control scheme:

Action Default Binding
Left A
Right D
Up/Jump W
Down/Use S
Prev Weapon Q Mouse Wheel Up
Next Weapon E Mouse Wheel Down
Fire Mouse Left
Special Mouse Right

Special key codes for config file:

  • LEFT, RIGHT, UP, DOWN - Cursor keys and keypad
  • CTRL_L, CTRL_R - Left and right Ctrl
  • ALT_L, ALT_R - Left and right Alt
  • SHIFT_L, SHIFT_R - Left and right Shift
  • F1 - F10 - Function keys
  • TAB, BACKSPACE, ENTER - Standard keys
  • INSERT, DEL, PAGEUP, PAGEDOWN - Navigation keys
  • CAPS, NUM_LOCK - Lock keys
  • SPACE - Spacebar

Hardcoded Keys:

  • 1-7 - Direct weapon selection
  • Escape/Space/Enter - Reset level on death
  • P - Pause game
  • C - Cheat/chat console
  • F1 - Show help/controls screen
  • F5 - Quick save on save consoles (slot 1/"save0001.spe")
  • F6 - Toggle window input grab
  • F7 - Toggle mouse scale type
  • F8 - Toggle gamepad use
  • F9 - Quick load
  • F10 - Toggle window/fullscreen mode
  • Print Screen - Take a screenshot

Default Controller Bindings:

  • D-pad, left stick - Move in all directions (game and menus)
  • Home - Show help/controls screen
  • Back - Acts as Escape key
  • Start - Acts as Enter key

Gamepad Support

Gamepad options:

  • ctr_aim - Enable right stick aiming
  • ctr_cd - Crosshair distance from player
  • ctr_rst_s - Right stick/aiming sensitivity
  • ctr_rst_dz - Right stick/aiming dead zone
  • ctr_lst_dzx - Left stick horizontal dead zone
  • ctr_lst_dzy - Left stick vertical dead zone

Button binding names:

  • ctr_a, ctr_b, ctr_x, ctr_y - Face buttons
  • ctr_left_shoulder, ctr_right_shoulder - Shoulder buttons
  • ctr_left_trigger, ctr_right_trigger - Triggers
  • ctr_left_stick, ctr_right_stick - Stick clicks

Command Line Arguments

Core Settings

Argument Description
-lsf <filename> Custom startup file (default: abuse.lsp)
-a <name> Load addon from addon/<name>/<name>.lsp
-f <filename> Load specific level file
-nodelay Disable frame delay/timing control

Network Settings

Argument Description
-nonet Disable networking
-port <number> Set network port (1-32000)
-net <hostname> Connect to host name or IP
-server <name> Run as server
-min_players <number> Set minimum players (1-8)
-ndb <number> Network debug level (1-3)
-fs <address> File server address
-remote_save Store saves on server

Development/Debug

Argument Description
-edit Launch editor mode
-fwin Open foreground editor
-bwin Open background editor
-owin Open objects window
-no_autolight Disable auto lighting
-nolight Disable all lighting
-bastard Bypass filename security
-size Custom window size (editor)
-lisp Start LISP interpreter
-ec Empty cache
-t <filename> Insert tiles from file
-cprint Enable console printing

Audio Settings

Argument Description
-sfx_volume <number> Sound effects volume (0-127)
-music_volume <number> Music volume (0-127)

Resources

Game Information

Moby Games page
Abuse homepage
Free Abuse (fRaBs) homepage
Abuse fan page Gameplay video

Downloads

ETTiNGRiNDER's Fortress
Assorted Abuse Files HMI to MIDI converter

Source code releases

Original source code
Anthony Kruize Abuse SDL port (2001)
Jeremy Scott Windows port (2001)
Sam Hocevar Abuse SDl port (2011)
Xenoveritas SDL2 port (2014)
Antonio Radojkovic Abuse 1996 Andrej Pancik Abuse 2025

Acknowledgments

Special thanks go to Jonathan Clark, Dave Taylor and the rest of the Crack Dot Com team for making the best 2D platform shooter ever, and then releasing the code that makes Abuse possible.

Also, thanks go to Jonathan Clark for allowing Anthony to distribute the original datafiles with Abuse.

Thanks to everyone who has contributed ideas, bug reports, and patches over the years (see the AUTHORS file for details). This project stands on the shoulders of many developers who kept it alive for three decades - from the original Crack Dot Com team to the various port maintainers like Anthony Kruize, Jeremy Scott, Sam Hocevar, Xenoveritas, Antonio Radojkovic and Andrej Pancik.

About

An enhanced version of Abuse based on the original source code that was released to the public domain. See the Changelog for details.

Resources

License

Unknown and 3 other licenses found

Licenses found

Unknown
COPYING
GPL-2.0
COPYING.GPL
Unknown
COPYING.WTFPL
Unknown
COPYING.rtf

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 72.2%
  • Common Lisp 24.0%
  • C 2.2%
  • CMake 1.6%