모종의 음모/force feedback

forza horizon 4 data format

구차니 2024. 11. 20. 23:19

forza horizon 4 켜기 전에 미리 udp 를 수신하게 하고 기다렸는데

데이터포맷 버전등은 없어서 조금 실망(!)

0x144 (324 byte) 가 하나의 데이터 패킷 이려나?

00000000  00 00 00 00 8e 27 4a 1a  00 00 00 00 00 00 00 00  |.....'J.........|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000140  00 00 00 00 00 00 00 00  cc 27 4a 1a 00 00 00 00  |.........'J.....|
00000150  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000280  00 00 00 00 00 00 00 00  00 00 00 00 dc 27 4a 1a  |.............'J.|
00000290  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*

 

*
0005d9e0  f0 32 11 3a fe 1b 11 3a  9b 9c 1d 3a 98 9d 1d 3a  |.2.:...:...:...:|
0005d9f0  13 3d 11 3a 83 1d 11 3a  df 9d 1d 3a d3 9d 1d 3a  |.=.:...:...:...:|
0005da00  00 f6 25 3a 00 02 23 3a  00 1c 30 ba 00 4c 34 ba  |..%:..#:..0..L4.|
0005da10  f8 04 00 00 04 00 00 00  56 03 00 00 02 00 00 00  |........V.......|
0005da20  04 00 00 00 20 00 00 00  00 00 00 00 00 00 00 00  |.... ...........|
0005da30  9a 15 2c c5 d1 f4 ae 43  0a 2d 88 c5 b7 bc 97 39  |..,....C.-.....9|
0005da40  5d 4a 8c 45 8b cc 47 42  52 42 f2 42 52 42 f2 42  |]J.E..GBRB.BRB.B|
0005da50  6e 42 f2 42 6e 42 f2 42  69 66 30 c1 00 00 80 3f  |nB.BnB.Bif0....?|
0005da60  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0005da70  62 99 88 3c 00 00 00 ff  00 00 00 01 7f 00 00 00  |b..<............|
0005da80  01 00 00 00 a2 91 4a 1a  fb cf 04 46 f8 ff 47 44  |......J....F..GD|
0005da90  99 3a 7c 44 18 d6 8b 34  62 cf 83 ba 5b c6 8e 37  |.:|D...4b...[..7|
0005daa0  67 55 96 3a fc c4 1c b9  3d 48 1f b9 b9 01 85 b9  |gU.:....=H......|
0005dab0  ee f2 ad b7 9a b7 4f bb  76 86 df bf 68 23 80 3c  |......O.v...h#.<|
0005dac0  c0 4a 05 b8 6e 99 d6 3e  c6 a1 d6 3e 45 12 d6 3e  |.J..n..>...>E..>|
0005dad0  20 19 d6 3e 7a 0d 2b 36  b4 ec 48 b6 9b 9b cf 36  | ..>z.+6..H....6|
0005dae0  3c 8e 80 36 81 4b 1c b9  2b bd 93 b9 11 80 b4 37  |<..6.K..+......7|
0005daf0  05 98 f3 b8 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0005db00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0005db20  00 00 00 00 92 31 95 3a  d0 c8 94 3a e5 42 a7 3a  |.....1.:...:.B.:|
0005db30  32 47 a7 3a aa 31 95 3a  f2 c8 94 3a 66 43 a7 3a  |2G.:.1.:...:fC.:|
0005db40  63 47 a7 3a 00 d6 23 3a  00 a6 26 3a 00 a6 31 ba  |cG.:..#:..&:..1.|
0005db50  00 60 2f ba f8 04 00 00  04 00 00 00 56 03 00 00  |.`/.........V...|
0005db60  02 00 00 00 04 00 00 00  20 00 00 00 00 00 00 00  |........ .......|
0005db70  00 00 00 00 9a 15 2c c5  d1 f4 ae 43 0a 2d 88 c5  |......,....C.-..|
0005db80  40 e8 98 3a 61 c1 21 46  65 8c c8 42 04 3f f2 42  |@..:a.!Fe..B.?.B|
0005db90  04 3f f2 42 1e 3f f2 42  1e 3f f2 42 69 66 30 c1  |.?.B.?.B.?.Bif0.|
0005dba0  00 00 80 3f 00 00 00 00  00 00 00 00 00 00 00 00  |...?............|
0005dbb0  00 00 00 00 e6 9b 08 3d  00 00 00 ff 00 00 00 01  |.......=........|
0005dbc0  7f 00 00 00 01 00 00 00  b2 91 4a 1a fb cf 04 46  |..........J....F|
0005dbd0  f8 ff 47 44 fb 85 98 44  67 b4 5a 36 a3 f7 e6 bc  |..GD...Dg.Z6....|
0005dbe0  f3 ae e7 39 df 32 25 3b  65 de ea b9 cd bf 66 b9  |...9.2%;e.....f.|
0005dbf0  44 58 6b b9 35 28 63 b8  9a 64 bb bb 7c 86 df bf  |DXk.5(c..d..|...|
0005dc00  09 1b 80 3c 00 aa e5 b8  bf 85 d6 3e 39 b5 d6 3e  |...<.......>9..>|
0005dc10  89 04 d6 3e 08 3e d6 3e  e0 45 89 b7 c3 36 fe b7  |...>.>.>.E...6..|
0005dc20  80 f4 ba 36 5a b5 0a b6  fb 85 e3 b9 d5 72 1e ba  |...6Z........r..|
0005dc30  6a b1 61 b9 b0 2f c4 b9  00 00 00 00 00 00 00 00  |j.a../..........|
0005dc40  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*

 

forza sports 7 포맷은 링크를 참조하고, 타입별로 정리해보니 다르거나 추가된게 있거나.. 인가?

138 * sizeof(int) = 552
1 * sizeof(short) = 2
9 * sizeof(char) = 18

552 + 2 + 18 = 572

 

그게 아니라면 sled 구조만 봐야 하는걸지도?

58 * sizeof(int) = 232.. 머지?!

S32 IsRaceOn;
U32 TimestampMS;
F32 EngineMaxRpm;
F32 EngineIdleRpm;
F32 CurrentEngineRpm;
F32 AccelerationX;
F32 AccelerationY;
F32 AccelerationZ;
F32 VelocityX;
F32 VelocityY;
F32 VelocityZ;
F32 AngularVelocityX;
F32 AngularVelocityY;
F32 AngularVelocityZ;
F32 Yaw;
F32 Pitch;
F32 Roll;
F32 NormalizedSuspensionTravelFrontLeft;
F32 NormalizedSuspensionTravelFrontRight;
F32 NormalizedSuspensionTravelRearLeft;
F32 NormalizedSuspensionTravelRearRight;
F32 TireSlipRatioFrontLeft;
F32 TireSlipRatioFrontRight;
F32 TireSlipRatioRearLeft;
F32 TireSlipRatioRearRight;
F32 WheelRotationSpeedFrontLeft;
F32 WheelRotationSpeedFrontRight;
F32 WheelRotationSpeedRearLeft;
F32 WheelRotationSpeedRearRight;
S32 WheelOnRumbleStripFrontLeft;
S32 WheelOnRumbleStripFrontRight;
S32 WheelOnRumbleStripRearLeft;
S32 heelOnRumbleStripRearRight;
F32 WheelInPuddleDepthFrontLeft;
F32 WheelInPuddleDepthFrontRight;
F32 WheelInPuddleDepthRearLeft;
F32 WheelInPuddleDepthRearRight;
F32 SurfaceRumbleFrontLeft;
F32 SurfaceRumbleFrontRight;
F32 SurfaceRumbleRearLeft;
F32 SurfaceRumbleRearRight;
F32 TireSlipAngleFrontLeft;
F32 TireSlipAngleFrontRight;
F32 TireSlipAngleRearLeft;
F32 TireSlipAngleRearRight;
F32 TireCombinedSlipFrontLeft;
F32 TireCombinedSlipFrontRight;
F32 TireCombinedSlipRearLeft;
F32 TireCombinedSlipRearRight;
F32 SuspensionTravelMetersFrontLeft;
F32 SuspensionTravelMetersFrontRight;
F32 SuspensionTravelMetersRearLeft;
F32 SuspensionTravelMetersRearRight;
S32 CarOrdinal;
S32 CarClass;
S32 CarPerformanceIndex;
S32 DrivetrainType;
S32 NumCylinders;

[링크 : https://support.forzamotorsport.net/hc/en-us/articles/21742934024211-Forza-Motorsport-Data-Out-Documentation]

 

.net 컴파일러가 필요하긴 한데.. 나중에 돌려보고 분석해보는게 빠르려나?

forza horizon 4는 sled와 dash 그리고 문서화 되지 않은 extra 일부만 존재하는 듯.

[링크 : https://github.com/geeooff/forza-data-web/blob/main/README.md]