Radiant's minor bugs thread

Started by Radiant, Fri 23/07/2004 14:45:12

Previous topic - Next topic

Radiant

#20
If I place 'addinventory' and 'newroom' one after the other in a script, then on_event only gets called for the newroom event. A warning might be in order.
Same thing with two consecutive 'addinventory's.

Feature request: RestrictCharacterToRegion(charnum, region)
Means said character will treat all other regions as non-walkable. (or, walkable areas if you prefer)
Useful for instance for a duck that is restricted to water, whereas EGO can both walk on land and enter the water. Sierra uses it a lot (obj.on.water)
(it isn't really important since I've written a workaround that continually checks GetRegionAt() but I figured it might be a nice idea)

If a textbox GUI is visible, then all letter keys pressed will be passed onto that textbox - it doesn't matter if the textbox GUI is set to non-clickable, if the textbox itself is set to disabled, or if another modal GUI is placed on top of the textbox.

Character A set to ignore walkbehinds, and set to baseline 170.
Half of him is over a walkbehind with baseline 190 (which is thus ignored).
The other half is not over any walkbehind.
EGO will appear behind the walkbehind, but in front of character A. Why?

Finally, this came up in another thread, I thought it was my slowish computer but more people are having this problem...
If I do a SetObjectPosition (0, 10, 10), then MoveObject (0, 200, 10),
what happens is that the object moves visually to about 150,10, then instantly snaps to its destination. Or sometimes it snaps to 50,10 and then starts moving visually.
Ditto for characters. Only it doesn't always happen, which made me think it was a frameskip caused by my slowish computer. But since it also happens on 2 GHz boxen, I may well be wrong about that.

Quote
Characters will only follow when they're idle - this is by design so that you don't have to turn off follow whenever you want to move or animate the character.
That makes sense, but how about adding a warning if the character is animating loopedly, because in that case it will never stop to go for the chase.

Quote
What if you restart the game by clicking on a button (so that no keypresses are involved)? Does the same problem happen?
Not sure, I'll check on that.

SSH -> Yup, that's roughly what I'm doing, except that I don't do it in the editor; I've created a small program that reads an AGS game and encrypts all the strings it finds there.

Pumaman

QuoteHow about a workaround to make it easier for people:

1. Add an "encrypt string" function to the script editor to encrypt anything between quotes on the current line
2. Add a decrypt function to AGS

That's a possibility, but if I'm going to go to all that effort it'd may as well just encrypt the strings automatically. Anyway, as I say it's on my to-do list but I don't really consider it a high priority feature since any particularly sensitive strings you might have can simply be stored in a global or room message.

QuoteIf I place 'addinventory' and 'newroom' one after the other in a script, then on_event only gets called for the newroom event. A warning might be in order.
Same thing with two consecutive 'addinventory's.

Yeah - I'm thinking about adding some sort of  on_event_always  to deal with this. A warning wouldn't go amiss, though.

QuoteFeature request: RestrictCharacterToRegion(charnum, region)

How about something like RemoveWalkableAreaForCharacter, to be more consistent with the current approach. I can see how it'd be useful, so I'll add it to my list.

QuoteIf a textbox GUI is visible, then all letter keys pressed will be passed onto that textbox - it doesn't matter if the textbox GUI is set to non-clickable, if the textbox itself is set to disabled, or if another modal GUI is placed on top of the textbox.

The only problem I see there is that it accepts keypresses when disabled -- this is counter-intuitive and I'll get it fixed.

QuoteCharacter A set to ignore walkbehinds, and set to baseline 170.
Half of him is over a walkbehind with baseline 190 (which is thus ignored).
The other half is not over any walkbehind.
EGO will appear behind the walkbehind, but in front of character A. Why?

What baseline is EGO at at the time?

QuoteThat makes sense, but how about adding a warning if the character is animating loopedly, because in that case it will never stop to go for the chase.

Sounds reasonable, I'll look into it.

QuoteFinally, this came up in another thread, I thought it was my slowish computer but more people are having this problem...

I've replied in that thread.

Gilbert

3. Write a decypher function yourself, and put cyphered texts between quotes.

Radiant

#23
Quote
QuoteCharacter A set to ignore walkbehinds, and set to baseline 170.
Half of him is over a walkbehind with baseline 190 (which is thus ignored).
The other half is not over any walkbehind.
EGO will appear behind the walkbehind, but in front of character A. Why?
What baseline is EGO at at the time?
Zero, i.e. his feet. EGO was standing at around Y 160.

Quote
QuoteFinally, this came up in another thread, I thought it was my slowish computer but more people are having this problem...
I've replied in that thread.
Thanks!

Quote
What if you restart the game by clicking on a button (so that no
keypresses are involved)? Does the same problem happen?
Yes. I've tried all four combinations (bypassing the intro with keyboard or mouse, and restarting with keyboard or mouse) and in all four cases the game usually restarts to some point halfway or fully past the intro.

Pumaman

QuoteYes. I've tried all four combinations (bypassing the intro with keyboard or mouse, and restarting with keyboard or mouse) and in all four cases the game usually restarts to some point halfway or fully past the intro.

By default, the restart point is set after Player Enters Screen finishes executing in the first room. If you want to specify it differently, you can use SetRestartPoint.

QuoteZero, i.e. his feet. EGO was standing at around Y 160.

Ah, this is a bit of a wierd effect caused by the way that SetCharacterIgnoreWalkbehinds works -- it basically sets the character's baseline to 1. This means that any other objects & characters will appear in front of it.

I can't remember why it does this so I'll look into it.

SMF spam blocked by CleanTalk