Monthly Log 2016. 8.

### Aug 2016

#### 2016-08-31 Fastbird Engine Aug 2016
* Engine
  * New tools
      * FBDevDataPacker.exe: Pack data files into a .fba(FB Archive) file.
      Support compression and encryption. Detail...
      * FBDevColladaToFBMesh.exe: Convert collada files(.dae) into FB
      Mesh(.fbmesh; .fbmeshes; .fbmesh_group) files. Detail...

  * Common Changes
      * Supports serialization of serveral data types.
      * Associative containers in which the order is not important, now use
      std::unordered_map instead of VectorMap -> Improved performance.
      * All xmls not parsed via FileSystem::LoadXml()

  * FBMathLib
      * MurmurHash.h moved to FBStringLib

  * FBFileSystem
      * zlib is required.
      * .fba(FB Archive) support.
      * File searching process of FBFileSystem is now changed like below.
      1. Check the actual raw path.
      2. Check inside of .fba files.
      3. Check resource folders.
      4. Check .fba files in the resource folder's parent folder.
      * The following interface functions or classes can handle .fba files.
      * class FileSystem::Open
      * class DirectoryIterator
      * FileSystem::set_fba_password(...)
      * FileSystem::Exists(...) Now check .fba also.
      * FileSystem::ExistsInFba(...) only checks in .fba files.
      * FileSystem::ResourceExists(...) check the raw path -> check the
      resource folder -> check the .fba in the resource folder's parent folder
      * FileSystem::CompareResourceFileModifiedTime(...) can compare file
      modification times in .fba.
      * FileSystem::LoadXml(...) can parse xml files in .fba.
      * FileSystem::OpenResourceFile(...) now considering .fba files.
      * The following functions override the standard c file handling
      functions. They will recieve FileSystem::Open& as an argument instead of
      FILE*.
      * fread(void* buffer, size_t element_size, size_t element_count,
      FileSystem::Open& file)
      * fread_s(...)
      * fseek(...)
      * feof(...)
      * ftell(...)
      * rewind(...)

      * Added functions
          * FileSystem::ResizeFile(...) Change file size.
          * FileSystem::RemoveAllInside(...) Delete all files in the requested
    folder. The other function FileSystem::RemoveAll(...) also delete the
    requested folder.
      * FileSystem::RemoveEndingSlash(...)
      * FileSystem::GetAppRoamingGameFolder(...)
      * FileSystem::GetAppDataLocalGameFolder(...)
      * FileSystem::GetTempDir(...)

      * Function name changes
        * FileSystem::SecurityOK(...) -> FileSystem::CheckSecurity(...)
        * MakrEndingSlashIfNot(...) -> FileSystem::AddEndingSlashIfNot(...)

  * FBInputManager
      * Function name changes
      * IInputInjector::GetDeltaXY(...) ->
    IInputInjector::GetDpiDependentDeltaXY(...)

  * FBLua
      * The following free functions exposed to lua script.
      * fb::IsFilePathSafe(...)
      * fb::LoadAndExecuteScriptResource(...)
      * fb::OutputDebugString_(...)
      * fb::DoFile(...) - for handling lua files in .fba
      * fb::get_lua_content(...) - for handling lua files in .fba
      * The following lua internal functions are overrided for additional
      featrues.
      * io.output - Now we checks the path safety.
      * loadfile - handling lua scripts in .fba files.
      * dofile - handling lua scripts in .fba files.
      * require - handling lua scripts in .fba files.

  * FBAudioPlayer
      * Constructor of AudioSource requires the second argument
      AudioSourceType::Enum to distinguish whether this source is a music or a
      sound. => for handling volume control seperately.
      * Fixed a bug: When a new music is requested to MusicPlayer, the
      previous music dropped suddely.

  * FBColladaImporter
      * Bug for generting index buffer.

  * FBRenderer
      * Renderer data structures which requries cacheing now use hashes for
      the performance.
      * FontLoader now consider .fba files.
      * A bug fixed: Application randomly launched as fullscreen app
      regardless the actual config setting.
      * A bug fixed: Sometimes entire geometry rendered as wireframe
      regardless of the current rasterizer option.

  * FBSceneObjectFactory
      * Now can load .fbmesh, .fbmeshes, .fbmesh_group files.

  * FBEngineFacade
      * Save audio volume option automatically.

  * FBUI
      * Users can drag HorizontalGauge. -> Used for volume control.
      * Added UIEvent: EVENT_MOUSE_UP, EVENT_GAUGE_CHANGED
      * Added UIProperty: GAUGE_DRAG

  * 317 files changed, 11547 insertions(+), 2203 deletions(-)

#### 2016-08-11
* Game
  * Fixed officer bugs.
  * Recode events
  * VectorMap->unordered_map
  * 136 files changed, 1350 insertions(+), 1150 deletions(-)
 
#### 2016-08-06
* Game
  * Save options
  * Fixed main screen error.
  * Fixed docking error.
  * Fixed highlight was too strong
  * Stop date when playing prologue
  * 17 files changed, 87 insertions(+), 39 deletions(-)
 
#### 2016-08-04
* Game
  * Sound options
  * 9 files changed, 74 insertions(+), 18 deletions(-)

댓글