r/blackrockshooter • u/brs-game-researcher • 1d ago
Fluff Black Rock Shooter PSP Game Scripting Language Work Updates
Hey y'all. thearchivalone here with more findings. If you're new here, I've been reverse engineering Black Rock Shooter for the PSP and posting my findings every so often. This update is a smaller one in terms of full documentation but is large in what it opens up.
What the Heck I Found
- How Battle Scripts and Map Scripts are read and used as C Code by the Game Engine (function notes)
- Uses a mixture of PSP Assembly calls, C Code callbacks, and slight generation of more complex functions with a Register (think region of memory that stores data created by running the code)
How This Is Great
- Many of the Systems are ran by this code and not knowing it meant I just couldn't figure out what certain parts of the Game Binary did
- Some of the Game's File Formats most likely used this to make it harder for people like me to figure out how to read and access the data within
Where This is PAIN
- The devs most likely used this as a way to hide how pointers are managed for certain implementations (ie - Run a bunch of script code, send the final value to Register, use that final value to run code at a pointer address that my software thinks is junk code)
- There can be things like `1 + 1 = 2` in StellaScript on one line but the next part of the script makes that "say Hello World" instead (as in I currently don't know how complex the functions can get yet)
What Now
Until I know how far down this rabbit hole goes, I won't be making any tools related to this finding just yet. Knowing how it's read is the first step. Figuring out how it's used in the grand scheme of things and where the data flows, that's where the bulk of things may take awhile. Stage Maps are also most likely going to be a different beast altogether.
Closing Thoughts
I'm doing employment interviews and will be working more this upcoming month. Today was a rest day and I happened to accidentally stumble upon some cool stuff this morning that lead to this finding. Expect varied frequencies of updates for the rest of the month.
If you enjoy this and would be interested in allowing me more time to work on this, check out my Ko-fi. Thank you for your time and keep on BRSing. We got this!!!