Jump to content

zoot

Community Members
  • Posts

    1.557
  • Joined

  • Last visited

  • Days Won

    9

Posts posted by zoot

  1. We've had tons of internal discussion no this. In a nutshell, WFG does not have to be the same experience for every contributor. There are different levels of commitment that can be given by contributors based on their availability and desired involvement, from paid temporary or permanent full-time and part-timers (contractors), to those who we give commit and forum privileges to (staff members), to (last but certainly not least) open sourcers whose involvement is akin to a hobby.

    Lots of people with full-time jobs are not committed or even outright slackers, while, on the other hand, most of the work on this project has been done by unpaid "hobbyists". So nominal work hours doesn't really seem like a good measure of quality. But if all unpaid contributors on the team are behind it, and don't feel like they are being robbed, I suppose it could work, depending on how many more years they are willing to volunteer :P

  2. As a reaction to Zoot, there's nothing wrong with a staff that's paid full time or part time, if others can also have the possibility to earn something. If you take something like a bid-for-fix system (http://www.bidforfix.com/), people can just take up the challenge, and if a fix gets released, the money can go to the developers who worked on that fix (it doesn't matter if they're part of the regular paid staff or not). Or some other system that gives rewards to the casual contributor.

    How does that relate to having a paid manager? Anyway, we'll see how things turn out.

  3. A word of warning from Karl Fogel (a co-creator of SVN):

    However, funding also brings a perception of control. If not handled carefully, money can divide a project into in-group and out-group developers. If the unpaid volunteers get the feeling that design decisions or feature additions are simply available to the highest bidder, they'll head off to a project that seems more like a meritocracy and less like unpaid labor for someone else's benefit. They may never complain overtly on the mailing lists. Instead, there will simply be less and less noise from external sources, as the volunteers gradually stop trying to be taken seriously. The buzz of small-scale activity will continue, in the form of bug reports and occasional small fixes. But there won't be any large code contributions or outside participation in design discussions. People sense what's expected of them, and live up (or down) to those expectations.

    I'm quite skeptical what a paid 'manager' would be able to add to the project, but we'll see :P Good to see that feneur stays around in some capacity, though.

  4. To pull my changes into the current branch in your own repo, you would do something along the lines of:

    git remote add zootzoot https://github.com/zootzoot/0ad.git
    git pull zootzoot/attack-notification

    The first line adds my repo as a remote, and the second one does the pull.

    Secondly.I ll need to figure out how to access the minimap object from CCmpMinimap. Need to look at the code in other components to see if they access GUI objects using CGuiManager or something similar

    There must be some kind of interface between CCmpMinimap and the actual minimap already, but yeah, I don't know if it suffices for this task.

  5. Here is what I have now, you'll decide whether it seems workable: https://github.com/zootzoot/0ad/commit/1d5db6f8d4511915266d859c25950b98fc72e238

    Instead of calling Engine.PingMinimap(), this posts a message of type MT_EntityAttacked to the attacked entity. You should be able to intercept this message in the CCmpMinimap.cpp component, like it already intercepts MT_PositionChanged and MT_OwnershipChanged messages: https://github.com/0ad/0ad/blob/master/source/simulation2/components/CCmpMinimap.cpp#L139

    The message type would have to be defined on the C++ side first, though.

  6. Yes, you can always go back to the earlier commit. See e.g.:

    http://ariejan.net/2011/09/08/git-remove-reset-and-rollback-commits/

    http://davsblog.me/how-to-do-rollbacks-in-git-in-other-words-oop

    Another option would be to create a new branch from your existing one (Git branches are designed specifically to be cheap and light). If your work in the new branch works out, you can merge it back into the old one. If it doesn't, you simply switch back to the old one.

    http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

  7. Ok, is this because you see some units are being attacked but not being pinged in the minimap ? Because the logic for playing the sound suppresses some of these notifications to prevent the sound/attack notifications being constantly played ?

    Yes, basically. We should still be able to see that units are under attack, even if the initially pinged fellow died.

  8. Suggestion: What do you think about moving the ping functionality into the CCmpMinimap.cpp component (much like you originally suggested), but then instead of triggering it from messages.js once, together with the sound, it would be triggered directly by the AttackDetection.js component every time a unit is hit?

    That way units still under attack would keep blinking even after the one initially pinged has died, and it would make more units in a skirmish blink, thus making it easier to see.

  9. So far so good, though now I get:

    $ make -j9
    ==== Building mocks_real (release) ====
    ==== Building network (release) ====
    ==== Building simulation2 (release) ====
    ==== Building scriptinterface (release) ====
    ==== Building engine (release) ====
    ==== Building graphics (release) ====
    ==== Building atlas (release) ====
    ==== Building gui (release) ====
    ==== Building lowlevel (release) ====
    ==== Building mongoose (release) ====
    ==== Building mocks_test (release) ====
    ==== Building AtlasObject (release) ====
    ==== Building AtlasScript (release) ====
    ==== Building Collada (release) ====
    ==== Building AtlasUI (release) ====
    MiniMap.cpp
    CGUI.cpp
    ScriptFunctions.cpp
    ==== Building ActorEditor (release) ====
    ../../../source/gui/scripting/ScriptFunctions.cpp:26:25: fatal error: gui/Minimap.h: No such file or directory
    compilation terminated.
    make[1]: *** [obj/gui_Release/ScriptFunctions.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make: *** [gui] Error 2

  10. Great. I get errors when building, though:

    $ make -j9
    ==== Building mocks_real (release) ====
    ==== Building network (release) ====
    ==== Building simulation2 (release) ====
    ==== Building scriptinterface (release) ====
    ==== Building engine (release) ====
    ==== Building graphics (release) ====
    ==== Building gui (release) ====
    ==== Building mongoose (release) ====
    ==== Building atlas (release) ====
    ==== Building lowlevel (release) ====
    ==== Building mocks_test (release) ====
    ==== Building AtlasObject (release) ====
    ==== Building AtlasScript (release) ====
    ==== Building Collada (release) ====
    ==== Building AtlasUI (release) ====
    MiniMap.cpp
    CGUI.cpp
    ScriptFunctions.cpp
    ==== Building ActorEditor (release) ====
    In file included from /usr/include/c++/4.7/unordered_map:35:0,
    from ../../../source/gui/MiniMap.h:22,
    from ../../../source/gui/MiniMap.cpp:22:
    /usr/include/c++/4.7/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
    In file included from /usr/include/c++/4.7/unordered_map:35:0,
    from ../../../source/gui/MiniMap.h:22,
    from ../../../source/gui/CGUI.cpp:41:
    /usr/include/c++/4.7/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
    ../../../source/gui/scripting/ScriptFunctions.cpp:26:25: fatal error: gui/Minimap.h: No such file or directory
    compilation terminated.
    In file included from ../../../source/gui/CGUI.cpp:41:0:
    ../../../source/gui/MiniMap.h:34:9: error: ‘unordered_map’ in namespace ‘std’ does not name a type
    ../../../source/gui/MiniMap.h:111:2: error: ‘map_Ping’ does not name a type
    In file included from ../../../source/gui/MiniMap.cpp:22:0:
    ../../../source/gui/MiniMap.h:34:9: error: ‘unordered_map’ in namespace ‘std’ does not name a type
    ../../../source/gui/MiniMap.h:111:2: error: ‘map_Ping’ does not name a type
    ../../../source/gui/MiniMap.cpp: In member function ‘void CMiniMap::AddPing(entity_id_t)’:
    ../../../source/gui/MiniMap.cpp:257:2: error: ‘m_EntitiesToPing’ was not declared in this scope
    ../../../source/gui/MiniMap.cpp: In member function ‘virtual void CMiniMap::Draw()’:
    ../../../source/gui/MiniMap.cpp:488:5: error: ‘map_Ping’ has not been declared
    ../../../source/gui/MiniMap.cpp:488:24: error: expected ‘;’ before ‘pingIter’
    ../../../source/gui/MiniMap.cpp:490:10: error: ‘pingIter’ was not declared in this scope
    ../../../source/gui/MiniMap.cpp:490:22: error: ‘m_EntitiesToPing’ was not declared in this scope
    ../../../source/gui/MiniMap.cpp:524:5: error: ‘map_Ping’ has not been declared
    ../../../source/gui/MiniMap.cpp:524:24: error: expected ‘;’ before ‘pingIter’
    ../../../source/gui/MiniMap.cpp:526:10: error: ‘pingIter’ was not declared in this scope
    ../../../source/gui/MiniMap.cpp:526:22: error: ‘m_EntitiesToPing’ was not declared in this scope
    ../../../source/gui/MiniMap.cpp:544:32: error: ‘m_EntitiesToPing’ was not declared in this scope
    ../../../source/gui/MiniMap.cpp: In member function ‘virtual void CMiniMap::Destroy()’:
    ../../../source/gui/MiniMap.cpp:704:2: error: ‘m_EntitiesToPing’ was not declared in this scope
    make[1]: *** [obj/gui_Release/ScriptFunctions.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make[1]: *** [obj/gui_Release/MiniMap.o] Error 1
    make[1]: *** [obj/gui_Release/CGUI.o] Error 1
    make: *** [gui] Error 2

×
×
  • Create New...