# Introduction to Elasto Mania Remastered (8088026) feat. Elma Online (1.0.13)

(This page is written in markdown format. Have a backup of your `state.dat`, `lev`, `rec`.)

## Log and credits

2024-03-22 (Abula): Fix "(UNOFFICIAL) Elma Online 1.0.13 on _Windows_ (standalone)" instructions.
2023-11-10 (Abula): Add link (_very long version_ of Background).
2023-10-14 (Abula): Add exact name of the "iOS Elma". Add some minor fixes. Add Credits.
2023-10-08 (Abula): Add markdown renderer.
2023-10-07 (Abula): Add text.

Thanks to Ismo, Markku, Grace, Kalmard, px.

##  Table of contents

* Background (short version)
* Background (long version)
* Installation instructions
  * (UNOFFICIAL/OFFICIAL) Elma Online 1.0.13 on Windows (Steam)
  * (UNOFFICIAL) Elma Online 1.0.13 on Windows (standalone)
  * (UNOFFICIAL) Elma Online 1.0.13 on macOS (standalone)
  * (UNOFFICIAL) Elma Online 1.0.13 on Linux (standalone)
  * (OFFICIAL) Elasto Mania Remastered build 8088026 on Windows (Steam)
  * (OFFICIAL) Elasto Mania Remastered on Android (Google Play)
  * (OFFICIAL) Elasto Mania Remastered PS4
  * (OFFICIAL) Elasto Mania Remastered PS5
  * (OFFICIAL) Elasto Mania Remastered Xbox
  * (OFFICIAL) Elasto Mania Remastered Nintendo Switch
  * (OFFICIAL) Elasto Mania II on Steam
  * (OFFICIAL) Action SuperCross on Steam
* Troubleshooting
* References

## Background (short version)

There are lots of different, both official and unofficial versions of the game that is originally called `Elasto Mania` (2000). The current official version is precisely titled as `Elasto Mania Remastered` and the unofficial one, the community-maintained version, is titled as `Elma Online`, street name being `eol` (2023-10-07).

The original author of the game, Balázs sold the rights of the game in 2020-04-20, after which even more new versions, both official and unofficial, have been published. The current situation is a bit complicated, especially in terms of names and versions - for full explanation scroll down - but what's important now, the original **WORLD RECORDS TABLE IS OPEN** (#420) (23 years) [1], battles are running, cups are running, meetings are running.

If you want to improve world records or battle with the highest rank players, you need to use the _unofficial_ version. It's also the only way to get your times into the central database (= `eoldb`) which contains all the records since the game was released in 2000.

If your operating system is Windows, you can use both the unofficial or the official version, both standalone or via Steam. If your operating system is macOS or Linux, you _must_ use the unofficial standalone version which on the other hand is the slimmest option available containing everything needed so it's a good choice for everybody.

If you want to see something new and fresh, your choice is the official version which can be played via Steam in case of Windows or via one of the other supported platforms (PS4, PS5, Xbox, Nintendo Switch, Android).

When playing in the _official_ version, your times **ARE NOT** saved into the central database. To get an official world record, you must play in the unofficial version. Crazy world.

## Background (long version)

Original Elasto Mania version 1.0 (= Elma) was released in 2000. The precedessor of the game, Action SuperCross (= Across), was released three years earlier but because the games have slightly different physics, the records are not comparable. Elasto Mania is widely considered a better version and since the release of it no one kept on playing the old Across. Well, of course some did but for that record you need to read the _very long version_ of the history (https://lev7.org/en/60).

Both Elma and Across were programmed, sold and managered by an individual Hungarian fellow, Balázs, well, with his brother, Csaba. Balázs published three bugfix versions in 2000 [2] and numbered them as 1.1, 1.11 and 1.11a. After that Balázs stopped the development work, eventhough there was huge demand for new features such as alovolt [3] and replay merging.

Fortunately two years later a French fellow, Hibernatus, reverse-engineered the source code [4], added the demanded features and released the first unofficial patch named 1.11h, ten days later 1.11hb, mimicing the Balázs versioning style. Three and half years later Hibernatures released the version 1.2.

Hibernatus' patches improved gameplay massively and it was all great, but Elasto Mania 1.2 doesn't have the online playing mode (= real-time playing mode). But how come the community was lucky again and a new programmer, milagros, started to create patches to achieve just that, the online mode. The first Elma Online (= EOL) was released in 2006 [5] and milagros' work ended to the Elasto Mania 1.3, also known as EOL v1.0.9, released in 2010. The patch has lots of other new features besides the online mode and the patch was also all great [6].

At this point, in year 2010, none of the unofficial or official patches has altered the physics of the original game published in 2000. Therefore all the old historical world records and the replays are comparable and mergeable. But this changed in 2014 when Balázs releases a new version out of blue called `iOS Elma` that has physics radically changed. As the name implies the game is for iOS operating system. In 2017 Balázs ports the iOS Elma to Windows and names it as `Elasto Mania II`. Because the physics and general gameplay are less smooth in the new versions compared to the original, and because many crucial features are missing such as replays, the community never played these versions seriously [7][8].

So iOS Elma and Elasto Mania II are just a piece of history. The community kept on playing the unofficial version through the years, Elasto Mania 1.3 (EOL v1.0.9), but this changed in 2020-04-20, when Balázs sold the rights of the game to the `Elasto Mania Team`, representative being Daniel (= Kalmard). Soon after Elasto Mania was published on Steam (2020-05-25). The official version was known at this point as `Elasto Mania on Steam` or `Steam Elma` [9][10]. Action SuperCross and Elasto Mania II were also published on Steam [11][12]. Meanwhile four new unofficial Elma Online versions were also published after Markku adopted the EOL project which milagros had started (1.0.10, 1.0.11, 1.0.12, 1.0.13).

In 2022-01-26 the official version was renamed to `Elasto Mania Remastered` and it was published in several new platforms (PS4, PS5, Xbox, Nintendo Switch and Android a bit later). Additionally the official game's version history mentions `Online Play` as a new feature with a statement that it's not the same functionality as the `Elasto Mania Online` [13], probably refering to the Elma Online, but what the Online Play actually means today, is {TODO: RESEARCH}.

Depending on your operating system and personal preferences, you can choose to play either the official or the unofficial version, but to get world records and to battle with the best players, you must use the unofficial version. The official versions published in the 2020s can be skipped, or taken as a bonus pleasure to experience something new and fresh [14].

For a summary all the official and unofficial versions are listed below. Steam releases use build numbers and some versions don't have any number to associate with.

Elasto Mania (et al.) OFFICIAL versions (1997-):

Release        Name                          Version          Alternative names            Chief
1997-02-11     Action SuperCross                 1.0          Across                      Balázs
1997-03-24     Action SuperCross                 1.1                                      Balázs
1998-03-23     Action SuperCross                 1.2                                      Balázs
1999-01-06     Action SuperCross                 1.3                                      Balázs
2000-02-03     Elasto Mania                      1.0          Elma, Across 2              Balázs
2000-09-18     Elasto Mania                      1.1                                      Balázs
2000-09-27     Elasto Mania                     1.11                                      Balázs
2000-10-21     Elasto Mania                    1.11a                                      Balázs
... 14 years ...
2014-08-24     iOS Elma [7][15]                               iElma                       Balázs
2017-12-13     Elasto Mania II                                                            Balázs
2020-05-25     Elasto Mania (Steam)          5055633          Steam Elma                 Kalmard
2020-06-13     Action SuperCross (Steam)                      Steam Across               Kalmard
2020-08-31     Elasto Mania II (Steam)                                                   Kalmard
2020-11-04     Elasto Mania (Steam)          5784365 [16]                                Kalmard
2021-03-31     Elasto Mania (Steam)          6360315 [17]                                Kalmard
2022-01-26     Elasto Mania Remastered       8088026 [18]                                Kalmard

Elasto Mania (et al.) UNOFFICIAL versions (2002-):

Release        Name                          Version          Alternative names            Chief
2002-10-07     Elasto Mania                    1.11h                                  Hibernatus
2002-10-17     Elasto Mania                   1.11hb                                  Hibernatus
2006-02-15     Elma Online                                    EOL 2006                  milagros
2006-03-24     Elasto Mania                      1.2                                  Hibernatus
2007-02-22     Belma                                          EOL 1.0.7 [19]            milagros
2010-07-25     Elasto Mania                      1.3          EOL 1.0.9, EOL 2010       milagros

... 10 years ...

2020-05-25     Elma Online                    1.0.10 [20]     EOL 1.0.10                  Markku
2021-09-05     Elma Online                    1.0.11                                      Markku
2021-10-23     Elma Online                    1.0.12                                      Markku
2022-02-20     Elma Online                    1.0.13                                      Markku

## Installation instructions (updated 2023-10-07)

To install the newest version of the game, Elasto Mania, with the original physics, you need to decide if you want to play the official or the unofficial version, and what's your platform. Read the "Background" section above in case of uncertainty. Basicly the unofficial versions are for serious playing and the official ones for entertainment.

### (OFFICIAL + UNOFFICIAL) Elma Online 1.0.13 on _Windows_ (Steam)

1. Buy `Elasto Mania Remastered` licence on Steam.
    1. Install Steam (https://store.steampowered.com/about/).
    2. Buy Elasto Mania Remastered on Steam (https://store.steampowered.com/app/1290220/Elasto_Mania_Remastered/).
    3. Install Elasto Mania Remastered on your Steam client.
2. Install `Elma Online` mod. 
    1. Install the Elma Online mod on steam workshop by clicking `Subscribe` (https://steamcommunity.com/workshop/filedetails/?id=2094059600).
    2. Let Steam download the upgrade.
3. Open the game via Steam client or via the desktop icon the installation created.
    1. At the first launch Steam opens `eolconf.exe` where you can adjust all kind of settings and give your Elma Online account credentials (https://elma.online/register). The game starts when you click `Save & Exit`. Next time you can also open the game by clicking `eol.exe` directly in the Steam folder (`[your-computer-steam-folder]\steamapps\common\elma\merged`) (in this case the automatic saves into the Steam cloud are not done which means {TODO: RESEARCH}). The folder contains also the eolconf.exe and `startballe.exe`.
4. Have fun. (In this method you can easily install new versions via Steam in the future.)

### (UNOFFICIAL) Elma Online 1.0.13 on _Windows_ (standalone)

1. Get the game files from Steam like in the "(OFFICIAL + UNOFFICIAL) Elma Online 1.0.13 on Windows (Steam)" section above. The game is also available in GOG (https://www.gog.com/en/game/elasto_mania). (**UPDATE 2024-03-22**) Older versions of `Elma.res` are not working with the newest EOL patches.
2. Copy the game files to your standalone installation folder, `C:\ElastoMania` for example.
3. If you warezed the game files, you may need to copy the newest EOL patch files (1.0.13) manually from the Elma Online website (https://elma.online/help/updates).
4. Run `eolconf.exe` and `eol.exe` (+ `startballe.exe` when organizing battles).
5. Have fun. (In this method you need to install new versions manually in the future.)

### (UNOFFICIAL) Elma Online 1.0.13 on _macOS_ (standalone)

1. Get the game files and copy them to `/opt/ElastoMania` like in the "(UNOFFICIAL) Elma Online 1.0.13 on Windows (standalone)" section above.
2. Get Wine.
    1. Install homebrew: `/bin/bash -c '$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)'`
    2. Install wine-crossover: `brew tap gcenx/wine`, `brew install --cask --no-quarantine wine-crossover`
    3. Setup Wine: `winecfg`. (In case your CPU architecture is 32-bit: `WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg`.)
        1. Add `ddraw` in `Libraries` tab in `Wine configuration` dialog.
3. Get cnc-ddraw.
    1. Download cnc-ddraw (https://github.com/FunkyFr3sh/cnc-ddraw/releases/latest/download/cnc-ddraw.zip).
    2. Extract cnc-draw and move the files to your game folder (`/opt/ElastoMania`).
4. In case you have `ddraw_windowed.txt` file in the game folder, rename it to `ARCHIVED2023-ddraw_windowed.txt`.
5. Run cnc-draw: `wine cnc-ddraw\ config.exe` in a terminal in the game folder (`\` is necessary).
    1. You probably want to set Presentation to `Windowed` and `Fix broken Alt+Tab`. Hotkeys are good to know.
6. Run eolconf (`wine eolconf.exe`) and setup all the game settings and give your account credentials like in the "(OFFICIAL + UNOFFICIAL) Elma Online 1.0.13 on Windows (Steam)" section.
7. Start the game: `wine eol.exe`.
8. Have fun. (In this method you need to install new versions manually in the future.)

### (UNOFFICIAL) Elma Online 1.0.13 on _Linux_ (standalone)

Steam Proton is your friend.

### (OFFICIAL) Elasto Mania Remastered build 8088026 on _Windows_ (Steam)

Do the same as in the "(OFFICIAL + UNOFFICIAL) Elma Online 1.0.13 on Windows (Steam)" section but skip the Elma Online mod.

### (OFFICIAL) Elasto Mania Remastered _Android_ (Google Play)


### (OFFICIAL) Elasto Mania Remastered on _PS4_


### (OFFICIAL) Elasto Mania Remastered on _PS5_


### (OFFICIAL) Elasto Mania Remastered on _Xbox_


### (OFFICIAL) Elasto Mania Remastered _Nintendo Switch_


### (OFFICIAL) Elasto Mania II


### (OFFICIAL) Action SuperCross


## Troubleshooting
* https://elma.online/help
* https://mopolauta.moposite.com
* https://gist.github.com/doole/063319903a09bfd4954872d73652d0a2
* https://github.com/FunkyFr3sh/cnc-ddraw#instructions

## References

[1] https://moposite.com/records_elma_wrs.php
[2] https://moposite.com/info_games_elma.php#Version_history
[3] https://lev7.org/en/60-the-history-of-elasto-mania-1995-2018#supervolt
[4] Publishing reverse-engineered copyrighted source code is not legal but the original author promised, off-the-record, to not sue the programmers for creating new unofficial versions of the game.
[5] https://lev7.org/en/60-the-history-of-elasto-mania-1995-2018#eol-2006
[6] https://lev7.org/en/60-the-history-of-elasto-mania-1995-2018#elasto-mania-13
[7] Except ASPIRINKA.
[8] In fact iOS Elma was actually called "Elasto Mania" in the Apple Store but this name is not encouraged to be used to avoid confusion with the original game that has the same name.
[9] https://steamdb.info/app/1290220/patchnotes/
[10] https://steamcommunity.com/app/1290220/discussions/0/2967271684639264940/
[11] https://steamdb.info/app/1370850/history/
[12] https://steamdb.info/app/1339620/history/
[13] https://steamdb.info/patchnotes/6770796/
[14] https://mopolauta.moposite.com/viewtopic.php?f=1&t=10155
[15] https://mopolauta.moposite.com/viewtopic.php?p=237276
[16] https://steamdb.info/patchnotes/5784365/
[17] https://steamdb.info/patchnotes/6360315/
[18] https://steamdb.info/patchnotes/8088026/
[19] https://mopolauta.moposite.com/viewtopic.php?p=132492#p132492
[20] https://elma.online/help/updates