Difference between revisions of "User:Csnover"

From ScummVM :: Wiki
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 4: Line 4:


* C++11 by default
* C++11 by default
** type aliases templating
** move semantics
** forward-declaration of scoped enum (+ scoped enum at all)
** thread_local to eliminate race conditions with e.g. the storage pool used by Common::String, when strings are used across threads
* UBSan common code
* UBSan common code
* Treat Android platform like first-class citizen
* Treat Android platform like first-class citizen
Line 16: Line 20:
* New rules for ports
* New rules for ports
* Help docs for devs on memory management?
* Help docs for devs on memory management?
* Stop caching save file listings on systems that have OS-level caching
* Requirements for official ports to not override standard ScummVM GUI controls with custom behaviours (e.g. android’s midi checkbox/input hack, psp’s using the render mode drop-down for aspect ratio correction)
GUI:
* Fix bad GUI on retina display & in SurfaceSdl mode
** For this to be fixed in SurfaceSdl, its design needs to be changed so that the final rendering surface is always the resolution of the window, the game surface must be blitted to this surface using some interpolated scaling, and then the overlay width/height will need to be changed to be always the window dimensions instead of the game dimensions. And then it will work just like the OpenGL one. Since SDL2’s scaling blitter is apparently busted on 2.0.4ish versions, I am unsure how this could be done without ugliness, but since the SDL2 API is designed to be GPU composited I _have_ to imagine there is a way to do this without terribly much hassle (or maybe we finally drop the SurfaceSdl renderer once and for all and use only OpenGL, which would also finally enable those GPU shaders!).
* Unicode already (the e.g. Chinese translations are forced to use pinyin, not acceptable to me in 2017!)


Infra:
Infra:
Line 26: Line 38:
** main web
** main web
** wiki
** wiki
** forums
* Fix forum-to-forums subdomain non-redirect
* Automated release builds
* Automated release builds
** Put the branch name in the directory structure of the snapshots directory, so each branch build is separated (so when we do a release we can point users to latest release branch build instead of master)
** Improve packaging step to generate N packages from a single build using proper packaging utilities (nsis, deb, rpm, etc.)
** Improve packaging step to generate N packages from a single build using proper packaging utilities (nsis, deb, rpm, etc.)
* User-driven compatibility database to replace the manual XML+Smarty-based system used currently (think WineDB)
* User-driven compatibility database to replace the manual XML+Smarty-based system used currently (think WineDB)
* Get monitoring on the servers for disk space, etc.
* Responsible disclosure mailing list
* Fix create_project warning flags for Xcode so they are the same as the ones used by Make


Engines:
Engines:

Latest revision as of 03:00, 1 February 2018

Future TODOs

General:

  • C++11 by default
    • type aliases templating
    • move semantics
    • forward-declaration of scoped enum (+ scoped enum at all)
    • thread_local to eliminate race conditions with e.g. the storage pool used by Common::String, when strings are used across threads
  • UBSan common code
  • Treat Android platform like first-class citizen
    • Fix low-resolution GUI
    • Get rid of redundant Android & Android-SDL builds
    • Support display rotation
    • Proper GUI support for touchpad emulation vs touchscreen (currently this is hacked into a totally unrelated MIDI checkbox)
    • MIDI hardware support?
  • SharedPtr deleter -> template
  • Prune dead ports code
  • Centralise documentation and remove redundancies between wiki/readme/web site/etc.
  • New rules for ports
  • Help docs for devs on memory management?
  • Stop caching save file listings on systems that have OS-level caching
  • Requirements for official ports to not override standard ScummVM GUI controls with custom behaviours (e.g. android’s midi checkbox/input hack, psp’s using the render mode drop-down for aspect ratio correction)

GUI:

  • Fix bad GUI on retina display & in SurfaceSdl mode
    • For this to be fixed in SurfaceSdl, its design needs to be changed so that the final rendering surface is always the resolution of the window, the game surface must be blitted to this surface using some interpolated scaling, and then the overlay width/height will need to be changed to be always the window dimensions instead of the game dimensions. And then it will work just like the OpenGL one. Since SDL2’s scaling blitter is apparently busted on 2.0.4ish versions, I am unsure how this could be done without ugliness, but since the SDL2 API is designed to be GPU composited I _have_ to imagine there is a way to do this without terribly much hassle (or maybe we finally drop the SurfaceSdl renderer once and for all and use only OpenGL, which would also finally enable those GPU shaders!).
  • Unicode already (the e.g. Chinese translations are forced to use pinyin, not acceptable to me in 2017!)

Infra:

  • Finish Buildbot upgrades
  • Containerise other web services
    • bug tracker
    • translations
    • main web
    • wiki
    • forums
  • Fix forum-to-forums subdomain non-redirect
  • Automated release builds
    • Improve packaging step to generate N packages from a single build using proper packaging utilities (nsis, deb, rpm, etc.)
  • User-driven compatibility database to replace the manual XML+Smarty-based system used currently (think WineDB)
  • Get monitoring on the servers for disk space, etc.
  • Responsible disclosure mailing list
  • Fix create_project warning flags for Xcode so they are the same as the ones used by Make

Engines:

Upstream libs:

  • MAME OPL update
  • Munt update
  • Investigate DOSBox OPL update