Skip to content
Darryl Pogue edited this page May 12, 2014 · 17 revisions

Plasma Roadmap

General Cleanup

  • Untangle the circular pnNucleusInc and pnTimer dependency.

  • Investigate changing hsThread to be a wrapper over std::thread.
    (@Zrax is working on this)

  • Fix warnings from Coverity code analysis.

  • Replace Ogg Vorbis with Opus for audio files.

  • Replace Speex with Opus for voice chat data.

  • Replace the removed Bink code with VP8 and WebM. #3

  • Replace any EAX code with OpenAL EFX. #8

Kill pnUtils

  • Merge pnUtils/pnUtTime stuff into pnTimer/hsTimer. #418
    (@dpogue is working on this)

  • Deprecate all of pnUtils/pnUtStr by replacing uses with plString or standard C library string functions.

  • Continued conversion of std::string, std::wstring, char*, and wchar* to plString when used in Plasma classes.

Kill pnAsyncCore/pnAsyncCoreExe

  • Rewrite pnAsyncCore/pnAcTimer as a pnTimer class using hsThread and hsTimer.

  • Rewrite most of the netcode to be based on plSockets.
    (@dpogue is semi-in-progress with this)

Cross-Platform (#5)

  • Replace PhysX with Bullet. #4
    (@Deledrius has some progress here)

  • Replace Win32-specific input handling with keycode.

  • Port the GUI tools from Win32 over to Qt. #413
    (@zrax has done most of these)

  • Pull non-DirectX-specific code from plDXPipeline into a base class. #2

  • Validate the target_link_libraries for all of the Plasma sub-projects. #383

  • Fix errors and warnings for the following compilers:

    • Windows:
      • MSVC (32)
      • MinGW g++ (32)
    • Macintosh OS X:
      • Xcode clang (32)
    • Linux:
      • g++ (32)
      • clang (32)
      • MinGW g++ cross-compile (32)

64-bit (#34)

  • Replace PhysX with Bullet. #4
    (@Deledrius has some progress here)

  • Track down and fix 32-bit assumptions throughout the codebase.
    Hint: Build with 64-bit MinGW, identify and fix 64-bit issues.

  • Fix errors and warnings for the following compilers:

    • Windows:
      • MSVC (32, 64)
      • MinGW g++ (32, 64)
    • Macintosh OS X:
      • Xcode clang (32, 64)
    • Linux:
      • g++ (32, 64)
      • clang (32, 64)
      • MinGW g++ cross-compile (32, 64)
Clone this wiki locally