Rev 6342 | Rev 6357 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6342 | IgorA | 1 | |
2 | mem_panel_b equ 50*(20*20*3) ;размер памяти для панели инструментов |
||
3 | mem_flood_f equ 500000 ;размер буфера для заливки, а также для палитры |
||
4 | |||
5 | |||
255 | heavyiron | 6 | ;--------change size of memory which use program----------- |
7 | ;---------------------------------------------------------- |
||
8 | GetMemory: |
||
9 | pusha |
||
1643 | mario79 | 10 | mov ecx,[Picture_SizeX] |
1632 | mario79 | 11 | mov edx,[Picture_SizeY] |
12 | imul ecx,edx |
||
13 | lea ecx,[ecx+ecx*2] |
||
14 | lea ecx,[ecx+ecx*4] ;(Picture_SizeX*Picture_SizeY*3)*5 |
||
6342 | IgorA | 15 | add ecx,mem_screen+mem_panel_b+mem_flood_f |
16 | mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer] |
||
17 | test eax,eax |
||
18 | jnz have_new_memory |
||
1632 | mario79 | 19 | mov esi,sound_havent_memory |
20 | call sound |
||
21 | popa |
||
1643 | mario79 | 22 | add esp,4 |
23 | jmp still |
||
1632 | mario79 | 24 | |
255 | heavyiron | 25 | |
1632 | mario79 | 26 | mov [ScreenPointer],eax |
27 | call prepare_data_pointers |
||
28 | popa |
||
1643 | mario79 | 29 | ret |
1632 | mario79 | 30 | ;--------------------------------------------------------- |
31 | prepare_data_pointers: |
||
32 | mov eax,[Picture_SizeX] |
||
33 | mov ebx,[Picture_SizeY] |
||
34 | imul eax,ebx |
||
35 | lea eax,[eax+eax*2] |
||
36 | mov ebx,[ScreenPointer] |
||
37 | add ebx,mem_screen+mem_panel_b+mem_flood_f |
||
6342 | IgorA | 38 | |
255 | heavyiron | 39 | |
1632 | mario79 | 40 | mov [PointerToCopyPicture],ebx |
41 | mov [PointerToCopyPicture2],ebx |
||
42 | mov [PointerToEditBufer],ebx |
||
43 | mov [PointerToSpriteBufer],ebx |
||
44 | |||
255 | heavyiron | 45 | |
1632 | mario79 | 46 | |
255 | heavyiron | 47 | |
1632 | mario79 | 48 | add [PointerToCopyPicture2],eax |
49 | |||
50 | |||
51 | add [PointerToEditBufer],eax |
||
52 | add [PointerToEditBufer],eax |
||
53 | |||
54 | |||
6327 | IgorA | 55 | add [PointerToSpriteBufer],eax |
1632 | mario79 | 56 | |
1643 | mario79 | 57 | |
58 | add eax,mem_screen+mem_panel_b |
||
6342 | IgorA | 59 | mov [PointerToPalette],eax |
1643 | mario79 | 60 | mov [ReserveArray],eax |
61 | |||
6352 | IgorA | 62 | |
63 | and [PosX],0 |
||
64 | and [PosY],0 |
||
65 | mov [Scroll1CoordinatX],9 ;8+1 |
||
66 | mov [Scroll2CoordinatY],89 ;20+15+1+50+3 |
||
67 | ret |
||
1632 | mario79 | 68 | ;--------------------------------------------------------- |
69 |