Subversion Repositories Kolibri OS

Rev

Rev 5380 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5380 Rev 6523
Line 14... Line 14...
14
endl
14
endl
15
	mov eax,[context]
15
	mov eax,[context]
16
	mov ebx,[param]
16
	mov ebx,[param]
17
	mov ebx,[ebx+4] ;ebx = p[1]
17
	mov ebx,[ebx+4] ;ebx = p[1]
Line 18... Line 18...
18
  
18
  
19
	bt dword[eax+offs_cont_client_states],1 ;2^1=COLOR_ARRAY
19
	bt dword[eax+GLContext.client_states],1 ;2^1=COLOR_ARRAY
20
	jnc @f
20
	jnc @f
21
		mov ecx,[eax+offs_cont_color_array_size]
21
		mov ecx,[eax+GLContext.color_array_size]
22
		add ecx,[eax+offs_cont_color_array_stride]
22
		add ecx,[eax+GLContext.color_array_stride]
23
		imul ecx,ebx
23
		imul ecx,ebx
24
		shl ecx,2
24
		shl ecx,2
25
		add ecx,[eax+offs_cont_color_array] ;ecx = &context.color_array[i]
25
		add ecx,[eax+GLContext.color_array] ;ecx = &context.color_array[i]
26
		mov ebx,ebp
26
		mov ebx,ebp
27
		sub ebx,20 ;=sizeof(dd)*5
27
		sub ebx,20 ;=sizeof(dd)*5
28
		mov edx,[ecx]
28
		mov edx,[ecx]
29
		mov [ebx+4],edx
29
		mov [ebx+4],edx
30
		mov edx,[ecx+4]
30
		mov edx,[ecx+4]
31
		mov [ebx+8],edx
31
		mov [ebx+8],edx
32
		mov edx,[ecx+8]
32
		mov edx,[ecx+8]
33
		mov [ebx+12],edx
33
		mov [ebx+12],edx
34
		cmp dword[eax+offs_cont_color_array_size],3
34
		cmp dword[eax+GLContext.color_array_size],3
35
		jg .l0
35
		jg .l0
36
			mov edx,1.0
36
			mov edx,1.0
37
			jmp .l1
37
			jmp .l1
38
		.l0:
38
		.l0:
39
			mov edx,[ecx+12]
39
			mov edx,[ecx+12]
40
		.l1:
40
		.l1:
41
		mov [ebx+16],edx
41
		mov [ebx+16],edx
42
		stdcall glopColor, eax,ebx
42
		stdcall glopColor, eax,ebx
43
	@@:
43
	@@:
44
	bt dword[eax+offs_cont_client_states],2 ;2^2=NORMAL_ARRAY
44
	bt dword[eax+GLContext.client_states],2 ;2^2=NORMAL_ARRAY
45
	jnc @f
45
	jnc @f
46
		mov esi,dword[eax+offs_cont_normal_array_stride]
46
		mov esi,dword[eax+GLContext.normal_array_stride]
47
		add esi,3
47
		add esi,3
48
		imul esi,ebx
48
		imul esi,ebx
49
		shl esi,2
49
		shl esi,2
50
		add esi,[eax+offs_cont_normal_array] ;esi = &normal_array[ebx * (3 + c->normal_array_stride)]
50
		add esi,[eax+GLContext.normal_array] ;esi = &normal_array[ebx * (3 + c->normal_array_stride)]
51
		mov edi,eax
51
		mov edi,eax
52
		add edi,offs_cont_current_normal
52
		add edi,GLContext.current_normal
53
		mov ecx,3
53
		mov ecx,3
54
		rep movsd
54
		rep movsd
55
		mov dword[edi],0.0
55
		mov dword[edi],0.0
56
	@@:
56
	@@:
57
	bt dword[eax+offs_cont_client_states],3 ;2^3=TEXCOORD_ARRAY
57
	bt dword[eax+GLContext.client_states],3 ;2^3=TEXCOORD_ARRAY
58
	jnc @f
58
	jnc @f
59
		mov ecx,[eax+offs_cont_texcoord_array_size]
59
		mov ecx,[eax+GLContext.texcoord_array_size]
60
		add ecx,[eax+offs_cont_texcoord_array_stride]
60
		add ecx,[eax+GLContext.texcoord_array_stride]
61
		imul ecx,ebx
61
		imul ecx,ebx
62
		shl ecx,2
62
		shl ecx,2
63
		add ecx,[eax+offs_cont_texcoord_array] ;ecx = &context.texcoord_array[i]
63
		add ecx,[eax+GLContext.texcoord_array] ;ecx = &context.texcoord_array[i]
64
		mov edx,[ecx]
64
		mov edx,[ecx]
65
		mov [eax+offs_cont_current_tex_coord],edx
65
		mov [eax+GLContext.current_tex_coord],edx
66
		mov edx,[ecx+4]
66
		mov edx,[ecx+4]
Line 67... Line 67...
67
		mov [eax+offs_cont_current_tex_coord+4],edx
67
		mov [eax+GLContext.current_tex_coord+4],edx
68
 
68
 
69
		cmp dword[eax+offs_cont_texcoord_array_size],2
69
		cmp dword[eax+GLContext.texcoord_array_size],2
70
		jg .l2
70
		jg .l2
71
			mov edx,0.0
71
			mov edx,0.0
72
			jmp .l3
72
			jmp .l3
73
		.l2:
73
		.l2:
74
			mov edx,[ecx+8]
74
			mov edx,[ecx+8]
Line 75... Line 75...
75
		.l3:
75
		.l3:
76
		mov [eax+offs_cont_current_tex_coord+8],edx
76
		mov [eax+GLContext.current_tex_coord+8],edx
77
 
77
 
78
		cmp dword[eax+offs_cont_texcoord_array_size],3
78
		cmp dword[eax+GLContext.texcoord_array_size],3
79
		jg .l4
79
		jg .l4
80
			mov edx,1.0
80
			mov edx,1.0
81
			jmp .l5
81
			jmp .l5
Line 82... Line 82...
82
		.l4:
82
		.l4:
83
			mov edx,[ecx+12]
83
			mov edx,[ecx+12]
84
		.l5:
84
		.l5:
85
 
85
 
86
		mov [eax+offs_cont_current_tex_coord+12],edx
86
		mov [eax+GLContext.current_tex_coord+12],edx
87
	@@:
87
	@@:
88
	bt dword[eax+offs_cont_client_states],0 ;2^0=VERTEX_ARRAY
88
	bt dword[eax+GLContext.client_states],0 ;2^0=VERTEX_ARRAY
89
	jnc @f
89
	jnc @f
90
		mov ecx,[eax+offs_cont_vertex_array_size]
90
		mov ecx,[eax+GLContext.vertex_array_size]
91
		add ecx,[eax+offs_cont_vertex_array_stride]
91
		add ecx,[eax+GLContext.vertex_array_stride]
92
		imul ecx,ebx
92
		imul ecx,ebx
93
		shl ecx,2
93
		shl ecx,2
94
		add ecx,[eax+offs_cont_vertex_array] ;ecx = &context.vertex_array[i]
94
		add ecx,[eax+GLContext.vertex_array] ;ecx = &context.vertex_array[i]
95
		mov ebx,ebp
95
		mov ebx,ebp
96
		sub ebx,20 ;=sizeof(dd)*5
96
		sub ebx,20 ;=sizeof(dd)*5
Line 97... Line 97...
97
		mov edx,[ecx]
97
		mov edx,[ecx]
98
		mov [ebx+4],edx
98
		mov [ebx+4],edx
99
		mov edx,[ecx+4]
99
		mov edx,[ecx+4]
100
		mov [ebx+8],edx
100
		mov [ebx+8],edx
101
 
101
 
102
		cmp dword[eax+offs_cont_vertex_array_size],2
102
		cmp dword[eax+GLContext.vertex_array_size],2
103
		jg .l6
103
		jg .l6
104
			mov edx,0.0
104
			mov edx,0.0
105
			jmp .l7
105
			jmp .l7
106
		.l6:
106
		.l6:
107
			mov edx,[ecx+8]
107
			mov edx,[ecx+8]
108
		.l7:
108
		.l7:
109
		mov [ebx+12],edx
109
		mov [ebx+12],edx
110
		cmp dword[eax+offs_cont_vertex_array_size],3
110
		cmp dword[eax+GLContext.vertex_array_size],3
Line 147... Line 147...
147
endl
147
endl
148
pushad
148
pushad
149
	mov edx,[context]
149
	mov edx,[context]
150
	mov ebx,[param]
150
	mov ebx,[param]
151
	mov ecx,[ebx+12] ;count = param[3].i
151
	mov ecx,[ebx+12] ;count = param[3].i
152
	mov eax,[edx+offs_cont_client_states]
152
	mov eax,[edx+GLContext.client_states]
153
	mov [states],eax
153
	mov [states],eax
154
	mov eax,[ebx+8]
154
	mov eax,[ebx+8]
155
	mov [idx],eax ;param[2].i
155
	mov [idx],eax ;param[2].i
156
	mov eax,[ebx+4]
156
	mov eax,[ebx+4]
157
	mov [p+4],eax ;p[1].i = param[1].i
157
	mov [p+4],eax ;p[1].i = param[1].i
Line 164... Line 164...
164
	.cycle_0: ;for (int vi=0; vi
164
	.cycle_0: ;for (int vi=0; vi
165
	cmp dword[vi],ecx
165
	cmp dword[vi],ecx
166
	jge .cycle_0_end
166
	jge .cycle_0_end
167
		bt dword[states],1 ;2^1=COLOR_ARRAY
167
		bt dword[states],1 ;2^1=COLOR_ARRAY
168
		jnc @f
168
		jnc @f
169
			mov esi,[edx+offs_cont_color_array_size]
169
			mov esi,[edx+GLContext.color_array_size]
170
			mov [size],esi
170
			mov [size],esi
171
			add esi,[edx+offs_cont_color_array_stride]
171
			add esi,[edx+GLContext.color_array_stride]
172
			imul esi,[idx] ;esi = i
172
			imul esi,[idx] ;esi = i
173
			shl esi,2
173
			shl esi,2
174
			add esi,[edx+offs_cont_color_array] ;esi = &context.color_array[i]
174
			add esi,[edx+GLContext.color_array] ;esi = &context.color_array[i]
175
			mov edi,ebp
175
			mov edi,ebp
176
			sub edi,28 ;edi = &p[1]
176
			sub edi,28 ;edi = &p[1]
177
			mov ebx,[esi+8]
177
			mov ebx,[esi+8]
178
			mov [edi],ebx   ;p[1].f = context.color_array[i+2]
178
			mov [edi],ebx   ;p[1].f = context.color_array[i+2]
179
			mov ebx,[esi+4]
179
			mov ebx,[esi+4]
Line 201... Line 201...
201
			stdcall RGBFtoRGBI,[edi+12],[edi+8],[edi+4] ;call: r,g,b,&p[7],&p[6],&p[5]
201
			stdcall RGBFtoRGBI,[edi+12],[edi+8],[edi+4] ;call: r,g,b,&p[7],&p[6],&p[5]
202
			stdcall glopColor, edx,edi ;(context, p(op,rf,gf,bf,af,ri,gi,bi))
202
			stdcall glopColor, edx,edi ;(context, p(op,rf,gf,bf,af,ri,gi,bi))
203
		@@:
203
		@@:
204
		bt dword[states],2 ;2^2=NORMAL_ARRAY
204
		bt dword[states],2 ;2^2=NORMAL_ARRAY
205
		jnc @f
205
		jnc @f
206
			mov esi,[edx+offs_cont_normal_array_stride]
206
			mov esi,[edx+GLContext.normal_array_stride]
207
			add esi,3
207
			add esi,3
208
			imul esi,[idx]
208
			imul esi,[idx]
209
			shl esi,2
209
			shl esi,2
210
			add esi,[edx+offs_cont_normal_array] ;esi = &context.normal_array[ idx * (3 + context.normal_array_stride) ]
210
			add esi,[edx+GLContext.normal_array] ;esi = &context.normal_array[ idx * (3 + context.normal_array_stride) ]
211
			mov edi,edx
211
			mov edi,edx
212
			add edi,offs_cont_current_normal
212
			add edi,GLContext.current_normal
213
			movsd ;context.current_normal.X = context.normal_array[i]
213
			movsd ;context.current_normal.X = context.normal_array[i]
214
			movsd
214
			movsd
215
			movsd
215
			movsd
216
			mov dword[edi],0.0 ;context.current_normal.W = 0.0f
216
			mov dword[edi],0.0 ;context.current_normal.W = 0.0f
217
		@@:
217
		@@:
218
		bt dword[states],3 ;2^3=TEXCOORD_ARRAY
218
		bt dword[states],3 ;2^3=TEXCOORD_ARRAY
219
		jnc @f
219
		jnc @f
220
			mov esi,[edx+offs_cont_texcoord_array_size]
220
			mov esi,[edx+GLContext.texcoord_array_size]
221
			mov [size],esi
221
			mov [size],esi
222
			add esi,[edx+offs_cont_texcoord_array_stride]
222
			add esi,[edx+GLContext.texcoord_array_stride]
223
			imul esi,[idx] ;esi = i
223
			imul esi,[idx] ;esi = i
224
			shl esi,2
224
			shl esi,2
225
			add esi,[edx+offs_cont_texcoord_array] ;esi = &context.texcoord_array[i]
225
			add esi,[edx+GLContext.texcoord_array] ;esi = &context.texcoord_array[i]
226
			mov edi,edx
226
			mov edi,edx
227
			add edi,offs_cont_current_tex_coord
227
			add edi,GLContext.current_tex_coord
228
			movsd ;context.current_tex_coord.X = ccontext.texcoord_array[i]
228
			movsd ;context.current_tex_coord.X = ccontext.texcoord_array[i]
229
			movsd
229
			movsd
230
			cmp dword[size],2
230
			cmp dword[size],2
231
			jle .e3
231
			jle .e3
232
				movsd
232
				movsd
Line 242... Line 242...
242
			.e5:
242
			.e5:
243
				mov dword[edi],1.0 ;если задано 3 параметра, то 4-й ставим по умолчанию 1.0
243
				mov dword[edi],1.0 ;если задано 3 параметра, то 4-й ставим по умолчанию 1.0
244
		@@:
244
		@@:
245
		bt dword[states],0 ;2^0=VERTEX_ARRAY
245
		bt dword[states],0 ;2^0=VERTEX_ARRAY
246
		jnc @f
246
		jnc @f
247
			mov esi,[edx+offs_cont_vertex_array_size]
247
			mov esi,[edx+GLContext.vertex_array_size]
248
			mov [size],esi
248
			mov [size],esi
249
			add esi,[edx+offs_cont_vertex_array_stride]
249
			add esi,[edx+GLContext.vertex_array_stride]
250
			imul esi,[idx] ;esi = i
250
			imul esi,[idx] ;esi = i
251
			shl esi,2
251
			shl esi,2
252
			add esi,[edx+offs_cont_vertex_array] ;esi = &context.vertex_array[i]
252
			add esi,[edx+GLContext.vertex_array] ;esi = &context.vertex_array[i]
253
			mov edi,ebp
253
			mov edi,ebp
254
			sub edi,28 ;edi = &p[1]
254
			sub edi,28 ;edi = &p[1]
255
			movsd ;p[1].f = context.vertex_array[i]
255
			movsd ;p[1].f = context.vertex_array[i]
256
			movsd
256
			movsd
257
			cmp dword[size],2
257
			cmp dword[size],2
Line 317... Line 317...
317
	p rd 8
317
	p rd 8
318
endl
318
endl
319
pushad
319
pushad
320
	mov edx,[context]
320
	mov edx,[context]
321
	mov ebx,[param]
321
	mov ebx,[param]
322
	mov eax,[edx+offs_cont_client_states]
322
	mov eax,[edx+GLContext.client_states]
323
	mov [states],eax
323
	mov [states],eax
324
	mov eax,[ebx+4]
324
	mov eax,[ebx+4]
325
	mov [p+4],eax ;p[1].i = param[1].i
325
	mov [p+4],eax ;p[1].i = param[1].i
326
	mov ecx,[ebx+8] ;count = param[2].i
326
	mov ecx,[ebx+8] ;count = param[2].i
327
	mov eax,[ebx+12]
327
	mov eax,[ebx+12]
Line 351... Line 351...
351
		.end_0:
351
		.end_0:
352
		mov [idx],esi
352
		mov [idx],esi
Line 353... Line 353...
353
 
353
 
354
		bt dword[states],1 ;2^1=COLOR_ARRAY
354
		bt dword[states],1 ;2^1=COLOR_ARRAY
355
		jnc @f
355
		jnc @f
356
			mov esi,[edx+offs_cont_color_array_size]
356
			mov esi,[edx+GLContext.color_array_size]
357
			mov [size],esi
357
			mov [size],esi
358
			add esi,[edx+offs_cont_color_array_stride]
358
			add esi,[edx+GLContext.color_array_stride]
359
			imul esi,[idx] ;esi = i
359
			imul esi,[idx] ;esi = i
360
			shl esi,2
360
			shl esi,2
361
			add esi,[edx+offs_cont_color_array] ;esi = &context.color_array[i]
361
			add esi,[edx+GLContext.color_array] ;esi = &context.color_array[i]
362
			mov edi,ebp
362
			mov edi,ebp
363
			sub edi,28 ;edi = &p[1]
363
			sub edi,28 ;edi = &p[1]
364
			mov ebx,[esi+8]
364
			mov ebx,[esi+8]
365
			mov [edi],ebx   ;p[1].f = context.color_array[i+2]
365
			mov [edi],ebx   ;p[1].f = context.color_array[i+2]
Line 388... Line 388...
388
			stdcall RGBFtoRGBI,[edi+12],[edi+8],[edi+4] ;call: r,g,b,&p[7],&p[6],&p[5]
388
			stdcall RGBFtoRGBI,[edi+12],[edi+8],[edi+4] ;call: r,g,b,&p[7],&p[6],&p[5]
389
			stdcall glopColor, edx,edi ;(context, p(op,rf,gf,bf,af,ri,gi,bi)) 
389
			stdcall glopColor, edx,edi ;(context, p(op,rf,gf,bf,af,ri,gi,bi)) 
390
		@@:
390
		@@:
391
		bt dword[states],2 ;2^2=NORMAL_ARRAY
391
		bt dword[states],2 ;2^2=NORMAL_ARRAY
392
		jnc @f
392
		jnc @f
393
			mov esi,[edx+offs_cont_normal_array_stride]
393
			mov esi,[edx+GLContext.normal_array_stride]
394
			add esi,3
394
			add esi,3
395
			imul esi,[idx] ;esi = idx * (3 + context.normal_array_stride)
395
			imul esi,[idx] ;esi = idx * (3 + context.normal_array_stride)
396
			shl esi,2
396
			shl esi,2
397
			add esi,[edx+offs_cont_normal_array]
397
			add esi,[edx+GLContext.normal_array]
398
			mov edi,edx
398
			mov edi,edx
399
			add edi,offs_cont_current_normal
399
			add edi,GLContext.current_normal
400
			movsd ;context.current_normal.X = context.normal_array[i]
400
			movsd ;context.current_normal.X = context.normal_array[i]
401
			movsd
401
			movsd
402
			movsd
402
			movsd
403
			mov dword[edi],0.0 ;context.current_normal.W = 0.0f
403
			mov dword[edi],0.0 ;context.current_normal.W = 0.0f
404
		@@:
404
		@@:
405
		bt dword[states],3 ;2^3=TEXCOORD_ARRAY
405
		bt dword[states],3 ;2^3=TEXCOORD_ARRAY
406
		jnc @f
406
		jnc @f
407
			mov esi,[edx+offs_cont_texcoord_array_size]
407
			mov esi,[edx+GLContext.texcoord_array_size]
408
			mov [size],esi
408
			mov [size],esi
409
			add esi,[edx+offs_cont_texcoord_array_stride]
409
			add esi,[edx+GLContext.texcoord_array_stride]
410
			imul esi,[idx] ;esi = i
410
			imul esi,[idx] ;esi = i
411
			shl esi,2
411
			shl esi,2
412
			add esi,[edx+offs_cont_texcoord_array] ;esi = &context.texcoord_array[i]
412
			add esi,[edx+GLContext.texcoord_array] ;esi = &context.texcoord_array[i]
413
			mov edi,edx
413
			mov edi,edx
414
			add edi,offs_cont_current_tex_coord
414
			add edi,GLContext.current_tex_coord
415
			movsd ;context.current_tex_coord.X = ccontext.texcoord_array[i]
415
			movsd ;context.current_tex_coord.X = ccontext.texcoord_array[i]
416
			movsd
416
			movsd
417
			cmp dword[size],2
417
			cmp dword[size],2
418
			jle .e3
418
			jle .e3
419
				movsd
419
				movsd
Line 429... Line 429...
429
			.e5:
429
			.e5:
430
				mov dword[edi],1.0 ;если задано 3 параметра, то 4-й ставим по умолчанию 1.0
430
				mov dword[edi],1.0 ;если задано 3 параметра, то 4-й ставим по умолчанию 1.0
431
		@@:
431
		@@:
432
		bt dword[states],0 ;2^0=VERTEX_ARRAY
432
		bt dword[states],0 ;2^0=VERTEX_ARRAY
433
		jnc @f
433
		jnc @f
434
			mov esi,[edx+offs_cont_vertex_array_size]
434
			mov esi,[edx+GLContext.vertex_array_size]
435
			mov [size],esi
435
			mov [size],esi
436
			add esi,[edx+offs_cont_vertex_array_stride]
436
			add esi,[edx+GLContext.vertex_array_stride]
437
			imul esi,[idx] ;esi = i
437
			imul esi,[idx] ;esi = i
438
			shl esi,2
438
			shl esi,2
439
			add esi,[edx+offs_cont_vertex_array] ;esi = &context.vertex_array[i]
439
			add esi,[edx+GLContext.vertex_array] ;esi = &context.vertex_array[i]
440
			mov edi,ebp
440
			mov edi,ebp
441
			sub edi,28 ;edi = &p[1]
441
			sub edi,28 ;edi = &p[1]
442
			movsd ;p[1].f = context.vertex_array[i]
442
			movsd ;p[1].f = context.vertex_array[i]
443
			movsd
443
			movsd
444
			cmp dword[size],2
444
			cmp dword[size],2
Line 497... Line 497...
497
align 4
497
align 4
498
proc glopEnableClientState uses eax ebx, context:dword, p:dword
498
proc glopEnableClientState uses eax ebx, context:dword, p:dword
499
	mov eax,[context]
499
	mov eax,[context]
500
	mov ebx,[p]
500
	mov ebx,[p]
501
	mov ebx,[ebx+4] ;ebx = p[1]
501
	mov ebx,[ebx+4] ;ebx = p[1]
502
	or dword[eax+offs_cont_client_states],ebx
502
	or dword[eax+GLContext.client_states],ebx
503
	ret
503
	ret
504
endp
504
endp
Line 505... Line 505...
505
 
505
 
506
align 4
506
align 4
Line 542... Line 542...
542
align 4
542
align 4
543
proc glopDisableClientState uses eax ebx, context:dword, p:dword
543
proc glopDisableClientState uses eax ebx, context:dword, p:dword
544
	mov eax,[context]
544
	mov eax,[context]
545
	mov ebx,[p]
545
	mov ebx,[p]
546
	mov ebx,[ebx+4] ;ebx = p[1]
546
	mov ebx,[ebx+4] ;ebx = p[1]
547
	and dword[eax+offs_cont_client_states],ebx
547
	and dword[eax+GLContext.client_states],ebx
548
	ret
548
	ret
549
endp
549
endp
Line 550... Line 550...
550
 
550
 
551
align 4
551
align 4
Line 587... Line 587...
587
align 4
587
align 4
588
proc glopVertexPointer uses eax ebx ecx, context:dword, p:dword
588
proc glopVertexPointer uses eax ebx ecx, context:dword, p:dword
589
	mov eax,[context]
589
	mov eax,[context]
590
	mov ebx,[p]
590
	mov ebx,[p]
591
	mov ecx,[ebx+4] ;ecx = p[1]
591
	mov ecx,[ebx+4] ;ecx = p[1]
592
	mov dword[eax+offs_cont_vertex_array_size],ecx
592
	mov dword[eax+GLContext.vertex_array_size],ecx
593
	mov ecx,[ebx+8] ;ecx = p[2]
593
	mov ecx,[ebx+8] ;ecx = p[2]
594
	mov dword[eax+offs_cont_vertex_array_stride],ecx
594
	mov dword[eax+GLContext.vertex_array_stride],ecx
595
	mov ecx,[ebx+12] ;ecx = p[3]
595
	mov ecx,[ebx+12] ;ecx = p[3]
596
	mov dword[eax+offs_cont_vertex_array],ecx
596
	mov dword[eax+GLContext.vertex_array],ecx
597
	ret
597
	ret
598
endp
598
endp
Line 599... Line 599...
599
 
599
 
600
align 4
600
align 4
Line 621... Line 621...
621
align 4
621
align 4
622
proc glopColorPointer uses eax ebx ecx, context:dword, p:dword
622
proc glopColorPointer uses eax ebx ecx, context:dword, p:dword
623
	mov eax,[context]
623
	mov eax,[context]
624
	mov ebx,[p]
624
	mov ebx,[p]
625
	mov ecx,[ebx+4] ;ecx = p[1]
625
	mov ecx,[ebx+4] ;ecx = p[1]
626
	mov dword[eax+offs_cont_color_array_size],ecx
626
	mov dword[eax+GLContext.color_array_size],ecx
627
	mov ecx,[ebx+8] ;ecx = p[2]
627
	mov ecx,[ebx+8] ;ecx = p[2]
628
	mov dword[eax+offs_cont_color_array_stride],ecx
628
	mov dword[eax+GLContext.color_array_stride],ecx
629
	mov ecx,[ebx+12] ;ecx = p[3]
629
	mov ecx,[ebx+12] ;ecx = p[3]
630
	mov dword[eax+offs_cont_color_array],ecx
630
	mov dword[eax+GLContext.color_array],ecx
631
	ret
631
	ret
632
endp
632
endp
Line 633... Line 633...
633
 
633
 
634
align 4
634
align 4
Line 655... Line 655...
655
align 4
655
align 4
656
proc glopNormalPointer uses eax ebx ecx, context:dword, p:dword
656
proc glopNormalPointer uses eax ebx ecx, context:dword, p:dword
657
	mov eax,[context]
657
	mov eax,[context]
658
	mov ebx,[p]
658
	mov ebx,[p]
659
	mov ecx,[ebx+4] ;ecx = p[1]
659
	mov ecx,[ebx+4] ;ecx = p[1]
660
	mov dword[eax+offs_cont_normal_array_stride],ecx
660
	mov dword[eax+GLContext.normal_array_stride],ecx
661
	mov ecx,[ebx+8] ;ecx = p[2]
661
	mov ecx,[ebx+8] ;ecx = p[2]
662
	mov dword[eax+offs_cont_normal_array],ecx
662
	mov dword[eax+GLContext.normal_array],ecx
663
	ret
663
	ret
664
endp
664
endp
Line 665... Line 665...
665
 
665
 
666
align 4
666
align 4
Line 685... Line 685...
685
align 4
685
align 4
686
proc glopTexCoordPointer uses eax ebx ecx, context:dword, p:dword
686
proc glopTexCoordPointer uses eax ebx ecx, context:dword, p:dword
687
	mov eax,[context]
687
	mov eax,[context]
688
	mov ebx,[p]
688
	mov ebx,[p]
689
	mov ecx,[ebx+4] ;ecx = p[1]
689
	mov ecx,[ebx+4] ;ecx = p[1]
690
	mov dword[eax+offs_cont_texcoord_array_size],ecx
690
	mov dword[eax+GLContext.texcoord_array_size],ecx
691
	mov ecx,[ebx+8] ;ecx = p[2]
691
	mov ecx,[ebx+8] ;ecx = p[2]
692
	mov dword[eax+offs_cont_texcoord_array_stride],ecx
692
	mov dword[eax+GLContext.texcoord_array_stride],ecx
693
	mov ecx,[ebx+12] ;ecx = p[3]
693
	mov ecx,[ebx+12] ;ecx = p[3]
694
	mov dword[eax+offs_cont_texcoord_array],ecx
694
	mov dword[eax+GLContext.texcoord_array],ecx
695
	ret
695
	ret
696
endp
696
endp
Line 697... Line 697...
697
 
697
 
698
align 4
698
align 4