Anyway, tried it out in game. The parts it worked for worked remarkably well (aside from a few minor issues caused by the wrong-ordered vertex points and some collision misplacements), but the parts it didn't work for... well, they had models over the spot, but the shadows just didn't appear :/
You can think of them like a list, sort of. They contain variables unique to one instance of the class, and have their own methods associated with each class type. You start with a Class <Name>: statement, then use def __init__(self,<other arguments>) to set any local variables contained within the class. you then use def <method name>(self,<other arguments>): to make a new method, and you use self.<var name> to reference the variables in the classes.
It was the collisions. You may have to redo them in the old version of Brbx, by manually copy/pasting the values. Annoying, but it only takes a few minutes.
It will open the collision data, and read all of the points and planes. It takes every plane that is the floor type, and outputs a flat shadow model positioned correctly for that plane.
Anyway, my output for the function which parses the collision data:
left point x coord (in floating point hex): c2a48244 left point y coord (in floating point hex): 4125cff3 right point x coord (in floating point hex): c26ef172 right point y coord (in floating point hex): 4125cff6 collision type: floor ------------------------------------------- left point x coord (in floating point hex): c26ef172 left point y coord (in floating point hex): 4125cff6 right point x coord (in floating point hex): 425c89f2 right point y coord (in floating point hex): 4125cff4 collision type: floor ------------------------------------------- left point x coord (in floating point hex): 425c89f2 left point y coord (in floating point hex): 4125cff4 right point x coord (in floating point hex): 42a4c3fa right point y coord (in floating point hex): 4125cff0 collision type: floor ------------------------------------------- left point x coord (in floating point hex): 42a4c3fa left point y coord (in floating point hex): 4125cff0 right point x coord (in floating point hex): 42a4c3f9 right point y coord (in floating point hex): c122e273 collision type: right wall ------------------------------------------- left point x coord (in floating point hex): 42a4c3f9 left point y coord (in floating point hex): c122e273 right point x coord (in floating point hex): c2a48244 right point y coord (in floating point hex): c122e270 collision type: roof ------------------------------------------- left point x coord (in floating point hex): c2a48244 left point y coord (in floating point hex): c122e270 right point x coord (in floating point hex): c2a48244 right point y coord (in floating point hex): 4125cff3 collision type: left wall -------------------------------------------
The floating point hex isn't converted because I can't find a python method to do that :/
Collisions to shadow system: Adding the shadow system to a stage is time-consuming and annoying. I'm making a program to streamline the process, by making the shadow system follow collisions. ----------------------- I've gotten it parsing all the collision data I'll need!
Right click on the collision in 0.64d, click export. Collisions save (only themselves) every time you edit them, and you can export the fully updated version without saving the stage itself.
Also, you may have to recreate the collision to avoid freezing. But that's easier than it sounds.