Skip to content

xuancong84/ProjectDIVA

Repository files navigation

ProjectDIVA

Project DIVA PC HD

Current version is 3.5.1:

  1. when the combo gauge is full, press Shift to accelerate; however, if break, speed falls back to normal.

  2. added UTF-8 mult-language support, add or modify text files in ./locale/*.txt to add a new language or edit string for an existing language. Currently, all other languages besides English and Chinese are obtained via Google Translate.

  3. added multiple font support.

For game players:

  • copy everything except the ./src folder
  • copy music packs from the Internet elsewhere

For developers:

  • copy everything including the ./src folder
  • please set library and include paths for bass, dxsdk and FMOD-sound-system in ./src/external folder.
  • all commits without any description are minor/trivial modifications such as editing description, fixing spelling errors, etc.

Key programming techniques include how to:

  • play audio (using bass library and FMOD-sound-system) and video (using windows media library) at arbituary speed while maintaining synchrony.
  • use DirectDraw to draw point sprite, perform scaling
  • use Direct3D to draw objects, lighting, perform object-to-screen, screen-to-object coordinate conversion, ray-triangle intersection detection
  • use DirectX to draw UTF-8 characters, manipulate UTF-8 strings and filenames in Win32 API
  • enumerate display resolutions and change display resolution
  • enumerate system font and change DirectX font
  • enumerate system locales
  • use Window keyhook to capture keyboard input

Acknowledgement: This work was originally created by the Chinese GameMaster Studio group (http://gamemastercn.com/). It was later modified and enhanced by me (Wang Xuancong) for learning Window API, multimedia and computer graphics programming. I will now release its source code to the open public to continue its development and enhancement.

About

Project DIVA PC HD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages