Skip to content

Dermochelys/acidwarp

 
 

Repository files navigation

Acid Warp for Android / iOS / iPadOS / macOS / Windows / Linux

Build All Platforms

Acid Warp logo

What is Acid Warp?

Acid Warp is an eye candy program which displays various patterns and animates them by changing the palette. Originally it was an MS-DOS / Windows program by Noah Spurrier and Mark Bilk and was made in 1992/1993.

This is a fork by Matthew Zavislak based on the previous SDL2-based port by Boris Gjenero to the SDL 1.2 / 2 library. That, in turn, is based on the Linux SVGALib port by Steven Wills.

This fork can be built for:

  • Android phones, tablets, and TVs (10+)
  • iOS phones and iPadOS tablets (15.6+)
  • macOS devices (11.5+)
  • Linux devices (22.04+)
  • Windows devices (Windows 10+, DirectX 11+)

Platform-Specific Build Instructions

For detailed build instructions for each platform, see:

Platform Status / Download Link
Android Get it on Google Play
iOS / iPadOS Download on the App Store
macOS Download on the App Store
Linux Get it from the Snap Store
Windows Get it from Microsoft

Using the program

On-Screen GUI Controls (All Platforms)

Click or tap anywhere on the screen to show/hide the on-screen control overlay:

GUI Controls

Keyboard Controls (Android TV or devices with keyboards)

Use the following keys or remote control buttons to control the program:

Key Action
Up Animate faster
Down Animate slower
Left Lock/unlock on current pattern
Right Switch to the next palette
Select or N Switch to the next pattern
P Pause / Resume animation
Back Exit the app
Home Exit the app

Updating SDL3 and SDL3_image

SDL3 and SDL3_image versions are centrally managed in the SDL_VERSION and SDL3_IMAGE_VERSION files at the repository root. SDL3 and SDL3_image artifacts are automatically downloaded during builds and are not checked into version control.

To update SDL3 and SDL3_image across all platforms:

  • Update the version in SDL_VERSION (e.g., 3.2.26)
  • Update the version in SDL3_IMAGE_VERSION (e.g., 3.2.4)

Build systems will automatically download the new versions:

  • Android: Gradle downloads SDL3-{version}.aar and SDL3_image-{version}.aar automatically before build, removing old versions
  • iOS/macOS: Xcode Run Script build phase checks the installed SDL3.xcframework and SDL3_image.xcframework versions and automatically downloads/updates if needed
  • Linux/Windows: Installed via package managers

Note: Steps 2 and 3 have comments in their respective files pointing to each other as a reminder to keep them in sync.

Checking Installed SDL3 and SDL3_image Versions (Local Development)

To check which SDL3 and SDL3_image versions are currently installed on your system:

  • Linux:
    • pkg-config --modversion sdl3
    • pkg-config --modversion SDL3_image
  • Windows (MSYS2):
    • pacman -Q mingw-w64-x86_64-sdl3
    • pacman -Q mingw-w64-x86_64-sdl3-image

Version History (see commit history for full details)

5.0.0

  • Standardize version numbering across all platforms, continuing from the original MS-DOS version 4.2 (1993).
  • Update to SDL 3.2.26 and SDL3_image 3.2.4.
  • Add GUI controls

1.3.0

Add iOS / iPadOS / macOS / Windows / Linux support; support logo display on smaller screen sizes; other minor enhancements.

1.2.0-android

Add a new pattern created by the Anthropic Claude agent and also some minor code cleanups.

1.1.0-android

Adds screen orientation change handling and minor cleanups targeting initial Android phone & tablet support.

1.0-android

Uses SDL 3 and OpenGL ES 2.0, and features a streamlined and enhanced version targeted at Android TV.

Additions / Enhancements

  • Increase logo size (when screen size allows)
  • Smoother "next" handling - simply treat as a timer expiration, which enables the same fadeout/fadein transition as would happen without "next" being issued
  • Add Android TV remote support (See above)
  • Fix most warnings related to int/long/double handling

Removals

  • Support for anything but Android, iOS, iPadOS
  • Compatibility with SDL before 3
  • OpenGL support other than ES
  • Lookup table usage for pattern layout
  • Single-threaded pattern layout generation
  • CPU-based palette rotation
  • Icon generation (but add bitmap for generating 16x9 logo for use in icons)

Further resources

Note: there are alternate spellings: Acidwarp, AcidWarp. We use Acid Warp here, based on the original DOS README.

License

  • As this is a descendent of Steven Will's "AcidWarp for Linux" which was GPL licensed, this too is and must be also GPL licensed. See gpl-3.0.md

  • Note that the original project predated modern open-source licensing and was described as "All Rights reserved. Private Proprietary Source Code", and:

    • v. 3.22: This program is free and public domain. It may not be used for profit. (1992)
    • v. 4.2 : This is free software. (1993)

Thanks

  • Many heartfelt thanks to all previous authors especially (of course) Noah.
  • Kudos to the Anthropic team as Claude was quite useful during the porting process.
  • Additional thanks to Scott Ostler, for his mentoring with the iOS / iPadOS / macOS ports.

About

SDL3 + OpenGL port of Acid Warp for Android, iOS/iPadOS, macOS, Linux, Windows

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 73.3%
  • Shell 8.5%
  • Objective-C 5.7%
  • PowerShell 5.1%
  • Rich Text Format 2.5%
  • CMake 1.9%
  • Other 3.0%