Alundra port/clone

Does anyone know how to go about extracting the assets and data from the binary surixurient's talking about? Any pointers to would be most helpful, looks like the "DATAS.bin" has pretty much all the good stuff in it, and from the looks of it, surixurient's the only one who was able to decode it (I've looked around quite a bit). And now he's gone and left their legacy inaccessible.
 

vbt

Staff member
unfortunatly @surixurient has disappeared :( he did impressive job with this Alundra port/clone
He had analyzed/decoded moste alundra event.
 

cafe-alpha

Established Member
Even the screenshots attached in posts from 2014 are now lost. All this work being in "Schrödinger's cat state" is really a pity.
@surixurient, please return back, everyone here love you :)
 
I was able to scavenge most of the screenshots using Wayback Machine.

frmAlundra.png


frmAlundra-events.png


frmAlundra.png


saturn-renderer.png


They're now in Microsoft's safe hands, as I uploaded them to one of my github repos.
 

Mr^Burns

Staff member


 
Hi again,
I have uploaded the files but I think they are not the latest I had. Unfortunately I was transferring stuff between work computer and home back then and I might have archived the wrong ones, also I was developing other stuff for my brothers game that i was going to port to saturn and some tools for Magic carpet and super mario brothers 3 on top of the Alundra project codebase, which was dumb, so I might have some stuff commented out that is important. surixurient/alundra its mostly here though, i'll have to kind of relearn where I left off to continue.
 

Mr^Burns

Staff member
Hello, surixurient thank you for replying to my email and uploading the files, we really appreciate your effort, and if you need any help getting back into the game then don't hesitate to join #saturndev for help on the Segaxtreme discord.
 

vbt

Staff member
Hi again,
I have uploaded the files but I think they are not the latest I had. Unfortunately I was transferring stuff between work computer and home back then and I might have archived the wrong ones, also I was developing other stuff for my brothers game that i was going to port to saturn and some tools for Magic carpet and super mario brothers 3 on top of the Alundra project codebase, which was dumb, so I might have some stuff commented out that is important. surixurient/alundra its mostly here though, i'll have to kind of relearn where I left off to continue.
wow @surixurient congrats and thanks for sharing your files. i remember good old time on irc. you even had found some developer of alundra
 
I found some significant new information about how the game logic/events work so documenting it here.

first some context.
In alundra there are entities (npcs, monsters, jars, chests, dummies, anything pretty much) and these entities are the main data structure in the game, lots of state data.

entities can have attached event programs, which are created with the alundra scripting language. much of my work has been implementing function handlers for the various event commands. an entity has 6 event program slots, (load,map,tick,touch,unload,interact). so an entity can possibly have an event program in each of these slots, and it's run everytime the condition for that slot is met.

what i discovered now is there is a second set of 6 slots(load,map,tick,touch,unload,interact), but the event programs in these slots are not made up from the alundra scripting language, its like a separate event system that run code handler functions directly, not scripts.

what handler functions will run in these slots are determined by an entity's "blueprint" which is a small record that mostly just defines what kind of entity it is going to be, the sprite for that entity, and some other basic information about its dimensions and physics properties. but also there was some unknown data on there that i now know determines what is run in its second set of event slots.

so basically there is a large second event system that i didnt know about previously, and that has perhaps 100+ additional functions to implement.
fun.
 
I was working on audio for a bit and made some good progress identifying and parsing the soundeffects and music.
some of the sound effects data is actually embedded in the executable instead of in datafiles, there is a array of records for each sound effect in the executable that has all the metadata need to play the sound . What is in the sound.bin data file needs headers that are in the executable in order to access the various midi and soundbank files.

There are global soundeffects that are always cached and ready to play and map sound effects that load with the map. music is loaded from disk as its requested, replacing the previous music. it uses the standard playstation api midi format and soundbanks. there will be a problem with audio fitting in memory on the saturn so i will have to deal with that eventually. i have been playing it as 8bit pcm, on playstation it is 4bit compressed adpcm.

I'm taking a break from audio and am now working on the dialogbox system, reversing those code functions.
 

Attachments

  • soundboard.png
    soundboard.png
    167.9 KB · Views: 20

paul_met

Established Member
How about framebuffer effects on the PS1? It will hardly be possible to repeat them on Saturn. We'll have to replace it with some other effects.
 
How about framebuffer effects on the PS1? It will hardly be possible to repeat them on Saturn. We'll have to replace it with some other effects.
Yes that is probably right, the fullscreen effects like warping in/out of a dream or the shimmering borders of a dream I haven’t looked into yet.
 
Top