Jump to content

OBD:ONCC: Difference between revisions

33 bytes added ,  22 October 2021
revising info to match corrected info on XML:ONCC (update part 1)
m (added anchor link to DamageTypes section so I can link right to it; wording on note)
(revising info to match corrected info on XML:ONCC (update part 1))
Line 9: Line 9:
{{OBDtr| 0x000 | res_id  |FF0000| 01 DF 03 00 | 991        | 00991-konoko_generic.ONCC }}
{{OBDtr| 0x000 | res_id  |FF0000| 01 DF 03 00 | 991        | 00991-konoko_generic.ONCC }}
{{OBDtr| 0x004 | lev_id  |FFFF00| 01 00 00 06 | 0          | level 3 }}
{{OBDtr| 0x004 | lev_id  |FFFF00| 01 00 00 06 | 0          | level 3 }}
{{OBDtr| 0x008 | float    |00FF00| CD CC 0C 3F | 0.550000    | downwards velocity? (unknown, always 0.55) }}
{{OBDtr| 0x008 | float    |00FF00| CD CC 0C 3F | 0.550000    | fall speed (not really*) (always 0.55) }}
{{OBDtr| 0x00C | float    |00FF00| 8F C2 75 3D | 0.060000    | downward gravity acceleration }}
{{OBDtr| 0x00C | float    |00FF00| 8F C2 75 3D | 0.060000    | strength of gravity for this character }}
{{OBDtr| 0x010 | float    |00FF00| CD CC 8C 3F | 1.100000    | starting velocity for a simple (tap) JUMP }}
{{OBDtr| 0x010 | float    |00FF00| CD CC 8C 3F | 1.100000    | starting velocity for a simple (tap) JUMP }}
{{OBDtr| 0x014 | float    |00FF00| 00 00 80 C0 | -4.000000  | limit velocity for jumping and gravity flight }}
{{OBDtr| 0x014 | float    |00FF00| 00 00 80 C0 | -4.000000  | maximum velocity for jumping and falling }}
{{OBDtr| 0x018 | float    |00FF00| 8F C2 F5 3C | 0.030000    | upward acceleration (jetpack) if you hold JUMP }}
{{OBDtr| 0x018 | float    |00FF00| 8F C2 F5 3C | 0.030000    | upward acceleration as long as you hold JUMP }}
{{OBDtr| 0x01C | int16    |00FFFF| 07 00      | 7          | gravity timer? (unknown, always 7) }}
{{OBDtr| 0x01C | int16    |00FFFF| 07 00      | 7          | fall timer (not really*) (always 7) }}
{{OBDtr| 0x01E | int16    |00FFFF| 14 00      | 20          | jetpack timer; time during which you can use the jetpack }}
{{OBDtr| 0x01E | int16    |00FFFF| 14 00      | 20          | how long you can continue holding down JUMP to increase the height of your jump }}
{{OBDtr| 0x020 | float    |FF00FF| 00 00 34 42 | 45.000000  | maximal falling height without damage }}
{{OBDtr| 0x020 | float    |FF00FF| 00 00 34 42 | 45.000000  | maximum falling height without damage }}
{{OBDtr| 0x024 | float    |FF00FF| 00 00 07 43 | 135.000000  | maximal falling height with damage }}
{{OBDtr| 0x024 | float    |FF00FF| 00 00 07 43 | 135.000000  | maximum falling height with damage }}
|}
|}




;Units:times are in frames
;Units
:heights are in world units
:times are in frames
:velocities are in world units per frames
:heights are in world units (0.1m or 4")
:accelerations are in world units per frames squared
:velocities are in world units per tick (1/60s)
;Downwards velocity: could correspond to the steady push experienced when neither jumping nor falling
:accelerations are in world units per tick squared
:would be roughly equivalent to the starting velocity of a fall
 
:although the value .55 seems right, the "sinking" seems to be hardcoded now
;Fall speed and timer
;Gravity timer:Seems to be hardcoded now (could be the time until gravity switches on)
:These two fields are only looked at when predicting whether an attack will hit a target while the attacker is in midair. They are probably a development relic that is looked at in error, as the actual falling speed is determined by 0x00C and the actual fall timer is 0x01E.
;Jetpack timer:You can press JUMP multiple times during the time window (quite fun!)
 
;Jetpack timer
:You can press JUMP multiple times during the time window when it's large enough. See [http://mods.oni2.net/node/83 this mod] for an application of this principle.
 
;Falling height: let FH1 be the height at 0x20
;Falling height: let FH1 be the height at 0x20
:let FH2 be the height at 0x24
:let FH2 be the height at 0x24
Line 42: Line 45:
{{OBDth}}
{{OBDth}}
{{OBDtr| 0x028 | link    |FF8000| 01 F8 03 00 | 1016        | link to 01016-shadow1.[[OBD:TXMP|TXMP]] }}
{{OBDtr| 0x028 | link    |FF8000| 01 F8 03 00 | 1016        | link to 01016-shadow1.[[OBD:TXMP|TXMP]] }}
{{OBDtr| 0x02C | float    |FF8000| 00 00 40 41 | 12.000000  | height where the shadow fades out completely }}
{{OBDtr| 0x02C | float    |FF8000| 00 00 40 41 | 12.000000  | height where the diameter of the shadow shrinks to 0x03C }}
{{OBDtr| 0x030 | float    |FF8000| 00 00 00 41 | 8.000000    | height where the diameter of the shadow decreases and the shadow fades out half }}
{{OBDtr| 0x030 | float    |FF8000| 00 00 00 41 | 8.000000    | height range over which the diameter of the shadow decreases from 0x034 to 0x038 and the shadow starts to fades out from 0x040 to 0x042 }}
{{OBDtr| 0x034 | float    |FF8000| 00 00 C0 40 | 6.000000    | height where the diameter of the shadow decreases }}
{{OBDtr| 0x034 | float    |FF8000| 00 00 C0 40 | 6.000000    | maximum diameter of the shadow }}
{{OBDtr| 0x038 | float    |FF8000| 00 00 90 40 | 4.500000    | height where the diameter of the shadow decreases }}
{{OBDtr| 0x038 | float    |FF8000| 00 00 90 40 | 4.500000    | diameter that the shadow shrinks to when 0x030 is reached }}
{{OBDtr| 0x03C | float    |FF8000| 00 00 40 40 | 3.000000    | height where the diameter of the shadow decreases }}
{{OBDtr| 0x03C | float    |FF8000| 00 00 40 40 | 3.000000    | minimum diameter of the shadow }}
{{OBDtr| 0x040 | int16    |FF8000| 30 00      | 48          | transparency of the shadow for the first part of a jump }}
{{OBDtr| 0x040 | int16    |FF8000| 30 00      | 48          | starting transparency of the shadow as the character rises towards 0x030 }}
{{OBDtr| 0x042 | int16    |FF8000| 30 00      | 48          | transparency of the shadow for the second part of a jump }}
{{OBDtr| 0x042 | int16    |FF8000| 30 00      | 48          | starting transparency of the shadow when the character begins to get above 0x030 }}
|}
|}


Line 56: Line 59:
{{Table}}
{{Table}}
{{OBDth}}
{{OBDth}}
{{OBDtr| 0x044 | float    |FF0080| 00 00 C8 41 | 25.000000  | jumpDistance? ; always the same }}
{{OBDtr| 0x044 | float    |FF0080| 00 00 C8 41 | 25.000000  | unused (always 25) }}
{{OBDtr| 0x048 | int8    |FFC8C8| 16          |  22        | jumpHeight? ; always the same }}
{{OBDtr| 0x048 | int8    |FFC8C8| 16          |  22        | unused (always 22) }}
{{OBDtr| 0x049 | int8    |FFC8C8| 06          |  6          | jumpDistanceSquares?!?! ; always the same }}
{{OBDtr| 0x049 | int8    |FFC8C8| 06          |  6          | unused (always 6) }}
{{OBDtr| 0x04A | char[2]  |FFC8C8| AD DE      | dead        | pad }}
{{OBDtr| 0x04A | char[2]  |FFC8C8| AD DE      | dead        | pad }}
|}
|}
Line 67: Line 70:
{{Table}}
{{Table}}
{{OBDth}}
{{OBDth}}
{{OBDtr| 0x04C | float    |FFFFC8| 00 00 20 42 | 40.000000  | rayIncrement; always the same }}
{{OBDtr| 0x04C | float    |FFFFC8| 00 00 20 42 | 40.000000  | unused (always 40) }}
{{OBDtr| 0x050 | float    |FFFFC8| 00 00 96 43 | 300.000000  | rayMax; always the same }}
{{OBDtr| 0x050 | float    |FFFFC8| 00 00 96 43 | 300.000000  | unused (always 300) }}
{{OBDtr| 0x054 | float    |FFFFC8| 35 FA 8E 3C | 0.017453    | rayAngle; always the same (0.017453 <nowiki>=</nowiki> PI/180) }}
{{OBDtr| 0x054 | float    |FFFFC8| 35 FA 8E 3C | 0.017453    | unused (always π/180) }}
{{OBDtr| 0x058 | float    |FFFFC8| DB 0F C9 3F | 1.570796    | rayAngleMax; always the same (1.57 <nowiki>=</nowiki> PI/2) }}
{{OBDtr| 0x058 | float    |FFFFC8| DB 0F C9 3F | 1.570796    | unused (always π/2) }}
|}
|}




;Autofreeze Constants (unused)
;Autofreeze Constants


{{Table}}
{{Table}}
{{OBDtr| 0x05C | float    |FFFFC8| 00 00 A0 40 | 5.000000    | distance_xz; always the same }}
{{OBDtr| 0x05C | float    |FFFFC8| 00 00 A0 40 | 5.000000    | unused (always 5) }}
{{OBDtr| 0x060 | float    |FFFFC8| 00 00 80 3F | 1.000000    | distance_y; always the same }}
{{OBDtr| 0x060 | float    |FFFFC8| 00 00 80 3F | 1.000000    | unused (always 1) }}
|}
|}




;Inventory Constants (unused?)
;Inventory Constants


{{Table}}
{{Table}}
{{OBDtr| 0x064 | int16    |C8FFC8| 06 00      | 6          | (inverse) hypo regeneration rate in frames per hitpoint }}
{{OBDtr| 0x064 | int16    |C8FFC8| 06 00      | 6          | hypo regeneration rate in ticks per hit point restored }}
{{OBDtr| 0x066 | char[2]  |C8FFC8| AD DE      | dead        | ignored }}
{{OBDtr| 0x066 | char[2]  |C8FFC8| AD DE      | dead        | ignored }}
|}
|}
Line 91: Line 94:


;LOD Constants
;LOD Constants
Distances from Camera to render certain LODs
Squares of the distance from the camera at which each LOD kicks in ([[LOD|this article]] has the full calculation for arriving at the LOD to use)
{{Table}}
{{Table}}
{{OBDth}}
{{OBDth}}
{{OBDtr| 0x068 | float    |C8FFFF| 00 10 3D 48 |193600.000000| always the same; this is 440 squared }}
{{OBDtr| 0x068 | float    |C8FFFF| 00 10 3D 48 |193600.000000| always 440 squared }}
{{OBDtr| 0x06C | float    |C8FFFF| 00 10 3D 47 | 48400.000000| always the same; this is 220 squared }}
{{OBDtr| 0x06C | float    |C8FFFF| 00 10 3D 47 | 48400.000000| always 220 squared }}
{{OBDtr| 0x070 | float    |C8FFFF| 00 10 3D 46 | 12100.000000| always the same; this is 110 squared }}
{{OBDtr| 0x070 | float    |C8FFFF| 00 10 3D 46 | 12100.000000| always 110 squared }}
{{OBDtr| 0x074 | float    |C8FFFF| 00 00 00 00 | 0.000000    | always the same }}
{{OBDtr| 0x074 | float    |C8FFFF| 00 00 00 00 | 0.000000    | always 0 }}
{{OBDtr| 0x078 | float    |C8FFFF| 00 00 00 00 | 0.000000    | always the same }}
{{OBDtr| 0x078 | float    |C8FFFF| 00 00 00 00 | 0.000000    | always 0 }}
|}
|}