TODO.wiki
changeset 915 1cb6252cbcf4
parent 904 7d19104d3317
child 924 1013ff0164c4
equal deleted inserted replaced
914:2dcdf6a68bd7 915:1cb6252cbcf4
    72 
    72 
    73 See also: https://code.google.com/p/hedgewars/issues/detail?id=184
    73 See also: https://code.google.com/p/hedgewars/issues/detail?id=184
    74 
    74 
    75 
    75 
    76 === Tools ===
    76 === Tools ===
    77   * Refactor the frontend networking layer into library calls from hwengine, in a similar fashion to what's done on iOS and Android, using Qt framebuffers.
    77   * Refactor the frontend networking layer into library calls from hwengine, in a similar fashion to what's done on iOS and Android, using Qt framebuffers
    78   * Create an easy-to-use theme editor, outlining all the necessary files for our themes.
    78   * Create an easy-to-use theme editor, outlining all the necessary files for our themes
    79   * Implement an handicap system allowing for increased difficulty on some teams instead of on the whole match.
    79   * Implement an handicap system allowing for increased difficulty on some teams instead of on the whole match
    80   * If building server fails, try running the Cabal dependencies first.
    80   * If building server fails, try running the Cabal dependencies first
    81   * Allow themes to have more than one music file.
    81   * Allow themes to have more than one music file
    82 
    82 
    83 
    83 
    84 === GUI improvements ===
    84 === GUI improvements ===
    85   * Enable private messages in our lobby.
    85   * Enable private messages in our lobby
    86   * Allow kicking with reason.
    86   * Allow kicking with reason
    87   * Make the preferences that are modifiable from engine (eg. volume) update the ones specified in the frontend, using a new network message.
    87   * Make the preferences that are modifiable from engine (eg. volume) update the ones specified in the frontend, using a new network message
    88   * Rework the draw-map functions, adding different brush sizes, brush types and something new.
    88   * Rework the draw-map functions, adding different brush sizes, brush types and something new
    89   * Enable some commands while in frontend: for example `/leave` ( = `/part`  - for leaving room), `/quit` (disconnects from server), `/exit` (closes hedgewars), `/addFriend`, `/removeFriend`, `/ignore`, `/unignore`.
    89   * Enable some commands while in frontend: for example `/leave` ( = `/part`  - for leaving room), `/quit` (disconnects from server), `/exit` (closes hedgewars), `/addFriend`, `/removeFriend`, `/ignore`, `/unignore`
    90   * Add checkboxes for selecting the best rendering mode in addition to the Quality slider.
    90   * Add checkboxes for selecting the best rendering mode in addition to the Quality slider
    91   * Lazy load previews, speed up frontend launch and compute previews only when necessary.
    91   * Lazy load previews, speed up frontend launch and compute previews only when necessary
    92 
    92 
    93 
    93 
    94 === Graphics ===
    94 === Graphics ===
    95   * Make Hedgewars compatible with SDL2: code compiles and launches fine but we have problems for input, due to the frontend/engine interaction.
    95   * Make Hedgewars compatible with SDL2: code compiles and launches fine but we have problems for input, due to the frontend/engine interaction
    96   * Set up a wifi protocol so that tablets can draw maps and send it to the drawn maps of Hedgewars.
    96   * Set up a wifi protocol so that tablets can draw maps and send it to the drawn maps of Hedgewars
    97   * Select the stereo renderer at runtime, either with a keybind or with a menu.
    97   * Select the stereo renderer at runtime, either with a keybind or with a menu
    98 
    98 
    99 
    99 
   100 === Engine ===
   100 === Engine ===
   101   * Allow participants in a game to view weapon sets and schemes before starting the game. This task could be carried out by showing an overlay window when mouse is over the scheme or weapon entries.
   101   * Allow participants in a game to view weapon sets and schemes before starting the game. This task could be carried out by showing an overlay window when mouse is over the scheme or weapon entries
   102   * Change the loading screen to show participating teams/players (and maybe even all the hogs if space is available
   102   * Change the loading screen to show participating teams/players (and maybe even all the hogs if space is available
   103   * Add the ability for themes to have stars high above the ground (comparable to clouds).
   103   * Add the ability for themes to have stars high above the ground (comparable to clouds)
   104   * Implement a better, faster land generation: for more details, visit http://accidentalnoise.sourceforge.net/minecraftworlds.html
   104   * Implement a better, faster land generation: for more details, visit http://accidentalnoise.sourceforge.net/minecraftworlds.html
   105   * Allow for flipped maps
   105   * Allow for flipped maps
   106 
   106 
   107 
   107 
   108 === Mobile ===
   108 === Mobile ===
   109   * Implement preferences/options in the Android port, basically allow the existing preferences options from the desktop version to the port using Android shared preferences.
   109   * Implement preferences/options in the Android port, basically allow the existing preferences options from the desktop version to the port using Android shared preferences
   110   * Better integrate CMake with the Android build, instead of using the autotools version.
   110   * Better integrate CMake with the Android build, instead of using the autotools version
   111 
   111 
   112 
   112 
   113 == Documentation ==
   113 == Documentation ==
   114 
   114 
   115 === Doxygen ===
   115 === Doxygen ===
   116 
   116 
   117   * Add doxygen documentation to server for the haskell sources.
   117   * Add doxygen documentation to server for the haskell sources
   118   * Add doxygen documentation to ios frontend for the objc sources.
   118   * Add doxygen documentation to ios frontend for the objc sources
   119   * Add doxygen documentation to engine for the freepascal sources.
   119   * Add doxygen documentation to engine for the freepascal sources
   120   * Add doxygen documentation to android port for the java sources.
   120   * Add doxygen documentation to android port for the java sources
   121 
   121 
   122 === Various ===
   122 === Various ===
   123 
   123 
   124   * Document the interaction of engine/frontend/server network protocol
   124   * Document the interaction of engine/frontend/server network protocol
   125   * Document how the engine launches a game, from setting up the window, to updating the OpenGL renderer, from loading up contents, to cleaning up memory.
   125   * Document how the engine launches a game, from setting up the window, to updating the OpenGL renderer, from loading up contents, to cleaning up memory
   126   * Document the format of the demo and save files.
   126   * Document the format of the demo and save files
   127 
   127 
   128 
   128 
   129 == Q/A ==
   129 == Q/A ==
   130 
   130 
   131 === Testing framework ===
   131 === Testing framework ===
   132   * Add an expandable testing module so that we can trigger main server functions and check their return values.
   132   * Add an expandable testing module so that we can trigger main server functions and check their return values
   133   * Add an expandable testing module so that we can trigger main frontend functions and check their return values.
   133   * Add an expandable testing module so that we can trigger main frontend functions and check their return values
   134   * Add an expandable testing module so that we can trigger main engine functions and check their return values.
   134   * Add an expandable testing module so that we can trigger main engine functions and check their return values
   135 
   135 
   136 === Other tests ===
   136 === Other tests ===
   137 
   137 
   138   * Unify the translation files in something more usable, reducing the number of files and the repeated phrases.
   138   * Unify the translation files in something more usable, reducing the number of files and the repeated phrases
   139 
   139 
   140 
   140 
   141 == Translation ==
   141 == Translation ==
   142 
   142 
   143 Pick a language of your choice! There is certainly need of an update or a revision or even a completely new language.
   143 Pick a language of your choice! There is certainly need of an update or a revision or even a completely new language
   144 
   144 
   145 Here is the list of English files that contain a translation; be sure to check whether some work has been done, either by reading the file or by checking the same file with your language code instead of the English one:
   145 Here is the list of English files that contain a translation; be sure to check whether some work has been done, either by reading the file or by checking the same file with your language code instead of the English one:
   146 
   146 
   147   * https://hg.hedgewars.org/hedgewars/raw-file/default/share/hedgewars/Data/Locale/hedgewars_en.ts
   147   * https://hg.hedgewars.org/hedgewars/raw-file/default/share/hedgewars/Data/Locale/hedgewars_en.ts
   148   * https://hg.hedgewars.org/hedgewars/raw-file/default/share/hedgewars/Data/Locale/en.txt
   148   * https://hg.hedgewars.org/hedgewars/raw-file/default/share/hedgewars/Data/Locale/en.txt