Skip to content

Releases: ksokolowski/olduvai

Olduvai v0.9.9

Choose a tag to compare

@github-actions github-actions released this 27 Sep 13:53

Controls, and an engine to match. The handhelds now play with the
buttons printed on them, a display change in the pause menu no longer throws
you out of the level, and the code underneath was untangled from end to end
without moving a single frame of the game.

  • Added: Options → Controls. One Button layout row (Xbox or
    Nintendo) and a row per action (jump, attack, back, pause) to move one
    button at a time; picking a taken button swaps the two. The handhelds
    start in the Nintendo layout, so A jumps and B attacks as printed.
    Each row names the button the way your pad prints it and where it sits
    (A - right): Nintendo letters on a Nintendo-style pad or a handheld,
    PlayStation symbols on a PlayStation pad, Xbox letters otherwise.
  • Fixed: on a Nintendo Switch Pro controller, SDL reported the face
    buttons by their labels, so every layout was rotated; buttons are now
    read by position on every pad.
  • Changed: display and audio changes in the pause menu keep you in the
    level.
    A new render scale, Style, HD profile, music device or effects
    backend used to reload the level behind a loading card (3 s) and restart
    the music; the display is now rebuilt in place (about 40 ms), in the
    levels and the boss fights alike.
  • Improved (Enhanced, handhelds): sprites draw faster. A sprite that
    is already upscaled no longer gets decoded and hashed again on every
    frame: 41-55% less sprite drawing time on the handhelds. The handheld
    builds are also compiled for their exact CPUs, which speeds up the
    TrimUI's upscaling by 12%.
  • Fixed: the AdLib card's FM sound effects were silent (0.9.8).
  • Fixed: with a smooth-motion sub-frame cap set (smooth_subframes),
    the boss fights ran faster than the game's 18.2 Hz.
  • Fixed: leaving Widescreen live in the pause menu fell back to the
    aspect the level started with (Keep → Widescreen → 4:3 showed Keep).
  • Fixed: in Classic, switching Stretch → Keep live scaled the picture by
    a fraction (uneven pixel columns) instead of whole pixels.
  • Fixed (Enhanced): the paused widescreen frame's HUD bars were blurred
    by the upscaler; the secret-room exit moved every rising bubble on its
    first frame.
  • Fixed: a long line in a confirm dialog ran past its edge.
  • Fixed: the music after the final cave stopped dead instead of fading
    out.
  • Under the hood: the code is held by a complexity ratchet, whole-tree
    static analysis with a wide check set, and a per-layer coverage read; the
    L3 trunk descent and the enhanced secret slide gained their first tests.
  • Docs: a shorter README, and docs/SETTINGS.md for
    everything play.json can hold.

You need your own copy of the original game, e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.

Handhelds (KNULLI): olduvai-*-knulli-trimui.zip (TrimUI Smart
Pro) and olduvai-*-knulli-a12.zip (Powkiddy A12); install steps
in docs/HANDHELD.md.

Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.

Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).

Olduvai v0.9.8

Choose a tag to compare

@github-actions github-actions released this 22 Sep 22:03

Release candidate. Olduvai leaves beta: it is feature-complete, with
no known bugs. The road to 1.0.0 is confirmation, not features — anything
that plays differently from the 1991 original is a bug worth reporting.

  • Changed: one Quit, and it asks first. The pause menus had Quit to
    Title
    and Quit to Desktop side by side; there is now one Quit entry
    (Quit to Title / Exit Game), and every quit asks "Are you sure?" with
    No selected, so a double press never quits by accident. Closing the
    window still exits at once.
  • Added: About on the title menu — the version and exact build, the
    system it runs on, the optional parts built in, the licence and the
    project's GitHub address.
  • Added: Sound card under Options → Audio (and --sound-card): Sound
    Blaster, AdLib, Roland MT-32, General MIDI, MIDI out or Off — the sound
    setup named after the card a 1991 player would recognise, in place of two
    rows about music devices and effect backends (still there, under
    Audio → Advanced). Only the cards your machine can play are listed.
  • Fixed: HD text now stays inside the picture at every aspect. With
    Aspect 4:3 — or Keep in a window that is not 16:10 — the HUD text and
    the menus were drawn across the whole window while the picture sat
    pillarboxed inside it: menu values landed outside the slab, and "Energy"
    was drawn over the food gauge. Only widescreen had been told where the
    picture is.
  • Changed: --aspect widescreen now opens a widescreen window. Given
    without --window, it used to open the usual 16:10 window, in which
    widescreen has no margins to show, and said nothing. The default window
    now takes the desktop's own shape (up to 21:9); on a display that is 16:10
    or narrower — where there is genuinely nothing to widen into — the engine
    says so instead of appearing to do nothing.
  • Fixed: a saved MT-32 or General MIDI choice whose ROMs or SoundFont had
    gone left the game without music; it now falls back to the AdLib music.
  • Fixed: in a confirm dialog with a note under the changes (the title
    menu's), the note was drawn across the buttons.
  • Fixed: the confirm dialogs' buttons read "? Apply ? ? Discard ?" in
    Classic mode (the game's font has no square brackets); they now read
    Apply / Discard.
  • Added (Enhanced): the balloons float away when a ride ends, rising
    off-screen the way they already did when you lose a life in flight,
    instead of vanishing with the landing.
  • Added: the bug-report form (F5) now works in the boss fights too, and
    its report carries the display setup and the state of the fight.
  • Improved (Enhanced): text and the animated banners are much cheaper to
    draw
    , which is felt most on the handhelds — GET READY / NOT ENOUGH FOOD
    no longer slow the game down, and the score tally no longer jitters while
    it counts.
  • Fixed: a crash when switching Style from Enhanced to Classic in the
    pause menu (seen on the TrimUI on level 3), which then misleadingly
    reported the game files as unreadable.
  • Fixed: one frame of the finished level flashed between the score tally
    and the next level's loading screen.
  • Fixed (Enhanced): the NOT ENOUGH FOOD banner stayed on top of the pause
    menu, and rode along with the screen slide when leaving or entering the
    food-gate screen.
  • Fixed (macOS): if the system refused a MIDI connection, the game
    closed instead of carrying on without MIDI out.
  • Fixed: damaged game files are rejected cleanly. A corrupt packed game
    executable (the GOG / CD releases' PREH.SQZ) could crash the engine, and
    a corrupt compressed archive entry could stall it for seconds; both are now
    refused with an error. Genuine files are unaffected. A quick-save with an
    impossible score is likewise refused instead of being read wrongly.
  • Fixed (Windows): input recordings and traces written on Windows now
    match, byte for byte, the ones written on the other systems.
  • Fixed (Enhanced): pausing a boss fight could nudge the player by a
    fraction of a pixel — up to four HD pixels on screen — because the paused
    frame was redrawn at a whole-pixel position the smooth motion had not
    reached.
  • Fixed (Linux): the AppImage now reports the exact build it is —
    olduvai --version and the About screen said (unknown) in every Linux
    release so far, because the release build had no git history to read.
  • Added: screenshots in the README — the classic DOS mode and the
    enhanced widescreen mode, on level 1. They are frames of this engine's
    own output from a legitimately owned copy, and a small curated set lives
    in assets/screenshots/ with its rules and a removal-on-request promise
    (see its README and LEGAL.md).

You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.

Handhelds (KNULLI): olduvai-*-knulli-trimui.zip (TrimUI Smart
Pro) and olduvai-*-knulli-a12.zip (Powkiddy A12) — install steps
in docs/HANDHELD.md.

Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.

Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).

Olduvai v0.9.7

Choose a tag to compare

@github-actions github-actions released this 16 Sep 14:51

Olduvai leaves the desk: the first handheld builds, and the enhanced mode
made fast enough to matter there.

  • Added: handheld builds for KNULLI — the TrimUI Smart Pro (64-bit ARM)
    and the Powkiddy A12 (32-bit ARM), the two devices the game has been played
    through on. On the TrimUI the full Enhanced HD mode — smooth motion,
    widescreen, HD graphics — runs close to full speed; the A12 starts in
    Classic, which runs there at full speed. Install steps, controls and music:
    docs/HANDHELD.md. PortMaster support, for many more
    handhelds, is the next goal.
  • Added: device profiles. dos-handheld / hd-handheld beside dos /
    hd, and --default-profile for launchers: a device's defaults sit BELOW
    your own settings, so Classic/Enhanced chosen in the menu sticks across
    launches. The Style menu picks the right member for the device.
  • Added: smooth_subframes and smooth_vsync settings keys for
    smooth-motion pacing (the OLDUVAI_* env vars stay as debug overrides).
  • Added: a build ID. --version — and the first line of every log and bug
    report — names the exact build: olduvai 0.9.7 (<commit>, <time>), with
    -dirty for a build from uncommitted changes.
  • Added: missing game files are explained ON SCREEN where no dialog can be
    shown (handhelds): which files, and the exact folder searched. Before, the
    game returned to the menu with the reason only in a log.
  • Faster HD, everywhere: the upscalers are threaded (omniscale's worst
    frame 73.5 ms → 23.1 ms), the sprite cache warms up behind the loading
    screen on all cores, and the HUD overlay is no longer rebuilt when nothing
    in it changed. Render scale 3 is now selectable.
  • Changed: smooth-motion transitions follow the wall clock, so a slow device
    plays a fade or pan in its real duration instead of stretching it.
  • Changed: the Linux AppImage now needs GCC 12's C++ runtime (libstdc++
    with GLIBCXX_3.4.30) — the threaded upscaler requires it. Ubuntu 22.04 /
    Mint 21 and every newer distro already have it, as does every distro that
    meets the existing glibc 2.35 requirement.
  • Fixed: after switching Classic ↔ Enhanced (or loading a save) inside a cave
    or secret room, the widescreen margins beside the first and last screens of
    a level showed stray scenery — floating boulders at the end of level 1.
  • Fixed: on KMSDRM displays, smooth_vsync = off made every page flip fail;
    it now keeps vsync there, and says so in the log.
  • Fixed: the Video → Aspect row could not select widescreen, and cycling it
    lost the setting; F5 bug-report screenshots were cropped in pillarboxed
    modes.
  • Fixed: a bare terminal run printed "Engine not yet implemented" instead of
    the help text.

You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.

Handhelds (KNULLI): olduvai-*-knulli-trimui.zip (TrimUI Smart
Pro) and olduvai-*-knulli-a12.zip (Powkiddy A12) — install steps
in docs/HANDHELD.md.

Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.

Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).

Olduvai v0.9.6

Choose a tag to compare

@github-actions github-actions released this 05 Sep 18:13
  • Fixed: the L4 boss arena now spawns the fighter where the original does
    (found by the new cross-engine fight scenarios; boss_l4_victory's golden
    was re-baselined with the reason in its header).
  • Fixed: --render-audio with --music-device opl rendered silence — the
    offline path never handed the OPL player a track. It now renders real FM.
  • Added: L4 and L6 boss-fight replay gates, both verified frame-identical
    against the reference engine, plus a smooth-motion L6 slam gate.
  • Added: --render-sfx <id|all> renders AdLib sound effects offline (digest
    or WAV) — the SFX counterpart of --render-audio.
  • Added: --aspect 4:3 and --aspect stretch render coverage; the win
    ending's climb animation is now photographable (OLDUVAI_ENDING_SHOT_FRAME)
    and gated at two points.
  • Changed: CLI parsing reorganized internally; no flag or message changed.
  • Changed: in-session display switches re-derive the present path reliably in
    both directions (classic↔enhanced), verified by an extended reinit gate.

You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.

Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.

Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).

Olduvai v0.9.5

Choose a tag to compare

@github-actions github-actions released this 29 Jul 18:02

Audio reaches every platform for the first time, and the things that were
supposed to prove it started actually proving it.

  • There are two presentation styles now, not three. "Enhanced 4:3" is
    gone from the Style menu; there is Classic DOS and Enhanced HD, and the
    aspect is chosen in Video where the other display settings live. It was
    never really a third style — it was Enhanced HD with one display setting
    changed. --profile hd-43 still works and does what it always did.

    Picking Enhanced no longer overrides an aspect you chose deliberately: if
    you had 4:3 or Stretch set, it stays. Coming from Classic it still gives you
    widescreen.

  • Fixed: switching from Enhanced to Classic mid-game kept the smooth
    motion
    , and with it suppressed the classic VGA scanout that Classic mode
    is supposed to use. Starting the game in Enhanced and switching to Classic
    from the Options menu left it in a half-and-half state; starting in Classic
    was always correct. Both are right now.

  • The menus are built into the game rather than read from a file. The
    engine no longer looks for data/menus.json at startup, and the packages no
    longer ship it — the menu layout is compiled in when the game is built. If a
    menu definition is ever wrong, the build now fails instead of the game
    starting up without menus. (The file is still how menus are authored, and is
    where translations would go; it is simply read when the game is built rather
    than when you run it.)

  • Fixed: the main menu was missing on a bare install. If the game ran
    without its data folder beside it, the title screen had no main menu at
    all and the game would not get past the intro — while the in-game pause menu
    and the boss pause menu both worked fine, because only the main menu had
    been left without its built-in fallback copy.

  • Fixed: six command-line options were silently ignored when you had a
    saved setting.
    --music-device, --sfx-backend, --display-mode,
    --transitions, --hd-font and --banner-fx lost to play.json whenever
    the value you typed happened to be the default one — so there was no way to
    say, for example, "ignore my saved AdLib setting and pick the best audio
    device" (--music-device auto), because that request looked identical to
    not asking at all. The command line now wins whenever you actually type the
    option, and your saved settings still apply when you do not.

  • Fixed: a corrupt or truncated game file crashed instead of explaining
    itself.
    If one of your game files was damaged — a partial copy, a bad
    download — the engine aborted with libc++abi: terminating due to uncaught exception and nothing else. It now exits cleanly and tells you which file
    and what is wrong with it, for example "archive truncated: data for entry
    BONUS.VOC"
    , and suggests re-copying it from your original media.

  • Enhanced mode is now all-or-nothing. The seven per-effect toggles
    (smooth motion, HD text, HUD overlay, cinematic cue, fluid bubbles, secret
    slide, descent pan) are gone from the Options menu, and --enhance <list>
    no longer picks a subset — any name you list simply turns enhanced mode on.
    If you had some effects off, they come back on; nothing else changes, and
    classic DOS mode is untouched.

    The reason is the entry above. Seven switches is 128 combinations, and only
    two were ever tested: everything off and everything on. The other 126
    shipped with no coverage at all, and at least one of them visibly broke the
    pause menu. Offering a choice we could not check was worse than not
    offering it. If you want HD without the smooth sub-frame motion,
    --transitions classic still does exactly that.

  • Fixed: the Level 6 victory drop was not smoothed in enhanced mode. After
    the giant is beaten, the caveman slides down to the floor — and that slide
    stepped in visible jerks while everything else in enhanced mode moved
    smoothly. The interpolation was in fact running; it just could not be seen,
    because it moved the sprite in whole original-resolution pixels. At the
    enhanced render scale that is sixteen screen pixels per step, so the three
    in-between frames it drew could only land on three of them. It now positions
    the falling sprite the same way the boss fight positions the player, which
    has always been smooth, so the drop finally looks like the rest of the game.

  • Fixed: the Dark Woods trunk-descent cinematic ran slowly in enhanced mode.
    The level-end sequence where the platform grinds down the giant trunk played
    noticeably slower than it should, then snapped back to normal speed the
    moment it finished. In enhanced mode the two descent phases were drawing
    every frame three times over — the same image, pixel for pixel, each one
    re-running the full HD upscale of the whole widescreen picture. Three times
    the most expensive work in the renderer, for something already on screen.
    On a fast machine that was merely wasteful; on a real display each redundant
    redraw missed the screen refresh it was aiming at, and the delay tripled.

    Nothing about how the cinematic looks has changed — the frames it shows are
    the same frames, in the same order, for the same total time. It simply stops
    drawing each of them twice more. The camera pan in the middle genuinely does
    move between sub-frames, and it still renders every one of them.

  • Fixed: in widescreen, the ending was stretched — and stayed stretched.
    Finishing the game in widescreen showed the win ending horizontally
    distorted, and the distortion did not stop there: it carried on through the
    logo intro that follows, all the way back to the main menu. The ending and
    the game-over screen are drawn at the original picture width, but the game
    had left the display on the wider widescreen canvas, so that narrow picture
    was pulled across the full width instead of being placed inside it. Nothing
    reset the canvas until the main menu did, which is why it outlasted the
    ending itself. The boss fights already restored the picture shape before
    their own end sequences; now the rest of the game does too.

  • Fixed: the Level 4 triceratops lost its rider for one frame. After
    beating the Level 4 boss, the caveman rides the triceratops off — and on the
    very last frame before the screen faded out, he vanished while the dinosaur
    carried on alone. That frame is also the image the fade works from, so the
    fade began from a picture with nobody on the mount. The rider is now held on
    through the final frame, so the ride reads continuously into the fade.

  • Fixed: things near the screen edges disappeared during cave transitions in
    widescreen.
    Entering or leaving a cave with widescreen enabled made
    scenery close to the left and right edges — the spikes on Level 1's second
    screen are the clearest example — flicker away or come out clipped for the
    length of the fade, then return correctly once it finished. In widescreen
    the game rebuilds the strips either side of the main picture from the level
    layout, and during a transition that rebuild painted over the objects
    already drawn there. Those strips now keep their contents for the whole
    transition.

  • Fixed: the pause menu could come out shredded in widescreen. With
    widescreen on and enhanced HD text off — reachable by unticking "HD text" in
    the Options menu, or with --enhance smooth-motion — the pause menu's text
    was drawn diagonally across the screen instead of inside its panel. The menu
    is drawn into a wider-than-normal buffer in widescreen, and the bitmap text
    routine still assumed the standard 320-pixel width, so every line of pixels
    landed in the wrong place and anything past the old width was cut off. The
    boss pause menu had the same fault. Nothing was wrong with your settings —
    the combination simply had no test covering it, because every existing
    screenshot test runs with HD text on, which uses a different text path.

  • MT-32 and General MIDI now work on macOS and Windows. Both synths were
    loaded at runtime and only ever shipped in the Linux AppImage, so macOS and
    Windows users silently fell back to AdLib — music still played, so nothing
    looked wrong. MT-32 emulation is now built into the binary on every
    platform, and General MIDI ships beside it. The Linux build carries the same
    self-contained FluidSynth as the others instead of the distribution's, which
    also makes the AppImage smaller (49 bundled libraries down to 39).

  • General MIDI now finds your SoundFont on macOS and Windows. The search
    only ever looked in Linux locations, so installing a SoundFont the
    documented way (brew install scummvm) left GM silent with no explanation.

  • MT-32 now finds your ROMs on Windows. The search looked in $HOME,
    which Windows does not normally set, so the only place that worked was a
    mt32-roms folder next to olduvai.exe — fine for the portable zip, but
    there was nowhere to put ROMs that survived unzipping a new version over the
    old one. It now looks in %LOCALAPPDATA%\olduvai\mt32-roms first, the same
    place it already looked for SoundFonts. The folder beside the executable
    still works, and nothing changes on macOS or Linux.

  • MT-32 now works on Linux with mixed-case ROM filenames. The lookup
    required every ROM in a set to share one letter case; combining a legacy
    dump with a MAME-versioned one — the common case — matched nothing, and
    MT-32 was simply unavailable. macOS and Windows were unaffected only
    because their filesystems ignore case.

  • You can now choose the MT-32 model, and the game says which it loaded:
    --mt32-model auto|cm32l|mt32. With both ROM sets present it used to pick
    CM-32L silently, so two machines could sound different with nothing to
    explain why.

  • When a music backend cannot start, the game now says why — whether the
    synth is missing or only the SoundFont/ROMs are, and where it look...

Read more

Olduvai v0.9.4

Choose a tag to compare

@github-actions github-actions released this 26 Jul 13:05
  • Pause overlay in Enhanced widescreen now shows the game properly
    behind it. The menu used to black out the widescreen side margins and
    drop the HUD entirely; on boss arenas the frozen fight also fell back to
    unfiltered classic pixels while the menu above it stayed sharp. The
    paused frame now keeps its margin scenery, its HUD, and its HD
    filtering, and the boss HUD is drawn across the wide band as it is
    during play.
  • Pausing mid-swing no longer eats the club. The frozen frame was still
    advancing the swing counter once per rendered frame, so holding the
    menu open — or opening the F5 report form — made the club vanish.
  • Dark Woods (L5) end screen had black widescreen bars instead of
    forest and floor. It is the one surface screen with no neighbour on
    either side, and it fell out of the widescreen path entirely.
  • Leaving a cave briefly painted widescreen scenery onto the cave
    screen itself for the length of the fade. Affected every regular cave,
    L1 through L7.
  • Changing the HD profile from Options now applies everywhere at once.
    The pause overlay, loading and tally screens kept upscaling with the
    previous profile until the next level.
  • --god now applies to boss fights (99 lives), and toggling god from the
    pause Cheats menu survives a level change instead of silently reverting
    at the next level.
  • The HD cache on disk is roughly 40x smaller. The upscaled bake stored
    16-colour artwork as uncompressed 32-bit pixels; it is now compressed
    (~2% of the former size — a 400 MB cache becomes ~10 MB). Existing
    caches stay readable and shrink as entries are rewritten; no re-prepare
    is needed.
  • Problems reading gameplay tables from the game executable are now
    reported instead of being swallowed, so a corrupt file says so rather
    than surfacing later as a confusing loader error.
  • Internal: the Dark Woods trunk-descent sequence moved into its own unit
    and shared helpers replaced several copied ones — behaviour-preserving
    and verified frame-for-frame. New regression gates cover the boss arena,
    the HD/widescreen pause frames, the cave transitions and the trunk
    descent; the tree also gained a clang-tidy configuration.

You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.

Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.

Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).

Olduvai v0.9.3

Choose a tag to compare

@github-actions github-actions released this 23 Jul 13:50
  • Terminal launches now print a one-line style hint when no Classic /
    Enhanced choice has been made yet (pick a style with --profile dos|hd).
    The one-time question is GUI-only, so a plain olduvai --play from a
    shell used to start classic DOS with no sign that a choice existed.
  • Internal: substantial engine cleanup with no change to how the game
    plays.
    The largest source files were untangled into focused units —
    sprite blitting, boss-arena rendering, static-background compose, the
    score subsystem, the collision resolver's phases, and the CLI argument
    parser — each moved behaviour-preserving and verified frame-for-frame
    against the reference. The code is cleaner; play is byte-identical to
    0.9.2.
  • Windows: the executable now carries version metadata (Explorer →
    Properties → Details: product name, version, description, copyright) —
    embedded from the CMake project version on both the MinGW and MSVC
    builds.
  • Added a code-signing policy (SIGNING.md). Windows binaries
    remain unsigned for now (SignPath Foundation application pending) —
    verify downloads against each release's SHA256SUMS.txt.

You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.

Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.

Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).

Olduvai 0.9.2 — first public release

Choose a tag to compare

@github-actions github-actions released this 20 Jul 20:35

Olduvai goes public. This is the first public release of Olduvai — a
from-scratch C++/SDL2 reimplementation of the Prehistorik (1991) engine
for macOS, Linux and Windows.

The heavy lifting is done: all seven levels, the three boss fights, caves,
secret rooms, the flight sequences and the ending are playable end-to-end,
validated frame-by-frame against an independent reference implementation.
What's left at this stage is final polish — expect small releases as the
remaining rough edges get filed down.

What you get

  • Faithful Classic DOS mode by default — original pacing, quirks and all
  • Optional Enhanced HD: widescreen, HD sprite upscaling, smooth 60 FPS
    motion, enhanced HUD, gamepad support
  • Authentic AdLib/OPL sound built in; Roland MT-32 and General MIDI when
    your system provides them

Getting started

You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com
works out of the box. Olduvai ships no game content.

Downloads below — verify with SHA256SUMS.txt. The binaries are unsigned
(hobby project); see the README's launch notes for the macOS and Windows
first-run steps.