Jump to content

OBD:ONCC: Difference between revisions

1,799 bytes added ,  8 February 2010
Iritscen contributing to an OBD page, what is the world coming to?
No edit summary
(Iritscen contributing to an OBD page, what is the world coming to?)
Line 300: Line 300:
{{OBDtr| 0xC98 | char[8]  |CACAFF| AD DE      | dead        | unused }}  
{{OBDtr| 0xC98 | char[8]  |CACAFF| AD DE      | dead        | unused }}  
|}
|}
;Body size factor
The body size of a model will be scaled uniformly by a random coefficient that falls in the range defined with 0xC60 and 0xC64. This is apparently a provision for increasing the variety of appearances in classes like TCTF soldiers; unique characters like Konoko get a range of 1.0 to 1.0. The basis or seed for the randomness is apparently the time and/or order of spawning of that character, and therefore the "random" size of the character can be reproduced consistently as long as the execution of the code is the same each time. To illustrate, find the following code in IGMD/manplant/manplant_cutscene.bsl:
<gallery align="right">
File:ONCC_body_size_factor-original.jpg|Sample 1
File:ONCC_body_size_factor-spawn_order_change.jpg|Sample 2
File:ONCC_body_size_factor-sleep_insertion.jpg|Sample 3
</gallery>
<tt>#Outside shot of cops walking in
ai2_spawn Recep
ai2_spawn partner_cop_1
ai2_spawn partner_cop_2</tt>
When you play the opening cutscene for Chapter 2, Agent Thorson should appear as he does in the first pic in the table to the right. Change the code to:
<tt>#Outside shot of cops walking in
ai2_spawn partner_cop_1
ai2_spawn partner_cop_2
ai2_spawn Recep</tt>
and he'll appear as in the middle pic. Look out, he's a giant! Even the receptionist is bigger! Change the code to:
<tt>#Outside shot of cops walking in
ai2_spawn Recep
sleep 15
ai2_spawn partner_cop_1
ai2_spawn partner_cop_2</tt>
and you'll also get a deluxe-sized Thorson (right pic), though not as big as before. In complex scripts, body size quickly becomes truly random-seeming, but as you can see, in situations where the spawn function is called near the beginning of the code, before there is an opportunity for too much forking and branching, the results are quite reproducible.


;TRSC bitset
;TRSC bitset