Talk:PROJECT.DAT

From UFOpaedia
Revision as of 07:21, 3 August 2011 by NKF (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Each research project's scientist-days remaining is stored in a little-endian word (low-order byte first). For realistic cases, the difference between signed word and unsigned word is irrelevant. 96 words i.e. 192 bytes.

Every reference to research is in hours (research.dat), therefore i took the value as literal. In my case: BB = 187 hours. So I started digging and found that the correct calculation to determine research time (in days) is: roundup((hours / scientist)). Every test case produced the expected result. Below are the test and results.

Motion Scanner: 187 hours | Scientists: 50

  • roundup(187/50) = 4 (raw value is 3.7) Result: Research ended at the 23:59:55 hour of the 4th day.

Motion Scanner: 187 hours | Scientists: 100

  • roundup(187/100) = 2 days (raw value is 1.8) Result: Research ended at the 23:59:55 of the second day.

Motion Scanner: 187 hours | Scientists: 200

  • roundup(187/200) = 1 day (raw value is .9). The research ended at the 23:59:55 of the current day.

Laser Pistol: 19 hours | Scientists: 10

  • roundup(19/10) = 3 day (raw value is 2.5). The research ended at the 23:59:55 of the current day.

I think that the above statement needs to be revised.

--pjlasl 3:27PM 08/01/2011

Definitely not days, as the values are derived directly from research.dat, which stores them as scientist hours (+/-50% at the time it is entered). -NKF 03:21, 3 August 2011 (EDT)