Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Some useful things for mouselook

Huns Valen
Don't PM me here.
Join date: 3 May 2003
Posts: 2,749
09-21-2004 00:11
1: AGENT_MOUSELOOK bitmask for llGetAgentInfo().
2: Ability to click on items while in mouselook. It does not appear possible to do this now.
3: llDetectedTouchFace() and llDetectedTouchOffset(). This would make GUIs a lot easier to design, especially for vehicles, where having a lot of prims in a GUI is usually not an option.
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
Re: Some useful things for mouselook
09-21-2004 01:15
From: someone
Originally posted by Huns Valen
1: AGENT_MOUSELOOK bitmask for llGetAgentInfo().
2: Ability to click on items while in mouselook. It does not appear possible to do this now.
3: llDetectedTouchFace() and llDetectedTouchOffset(). This would make GUIs a lot easier to design, especially for vehicles, where having a lot of prims in a GUI is usually not an option.


I support this totaly. Except for llDetectedTouchOffset().

what would be the llDetectedTouchOffset for a twisted, sheared, cut, and topsized face?

I see no reason for why llDetectedFace couldn't exist. We can edit faces of prims so why not detect which one has been touched? It would improve scripting while adding no downsides. It would reduce the number of prims used and the number of script used; which would reduce load on servers (a tiny bit). (we shouldn't limit it to just touch's, as collisions would also be interesting)
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Morgaine Dinova
Active Carbon Unit
Join date: 25 Aug 2004
Posts: 968
Re: Some useful things for mouselook
09-21-2004 02:04
From: someone
Originally posted by Huns Valen
2: Ability to click on items while in mouselook. It does not appear possible to do this now.

I wrote up a General Mousebutton API definition as a feature suggestion recently, which supports what you requested above.

The touch-originator callback event mouse_touch_originator() would allow you to click things in Mouselook mode and trigger whatever you like on your avatar, by having one of your attachments listen for the event. Since there is already some hand-cursor functionality within Mouselook in the existing client, this would probably be pretty easy for them to implement.

I've purposely made the data returned back in the bitmask mouseButtons event parameter reflect the up/down state of all the buttons, rather than just the buttons that triggered the event. This gives the touch originator (but not the target) even more flexibility in deciding what to do when this touch-back event is received.

The generality makes the sky the limit: for example, you could put on a bracelet that would give you Mouselook-on-demand by right-click-and-holddown of the right mousebutton, during which holding down the middle button produces forward movement in whatever direction Mouselook is pointing. Movement stops on releasing middle, and you revert to 3rd person mode on releasing right.

Anyone that's played any of the popular levelling MMOGs like EverQuest or Anarchy Online will recognize that instantly as the 3D dogfight mode, which allows arbitrary travel in 3D space using the mouse hand alone. It's extremely powerful, and would make team sports rapid and highly interactive.

Notice that, if you're dextrous enough, with this you could jump up in Mouselook, rotate yourself around while rising upwards until you see the volleyball, and slam it down over the net with a left-click. I hope you have good motor skills. :-))
_____________________
-- General Mousebutton API, proposal for interactive gaming
-- Mouselook camera continuity, basic UI camera improvements
Huns Valen
Don't PM me here.
Join date: 3 May 2003
Posts: 2,749
Re: Re: Some useful things for mouselook
09-21-2004 13:12
From: someone
Originally posted by Strife Onizuka
I support this totaly. Except for llDetectedTouchOffset().

what would be the llDetectedTouchOffset for a twisted, sheared, cut, and topsized face?
Take a piece of paper and fold it into a paper airplane, or crumple it into a ball, or whatever. Mark it somewhere with a pencil. Unfold or uncrumple it and lay it flat, and the pencil-mark will exist at exactly one <x,y> coordinate on the paper.

The face of a prim is the same thing - a 2-D plane that may have been distorted, but which still has only one possible <x,y> coordinate for any location on itself. This function would simply return the coordinates on that plane. It is mathematically possible, as evidenced by the fact that even though an object may be cut and sheared and twisted, it can still be predictably texturemapped.
Cornelius Bach
Lord of Typos
Join date: 30 Jul 2003
Posts: 241
Re: Re: Re: Some useful things for mouselook
09-21-2004 14:15
From: someone
Originally posted by Huns Valen
as evidenced by the fact that even though an object may be cut and sheared and twisted, it can still be predictably texturemapped.


Uhh, I dont know about the "predictably" part
_____________________

Corny

_________________________________
"I've got to go eat now" Andrew Palmerstone
Huns Valen
Don't PM me here.
Join date: 3 May 2003
Posts: 2,749
Re: Re: Re: Re: Some useful things for mouselook
09-21-2004 14:52
From: someone
Originally posted by Cornelius Bach
Uhh, I dont know about the "predictably" part
If you have two prims that are identical, and you put the same texture on them, it'll show up the same. Anyway, it seems to me that this is all a bunch of nitpicking. Who is going to try to use something like this on a distorted prim? It's useful for GUI type stuff primarily.
Morgaine Dinova
Active Carbon Unit
Join date: 25 Aug 2004
Posts: 968
09-22-2004 09:50
For sanity in programming, the value returned from any llDetectedTouchOffset() would have to have a reasonably simple semantic (and not just a predictable one) at the LSL interface, even if it's a visually diabolically complex one after the geometry transformations.

The concept of a per-numbered-side local touch offset denoting the same location on the side as a local offset into normalized texture space is a pretty clear one, manageable. Whether it would be useful after complex transformations is debateable, but there's no doubt whatsoever that it would be supremely useful in the common cases.
_____________________
-- General Mousebutton API, proposal for interactive gaming
-- Mouselook camera continuity, basic UI camera improvements
Morgaine Dinova
Active Carbon Unit
Join date: 25 Aug 2004
Posts: 968
09-27-2004 13:21
Incidentally, what is the largely non-functional white-hand pointer that's activated by Alt in Mouselook actually intended for? And why does the darn thing keep returning to center-screen on click?

It almost suggests that someone in LL had the very sensible idea of allowing the normal pointer actions to be performed from within Mouselook. But I guess it was too sensible so they fired him before it became usable. Oh well.
_____________________
-- General Mousebutton API, proposal for interactive gaming
-- Mouselook camera continuity, basic UI camera improvements
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
09-27-2004 14:52
oh just to throw a monkey in the system... what would be the offset for a sphere? how about a cut sphere? A twisted cut sphere?

A twisted, cut, hollowed, (hollow shape square at 95%), tapered, torus,

The reason i bring it up is that the math scares me. I only know a few people i trust to do the math properly. The posability for a client crash is huge (do to a devide by zero).


besides scripting i specialize in making prims that wow and amaze. I'll post some screenshots of my newest batch.
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Morgaine Dinova
Active Carbon Unit
Join date: 25 Aug 2004
Posts: 968
09-27-2004 17:53
From: someone
Originally posted by Strife Onizuka
The reason i bring it up is that the math scares me. I only know a few people i trust to do the math properly. The posability for a client crash is huge (do to a devide by zero).

We have this situation already, inasmuch as prims vanish with a message about illegality if you mess around with them too much using those transformations.

It's not too hard to prevalidate operations that have the potential to generate fatal client exceptions. As always, whether that gets done properly or not depends on the competence of the individual software engineers and the quality of the team's development process, which includes review and testing.

For a profession that's based on the very precise mathematics of Computer Science, normal program development is an utterly unscientific mess, but we seem to get by somehow. If bridges were built this way though, most of us would prefer to swim across.
_____________________
-- General Mousebutton API, proposal for interactive gaming
-- Mouselook camera continuity, basic UI camera improvements
Huns Valen
Don't PM me here.
Join date: 3 May 2003
Posts: 2,749
09-28-2004 16:29
It is trivial to write a "safediv" function.
Catherine Omega
Geometry Ninja
Join date: 10 Jan 2003
Posts: 2,053
09-28-2004 18:37
From: someone
Originally posted by Morgaine Dinova
Incidentally, what is the largely non-functional white-hand pointer that's activated by Alt in Mouselook actually intended for? And why does the darn thing keep returning to center-screen on click?

It almost suggests that someone in LL had the very sensible idea of allowing the normal pointer actions to be performed from within Mouselook. But I guess it was too sensible so they fired him before it became usable. Oh well.


Actually, at one point, SL was entirely first-person. You could use the editor tools and everything.
_____________________
Need scripting help? Visit the LSL Wiki!
Omega Point - Catherine Omega's Blog
Morgaine Dinova
Active Carbon Unit
Join date: 25 Aug 2004
Posts: 968
09-28-2004 18:42
From: someone
Originally posted by Catherine Omega
Actually, at one point, SL was entirely first-person. You could use the editor tools and everything.

OMG. This is progress? :-(
_____________________
-- General Mousebutton API, proposal for interactive gaming
-- Mouselook camera continuity, basic UI camera improvements
Almarea Lumiere
Registered User
Join date: 6 May 2004
Posts: 258
09-28-2004 19:00
From: someone
oh just to throw a monkey in the system... what would be the offset for a sphere? how about a cut sphere? A twisted cut sphere?
I want the <x,y,z> of the touch point. One function instead of two, easy to explain. It might take a little more math, but there's no getting away from the math in SL..
Huns Valen
Don't PM me here.
Join date: 3 May 2003
Posts: 2,749
09-28-2004 19:54
From: someone
Originally posted by Strife Onizuka
sphere
Polar? Not sure.

Anyway, it would be the equivalent of a coordinate within a texture that is set to fill the face one time.