Hello,

thanks for cc'ing me, as I'm now longer registered and don't plan to register again to unregister 2 weeks later.

Matthieu Fertré a écrit :
> Which release manager ? There's no release manager, I'm only
> developer, I've released it alone, spending 2 hours to only have
> critics...

Ok, I've acted as an *ss, being overly harsh.

But I'm desperate with the way wormux is developed, not because it is
bad, but rather because it doesn't suit me. Release without feature
freeze and testing of the very tarball released is not my cup of tea.
Last time I ran valgrind, I was overwhelmed by the leaks and access errors. This played some role in my leaving the wormux development effort one year ago.

Add to this that the packaging bug (docs/licence) I reported one year
ago over mail and IRC hasn't be fixed, and what I felt as carelessness
overwhelmed me.
My fault for not registering to the bugtracker and posting the bug report there, I guess.

>> Second, Polygon is also already defined by the windows GDI API. This
[...]
> Why are you including windows GDI API ? I don't think we need it

I don't, the way windows headers are does. Here's what's conflicting when compiling network/index_server.cpp:
- includes leading to Polygon class definition:
   network/index_server.h -> network/network.h -> menu/network_menu.h
    -> menu/menu.h -> gui/button.h -> tool/resource_manager.h
    -> map/random_map.h -> graphic/polygon_generator.h
    -> graphic/polygon.h
- includes leading to Polygon function declaration:
   network/index_server.cpp -> network/download.h -> curl.h
    -> winsock2.h -> windows.h -> wingdi.h

But indeed, there's a way to break this dependency. See new polygon.diff

This underlines the benefits of cleaning some headers with forward declarations, thus saving compile time and memory. My laptop is clearly io-bound here (most of the time, less than 15% CPU use).

>> Fourth, isnan should be used with the std:: scope in
>> src/object/physical_obj.cpp, as done with isnan.diff
>
> isnan is not part of true C++ for what I know. There's a problem too
> with that on apple system...
> http://lists.apple.com/archives/xcode-users/2005/Feb/msg00238.html

Indeed, and that's gcc 3.3. One could check whether isnan is in the std namespace:
http://blitz.cvs.sourceforge.net/blitz/blitz/m4/ac_cxx_isnan_in_namespace_std.m4?revision=1.1&view=markup

But then, if it isn't, maybe the __isnan function inlined in math.h should be used... A macro maybe, but that won't get us much further.

Best regards,
Kurosu
Index: src/network/network.h
===================================================================
--- src/network/network.h       (r‚vision 2671)
+++ src/network/network.h       (copie de travail)
@@ -29,12 +29,12 @@
 #include "distant_cpu.h"
 #include "include/action.h"
 #include "include/base.h"
-#include "menu/network_menu.h"
 //-----------------------------------------------------------------------------
 const std::string WORMUX_NETWORK_PORT = "3826";
 const uint WORMUX_NETWORK_PORT_INT = 3826;
 
 class NetworkServer;
+class NetworkMenu;
 
 class Network
 {
Index: src/menu/map_selection_box.cpp
===================================================================
--- src/menu/map_selection_box.cpp      (r‚vision 2671)
+++ src/menu/map_selection_box.cpp      (copie de travail)
@@ -23,6 +23,7 @@
 #include "include/action_handler.h"
 #include "map/maps_list.h"
 #include "network/network.h"
+#include "gui/null_widget.h"
 
 MapSelectionBox::MapSelectionBox(const Rectanglei &rect, bool _display_only) :
   HBox(rect, true), selected_map_index(0)
_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à