1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
void CD3DApplication::StepSimul(float rTime)
{
Event event;
if ( m_pRobotMain == 0 ) return;
if ( rTime > 0.5f ) rTime = 0.5f; // jamais plus de 0.5s !
ZeroMemory(&event, sizeof(Event));
event.event = EVENT_FRAME;
event.rTime = rTime;
event.axeX = AxeLimit(m_axeKey.x + m_axeJoy.x);
event.axeY = AxeLimit(m_axeKey.y + m_axeJoy.y);
event.axeZ = AxeLimit(m_axeKey.z + m_axeJoy.z);
event.keyState = m_keyState;
//?char s[100];
//?sprintf(s, "StepSimul %.3f\n", event.rTime);
//?OutputDebugString(s);
m_pRobotMain->EventProcess(event);
}
1347: void CD3DApplication::StepSimul(float rTime)
1348: {
0041E950 sub esp,24h
0041E953 push esi
0041E954 mov esi,ecx
1349: Event event;
1350:
1351: if ( m_pRobotMain == 0 ) return;
0041E956 mov eax,dword ptr [esi+0ECh]
0041E95C test eax,eax
0041E95E je CD3DApplication::StepSimul(0x0041ea08)+0B8h
1352:
1353: if ( rTime > 0.5f ) rTime = 0.5f; // jamais plus de 0.5s !
0041E964 fld dword ptr [esp+2Ch]
0041E968 fcomp dword ptr [??_7CControl@@6B@(0x004b9ed4)+94h]
0041E96E push edi
0041E96F fnstsw ax
0041E971 test ah,41h
0041E974 jne CD3DApplication::StepSimul(0x0041e97e)+2Eh
0041E976 mov dword ptr [esp+30h],3F000000h
1354:
1355: ZeroMemory(&event, sizeof(Event));
1356: event.event = EVENT_FRAME;
1357: event.rTime = rTime;
1358: event.axeX = AxeLimit(m_axeKey.x + m_axeJoy.x);
0041E97E fld dword ptr [esi+0F8h]
0041E984 fadd dword ptr [esi+104h]
0041E98A mov eax,dword ptr [esp+30h]
0041E98E mov ecx,9
0041E993 mov dword ptr [esp+28h],eax
0041E997 push ecx
0041E998 xor eax,eax
0041E99A lea edi,dword ptr [esp+0Ch]
0041E99E fstp dword ptr [esp]
0041E9A1 rep stos dword ptr es:[edi]
0041E9A3 mov dword ptr [esp+0Ch],2
0041E9AB call AxeLimit(0x0041cae0)
1359: event.axeY = AxeLimit(m_axeKey.y + m_axeJoy.y);
0041E9B0 fld dword ptr [esi+0FCh]
0041E9B6 fadd dword ptr [esi+108h]
0041E9BC fxch st(1)
0041E9BE fstp dword ptr [esp+1Ch]
0041E9C2 fstp dword ptr [esp]
0041E9C5 call AxeLimit(0x0041cae0)
1360: event.axeZ = AxeLimit(m_axeKey.z + m_axeJoy.z);
0041E9CA fld dword ptr [esi+100h]
0041E9D0 fadd dword ptr [esi+10Ch]
0041E9D6 fxch st(1)
0041E9D8 fstp dword ptr [esp+20h]
0041E9DC fstp dword ptr [esp]
0041E9DF call AxeLimit(0x0041cae0)
1361: event.keyState = m_keyState;
1362:
1363: //?char s[100];
1364: //?sprintf(s, "StepSimul %.3f\n", event.rTime);
1365: //?OutputDebugString(s);
1366: m_pRobotMain->EventProcess(event);
0041E9E4 mov dx,word ptr [esi+0F4h]
0041E9EB mov ecx,dword ptr [esi+0ECh]
0041E9F1 fstp dword ptr [esp+24h]
0041E9F5 add esp,4
0041E9F8 lea eax,dword ptr [esp+8]
0041E9FC mov word ptr [esp+24h],dx
0041EA01 push eax
0041EA02 call CRobotMain::EventProcess(0x0047fba0)
0041EA07 pop edi
1367: }
0041EA08 pop esi
0041EA09 add esp,24h
0041EA0C ret 4
|