Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5253 mario79 1
;---------------------------------------------------------------------
2
processing_white_brick:
3
;;        DEBUGF  1, "processing_white_brick\n"
4
	cmp	dl,ROUTE_UP
5
	je	white_brick_route_up
6
 
7
	cmp	dl,ROUTE_DOWN
8
	je	white_brick_route_down
9
 
10
	cmp	dl,ROUTE_LEFT
11
	je	white_brick_route_left
12
 
13
	cmp	dl,ROUTE_RIGHT
14
	je	white_brick_route_right
15
 
16
	ret
17
;---------------------------------------------------------------------
18
white_brick_route_up:
19
;        DEBUGF  1, "white_brick route_up\n"
20
	cmp	ebx,1	; border of map?
21
	je	action_stop
22
 
23
;        DEBUGF  1, "white_brick up @@:\n"
24
	mov	eax,[ecx-LEVEL_MAP_SIZE_X*4]
25
	cmp	ah,OBJECT_WHITE_BRICK	; new coordinates have white block?
26
	je	action_stop
27
 
28
;        DEBUGF  1, "white_brick good route up\n"
29
	mov	si,0x0100+ROUTE_UP
30
	mov	edi,ecx
31
	sub	edi,LEVEL_MAP_SIZE_X*4
32
	jmp	save_new_and_clear_old_position
33
;---------------------------------------------------------------------
34
white_brick_route_down:
35
;        DEBUGF  1, "white_brick route_down\n"
36
	cmp	ebx,LEVEL_MAP_SIZE_Y	; border of map?
37
	je	action_stop
38
 
39
;        DEBUGF  1, "white_brick down @@:\n"
40
	mov	eax,[ecx+LEVEL_MAP_SIZE_X*4]
41
	cmp	ah,OBJECT_WHITE_BRICK	; new coordinates have white block?
42
	je	action_stop
43
 
44
;        DEBUGF  1, "white_brick good route down\n"
45
	mov	si,0x0100+ROUTE_DOWN
46
	mov	edi,ecx
47
	add	edi,LEVEL_MAP_SIZE_X*4
48
	jmp	save_new_and_clear_old_position
49
;---------------------------------------------------------------------
50
white_brick_route_left:
51
;        DEBUGF  1, "white_brick route_left\n"
52
	cmp	eax,1	; border of map?
53
	je	action_stop
54
 
55
;        DEBUGF  1, "white_brick left @@:\n"
56
	mov	eax,[ecx-4]
57
	cmp	ah,OBJECT_WHITE_BRICK	; new coordinates have white block?
58
	je	action_stop
59
 
60
;        DEBUGF  1, "white_brick good route left\n"
61
	mov	si,0x0100+ROUTE_LEFT
62
	mov	edi,ecx
63
	sub	edi,4
64
	jmp	save_new_and_clear_old_position
65
;---------------------------------------------------------------------
66
white_brick_route_right:
67
;        DEBUGF  1, "white_brick route_right\n"
68
	cmp	eax,LEVEL_MAP_SIZE_X	; border of map?
69
	je	action_stop
70
 
71
;        DEBUGF  1, "white_brick righ @@:\n"
72
	mov	eax,[ecx+4]
73
	cmp	ah,OBJECT_WHITE_BRICK	; new coordinates have white block?
74
	je	action_stop
75
 
76
;        DEBUGF  1, "white_brick good route righ\n"
77
	mov	si,0x0100+ROUTE_RIGHT
78
	mov	edi,ecx
79
	add	edi,4
80
	jmp	save_new_and_clear_old_position
81
;---------------------------------------------------------------------