Sphinx and the Cursed Mummy

Sphinx and the Cursed Mummy

View Stats:
 This topic has been pinned, so it's probably important
Swyter  [developer] Nov 14, 2017 @ 3:43pm
Official updates | Changelog (2024-04-21)
2024-04-21 (Sunday)
  • Tweak the Mummy Sewer level to fix the glitchy metal grate that flickered against the water plane, also fix the fast-moving water in the 64-bit version of the same level.
  • Fix a bunch of player-reported crashes and bugs:
    • Fix a crash to desktop when picking up items without a parent trigger.
    • Fix a hairy issue related to «pickupable» frozen enemies who are almost dead.
    • Fix a NULL pointer dereference in the way EngineX draws in-game windows, which led to code execution redirection.
    • Fix a crash when the player tried to look at another nearby character's neck, but the neck bone did not exist. Yes, I know.
  • The NVIDIA driver reports supporting up to MSAA x32 via costly supersampling when the hardware only generally handles up to x8.
    • Detect what is the actual limit to have more reliable performance.
    • NVIDIA laptops also seem to have trouble with the supersampling, causing black screens.
  • Limit the valid MSAA values loaded from Sphinx.ini to x1 / x2 / x4 / x8 / x16 / x32 / +, round them down and avoid possible OpenGL driver issues when players try to run the game with something like MSAA x3 directly.
  • Disable (texture) anisotropic filtering by default during the first startup if MSAA or «advanced» features are not decently supported. Better performance for potentially low-end graphics cards.
  • Close the game properly, without crashing, while having a -dev mode sub-menu open while doing Alt + F4 or closing the window.
  • Add HQ texture overrides for the flying stone platform in the Uruk Islands, the Heliopolis Exterior palace bird heads and the smashed obelisk floor. The low-res bird heads one was suggested by @lordquacksmith.
  • Fix the wrong texture in the throne room wall of the Cursed Palace. Enlarge the spawn radius of torches, characters, breakable pots, and other triggers.
  • Fix more funky texture UV coordinates in Cursed Palace; the triangular glitches in the side door frames, the flipped and misaligned wall design at either side of them. Expand the draw distance of pots, monsters, torches, portals and more. All in all, better.
  • Update the boot-up copyright year to 2024, it was about time.
  • Tweak the Uruk Temple level to fix the biggest collision issue in the game with the moving platform and the window blocker.
    • The released beetle would get stuck in the seam between the moving and static platform; if they detected collision against a "wall" during 15 consecutive frames they would explode, and this often happened in the seam unless the player moved it very fast to cross it before the count went up. Now the moving platform entity («platform_floor») has an invisible polygonal wedge that bridges the gap, as a geometry skirt or lip.
    • The other problem was that even after reaching the window blocker and touching the actual wall with the beetle, the stone cover wouldn't explode with it most of the time; it would only explode around a small, spherical area surrounding the trigger center.
      • To fix that we add two «anim datum» (one HT_AnimDatum_Collision + a bigger HT_AnimDatum_CollisionBound) to the «Platform01/platform1» entity of type lozenge (the shape is rectangular, box collisions don't seem to be supported, lozenge are the 2D boxy equivalent of a capsule), the entity and its datum end up being part of a script with a WaitHit event («Doors/windowblock»). If there are collision datum they will be used. Copied this from the dart targets, like «buttonright_green», which work similarly but with spherical collision and collision bound.
      • The WaitHit had the BeetleShockwave flag. The TR_Object trigger that uses this script (Windowblock in Maps/_ur_4pat_sun, inside Maps/Uruk_Sphinx/Urk_4pat.elf) has SolidCollision and HitZoneCollision set in User Flags.
  • Raise the beetle-wall collision counter from 15 to 31-consecutive-frames. Making it harder to trigger via buggy ground geometry gaps like the movable platform in Uruk Temple.
    • Make it frame-rate invariant, so that it does not get more or less difficult depending on the monitor or hardware.
    • Fix a potential instant explosion that could theoretically happen randomly.


2023-10-09 (Monday)
  • Add two brand-new save statue spots in critical places where players usually struggled or died frequently, causing frustration and backtracking:
  • Fix music not playing right after launching the game with the -slot 0/1/2 command-line argument (that directly loads a save slot and skips the main menu), until the player respawns.

2023-10-06 (Friday)
  • Add 12 new HQ textures for the Luxor Pyramid, covering environmental surfaces[cdn.discordapp.com] and interactive objects[cdn.discordapp.com].
  • Add a bunch of extra HQ textures on Luxor Palace, covering the Luxor guards, stained glass windows, some plaster walls and more.
  • Add more miscellaneous textures covering Abydos walls and building windows, Heliopolis exterior shooting target base and bull head on top of the Wall's forcefield[cdn.discordapp.com], eagle water faucet's cork, beetle breeding jar. Plus breakable vases in Abydos, environmental improvements to the Corridor of Champions and the crocodile owner[cdn.discordapp.com].
  • Edit and re-export the Abydos Canals/Heliopolis Exterior/Luxor Palace[cdn.discordapp.com]/Luxor Pyramid levels on both 32 and 64-bit to enlarge the spawn distance of fires, items, NPCs, portals (avoiding ugly fade-outs to 2D stand-in cards closer to the player). Fix some railings (like the ones protecting the Shield of Osiris[cdn.discordapp.com]) and other translucent surfaces[cdn.discordapp.com] drawing in the wrong order.
  • Re-export the Mummy Uruk Castle exterior map and cutscene to fix the texture clash that made some castle surfaces look metallic. Reported by @jmarti856 and @lordquacksmith.
  • Vertical particles like falling water droplets and magic lightstreaks now actually face the right direction (Y-axial locking).
    • Before this many particle FX sprites rotated awkwardly and the drops appeared sideways and off center, now they look more natural.
  • Mark the crow textures as 1-bit alpha (alpha-testing instead of alpha-blending) so that their wings and body are drawn in the right order.
    • Seems like the wingspan and crow head are rigged very rigidly and one can't completely avoid the clipping even after setting the texture as 1-bit/alpha-tested. But at least it doesn't shown up contorted from the inside out and flickering.
    • This has been a long-running visual issue. Reported by @SphinxLuvDuv and @lordquacksmith.
  • Improvements for the experimental 64-bit branch:
    • Fix the glitchy translucent Imhotep/Anubis ghosts; their faces and hands rhythmically moved like a Winamp visualization. Reported by @lordquacksmith.
      • The mesh used the wrong index for interpolating morph vertex-animation poses.
    • Re-exported the Abydos canals without the random platform next to Kemmet.
    • Added missing version of the improved shooting minigame, already part of the 32-bit files, with textures marked as 1-bit/alpha-test to avoid z-sorting issues and flicker. A few meshes were also moved a bit to avoid z-fighting.
  • Updated the SDL2 gamepad config file to support new input devices.
  • Updated the OpenAL Soft 3D sound library to v1.23.1.
    • Add ASLR support to the 32-bit .DLL.
2023-09-30 (Saturday)
  • Make the shadow mapping and dynamic resolution configurable from Sphinx.ini. Results can also now be viewed live by tweaking the values in the Watcher. No more hardcoded values.
    [Graphics] ShadowMapSize=999 DynResScaleX=.1 DynResScaleY=.5

2023-09-12 (Tuesday)
  • The experimental 64-bit Steam branch that one can manually opt-into should now come with the experimental/early/incomplete projected shadows and three-point lighting.
    • Performance will be significantly worse and graphical glitches may appear.
    • Keep in mind that it won't work under certain terrain surfaces, just because it's easier for me to test it in a single variant, so it's only a temporary measure during development.
    • Let me know what you guys think, here or on Discord[discord.gg].
      • e.g. If they look too dark, or if you'd thing they should be different. Happy to read your thoughts.

2023-08-30 (Wednesday)
  • Add a new -lang <two-letter-language-code> launch argument, see the wiki[sphinxandthecursedmummy.fandom.com] for more information, but mainly it will be useful for fan translations. Now you can also use these ISO 639-1[en.wikipedia.org] language codes in the INI file instead of the weird Eurocom numbers.
  • Fix the humongous and misaligned letters in the French version of the experimental 64-bit branch and include support for Steamworks (unlocking achievements, Steam language selection) and Discord rich presence in this early version. Windows and Linux seem to work decently, macOS still doesn't work.
  • Re-enable the Scan Frog cheat in -dev mode, now Sphinx can jump around in frog shape![cdn.discordapp.com]
  • Show the active sound effect names at runtime in -dev mode, when possible, instead of just "SFX" for everything.

2023-08-27 (Sunday)
  • Add even more HD textures for characters, many enemies, pickup-able 3D items, Abydos Museum jewels, special effects and various environments; like the Abydos minigames, Uruk Castle, Uruk Trials, Heliopolis exterior and many others. A grand total of 304 new files.

2023-08-24 (Thursday)
  • Add a very experimental «sixty-four-bits» Steam branch with heavily reworked 64-bit versions of the engine for Windows and Linux, instead of the current 32-bit builds.
    • Not recommended for normal players, this is mostly directed to Sphinx veterans who want to report issues.
    • macOS will be ready in a few days, right now the branch will not work.
    • Most of the existing mods will not be compatible with this experimental version.
    • Seems to work fine on Steam Deck as-is, with some limitations.

2023-08-23 (Wednesday)
  • Fix a crash when projected shadows (or NPC projected shadows) were disabled at startup in the latest version. Thanks to nas#7536 for the report.

2023-08-22 (Tuesday)
  • Fix potentially not being able to unlock achievements on macOS under specific circumstances.
  • Fix rich presence on Discord and Steam under macOS.
  • Improve rich presence to publish updates faster.
  • Fix macOS DPI scaling again, after more changes that broke it. Make mouse input work well with high DPI/Retina/UHD+ screens.
  • Fix crashing on Linux with a «Value too large for defined data type»; start using 64-bit file offsets when reading files. This was a rare crash.
  • The game should no longer crash for Windows users with AMD Radeon OpenGL drivers between v22.7.1 and v22.10.3.
    • Some laptops are stuck with these drivers from around July-November 2022 and their OEM/manufacturer blocks generic up-to-date web drivers from the AMD site. So add a game workaround. Thanks to @SR. Croft for the report, hope you can play now.
  • Add support for communicating between the in-game viewer and the Euroland editor on macOS and Linux via a /tmp/XLink FIFO/named pipe, previously this functionality was Windows-only, and crashed in the other OSes.

2023-06-26 (Monday)
  • Fix glitchy particles due to the Intel Xe/ARC driver not knowing how to draw triangle fans; add a workaround. Thanks to @jmarti856 for the report.
  • Updated the bundled/fallback OpenAL Soft library on Linux, to make it work great without Steam Runtime.
  • Add missing hashcodes.h. Some errors weren't as descriptive as they should be.

2023-06-16 (Friday)
  • Fix the Steam Deck scaling problems, where misaligned text overflowed the screen.
  • Make the UI 8% bigger than normal on portable/handheld PCs, like Steam Deck.
  • Make the Book of Sphinx/inventory infobox wider to improve readability.
  • Don't needlessly recreate the graphics when the menu option hasn't changed.
  • Don't show a green rectangle during dialog mouse-clicking.
  • Implement drawing debug menu borders.
  • Update the bundled/fallback SDL2 library on Linux.

2023-06-12 (Monday)
  • Add a working 30 FPS mode.
    • In the future this will engage dynamically, as needed. Right now it can be set via configuration file. It should improve performance in weaker hardware.
      [RenderMode] VideoFrameRate=30
    • This can be used to override the display's refresh rate and make the game render at less than 60 Hz, like 30 Hz, 20 Hz, 15 Hz, or even less. So if you put a 30 there it will only render every other frame, improving performance by virtue of having half of the workload (and twice as much time allowance) to draw stuff, at the cost of looking slightly choppier.
  • Fix sound not working under Linux after the last patch.
  • Fix the game's full screen window trying to leave enough margin for the non-existing title bar on Linux. Making it look misaligned.

2023-06-10 (Saturday)
  • Fixed uneven scaling and bad mouse position on macOS when using Retina/HiDPI screens. Thanks to @Price#8300 on Discord for the report.
  • Fix and prevent random crashes/segmentation faults caused by enemy pathfinding-heavy levels. This at least happened on macOS, but it could potentially happen in any other version.

2023-05-27 (Saturday)
  • Add the original 'making of' and 'attract' movies as part of the game data.
    • The original, but still low-resolution, .mkv files can be watched via external media player, not in-game. You can open the folder by right-clicking the Sphinx entry in your Steam library > Manage > Browse local files, and then double-clicking on the «Movies» folder.
    • They now also include subtitles.
  • Fix the file permission problems when loading/saving save slots on macOS and Linux. Where sometimes you could save but not load, or vice versa.
  • Fix the buggy windowed mode with decoration in borderless for those two platforms.
  • Improve the way particles are created and sorted to avoid random stalls and improve performance, reducing memory usage when many are on-screen.
  • Fix the out-of-bounds memory corruption and subsequent crash when making the Item Update window smaller.
  • Attempt to fix black/corrupted screens under the NVIDIA driver, that always reports x32 MSAA as supported but it isn't true, in some cases only up to x8 works. So, try to get the actually-supported sample count of that specific format via a more modern extension.
  • First stab at trying to improve the macOS version of the game. Attacking the DPI scaling issues, and updating the OpenAL Soft 3D sound library.
  • Now the game can be configured at startup to use more than the tiny 80 MiB + 100 MiB of RAM it was hardcoded to use until now.
      See this wiki page[sphinxandthecursedmummy.fandom.com] to learn how to use the -sdataheap and -ldataheap command-line arguments. Potentially making bigger and modern mods and levels a possibility.
  • Fix the rainbow-looking noise colors made out of garbage data at startup whenever loading the gamepad support took more than a second. This was mainly an issue on Linux, where SDL2 takes its sweet time in searching for plugged pads. Now the screen will remain black since it first appears.
  • Avoid flickering, black blotches and screen corruption while flipping between graphics options. Delay changing them until we start drawing the next frame, not so fast.
  • Add some extra borders to the fade-out overlays, to try to cover possible one-pixel-off issues in the bottom and left sides.
  • Implement the first version of the dynamic resolution system to combat the particle system fillrate issues. Which also allows supersampling at great performance cost. This can only be changed via the -dev mode Watcher window, for the time being.
  • Add some extra machinery to learn to diagnose and improve frame pacing issues.
  • Expose the pixel scaling factor as tweakable live option in the -dev mode Watcher window.
  • Make it possible to switch between both framerate schedulers (variable/frameskip) at runtime.
  • Wait for the engine to fully shut down before trying to close the game. Avoiding some awkward crashes after clicking «Exit».
  • Dynamicallly-load all the old OpenGL 1.1 functions that are directly exported by the OpenGL dynamic library. Now we don't link against libgl.so under Linux anymore, potentially improving Wayland support and future compatibility. Not depending on X11, only SDL2.
  • Avoid outright crashing when the game files are missing; abort softly.
  • Add the MFX_ and SFX_Defines.h under the Sonix folder. As the game loads them and turns the weird numbers into informative labels when error messages happen.

2023-01-26 (Wednesday)
  • Cumulative update with a whole host of features, the most important being HiDPI/4K support.
  • Add higher-resolution textures for the Heliopolis exterior, Mummy Castle/Jail environmental textures, Menes assistants, footprints, first-person blowpipe, many more monsters, Abydos Jewels, minigames, Abydos Museum, Trials of the Eye, Imhotep cutscenes and their objects, the Uruk Intro and a few Luxor Pyramid environmental texture improvements as well as HD versions of almost every visual effect and particle.
  • Prepare the game for the upcoming projected shadows functionality.
  • Prepare the game for the upcoming 64-bit EngineX version.
  • Improve the drawing order of translucent objects.
  • Improve the way particles are drawn to screen.
  • Prepare for the initial/preliminary version of three-point ambient lights. The last missing original effect from the Eurocom version.
  • Hopefully improve frame-pacing.
  • Fix the Skull Swordsman projectile attack misfiring in some levels, like the ones on Uruk Temple Trials. Fix a similar issue maybe happening to Smiling Burbles.
  • Raise the tesselation level for the player's swoosh speed trail effects, for the sword and more. Make them rounder.
  • Update the SDL2 binaries to 2.018; it should fix setting smaller resolutions not working as intended. See this Steam Community thread.
  • Fix Sphinx dying when jumping on top of float-on-lava-marked pickup-able platforms. (What a mouthful)
  • Fix some mistakes in the gamepad code causing memory corruption.
  • Avoid unnecessarily crashing the game on recoverable issues. Fixes crashing when fighting a ton of monsters in the monster test map, due to too many animations being loaded at once.
  • Protect the game against some not-so-frequent crashes automatically reported by players and make it more robust.
  • Add support for projected-shadow-enabled NPCs during cutscenes.
  • Limit the scan mode orbit camera when going downwards, too; avoid going past the 360 degree discontinuity.
  • Improve the built-in gamescript debugger output; add proper hashcode ID string retrieval when possible, add further parameters for stubbed, or limited opcodes.
    • Make the variable printing wider and following the window size.
    • Add a way to automatically trigger the gamescript debugger when anything runs (Auto on Any).
    • Make the current trigger name and type visible.
    • Implement dozens of the previously-missing operations to show with all their parameters and variable/constant output.
    • Implement support for naming the first few special/hardcoded procedure variables for readability. Like MESSAGE, or CUTSEQ, or ARG0.
    • Implement initial support for gamescript debugger indentation, to mirror what is shown in the Euroland editor, as faithfully as possible.
    • Add constant value hashcode detection and auto-formatting.
    • Add the trigger coordinates at the top, don't color special variables when the current line is active and should have a yellow tint that we would otherwise interrupt.
    • Show the actual trigger identifier name (the actual human tag from Euroland) in there when possible and whenever Display > Triggers > Names option in the Watcher is toggled on.
    • Add support for viewing variables even when there is not debug information in the EDB, or tag names.
    • Add support for printing hashcodes when found in the variable display block, just like what I did in the disassembly block.
  • Bring back the Akaria salt crystal container regeneration flags from the death.
  • Implement HT_GameScript_Macro_AddAnimator and HT_GameScript_Macro_RemoveAnimator.
  • Implement the initial version of HT_GameScript_Macro_GetAnimSkin and HT_GameScript_Macro_SetAnimSkin.
  • Implement HT_GameScript_Macro_GetModValue, HT_GameScript_Macro_SetModValue, HT_GameScript_Macro_GetGlobalValue and HT_GameScript_Macro_SetGlobalValue.
  • Implement HT_GameScript_Macro_GetSaveSlot, HT_GameScript_Macro_GetGameVersion and HT_GameScript_Macro_GetTimeDate.
  • Add a new HT_ScriptEvents_WaitHitOrMessage to the list of available script events in triggers.
    • Because the script state machine only processes the first event at each time point we can't do complex OR logic when waiting for more than one event type without implementing something like this.
    • This should combine the WaitHit and WaitForMessage functionalities.
  • Enable rendering entity bounds, if toggled in the -dev mode Watcher window.
  • Make so that the Watcher, Stats and other debug windows have priority over the pause menu, so that we don't need to Ctrl + Shift + Tab,
  • Show the cursor whenever we right-click in the gameplay window to open a debug menu to see where we are aiming at.
  • Improve the Sphinx.ini configuration file reader to be more forgiving, now it also understands hexadecimal numbers.
    • Fix a bug where we saved signed integer values to the Sphinx.ini but read them as unsigned; save all integers as signed, fixing the roundtrip issues.
    • Save some hashcode-based Sphinx.ini keys as hexadecimal for readability, now that we support that.
  • Save and restore the ShowKey and BkColor values for debug window elements to make their launch hotkeys and background color customizable from Sphinx.ini.
  • Add a new "Script Output" window; useful for normal users to track down gamescript problems (as a dumping ground for the DEBUG and DEBUGS commands) without DbgView.exe or C++ access.
  • Switch the normal gamescript debug printing prefix from GI: to [GS]: to make it easier to search for text and grep.
  • Improve the OpenAL Soft sound effect/reverb code.
  • Improve the gamepad and rumbling code.
  • Improve the savegame code, especially for mods.
  • Make reading the Book of Sphinx/inventory its own separate thing in the rich presence status, as it isn't just another menu.

2021-09-22 (Sunday)
  • Quick fix for not being able to save or load save games on Windows when the user name and save path used non-English characters, due to partial Unicode support.
  • Update the bundled SDL2 library version, potentially improving gamepad support.

2020-12-26 (Saturday)
  • Early 64-bit version, for closed technical testing. Incomplete.

2020-10-07 (Wednesday)
  • Fix several reported crashes, mainly mod-related.
  • Fix a faulty GLSL compiler not supporting #if 0 blocks on certain NVIDIA macOS drivers, causing a bogus pop-up message at startup.
  • Other minor improvements.

2020-10-05 (Monday)
  • Enhanced water shader. Now bodies of water show dynamic waves of various sizes instead of a tiling texture, all while still retaining the original look as much as possible.
  • Improve the asynchronous I/O thread and temporarily unlock the framerate for even faster loading screens. Avoid load-screen flickering in some OpenGL drivers.
  • Fix Unicode paths on Windows; use wide strings instead of UTF-8. There was a problem with paths containing international symbols on Windows. So if your username/user folder contained Greek, Chinese or Cyrillic glyphs the game couldn't even find or open the configuration file (Sphinx.ini) or apply the configuration/optimized defaults. Sometimes causing black screens.
  • New HD textures for Smiling and Slim Burbles, clouds, bubbles and smoke, electric objects and almost every other particle effect. Improved textures for environmental Heliopolis props and zip lines.
  • Remove the hack to hide the glitchy parts of the skinned Imhotep and Anubis ghost models now that the export-time problem has been found, and skinned/multi-layer meshes with morph targets work properly. Tangentially, tweak the Anubis nose mesh to minimize seams.
  • Blinking particles fix/workaround.
  • Try to recover the OpenAL audio context when the device disconnects.
  • Force disabling soft particles when UseFramebuffer is set to zero or when MSAA is not supported by the graphics card.
  • Reduce any possible flickering while changing v-sync options.
  • Scale the zipline fall/inactivity counter by the framerate; not the perfect solution, but fixes Sphinx infinitely re-hooking after falling at the end of a line at 80+ FPS.
  • Make the (optional) cutscene exit fadeouts last exactly one second (i.e. 60 ticks of nominal framerate)
  • Override the framerate limits via configuration file.
    • 50-75 Hz is an acceptable range, 30 Hz is already pretty unstable and Sphinx can go through walls just by accelerating a bit, at 85 Hz the main problem was the zip line re-hooking while falling at the end of the line loops.
    • What's still broken? Swimming/diving speed, and released/moving Scarabs need a multiplier.
    • Here is a quick template, this function is experimental and unsupported:
      [RenderMode] MinFrameRate=30 MaxFrameRate=120
  • Allow (again) resolutions that don't natively match the screen aspect ratio. As requested.
  • Add some leeway to the maximum framerate to accomodate the current display; from 50 Hz to 85 Hz for now. Experimentally, it seems safe and avoids tearing.
  • Use Adaptive Vsync by default to reduce slowdowns.
  • Translation fixes for English, Spanish, Italian and French; fix some longstanding spelling and formatting issues. Kudos to @LetsPlayNintendoITA, @MaskDemasque and @lordquacksmith. Add Richard Foster to the credits roll, he was only credited in some languages.
  • Heavily improved third-party localization support. Improved support for custom fonts and language-dependent assets. Rewrite a big part of the EngineX language code to make some hardcoded parts completely modular.
  • Change a bunch of conditions that checked against hashcode masks 0xffff0000 to detect if the code was of type HT_File_HASHCODE_BASE. Now that we use EDB files that start from the other way around and decrement themselves, check for 0xff000000 instead. That's where the section/type "code" is actually stored in the number. Eurocom wasn't consistent with the kind of checks it did.
  • Add an option to ignore controller input; some players asked for a way of disabling the gamepad support altogether. It can be done like this:
    [PCKeyboardMap] IgnoreGamepadInput=1
  • Improve level changes to only force-unload what's needed instead of the first 999 sequential EDB files by hashcode. It was slow and it didn't cover everything, so now the game loads even faster and does things correctly.
  • Restrict the no-particles option. It can still be accessed via INI file, but it confused many players and caused the current menu option highlight effect to disappear.
  • Add support for 20-ish new game controllers. Button mapping fixes.
  • Improved -mod mode:
    • Re-enable more useful -dev mode windows and options. Display collisions, sound effects, skeletons and more.
    • More information in the logs for mod and map developers. Re-enable the original Eurocom gamescript debugger and line-stepping.
    • Show memory blocks for all heaps in the Resource view.
  • Add a time variable that can be used for more complex behaviors in shaders.
  • Minor cleanups and other small improvements.
  • Prepare the groundwork for 64-bit support.

2020-03-05 (Thursday)
  • Make audio I/O and soundbank loading completely asynchronous, for smoother frame pacing.
  • Add fade-in and out support to most game levers and pushable blocks, the worst offender being the centerpiece lever of the Mummy RotoHub puzzle. Fix missing fade-outs for containers.
  • Update SDL2.dll to workaround choppy mouse movement on Windows caused by bug #4748[bugzilla.libsdl.org].
  • Add initial support for additional third-party languages and fan-translations:
    • Conditionally toggle them only if the FrontEnd/PickUps for that language are there.
    • Reserve hashcodes for additional language files; the game enables one of these languages if it detects that both its FrontEnd and PickUps exist in the Filelist. They aren't shipped with the game, though.
    • These hardcoded hashcodes are issued backwards, for mod compatibility reasons.
  • Fix the trapped mouse toggling other options, when holding to change volume bars and accidentally releasing while hovering over the reverb button.
  • New terrain and initial water shaders.
  • New asynchronous asset loading for instantaneous level transitions, it should also reduce the frametime spikes and judder.
  • Fix a crash while skipping the intro cutscene of the Mummy Uruk Castle exterior at startup.
  • Avoid black screens and tiny visual glitches when switching graphics settings or MSAA levels too fast.
  • Fix the problem of particles disappearing while switching between soft-particles/no multisampling without restarting first.
  • Update the gamepad button mapping file, adding support for more gamepads.
  • Log several prominent trigger errors and trigger message prints.
  • Improve performance by inlining and removing some indirection.
  • Properly tag the EngineX windows with their names.
  • Other smaller changes and error-checking.

2019-08-28 (Wednesday)
  • Add a preliminary version of sRGB-aware linear color blending, for correctness. This means that now textures and colors should display more vividly, as the artists intended.
    • The final image should have more contrast and mix in the right proportions for a more pleasing result.
    • It is not yet perfect in the sense that water and some other transparent surfaces look fainter, and will require some tweaking via future updates that are being worked on.
  • Add more high-resolution HQ texture overrides.
    • Mainly covering Uruk Temple Trials, Mummy RotoHub, Heliopolis Exterior, Uruk Canyon, Mummy Hang Train and several particle effects.
  • Add more level portraits to the Discord Rich Presence integration.
  • Fix an ugly stack overflow issue during enemy AI avoidance recursion.
  • Particle orientation fixes, previously some particles faced the wrong direction.
  • Fix gameplay logic defects for the wall sneak mechanics and ceiling collision checks. Fix other various original logic issues.
  • Mouse cursor handling has been rewritten and optimized to be more responsive in preparation for remapping.
  • Get rid of the Sword of Osiris blade gap; the light-blade ended a bit short of the handle, with nothing in between. Now both components are joined together.
  • Reduce the Sword of Osiris guard/hand/finger clipping by making the sword grip more natural without changing its orientation; doing so would have affected gameplay, cutscenes and attacks.
  • The Abydos/Heliopolis ferry boat nets now appear on both sides. Fixed other flipped geometry elements and correct the bad UV mapping at the top of most of the nets so that they appear solid black instead of like small transparent holes. It looks better now, this one took a few years to fix.
  • Re-enable the wheel platform trigger (TR_WheelPlatform). While most of the physics code existed, the rest had to be partially guessed and reconstructed from existing documentation and hints left by Eurocom, so it may not exactly match the original functionality, but it seems to work fine. Please report any issues if you use this fun beta device in your custom levels.
  • Add fade-in and out support to the wheel platform trigger, its spindle and various platforms.
  • Add fade-in and out support to the boids of flock triggers, mainly for schools of fish and many other "flocking" creatures.
  • Fix possible black screen buffers under very specific circumstances.
  • Switch the gamepad subsystem to always use all the available gamepads and fuse all their analog and digital inputs together.
    • By doing this we can do multiple actions from various devices at the same time without any artificial switching.
    • This should improve the Steam Controller support, as well as third-party remappers that mix and match inputs.
  • Cut off any remaining rumbling before switching to a new active gamepad. Only the controller that is actually in the player hands will actually vibrate.
  • Add some hysteresis to the keyboard/mouse and gamepad switching modes.
    • Now it only marks a controller as active after after giving it some leeway to avoid spurious analog movement.
  • Fix a logic bug in the CAMERATOPLAYER gamescript operation. This may change some angles and behavior that depended on it.
  • Enable the Euroland, EDB FileInfo, OBJ FileInfo, Watcher, Resources, Stats and Draw Mode elements in the 'Viewer mode'.
    • Also enable the Collision Info data dumping section in the EDB Info window. These are all useful menus, some of them exist in normal mode.
    • Let the game open EuroLand files directly from Viewer mode via pipe messaging.
  • Re-enable the Output Items, Output Solid, Output Contour, Output Usage, R2 ScreenDump and List Trig Files entries in the Watcher. These dump text reports via stdout every time they are ticked.
  • Most EDB and soundbank loading errors should now be user-facing instead of failing silently.
  • Fix the high-resolution timers in the Item Update window. Now the more costly items (the ones that take more game cycles to process) should be visible.

  • Implement a [InitialLevel] PCReplaceFrontEnd=1 configuration key, so that PCLevel actually makes something.
    • Also implement a -level <hashcode> command-line parameter that overrides it and does the same thing.
    • If set to 1 it will load the PCLevel value, if not it will interpret it as a hash code. It only works in -dev mode.
    • See this wiki page[sphinxandthecursedmummy.fandom.com] for more information.
  • Implement a [Debug] KeyboardOptions=1 Sphinx.ini configuration entry. That will enable a series of keyboard shortcuts while in -dev mode.
    • Ctrl + M: Reloads the current level.
    • Ctrl + N: Toggles trigger markers, same as in the Watcher.
    • Ctrl + D: Toggles viewing trigger radiuses, same as in the Watcher.
    • Ctrl + G: Toggles god mode, same as in the Watcher.
    • Ctrl + I: Toggles the 'Always has item' cheat, same as in the Watcher.

    • Ctrl + {1,5}: Quickly loads the level stored in [InitialLevel] QuickLevelJump1=hashcode.
    • Ctrl + Shift + {1,5}: Assigns the currently loaded level to that jump combo key.

  • General performance improvements and optimizations.
  • Minor cleanups.

2019-07-15 (Monday)
  • Several Italian translation improvements. Thanks to @LetsPlayNintendoITA for reporting the typos.
  • Add two new environmental sound tracks to the Soundtrack DLC:
    • (56) Nomad Outpost: The iconic Bedouin Outpost tune.
    • (57) Trading Outpost: Diegetic music from the Heliopolis Point shops.
    Thanks to @AshhawkBurning for tabulating the tracks for the wiki[sphinxandthecursedmummy.fandom.com] and the reminder.

2019-03-26 (Tuesday)
  • Add Discord/Steamworks Rich Presence integration. It shows the current level, character and gameplay status (including Mummy abilities).
    • It also shows the current/maximum health (in Ankhs) and money (Bronze/Onyx) while hovering over the little Scarab coin.
    • Most zones have their own portrait.
  • Fix the Practice Makes Perfect and Crocodile Scales achievements. Now they unlock as intended, again.
  • Always keep the little arrow markers in the choice dialog prompts vertically aligned, to account for the bigger text size.
  • Fix a text length limitation that prevented some original Eurocom credits from appearing. Found by @Freeman at MobyGames[www.mobygames.com].
  • Make the credits scroll comparatively faster, now that we have a lot of new staff entries.
  • Fix the terribly glitchy scrolling in the Trigger debug dialog, improve the entry alignment and add nifty color support. Remember to enable Display > Triggers > Names in the Watcher (Ctrl + W) to make this window even more useful for map-making.
  • Add a new Display > Item Update > Show them all Watcher option to individually show all the active map items, this should make the Item Update debug window actually useful.

2019-02-20 (Wednesday)
  • Fix monster possession-related crashes in the beta Sakkara 3 map. Add missing effects and other possession improvements, ignore AI gamescript instructions during player posession.
  • Roll back SDL2.dll to 2.0.8 as some players reported random beeping and input problems with the 2.0.9 release. We will be using the previous version until these regressions are fixed.
  • Remove some unnecessary drawing of debug borders and dynamic resolution size calculations that should improve performance.
  • Minor cleanups.

2019-02-15 (Friday)
  • Remove the limit of 128 characters that caused truncation for long-ish paths. Properly NULL-terminate savegame paths.
  • Fix spurious quotes in the Filelist.bin loader when given a mod path via arguments, it caused an occasional crash when ending a mod path in /" and sometimes the last path separator doubled as escape code.
  • Don't enable the 50 Hz PAL mode in the PC version, as it works in EUR60 mode; this should change the rate at which some physics calculations are carried and doesn't affect framebuffer sizes.
  • Properly zero-initialize some fields in the Enemy Mobility Path component that caused an ugly bug where if the leftover memory was 0xFFFFFFFF the value gets interpreted as -nan and first corrupts the rotation and that invalidates and corrupts the item matrix, the NPC visually disappears and collisions stop working so they fall to their death.
    • To find this I instrumented the mobility code at strategic points and tested things in a modified mum_temp map for Sphinx full of container-cobras and Abydos NPCs provided by @jmarti856 that improved the chances.
    • Keep in mind that denormals may have also caused some other subtle problems. This is a defect in the original code and was fixed 15 years later, should fix most of the sudden NPC despawns.
  • Protect some parts of the game against a NaN contagion to mitigate some other remaining memory-initialization problems.
  • Heavily improve the softlock detection during conversation mode, now it should also work after respawnable NPCs die.
  • Never round toward zero in the FPU.
  • Mitigate the occasional quick sound panning issues when moving the camera, as reported by many players.
  • Add a better HQ Abydos arch spike texture.
  • Add a good bunch of HQ textures, mainly for the remaining prominent characters: the Portal God, the archeologist, Cursed Pharaoh + Wife, Farmer + Brother, Seti, Plain Sarcophagi, Spider boss, the Geb Queen and the watcher eyes.
  • Add HQ textures for the Abydos Mayor and Physician, the final boss, the flying Akarian bird boss and the fat ruler that gives Sphinx the Abydos stair key, as well as environmental textures for the Cursed Palace and the final battle.
  • Add some extra HQ textures the Abydos Sewer Amulets and several particle effects.
  • Update the SDL2 Windows library to 2.0.9.
  • Add more Abydos Sewer and Cursed Palace HQ textures.
  • Fix some UV texture clamping issues that when combined with mipmapping caused minor visual glitches in the Abydos Mayor and the watcher eyes.
  • Attempt to fix a rare objective corruption that may happen at the end of every Mummy visit, where the Mummy state doesn't get correctly set due to a reallocation defect in the Onyx money-counting achievement code that caused a stale pointer on return. Also known as the 'Super King Castle' glitch, kudos to @superking1077/bellboy_64 for the helpful report.
  • Change the HT_Objective_Aby_ElectricWater mod override, so that if we set it to 2 we enable the effect everywhere, 3 will disable it even in Abydos (previously was 0). Thanks to @Remidemmi. for the old save game.
  • Add HQ textures for the burn boxes, levers, monkey statue and the planetarium door and a few other details.
  • Add better textures for the Cursed Palace and the Uruk Castle, improve the hue of some retouched textures to make them more faithful to the original ones.
  • Compress most of the textures as .DDS with BC7 block compression. Should generally reduce VRAM pressure across the board and mitigate those VRAM depletion issues.
  • Simplify the resolution selector. Make it so that we can only select resolutions with the same aspect ratio as the desktop resolution, fix a defect that caused the selection to show different resolutions when going to the right.
  • Fix ghost clicking of some Back button prompt labels.

2019-01-18 (Friday)
  • Optimize all the new HQ textures and reduce its size on disk.
  • Minor cleanups.

2019-01-17 (Thursday)
  • New HQ textures for Bas-Ket, the Sarcophagi King, most of the Mummy levels and the final battle. Better floor textures for the Lost Temple of Heliopolis.
  • Fix a few mishaps.

2019-01-15 (Tuesday)
  • New HQ textures for Sphinx, Horus, Imhotep, Akhenaten, Menes, Set and Nefertiti. Update some rocky, wall and FX-related textures to reduce pixelation and blocky S3TC artifacts.
  • Properly move actors to their correct positions while skipping cutscenes.
  • Remove the initial Tut wake up scene from the blacklist of unskippable cutscenes now that it works properly. With this implemented practically all the important cutscenes should be optional by just pressing the Book of Sphinx/Inventory button.
  • Fix a regression in floating point rounding mode that caused collision issues, mainly Sphinx receiving unwarranted damage when stepping over the lowered spiked gates in the Uruk intro and also spurring the Abydos piranhas to swim in the air. Round to nearest instead of chopping decimals toward zero.
  • Add an entity flag (0x8000, previously reserved but wrongly tagged as 'Ignore Auto Collision Macro' in EuroLand) to conditionally re-enable LODs for new 3D models from modders, if requested. That way mods can still optimize bigger levels while still disabling LODs for the original (now-low-poly) meshes.
  • Update the game controller mapping database. Add support for USB GameCube adapter mapping, too. Thanks to @Remidemmi.
  • More vertex collision struct refactoring that should improve the undefined behavior situation.
  • Minor cleanups.

2019-01-10 (Thursday)
  • Refactor the vertex collision structs to plain old data and avoid undefined behavior. This should hopefully mitigate the occasional NPC despawning/clipping-through-floor and improve portability in general. Please retest and report your findings.
  • Minor cleanups.


2019-01-09 (Wednesday)
  • New batch of HQ texture updates sourced from original artwork; covering flares, most of the Abydos Monster Shop, a few parts of the Mummy Planetarium, Luxor Pyramid and Palace, a few Wall sections and some other places, metallic fences, the sun, shoot targets, a few statues, platforms, walls and floors. Add a better version of the dirt and tiling terrain textures.
  • Minor cleanups.


2019-01-04 (Friday)
  • Fix possible framerate judder/frame skip issues by ensuring that we only use monitor resolutions and frame-rates compatible with the fixed in-game display/update rate.
    • Should fix issues where the monitor exposes 59 Hz or 70/75 Hz refresh rates and we pick that by mistake.
    • Now it should only use 60 Hz, 120 Hz (or 180 Hz+) physical swap rates. To ensure it can be properly v-sync'ed.
  • Implement soft distance fade-ins and outs for lamps, the tilting boat platforms in the small Abydos canal, and few other triggers. Now they don't appear suddenly anymore.
  • Completely fix the inside-out or pure black graphics issue caused by overlays or third-party hooking programs. Thanks to @Anderson and @Nish the Fish for testing.
  • Make the deadly electric water configurable for mods via objective so that it can be enabled or disabled globally. Previously it was hardcoded to work only on HT_File_Map_ab_cana.
    • Now HT_Objective_Aby_ElectricWater can be set like this: if the objective is 2 enable the effect everywhere, 0 will disable it even in Abydos. 1 is the default behavior.
    • Setting this objective dynamically or when entering/unloading specific maps will lead to advanced mechanics with a lot of flexibility. Only works for Sphinx.
    • There's an exception; the deadly water has always been blacklisted/disabled in spitting toad mode.
  • Add support for beta Sphinx attacks in mods through HT_GameScript_Control_SlamEffectType, HT_GameScript_Control_WaveAttack to dynamically control the "Slam Effect" and "Wave Attack" options that appear in the debug Watcher under Cheats.
    • They change the default ground slam behavior and can be useful for additional mechanics. e.g: use them like SETITEMFLAG HT_GameScript_Control_SlamEffectType 1/0 and GETITEMFLAG HT_GameScript_Control_WaveAttack and vice versa.
  • Enable printing to stdout with the DEBUGS gamescript operation in the PC builds.
    • On Windows you will need a Microsoft program called DebugView to read the game's output, on Linux and macOS just launch it from terminal.
  • Fix some incorrect use of the OpenGL framebuffer discard functions.
  • Add further build-time optimizations.


2018-09-05 (Thursday)
  • New Luxor Palace and Heliopolis Exterior textures.
  • Avoid rare softlocks in the middle of a conversation if the NPC/monster dies for any reason. Go back to normal game mode and unfreeze the controls.

  • Proper mod folder support, by letting third-parties/modders provide their own BuildData/Filelist.bin while using the original one as fallback.
    • When possible the new resources will override the original ones through a Sphinx.ini configuration option or the -mod <folder> command-line argument; in that order.

      Example mod folder path via configuration key:
      [BootState] PCMod=H:\SteamLibrary\steamapps\workshop\content\606710\1450113507

    • Use a custom savegame namespace/folder for each mod. Now mods and the main game won't share the same set of save slots. Hopefully each mod will have its own suffixed version.
    • While in -dev mode, fill the list of levels by looking for maps in multiple Filelists and not just the first one, and merging the results. This makes it possible to select all the available levels from the right-click menu list.

  • New color-tinted Xbox button glyphs.
  • Workaround to prevent the lack of depth-testing when RivaTuner RTSS and other badly-programmed/misbehaving overlays disable it by mistake.
  • Add a Sphinx.ini configuration option to disable tutorial prompts and tips:
    [Control] TutorialPrompts=0
  • Fix the rare cutout glitches in translucent surfaces when soft particles are enabled.
  • Limit the FOV to 20-110 degrees.
  • Invert the 3rd person camera in both axes by default. Shouldn't affect existing configurations.
  • Reduce the spawn radius distance of the Bird guarding the Abydos Museum entrance to 460 from 700 meters (it didn't let you enter the Museum after getting the Stairs key unless it despawned).
  • Remove the buggy beta levels bundled with the game (not needed anymore when there's a mod for it and the Authoring Tools).
  • Add a proper message box error when we are loading an .EDB file and run out of memory, also add another one when the .EDB path can't be found/opened.
  • Add proper glBufferStorage synchronization, fixing the occasional graphics glitches that made characters look like they were ripped apart.


2018-06-28 (Thursday)
  • Made the fan-favorite intro logo thunderous again. The sound was broken on release due to a little hashcode header mismatch.
  • Add initial support for the mouse-controlled camera that we have been teasing for a while, we still need to add a mouse sensitivity control. The player can shoot with the left mouse button and exit first-person mode via right-click. The groundwork for keyboard action mapping is laid out and it will probably come after this.
  • Save the vertical sync changes to Sphinx.ini, fixes disabling v-sync in the in-game options.
  • Prefix the screen name with a number in the graphics options, useful to distinguish them in case there are two or more screens with the same name.
  • Add support for clicking the "(B) Back" labels in the pause and main menus, now the user can go back and cancel via mouse.

  • Carefully hex-edit the level data to improve draw distances of NPCs and triggers in the Abydos Canals. Now characters like the the boat owner, the Mad Boy/Juggler and the giggling lady in the Main Plaza can be seen from afar.
  • Add several much needed HQ textures for the Abydos Museum, refurbish some wall textures to add some lost detail. Make some signs and canopies partially transparent via alpha-testing/alpha-to-coverage.
  • Remove the squarish/invisible roadblocks in the middle of the ramp in the Great Wall Entrance II Room, the collision meshes of the wooden pillars poked through the ramp they support. This is a long standing bug still present in all the original console versions.
  • Fix the hanging flags collision in the sneak corridor of the Castle of Uruk during the second mummy visit. Now the mummy doesn't get stuck and can walk and sneak under them, hopefully without introducing some extra regressions.

  • If we skipped a cutscene with the inventory key and the dialog/help window was in a pause point waiting for user input we would get stuck in the fade-to-black transition after skipping it, and we would also need to press 'accept' to return to normal gameplay. Fix that so that pressing the inventory/skip button suffices.
  • Reimplement some beta features and mechanics asked by modders:
    • Add support for the PushFlag_AmunRa flag in the XTrigger_Pickupable and XTrigger_Pushable triggers; it was halfplemented. Set the needed strength to 2 if we have the Hands of Amun + Hands of Amun Ra or 1 of each. Previously it only counted the amount of HT_Item_Ability_HandsOfAmun, and there was no reference to HT_Item_Ability_HandsOfAmunRa.
    • Whitelist HT_Item_Pickup_FireDart for pickup creation, which is also used while dropping items randomly in breakable containers. Also, add support for dropping fire darts on intelligent item generation.
      • Now when ContainerFlag_SpawnPickup is checked in EuroLand the FireDart flag can generate an item in either random or intelligent mode. The behavior in the final game shouldn't change because this item isn't flagged in any container, only in beta maps.
  • Fix the slightly offset highlight tab in the Notes section of the Book of Sphinx; the currently selected objective/entry text overflowed a bit.
  • Update the copyright year of the boot-up/legal screen from the initial 2017 to 2018.
  • Use the HQ selection tab texture for the Book of Sphinx again, it regressed after the latest changes.
  • Losslessly compress all of the HQ texture replacements, reducing their disk footprint and halving loading times.
  • Reduce HQ texture replacement micro-stutter during gameplay.
  • Add some framebuffer discard optimizations on MSAA resolve.


2018-05-28 (Monday)
  • Add the initial version of the HQ Sphinx/Mummy character texture replacements, they were sourced from the highest pre-rendered 3ds Max models available and they don't exactly match their final counterparts, so it will require some texture tweaking and recoloring work, but this is good enough for now; the amount of extra detail is beautiful.
  • Add several new HQ texture replacements covering mainly Heliopolis Dungeon, Uruk Intro, Uruk Islands and Anubis Wall.
  • Uncomment the unpossession code so that we can still play the old Sakkara maps with the Dino Oafs and Shell Critters, it should also fix the contextual buttons not changing after possessing the same monster a second time. See ContextActions.xls for HT_Trig_Context_CancelPossession / HT_Trig_Context_DinoOaf / HT_Trig_Context_Frog.
  • Get rid of the possession dart first-person fire action context when arriving at a Sakkara unpossession point by resetting the Sphinx action context to the default one, the HUD and buttons looked pretty buggy.
  • Raise the large data heap again a bit (to 40 MiB, same as in Xbox) from the original 22 MiB in PC. Fixes OOM crash in the second part of the _sk_02.edb mod, right after the submap load due to big map sizes.
  • Add an extra xxHash for the propPusheableBull texture (from _mu_eye), add a HQ texture for the triple mummy saw trap in that very same map, it was pretty low res.
  • Fix the "/lib32/libc.so.6: version `GLIBC_2.7' not found" error on older Linux distros. This is caused by the GLIBC update, which made Sphinx.elf use powf@@GLIBC_2.2.5. Replace it by the perfectly functional powf@GLIBC_2.0 and use manual Linux glibc versioning selection based on this: https://github.com/wheybags/glibc_version_header
  • Tell the Linux linker to use both hash styles ("sysv" a "gnu") for compatibility. Set the OpenGL library to LEGACY to keep using libgl instead of libglvnd.

2018-05-23 (Wednesday)
  • Add a massive amount of HQ texture replacements sourced from the original artwork, mixed with tweaked versions of the texture pack. Covering mainly Uruk Intro, Uruk Islands, Abydos Canals, Heliopolis, Dark Area, Uruk exteriors, Cursed Palace surroundings and the Anubis Wall itself.
  • Let the user have a finer FOV step control while pressing the selection/accept gamepad button or the Ctrl/Shift keyboard keys. It will step by 1 instead of 10.
  • Flip the conditions in the ISSAID command to hopefully try to fix some rare softlocks when a gamescript is waiting for ISSAID after LOCKCONTROLS + PRINTMESSAGE and then some other trigger overlaps in time and also does LOCKCONTROLS 1 + PRINTMESSAGE while we are waiting, causing the first trigger to never return from ISSAID and unlock the controls with the tailing LOCKCONTROLS 0, leaving the player stuck. This can happen in the crawlspace of the Luxor throne room, if the crawl help text wasn't triggered by not moving the throne all the way and then we accidentally move it just when the old NPC called Sorkon talks to us when coming back.
  • Don't let the user set negative display indexes in Sphinx.ini, clamp it to {0, max-screen-index} range. Fixes displaying the resolution when [RenderMode] Display=-1.

2018-04-30 (Monday)
  • Additional preventive checks against rare teleport-based softlocks.
  • Fix the animated HQ water texture tiling issues. Repainted the seams of the 72 texture frames, now they aren't noticeable anymore.
  • Improve the papyrus background image.

2018-04-26 (Thursday)
  • Use GPU-persistent buffers for streamed vertex data (skinned meshes/cloth physics) when possible. This requires at least OpenGL 4.3 + ARB_buffer_storage.
  • Extend the Game Over background screen to also cover the entire left side in widescreen and ultrawidescreen monitors.
  • Completed the German and French translation of the remaining Steam achievements. Thanks to @LetsPlayNintendo, @Remidemmi (DE), and @SenseiTional (FR).
  • Changed the localized versions of some achievement names to match with their original in-game names.
  • Enable alpha blending in the alpha-tested textures of the Book of Sphinx. Fix the Book of Sphinx info box misalignment when the Artifacts tab is selected, the position is exactly the same when in the Monsters or Note pages, but it moves a little when switching to Artifacts.
  • Also, add a non-pixelated Book of Sphinx background, the original looked pretty stretched.
  • Change the gamepad button bindings in -dev mode to save player position with LT + Left analog click / Page up, and restore it with RT + Left analog click / Page down. No more clicking by mistake.
  • First batch of HQ texture replacements.

2018-04-12 (Thursday)
  • Export a series of useful static global variables using a signature/marker that third-party software like LiveSplit can read across versions, this avoids having to hardcode addresses. Should open the door to third-party auto-splitters for speedruns.
  • Expose the game status in the gExportedBlock so that third party tools can know if we are in a loading screen or waiting for an async submap (black screen with the spinning Ankh icon).

2018-04-08 (Sunday)
  • Add a savestate-ish player position save/restore functionality useful for speedrunning practice. Save position with LT + RT + Left analog click / Page up, restore with Left analog click / Page Down. You need to use -dev mode and have [Debug] ScanMode=1 in Sphinx.ini for it to work. Dedicated to speedrunners like Remi and turothking.
  • Optimize several HD texture replacements.

2018-04-03 (Tuesday)
  • Fix the user-after-free pointer dereference monster thaw crash for good. There was a tricky bug in all the previous Sphinx versions that caused a crash when trying to push the block of a big monster (frozen with ice darts) just when it starts to thaw out.
    • This only happened when freezing monsters like Skeletal Spiders or Wasp Spiders, instead of the smaller Fire Armadillos; which are carried around.
  • Add animated HD texture replacements for the water surface layers in Abydos Canals/Council/Heliopolis Exterior.
  • Add matching xxHash codes so that the Abydos Council Chambers map makes use of the already existing HD textures added in the 2018-03-28 update.
  • Expand the portal fade-out distance of the Osiris shield room entrance (the one with the spikes), improving its drawing distance.
    • This 2D impostor and the one in the Anubis Wall entrance were the more noticeable ones.
  • Let modders use additional music hashcodes instead of hardcoding the list of jumpcodes, let's be more lenient here on PC.
    • Just ensure that the jump code is within the valid range and call it a day.
    • Now people should be able to add extra music tracks if needed once proper tooling is in place. New ambient sounds should already be possible, no hardcoding there.
  • Remove a bunch of additional precompiled beta maps included the release day that don't work in the normal game. Now that the Authoring Tools are public proper levels can be exported by prospective players using EuroLand, most of those will actually work.

2018-03-28 (Wednesday)
  • Implement a `-dev` mode, make it so that most of the debug/development EngineX windows, such as the level or cutscene selector or the right-click menu, can be enabled using `-dev` as command-line parameter in the retail build.
    • This also enables cheats and disables achievements.
    • Additionally, players can enable no-clip (you can toggle it by clicking the right analog stick and going up/down with Y/A or Triangle/Cross) through a new Sphinx.ini key:
      [Debug] ScanMode=1
  • Add high-resolution replacements for a bunch of commonly used low-res textures of scene props, mainly in Abydos and Heliopolis. More to come.
  • Add some additional high-definition Abydos texture replacements sourced for the original artwork.
  • Expose soft particles as a selectable item in the graphics menu, now that the UI fire effect regression is fixed. Kudos to @YouTube.GTuxTV for the original report.
  • Fix the GPU freezes/stalls under Mesa/Intel/Nouveau/Linux, turns out I had forgotten to initialize the `i` counter variable in the `for` loop of the dynamic lights and that caused infinite loops in the default pixel shader, where as in the proprietary drivers it was just seemingly initialized to zero by default; working fine.
  • Improve the drawing distance of the Anubis Wall entrance in the Heliopolis exterior, bringing the fade-out range farther apart. Now the interior is visible from the Cursed Palace and beyond, no more 2D cardboard portal.
  • Let the player modulate the camera rotation amount by some predefined constant through Sphinx.ini. @animalmagic found the camera rotation too fast.
    [PCKeyboardMap] CameraSpeedMultiplierX=0.7 CameraSpeedMultiplierY=1.0
  • Add mipmapping support for the HD replacement textures, now that we are replacing 3D-mapped objects it was pretty ugly from afar.
  • Sanitize the OpenAL sound streaming code a bit better, should mitigate the rare bug where music stops working after a few hours of uninterrupted gameplay.
  • Optimize the depth renderbuffer texture transfer format by using the proper type, it should improve transfer performance by avoiding possible conversions. It can't hurt.
  • Fix a segmentation fault caused by improper use of variable arguments in Linux and macOS.
  • Update the gamecontrollerdb.txt mappings file from the unofficial community list (https://github.com/gabomdq/SDL_GameControllerDB), adding out-of-the-box support for many gamepads.

2018-03-09 (Friday)
  • Improve the safe zone for 4:3 screens, some of the text in menus and HUD spilled over at either side. See this Steam forum discussion: http://steamcommunity.com/app/606710/discussions/0/1700542332338620293/
  • Update to the latest SDL2 version in both Windows and macOS. We now use 2.0.8, which comes with a bunch of fixes and improvements.
  • Compile and update the macOS version of OpenAL Soft to 1.18.2, we were using 1.18.1 until now; bundle the HRTF coefficients in the .dylib.
  • Conditionally enable the frame-stepping code when a
    [Debug] AllowGamePause=1
    key appears in Sphinx.ini. Replace the forwards/backwards mouse buttons by the Scroll Lock/Pause keys.

    Enable this mode by keeping pressed one of the buttons until you press the other once. The game will stop, gameplay-wise. You can then either press Scroll Lock to make it go really slow or just advance one frame each time you press Pause. To disable just do the same press-one-while-keeping-the-other-pressed trick again.
  • For some reason the dynamic lights didn't use the alpha modulation term that was enabled for things like the fireflies (i.e. TR_SmallLight trigger) so they appear and go off suddenly in a pretty jarring fashion, fix those fade-ins and outs ~15 years later. Buttery smooth.
  • Simplify the sound streaming code in the OpenAL back-end, this is used for music and ambient sounds.
  • Enable a bunch of important debug traces in the retail build.
  • Get rid of the jarring one-frame flicker in the light that appears while diving fast. This is more of a workaround than a real fix, but it's simple and will do the trick for now.
  • Add support for the GL_NV_fill_rectangle extension, that should improve drawing 2D text and all the other screen-aligned rectangular sprites. It uses the polygon's bounding box during rasterization, simplifying the computations and making them faster, at least in theory.
  • Enable the subnormal number flush-to-zero mode at start-up to make floating point operations faster on supported hardware by trading some precision.
  • Also, workaround the crash on file selection in the EngineX Viewer (EXGeoViewer).
  • Make the HUD toggle option in the development Watcher dialog actually work. This should have been implemented in 2003. Now the optional
    [WatcherItems] Display-Hud=0
    Sphinx.ini key can be used to take superior screenshots.
  • Improve the SDL2 event loop handling for snappier response times.
  • Improve the SDL2 gamepad back-end performance and its hot-plugging support. There are still some underlying issues in the SDL2/Xinput library that prevent the Steam Controller from hot-plugging while using it wirelessly on Windows, an easy workaround is to connect it via USB cable or plug a different wired controller after pairing so that both are detected.
  • Also, stop the rumbling altogether when we switch to mouse/keyboard mode.
  • Set the TextHudObjScaling variable to 1.3, unless overridden in Sphinx.ini. Making UI text slightly larger by default.
  • Minor cleanups.

2018-01-30 (Tuesday)
  • German translation improvements by @MagicianMana.
  • Make the health Gold Ankh UI indicators scalable by the TextHudObjScaling key in the [Graphics] section of Sphinx.ini, too. As requested by @DaxterSpeed.
  • Add a texture override (hudRotatorSelect.png) for the golden highlight frame around the currently selected item in the pop-up rotator of the HUD. This one has higher resolution and it doesn't look half as stretched as the original one, specially after making that list wider a few weeks ago.
  • Disable the EGXGL_ATTRIB_DIVISOR_INSTANCING / glVertexAttribDivisor hack, it didn't seem to help. It was disabled by default; let it autodetect, as intended: http://steamcommunity.com/app/606710/discussions/0/1621726179559230606/
  • Disable glObjectLabel'ing again to improve performance.
  • Update the Windows version of the SDL2 (to 2.0.7) and OpenAL Soft (to 1.18.2) libraries. Don't link/import the SDL2 library symbols by ordinal anymore; do it by name, because it breaks dragging and dropping new SDL2.dll versions that don't share export order.
  • Let the user choose if she wants to bound/restrict/confine the mouse cursor within the window borders through a new InputGrabbed key in the [RenderMode] section of Sphinx.ini. It is set to 1/TRUE by default. Suggested by @DaxterSpeed.
    [RenderMode] InputGrabbed=0
  • Make the left analog stick WASD keyboard button support remappable for people that use AZERTY/QUERTZ. It can be done through new configuration keys in Sphinx.ini. For example, this is is the correct mapping for French AZERTY layouts, where WASD is ZQSD:
    [PCKeyboardMap] SDL_CONTROLLER_LSTICK_LEFT=20 # Q SDL_CONTROLLER_LSTICK_RIGHT=7 # D SDL_CONTROLLER_LSTICK_UP=29 # Z SDL_CONTROLLER_LSTICK_DOWN=22 # S SDL_CONTROLLER_BUTTON_LEFTSTICK=26 # W SDL_CONTROLLER_BUTTON_RIGHTSTICK=6 # C SDL_CONTROLLER_BUTTON_LEFTSHOULDER=4 # A SDL_CONTROLLER_BUTTON_RIGHTSHOULDER=8 # E
    Suggested by @Alice Madieus: http://steamcommunity.com/app/606710/discussions/0/1693785669872263827/
  • Some chests could be opened multiple times on cutscene skips. Don't let people exploit it: https://twitter.com/owashii/status/952217023567802369
  • Skipping the Heliopolis boulder cutscene after burning the wooden platform soft-locked the controls. Make it unskippable.

2018-01-08 (Monday)
  • Implement omnidirectional point lights in the OpenGL back-end. Happy new year!
  • Let the player configure the text size for the font used in the dialog/cutscene/help window through a TextHudObjScaling key in the [Graphics] section of Sphinx.ini. Example:
    [Graphics] TextHudObjScaling=1.4
  • Use the texture-based fallback technique by default for particle instancing, let's see if this is more compatible with Intel(R) HD Graphics 3000 users.
  • More German translation fixes and stylistic improvements, courtesy of @MagicianMana.
  • Make the hardcoded button prompts bigger by default.
  • Disable RTTI to improve performance, minor cleanups.

2017-12-21 (Thursday)
  • Improvements done to the German translation, courtesy of @MagicianMana.

2017-12-18 (Monday)
  • Fix the «Practice Makes Perfect» achievement, unlock it only after improving a valid time.
  • Correct the description of the «Acrobatic Ease» achievement, replace the 77 in «77 seconds or less» by 78 to make it match the game times.
  • Use the LB/RB naming scheme in the HUD while using the Xbox controller button prompts, instead of L1/R1.
  • Strip some superfluous trailing spaces in contextual strings of the French translation that caused text misalignment and artificial padding.
  • Make the ability/item rotator 1.7 times wider and center the gold framing. The bigger font made it difficult to select the correct Portal God Amulet in some languages.
  • Fix some additional overlapping/misalignment problems caused by the bigger font, specially in the SWAP strings used while in triple mummy mode.
  • Improved the gamepad hot-plug mechanism on PC to change the active gamepad used by EngineX, now the player can simultaneously plug various gamepads and switch between them at any given time, the game will always use the one you pressed last. Allow an infinite number of un/plugging combinations instead of the original 8 slots.
  • Fix a defect in the SDL2 gamepad back-end that caused it to stop looking for valid controllers after finding a connected joystick, wheel or flight stick.
  • Minor cleanups.

2017-12-16 (Saturday)
  • Added two additional achievements to the game:
    • Golden: Get all the 12 Gold Ankhs and reach the maximum health.
    • Onyx Completionist: Get the 480 Onyx Scarab collection from the Uruk Castle. I have just tested it by scavenging them across all the six mummy levels and it works. You can spend them normally, no need to keep them all in the inventory/Book of Sphinx. Due to the way skarabs are counted it will require a new game, or at least starting from the first mummy level.
  • Minor cleanups.

2017-12-12 (Tuesday)
  • Reduce the Fonts.edb size again from ~3MB to 280KB to try to mitigate the Luxor State Rooms crash after meeting Nefertiti. Export the internal font textures with very reduced resolutions and use the texoverride functionality to load them at their original size externally. Now the Fonts.edb is smaller than the original one, so this should work, in theory, to workaround those pesky EngineX memory limitations.
  • Minor V-Sync improvements. Switch to «standard» V-Sync if «adaptive» is not supported.

2017-12-10 (Sunday)
  • Switch to a Clang/C2-based compiler on Windows instead of MSVC, this fixes the Abydos monkey-bars regression on Windows and probably several other subtle things.
  • Enlarge the internal memory pools to avoid crashing in Luxor after talking to Nefertiti and advancing to the banquet hall due to a memory compaction trigger caused by the bigger size of the new fonts.
  • Fix a few mistakes in the Spanish translation, mainly covering Horus lines in the Uruk intro.

2017-12-09 (Saturday)
  • Remake all the default fonts for all the languages with more legible counterparts.
  • Fix the proportions of the amounts column in the artifacts/captured monsters list of the Book of Sphinx. With the new fonts there were some overlapping issues.
  • Make the game DPI-aware on Windows to hopefully improve the resolution limitations. Keep in mind that higher resolutions will make some parts of the interface unreadable.
  • Improve the alignment of the Circle/B button text in the contextual HUD to account for the bigger fonts in all the non-English languages.
  • Minor HUD tweaks.

2017-12-08 (Friday)
  • Add a bigger, more legible default font for the English version of the game, this is a tentative change to test the waters and get some feedback before doing it for other languages. It works in the ability rotator, HUD, cutscene teletyper, Book of Sphinx and several other places.
  • Check that either the {GL_ARB_multisample + GL_ARB_texture_multisample + GL_EXT_framebuffer_multisample} extensions or OpenGL 3.2 are available before enabling multi-sampling and alpha-to-coverage. This should mitigate possible black screens and opaque objects that normally should have cutout transparency, as seen in this thread: http://steamcommunity.com/app/606710/discussions/0/1500126447388546792/
  • Minor fixes.

2017-12-05 (Tuesday)
  • Let the player skip most of the cutscenes in the PC port by pressing the Back/Select button, this is now enabled by default. Dedicated to speedrunners like Remi and turothking.
  • Add a HQ version of the Book of Sphinx section pointer texture, repainted with added details that didn't exist before.
  • Changed the localized versions of some achievement names to match with their original in-game names.
  • Minor fixes.

2017-12-04 (Monday)
  • Replaced the existing title screen logos with HQ versions that combine original sources ("SPHINX") with remastered subtitles ("and the cursed mummy" in various languages).
  • Minor cosmetic changes done to the oxygen bubble indicator.
  • Minor tweaks done to the Italian translation for consistency.

2017-11-27 (Monday)
  • Second attempt at fixing the occasional player/NPC teleport floating point NaN issue. The black objects issue (due to invalid ambient light coloring) at least seems to be fixed.
  • Fix several logic defects with the help of a static analyzer.
  • Turn down the debug switches a notch.

2017-11-24 (Friday)
  • First attempt at fixing the root of the problem that causes the pure black objects and the black screen/teleport issues.
  • Add colours to some of the new toggleable graphics options (Particles/V-Sync).
  • More in-deep Italian translation fixes courtesy of @LetsPlayNintendoITA.
  • Minor cleanups.

2017-11-23 (Thursday)
  • Localize the "degrees" suffix in the Field of View display of the graphics menu.
  • Attempt to fix the occasionally black dynamic object, due to invalid ambient light.
  • Always use the highest quality 3D model for each character and object by disabling LODs. Should reduce the geometry pop-in and improve graphical fidelity.
  • More grammatical corrections done to the Italian translation by @LetsPlayNintendoITA.
  • Tell the player how to close the version information window by pressing F10, in case it was opened by mistake.
  • Minor cleanups.

2017-11-22 (Wednesday)
  • Add five graphics options (FOV, particles, anisotropic filtering, multisampling, vertical sync) and one sound option (reverb toggle) in the pause menu of the remaining languages (French, German, Spanish, Italian and Korean).
  • Better alignment for the graphics options of the English/Italian main menu.

2017-11-20 (Monday)
  • Fix the monkey bars traversal issue in the Temple Trials of the Uruk Islands. Sphinx was bound to fall every time at the L intersection. The level geometry has been tweaked. See this thread: http://steamcommunity.com/app/606710/discussions/0/1483235412217187622/#c1483235412217385225
  • Lower the OpenGL context requirements to 3.0+ Core Profile and GLSL 1.30. macOS still has a minimum of OpenGL 3.2+ Core Profile and GLSL 1.50. Players with standard GL 3 cards should now be able to launch the game on Windows and Linux. At least I hope so.
  • More grammatical corrections done to the Italian translation by @LetsPlayNintendoITA (gendering problems mainly). Kudos to him, these were pretty bad too.

2017-11-18 (Saturday)

2017-11-17 (Friday)

2017-11-15 (Wednesday)
  • Improve validation in the OpenAL 3D sound back-end, should mitigate the segfaults on Linux. Thanks to the GOG Linux Team (and THQ Nordic) for providing a backtrace and core dump.
  • Set the correct depth mode every frame to ensure that overlays like MSI Afterburner don't get away with their bad behavior, should fix the reversed depth issues where Sphinx appeared with googly eyes: http://steamcommunity.com/app/606710/discussions/0/1486613649677545884/
  • Add a custom DT_RUNPATH attribute in the Linux version and include the two fallback libraries we depend on, ensuring that the game loads even if they aren't installed system-wide, a bit like a mini Steam Runtime. This will be used as a basis for the GOG version.

2017-11-14 (Tuesday)
  • Fix the Harvest Moon achievement. Trigger it the last time the farmer gives you what they found while digging in the farm instead of when marking the last plot of land. All the achievements should now be obtainable.
  • Fix the occasional sound loop problem once and for all. Tested in the Anubis wall entrance and verified various times. But one can never be completely sure.
  • Always disable the original 'fake' widescreen option on load, as the option will be inaccessible very soon.
  • Don't store the music/sound effect volume, gamepad rumble or camera axis inversion options in each savegame. Instead make them global across the game and persistent in the Sphinx.ini configuration file, just like the new graphics settings.
  • Minor cleanups.

2017-11-13 (Monday)
  • Second attempt at fixing the sound loop problem.

2017-11-12 (Sunday)
  • Fix the Crocodile Scales Steam achievement.
  • Make it so that players can also unlock the Crocodile Scales achievement if they beat their best time in the Heliopolis swimming course. Avoiding having to start a new game just for this.

2017-11-11 (Saturday)
  • Rename «Antialiasing» to «Anisotropic Filtering» to make it less confusing.
  • Make the windowed mode bigger by default.
  • Add five graphics options (FOV, particles, anisotropic filtering, multisampling, vertical sync) and one sound option (reverb toggle) in the English version of the pause menu. More languages coming up.
  • Don't make the window resizable to avoid possible sprite misalignment issues. Disable Alt+Enter for the same reason.
  • Lock the mouse within the window bounds while the game is in the foreground.
  • Added a configuration key to let the player choose PlayStation-style button prompts: http://steamcommunity.com/app/606710/discussions/0/1483235412206736841/#c1483235412208681177
  • Added a Sphinx.png icon file for the Linux version of the game, it will be used in the game window.
  • Move the Sphinx.ini configuration file to the following folder, ensuring that settings are always writable:
    • Windows: %appdata%\Sphinx\Sphinx.ini
    • macOS: ~/Library/Application Support/Sphinx/Sphinx.ini
    • Linux: ~/.local/share/Sphinx/Sphinx.ini

2017-11-10 (Friday)
  • Fixed an off-by-one bug in the resolution selector that skipped one entry while going to the left, never showing the biggest resolution unless pressing the right key again.
  • Don't show a message-box showing GLSL compilation errors when the compilation was successful but the error string was not zero; this only happened under the Intel OpenGL driver.
  • Mitigate the occasional sound-looping problem. A more comprehensive fix is in the works.
  • Added a workaround for people reporting black screens and framebuffer issues: http://steamcommunity.com/app/606710/discussions/0/1483235412207725225/#c1483235412209019801
  • Minor cleanups.
Last edited by Swyter; Apr 21, 2024 @ 2:29am
< >
Showing 1-15 of 178 comments
TAVRAX Nov 14, 2017 @ 4:07pm 
Thank you Swyter, as always your passion for the game and community shines through.
Gouki Nov 14, 2017 @ 4:12pm 
Achievements are all working now, thanks for fixing :steamhappy:
Sklarlight Nov 14, 2017 @ 4:13pm 
It's been great to see these fixes come quickly to light, trying to do a completionist run and most of the issues I've witnessed have been resolved in that time. Really nice, and I'm looking forward to seeing whatever future updates come through. :golden:
dragon_blade Nov 14, 2017 @ 4:53pm 
Thanks for the hard work on this it does not go un noticed ^__^
LuvDuv Nov 14, 2017 @ 5:29pm 
you're a legend mate!
Eblo Nov 14, 2017 @ 5:51pm 
Are you singlehandedly shouldering all the work for this remaster?
Last edited by Eblo; Nov 14, 2017 @ 5:51pm
Mudkip Nov 14, 2017 @ 8:43pm 
Thank you so much for taking such excellent care of this game, really. I love this game with all of my heart and it makes me happy to have someone fixing a ton of stuff and being super involved with the community. Thank you very, very much!
The changelog! yes!
(i think some minor updates that were kb are absent but alas this is great)
just got a mini-update says 0kb/0kb but i dunno what it's
Sklarlight Nov 15, 2017 @ 6:40pm 
Originally posted by LetsPlayNintendoITA:
just got a mini-update says 0kb/0kb but i dunno what it's

It's probably fixing the overlay bug that some players are getting that makes most of the world look empty/missing.

Originally posted by Swyter:
Now that three players using overlays have had the same issue it's time to make things right.

[...]

Should be fixed in the latest Steam update. Let me know if that works!
Last edited by Sklarlight; Nov 15, 2017 @ 6:41pm
Swyter  [developer] Nov 15, 2017 @ 6:46pm 
Bingo. Also, today was mostly dedicated to debug and fix the Linux crashes so that it can be submitted again to GOG, where most of the Linux users are. Let's see how it goes. I have updated the changelog, take a look.
Last edited by Swyter; Nov 15, 2017 @ 6:47pm
was wondering, when the other languages pause menu options are coming :p
no hurry but just wondering.
also for italian i can give you the translation of those options since they're in english:

Campo Visivo (-- GRD)
Particelle (Limitato)
Filtro anisotropico
Multisampling <- as it is as there's no italian anme
Sincronia Verticale
Scelta schermo
Risoluzione
Riavvia Gioco

and for Reverb in audio it's Riverbero ;)

Also are the thunder and whooshes in the opening being added back sometime or are they gone cause they were effects in the console and since they're not in the ost they can't be imported? :)
Last edited by 🌌 LetsPlayNintendoITA 🌀; Nov 15, 2017 @ 7:05pm
Banner Nov 16, 2017 @ 5:40am 
One of the original devs here...

Thanks for bringing this back from the vaults. Brings back lots of memories!

Couple of things that I've noticed so far.... The player characters don't have any shadows at all and the NPC shadows seem much fainter than I remember. Also the player isn't picking up the lighting information from the floor in most areas so he usually stays at full brightness.
dragon_blade Nov 16, 2017 @ 6:48am 
Frame rate now drops to 24-14 fps when capturing monster
Swyter  [developer] Nov 16, 2017 @ 7:20am 
@Banner Yeah, I had to limit the amount of features. Rewriting the thing in modern and fast OpenGL already took most of the time of the port, I didn't have time to do barely anything else.

Had to hack and add lots of corner cases and exceptions due to the way vertex buffers are transient and can be passed around from GPU to CPU and back to do various effects (skinning, morphing, Verlet rope simulations), that caused some headaches. But the tech in the original EngineX is pretty good, I like how well defined and isolated the components are, how there was an indirect lighting baker in EuroLand where you can adjust the amount of bounces and it bakes the light into vertex colors (that is part of what makes the lighting in Sphinx great), how texture hashcodes are reused as sound material types in geometry (marking wood textures with the wood walking sound, no matter if they are used on walking geometry or not) and how each texture stores its average color so that it can be used during in-game to light the characters and dynamic objects that are close (light bleeding). Generally the code gets better the lower you go; well, except the non-PlayStation 2 platform code (whoever wrote the beautiful PS2 code was an assembler artist, I love that stuff). :)

I even added a crude screen-space particle size fill-rate limiter. That is what the 'limited' option of the 'particles' setting does. The particle LOD system was only halfway implemented for emitters near the camera (at least in the 2004 version of the engine) and it was causing overdraw problems in lower-end.

What I don't like is that you store the relative pointers (later turned into absolute on loading) to the contents right in the headers of the EDB files. That is causing me some problems while porting EngineX to 64 bit (I'll probably workaround it by hashing the 64 bit pointers in a 32 bit xxHash and storing that instead in the GeoFile). Also, some of the message-passing code in the older XCtrl HUD subsystem passes 32 bit pointers around, too!

Anyway, it was been pretty neat to grok the EngineX internals as the months passed. Especially after first reverse-engineering the Xbox version of the game as hobby. That leftover .map file in the gold disc with the debug symbols was invaluable, thanks!
Last edited by Swyter; Nov 16, 2017 @ 7:21am
< >
Showing 1-15 of 178 comments
Per page: 1530 50