27
edits
Changes
Jump to navigation
Jump to search
→Camera Animation (WIP): OpenVIII had some more up to date Camera Animation data. I tried to update the Table to Match. I copied the Time info from comments.
|-
| 0
| WORD (bit varies)uint8_t| Main controller, if 0xFFFF then return, stored into camera struct+2Animation ID|-| 1| uint8_t| Key Frame Count
|-
| 2
| WORDuint16_t (bit varies)| UnknownMain controller, stored into camera struct+4 (2nd controller?)if '''0xFFFF''' then return
|-
| 4
| WORDuint16_t| Unknown, stored into camera struct+6 (3rd controller?)Starting FOV usually ~280
|-
| 6
| WORDuint16_t| Unknown, stored into camera struct, varies by 4>>8&3 case switchEnding FOV ~006
|-
| 8
| WORDuint16_t| UnknownStarting Camera Roll usually 0
|-
| 10
| WORDuint16_t| Animation speed (confirmed)Stating Time usually 0
|-
| 12
| WORDuint16_t| Word field related to camera indexTime|-| 14| array<uint8_t,20>| unknown bytes|-| 34| array<uint16_t,32>| Start Frame Offsets|-| 98| array<int16_t,32>| Camera World Z|-| 162| array<int16_t,32>| Camera World X|-| 226| array<int16_t,32>| Camera World Y|-| 290| array<uint8_t,32>| Is Frame Durations Shot ~ bool? crashed when 0x0070|-| 322| array<int16_t,32>| Camera Look At Z|-| 386| array<int16_t,32>| Camera Look At X|-| 450| array<int16_t,32>| Camera Look At Y|-| 514| array<uint8_t,32>| Is Frame Ending Shots ~ bool?|-| 546| array<uint8_t,128>| unknown bytes|-| 674| array<uint8_t,128>| unknown bytes|-| 802| array<uint8_t,128>| unknown bytes|-| 930| array<uint8_t,128>| unknown bytes
|-
| ???1058| ???array<uint8_t,34>| ???unknown bytes
|}
Total bytes of struct is '''1092'''. Still much is unknown about this struct. I adjusted things from OpenVIII source code. Though some numbers weren't adding up. I know the total size. So I adjusted one of the unknown bytes arrays to fit in the span.======Time====== Time is calculated from number of frames. You basically set starting position World+lookat and ending position, then mark number of frames to interpolate between them. Every frame is one draw call and it costs 16. Starting time needs to be equal or higher for next animation frame to be read; If next frame==0xFFFF then it's all done.
=====Dependency=====