Skip to content

Releases: angree/openswos

OpenSWOS v0.4.2

Choose a tag to compare

@angree angree released this 19 Jul 21:11

OpenSWOS v0.4.2

Bug-fix release, focused on Amiga in-match sound (which turned out to have never really worked) and on Android touch controls (which had two dead ends you could not escape from).

Amiga sound — it was broken in three separate ways

The Amiga sound path existed but had never been properly play-tested. Once v0.4.1 started selecting it automatically for players without the PC CD, all of it surfaced at once. Everything below was verified by decoding the actual sample bank against the original game's own code, not guessed:

  • A goal played the wrong sound entirely. The sample used for a goal is, in the original, only ever used for a near miss — it is the disappointed "ooooh" of a crowd that just watched a shot go wide. So goals and misses sounded identical. Goals, penalties and the final whistle now play the real crowd roar.
  • There was no crowd. The ambient crowd bed was played at 8000 Hz when the original plays it at 16574 Hz — over an octave too low. Since it is also the quietest sample in the game, the result was an inaudible rumble rather than a stadium. Now you can hear the ground.
  • Every crowd reaction was cut off. The original fades these samples out; we played the raw sample at flat volume, and it ends loud — so each reaction stopped dead mid-sound. The fade is now baked in.
  • The final whistle used to be completely silent in Amiga mode. It now plays the crowd like the original does.

You need BOTH floppy disks

Our own instructions said "only disk 2 is used, but include both". That was wrong and we are sorry — disk 1 contains SFX.IN2, and without it there is no Amiga sound at all. Some people, reasonably, kept only disk 2.

Two things are fixed: the wording is corrected everywhere, and adding the missing disk later now works. Previously the importer stopped as soon as it found the graphics, so dropping in disk 1 afterwards did nothing at all, with no explanation. It now notices the sound is incomplete and extracts it.

Sound option in the menu

  • The SOUND option refused to move if the other choice had no files installed — which made it a dead button for anyone without the PC CD, with no hint why. It now always switches, and marks an unusable choice.
  • On first start the game now picks a sound source that actually exists, so you get sound without having to find the option at all.

Android — two dead ends fixed

  • You could not leave a match. Pausing hid the on-screen controls, and nothing on a touch screen could send "quit" — so the only way out was killing the app. The controls now stay visible while paused: the top-right button quits, the action button resumes.
  • You could not dismiss the full-time screen either, for the same reason. Tapping the action button now closes it.
  • Tapping the arrows on an options row sometimes flipped to another options page instead of changing the value, because the generous thumb-friendly touch areas used during a match overlapped those arrows in menus. Menus now use exact hit areas.

Downloads

  • WindowsOpenSWOS-v0.4.2-Windows.zip
  • Linux x86_64OpenSWOS-v0.4.2-Linux-x86_64.zip
  • macOSOpenSWOS-v0.4.2-macOS.zip
  • AndroidOpenSWOS-v0.4.2-Android.apk
  • R36S / RK3326 (WestonPack)OpenSWOS-v0.4.2-R36S-Weston.zip

Where to put your original SWOS files

You need to own Sensible World of Soccer 96/97 — OpenSWOS ships no game data.

  • original_swos_adf/ — your Amiga floppy images (.adf). Both disks. Any filenames, any capitalisation. Extracted automatically.
  • original_swos_files/ — loose game files (WHDLoad / hard-disk install). Nested folders are fine.
  • original_swos_pc/ — the PC (DOS) DATA folder for a few extra teams. A PC CD image here (.cue plus .img/.bin) unlocks CD menu music and sound effects.

Where those folders live:

  • Windows / Linux / macOS — next to the game, in the folder you unzipped
  • AndroidDownload/OpenSWOS in your phone storage
  • R36S — inside ports/OpenSWOS on the card

Restart the game after adding files.

Still known

The original layers a second, slightly detuned crowd bed to thicken the sound; we play one layer. Some crowd swells (kickoff, random build-ups) are not reproduced yet, so the atmosphere is flatter than the real thing.

If something does not work, the first-run screen prints exactly what the game searched for and found — photograph it, it makes reports actionable.

OpenSWOS v0.4.1

Choose a tag to compare

@angree angree released this 19 Jul 20:30

OpenSWOS v0.4.1

Bug-fix release. If OpenSWOS told you "No SWOS game data found" even though your files were in the right folder — this release is for you.

The big one: case-sensitive filenames

Linux, Android and Linux handhelds (R36S and friends) treat DISK1.ADF and disk1.adf as different files. Windows does not. OpenSWOS was looking up your SWOS files with one fixed capitalisation, so on those platforms it silently found nothing — even when the files were sitting exactly where the instructions said.

That is why the Linux and Android builds were reported as "doesn't work" while Windows was fine. It could never be reproduced on a Windows development machine.

Every lookup of a game file is now case-insensitive. This affects:

  • finding your .adf floppy images (DISK2.ADF, disk2.adf, Disk2.Adf — all fine now)
  • loading teams from TEAM.* — a DOS install copied off a FAT drive on Linux arrives lowercased (team.000), which previously produced "folder found, zero teams"
  • player, goalkeeper, ball and font graphics — these were silently missing rather than reported
  • pitch variants — a miss here fell back to the plain green placeholder pitch
  • CD sound and menu music — the filename inside a .cue sheet often disagrees in case with the actual image file

On-screen diagnostics

If the game still cannot find your data, the first-run screen now prints exactly what it did: which folders it searched, how many .adf it found in each, whether storage was readable at all, and which of graphics/teams is missing. Photograph that screen when reporting a problem — it usually identifies the cause immediately. The same detail goes to the log.

It also now distinguishes "folder is not there" from "folder is there but I am not allowed to read it", which previously looked identical and was the most confusing failure of all.

Android

  • After you grant storage access, the game reloads itself automatically. Previously it stayed on "no data" until you closed and reopened the app by hand.
  • Extracted data is now written to the app's own private storage, so extraction can no longer half-fail into a folder you cannot see.
  • Your existing files in Download/OpenSWOS keep working — nothing to move.

Everything from v0.4 is still here

Penalty saves, AI shooting direction, half-time stamina recovery, fatigue scaled to match length, commentator on/off toggle, fast render mode for handhelds, and the 19-language UI pass.

Downloads

  • WindowsOpenSWOS-v0.4.1-Windows.zip
  • Linux x86_64OpenSWOS-v0.4.1-Linux-x86_64.zip
  • macOSOpenSWOS-v0.4.1-macOS.zip
  • AndroidOpenSWOS-v0.4.1-Android.apk
  • R36S / RK3326 (WestonPack)OpenSWOS-v0.4.1-R36S-Weston.zip

Where to put your original SWOS files

You need to own Sensible World of Soccer 96/97 — OpenSWOS ships no game data. Three folders:

  • original_swos_adf/ — your Amiga floppy images (.adf). Drop both in, any filenames, any capitalisation. Extracted automatically.
  • original_swos_files/ — loose game files (WHDLoad / hard-disk install). Nested folders are fine.
  • original_swos_pc/ — the PC (DOS) DATA folder for a few extra teams. Put a PC CD image here too (.cue plus .img/.bin) to unlock CD menu music and sound effects.

Where those folders live:

  • Windows / Linux / macOS — next to the game, in the folder you unzipped
  • AndroidDownload/OpenSWOS in your phone storage
  • R36S — inside ports/OpenSWOS on the card

Restart the game after adding files.

Notes

This is an early, actively-developed recreation. Bug reports welcome — with the new diagnostics screen they are now actually actionable.

OpenSWOS v0.4

Choose a tag to compare

@angree angree released this 18 Jul 23:06

OpenSWOS v0.4

A from-scratch, open-source recreation of Sensible World of Soccer 96/97, targeting 1:1 gameplay fidelity. Full playable matches through the mechanical SWOS port, own SWOS-styled front-end, competitions + career mode, and in-match audio.

What's new since v0.3

Gameplay fixes

  • Penalty save fixed — keeper now properly claims a saved penalty (the ball no longer spills loose for an easy tap-in).
  • AI shooting fixed — CPU shots/curves no longer bend the wrong way (away from goal). AI aim + spin tables now seeded and steer direction corrected.
  • Half-time stamina recovery — players recover a flat share of the energy they lost, so both teams come out refreshed for the second half.
  • Fatigue normalised to match length — a 3-minute and a 10-minute match now end with comparable tiredness instead of short matches barely draining.
  • Goalkeeper tiring tuned — keepers lose less energy from movement/catches.

New options

  • COMMENTATOR ON/OFF toggle (OPTIONS → audio page, when the PC sound source is active).
  • Fast render mode for handhelds — lower internal render resolution + upscale for smoother play on low-power devices (R36S-class), without cropping the view. Menus stay crisp.

Localisation

  • Large pass over untranslated UI strings across menus, competitions, career and the match layer, now covered by the 19-language i18n tables.

Android

  • Install fixed — the APK is now correctly signed, resolving the "corrupted package / app not installed" errors.

Handheld (R36S / RK3326 / PortMaster-class)

  • Runs Godot 4 C#/.NET self-contained arm64 via the WestonPack runtime — see the standalone open-source guide docs/porting/godot4-csharp-on-portmaster-handhelds.md.
  • In-match input hardened (no more double-press on exit), fast render mode.

Downloads

  • WindowsOpenSWOS-v0.4-Windows.zip
  • Linux x86_64OpenSWOS-v0.4-Linux-x86_64.zip
  • macOSOpenSWOS-v0.4-macOS.zip
  • AndroidOpenSWOS-v0.4-Android.apk
  • R36S / RK3326 (WestonPack)OpenSWOS-v0.4-R36S-Weston.zip

Known issues (Android)

  • On first launch the app asks for "all files access" and may show a grey screen the very first time while it unpacks; relaunch once and it runs. Both are already fixed in source for the next build.

Notes

  • Bring-your-own-assets: OpenSWOS ships without proprietary SWOS data. Drop your original SWOS files to unlock the full team/player set (see the in-app HOW_TO / import folders).
  • This is an early, actively-developed recreation. Expect rough edges.

OpenSWOS v0.3

Choose a tag to compare

@angree angree released this 18 Jul 01:31

OpenSWOS v0.3 — team-picker tiles, 20-language UI, authentic clock & fatigue.

Bring your own SWOS 96/97 Amiga files (see README). No game assets are bundled.

New in v0.3

  • Team selection like the original: CONTINENT → COUNTRY → CLUB drill-down of 3-column tiles (FRIENDLY / LOCAL MP / TEAM SETUP).
  • 20-language UI: EN, DE, FR, IT, PL + 15 more — pick it under OPTIONS → LANGUAGE.
  • Authentic match clock (matches the real PC SWOS pace) — the length setting is the WHOLE match.
  • Fatigue: stamina now matters more (weak vs strong ~1.67×); tackles and keeper saves tire players; tired keepers concede more.
  • Faithful ball control: the CONTROL skill now actually affects your first touch (weak dribblers lose it).
  • Pitch stripe fix on the training ground, full-time panel no longer bleeds onto the menu, new menu background.

Platform notes

  • Windows / Linux x86_64: tested.
  • macOS / Android / Linux ARM64 (R36S): built but UNTESTED — feedback welcome. Android APK is debug-signed (enable "install from unknown sources").

Requires .NET 9 runtime is bundled; just unzip and run.

OpenSWOS v0.2

Choose a tag to compare

@angree angree released this 17 Jul 19:36

OpenSWOS v0.2 — career mode, full audio, multi-platform

Bring your own game files: OpenSWOS ships ZERO original SWOS data. On first run, drop your own SWOS 96/97 Amiga ADFs (and optionally the PC CD image for SFX + commentary + CD music) into the import folder. On Android put them in /storage/emulated/0/Download/OpenSWOS/original_swos_adf/ (grant "All files access" on first launch). Everything is decoded at runtime into a local cache.

Highlights

  • Career mode: persistent world (1730 clubs, ~27k players, real 96/97 ages), faithful SWOS transfers/offers, scouting, staff, finances, form, growth/decline, regens, promotion/relegation, post-match injuries.
  • Full in-match audio (PC SFX + English commentary + crowd/chants; selectable Amiga RJP1 sample bank). Menu music: bundled tracks (default), Amiga original (RJP1 player), or PC CD audio.
  • Android touch controls (emulator-verified): on-screen d-pad that also drives the menus (navigate + confirm + back), FIRE = pass/hold-shot, sits in the black side bars, toggle icon to hide it for gamepad play. On-screen keyboard for text.
  • Menu backdrop art, app icon, energy bars (OPTIONS, default off), throw-in fix, and dozens of play-test fixes.

Platforms

Package Status
Windows x64 tested on Windows 10
Linux x86_64 structurally tested
Android arm64 APK touch UI verified on an Android 14 emulator; not yet on varied real hardware
macOS universal UNTESTED — unsigned: right-click > Open, or xattr -dr com.apple.quarantine OpenSWOS.app
Linux ARM64 (R36S / handhelds) UNTESTED — run with --small-screen for 640x480

No original Sensible World of Soccer files are included. SWOS is © its rights holders; OpenSWOS is an independent open-source recreation (MIT).