Jump to content


Photo

Elerium Fueled Craft Bug


  • Please log in to reply
7 replies to this topic

#1 Admiral Harkov

Admiral Harkov

    Captain

  • Forum Members
  • PipPipPipPip
  • 113 posts

Posted 17 January 2009 - 05:53 AM

I know seb76's patch for CE solves it, but I'm under DOS version 1.4 using DOSbox and xcomutils don't solve it

Is there a known solution?

I will possibly today, possibly tomorrow, see if I am lucky enough to stumble upon the fuel charged by them and doubling it. Will inform of the result here.

#2 Zombie

Zombie

    Colonel

  • Xenocide Creative-Text Departmen
  • 2,947 posts

Posted 18 January 2009 - 03:14 PM

I know the locations for the craft in the CE executable, so maybe this will help. For the Lightning, search for (in decimal) 59, 2, 212, 254 in Geoscape.exe. 59,2 is the pointer for the craft name in English.dat and 212,254 is the # of points lost if the craft is destroyed. The sixth variable should read 30,0 which is the fuel for the Lightning. 28 bytes from that is the Avenger (60,0) and 56 bytes from the Avenger is the Firestorm (20,0). If you don't want to screw around in the executable, you could also edit CRAFT.DAT but this change only applies to your current save game. ;)

- Zombie
The Mr. Grognard of X-COM

Zombie: Empirical data's your only man, when formulating a research plan.
A soldier's death is never in vain if it makes the formula more plain.
A few dozen make a better case for refining that third decimal place.
They call me Zombie because I don't sleep, as I slowly struggle to climb this heap,
of corpses, data points, and trials, but from the top - I'll see for miles!


#3 uncy

uncy

    Sergeant

  • Forum Members
  • PipPipPip
  • 88 posts

Posted 19 January 2009 - 04:34 AM

What is this bug? I have never seen it...
---------------------------------------------------
Uncy

#4 Admiral Harkov

Admiral Harkov

    Captain

  • Forum Members
  • PipPipPipPip
  • 113 posts

Posted 19 January 2009 - 05:50 AM

Your UFO tech based crafts return to base not when they have just enough fuel remaining to reach the base, but when their fuel level reaches 50%, which makes their time to to be out very short.

Thanks zombie, with that I'll look into the 1.4 with much better chances to find it. Else I'll just go with the dat for the latest save game.

Edited by Admiral Harkov, 19 January 2009 - 05:50 AM.


#5 Admiral Harkov

Admiral Harkov

    Captain

  • Forum Members
  • PipPipPipPip
  • 113 posts

Posted 20 January 2009 - 01:07 PM

I can't find that value (212254) either with the hex values in normal order or reversed.

And I don't get the 52,2 for the name. A pointer should be an integer. and I can't find that as a value, and don't find either the 32bit or 64bit float in hex. :s

Searched the 1500 (full skyranger fuel) in same order and doesn't seem to return any result with looks of being right and reversed there are too many results.

Edited by Admiral Harkov, 20 January 2009 - 01:12 PM.


#6 Zombie

Zombie

    Colonel

  • Xenocide Creative-Text Departmen
  • 2,947 posts

Posted 20 January 2009 - 07:40 PM

Lemme grab my unpatched original version game, update that to 1.4 and look around. It should be there. BTW, are you using the steam version? I think I have that floating around on my computer too. :)

Edit: Ok, assuming I patched everything properly, the start of the craft info begins at 353014 (or 353115 in MS-Edit with 100 column widths). I'll break this down below:

Craft		 GEOSCAPE.EXE
Skyranger		353014
Lightning		353042
Avenger		  353070
Interceptor	  353098
Firestorm		353126

Remember that the fuel info is stored 11 bytes away from the start of each record. Let me know if this works, otherwise there are other methods to pursue.

- Zombie

Edited by Zombie, 20 January 2009 - 08:03 PM.

The Mr. Grognard of X-COM

Zombie: Empirical data's your only man, when formulating a research plan.
A soldier's death is never in vain if it makes the formula more plain.
A few dozen make a better case for refining that third decimal place.
They call me Zombie because I don't sleep, as I slowly struggle to climb this heap,
of corpses, data points, and trials, but from the top - I'll see for miles!


#7 NKF

NKF

    Commander

  • [Global Moderators]
  • PipPipPipPipPipPip
  • 4,798 posts

Posted 20 January 2009 - 11:09 PM

The pointer to the name is a 16-bit integer - 52, 2 in hex are 34h, 02h. Reverse that and stick them together and we have 234h. Back into decimal and we have 564 - which is the 564th entry in the array that stores all the text in english.dat.

I guess it's not exactly a memory pointer - more an array index. ;)

- NKF

Edited by NKF, 20 January 2009 - 11:24 PM.

Lord High Generalissimo Ruler Supreme of Norm's Anti Pedant Society (NAPS).

Number of members: 1

#8 Admiral Harkov

Admiral Harkov

    Captain

  • Forum Members
  • PipPipPipPip
  • 113 posts

Posted 21 January 2009 - 05:51 AM

Oh, ok NKF, I never saw values expressed in that format.

I have 1.4 with dosbox and I have the steam which is 1.4 with dosbox and different sounds (PS sounds?. Can it be a version known as gold?).

Will test right away and edit this post when I get the result.

Yep, it works. Changed the data, scrambled all my elerium crafts, waited for their return and refueling, saved a test save, opened cweedit and they appear fueled up to twice the usual amount. Then reload doesn't crash and when I send my firestorm to the other side it just has enough to reach the place instead of returning in mid way.

Thanks again :)

Edited by Admiral Harkov, 21 January 2009 - 06:21 AM.