Moving On

edited 2006 May 31 in Developers
<i>This post was originally made by <b>skyjake</b> on the dengDevs blog. It was posted under the categories: Beta 5, Engine, SourceForge.</i>

I propose we start the work on Beta 5 by wrapping up <tt>/branches/branch-1-9-0</tt> and move development back to the trunk. On Wednesday evening, I will merge all the changes from branch-1-9-0 to the trunk. When the trunk has been updated and is working correctly, I will create the new directory structure and start moving files into their new directories. I thought it would also be a good idea to split some of the longest source files into two or more parts.

Here is a list of the longest source files we have:
<pre>5376 Src/jHexen/P_enemy.c
4606 Src/Common/mn_menu.c
4572 Src/p_arch.c
4122 Src/gl_tex.c
3703 Include/jHexen/info.h
3582 Src/con_main.c
3355 Src/jHexen/st_stuff.c
3296 Src/p_dmu.c
2985 Src/Common/am_map.c
2864 Src/Common/p_xgsec.c
2808 Src/sv_pool.c
2796 Src/jHexen/P_mobj.c
2741 Src/Common/f_infine.c
2654 Src/Common/p_saveg.c
2558 Src/Common/p_xgline.c
2542 Src/rend_list.c
2540 Src/jHexen/sv_save.c
2524 Src/Common/g_game.c
2476 Src/jHexen/P_map.c
2434 Src/rend_main.c
2390 Src/jDoom/tables.c
2344 Src/tab_tables.c
2342 Src/r_world.c
2337 Src/jHexen/Tables.c
2337 Src/jHeretic/P_enemy.c
2328 Src/jHeretic/st_stuff.c
2325 Src/jHeretic/Tables.c
2323 Src/ui_main.c
2253 Src/jHexen/P_inter.c
</pre>

Of these, at least ui_main.c, r_world.c, p_dmu.c, and con_main.c should be split. Since the new directory structure makes a distinction between public and internal APIs, we should have only the public functions in p_dmu.c (corresponding <tt>engine/api/p_dmu.h</tt>) and then files like p_dmuget.c and p_dmuset.c, for example. I will return to this topic after Wednesday.

In the meantime, Yagisan and Dani, if you've got any quick fixes you want to make, there's still time to make them in branch-1-9-0. They will be included in the merge on Wednesday. After that, everything should be done in the trunk.

Comments

  • With regard to the games' source files I would like to request that for now they are not split. I would prefer to complete my commonization work first. I would guess roughly 40% of the games' current code can then be moved into /Common leaving only the game-specific features and AI routines.
  • I would like to say that at the moment multiplayer seems screwed. Yagisan and I connected but it was veryvery laggy.

    Layne on mac, Octavus on windows and Myself on linux could not connect to each other. The map would load and crash. I can't find the doomsday.out file.
  • Regarding multiplayer problems, I've had them on my To Do list for quite some time now. I will address them before 1.9.0 final.

    Regarding game source files, I agree. Let's commonize first as much as possible. The engine sources will be split, though.
  • I'm happy to split the sources when you two are ready, but before that, I *really* need to tag each source with even a one line header stating license. Some of those will need to be re-examined after the split to see if they still contain Raven licensed code, or if they now contain only GPL code.
  • The merge from branch-1-9-0 to the trunk has been completed. Switch your working copies (or check out a new copy) to "/trunk/doomsday". branch-1-9-0 should now be considered closed for further development. Keep an eye out for any oddities, as the merge didn't go without problems (SF.net SVN servers kept closing the connection during the merge).

    Don't worry about the file reorganization just yet. I will start working on the new directory structure on Friday, most likely.

    Dani, note the problem with M_ToggleVar.
  • <blockquote>Don't worry about the file reorganization just yet. I will start working on the new directory structure on Friday, most likely.</blockquote>
    Ok. I've accumulated a few fixes since the beta4 release (though mostly game-side) so I'll merge them manually into the trunk before Friday.
    <blockquote>Dani, note the problem with M_ToggleVar.</blockquote>
    Doh! I'll fix it.
Sign In or Register to comment.