Chat log from the meeting on 2021-08-03

From OpenSimulator

Jump to: navigation, search
[11:01] Gavin.Hird Hi Andrew
[11:02] Meeting Chat Logger V4: Meeting chat logging has been enabled.
[11:02] Meeting Chat Logger V4: Be sure to stop and clear the log at the end of the meeting, this will create the archive @
[11:02] Meeting Chat Logger V4: You can view the log at:
[11:02] Andrew Hellershanks: Hello, everyone.
[11:03] Bill Blight: Well Real Life is summoning me, might be back before the meeting is over
[11:03] Bill Blight: poofs
[11:05] Andrew Hellershanks: There isn't much to report regarding new changes to OS this past week as there was only two commits.
[11:06] Andrew Hellershanks: Hello, Selby.
[11:06] Selby.Evans hi everyone
[11:06] Gavin.Hird Hi Selby
[11:06] Ubit Umarov: hi
[11:08] Jagga Meredith: I'm building a HUD for my mall.  It has multiple menus.  I'm doing them by repopulating the dialog buttons, killing and restarting the listener.  Is that good practice?
[11:11] Andrew Hellershanks: It doesn't sound that bad. I don't know if you would need to kill and restart the listener unless the channel for the dialog box changed when it was repopulated.
[11:12] Jagga Meredith: main_menu();
            listenHandle = llListen(dialogChannel, "", ToucherID, "");
            llDialog(ToucherID, dialogInfo, buttons, dialogChannel);
[11:12] Andrew Hellershanks: If you are killing the listener while you repopulate the dialog box that sounds sensible.
[11:13] Jagga Meredith: Main_menu populates the dialog
[11:14] Andrew Hellershanks: You might want to check whether the listenHandle is valid before removing it to handle the case when that code is called for the first time.
[11:14] Jagga Meredith: ok
[11:16] Andrew Hellershanks: If someone may have a dialog box open while you repopulate the box then I would suggest disabling the listener before repopulating the dialog box.
[11:16] Jagga Meredith: good idea
[11:17] Andrew Hellershanks: That might still not be sufficient. You many need to change channel when repopulating to be sure that the incoming message from the dialog box is valid for current version of the dialog box you have built.
[11:18] Andrew Hellershanks: What is the purpose of the HUD?
[11:19] Jagga Meredith: teleporting around.  it's a huge mall
[11:20] Gavin.Hird what mall is that?
[11:20] Andrew Hellershanks: ok
[11:20] Jagga Meredith: Aviworlds freebies 2021
[11:20] Gavin.Hird standalone grid, right?
[11:21] Jagga Meredith: yes
[11:22] Jagga Meredith: all teleports in same region
[11:22] Gavin.Hird ok
[11:26] Andrew Hellershanks: The first commit made this past week addresses mantis #8922. It affects YEngine. The subtraction operator can now be used to negate the value of a boolean expression. Boolean false (0) stays false but boolean true (1) becomes -1.
[11:27] Andrew Hellershanks: I have no idea why any one would ever need to do that but it is one of those carry overs from SL that some people feel they still need. Some commonly used script also uses that "feature".
[11:27] Ubit Umarov: it is not subtrattion operator it is negation operator :)
[11:28] Ubit Umarov: similar cast was already working
[11:28] Ubit Umarov: on other operations
[11:28] Ubit Umarov: strange..  but well.. worked at sl
[11:29] Andrew Hellershanks: Looks the same. :)  Still seems an odd thing to do. When I deal with booleans I just care if I have a true or a false. Assuming that the engine generates a 1 for boolean true could lead to troubles down the road if that should ever change.
[11:29] Gavin.Hird well, there are BOOLs in the viewer that are used as counters in loops
[11:30] Gavin.Hird not limited to -1,0,1 ...
[11:30] Andrew Hellershanks: If someone wanted to cast that then negate it they could do that.
[11:30] Ubit Umarov: in c c++ bool is a bigger mess
[11:30] Kayaker Magic: Hello all! Did I miss much?
[11:30] Gavin.Hird you missed everything so far :-)
[11:31] Andrew Hellershanks: Kayaker, No. Jagga had a question about use of a dialog box.
[11:31] Kayaker Magic: Sounds like the joke about how long my legs are: Long enough to reach the ground.
[11:31] Andrew Hellershanks: We were just talking about the code change related to mantis #8922.
[11:31] Gavin.Hird :-)
[11:31] Andrew Hellershanks: Kayaker, :)
[11:33] Andrew Hellershanks: Gavin, that would be odd. If you need a counter why use something that is supposed to be a boolean?
[11:35] Andrew Hellershanks: You can get away with it in programming languages that aren't that strict on variable types. Booleans are often just stored as ints which would allow them to be used as a counter. In some cases it could be a memory saving trick.
[11:36] Andrew Hellershanks: The only other change this past week was a minor one. More of an optimization in the code that avoids copying a list being returned by a function.
[11:36] Gavin.Hird because LL has defined BOOL to be an S32, so it can also be used as a counter
[11:36] Gavin.Hird or misused
[11:36] Andrew Hellershanks: :)
[11:36] Ubit Umarov: C had no bool type
[11:37] Gavin.Hird now it does
[11:37] Andrew Hellershanks: Yes. It is similar to how there is little difference between string and keys.
[11:37] Ubit Umarov: it was just int with special meaning
[11:37] Gavin.Hird the viewer code has over 14300 of the specials LL BOOL
[11:38] Ubit Umarov: ( an dint could be 8 bits or anything )
[11:38] Gavin.Hird in one case converting one to a real bool yielded performance increase of 2-7 FPS depending on HW
[11:38] Ubit Umarov: int i mean
[11:38] Gavin.Hird there are S8 used as bool in the viewer code too
[11:39] Ubit Umarov: in c# they are most  time int32
[11:39] Ubit Umarov: but can be bytes
[11:39] Ubit Umarov: in fact can be bits
[11:40] Andrew Hellershanks: Using int32 for a bool seems a bit of an overkill.
[11:40] Ubit Umarov: c did it
[11:40] Ubit Umarov: and others
[11:40] Gavin.Hird the advantage of using a real bool is that the compiler can optimize it, which is hard when it only sees a random int
[11:40] Ubit Umarov: and IL only has one type..  int32
[11:40] Andrew Hellershanks: IL?
[11:41] Ubit Umarov: yes IL
[11:41] Ubit Umarov: or CIL
[11:41] Andrew Hellershanks: Oh. Intermediate language.
[11:43] Andrew Hellershanks: Any other OS questions or topics of discussion for today?
[11:43] Ubit Umarov: JIT or runtime has to guess types from metadata
[11:43] Ubit Umarov: nonsense
[11:43] Ubit Umarov: but well java etc do similar
[11:43] Ubit Umarov: or did
[11:44] Ubit Umarov: so stupid how c# compiler does things for a virtual CPU
[11:44] Ubit Umarov: then JIT totally undoes that, even totally ignoring IL
[11:46] Gavin.Hird in other news that is also relevant to opensim grids is that LL has terminated the use of gacha machines/vnedors from auguat 31, 2021 citing changed regulatory environment
[11:46] Ubit Umarov: (jit identifies full methods names and calls native code versions, ignoring any IL provided for them )
[11:46] Ubit Umarov: that IL is just decorative..
[11:47] Gavin.Hird which means more US states/countries will ban socalled loot boxes, which a gacha machine is
[11:47] Gavin.Hird this is of course relevant to grids depending on which legislation they operate out of
[11:47] Ubit Umarov: well thats script level things
[11:48] Andrew Hellershanks: Gavin, I read something about that the other day. Fortunately enough information was given in the message to allow me to determine what is a gacha machine/vendor.
[11:49] Jagga Meredith looks less puzzled
[11:49] Gavin.Hird some says it was one of the main drivers of the SL economy
[11:51] Ubit Umarov: thats a gambling form
[11:52] Gavin.Hird more and more legislations defines it as, which is why grid owner need to know what is relevant for their grid
[11:52] Ubit Umarov: and make some people spend absurd amounts of $$  i hope of getting a item on it
[11:52] Andrew Hellershanks: I've not seen one of those devices. It might be gambling if you put money in and may or may not get something out.
[11:53] Gavin.Hird it looks like a vendor
[11:53] Ubit Umarov: seen that on world of tanks every xmas on loot boxes
[11:53] Gavin.Hird it is just a gamble what itme comes out of it fro every payment
[11:53] Gavin.Hird and it has rares - which is seen as much more valuable, but it delivers it very infrequent
[11:54] Ubit Umarov: where a "rare very super tank" is part of possible "prize"
[11:54] Gavin.Hird so people keep paying and paying to get the rare
[11:54] Andrew Hellershanks: Looking up the definition of the word says it refers to machines in Japan where you put money in and get out a plastic egg with something in it.
[11:54] Ubit Umarov: kids spend like 500 euros on that
[11:54] Gavin.Hird yep Ubit
[11:55] Jagga Meredith: Ive heard ads on SiriusXM for a monthly "kewl gift box" guaranteening at least $75 of kewl stuff for $45 fee.  Would that also be affecvted?
[11:55] Ubit Umarov: since kid we have little machines selling little "gifts"
[11:55] Gavin.Hird possibly Jagga
[11:56] Ubit Umarov: most pure trash.. a few very shinning..
[11:56] Gavin.Hird it might fall under the definition of a loot box
[11:56] Ubit Umarov: oh and little card boxes
[11:57] Ubit Umarov: we did puch a hole and a number did show up tleling the prize :)
[11:57] Ubit Umarov: never the shinning bit..  dangg
[11:58] Ubit Umarov: that triggers od barin mechanics..
[11:58] Ubit Umarov: "on next i will get it"
[11:58] Andrew Hellershanks: Stores used to have dispensers by the checkouts used by kids where they put money in and got candy out. One of those types of vendors gave out plastic containers with something in them. You never knew what you were going to get.
[11:58] Ubit Umarov: odd brain mechanics..
[11:58] Selby.Evans For any gambling device, the expected gain favors the house
[11:59] Ubit Umarov: always does.. that is the main point :)
[11:59] Gavin.Hird if you put in money and you always get a candy, it is not gambling, simply a vendor
[11:59] Andrew Hellershanks: Yes. The only legal gambling is being restricted to casinos and federal/state run lotteries.
[12:00] Ubit Umarov: always was here......... no one did care :)
[12:00] Kayaker Magic: Government is theft.
[12:00] Gavin.Hird the concept of loot boxes had been used a lot in mobile games, which is why they started to ban them in legislation
[12:00] Andrew Hellershanks: We are straying a bit off the track from an OS topic and were are just at the top of the hour.
[12:00] Ubit Umarov: well ignored bc always small amounts of $
[12:00] Jagga Meredith: I've started designing custom shirts.  Where would i find blank shirts with textures.  Is there a way of extracting the texture UUID from an existing shirt?
[12:01] Selby.Evans State-run gambling is a tax on the statistically challenged
[12:01] Ubit Umarov: think issue was online "free games" using it a lot, like wot
[12:01] Kayaker Magic: Extracting the texture! That's copybot talk!
[12:01] Gavin.Hird exactly Kayaker
[12:01] Jagga Meredith: ah, ok
[12:01] Gavin.Hird so no comment on that
[12:02] Kayaker Magic: There are free mesh shirts to play with, Linka Kellie has a few.
[12:02] Andrew Hellershanks: There are blank shirt templates available for making clothing. It is up to you to work out the details of texturing them.
[12:02] Jagga Meredith: ok
[12:02] Ubit Umarov: shirt can he a old wearable or a mesh
[12:02] Kayaker Magic: Jagga: You making mesh shirts or just system shirts?
[12:02] Jagga Meredith: mesh
[12:03] Ubit Umarov: a old wearable is just a texture thing..  but does work most cases
[12:03] Ubit Umarov: like mine :)
[12:03] Gavin.Hird the uv map of the map should tell you how the texture needs to be laid out
[12:03] Andrew Hellershanks: For clothing that is a solid colour you just add some "creases/folds" in to the texture to give them some life. It gets more difficult if you want to make clothing that has a pattern with straight lines.
[12:03] Gavin.Hird of the mesh*
[12:04] Andrew Hellershanks: Any last minute items for today?
[12:05] Andrew Hellershanks: Well, that will do it for this week. Thank you all for coming. See you again next week.
Personal tools
About This Wiki