AGS 2.56 Pre-final - Mittens edition

Started by Pumaman, Sun 15/06/2003 22:18:21

Previous topic - Next topic

Zeuz

the speed adjusting with scaling doesent work on my PC
it works so far that my character walks not smoothly but his speed doesnt reduce with his size
what is my fault?

Pumaman

Quote from: Zeuz on Fri 11/07/2003 17:43:36
the speed adjusting with scaling doesent work on my PC
it works so far that my character walks not smoothly but his speed doesnt reduce with his size
what is my fault?

Did you check the "Adjust speed with scaling" checkbox for that character in the editor?

Vel

Chirs you Rule!

Chris Jones for king!

Pumaman

Quote from: netmonkey on Sun 06/07/2003 19:25:27
Hmm... I just noticed something interesting... and I'll call it a glitch for now: When you're in a dialog conversation, every time there's a new line said the current cursor (before the dialog) flashes for like a frame, making it look kind of odd. It seems that it happens every time another character speasks. this has been around for a while, and I think I did a nasty workaround in my game, but I'm sure that everyone would benefit from an automatic system.

I've just been looking into this but I can't replicate the problem. The cursor doesn't change for me between one line of speech and the next during a conversation. What exactly is the problem?

Grundislav

#104
Said cursor problem happens to me as well, but I've only seen it when I use a transparent field as my "wait" cursor. Then when the dialog starts, the cursor disappears as it should, but between messages, it becomes visible again for a split second.

Dave Gilbert

Hmm... my multiple inventories no longer work correctly.  :(

I used the old "invisible character" trick for the second inventory (a notebook of clues a la "Discworld Noir), and I switched back to EGO and set it's active inventory to the previous one.  Now, I get the error "Player does not have that inventory."  

Help?

-Dave

Pumaman

Quote from: Grundislav on Sun 13/07/2003 05:46:02
Said cursor problem happens to me as well, but I've only seen it when I use a transparent field as my "wait" cursor. Then when the dialog starts, the cursor disappears as it should, but between messages, it becomes visible again for a split second.

Hmm, I tried with a blank wait cursor, in both lucasarts and sierra-style speech, but between each dialog line I didn't see the cursor pop up at all. Is there any way of replicating this?

Quote
Hmm... my multiple inventories no longer work correctly.

I used the old "invisible character" trick for the second inventory (a notebook of clues a la "Discworld Noir), and I switched back to EGO and set it's active inventory to the previous one. Now, I get the error "Player does not have that inventory."

Can you post the script you're using, so I can see what the problem might be.

Dave Gilbert

Sure Chris.  It's long and complicated, though. :-)

Here is my mouse click code:  


function on_mouse_click(int button) // called when a mouse button is clicked. button is either LEFT or RIGHT
{
   if (button==LEFT) // LEFT CLICK
   {
    GUIOff(2);
    ProcessClick(mouse.x, mouse.y, MODE_WALK);
    if (GetCursorMode() == 4)
       {          
         ProcessClick(mouse.x, mouse.y, MODE_USEINV);        
       }
    else
      ProcessClick(mouse.x, mouse.y, MODE_USE);
    }    



else if (button==RIGHT) // RIGHT CLICK
 {
   
    SetPlayerCharacter(EGO);  
   GUIOff(2);
   //Display("Turned off GUI 2");
   SetCursorMode(6);
   //Display("Set cursor mode to 6");
   ProcessClick(mouse.x, mouse.y, MODE_LOOK ); // SINGLE-CLICK RIGHT
   //Display("processed look mode...");
   SetGlobalInt(30,0); //set "holding item" flag to 0
   
       
 }



else if (button==LEFTINV) // LEFT CLICK ON INV
 {
   if (GetCursorMode() == 4) //if holding item
   {
     RunInventoryInteraction (game.inv_activated, 4);
     
    }
     
   else
     {
      if (game.inv_activated == 17)  // if selected handkerchief
         {
           AnimateCharacterEx(EGO, 5,0,0,0,1);
           Wait(10);
           FaceCharacter(EGO,DOC);
           Wait(10);
           MoveCharacterBlocking(EGO, 132, 185, 0);
           DisplaySpeech(EGO, "Thank you, Doctor Quentin.");
           AnimateCharacterEx(EGO,6,0,0,0,1);
           AnimateCharacterEx(DOC, 4,0,0,0,1);
           DisplaySpeech(DOC,"Think nothing of it, Ms. Blackwell.");
           LoseItem(17);
         }  
         
       else
       {
        SetActiveInventory(game.inv_activated);
        SetGlobalInt(30,1);  //set "holding item" flag to normal inventory
       }
     }        
 }

else if (button==RIGHTINV) // RIGHT CLICK ON INV
      {  
      RunInventoryInteraction (game.inv_activated, MODE_LOOK); // SINGLE-CLICK RIGHT
      }

}


Here is my adding/losing inventory code:

function AddItem (int x)
{
 Display("Setting PlayerCharacter to EGO..");
 SetPlayerCharacter(EGO);
 Display("EGO SET..");
 Display("Add inventory X...");
 AddInventory(x);
 Display("Added inventory x...");
}


function LoseItem (int x)
{
 LoseInventory(x);
 SetCursorMode(6);
 SetMouseCursor(6);
 SetGlobalInt(30,0);
}

function loseNote(int note)
{
 
 character[INVIS].room = character[EGO].room;
character[INVIS].x = character[EGO].x;
character[INVIS].y = character[EGO].y;
// if you are in a scrolling room, so the viewpoint doesn't suddently shift
SetPlayerCharacter(INVIS);
LoseInventory(note);
// the inventory item you want to add
SetPlayerCharacter(EGO);
character[INVIS].room = -1;
// and remove the invisible character again
SetCursorMode(4);

}

function addNote(int note)
{
 
 character[INVIS].room = character[EGO].room;
character[INVIS].x = character[EGO].x;
character[INVIS].y = character[EGO].y;
// if you are in a scrolling room, so the viewpoint doesn't suddently shift
SetPlayerCharacter(INVIS);
AddInventory (note);
// the inventory item you want to add
SetPlayerCharacter(EGO);
character[INVIS].room = -1;
// and remove the invisible character again

}


And here is my repeatedly execute code, just to cover all the bases:

function repeatedly_execute()
{
 // put anything you want to happen every game cycle here
 
 if ( IsGUIOn(3) ) // if GUI 3 is on
   if ( GetCursorMode() == 4 )
     {
          // set cursor to active inventory
        character[EGO].activeinv = game.inv_activated;
       SetCursorMode(MODE_USEINV);
     }
 
 if ( (GetLocationType (mouse.x, mouse.y) ) ==0)  //if there is NO hotspot
   {
      GUIOff(2); // turn off label
      if (GetGlobalInt(30) == 0)  //if character is NOT holding something, set cursor to normal
      {
        SetMouseCursor(6);
        SetCursorMode(6);
      }
   }
  else  
  {
    if (GetGlobalInt(30) == 0) // if character is NOT holding something, set cursor to red
       SetMouseCursor(8);  
    GetLocationName(mouse.x,mouse.y,buffer);  //get the name of the hotspot
    int px= mouse.x;
    int py = mouse.y-17;
 
    SetGUIPosition(2, px,py);
    GUIOn(2);
    SetLabelText(2,0,buffer);
  }

  if (IsKeyPressed(17) == 1)
  QuitGame(0);

}


Thanks if you can help.  :-)




Pumaman

Which is the line that causes the error?

edmundito

#109
back to the old topic of the editor's look, it looks a lot better now without those black borders... it pleases my eyes :)

The only glitch I see is that the text parser list doesn't have a border, unlike the room list which does.

As for the manifest situation, it's looking pretty good but not good enough. I'll just report this for kicks if you ever decide to jibble with the editor again:

- The xpish buttons have an ugly black border around them, but somehow in the inventory items section they do not. So whatever you didn't do there is what made it look normal. an even more odd example is that if you go to File\Preferences, the "browse..." buttons have the black border but ok and cancel don't!

- The radio buttons haven't changed. all the contents is still black (like a black box with the little radio button) so you can't really read stuff.

- Weird thing is that the "hotspot settings"\"walkable areas"\etc frame name on the Areas section is bold! (and you can read half of what it says b/c of it) I don't know what's going on there either, but I guess manifest is picking it up.

That's it. I'll try to jibble with a wxWindows designer and mess with the radio buttons... I'm just trying to help out (and find an excuse to not work on my game. awful, isn't it? :P)

---

Edit: I was checking on the wxWindows website and last month: "June 13th, 2003. wxWindows 2.4.1 has been released. You can download it from here. This contains bug fixes to 2.4.0, including improved behaviour on Windows XP. "

other than that, I've got nothing. wxDesigner, which I've used before and looked terrible on windows xp actually looks pretty good now. and even the tiny dialog editor that comes with wxWindows doesn't screw up.... so maybe that new version of wxWindows has an answer. :P
The Tween Module now supports AGS 3.6.0!

Pumaman

Thanks, I'll get the text parser list fixed.

Yes, I upgraded to wxwin 2.4.1, which is why the black borders disappeared. They have stated that XP Themes are not supported which is why the maifest doesn't work, but they should be added in the next version.

Now netmonkey, explain that cursor flashing bug!!!111 How can I find it!!1  :P

Dave Gilbert

The crash happens everytime the command

SetPlayerCharacter(EGO);

is executed.

-Dave

edmundito

Quote from: Pumaman on Sun 13/07/2003 21:05:43
Thanks, I'll get the text parser list fixed.

Yes, I upgraded to wxwin 2.4.1, which is why the black borders disappeared. They have stated that XP Themes are not supported which is why the maifest doesn't work, but they should be added in the next version.

Now netmonkey, explain that cursor flashing bug!!!111 How can I find it!!1  :P

NETMONKEY TO THE RESCUE:

Here's the deal: If you check "Always display as speech",  the "Normal text" in the room message editor becomes the player character's speech, right? well, if you're doing a conversation based on messages (instead of using a dialog) then the "normal text" behaves differently than when you select "EGO" (ego being the main character). so when it goes to another character saying a line and it's trying to go back to the "normal text", I guess since it's supposed to go back to a text box after a character says a line, it changes the cursor, but it's not going back to a text box, so it changes the cursor back again to wait.

The end.
The Tween Module now supports AGS 3.6.0!

TheMagician

#113
Hi everyone (but especially CJ),

I just played around with the "adjust walking speed with scaling" thing ... and some very strange things happened:

1. I use the default Roger Sprites (no homemade character). When I scale him down to 50 percent (he already starts doing it with 70 percent) he is moving in an unsteady speed: normal ... slowdown ... normal ... slowdown ... (the walk area uses no continuous scaling)

2. when he moves to a screen edge in the room while being scaled down to 50 percent he stops ... and you have to click one more time to make him jump to the next screen (I used NewRoomEx from the room interaction window). This does not happen if he is at 100 percent.

3. I have to explain this in my bad english .. oh well, let's give it a try: i just found out the following: when you have a 50 percent-area in one room and use a NewRoomEx Command for one of the screen edges from the interaction window to jump to a 100 percent area in the new room, the character first stops at the edge (like above) and then - after you click the second time - he jumps to the correct room - but not to the specified coordinates - he just stays where he was when leaving the room... veery strange. So sometimes he enters the new room - stays in the old position and I can't move him anymore because he is outside all walkable areas.

Am I the onlyone experiencing this?

Can someone help?

Thanks in advance
Stefan

Scorpiorus

Quote* Added option to have the text parser with dialog options, so that the player can either select an option or type something in.
That's very handy.
oh, Chris, and hi thanks for fixing sharing palette problem :)


Some problems with GetGameParameter()...

1. GetGameParameter(GP_ISRUNNEXTLOOP, ...) always returns 0

2. Also if run the next loop after this is checked
GetGameParameter(GP_NUMFRAMES, ...) returns <actual number of frames> + 1 for that loop. :P

-thanks

Pumaman

Dave: ah I think I see the problem, I'll look into it.

netmonkey: Aha! So it's not a dialog problem at all, it's an Always Display As Speech problem! Thanks for working that one out - I'll look into it.

TheMagician: Are you using anti-glide mode?

Scorpiorus:  erm well spotted, I made a rather silly mistake - will get it fixed :)

Dave Gilbert On Vacation

I think I figured out a workaround... I just set the current active inventory item to -1 before setting the player character to EGO, then change it back afterward.  Seems a roundabout way of doing it, but it works.

-dave

Arcangel

Great.
I download the 2.55 version today and not work with it, look the foro and one new version. WOW CJ you are very fast. Good

TheMagician

CJ, I did not use Anti-Glide Mode.

However, now I activated it and the unsteady speed is gone. But the movement of the character now is really slooooow. Just like my comp doesn't have enough resources. (AMD XP 2200, 1024 MB Ram)

Changing the movement speed value of the character doenst help either.

TheMagician

Ben

You'll probably have to speed up your animation, or add more frames to it (or both). Anti-glide mode only moves the character when it changes to a new frame, so if you have a slow animation, the movement will be very chunky..

SMF spam blocked by CleanTalk