OBD:ONGS: Difference between revisions

From OniGalore
(update content + code)
(added info on hypo regen rate – weirdly I cannot find where the accelerated regen rate is coming from in either the code or the data… it's based purely on observation)
 
(25 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{OBD_File_Header | type=ONGS | prev=ONFA | next=ONIA | name=Oni Game Settings | family=Global | align=center}}
{{OBD_File_Header | type=ONGS | prev=ONFA | next=ONIA | name=Oni Game Settings | family=General | align=center}}
:
 
 
The first pic shows the first part of this file. The second pic the second part, the third pic the third part and the last pic the fourth part of it.
The first pic shows the first part of this file. The second pic the second part, the third pic the third part and the last pic the fourth part of it.
:
 
==Part 1==
[[Image:ongs_a.gif]]
[[Image:ongs_a.gif]]
:
 
 
{{Table}}
{{OBDth}}
{{OBDtr| 0x000 | res_id  |FF0000| 01 00 00 00 | 0                | 00000-game_settings.ONGS }}
{{OBDtr| 0x004 | file_id |FFFF00| 01 00 00 00 | 0                | level0_Final.dat }}
{{OBDtr| 0x008 | float  |FFC8C8| 00 00 00 40 | 2.000000        | max overpower HP factor }}
{{OBDtr| 0x00C | float  |FFC8C8| 00 00 80 3E | 0.250000        | normal hypo strength (see details below) }}
{{OBDtr| 0x010 | float  |FFC8C8| 00 00 80 3F | 1.000000        | overpower hypo strength }}
{{OBDtr| 0x014 | float  |FFC8C8| 00 00 C0 3F | 1.500000        | overpower min damage factor (see details below) }}
{{OBDtr| 0x018 | float  |FFC8C8| 33 33 13 40 | 2.300000        | overpower max damage factor }}
{{OBDtr| 0x01C | uint32  |FFFFC8| 04 00 00 00 | 4                | number of used key health values for health bar color }}
{{OBDtr| 0x020 | float  |C8FFC8| 00 00 00 00 | 0.000000        | 0 percent of full health }}
{{OBDtr| 0x024 | float  |C8FFC8| C2 F5 28 3F | 0.660000        | 66 percent of full health }}
{{OBDtr| 0x028 | float  |C8FFC8| 47 E1 7A 3F | 0.980000        | 98 percent of full health }}
{{OBDtr| 0x02C | float  |C8FFC8| 00 00 80 3F | 1.000000        | 100 percent of full health }}
{{OBDtr| 0x030 | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x034 | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x038 | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x03C | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x040 | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x044 | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x048 | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x04C | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x050 | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x054 | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x058 | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x05C | float  |C8FFC8| AD DE AD DE | unused        | additional space for percent of full health; unused }}
{{OBDtr| 0x060 | color  |FFC8FF| 00 00 FF FF | 0, 0, 255; 255  | health color at 0 percent of full health (red) (see details below) }}
{{OBDtr| 0x064 | color  |FFC8FF| 00 FF FF FF | 0, 255, 255; 255 | health color at 66 percent of full health (yellow) }}
{{OBDtr| 0x068 | color  |FFC8FF| 2B A1 13 FF | 43, 161, 19; 255 | health color at 98 percent of full health (greenish) }}
{{OBDtr| 0x06C | color  |FFC8FF| 00 FF 00 FF | 0, 255, 0; 255  | health color at 100 percent of full health (green) }}
{{OBDtr| 0x070 | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x074 | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x078 | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x07C | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x080 | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x084 | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x088 | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x08C | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x090 | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x094 | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x098 | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtr| 0x09C | color  |FFC8FF| AD DE AD DE | unused  | additional space for health color; unused }}
{{OBDtrBK|Names of the meshes used for powerup items (first entry shown, six used, room for seven)}}
{{OBDtr2|0x0A0 |char[128]|C800C8| powerup_ammo                  | name of the 3D model of the red ammo clip (M3GMpowerup_ammo) }}
|}
 
===Hypo strength===
This is the coefficient for how much of the character's health is healed by a hypo. The numbers specified here mean that 25% of the character's max health will be restored under normal conditions, but if the character is already at maximum health then 100% of their max HP is added, doubling their health and taking them into full overpower (assuming the character has an overpower mode, which only Konoko and Muro do). If they are at less than max health, but high enough that the hypo's 25% effectiveness will take them above max health, then the remainder of the hypo counts at a 100% coefficient.
 
To illustrate, begin with a character with a max of 200 HP; that's Konoko, at least on Normal/Hard difficulty. Thus, for her a hypo will restore 50 HP (25% * 200). Now imagine that Konoko's current health is 190 HP and she uses a hypo: it heals those 10 points, leaving 80% of the hypo's healing power remaining at the point that Konoko reaches max HP. From that point on, the hypo's charge is applied at a rate of 100% of Konoko's max health, meaning it adds another 160 HP to her health, taking her to 360 HP:
 
<math display="block">
\underset{\text{overpower hypo strength}}{100\%} * \underset{\text{max HP}}{200} * \underset{\text{remaining hypo}}{80\%} = \underset{\text{HP added}}{160}
</math>
 
If you're looking for the speed at which a hypo heals a character, it's not in ONGS but rather in each character's class data: {{SectionLink|OBD:ONCC|Inventory settings}}. However we can save you the trouble by telling you that the number is always set to 6. This is the tick delay between each +1 HP, meaning that if a hypo is going to heal you by 50 HP then it will take 6 * 50 = 300 ticks (5 seconds). However healing is greatly accelerated in overpower mode, regenerating health at 1 HP per tick. Thus a hypo will raise Konoko's health from 200 HP to 400 HP in only 200 ticks (3.33 seconds).
 
===Damage factors===
The 1.5 and 2.3 figures are multipliers for damage done by melee attacks if the character is capable of overpower mode. For instance, when Konoko is at peak overpower she will do 2.3x damage with each attack, and this will ramp down to 1.5x when she is 1 point above her max HP and about to leave overpower mode. In the above example where Konoko reaches 360 HP from using a hypo, which is 80% of her maximum overpower HP, this means that she will be doing 2.14x damage:
 
<math display="block">
\underset{\text{overpower min damage}}{1.5x} + (\underset{\text{overpower damage range}}{2.3x - 1.5x}) * \underset{\text{overhealth}}{(360 - 200) \div 200} = \underset{\text{melee damage factor}}{2.14x}
</math>
 
This will of course only last momentarily, as characters in overpower mode lose 1 HP every 10 ticks (6 HP a second) after the hypo finishes raising their HP to its final point.
 
===Health colors===
The colors are specified in the order BGRA. These are not only used for the health bar in the HUD but also hit flashes when striking enemies and for any particle that uses the "special tint" flag (e.g. Barabas' regeneration particles). The actual color used in these circumstances will be an interpolation between the specified key values, so for instance at 33% health you should expect to see a color halfway between 0%'s pure red and 66%'s pure yellow (i.e. orange).
 
===Powerup meshes===
This is the order of the items in the array of mesh names: ballistic ammo, energy ammo, hypo, shield, invisibility, [[LSI]].
 
==Part 2==
[[Image:ongs_m1.gif]]
[[Image:ongs_m1.gif]]
:
 
 
{{Table}}
{{OBD_Table_Header}}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtrBK|Names of the "glow" textures displayed for powerups lying on the ground (first entry shown, six used, room for seven}}
{{OBDtr2| 0x420 |char[128]|C87C64| glowtex_ammo | name of the glow texture for red ammo clips (reference to 01448-glowtex_ammo.[[OBD:TXMP|TXMP]]) }}
|}
 
===Glow textures===
See {{SectionLink||Powerup meshes}} for the order of the items in this array.
 
==Part 3==
[[Image:ongs_m2.gif]]
[[Image:ongs_m2.gif]]
:
 
 
{{Table}}
{{OBD_Table_Header}}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x7A0 | float  |B0C3D4| 00 00 A0 40 | 5.000000 | red ammo glow x size }}
{{OBDtr| 0x7A4 | float  |B0C3D4| 00 00 A0 40 | 5.000000 | red ammo glow y size }}
{{OBDtr| 0x7A8 | float  |B0C3D4| 00 00 A0 40 | 5.000000 | green energy cell glow x size }}
{{OBDtr| 0x7AC | float  |B0C3D4| 00 00 A0 40 | 5.000000 | green energy cell glow y size }}
{{OBDtr| 0x7B0 | float  |B0C3D4| 00 00 A0 40 | 5.000000 | hypo glow x size }}
{{OBDtr| 0x7B4 | float  |B0C3D4| 00 00 A0 40 | 5.000000 | hypo glow y size }}
{{OBDtr| 0x7B8 | float  |B0C3D4| 00 00 A0 40 | 5.000000 | force shield glow x size }}
{{OBDtr| 0x7BC | float  |B0C3D4| 00 00 A0 40 | 5.000000 | force shield glow y size }}
{{OBDtr| 0x7C0 | float  |B0C3D4| 00 00 A0 40 | 5.000000 | phase cloak glow x size }}
{{OBDtr| 0x7C4 | float  |B0C3D4| 00 00 A0 40 | 5.000000 | phase cloak glow y size  }}
{{OBDtr| 0x7C8 | float  |B0C3D4| 00 00 C0 40 | 6.000000 | LSI glow x size }}
{{OBDtr| 0x7CC | float  |B0C3D4| 00 00 C0 40 | 6.000000 | LSI glow y size }}
{{OBDtr| 0x7D0 | float  |B0C3D4| AD DE AD DE | unused | extra powerup glow x size; unused }}
{{OBDtr| 0x7D4 | float  |B0C3D4| AD DE AD DE | unused | extra powerup glow y size; unused }}
{{OBDtrBK|23 links to sounds of various gameplay events }}
{{OBDtr2|0x7D8 | char[32]|FFDDDD| ...                    | sound name; unused; (reference to an [[OBD:OSBD|OSBD]] file) }}
|}
 
===Glow sizes===
In local coordinates, because the orientation of a ''dropped'' powerup can be anything.
 
===Event sounds===
:0. (unused) - some missing door sound
:1. door_fail
:2. door_lock
:3. (unused) - door_unlock
:4. use_hypo
:5. (unused)
:6. inventory_fail
:7. receive_ammo
:8. receive_cell
:9. receive_hypo
:10. receive_lsi
:11. compass
:12. objective_new
:13. objective_prompt
:14. objective_complete
:15. autosave
:16. (unused)
:17. (unused)
:18. health_low
:19. health_over
:20. shield
:21. invis
:22. (unused)
 
==Part 4==
[[Image:ongs_m3.gif]]
[[Image:ongs_m3.gif]]
:
 
{| WIDTH=100% {{Template:OBDtable}}
 
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{{Table}}
| WIDTH=15% | '''Hex''' || WIDTH=15% | '''Translation''' || WIDTH=70% | '''Meaning'''
{{OBD_Table_Header}}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|- ALIGN=CENTER VALIGN=TOP
| BGCOLOR="#FF0000" | 01 00 00 00 || 0 || ALIGN=LEFT | 00000-game_settings.ONGS
{{OBDtrBK| The following 9 factors affect the notice, block and dodge specified in the [[OBD:BINA/OBJC/MELE|melee profile]] }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xAB8 | float  |64AAAA| 33 33 33 3F | 0.700000 | enemy notice factor if you play on Easy }}
| BGCOLOR="#FFFF00" | 01 00 00 00 || 0 || ALIGN=LEFT | level 0
{{OBDtr| 0xABC | float  |64AAAA| 00 00 80 3F | 1.000000 | enemy notice factor if you play on Normal }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
{{OBDtr| 0xAC0 | float  |64AAAA| 33 33 B3 3F | 1.400000 | enemy notice factor if you play on Hard }}
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first part.</FONT>
{{OBDtr| 0xAC4 | float  |64AAAA| 9A 99 19 3F | 0.600000 | enemy block chance factor if you play on Easy }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xAC8 | float  |64AAAA| 00 00 80 3F | 1.000000 | enemy block chance factor if you play on Normal }}
| BGCOLOR="#FFC8C8" | 00 00 00 40 || 2.000000 || ALIGN=LEFT | unknown
{{OBDtr| 0xACC | float  |64AAAA| 66 66 A6 3F | 1.300000 | enemy block chance factor if you play on Hard }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xAD0 | float  |64AAAA| CD CC 4C 3F | 0.800000 | enemy dodge factor if you play on Easy }}
| BGCOLOR="#FFC8C8" | 00 00 80 3E || 0.250000 || ALIGN=LEFT | unknown
{{OBDtr| 0xAD4 | float  |64AAAA| 00 00 80 3F | 1.000000 | enemy dodge factor if you play on Normal }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xAD8 | float  |64AAAA| 00 00 C0 3F | 1.500000 | enemy dodge factor if you play on Hard }}
| BGCOLOR="#FFC8C8" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | unknown
{{OBDtr| 0xADC | float  |64AAAA| 9A 99 99 3F | 1.200000 | enemy weapon accuracy factor if you play on Easy }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xAE0 | float  |64AAAA| 00 00 80 3F | 1.000000 | enemy weapon accuracy factor if you play on Normal }}
| BGCOLOR="#FFC8C8" | 00 00 C0 3F || 1.500000 || ALIGN=LEFT | unknown
{{OBDtr| 0xAE4 | float  |64AAAA| 9A 99 19 3F | 0.600000 | enemy weapon accuracy factor if you play on Hard }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xAE8 | float  |64AAAA| 00 00 80 3F | 1.000000 | enemy health factor if you play on Easy }}
| BGCOLOR="#FFC8C8" | 33 33 13 40 || 2.300000 || ALIGN=LEFT | unknown
{{OBDtr| 0xAEC | float  |64AAAA| 00 00 80 3F | 1.000000 | enemy health factor if you play on Normal }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xAF0 | float  |64AAAA| 00 00 A0 3F | 1.250000 | enemy health factor if you play on Hard }}
| BGCOLOR="#FFFFC8" | 04 00 00 00 || 4 || ALIGN=LEFT | 4 entries follow
{{OBDtr| 0xAF4 | float  |64AAAA| 66 66 A6 3F | 1.300000 | player health factor if you play on Easy }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xAF8 | float  |64AAAA| 00 00 80 3F | 1.000000 | player health factor if you play on Normal }}
| BGCOLOR="#C8FFC8" | 00 00 00 00 || 0.000000 || ALIGN=LEFT | 0 percent health
{{OBDtr| 0xAFC | float  |64AAAA| 00 00 80 3F | 1.000000 | player health factor if you play on Hard }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xB00 | uint32  |EBEBEB| 10 00 00 00 | 16       | array size }}
| BGCOLOR="#C8FFC8" | C2 F5 28 3F || 0.660000 || ALIGN=LEFT | 66 percent health
{{OBDtrBK}}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr2|0x000 | char[32]|8C8CCC| hypo                   | event name }}
| BGCOLOR="#C8FFC8" | 47 E1 7A 3F || 0.980000 || ALIGN=LEFT | 98 percent health
{{OBDtr| 0x020 | uint16  |FF00C8| 01 00       | 1       | first level with autoprompting }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x022 | uint16  |F0F096| 02 00       | 2       | last level with autoprompting }}
| BGCOLOR="#C8FFC8" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | 100 percent health
{{OBDtr2|0x024 | char[32]|00C864| autoprompt_hypo       | raw file anchor for the text message (it belongs to the [[OBD:SUBT|SUBT]] file) }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | AD DE || dead || ALIGN=LEFT | not used
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 00 00 FF FF || BGCOLOR="#FF0000" | 0, 0, 255; 255 || ALIGN=LEFT | colour (blue, green, red) and transparency if the character has a health of 0 percent
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 00 FF FF FF || BGCOLOR="#FFFF00" | 0, 255, 255; 255 || ALIGN=LEFT | colour (blue, green, red) and transparency if the character has a health of 66 percent
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 2B A1 13 FF || BGCOLOR="#13A12B" | 43,&nbsp;161,&nbsp;19;&nbsp;255 || ALIGN=LEFT | colour (blue, green, red) and transparency if the character has a health of 98 percent
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 00 FF 00 FF || BGCOLOR="#00FF00" | 0, 255, 0; 255 || ALIGN=LEFT | colour (blue, green, red) and transparency if the character has a health of 100 percent
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | AD DE || dead || ALIGN=LEFT | not used
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#808080"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first block of the first part.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" COLSPAN=2 | <TT>powerup_ammo</TT> || ALIGN=LEFT | 3D model name (reference to 01449-powerup_ammo.[[OBD:M3GM | M3GM]])
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the second part.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#808080"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first block of the second part.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" COLSPAN=2 | <TT>glowtex_ammo</TT> || ALIGN=LEFT | name of the texture which surrounds the 3D model above in some distance (reference to 01448-glowtex_ammo.[[OBD:TXMP | TXMP]])
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the third part.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown red ammo clip min; it seems (I'm pretty sure) that this complete part belongs to the inventory parts above; (note for me: empty blocks above maybe space for the canceled nci powerup)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown red ammo clip max
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown green energy cell min
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown green energy cell max
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown hypo min
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown hypo max
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown force shield min
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown force shield max
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown phase cloak min
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 A0 40 || 5.000000 || ALIGN=LEFT | unknown phase cloak max
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 C0 40 || 6.000000 || ALIGN=LEFT | unknown lsi min
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 C0 40 || 6.000000 || ALIGN=LEFT | unknown lsi max
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | AD DE || dead || ALIGN=LEFT | not used (unknown min and max for nci?)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#808080"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first block of the third part.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" COLSPAN=2 | <TT>.</TT> || ALIGN=LEFT | sound name; not used; (reference to an [[OBD:OSBD | OSBD]] file)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the fourth part.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 33 33 33 3F || 0.700000 || ALIGN=LEFT | unknown (note: to all unknown fields below: I've tested it with all teams ==> no effect)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 33 33 B3 3F || 1.400000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 9A 99 19 3F || 0.600000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 66 66 A6 3F || 1.300000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | CD&nbsp;CC&nbsp;4C&nbsp;3F || 0.800000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 C0 3F || 1.500000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 9A 99 99 3F || 1.200000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 9A 99 19 3F || 0.600000 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | enemy health factor if you play on easy
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | enemy health factor if you play on normal
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 A0 3F || 1.250000 || ALIGN=LEFT | enemy health factor if you play on hard
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 66 66 A6 3F || 1.300000 || ALIGN=LEFT | player health factor if you play on easy
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | player health factor if you play on normal
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 80 3F || 1.000000 || ALIGN=LEFT | player health factor if you play on hard
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 10 00 00 00 || 16 || ALIGN=LEFT | 16 packages follow (one package is edged in darkgrey)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#808080"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package of the fourth part.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" COLSPAN=2 | <TT>hypo</TT> || ALIGN=LEFT | space for notes
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | 01 00 || 1 || ALIGN=LEFT | first level with autoprompting
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 02 00 || 2 || ALIGN=LEFT | last level with autoprompting
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" COLSPAN=2 | <TT>autoprompt_hypo</TT> || ALIGN=LEFT | raw file anchor for the text message (it belongs to the [[OBD:SUBT | SUBT]] file)
|}
|}
:
 
{{OBD_File_Footer | type=ONGS | prev=ONFA | next=ONIA | name=Oni Game Settings}}
===Difficulty factors===
:
These are discussed at [[Difficulty modes]].
 
===Prompts===
These are the order of the autoprompt events: hypo, cell, ammo, invis, shield, lsi (5 different prompts), weapon, useconsole, usealarm, usedoor, usehypo, nci (talk to character).
 
{{OBD_File_Footer | type=ONGS | prev=ONFA | next=ONIA | name=Oni Game Settings | family=General}}
 
{{OBD}}

Latest revision as of 22:36, 4 April 2026

ONI BINARY DATA
ONFA << Other file types >> ONIA
ONGS : Oni Game Settings
switch to XML:ONGS page
Overview @ Oni Stuff
OBD.png


The first pic shows the first part of this file. The second pic the second part, the third pic the third part and the last pic the fourth part of it.

Part 1

Ongs a.gif


Offset Type Raw Hex Value Description
0x000 res_id 01 00 00 00 0 00000-game_settings.ONGS
0x004 file_id 01 00 00 00 0 level0_Final.dat
0x008 float 00 00 00 40 2.000000 max overpower HP factor
0x00C float 00 00 80 3E 0.250000 normal hypo strength (see details below)
0x010 float 00 00 80 3F 1.000000 overpower hypo strength
0x014 float 00 00 C0 3F 1.500000 overpower min damage factor (see details below)
0x018 float 33 33 13 40 2.300000 overpower max damage factor
0x01C uint32 04 00 00 00 4 number of used key health values for health bar color
0x020 float 00 00 00 00 0.000000 0 percent of full health
0x024 float C2 F5 28 3F 0.660000 66 percent of full health
0x028 float 47 E1 7A 3F 0.980000 98 percent of full health
0x02C float 00 00 80 3F 1.000000 100 percent of full health
0x030 float AD DE AD DE unused additional space for percent of full health; unused
0x034 float AD DE AD DE unused additional space for percent of full health; unused
0x038 float AD DE AD DE unused additional space for percent of full health; unused
0x03C float AD DE AD DE unused additional space for percent of full health; unused
0x040 float AD DE AD DE unused additional space for percent of full health; unused
0x044 float AD DE AD DE unused additional space for percent of full health; unused
0x048 float AD DE AD DE unused additional space for percent of full health; unused
0x04C float AD DE AD DE unused additional space for percent of full health; unused
0x050 float AD DE AD DE unused additional space for percent of full health; unused
0x054 float AD DE AD DE unused additional space for percent of full health; unused
0x058 float AD DE AD DE unused additional space for percent of full health; unused
0x05C float AD DE AD DE unused additional space for percent of full health; unused
0x060 color 00 00 FF FF 0, 0, 255; 255 health color at 0 percent of full health (red) (see details below)
0x064 color 00 FF FF FF 0, 255, 255; 255 health color at 66 percent of full health (yellow)
0x068 color 2B A1 13 FF 43, 161, 19; 255 health color at 98 percent of full health (greenish)
0x06C color 00 FF 00 FF 0, 255, 0; 255 health color at 100 percent of full health (green)
0x070 color AD DE AD DE unused additional space for health color; unused
0x074 color AD DE AD DE unused additional space for health color; unused
0x078 color AD DE AD DE unused additional space for health color; unused
0x07C color AD DE AD DE unused additional space for health color; unused
0x080 color AD DE AD DE unused additional space for health color; unused
0x084 color AD DE AD DE unused additional space for health color; unused
0x088 color AD DE AD DE unused additional space for health color; unused
0x08C color AD DE AD DE unused additional space for health color; unused
0x090 color AD DE AD DE unused additional space for health color; unused
0x094 color AD DE AD DE unused additional space for health color; unused
0x098 color AD DE AD DE unused additional space for health color; unused
0x09C color AD DE AD DE unused additional space for health color; unused
Names of the meshes used for powerup items (first entry shown, six used, room for seven)
0x0A0 char[128] powerup_ammo name of the 3D model of the red ammo clip (M3GMpowerup_ammo)

Hypo strength

This is the coefficient for how much of the character's health is healed by a hypo. The numbers specified here mean that 25% of the character's max health will be restored under normal conditions, but if the character is already at maximum health then 100% of their max HP is added, doubling their health and taking them into full overpower (assuming the character has an overpower mode, which only Konoko and Muro do). If they are at less than max health, but high enough that the hypo's 25% effectiveness will take them above max health, then the remainder of the hypo counts at a 100% coefficient.

To illustrate, begin with a character with a max of 200 HP; that's Konoko, at least on Normal/Hard difficulty. Thus, for her a hypo will restore 50 HP (25% * 200). Now imagine that Konoko's current health is 190 HP and she uses a hypo: it heals those 10 points, leaving 80% of the hypo's healing power remaining at the point that Konoko reaches max HP. From that point on, the hypo's charge is applied at a rate of 100% of Konoko's max health, meaning it adds another 160 HP to her health, taking her to 360 HP:

If you're looking for the speed at which a hypo heals a character, it's not in ONGS but rather in each character's class data: OBD:ONCC § Inventory settings. However we can save you the trouble by telling you that the number is always set to 6. This is the tick delay between each +1 HP, meaning that if a hypo is going to heal you by 50 HP then it will take 6 * 50 = 300 ticks (5 seconds). However healing is greatly accelerated in overpower mode, regenerating health at 1 HP per tick. Thus a hypo will raise Konoko's health from 200 HP to 400 HP in only 200 ticks (3.33 seconds).

Damage factors

The 1.5 and 2.3 figures are multipliers for damage done by melee attacks if the character is capable of overpower mode. For instance, when Konoko is at peak overpower she will do 2.3x damage with each attack, and this will ramp down to 1.5x when she is 1 point above her max HP and about to leave overpower mode. In the above example where Konoko reaches 360 HP from using a hypo, which is 80% of her maximum overpower HP, this means that she will be doing 2.14x damage:

This will of course only last momentarily, as characters in overpower mode lose 1 HP every 10 ticks (6 HP a second) after the hypo finishes raising their HP to its final point.

Health colors

The colors are specified in the order BGRA. These are not only used for the health bar in the HUD but also hit flashes when striking enemies and for any particle that uses the "special tint" flag (e.g. Barabas' regeneration particles). The actual color used in these circumstances will be an interpolation between the specified key values, so for instance at 33% health you should expect to see a color halfway between 0%'s pure red and 66%'s pure yellow (i.e. orange).

Powerup meshes

This is the order of the items in the array of mesh names: ballistic ammo, energy ammo, hypo, shield, invisibility, LSI.

Part 2

Ongs m1.gif


Offset Type Raw Hex Value Description
Names of the "glow" textures displayed for powerups lying on the ground (first entry shown, six used, room for seven
0x420 char[128] glowtex_ammo name of the glow texture for red ammo clips (reference to 01448-glowtex_ammo.TXMP)

Glow textures

See § Powerup meshes for the order of the items in this array.

Part 3

Ongs m2.gif


Offset Type Raw Hex Value Description
0x7A0 float 00 00 A0 40 5.000000 red ammo glow x size
0x7A4 float 00 00 A0 40 5.000000 red ammo glow y size
0x7A8 float 00 00 A0 40 5.000000 green energy cell glow x size
0x7AC float 00 00 A0 40 5.000000 green energy cell glow y size
0x7B0 float 00 00 A0 40 5.000000 hypo glow x size
0x7B4 float 00 00 A0 40 5.000000 hypo glow y size
0x7B8 float 00 00 A0 40 5.000000 force shield glow x size
0x7BC float 00 00 A0 40 5.000000 force shield glow y size
0x7C0 float 00 00 A0 40 5.000000 phase cloak glow x size
0x7C4 float 00 00 A0 40 5.000000 phase cloak glow y size
0x7C8 float 00 00 C0 40 6.000000 LSI glow x size
0x7CC float 00 00 C0 40 6.000000 LSI glow y size
0x7D0 float AD DE AD DE unused extra powerup glow x size; unused
0x7D4 float AD DE AD DE unused extra powerup glow y size; unused
23 links to sounds of various gameplay events
0x7D8 char[32] ... sound name; unused; (reference to an OSBD file)

Glow sizes

In local coordinates, because the orientation of a dropped powerup can be anything.

Event sounds

0. (unused) - some missing door sound
1. door_fail
2. door_lock
3. (unused) - door_unlock
4. use_hypo
5. (unused)
6. inventory_fail
7. receive_ammo
8. receive_cell
9. receive_hypo
10. receive_lsi
11. compass
12. objective_new
13. objective_prompt
14. objective_complete
15. autosave
16. (unused)
17. (unused)
18. health_low
19. health_over
20. shield
21. invis
22. (unused)

Part 4

Ongs m3.gif


Offset Type Raw Hex Value Description
The following 9 factors affect the notice, block and dodge specified in the melee profile
0xAB8 float 33 33 33 3F 0.700000 enemy notice factor if you play on Easy
0xABC float 00 00 80 3F 1.000000 enemy notice factor if you play on Normal
0xAC0 float 33 33 B3 3F 1.400000 enemy notice factor if you play on Hard
0xAC4 float 9A 99 19 3F 0.600000 enemy block chance factor if you play on Easy
0xAC8 float 00 00 80 3F 1.000000 enemy block chance factor if you play on Normal
0xACC float 66 66 A6 3F 1.300000 enemy block chance factor if you play on Hard
0xAD0 float CD CC 4C 3F 0.800000 enemy dodge factor if you play on Easy
0xAD4 float 00 00 80 3F 1.000000 enemy dodge factor if you play on Normal
0xAD8 float 00 00 C0 3F 1.500000 enemy dodge factor if you play on Hard
0xADC float 9A 99 99 3F 1.200000 enemy weapon accuracy factor if you play on Easy
0xAE0 float 00 00 80 3F 1.000000 enemy weapon accuracy factor if you play on Normal
0xAE4 float 9A 99 19 3F 0.600000 enemy weapon accuracy factor if you play on Hard
0xAE8 float 00 00 80 3F 1.000000 enemy health factor if you play on Easy
0xAEC float 00 00 80 3F 1.000000 enemy health factor if you play on Normal
0xAF0 float 00 00 A0 3F 1.250000 enemy health factor if you play on Hard
0xAF4 float 66 66 A6 3F 1.300000 player health factor if you play on Easy
0xAF8 float 00 00 80 3F 1.000000 player health factor if you play on Normal
0xAFC float 00 00 80 3F 1.000000 player health factor if you play on Hard
0xB00 uint32 10 00 00 00 16 array size
First element (black outline)
0x000 char[32] hypo event name
0x020 uint16 01 00 1 first level with autoprompting
0x022 uint16 02 00 2 last level with autoprompting
0x024 char[32] autoprompt_hypo raw file anchor for the text message (it belongs to the SUBT file)

Difficulty factors

These are discussed at Difficulty modes.

Prompts

These are the order of the autoprompt events: hypo, cell, ammo, invis, shield, lsi (5 different prompts), weapon, useconsole, usealarm, usedoor, usehypo, nci (talk to character).

ONI BINARY DATA
ONFA << Other file types >> ONIA
ONGS : Oni Game Settings
General file