Jump to content

X7123M3-256

Members
  • Posts

    1083
  • Joined

  • Last visited

Everything posted by X7123M3-256

  1. If such an option is implemented it should be a cheat. People do get tired of older rides- a newly opened ride will almost always have the longest queue, and old rides get rough and unpopular with time. In 1980 an Arrow looping coaster would be new and exciting; today, not so much.
  2. Please be careful with this. The game state may not be deserialized correctly because my version expects an extra byte for the status of the new cheat, which won't be sent by servers running the develop build. Also, without the patch you're limited to 16 cars, and setting more than that will corrupt the memory of other clients. Even if it appears to work, I would recommend against it - it can have all sorts of side effects because you are overwriting memory that is being used for other things. I had various weird bugs occur during testing as a result of this memory corruption - car sprites being drawn where they shouldn't be, menu items being populated with random text, and at one point it thought my coaster was a sign. I am not sure whether this could actually crash the server or other clients - I suspect it could but I'm reluctant to try it.
  3. I am currently working on a cheat to do this. Another option, which I have used in the past, is to modify the DAT file to set the minimum car length to the length you want - this overrides all other limits on the train length. However, the fact that the train length displayed in the window remains unchanged suggests neither method was used here. 8Cars has a similar feature, it's possible that the train length was hacked in 8Cars, and then the resulting savegame loaded in OpenRCT2. It is also theoretically possible to do something like this by directly editing the game's memory (which is essentially what 8Cars does), but I'm not sure how easy this would be. In the vanilla game and current versions of OpenRCT2, there is an absolute limit of 16 cars and setting a length longer than that can result in undefined behaviour/possible crashes. My cheat increases this limit to 255 cars, which I believe is as far as you can go without having to modify the save format. Also see this other discussion on the topic
  4. That's exactly what I've been saying - this is easy enough to do, and I'm not sure how else you'd do it.
  5. There's no need for any changes to OpenRCT2 to implement this - just take the sprites from csg1.dat and create a new DAT file from them (if somebody hasn't done it already, a number of RCT1 rides have been ported). The only tricky part is that the sprites aren't always in the same order, but the go karts don't have many sprites so you can just manually rearrange them if necessary.
  6. I think this is more easily achieved by using a custom path that doesn't have the railings.
  7. This error means you're missing an object file. PTCT2R is a default object (the 6 seater reversed wooden coaster trains), so either you accidentally deleted it or something is wrong with your RCT2 install. You might have to try reinstalling the game. Is that the only file that's missing, or are you getting other missing object errors (the complete list of missing objects should be printed to the terminal).
  8. Oh, sorry, I thought you were asking for OpenRCT2 to be able to load RCT1 resource files directly, which would be difficult. Extracting the RCT1 sprites and turning them into an RCT2 object file is easy - I already did it for the RCT1 mini suspended coaster, and I've seen it done for a couple of other RCT1 rides as well. There is no reason not to do it if that's what you want - it does not require any alteration to the code nor introduce an incompatibility with the vanilla game.
  9. RCT1 doesn't have object .DATs so you can't easily patch in support for loading RCT1 rides. You can't easlily use the RCT1 base graphics in place of the RCT2 base graphics either, because they don't have the same sprites. I think the best option is to extract the go-kart sprites from csg1.dat and repackage them as an object file for RCT2. This doesn't require any changes to the code - it would still work in vanilla. If you then want to replace the existing go-karts with the RCT1 version, you could substitute KART1.DAT with the new file (you have to make sure that the object header is the same though, or the game won't recognize it). If you want to have the RCT1 go karts alongside the standard ones, just give it a different name.
  10. Are you talking about multiplayer? I would not do this on multiplayer. It will probably crash the other clients if not the server because everyone else will still have the original 16 car limit.
  11. 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?).
  12. I've managed to get trains of 255 cars working:
  13. 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. The number of trains and the number of cars per train are not the same thing. All those rides are limited to individual cars. 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.
  14. In the debug menu (which is the icon with the gears near the save icon). You have to click and hold the icon to get the dropdown - if you just click it you get the console. You can select the object selection window from there.
  15. Thanks, it works fine now. I really need to learn how to use git properly.
  16. 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?
  17. Not surprised 16 is the hard limit after actually looking at the code - I'm not sure why it worked before but now it just hangs the game and I have to kill it. There's no real use for trains this long anyway, so it's not a serious issue.
  18. 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.
  19. 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?
  20. 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.
  21. Some of that is already in the game. The mini coaster track is very similar to Intamin two-rail track. The width might be slightly different though - depends how pedantic you want to be. Vertical lifts are supported via hacks, but the track doesn't actually show as a lift hill, it just behaves as one
  22. 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.
  23. 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.
  24. 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...