Subversion Repositories Kolibri OS

Rev

Rev 5253 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5253 mario79 1
;---------------------------------------------------------------------
2
processing_protagonist_action:
3
;;        DEBUGF  1, "processing_protagonist_action\n"
4
	cmp	dl,ROUTE_UP
5
	je	protagonist_route_up
6
 
7
	cmp	dl,ROUTE_DOWN
8
	je	protagonist_route_down
9
 
10
	cmp	dl,ROUTE_LEFT
11
	je	protagonist_route_left
12
 
13
	cmp	dl,ROUTE_RIGHT
14
	je	protagonist_route_right
15
 
16
	ret
17
;---------------------------------------------------------------------
18
protagonist_route_up:
19
;        DEBUGF  1, "protagonist route_up\n"
20
	cmp	ebx,1	; border of map?
21
	je	action_stop
22
 
23
;        DEBUGF  1, "protagonist up @@:\n"
24
	mov	eax,[ecx-LEVEL_MAP_SIZE_X*4]
25
	test	ah,ah
26
	jnz	action_stop
27
 
5319 mario79 28
;	cmp	al,BASE_WATER
29
;	jz	action_stop
5253 mario79 30
 
31
;        DEBUGF  1, "protagonist good route up\n"
32
	dec	[protagonist_position.y]
33
	mov	si,0x0100+ROUTE_UP
34
	mov	edi,ecx
35
	sub	edi,LEVEL_MAP_SIZE_X*4
36
	jmp	save_new_and_clear_old_position
37
;---------------------------------------------------------------------
38
protagonist_route_down:
39
;        DEBUGF  1, "protagonist route_down\n"
40
	cmp	ebx,LEVEL_MAP_SIZE_Y	; border of map?
41
	je	action_stop
42
 
43
;        DEBUGF  1, "protagonist down @@:\n"
44
	mov	eax,[ecx+LEVEL_MAP_SIZE_X*4]
45
	test	ah,ah
46
	jnz	action_stop
47
 
5319 mario79 48
;	cmp	al,BASE_WATER
49
;	jz	action_stop
5253 mario79 50
 
51
;        DEBUGF  1, "protagonist good route down\n"
52
	inc	[protagonist_position.y]
53
	mov	si,0x0100+ROUTE_DOWN
54
	mov	edi,ecx
55
	add	edi,LEVEL_MAP_SIZE_X*4
56
	jmp	save_new_and_clear_old_position
57
;---------------------------------------------------------------------
58
protagonist_route_left:
59
;        DEBUGF  1, "protagonist route_left\n"
60
	cmp	eax,1	; border of map?
61
	je	action_stop
62
 
63
;        DEBUGF  1, "protagonist left @@:\n"
64
	mov	eax,[ecx-4]
65
	test	ah,ah
66
	jnz	action_stop
67
 
5319 mario79 68
;	cmp	al,BASE_WATER
69
;	jz	action_stop
5253 mario79 70
 
71
;        DEBUGF  1, "protagonist good route left\n"
72
	dec	[protagonist_position.x]
73
	mov	si,0x0100+ROUTE_LEFT
74
	mov	edi,ecx
75
	sub	edi,4
76
	jmp	save_new_and_clear_old_position
77
;---------------------------------------------------------------------
78
protagonist_route_right:
79
;        DEBUGF  1, "protagonist route_right\n"
80
	cmp	eax,LEVEL_MAP_SIZE_X	; border of map?
81
	je	action_stop
82
 
83
;        DEBUGF  1, "protagonist righ @@:\n"
84
	mov	eax,[ecx+4]
85
	test	ah,ah
86
	jnz	action_stop
87
 
5319 mario79 88
;	cmp	al,BASE_WATER
89
;	jz	action_stop
5253 mario79 90
 
91
;        DEBUGF  1, "protagonist good route righ\n"
92
	inc	[protagonist_position.x]
93
	mov	si,0x0100+ROUTE_RIGHT
94
	mov	edi,ecx
95
	add	edi,4
96
	jmp	save_new_and_clear_old_position
97
;---------------------------------------------------------------------