Easy: - Add a shadow toggle to src/clparse.c - Add an option to directly host or join a multiplay game to src/clparse.c - Make Warzone respond to the SDL_QUIT event so it can be closed with ^C, ALT+F4 or closing the window. This involves registering all needed functions to atexit() so Warzone shuts down properly on that event. - Fix memleaks in lexer files. Appears in functions like strres_ensure_buffer_stack or strres__create_buffer. More difficult: - Display "backdrops" instead of novideo.rpl so a story can be told using subtitles and be illustrated with pictures. - Create one single place where platform dependend defines reside. - Create a "super header" which is included in every header before any other headers. This is needed eg for debugging memleaks through malloc redefinitions (eg when using MSVCRT). - [separation] Work out an engine part (lib/) and a game part (src/), where no engine part depends on any game part - [separation2] Separate the engine parts so they have only a minimum dependency on each other and rearrange them logically (depends on [separation]) - [LUA] Rewrite the scripting engine to use LUA (adding a 2nd engine which handles all LUA scripts would be enough atm) (depends on [separation2]) - Convert existing scripts to LUA (depends on [LUA]) - [GUI] Rewrite the GUI to be scriptable (depends on [LUA]) - Improve the menus for usability (esp. networking) (depends on [GUI]) - Improve loading of data / dataformat. Should be possible to load all maps in all techlevels for campaign as well as multiplay mode. This would hopefully fix those bugs where maps are missing or the campaign breaks because of maps. Would involve modification of data and YaCC/Lex files. - [network] Rewrite the system how Warzone handles networking. New system should be more stable (no out of sync bugs) and handle cheat checking without preventing games between ppl using Windows and Linux - Adapt the master server to that system (depends on [network])