New project: XU4 "Legacy Edition" (SMS-style controller UI, Apple II graphics support)
Hey all, I'm just posting here because I thought some people might be interested in a project I've been noodling away on.
I was inspired by [Majuular's Ultima IV video,](https://youtu.be/hkfBiIyJd7E) and was looking for the best way to play Ultima IV myself. In various historical reddit threads, I saw posts about different versions being the "best" one to try, and often the SMS and XU4 both pop up.
I've kept my work as a fork because I'm still heavily testing this and haven't engaged the original developers of the port, as I am just experimenting for now. I would be more than happy to clean it up and work with the original devs, but because there were some foundational changes I didn't feel comfortable just opening this as a pull request or something.
I have spent some time porting the Sega Master System dialogue system to XU4, enabled by a full decompilation of that version I am having Claude work on. I have open-sourced this too, but it is not completely rewritten in C yet. I have enough so far to work on what I really wanted.
I am still testing this heavily, and in fact playing through the full game right now with this to make sure everything is rock solid, but I would love any feedback as I go too.
The goal of this project is to make it as easy as possible for someone new to check out Ultima IV and help keep the legacy of the game alive. I don't think any content needs modification that way, but with modern conveniences, we can make the game more accessible and less overwhelming with out-of-game reading required, etc.
[Releases · alexdia25/xu4-legacy-edition](https://github.com/alexdia25/xu4-legacy-edition/releases)
The feature set so far is:
* the game now has an option in the interface settings which allows for a full SMS-style UI. This will enable by default when a controller is used. When you press A (or Enter on the keyboard), a menu of options will pop up. In conversations, options will unlock through talking and no typing is needed. This is the main reason I wanted to make this, when I saw it in the XU4 "feature wishlist" for a long time, it seemed like it would be really cool to fulfil this

* with a set of Apple II disk images alongside the exe, you can now use the tileset and music from that original release. * When the SMS version is fully decompiled, I will add that as an option too, to show up if a user provides an SMS ROM.

* on Windows, the game will now look in the default GoG install location for your copy of Ultima IV and just run using that copy out of the box, but you can still use the xu4/u4 location as a fallback * If you have the ULTIMA4.TXT file from GoG, it will split this up and allow you to display this in the XU4 menu (esc or select/back/minus key on controller). * In the future I'd like this to be more robust, and support more formats, and potentially be able to open to specific contexts. (For instance, when you're asked to read the book of history, allow this to be opened immediately). I'm also still wondering how to handle the map in a robust way.

* a minor tweak to the module loading, items like the u4upgrade mod or the apple II graphics + music mods will only show up at all if the files needed by the .mod file are actually provided. * I also upgraded to a more modern framework, so this may allow more ports of XU4 to be made in future. Currently looking at adding mouse support to everything so we may have mouse-only control and full touch screen control possible too.