diff options
-rwxr-xr-x | CHANGELOG.TXT | 8 | ||||
-rwxr-xr-x | VERSION.TXT | 2 | ||||
-rw-r--r-- | global.h | 2 | ||||
-rw-r--r-- | levels.h | 41 | ||||
-rw-r--r-- | main.cpp | 2 | ||||
-rw-r--r-- | towernbullet.h | 10 |
6 files changed, 61 insertions, 4 deletions
diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index f2db720..82d31b5 100755 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,6 +1,6 @@ =================================================================== Next version: -0.9.x-x_PR (b??) +0.9.x-x_PR (r??) Todo's: Complete the game system. Menu rewrite... @@ -8,13 +8,17 @@ Random segmentation fault in "Hyper-threading".(seen only once, can not reproduce now...) Pre-Released versions: -0.9.0-1_PR (b79) +0.9.0-1_PR (b79/r79) Bump version! +BLR will use revision number instead of build number one day... +==changelog here== New assessment level "density test"... New assessment level "pinball"... New assessment level "Road blocks"... New assessment level "Extreme speeds"... New assessment level "Messed up"... +New assessment level "Bonus - Lunatic Lunar!", finishing assessment +mode! Laser extentions, add LineLaser for two-point laser inheriting all Laser interfaces. Modify laser collision parameters. diff --git a/VERSION.TXT b/VERSION.TXT index 92d025c..370c4c3 100755 --- a/VERSION.TXT +++ b/VERSION.TXT @@ -1 +1 @@ -0.9.0-1_PR (b79)
\ No newline at end of file +0.9.0-1_PR (r79)
\ No newline at end of file @@ -289,7 +289,7 @@ fFristStartUp,fFast; int startLvl,startPrt,fFullScreen; char alterLog[64]; //static const char* GLOBAL_H_FN="global.h"; -static const char* BLRVERSION="0.9.0-1_PR (b79)"; +static const char* BLRVERSION="0.9.0-1_PR (r79)"; void Throw(char *Filename,char *Info) { @@ -4124,3 +4124,44 @@ void Levelm2Part24() if(SLL[i].brk>5){SLL[i].brk=0;SLL[i].stp=2;} } } +void Levelm2Part25() +{ + frameleft=Infinity;Dis8ref=true;tbrk=0; + DisableAllTower=false; + if (IfShowTip) + { + IfShowTip=false; + FadeTip=false; + Current_Position=2; + ShowTip("Bonus test - Lunatic Lunar!"); + All2pnt();towcnt=0; + for(int i=0;i<200;++i)if(SLL[i].active)SLL[i].llsrtopnt(10); + return; + } + ++part;tbrk=0;memset(SLL,0,sizeof(SLL)); +} +void Levelm2Part26() +{ + frameleft=Infinity; + tbrk-=hge->Timer_GetDelta(); + if(tbrk<0) + { + tbrk=re.NextDouble(0.05,0.125); + int cnt=re.NextInt(5,15); + for(int i=0;i<cnt;++i) + { + if(re.NextInt(0,2)) + { + CreateBullet2(400+re.NextDouble(-50,50),300+re.NextDouble(-50,50),re.NextDouble(4,7),re.NextDouble(-pi,pi),true); + } + else + { + vector2d pos=vector2d(400+re.NextDouble(-50,50),300+re.NextDouble(-50,50)); + double spd=re.NextDouble(4,7),dir=re.NextDouble(-pi,pi),ran=re.NextDouble(-pi,pi); + for(int i=0;i<6;++i) + CreateBullet2(pos.x+10*sin(ran+i*(pi/3)),pos.y+10*cos(ran+i*(pi/3)),spd,dir,true); + CreateBullet2(pos.x,pos.y,spd,dir,true); + } + } + } +} @@ -547,6 +547,8 @@ void CallLevels() if (level==-2&&part==22)Levelm2Part22(); if (level==-2&&part==23)Levelm2Part23(); if (level==-2&&part==24)Levelm2Part24(); + if (level==-2&&part==25)Levelm2Part25(); + if (level==-2&&part==26)Levelm2Part26(); if (level==1&&part==5)level=2,part=0; if (level==2&&part==10) diff --git a/towernbullet.h b/towernbullet.h index 2cba49c..4b8a4f4 100644 --- a/towernbullet.h +++ b/towernbullet.h @@ -2851,6 +2851,16 @@ public: for(int i=1;i<MaxRes;++i)Setdata(i,b-width*pd,b+width*pd,color); } double GetWidth(){return width;} + void llsrtopnt(double dis) + { + vector2d dir=a-b;dir.ToUnitCircle();dir=dis*dir; + vector2d x=b; + while(x.x<=-25||x.x>=825||x.y<=-25||x.y>=625) + { + CreateBullet255(x.x,x.y,10); + x=x+dir; + } + } //use Laser::Process... }; class SimpLL:public LineLaser |