May 9, 2020 — by aixxe
At long last, this is the final entry in the ‘streamlining score sharing’ series. With all of the data now at our disposal, all that’s left is to render it out to an image and submit it to Discord. In this post we’ll turn our hook library into a server, create a matching client and, finally, share scores with a single button press.
January 2, 2020 — by aixxe
After a long day of downloading event packs, creating BGM loops, converting graphics from INFINITAS, dual-booting Windows 10 on the game PC and fixing encoding issues, I had finally set up beatoraja to my liking. There was just one thing left to do: figure out where to put the on screen camera for recordings.
December 26, 2019 — by aixxe
This is the second in a series of posts on streamlining score sharing in beatmania IIDX. Using the data we found last time, we'll build an internal library to read score data from memory, find and hook a function to run our code on the result screen, and finally, hijack an import to get our library loaded automatically.
June 23, 2019 — by aixxe
Sharing scores is a big part of the rhythm game community. For me, it's been a great way to keep track of my progress and meet similarly skilled players to compete with. On the other hand, taking pictures of the screen with my phone each time got old fast. The process needed some streamlining and I had a plan.
December 31, 2018 — by aixxe
After moving all my computer stuff into a larger room I noticed that the short HDMI cable I had previously been using to connect the gaming and streaming machines together would no longer be a viable solution. Solving this turned out to be quite an ordeal, but the interesting kind that's worth writing about.
December 25, 2017 — by aixxe
This post will cover the initial installation of GitLab Community Edition, configuring Windows & Linux-based job runners and finally, using the built-in continuous integration feature of GitLab to automatically build your project. Sounds like a lot of work but you’d be surprised at how simple the entire process is.
September 17, 2017 — by aixxe
Somehow, despite the eternal procrastination that re-writing one of my larger internal projects has become, I’ve finally managed to make some progress and replace my extremely inefficient method for acheiving ‘stream-proof’ visuals with something a lot easier to implement.
If a tree falls in a forest and no one is around to hear it, does it make a sound? Similarly, if we patch the memory of Counter-Strike: Global Offensive from kernel space, would that be considered an internal or external hack? Not sure. I know how to do it, though. Do you want to know?
April 23, 2017 — by aixxe
This time we’re diving into the world of tool assisted speedrunning – also known as ‘TASing’. Simply put, the process of creating a speedrun using third-party tools. In this post, we’ll build the core recording & playback logic, add the ability to re-record and finally, replay the recording on a live server.
March 15, 2017 — by aixxe
Welcome back to another instalment of the ‘alternative approaches’ series! This time we’re revisiting one of the fundamentals of internal game hacking on the Source Engine: the CreateInterface function, or more specifically, the underlying list of version strings and pointers that you should be using instead.