===================================================================
Next version:
The final release is just there!!
Todo's:
*Adjust difficulty!*//almost done?
*Add multpo's.*//almost done?
*Distribute CLRs.*//almost done?
Bug fixes.
Tests.*//done?...
Wishlist?

Known bugs:
Blue bullets appearing in Vortex of leaves.//don't know why...

Wishlist:
~~Now Playing(Music Room)~~
~~BLR script virtual machine~~(long long-term! probably the core
of next BLR.)

Pre-Released versions:
0.9.9-0 (r99)
Rev. 99! WTF?
THIS IS THE FINAL RELEASE CANDIDATE!!!
Everything is frozen, that means no more new features will be
added and no big changes will be made after this revision. Only
bug fixes will be provided.
//Again, "frozen" is a term borrowed from the Debian project and
//is completely unrelated to Cirno!

Tweak bullet9, shrink its removal border.
Change Multpo texture, add spawning effect.
Fix stubbed rankings.
Update sprite sheet.
Store assessment total elapsed time in the score file. Score
files from older revisions shouldn't cause any errors but you may
get "Time elapsed 0.00" in highscore details. If you've got any
sort of OCD (Obsessive-compulsive disorder), just remove it.
Document!!!

0.9.8-0 (r98)
Dear Pre-Release Candidate version(RC-0).

CLR will collect multiplier +1's in range now.
Multiplier +1's caught by player won't disappear now.
Add/Move background transitions.
Add volume control to options. This make the configuration file
not compatible with older versions. Just delete it!
Modify hge's API so that it can handle real volume and pan values.
Volume value varys from 0 to 1, pan value varys from -1 to 1.
Document...

0.9.7-0 (r97)
Fix: small semi-coll bullets are collected by clr...
Add Multpo's for Level 7/-1.
Do slight changes to level -1...
Distribute CLRs for level 1~-1.

0.9.6-0 (r96)
Fix bug that cause you unable to charge if you try to use clr directly
after your clr's used up.
Add Multpo's for Level 3/4/5/6, and level 7 partically.
Fix stupid bug in Level4Part2 and other similiar parts.
Fix several bugs in level 5/6.
Reduce given-away score in level "Sine Wave". It wassssSssss too long!
Fix typo...
Blinking HangUpText *should* be fixed now...

0.9.5-0 (r95)
Change configuration and score file names. Files with their names
begin with "." may be annoying in Windows though...
If we find a score file during first start up, assume it's valid and
don't overwrite it.
Fix the problem that in-game music won't be resumed when back from pause.
Fix the problem that Multpo's won't be removed if a new game is created.
Fix the problem that the first tip is not shown correctly if the game
is restarted.
(Probably) fixed the problem that the sound is played out of game.
Prevent Multpo's from "escaping". This happens when fps is extremely low...
Adding Multpo for Level2.
Update CanonTechno.

0.9.2-0 (r94)
Mod, mod, mod...!
Assessment mode is mostly frozen now.
I'll make a pre-release at r99 and that revision will be set to
0.9.9-0.
Write the document... That's really tiring.

~~0.9.1-4 (r94)~~
Ooooooooops... I've forgotten to commit this one!
So this is merged to the revision above, actually.
=================================================================================
Modify a couple of levels. (Making them easier...)
Fix about scene text rendering out of the window.
(Probably) fixed Level3Part3 by making them temporarily invulnerable...
Are we bug-free now?

0.9.1-4 (r93)
Picking it up after almost one month... I'm now lost in my code...
---------------------------------------------------------------------------------
Add player position display into debug display.
Rewrite pinball, adding collision between the balls...
The collision code is based on Kollision (a game included in KDE SC).

0.9.1-3 (r92)
I installed Archlinux alongside Debian recently. Now we officially support
Archlinux and Debian.
Archlinux doesn't eat my CPU or try to destroy it... So further development will
be made mainly under archlinux...
---------------------------------------------------------------------------------
Content freeze -- nothing will be added or removed any more (music etc excluded).
Fix build failure in Archlinux.
Fix font issue in Archlinux.
realloc may change the base address... That's the cause of the crashes...
--now removing all Bullet* based implementations.
Affected parts:
Assessment: Constant patterns, pinball
All parts in level 2.
L4P2, and more
L5P5~6
L-1P17
L-1P19
L3P3
L7P12
L7P14
L7P25
Avoid memory leaks... I don't know if they have been really fixed...

0.9.1-2 (r91)
Add built-in help.
Now the pause menu should be fixed...
Compress resources again.

0.9.1-1 (r90)
Fix a bug in the credit scene.
Now the pause menu shouldn't be broken now...(It's so hard to reproduce
that I have to assume it *has* been fixed.(IT STILL HAPPENS!!!)
Close the "infinity CLR" "bug".
(Huge) Code cleanup, mainly removing duplicate code.
Allocate bullets dynamically. The array is freed every time a new game
is started.
Add a signal handler, print back trace on error(currently only available
for linux...).

0.9.1-1 (r89)
Fix a critical bug in Score_Initailize.
Modify level pinball.
Drop "_PR" in version string.
Partly rewrite the credit scene, displaying accurate version
details.
Remove some warnings from hgewin.
A set of basic tests are done on a Intel+Nvidia desktop computer.
Add a simple build script(instead of makefile).
Reduce the Windows version executable size...(local work, recompile
freetype using reduced features enabled.)
Current tested (by me) and worked plantforms:
Debian sid x86_64/Windows 8.1 @Intel core i7-2670QM, 8GiB RAM,
Intel HD3000.
Debian sid x86_64 @Intel Core2 Quad Q8300, 8GiB RAM, nvidia GT320.
Windows XP x64 @VirutalBox, Dualcore Virtual CPU, 1.5GiB RAM, VBox
Addons installed.
Windows XP @Intel core i3-3240, 4GiB RAM, Intel HD3000.

0.9.1-1_PR (r88)
%lld seems to work with mingw-w64(also VS2005+)...
So let's remove all %I64d.
Change point bullet behaviour.
Fix a minor multiplier problem.
Mark the source code as C++.
Re-document levels(not done).
Update wiki.

0.9.1-1_PR (r87)
Disable screenshot when you're entering your honourable name. It's
not tested so we could only hope that will work...
Add crappy sounds to (part of) the menus.

Replace a level in assessment mode. The original one was meanless..
The menu sounds are too crappy... remove them temporarily. However,
let's complete the code base so that we won't waste time writing
it...

0.9.1-1_PR (r86)
Port highscore view and details menu. Menu rewrite is almost done!
Disable select key while transferring.
Fix "typo" caused bugs.
Hopefully fix small bugs in the new menu system.
Rename several files. Add some additional files.
Remove legacy menu components.

0.9.1-0_PR (r85)
Port death menu, complete menu and new highscore menu to the new
menu code base.
Clean up old menu code.
Update wiki.

0.9.1-0_PR (r84)
Port player preference menu, pause menu and return to title menu
to the new menu code base.
Add shake effect to player preference menu.
Make effects faster...
Press esc in a menu will select back/exit now.
Add several background transfers.
Fix possible memory leaks in HangUpText.
Remove some commented statements.

0.9.1-0_PR (r83)
Now you can change the game resolution.
Some resources are not re-made so they may look blurred...
Make font bigger for higher resolution.
Add command line option for changing the resolution.
Complete the option menu rewrite.

0.9.1-0_PR (r82)
Add missing file menus.png...
Finish the start menu rewrite.
Modify "Lunatic Lunar", however it's not done...
Modify resource unpacking of Windows version.

0.9.1-0_PR (r81)
Start menu rewrite...
Add information about the built time.

0.9.1-0_PR (r80)
Remove "high FPS mode", it won't reach 500 FPS on my computer any
more. Replace it with Vsync mode.
Add float HGE::Timer_GetFPSf(). The return value will be updated
every 1000ms.

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.
Level corrections.
Improve density test.
Add screen shot. Press S for a screen shot.
Fix the upside down screen shot output.
Fix stubbed HGE::System_Launch.

0.9.0-0_PR (b78)
First two assessment levels.
Two more assessment levels...
Tow _more_ assessment levels......
Another assessment level...
Yet another level for assessment mode... why don't I bump the
version?
Modify player attribute.
Allow bullet to kill itself at a certain point.
Add extborder attribute.
Finish assessment system framework.
Add circ2pnt.

0.8.1-1_PR (b77)
All parts from level -1 to 7 are completed!
Fixed the crash in the mingw-w64 build.
Switch to mingw-w64 for building Windows version now.
Complete GUI bring back.
Fix a bug appeared after the cross-plantform port(when forked
from BLRI).
Prepare for assessment mode.

0.8.1-0_PR (b76)
New level "Sink over the horizon".
New level "Gravity vortex".
New level "Double reflective".
Make point bullet additive blending.
Allow bullets to pause before being accelerated.
Modify "Gravity vortex".
Modify "Achromatopsia". (Thanks to my classmate's advice...)
Report build and version in the log file.
Add command line argument support. Use "--help" for usage.
Add freetype support to hge. It's still pretty buggy. (and make
the executable extremely big!)
Add experimental support for cross compiling with mingw-w64.
(Mingw-w64 build *will* be the official build in the future.)
Fix blinking HangUpText.
Fix crashes in mingw-64 build.
Change numeric characters to monospace.
Modify player speed settings.
Beewx still messes up memory... fixed now.
Exit 1 if not terminated correctly.

0.8.0-1_PR (b75)
New level Supernova.
New level (still unnamed).
Support additive blending bullets(for Supernova).
Add some additional tips.
Move levels to level -1.
Fix blinking of HGE::Gfx_SetTransform in OpenGL.
Fix includes like " #include "../../include/..." " that would
cause errors.
Extend libcgh again. Adding operator ^ and method l().
Modify clearrange behaviour in level hyper-threading.
Modify the corresponding score bullet.

0.8.0-0_PR (b74)
New level Achromatopsia.
New level hyper-threading.
Tower8 partly rewritten, dropping tdir.
Fix a small problem in level 2.
Move levels to level -1. <-typo fixed
Modify the semi-coll threshold of laser.
SCEffect_Attatch now take a optional parameter.
Global varibles cleanup.
Fix a bug in bullet8 caused by RandomEngine port.
Rename "Minesweeper"->"Spiky", add noname2pnt.
Add achroma2pnt.

0.7.3-0_PR (b73)
This is a pre-release version of 0.7.2-2_PR.
This version is released to public for level previewing.
This release contains level 1~7 (while level -1/-2 are still
"imaginary")
Changes:
Compress several png files.
Merge code for Windows.
Fixed compile problems of Windows version.
Small fixes of level2.
This build will be short-lived.

0.7.2-2_PR (b72)
New level "return to void". That's a 3 in 1 class. I used
particularly many "return(void)(...);" in this level (which I
always love to use).
This indicates all "normal" levels are completed.
Multiplier system was fully adopted into BLR.
Implement a RandomEngine, replacing all rand().
Rewrite Leaf_Anim using std::list, won't cause crashes now.
Fixed: Trypophobia stops if too many CLR's are used.
Fixed the problem in All2pnt().
Fixed blinking target.
Fixed Hexagon loops memory leak (the pointer array is too small...)
Tests under Windows were done, all gameplay features ran perfectly.
Make Laser::GetDist() private to avoid misusage.
Fixed several background problems.
Remove unused statements:
DWORD ColTrans(DWORD,DWORD,DWORD): replaced by
DWORD ColorTransfer(DWORD,DWORD).
void SaySomethingAndBye(char*): useless.
void DirectBullet(Bullet&,double): this has been coexisted with
the same method in the Bullet class for a long time. Now it's
replaced by Bullet::setdir(double).
A Small bug in the Windows build is fixed.
File list in the Windows build is updated.

0.7.2-1_PR (b71)
(Level7 will be almost twice longer than Level6!)
I'm extremely tired these days, I can't even keep my eyes open
while typing...
Some of my classmates helped testing several levels and found
some bugs, thanks a lot!

After a short test, I found that the Windows build is almost
broken... Crashes and misbehaves are everywhere!

Maybe Windows is noble and won't run this garbage:(
===Real changelog starts from here===
New level "Trypophobia", however it seems that this level won't
cause trypophobia at all!
New level "Photon fusion", using a slightly modified Tower8.
Rewrote laser distance detection using vector2d calculations,
extending libcgh and bump its version at the same time.(*2)
Put the new level to the correct place.
Bring back "Minesweeper" level, adjust it to the new interfaces.
Convert Bullet from struct to class.
Bring back Classic Mode. There are no "easy", "normal" or "hard"
now, there's only "classic"! Fix problems with the classic mode in
the new code base.
Fixed a bug appeared after the levels were put together.
Other minor changes to the level WOP.
Minor cleanups and code style adjustments. Add missing free's and
delete's.
Remake the credits page, it grows from 350KiB to 6MiB. (And so I'll
enable PNG compression later.)

0.7.2-0_PR (b70)
I wasn't willing to bump the build number because I want the svn
revision to chase the build number.
However it wouldn't be appropriate to put three new levels into one
build...
The real changelog is here:
New level "interference" (it's another small class "SimpleThing").
New level "diffraction" (yet another dull class), hopefully fixed a
memory leak in this level (by using more memory!)
Rearrange levels to the order they will appear in the final version.
New background interface, use background pictures easily.
Make "Tiled" background mode work.
Add SetScale to background class. Make you dizzy easily...
Fix a small glitch in Level3Part3-4. This level won't run correctly
under Low FPS Mode.
Minor code cleanups.
Removed more useless comments, my code is still hard to comprehend,
though.
Fix the misbehave of modulo with minus numbers...
Small interface and behaviour changes:
-If a bullet is effect-attatched and the effect is running, it won't
die.
-Bullet::redir now always make dist=1, for some bullet processing
doesn't use dist now.
Don't copyleft, it's radical.

0.7.1-6_PR (b69)
Finish some new levels ("Great Circle" bring back & "rainbow
appearance").
Fusion bullet first work draft.
Fix some of the warnings from the compiler.
Adjust level difficulty. It was indeed too easy...
Remake some resources with GIMP.
Merge great circles and finish it.
Small code cleanups.

0.7.1-5_PR (b68)
Draft new level. (Another level threatening you using circles!)
Update some old interfaces from BLR1.

0.7.1-4_PR (b67)
New level (name and placement undetermined).
Fix level transition mismatches.
Improved accelerated bullets.

0.7.1-3_PR (b66)
Fix a few glitches. Removing some useless interfaces for BLR I.
Change "Dangerous Target" for proper difficulty.

0.7.1-2_PR (b65)
Bullet death effect, applied to Wave of Photon. It seems buggy.
Fixed something left for debuging in the last commit.

0.7.1-1_PR (b64)
New level: Wave of Photon. A lazy level again. Despite of a new
class, it's a copy of "photon school".
Level improved: Cross threaten. Make it impossible to pass this
part without crossing those blue bullets.
libcgh improvement. Added new interfaces to vector2d struct. So the
libcgh version was bumped. Was it worth doing that?

0.7.1-0_PR (b63)
New level: Rainbow bullets - nauty photon (in fact it's a lazy
level! I must have seen the same thing some where else...)
The last "photon school" level was put to where it should be.
Rewrite some silly parts of the Changelog.
I ran out of my AppEngine quota today... So I can't commit that to
svn as planned...

0.7.0-9_PR (b62)
Performed a couple of tests, under both full FPS mode and low FPS
mode.
New background is used by now.

0.7.0-8_PR (b61)
Improved the rendering code. More tests are required...
That made the rendering more efficient. It also eats less RAM then.
--Okay it's now tested. Another bug in FPS independent bullets
fixed. No (big) bugs were found in the new rendering code.

0.7.0-7_PR (b60)
Spring Festival commit...
One level is rewritten.
Ready to sync this to svn...

0.7.0-6_PR (b59)
Fixed 3D clouds background. New background components added.
Experimental FPS independent bullets.

0.7.0-5_PR (b58)
Fixed another critical bug in laser collision detection
implementation... Laser is almost perfect now...//Still, it's
inefficient.

0.7.0-4_PR (b57)
Fixed a critical bug in laser implementation and another awful
memory leak bug...

0.7.0-3_PR (b56)
A new level is going to be complete...

0.7.0-2_PR (b55)
Auto pause and do not make game suspend if focus is lost.

0.7.0-1_PR (b54)
First two parts for level7.

0.7.0-0_PR (b53)
New background for level7. Preparing interfaces for level7.

0.6.2-2_PR (b52)
Level6 is frozen now. It's the longest level ever... (in blr!)

0.6.2-1_PR (b51)
Completing level6!
Spring is coming? (Well, not really...)

0.6.2-0_PR (b50)
Completing && improving hexagon.
Bumped the minor version for the sixth level is almost complete.

0.6.1-4_PR (b49)
New level hexagon.

0.6.1-3_PR (b48)
New level...(Avalanche)
Spotlight: Supporting BGM loop points(using my new hge
interfaces...)!
I have no idea on new levels (except "hyper fluid", that's a well-
planned part...). Maybe I've spent too much time staring at the
desktop? I feel like void these days.
The build count is bumped four times a day, you enough!

0.6.1-2_PR (b47)
New level "Wriggle Nightbug-like"?...

0.6.1-1_PR (b46)
Implemented several unimplemented audio interfaces of hge (OpenAL).
A Windows build to check compatibility is planned.

0.6.1-0_PR (b45)
Now we have 11 parts in level6...
A BGM called Canon Techno is completed around here...

0.6.0-0_PR (b44)
Starting level 6!
//We are in 2014 now. I'm regretful for I didn't have the dates
recorded.

0.5.3-2_PR (b43)
Optimizing memory usage... (first step...)[*]
Borrowed "the unbreakable jail" from old code...
//[*]Note @ 0.6.1-3 && @ 0.7.0-9:
//1. I found this useless.
//2. This may cause SIGSEGV!
//3. It's completely removed after b61. Because they are not used
//   any longer

0.5.3-1_PR (b42)
Final(the second last..) level for level 5, fish in a barrel?

0.5.3-0_PR (b41)
Small fixes and levels as usual...

0.5.2-3_PR (b40)
New minor parts for level5, fixed a bug in Player_Clear_Rotate.

0.5.2-2_PR (b39)
Several patches on new clear range.
Changing interfaces for new levels.

0.5.2-1_PR (b38)
New trigger method for clear range...

0.4.4-0_PRG (b37a)
Regression version for releasing...
-------------------------------------------------------------
This will be released as a official Preview Release version.<-obsolete
-------------------------------------------------------------

0.5.2-0_PR (b37)
New part for level5. Now I'm working on the regression 0.4.x.

0.5.1-1_PR (b36)
Several fixes including:
-Fading info panel when approaching.
-Sending mult. inc. indicator layer up.

0.5.1-0_PR (b35)
First two levels of level5.

0.5.0-0_PR (b34)
Starting level5... Crazy Autumn...

A regression is planned to release a 0.4.x-x_PR version as
official pre-released version. However it's still nowhere in sight
that if I could use Windows these days.

0.4.3-0_PR (b33)
Level4 is almost complete. Now I'm using LOW FPS Mode for
development because I just want to cool my laptop down without
using my own power. //However I stopped that at the next version...

0.4.2-0_PR (b32)
A new level... without using *ANY* old code (from level.h).

0.4.1-2_PR (b31)
Level4 is now 18 parts...

0.4.1-1_PR (b30)
Transfered sevel old levels here.

0.4.1-0_PR (b29)
Optimizing old code for level4.

0.4.0-0_PR (b28)
Now let's move to level4...

0.3.2-0_PR (b27)
New levels for level3. In fact, it's almost completed now...

0.3.1-2_PR (b26)
Improved bullet clearing method, avoiding hidden bullets
completely!(Just by converting them all to score points...)

0.3.1-1_PR (b25)
A new "big" level for level3.
Added several new interfaces to tower&bullet section.

0.3.1-0_PR (b24)
Complete the first two parts of level3.

0.3.0-0_PR (b23)
Starting the development of level3...

0.2.9-2_PR (b22)
Completing level2...

0.2.9-1_PR (b21)
New parts for level2. level2 is almost completed now.
PlayerLockX/Y implemented.
-------------------------------------------------------------
This will be released as a official Preview Release version.<-obsolete
-------------------------------------------------------------
BLR will be licensed under WTFPL from now.
(WTF?)
.............................................................
No it's now licensed under the BSD license...

0.2.9_PR (b20)
Level 2 is frozen "by heart". (How? By heart?)

0.2.5_PR (b19)
Optimizing the second level to a "realistic" state... Added two
extra musics(although still remain not used).

0.2.2_PR (b18)
The main development has been transferred to Linux. Optimizing
code for Linux.
//Revision count is not important.

0.2.0_PR (b17)
Level 2?...

0.1.7-2_PR (b16)
The first level is almost completed now...

0.1.7-1_PR (b15)
Fixed several serious bug in Low FPS Mode. Fixed FPS Level option
code.

0.1.7_PR (b14)
Updated the only level to synchronize with the In-Game Music.
Added "Multiplier +1" into the game system. Added an unimportant
loading screen.//In fact, it's loading nothing. May be unpacking
resource pack in Windows version...

0.1.4_PR (b13)
libcghEx has been made independent and can apply to any other
projects. This is also the first BLR version that includes
In-Game Music. libcghEx has been extended with LinearProgresser
and HangUpText.

0.1.1_PR (b12)
Added auto-multiplier system. libcghEx (Chrisoft Game Helper
Extras Library) is included in this version with CircleIndicator.

0.1.0_PR (b11)
Creation of the Pre-Released Version. Removed all old level code.
Bourne-again!//Can you imagine what I was thinking when deleting
the result of 3 months' work?...
=================================================================
TestBed versions:

TB130907 (b10)
A "Noname" level. Laser implementation partly rewritten.

TB130903 (b9)
Additional backgrounds

TB130827 (b8)
Laser implementation, Cheers!

TB130818 (b7)
New Levels such as rainbow towers and squashing levels.

TB130802 (b6)
Discarding old code, rewrite of part of the code.

TB130718 (b5)
Bullet creation effects, sync code back to BLR1.

TB130714 (b4)
Target indicator completed.

TB130705 (b3)
New level and bullet creation code for orange bullets.

TB130703 (b2)
Completing Orange Towers.

TB130620 (b1)
Completing Deep Blue Towers.//Well, "Dark Blue" right? Or more formally, "Navy".
//However, they are all not the real color. I used #0000FF, which is just "Blue",
//it just seems dark.

TB130610 (b0)
Creation of Testbed version.
