Posts by Mennoo_

    FRW files indeed are in the versions v1, v2 and v3, where v1 has no header and v2 and v3 do have. I havent encountered any v2 frw files so far because i only have frw files from or RCT3 vanilla (v1 files), or RCT3 with soaked+wild (v3 files).
    Besides that v3 has the header (with extension) and v1 doesnt have a header, there are some more subtile differences. v1 files don't have the crc at the end as well, where v3 files do have the crc. Furthermore does the class-declaration in v1 frw files include all possible class declarations you could expect in any dat-type file (147 in total), where the v3 files only include the 3 class-declarations which are present in the file (ParticleBaseDesc, ParticleEmitterDesc & ParticleDesc for functional frw files, or only ParticleBaseDesc when you only have a base-emitter in your frw file).


    On the hash algorithm you posted, absolutely no clue how i should read that script to understand what it does :D. My experience and knowledge on programming is mainly limited to that from an engineering perspective using mathematics on physics. When it comes to actual computer science I'm mostly limited to understanding at least that everything is stored in bits, bytes .
    And indeed as you said, i will leave the checksum for what it is anyway. I got everything i need working and all work that is left for me to do is to write scripts which allow me to adjust color of other effects as well than just those of LED-lamps, but now I got all the tools I need to be able to do so.



    And to give you a better view of what I'm doing atm: Now I'm working on some more advanced patterns in the LEDs with the colors. In the video below you see a piece of around 62 seconds. everything one LED does within these 62 seconds is now put into one frw file for that specific LED, resulting in around 400 rows of code to generate 196 different frw files for the LEDs for a field of 260 LEDs (some LEDs use the same frw file):

    Alright, another "Big step forward" update then.


    The last 2 days i have finished the last details on the reading part, and more importantly: finished the writing back part.
    Now I can complete read and write back frw files. and I've already executed a test where i generate 44 different frw files with each a different time-span.

    The result:



    What you see here is that i have auto-generated 44 different frw files for the little white light-bulbs below each individual fountain. These light bulbs are constructed in such a way that they go on as intended with the choreographics in mixmaster, but all go out again at exactly the same time.

    It's obviously that the test is quite succesfull. It's not 100% perfect tho. To use the files inside mixmaster works perfectly fine, but when you want to open the file inside the advanced firework editor (where you would normally edit frw files inside RCT3), the fily cannot be opend cause it will cause a error with msgbox: "... File might be corrupted?...". It doesnt crash the game tho so that is a good thing. Why the AFE cant open the files might be cause i cant save them with it's footer (which is a uint32 value, probably a checksum which might be something of the kind crc32, which joey told me. The algorithm behind this value is unknown however).

    So now i have everything working which i need, so i can further focus on auto-generating more frw files which i can use inside the show



    EDIT: Just did some checking, and it is indeed the lack of a checksum at the last 4 bytes or an incorrect checksum which cause the AFE to not be able to open the file with error: "Unable to load the file "D:\........" - it may have been corrupted". However, when you use the frw file to put it in your mixmaster sequence, RCT3 really doesnt care if the file has no checksum, or has it with an incorrect value or not.

    okay, so little update from my side now:


    Joey managed to further help me with finding his c++ files from ParkCleanup2, and later-on with the a site I needed most for understanding the filestructure: http://belgabor.vodhin.org/format/


    With this and some functions Joey already had written to be able to read the file in binary, I managed to write my own C++ program which is now able to read all data in an FRW file, save it in variables and to print the entire filestructure out in the console. Only step now for me is to find out and experiment how to write down data back to a frw file, but I'm sure I can manage that now.

    Thank you for the answer Markus.

    I already kind of knew that frw files have the .dat file structure, you can already read them with the ParkCleanup.
    I still have daily contact with Joeywp (creator of the Park Cleanup). Unfortunately, due to his daily job, scripting-work for other hobbies and lack of interest in RCT3 there isnt much he can help me with anymore. Furthermore, he lost some of his backups for ParkCleanup and information on file structures which makes it even more difficult to step into it.


    He only found lately an old, very basic RCT3 archive file reader which he has shown me: link to github

    But when I try to read and understand it I have absolutely no clue what I'm reading and how the script actually works. And that is basically my problem, I have absolutely no clue how decompiling such a file structure as a .dat file actually works and where to start with that to even understand how it works.

    Furthermore, When you load in an frw file in the ParkCleanup 2, you get most of the information with all the ParticleBaseDesc, multiple ParticleEmitterDesc and ParticleDesc. but I'm mostly interested in the data that is inside those descs. What I'm mainly aiming for is somehow to write an xml file which mimic the ingame advanced firework edittor, which basically tells which ParticleEmitterDesc and ParticleDesc parts has to be inside the frw file with certain values, and then writes that to an frw file so i dont have to adjust everything one-by-one by hand.
    This is basically what I've asked Joey as well if he could help me with that (around 1 a 2 years ago now), but for obvious reasons which I can completely understand, he isn't interested in doing so.
    Asking it here was kind of my last hope to see if there could still be something possible (because inside I kept feeling kind of sad to have put a lot of effort for several years in this project, just to never finish it). But knowing it would take me more than 6 months isn't a hopeful sign either.


    Anyway, thank you for the quick answer Markus!


    PS: I tried the webarchive already long time ago, but couldnt find the specific topic, and even so, the only way you could have contacted him anyways was with PM on vPyro (which i did once when it was still online)

    Thank you Markus for the answer!

    Little information I just thought about: Some years ago on the old vPyro forum (forum specifically for RCT3 firework shows), someone posted his progress on an xtreme firework editor. the same as the ingame advanced firework editor, but with some extra features like:
    -ability to copy-paste data from one emitter to another (emitter is one bulb in that tree structure of an particle effect)
    -values without increments. the ingame interface works with increments like lifetimes for example can only be increased with increments of 0.05s and rotation speed only with increments of pi/25. He worked with ability to type in any value without those increment restriction.

    -larger view of that tree-structure


    So this suggest that reading and changing data in the file is possible.

    One thing he mentioned at that time which is kind of important: He said that he could only make it work when you load in an already existing .frw file and change it, and that the program could generate a new frw file from scretch. Now what I've seen in the HeX editor, there is a lot of data at the top which seem to have no influence on the data in the tree-structure, so this might explain it.
    However, i think this is easily solvable if you just if a default .frw file with the sole basis of a tree structure from which you can build and change the tree-structure as you wish.

    Unfortunately, he never released his xtreme firework editor, nor is anything visible from it nowadays since vPyro has been offline for a long time now

    So unfortunately there was no-one to response on this. So in one last effort to decide if it's worth time to go into it or not, i have some questions I hope someone can answer (I hope Markus can answer some but cant find a way to ask him directly xD)


    -What is the best strategy to figure out a file structure with its data and how to read en overwrite this data. In this case for RCT3's .frw files
    I mostly mean here: where to start, what kind of information and skills do I need (cause in terms of programming I have zero experience), on what kind of information do I have to google.
    (I have tried looking into the file with a HeX editor but that was not really successful)


    -What is already known about the file structure of .frw files? Has someone already stored some information on this file-type and is able to share this information


    -Too fully debug the filestructure and be able to make a program where I could transfer data from an for example xml file (in specific form) to a .frw file, how much time would it approximately take for a noobie like me?

    I hope someone can at least give me some answers so I can consider if this is worth trying to be able to finish the project more easily, or if I'd better call it quit for this project.

    So around 8 years ago I started experimenting with something which turned out to one of my biggest projects ever: A remake of Efteling's fountainshow "Aquanura" in RCT3 as precise as possible. There are/were a lot of different aspects to this project. Like the layout of the fountains with firework launchers created with CSO, the entire area around the like creating with CSO objects and mix of foliage to create the Efteling feeling around it, and most importantly the show itself using AdvancedFireworkEditor to create all the particle effects for the fountains, and putting it together sing MixMaster where I use CFRs to apply animation to certain fountains.


    Now because I want to recreate the show is precisely as possible, creating the fountains themselves comes along with a lot of complex work to apply the right color schemes to the fountain effects. All this has to be done by one by one adjusting time values and dragging boxes with certain color settings in the AdvancedFireworkEditor. This proces has become so much time consuming and complex that around 2 a 3 years ago, I lost all motivation and inspiration (in combination with everything from the RCT3 community falling apart).


    A little time ago I decided that I probably wouldnt finish it anyway, so I uploaded videos of all the scenes in the state as they are now, just to show how far I've come and mentally I've given up a bit on finishing it.


    Full playlist: https://www.youtube.com/playli…LZM3xua83SWoUKC5n7gOhH5-V

    Full project history: https://www.shyguysworld.com/index.php?topic=11788.0


    Now personally, It still bothers me a bit that I have never finished it because I've put so much effort in it. So I'm investigating one last option to give me a boost of motivation and finding a way to make creating the show much easier for me.


    Now the problem is that in the AdvancedFireworkEditor, I've to adjust everything by hand one by one. But I could calculate everything what I have to adjust based on timing data en color data (which i can easily get for myself). So the idea what I had is that instead of adjusting the effects ingame, I could somehow let the effects automatically generate to obtain certain effects for a specific moment in the show.


    shot0027-jpg.140722


    Now an particle effect (.frw-file) is build up like a tree structure with parent-child relations, and every point in this structure has its own data. In the picture shown above you see a bit of such an particle effect with a tree structure.


    Now I would have the possibilities and knowledge to generate xml files which describes such tree structures with all the data for each point, and let that data be determined by calculations based on input values and output I want.

    The only problem is that I've absolutely 0 knowledge in how this can be turned into the file format of .frw files so it can be used in RCT3.


    This is were I ask for someone's help. If there is someone who could help me with creating a program which can convert such an xml file with certain described data to a .frw-file so i have the particle effects I need ingame, I can do things much more easily and time-efficient, so I could get the motivation again to finish this big project and finish it sooner as well.


    Is there someone who could help me?

    So I just found out that this site is still alive (after a big reboot that is). It's really nice to see that very few still survived.


    Maybe some of you guys still remember me. I've been a member of RCT-3.org. I've mainly been active in creating custom content for RCT3, especially on CFR en CTR basis which were mostly related to Efteling or Phantasialand. Some of you might remember the CFRs like Mystery Castle, Talocan, madhouses, or CTRs like Vogelrok/TotNH and FataMorgana.

    So for the people who might not remember me: I'm Menno, 25 years old Dutch guy. Since I was a child I've been fan op themeparks and rollercoasters and have been playing RCT3 for quite some time. I've never been much of a builder, but i liked it a lot to make content related to rides like coaster cars and flatrides. And if I tried something else with building, it was mostly remake related instead of imagining your own building and rides. Unfortunately a lot of these projects (both CFR/CTR as simple remakes with custom content) have never been finished.


    It's nice to see that a little bit of the old community still survived. Unfortunately I have never been that active with planet coaster (besides a Schwarzkopf LoopingStar blueprint), so that is not really my thing, and my motivation for RCT3 have been practically 0 as well since I've mostly seen people moving away from it.


    Little side note: I write in English because it's much more easier for me to write in English than in German, but I can easily read and understand German (I can write it as well, but it become much more difficult to find the right words).


    Mennoo_