summaryrefslogtreecommitdiffstats
path: root/src/old/bug.txt
blob: b598ad0533ec8471ae130c686ea71b3ce23454c9 (plain)
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