266 lines
4.4 KiB
HolyC
266 lines
4.4 KiB
HolyC
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
$SP,"<1>",BI=1$
|
|||
|
|
|||
|
#define MAP_HEIGHT 2048
|
|||
|
#define MAP_WIDTH 2048
|
|||
|
|
|||
|
#define TREES_NUM 256
|
|||
|
|
|||
|
I64 tree_x[TREES_NUM],tree_y[TREES_NUM];
|
|||
|
|
|||
|
U0 DrawIt(CTask *task,CDC *dc)
|
|||
|
{
|
|||
|
I64 i,h,v;
|
|||
|
|
|||
|
task->horz_scroll.min=0;
|
|||
|
task->horz_scroll.max=MAP_WIDTH-task->pix_width;
|
|||
|
task->vert_scroll.min=0;
|
|||
|
task->vert_scroll.max=MAP_HEIGHT-task->pix_height;
|
|||
|
TaskDerivedValsUpdate(task);
|
|||
|
|
|||
|
h=task->horz_scroll.pos;
|
|||
|
v=task->vert_scroll.pos;
|
|||
|
|
|||
|
dc->color=BROWN;
|
|||
|
dc->thick=4;
|
|||
|
GrLine3(dc,2-h,2-v,0,MAP_WIDTH-3-h,2-v,0);
|
|||
|
GrLine3(dc,2-h,MAP_HEIGHT-3-v,0,MAP_WIDTH-3-h,MAP_HEIGHT-3-v,0);
|
|||
|
GrLine3(dc,2-h,2-v,0,2-h,MAP_HEIGHT-3-v,0);
|
|||
|
GrLine3(dc,MAP_WIDTH-3-h,2-v,0,MAP_WIDTH-3-h,MAP_HEIGHT-3-v,0);
|
|||
|
|
|||
|
//Check bounds if you wish better performance.
|
|||
|
for (i=0;i<TREES_NUM;i++)
|
|||
|
Sprite3(dc,tree_x[i]-h,tree_y[i]-v,0,$IB,"<Tree>",BI=1$);
|
|||
|
}
|
|||
|
|
|||
|
U0 Init()
|
|||
|
{
|
|||
|
I64 i;
|
|||
|
for (i=0;i<TREES_NUM;i++) {
|
|||
|
tree_x[i]=RandU16%MAP_WIDTH;
|
|||
|
tree_y[i]=RandU16%MAP_HEIGHT;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
U0 ScrollBars()
|
|||
|
{
|
|||
|
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
|||
|
Init;
|
|||
|
Fs->draw_it=&DrawIt;
|
|||
|
WinBorder(ON);
|
|||
|
DocCursor;
|
|||
|
DocClear;
|
|||
|
DocScroll;
|
|||
|
|
|||
|
Fs->horz_scroll.pos=0;
|
|||
|
Fs->vert_scroll.pos=0;
|
|||
|
GetChar(,FALSE);
|
|||
|
SettingsPop;
|
|||
|
//If you care, you might want to
|
|||
|
//save the original state of the
|
|||
|
//scroll bars.
|
|||
|
}
|
|||
|
|
|||
|
ScrollBars;
|
|||
|
|