266 lines
4.4 KiB
HolyC
Executable File
266 lines
4.4 KiB
HolyC
Executable File
|
||
|
||
|
||
|
||
|
||
|
||
$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;
|
||
|