FIFO Loading Bug
Moderator: TTDPatch Moderators
FIFO Loading Bug
There seems to be a bug with FIFO loading in r1286, which can be seen in the attached savegame. The savegame contains two airport/docks (Lagrande Airport and Prospere Airport) and two vehicles (an aircraft and a ferry) travelling between them. Whenever either vehicle arrives at Lagrande Airport (where they're set to Full Load), it unloads its passengers, then refuses to load any new passengers. The only way to get them to load at Lagrande is to use cht: resetfifo every single time they arrive there. However, whenever they arrive at Prospere Airport (where they're not set to Full Load), they load normally. If I run ttdpatchw --fifoloading off, everything works as it should. I'm using the Windows version of TTD, running on Windows XP.
- Attachments
-
- newgrfw.cfg
- (1.32 KiB) Downloaded 236 times
-
- ttdpatch.cfg
- (8.41 KiB) Downloaded 223 times
-
- TRP10.SV1
- (88.69 KiB) Downloaded 224 times
Here's another savegame where it happens - after the first pair of trains leave Frankfurt Forest, no subsequent ones will load unless cht: resetfifo is used every single time. Running ttdpatchw --gradualloading off (and leaving fifoloading on) makes this savegame work as it should, but does not do the same for the savegame I attached to the first post.
- Attachments
-
- TRP11.SV1
- (425.55 KiB) Downloaded 225 times
- stupidestfool
- Transport Coordinator
- Posts: 332
- Joined: 24 Nov 2006 22:12
- Location: The lesser spotted 'fool can most often be tracked down in Cambridge, Leeds and London
I'm afraid fifoloading is known broken in the nightlies, and I've not yet managed to figure out why.
It keeps getting pushed down the todo list by unimportant things like real life, and earning that green stuff what pays for my internet connection.
It keeps getting pushed down the todo list by unimportant things like real life, and earning that green stuff what pays for my internet connection.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
I believe this is fixed in r1392. Please complain if it isn't.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
1) If it was an existing game, you used Cht:ResetFIFO, right?
2) You posted a savegame and config, right?
2) You posted a savegame and config, right?
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Was just working on that.
By using the resetfifo cheat I was getting the same results as Dropzone. Whenever I used the cheat the trains would load fine but when they returned, they would revert to the previous behaviour and just the first wagon would be loaded again.
The save is not in the right place where I was observing this, so you need to scroll northeast to Lyttleton Mines.
By using the resetfifo cheat I was getting the same results as Dropzone. Whenever I used the cheat the trains would load fine but when they returned, they would revert to the previous behaviour and just the first wagon would be loaded again.
The save is not in the right place where I was observing this, so you need to scroll northeast to Lyttleton Mines.
- Attachments
-
- ttdpatch.cfg
- (33.08 KiB) Downloaded 187 times
-
- TRP24.SV1
- (367.57 KiB) Downloaded 190 times
Current Timezone GMT+12 (NZST)
I just sat down to figure out what's up here, but for now, FIFO seems to work with my config. If you feel like hunting through and figuring out which is the offending switch, be my guest. It can't hurt, but I don't know for sure if it'll help either.
GAH! Brain-fart. It would be a good thing if I could upload MY config, not your config that I'm currently using for testing.
GAH! Brain-fart. It would be a good thing if I could upload MY config, not your config that I'm currently using for testing.
- Attachments
-
- ttdpatch.cfg
- (33.71 KiB) Downloaded 211 times
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Ah. I'm using code that doesn't behave properly with newcargos off. For now, turn it on.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Yeah, it looks to me like FIFO loading does work properly in r1393 (as long as newcargos is enabled). At least, both of the savegames I posted at the start of the thread now work fine for me (after I use cht: resetfifo once).
edit: And with r1397, they now both work fine with newcargos off.
Well, except for one thing: I noticed that if I load the save from my second post, I need to issue the cht: resetfifo immediately, or TTDX crashes after a few seconds. No crash log, but looking at it with OllyDbg seems to show that it's assertnonext generating the crash (screenshot attached). Maybe that's the expected behaviour, but I thought I'd report it anyway. If I do use cht: resetfifo quickly enough, it works fine (as I said already).
edit: And with r1397, they now both work fine with newcargos off.
Well, except for one thing: I noticed that if I load the save from my second post, I need to issue the cht: resetfifo immediately, or TTDX crashes after a few seconds. No crash log, but looking at it with OllyDbg seems to show that it's assertnonext generating the crash (screenshot attached). Maybe that's the expected behaviour, but I thought I'd report it anyway. If I do use cht: resetfifo quickly enough, it works fine (as I said already).
- Attachments
-
- OllyDbg screenshot from after the crash occurs
- ud2.png (22.79 KiB) Viewed 941 times
That UD2 is supposed to be a can't-happen, but saving and/or loading is killing something somewhere. I haven't yet figured out what or how, but if I haven't gotten it worked out before the next nightly goes off, I'll make that automatically cht:resetfifo instead of crashing.
Also, if you move down a ways to the POPAD/RET pair (at 60910F, in your screenshot), hit <ctrl-num*> with the POPAD selected, and then click OK, TTD will proceed, but with the FIFO data still broken. It'll give you a chance to resetfifo.
EDIT: You'll also have to hit F9 or Olly's Play button, if you didn't figure that out already.
Another option is to make sure the UD2 is selected and then type "db 61, 0c3" (A window will pop up *after* you type the 'd'.) This will disable the crash until the next time you start TTDPatch.
Also, if you move down a ways to the POPAD/RET pair (at 60910F, in your screenshot), hit <ctrl-num*> with the POPAD selected, and then click OK, TTD will proceed, but with the FIFO data still broken. It'll give you a chance to resetfifo.
EDIT: You'll also have to hit F9 or Olly's Play button, if you didn't figure that out already.
Another option is to make sure the UD2 is selected and then type "db 61, 0c3" (A window will pop up *after* you type the 'd'.) This will disable the crash until the next time you start TTDPatch.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Who is online
Users browsing this forum: No registered users and 12 guests