View Single Post
Old 09-25-2013, 01:10 PM   #9
forbarteronly
Lurker
 
Join Date: May 2013
Posts: 8
Quote:
Originally Posted by Wildstar View Post
If you're running Collector's CD-ROM in DOSBox, try slowing down the clock speed in the DOSBox settings...33 Mhz should work well enough. X-Wing 95 (the Collector Series edition for Windows) should have fixed this problem, as well.
Well... I have just replied to him, as I stated before very likely the problem cannot be solved by a slowdown. I have looked into the files, likely in his edition it's the same error, e.g.

Goto X to deliver Y and head Z.

The problem here is that the X variable is left blank because a programmer/translator was clumsy, which means that the rest of the loop is being processed, which results in the tugs heading home into their hangar. You cannot complete the mission then, as the B-Wings only hyper out if they received their pilot. That loop isn't triggered at all. Cannot happen.

Regarding speed issues as such, I have looked into ALL mission files of X-Wing. If the problem is as described above no slowdown will ever do.

I have played around with the missions where a slowdown helped. The solution to all missions which needed slowdown was rather simple:

I found that the missions where slowdown is necessary suffer from what I call 'overcrowding'. Sounds funny I know, what I mean is that too many actions (loops) are triggered by one event/at a single moment. E.g. 5 mins into mission appear group X,Y,Z. If the speed is too high some calculations must return a division by 0, which in old days was the runtime error 6003 halting the whole computer. Just in X-Wing's case the game didn't crash, just events didn't happen, which resulted in the mission being unsolvable. At least until the calculation was slower, no division by 0 then, and all good.

I solved this more elegantly, as I splitted events, making X appear after TIME, Y appear n seconds after X and again Z appear n seconds after Y. Logically all groups appear at the same time on the clock, but it's less crowded, which made all missions even work at very high speeds. The ship was unplayable but all loops happened as they should. Ships appeared, did what had to do, left, or were shutdown as I was unable to fly the ship at that speed.

I know what I write is very technical, but it's the solution, my DOS PC has 400 MHz if not slowed down... at 200+ MHz all scripts still worked, which according to your statement, need 33 MHz, should be impossible. The problem isn't the speed as such, has something to do with X-Wing's engine, but I don't have that detail. Slowing down the internal clock is another possible workaround. But I was too lazy to always slow down my CPU for certain mission, been then bored, and found the solution.

Hope this detailed info solves some mysteries.

I use the original DOS Collector's Edition of X-Wing, however if the Windows 95 port was 1:1 (besides dropping the iMuse system) it's likely also applicable there.

Last edited by forbarteronly; 09-25-2013 at 01:17 PM. Reason: Addition of information
forbarteronly is offline   you may: quote & reply,