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 - Osiri

Pages: [1]
1
Technical Help: IN GAME bugs (after loading world) /
« on: March 02, 2006, 10:36:12 pm »
Dave:

What brought it to my eye is that for some reason it got flagged as a UMR (uninitalized memory read).  I was trying to simplify it so I could understand it a bit more.  Having said that I agree that adds confusion and would actually upon reflection (personally) move the * around a bit:

uint32 p = *(uint32*)(buff+pos);
uint32 id = csLittleEndian::UInt32(p);

I think that\'s the best of both worlds.. both easily readable and short.

As for the 3rd item.  I have to look at the class factory code.. something is off.

Osiri

2
Technical Help: IN GAME bugs (after loading world) /
« on: March 02, 2006, 05:50:35 pm »
acraig and Ary:

I agree this probably isn\'t the ultimate fix for the problem.  The problem happened for my on my client at load into the world (bad position).

I will however say that, I don\'t need to stopmovement if I\'m not actually moving, so while it\'s not perfect, and probably should be logged (agree 100%) it\'s also a non-fatal issue.  

Should it be resolved elsewhere: quite possibly.  Does it break anything resolving it here: not from my testing.

Osiri

3
Ok folks.. here goes: (current as of my checkout from CVS about 3 hours prior to this posting)

PS: any of these may be wrong.. submitted for approval only :P

Issue:
Null Pointer Read:
Where:
    psCelClient::HandleUnresolvedPos(GEMClientObject *,csVector3 const&,float,csString const&) [g:\\dev\\planeshift\\planeshift\\src\\client\\pscelclient.cpp:751]
Fix:
          /* TODO: begin change */
            if (psengine->GetCharControl())
         {
               psengine->GetCharControl()->GetMovementManager()->StopAllMovement();
            }
           /* old version */
           //psengine->GetCharControl()->GetMovementManager()->StopAllMovement();
          /* end change */

Issue:
Nit pick (hard to read, possible uninited memory read)
Where:
psMsgStringsMessage::psMsgStringsMessage(MsgEntry *message) [messages.cpp:3054]
Fix:
       /* TODO: begin change */
        char * tpos = buff + pos;
       uint32 *p = (uint32*)tpos;
      /* old version */
       //uint32 *p = (uint32*)(buff+pos);  //change for readability
        /* end change */

Issue:
Unitialized Memory Read
Where:
void pawsMultiLineTextBox::Draw() [pawstextbox.cpp:1511]
Fix:
Ok this is a two part fix.. First of all canDrawLines should be inited in the constructor to 0.
The second part is as follows at the offending location.  However, I\'m not 100% sure this is the right fix.  It\'s just the best I could find.
[edit] Ok this still didn\'t solve the unitied memory read, although it REALLY should have.  canDrawLines is STILL united.  Is there a problem with: CREATE_PAWS_FACTORY?????? [/edit]

  /* TODO: begin change */
    // This is possibly the wrong course of action but canDrawLines wasn\'t inited in constructor.. best I could come up with
 if (!canDrawLines) canDrawLines = screenFrame.Height() / maxHeight;
    for (size_t x = startLine; x < (startLine+canDrawLines); x++ )
  /* old version */
   //for (size_t x = startLine; x < (startLine+canDrawLines); x++ )
    /* end change */

Regards,

Osiri



4
Technical Help: IN GAME bugs (after loading world) /
« on: February 23, 2006, 02:28:33 am »
Quick and to the point:  My thoughts are if you want to taunt the monster you should actually use a taunt.  Attacks should be just that.

I also think that until the first blow has been landed if someone else lands a blow the monster will lock onto them instead.  This would prevent any griefing issues.

I\'ve died constant times by attacking a monster that was too far away to actually hit, then the combat bugging and when I get close to the monster having the cancel combat and restart it.

Just my 2 cents.

Osiri

Pages: [1]