Telliamed on 18/7/2005 at 22:04
The string file DEBRIEF.STR in Intrface contains the information that is displayed on the "Stats" screen after a mission ends. It contains a few boilerplate strings: true, false, some, none, hour(s), minute(s), second(s). But the real work is done in a series of stat string groups. Each string group is consecutively numbered beginning from 0.
Code:
stat_0: "qvar"
text_0: "Print this"
format_0: "..."
"Stat" is the name of the quest variable, obviously, and "text" is a string that will be displayed before the qvar value. The tricky part is "format" which determines how the value is displayed.
Terminal format codes determine what is displayed. Only one should be used at a time and it should be the last code in the string.
@b - boolean. Displays either "False" or "True".
@q - quantity. Displays either "None" or "Some".
@t - time. Displays "hh Hours mm Minutes nn Seconds"
%d - regular number. Really just a c-style format string. I haven't tested whether all of the options of printf will work. (Probably will.)
Codes that affect formatting are:
@n - forced newline.
@x - ??? I haven't figured out what this does, though it shows up in the standard debrief.str.
@c - continue line. Don't move to the next line after printing this stat, so the next stat will be on the same line.
@: - Displays ": "
@/ - Displays "/"
Value conditionals:
@+ - positive. Only show this stat if it's not zero. It will still move to the next line unless you use "@c".
@s - secret. If the value is zero, then hide this stat
and all the rest of the stats on this line. You should only use this on a stat that starts a line.
Mission conditionals:
These codes are followed by exactly 2 digits. The stat will be ignored if the condition is true.
@< - less than.
@> - greater than.
@= - equal to. (or, don't show on this mission)
@! - not equal to. (or, only show on this mission)
I checked this all out with Thief 2, but I believe the codes were unchanged since TDP. I also believe that, because of the way the format is read, that the number of characters in the string should always be even.
Nameless_Voice on 18/7/2005 at 23:01
That's useful.
Never really knew what I was doing while poking around in there before...
Yandros on 19/7/2005 at 00:03
Thanks for the info, Tom.
Quote Posted by telliamed
%d - regular number. Really just a c-style format string. I haven't tested whether all of the options of printf will work. (Probably will.)
In the limited tinkering I did with it when working on this file for
A Thief's Holiday 2004, the ones I tried did work to the best of my recollection.
Shadowspawn on 19/7/2005 at 00:45
Thanks for the hard work! I've already saved this in my "Need to know" files for Thief. Now, what to do with it?...hmmm.... :cheeky:
Yandros on 19/7/2005 at 02:35
I for one plan to use it to hide irrelevant stats during camvator missions. :D
Telliamed on 20/7/2005 at 22:01
One thing I forgot to mention is if a qvar doesn't exist, then the entire stat is skipped it moves on to the next one.
Which you'll see me using in my upcoming mission, where I'll have completely different stats depending on the... err, "difficulty".
vfig on 21/9/2021 at 08:18
%x makes the next condition skip all remaining stats instead of just this line.
i have reposted this description in (
https://dromed.whoopdedo.org/dromed/interface/debrief) the dromesday book, together with a few clarifications and some examples.
R Soul on 21/9/2021 at 22:49
Thanks for your effort!
I've tended to use this info to remove the 'Iron beasts' stats which were not relevant to my FMs. Never took it much further but sometimes just knowing about some other thing can lead to some idea that makes great use of it.
vfig on 22/9/2021 at 01:12
so, Hammerite Deathmatch did a conplete overhaul of the debrief screen to show the players and bots individual kills/deaths stats, which was very cool.
in Making a Profit (which is for thief gold), i edited the debrief to show two custom qvars as a thief 2-style “Found X secrets out of Y”.
but more creative uses are possible! a simple example: create two qvars for each food type in the mission, initially zero: “AteCarrot”, “FavCarrot”, and “AteBread”, “FavBread” and so on. increment each “AteX” qvar when the corresponding food object is consumed. at the end of the mission, compare all the “AteX” qvars, and whichever has the most, set the corresponding “FavX” to 1. Then add to the debrief a bunch of “@+@c” stats, one for each food type, that check the corresponding FavX qvar. And then your mission stats page will report Garretts favourite food! :D