Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Ginga

Pages: [1] 2
1
General Discussion /
« on: December 25, 2004, 06:04:16 pm »
Quote
Originally posted by Kepto
The big question I have is why CB was released for Microsucks BEFORE  a stable Linux release! This gives the Microsucks players an unfair advantage of \"getting ahead\" in CB while we are out of the loop!


yes, it\'s not fair, specially when you use free software to discriminate free software users, I agree with you X(

anyway, I got the source compiled and the data via updater tool, could play for a while but goes slooooow with my pentium 1\'8GHz, 384MB RAM system, and it\'s not very playable. graphics are nice, though.. I tried to play again today but the servers are down, so I\'m writing here to fill my spare time...

2
Development Deliberation /
« on: December 04, 2004, 04:17:37 pm »
Quote
Originally posted by Fiver
ok i know this has nothing to do with the bug but it just botherd me and I had to ask...  :P


because it\'s a quick example and your construction uses more characters than mine ;) .  Androgos said it with another words.

3
Development Deliberation /
« on: December 04, 2004, 05:39:45 am »
(merging replies)

Quote
Originally posted by jorrit
C or C++ are not actually not THAT high-level languages. The core language features are on purpose put pretty close to the bare machine.


you\'re right, at least with C (I don\'t know if with C++ is on purpose or derived for relaying in C), but I think that you should only use that tricks for special cases (hardware issues, etc), not for trivial cases as this.

Quote
Quote

in fact -1 could be set in example to zero in some compiler, because it\'s the closest value in the unsigned range to -1.


Do you have a reference on this? I don\'t think this will ever happen and I doubt it is described in the C++ reference manual like this.


I don\'t, but I suppose that this is not described, and so it\'s up to each compiler to decide what to do when using wrong values. you were right: actually it works with GCC, and probably will continue to be valid in the future with this compiler, not sure about other compilers.

Quote
Quote

again, it\'s not semantically correct to asign -1 to an unsigned int/size_t value, but do as you wish: you\'ll do it anyway :)


You misunderstood me. I never said it was correct. The only thing I said was that it would work. But working != correct. Semantically it is indeed not correct and it is best that it is fixed.


I\'m glad to read this, and my apologies for the confusion. I think that any of the developers are equal or more familiar with C++ than me, and much more familiar with PlaneShift code, so it\'s up to you to decide when and how to fix it, that function is quite complex for me at the moment.

Quote
Originally posted by jorrit
Quote
Originally posted by Ginga
then you can use \"char\" for most of the unsigned int purposes, since it\'s also standard C/C++, and it\'s implemented as an 8-bit unsigned int :P  think about syntax and semantics..


I don\'t understand what you mean to say here. size_t is used as the standard index type for arrays in C++ (i.e. look at STL for example). Why should we use another type for this when C++ says it should be size_t? We can hardly use char here.


well, I missed some parts of the function, that values interact with Lenght() and the variable is used at the end of the functions as an array, so it makes sense size_t here -- my apologies again.

just to explain what I mean with the char example, I thought that size_t didn\'t make sense there, and so I mean that you can also use char as index (it works), but would be semantically incorrect as well:

[05:24] /tmp $ g++ lala.cpp && cat lala.cpp && ./a.out
#include

int main ()
{
  char lala;
  int array[21];

  for (lala = 0; lala < 21; lala++)
    {
      array[lala] = lala*lala;
      std::cout << array[lala] << \" \";
    }
  std::cout << \"\\n\";

  return 0;
}

Output: 0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400

well, so I hope that some of you pick up this and \"fix\" it some day :)


PS: is this the right place to report this bugs or not-quite-bugs? not sure about this.

4
Technical Help: Problems BEFORE entering the game /
« on: December 04, 2004, 04:49:01 am »
Quote
Originally posted by Athon Solo
I\'m compiling from the planeshift-0.2.010FullSourceAndArt.tar.gz package on Debian Sarge (last update: today). I\'ve come across a problem I can\'t find a fix to either on these forums or via Google.
...


I could compile it doing some \"right\" fixes (in example, you get rid of nasm problems editing the file and harcoding the full path of the \"missing\" files) and I had to do some \"blind\", bad fixes (commenting out functions that were not present in CS as that dGeomGroupWhatever, in the versions that that guide recommends -- seems that there\'s no such function and I don\'t know which are the correct fixes).

but I ended up with a client that crashes in a few minutes, if not loading the world.. so I gave up.

you can\'t use the CVS head version either: there is no public server available for this version at the moment. I think that you (we) couldn\'t do much till the next release in the next days/weeks/months/.../ ;)

5
Development Deliberation /
« on: December 03, 2004, 06:31:14 pm »
Quote
Originally posted by jorrit
Quote
Originally posted by Ginga
(that\'s the bug that I was talking about in the IRC with blueCommand, they thought that was me wanting to initializate that variable to -1).


That\'s not true either. At machine level there is only a bitwise comparison done. And signed -1 is bitwise equal with unsigned ~0. So that if CAN return true. It is only the compiler that (rightly) warns about this. The correct if construct would be:

if (bla == (size_t)-1)

Greetings,


well, if you use a high level language to play then with bitwise values in this simple uses.. either you or I don\'t get the picture.

in fact -1 could be set in example to zero in some compiler, because it\'s the closest value in the unsigned range to -1. do you know all the possible responses for WRONG value is used for all the possible compilers that PS could be ported? what about an exception because of out of range? :)

again, it\'s not semantically correct to asign -1 to an unsigned int/size_t value, but do as you wish: you\'ll do it anyway :)

6
Development Deliberation /
« on: December 03, 2004, 06:06:42 pm »
Quote
Originally posted by jorrit
Quote
Originally posted by Ginga
well, I think that size_t is not a very well suited name for non-storage related things, but anyway it\'s the same problem as the bug reported yesterday, since size_t is unsigned integer -- the if never becomes true.


\'size_t\' is standard C++. We cannot change C++ to change that name :-)

Greetings,


then you can use \"char\" for most of the unsigned int purposes, since it\'s also standard C/C++, and it\'s implemented as an 8-bit unsigned int :P  think about syntax and semantics..

7
Development Deliberation /
« on: December 03, 2004, 03:46:14 pm »
Quote
Originally posted by Aerig
What made me ask the original question is that it seems to be referring to header files that are nowhere to be found, eg physicallayer/entity.h (or something like that).


if I recall correctly that is a file in CrystalSpace or CEL, in that case either you haven\'t exported correctly its directories after compiling them, have not compile them at all, or maybe there are libraries or software building tools missing (like sdl, sound, cal3d, swig, libpng/jpeg/whatever..) that prevent some essential (for PlaneShift at least) parts of CS or CEL to be compiled at all.

if you follow this guide: http://www16.brinkster.com/acraig/planeshift/building.html and get all the development packages that the ./configure says before compiling CB (swig, libpng/jpeg/etc as said before), there should be no problem.

btw: I think that this is not the right forum to talk about this, use technical help instead :)

8
Development Deliberation / yet another subtle bug: advicemanager.cpp
« on: December 03, 2004, 03:28:35 pm »
hi,

in \"src/server/advicemanager.cpp\"

--------------------------------------------------------------
void AdviceManager::HandleAdviceResponse( MsgEntry *me)
{
    size_t advisorID = -1;

    CPrintf(CON_DEBUG,\"Advisor has responded.\\n\");

 Client* advisor = psserver->GetNetManager()->GetClient(me->clientnum);

    if (!advisor)
    {
        Error1(\"Got unknown client!\");
        return;
    }

    //Search loop that will found the right advisor nr in the advisors array and use it as an id
    for (size_t i = 0; i < advisors.Length(); i++)
    {
        if ( ( advisors.client_id == me->clientnum ) )
        {
            advisorID = i;
        }
    }

   if ( advisorID == -1 )
  {
       psserver->SendSystemInfo(me->clientnum,\"You need to be an advisor to use this command.\");
     return;
 }
--------------------------------------------------------------


well, I think that size_t is not a very well suited name for non-storage related things, but anyway it\'s the same problem as the bug reported yesterday, since size_t is unsigned integer -- the if never becomes true.

(that\'s the bug that I was talking about in the IRC with blueCommand, they thought that was me wanting to initializate that variable to -1).

9
Development Deliberation / a little inconsistency with combat messages
« on: December 03, 2004, 02:51:45 am »
hi,

I\'ve found a little inconsistency with the locations of hits in combats. in src/common/net/messages.h:

--------------------------------------------------------------
/**
 * Messages sent from server to client containing each detailed
 * combat event.
 */
class psCombatEventMessage : public psMessageCracker
{
public:
    int        event_type;
    uint32_t   attacker_id;
    uint32_t   target_id;
   uint32_t   target_location; // Where on the target the attack hit/miss
--------------------------------------------------------------

the target location (note: unsigned int) seems related to src/common/util/slots.h:

--------------------------------------------------------------
/** Holds a list of the possible socket identifiers that items can be attached to.
 */
enum EQUIPMENT_SLOTS
{
   PSCHARACTER_SLOT_NONE = -1,
    PSCHARACTER_SLOT_RIGHTHAND = 0,
    PSCHARACTER_SLOT_LEFTHAND = 1,
    ...
    PSCHARACTER_SLOT_COUNT = 16
};
--------------------------------------------------------------

then in src/server/combatmanager.cpp:

--------------------------------------------------------------
void psCombatManager::HandleDeathEvent(MsgEntry *me)
{
    CPrintf(CON_DEBUG, \"Combat Manager handling Death Event\\n\");
    psDeathEvent death(me);

    // Send out the notification of death, which plays the anim, etc.
    psCombatEventMessage die(death.deadActor->GetClientID(),
                                psCombatEventMessage::COMBAT_DEATH,
                                (death.killer)?death.killer->GetEntity()->GetID():0,
                                death.deadActor->GetEntity()->GetID(),
                                -1, // no target location
                                0,  // no dmg on a death
                                -1,  // TODO: \"killing blow\" matrix of mob-types vs. weapon types
                                death.deadActor->FindAnimIndex(\"death\") ); // Death anim on client side is handled by the death mode message

    die.Multicast(death.deadActor->GetMulticastClients(),0,0);
}
--------------------------------------------------------------

the compiler gives a warning because this function pass -1 to an int, and so the value really stored it\'s MAX-UNSIGNED-INTEGER for each particular architecture.

so I guess that in this particular message it\'s not a problem because the server will report that the player is dead and no special information about where the player got hit; but anyway I think that the right thing to do is to use int instead of unsigned integer (in the first chunk of code that I pasted).

10
Development Deliberation / bugtracking location?
« on: December 03, 2004, 02:50:38 am »
hi again,

I was browsing the bug reports in the project page at sourceforge [  http://sourceforge.net/tracker/?atid=108351&group_id=8351&func=browse ] and seems that is a little bit outdated or not used at all:

- the last bug closed was in July

- for example, the one reported in October 27th about error with \"/echo\" command was fixed the same day by Androgos/blueCommand, but it\'s no closed.

so... is there a place, bug-tracking system or so where people can see (and try to squash ;)) the outstanding bugs?

11
Development Deliberation / ??
« on: December 01, 2004, 03:52:32 am »
is my english so bad? ?(  I don\'t know what\'s the problem..

Quote
Originally posted by Andycornell
edit: That angry face wasent supposed to be there

Custom made patches? Ever heard about it? Me havent anyway. hmm, no, google did not tell me anything usefull about custom patches. hmm..... No, cant help you there.

12
Development Deliberation / where/who to send patches?
« on: December 01, 2004, 03:00:59 am »
hi,

I\'m working on some little patches, just in the case that I get them work :] where or who to send them? (I walked the threads of the forum and didn\'t get the answer, sorry if it is).

I saw the patch manager in http://sourceforge.net/tracker/?atid=308351&group_id=8351&func=browse but doesn\'t seem to be very active..

13
Quote
Originally posted by rufo
I have compiled right now Paneshift Molecular Blue latest CVS (30/11/2004) with no errors in Debian (Knoppix based) sarge/sid


I compiled it a few days ago, too; with help from acraig and his guide: http://www16.brinkster.com/acraig/planeshift/buildmb.html

anyway, I had to fix some things in the code (duplicate entries in files parsed by bison, calls to inexistent functions -that was a bad fix, since I didn\'t know the right functions to use-, etc) and my binary segfaults quite often, but I think that can be because of lack of memory because it uses more than the physical RAM (384MB)..

so you were using other tags in the checkout of the code? or you fixed that errors too?

Quote

I compliled first Cal3D, CrystalSpace and Cel.


I think that MB does not use cal3d.

mmm, were you using one of those guides in the web with no specific tags in the checkout? CB uses cal3d, maybe you compiled CB and not MB :)

Quote

Thanks to Jorrit, I could make a howto. :)


I could help too, but with CB so close (well, maybe not, but... ;)) and with the other guides around I think that might no be very useful.

but I think that is a good idea to make such document for CB, including packages that CrystalSpace depends of (I sent a Request For Package to Debian to include CEL, so this way with the correct versions would be much easier to build PlaneShift), so if you want we can work together in it :)

14
Technical Help: Problems BEFORE entering the game /
« on: November 24, 2004, 06:52:39 pm »
Quote
Originally posted by acraig

Ah, opps, yes. I hit that as well.  Just bad timing on your part. I\'ve fixed that now and commited that fix.  Sometimes people forget to commit a file so things are broken.  But this is normally never longer then a day or so.  There is an advisor problem as well and waiting for that guy to log in to hit him with the \"don\'t break the build stick\".


I compiled it again and this time I could even play the testing maps, not much to do :)

it still gives some nasty warnings (gcc-3.3.5), if you\'re interested I can post them in some forum or mailing list.


Quote

We have a wiki set up on sourceforge but nobody ( including us ) don\'t really use it. http://planeshift.sourceforge.net/wiki/

But I\'m all ears for different ideas for a site.


I think that this site is fine, but with some of these content management systems could be more easily updated, editing in webforms just like this forums. at the moment I would do more visibles the link to this forums, telling that much of the important info is published here. and the user contributed documentation has to be after the release anyway, if you\'re changing almost everything.

if you launch an announcement/thread maybe people could contribute with ideas and eventually compromising to help with that kind of site, users posting in the news the weekly cvs summaries as they do in the forums, etc :)

15
Technical Help: Problems BEFORE entering the game /
« on: November 24, 2004, 03:05:59 am »
Quote
Originally posted by acraig

Normally the code base is pretty stable, but the data needed to drive the database often is not.  This is due to the fact that we cannot put all the data into CVS.  Things such as quests and the like do not belong in a public view where everybody can see how to solve them :).
[...]
Yes, this could be a result of missing data.  We don\'t even have all the data yet ourselves :).  But if you have specific problems with CB I can give a good indication if they are data problems or something more serious.
[...]
We ( at least I ) hope to have the release out soon and we will have a \'data\' package for linux people to download that should fix some of the issues you are having.


for example, compiled right now:

---------------------------

C++ ./out/linuxx86/optimize/src/server/gem.o src/server/gem.cpp: In member function `void gemActor:: DoDamage(gemActor*, float)\':
src/server/gem.cpp:1297: warning: converting to `int\' from `float\'
src/server/gem.cpp: In member function `int gemActor::AddSpellCategory(const   csString& )\':
src/server/gem.cpp:1953: error: `psGUIActiveMagicMessage::commandType\' is not an aggregate type
src/server/gem.cpp: In member function `void    gemActor::RemoveSpellCategory(const csString& )\': src/server/gem.cpp:1970: error: `psGUIActiveMagicMessage::commandType\' is not  an aggregate type

---------------------------

so these are not data problems. some of them are due to continuous updates, that leave some parts not working for a few hours, but in the last days I could compile at least both client and server several times.

I think that some problems with maps and server crashing it\'s because of data problem, yes. but if you\'re not going to release the data till the final CB release there\'s no point in me for trying to get the game runnig (except for testing purposes, if you want to), that was what I want to know, thanks :)

Quote

Quote

and btw, it would be great some sort of drupal or another Content Management System, with integrated forums, a wiki for user contributed doc, etc; I think that many volunteers could help to make a great site :)

Yes, we need some system there. Not sure if a wiki is the best solution for that. I would rather just have somebody be the webmaster that can design a nice site and we just upload it to the right place.


oh, I dind\'t want to say \"wiki for all\", I don\'t like very much wikis either. I mean a global system that allowed usrs to register and post in forums, help with the doc and so on. the staff could then publish information (news, edit \"static\" pages as the organization, ...) in an easy way; usrs participate in the forums and documenting the program in the wiki.

example site: http://www.linuxquestions.org/ (forums, news, tutorials, ...)

and the wiki: http://wiki.linuxquestions.org/wiki/Mmorpg (that has PlaneShift listed, by the way ;))

the wiki would hold information like this: http://info.atitd.net/tech_res_view.php?id=41 (describing types of items, utility, professions, classes, ...)

that would be a way of getting the community involved and doing something useful while devels are coding :)

just my 2 (euro)cents.

Pages: [1] 2