Difference between revisions of "NotSoEasyCoding"

From The Battle for Wesnoth Wiki
(Config Writer)
Line 34: Line 34:
 
=== Config Writer ===
 
=== Config Writer ===
  
There is an unfinished project rusty started called the "config writer" which needs more code to reach completion. It has the potential to speed up save operations. Stop by #wesnoth-dev on freenode irc if you want to help with this, or post in the Coder's Corner.
+
The speed of saving Wesnoth games is dominated by the time to marshall all the config structures.  This involves deep copying them many times as each subsystem returns its config bundle; far better would be to have a "config_writer" class which is handed to each subsystem which iterates through its structures and does the writing (to file or network) directly to the config_writer instance.
 +
 
 +
Stop by #wesnoth-dev on freenode irc if you want to help with this, or post in the Coder's Corner.
  
 
=== Improvements to Unit Map ===
 
=== Improvements to Unit Map ===
  
 
As described here: [http://www.wesnoth.org/forum/viewtopic.php?p=236063#236063]
 
As described here: [http://www.wesnoth.org/forum/viewtopic.php?p=236063#236063]

Revision as of 00:03, 6 July 2007

Foreword

This page shows projects which are considered a good idea by the developers but which have nobody working on them so far. If you think you've got the required skill for a task go on, implement it and you've got a high chance that it'll be accepted. The remaining barrier will only be that it's done well. :-)

If you are such a person, you should feel free to edit this page.

If you're not, you should post a feature request and discuss your idea on the forum or IRC. A coder with better knowledge of the code might give you the green light to add your feature here.

Anybody should feel free to add "clues" to any tasks, that is entry points, traps to avoid, person to contact to discuss and so on.

If you plan to work on a feature, write your name at the bottom of the feature, with the date. Note that if you are too long at working on a feature I'll "free" it back (that is if you're not working on it. If you have problems implementing it, just tell us....)

Campaign Server related features

Reimplement the campaign server in Perl

The current campaign server is written in C++ and networking with SDL_net isn't really optimal, neither is multithreading easy to do here. Therefore it was proposed to reimplement it in Perl as this should allow for easier inclusion of new features. There are already Perl Modules to read WML.

I'll soon start to work on this project, but the language of choice will be python instead of perl --SkeletonCrew 21:50, 4 July 2007 (CEST)

Integrate WesCamp-i18n into the Campaign Server

So far translations of unofficial campaigns, eras or MP scenarios aren't too easy to handle. Authors must put their stuff into the WesCamp SVN repository, fetch translations from there and put those onto the campaign server. The vision for the future would be that the campaign server will automatically commit every change into the SVN repository and pull translations regulary. This would allow for new translations to appear in the download without further interaction of the authors. Allefant already wrote some Python scripts to handle the SVN commit / fetch part which could be used as external helpers.

I started to work on this project --SkeletonCrew 21:49, 4 July 2007 (CEST)

Game Engine

Showing "Advantage" In-Game/End-Game

As described here: [1]

Multiplayer and RNG Cheating

As described here: [2]

Data Structures

Config Writer

The speed of saving Wesnoth games is dominated by the time to marshall all the config structures. This involves deep copying them many times as each subsystem returns its config bundle; far better would be to have a "config_writer" class which is handed to each subsystem which iterates through its structures and does the writing (to file or network) directly to the config_writer instance.

Stop by #wesnoth-dev on freenode irc if you want to help with this, or post in the Coder's Corner.

Improvements to Unit Map

As described here: [3]