Jump to content
OpenRCT2

X7123M3-256

Members
  • Content Count

    867
  • Joined

  • Last visited

Posts posted by X7123M3-256


  1. 64 does seem to be the limit of the dropdown menu, any more than that causes problems, and I know that the vehicle selection dropdown is limited to 64 items as well. To get 255, I just modified the code to ignore the dropdown and always set the train length to 255. Obviously this is not very practical so I've now changed it back to 64 - I put it up that high partly to see how far it can go, but also to try and detect any remaining buffer overflows (adding this many cars to an array sized for 16 will surely break something, right?).

    • Like 1

  2. Just now, KKLD said:

    I can't help but wonder why the initial limit was set to 16 and why changing it to 32 should fix it.

     

    In the ride_entry struct, they're 8 bit values. But during the calculation of the max train length, those two values get copied into a single 8 bit variable, which gives 4 bits each for a maximum of 15. I think that's the issue here, but janisozaur is the better person to answer becasue he implemented the fix.

     

    Just now, KKLD said:

    The Log Flumes, Splash Boats, Car Ride and some other rides support 31 boats/cars.

     

    The number of trains and the number of cars per train are not the same thing. All those rides are limited to individual cars.

     

    Just now, KKLD said:

    And talking about a cheat to enable longer cars; is the only thing required to disable these 4 checks?

    As far as I can tell, yes. This doesn't look like a difficult thing to implement, but it's hard to be sure until I've tried it - I don't know the codebase as well as the developers do.


  3. I'm getting a merge conflict, which I think is because I have local changes (I was messing with the track code again). I've tried running git reset --hard and then pulling the latest version, but it still doesn't work. Is there a way to reset everything back to the current version of the code?


  4. I set the minimum and maximum train length field to 30. That's all there is to it. An interesting thing is that the game doesn't validate train lengths on load, so you can tweak the DAT, build a ride with absurdly long trains, then restore the original DAT and still load your park - as long as you don't close and reopen the ride, you keep your long trains. Same for friction values - I've thought about implementing it as a cheat to cut out the need to change DAT files entirely.

    I retested the 30 car trains and they crash now, so something's changed, but possibly not in this part of the code. The 15 car versions still work, so I'm not sure what the new limit is but given that it's getting packed into a 4 bit value at one point I assume it's just coincidence that 30 cars worked before. I'll have to investigate a bit more to see what the root cause of the crash is.


  5. The game takes into account 3 things when determining how long the trains can be, in this order:

    • The max train length set in the file
    • The total friction of all the cars on the track
    • The length of the station
    • The minimum train length

    The relevant code is here. The key point is that the minimum train length is the last thing calculated, so if the minimum train length is set to 30 then the trains have to be at least that long, even though the game won't allow a station long enough to accomodate them. Strangely, looking through that code again I see that the min and max train lengths are packed into a single 8 bit value with 4 bits each, so I'm not quite sure why a value of 30 worked - has that changed since I did this?


  6. It works fine for me in OpenRCT2 (I haven't even tested in vanilla), but make it one car longer and it crashes. I have not yet looked into why it crashes. It is definitely possible to implement a "remove train length limits" cheat, and I might look into doing that, along with an option to change the friction value used for the ride. The method I use for this at the moment involves making a new .DAT file, but the change need not be permanent - you can restore the original limit and the cars already on the circuit will not be shortened.


  7. The limit is definitely not 8 cars, even without hacks. The articulated wooden coaster trains support up to 12, for a start. I've tested trains with up to 30 cars, and I wasn't able to get higher than that without crashing the game, but I'm still not 100% sure this is the absolute limit. There is no cheat to remove the limit as of yet but it's not impossible to implement one - I'm not sure where this "stored in 3 bits" is coming from because as far as I can tell, it's an 8 bit value.

    • Like 1

  8. I have a long list of custom track styles I wish I could make:

    • Intamin track with all the inversions available
    • New style Intamin hyper track
    • Intamin quad-rail track (technically already in the game, but very limited and thus basically useless)
    • B&M dive track (wider than standard B&M track)
    • RMC track
    • Waterslide track with banked curves and vertical drops
    • Wider waterslide track (for four-person rafts; I currently use bobsled which isn't ideal)
    • Alpine coaster/slide track

    Your rotating car ride could probably implemented in the game as it is by putting it on multi-dimension track (which has the pitch control), and then making that invisible and zero-clearancing car ride track over the top. Not ideal, because it requires the use of cheats, but if you wanted to do that it could be done.


  9. This has confused so many people that I'm beginning to think I shouldn't have posted screenshots of the custom track in the first place. So, to clarify, custom track styles are not yet supported in OpenRCT2. Maybe one day they will be, but for now it's not possible.

    So what I did was I put the ride on B&M track, and then replaced the B&M track sprites with RMC track sprites. I swapped the sprites, recorded the animation, and then restored the original sprites. I used the custom track for the preview image, because the wooden track just looks awful (and if I'd known that to start off with, I would never have made an RMC train)

    There's no point releasing it in this state because a) I didn't replace every sprite, just the ones I used,  b) my renderer isn't ready for track yet and the custom track is rather glitchy, and c) you would lose the Twister track. If somebody *really* wants to play with it, I might still have the file somewhere, but you would not want to keep it like that for very long.

×
×
  • Create New...