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

Pages: [1] 2 3 ... 125
As usual, it's That Simple. Thanks, I'll merge it in right away.

Could you show me that patch please? I can see how to not make it use the cx register for stuff like pprev but the comparison operators got to me.

I'm gonna have to upgrade that thing about color 255.

Did you know, besides not being defined in 999.pal, you can't use color 255 in Larry 6 either? I just made a patch view that adds some splotches in that color to a random easily-seen view and hello what's this then? It came out as transparent! And Larry 6 happens to not have a kernel name vocab.
Indeed, even though Freddy Pharkas' 999.pal does have a pure white 255, it too won't actually show that color outside of system windows, Graph, and text. Anything involving views, which includes background bitmaps, shows nothing for that color, even when the cel's skip color is completely different.

RemapColors was introduced in version 1.001.094. Freddy is .095 and Larry 6 is .113. I'm willing to bet both of them supported color remapping all along, in exchange for that logic error, and simply never used it.

The terp used in PQ1VGA and Crazy Nick's - version 1.001.029 - has the scr/hep split, but uses the SCI1.0 compression functions (no PKWARE in sight).
That just confirms what I was saying, from where I'm standing :)

SCI Development Tools / Re: Is it safe to patch this?
« on: September 17, 2023, 03:49:56 PM »
As literally just discussed in the chat on Conversations with Curtis, a script patch is safe to apply if your save doesn't use it. So a room can be patched if you're not in there. System scripts are... less easy to judge.

That's what it means.

Of course, you could have a hypothetical SCI 1.0 terp that already had the scr/hep split. After all, the EQ1 diskette version already had message resources (albeit simple noun/verb/text format, no cond/seq or even talker).

Could be one is late SCI 1.0 and the other is SCI 1.1.

SCI Syntax Help / Re: PAvoider not working
« on: September 15, 2023, 02:34:50 PM »
Don't call it that or you'll confuse the compiler~

SCI Syntax Help / Re: Ego Moonwalk
« on: September 15, 2023, 02:06:31 PM »
You gotta reset Ego's cycler and looper any time you want them to resume animating normally. In the SCI1.1 template that could be as simple as calling (SetUpEgo).

SCI Syntax Help / Re: PAvoider not working
« on: September 15, 2023, 02:01:20 PM »
According to the leaked LSL3 code's Avoider's comments:

Normally, when an Actor encounters a control line or other object
which blocks its normal motion, it simply stops right there.
If, however, an Avoider is attached to such an Actor, it will take
over and attempt to direct the Actor around whatever obstruction
it has encountered.

So an "Avoider" is not what you need to have the hen "avoid" Ego at all, despite the name. What you need is the non-standard opposite of the Follow or Chase Motion classes. You'd have to roll your own cos I can't find any for now.

(Note that attaching a PolyPath Motion to Ego (by walking somewhere perhaps) does not involve any Avoiders, polygonal or control color based. The pathfinder already worked out how to go around polygonal obstacles -- and that's why other Actors can still block your way!)

SCI Development Tools / Re: Importing BMP into SciCompanion problems
« on: September 13, 2023, 02:03:02 AM »
Not the version seen in Robbo's screenshots. You can tell by the toolbar icons and general blueness.

You mean, if it's a procedure not a class instance. Any way, you want IsObject to check for that case. Not sure what to do if there's more than one non-Room thing in the export table though...

Another way to do it could be to, given the target in x, to use (ResCheck rsSCRIPT x) to see if the script exists, then use (ScriptID x 0) and Object::isKindOf to see if it's a Room. That way you can restrict entering non-room numbers without needing a whole list. Don't forget to (UnLoad rsSCRIPT x) if it exists but isn't a Room!

Having a clickable list is one thing, but I feel like entering room numbers by hand gives a nice little feel of Danger.

After all, what if you could actually teleport and accidentally end up inside a wall, or the ground? It's a dangerous power! Entering the wrong number on startup and crashing back to DOS is actually the best possible failure scenario.

SCI Syntax Help / Re: View instance Prop instance and limitations
« on: September 12, 2023, 10:31:48 AM »
The thin line for the palm tree would be its base rect, which extends all the way from the bottom left of its cel to the bottom right. The thickness is determined by the object's yStep. Whenever a View is initialized or positioned, it calls the BaseSetter kernel, and that's what sets the View's brTop et al properties.

Now, Views always use the BaseSetter kernel, but Actors have a baseSetter property -- if you attach a Code object to that, it'll call doit on that Code, passing a reference to itself, so you can make the palm tree use a smaller base rectangle. Of course, to use an Actor for a non-animated element like a palm tree might be overkill so perhaps providing your own init might work better. First call (super init:), then set your own base rect right after. That might work well enough.

The ignrAct status bit ($4000) has these effects, among others:
1. When using addToPic, any view not ignoring other actors has its base rect rendered into the control map.
2. CantBeHere will, as the names suggest, skip checking other actors' base rects when determining if a View with ignrAct set can be there or not.
So its relevance here seems a bit off.

Why the Zodiac appears like that, I dunno.

As for view resource limitations, there's the general resource size limit. I'm not sure how well dither patterns RLE compress -- it depends on whether they're by pixel or by color, so that's a consideration and a half.

Pages: [1] 2 3 ... 125

SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.043 seconds with 20 queries.