And we'll go ahead and get started.
We've got the usual two questions,
we got um.
How are you and what the dog doing?
Uh,
so these are all like,
these things all happened within like 2 or 3
days of each other,
and it should highlight just like how angry I am with the world right now,
OK?
So
starting off on Friday last week,
I had a doctor's appointment.
And
I
couldn't sleep well the night before,
so I woke up kind of late cause I eventually I fell asleep
and like I'd forgotten what time I set the alarm for.
So anyway,
I wake up and I'm like,
I'm not going to make it unless I use an Uber.
So I got everything ready,
you know,
um took care of,
um,
took care of the four-legged friends' needs and all sorts of stuff like that.
And then I
sent myself on telegram
to the saved messages chat.
I sent myself the address for the doctor,
because.
This annoying thing occurs that when I like put it in my calendar,
I then can't get it like that address to
the Uber app without going through the maps app because
Google wants you to use the Maps app,
even though all I need is like the the like text
that represents the the address to go into the Uber app.
It's so annoying.
Anyway,
um,
I then
walked
through uh the corridor which doesn't have
good mobile phone signal.
And I looked at my telegram saved messages,
and the saved message before,
before the one I had just sent
was another address that was just close enough
that it looked like the address I had just sent to save messages.
And so I put that one into the Uber
and I was flustered.
So I'm in the back of the Uber and I,
I don't drive.
I do drive in the UK.
It's a long story.
I haven't driven in like 5 years.
I have a UK licence,
I don't have a US licence and like
I kind of don't want a US licence because I just like,
I don't,
I don't see myself
passing that test first time.
It's not that I'm a bad driver,
it's just like I'm a
stressy,
anxious individual and it took me like 6 times to pass the UK one,
and I,
I don't want to do that again.
It was quite like traumatic.
So I haven't done that yet.
Uh,
so I'm in the back of Uber and I don't really know Rose or anything like that,
so they're driving and I'm just like panicking,
like I'm gonna be late for my doctor's appointment.
And then they pull up next to the wrong doctor.
Like the wrong doctor,
like a different building,
and I'm just like,
fuck.
And I've tried historically.
Explaining to Uber drivers,
oh,
I'm sorry,
I put in like the wrong address,
could you actually take me here?
And like depending on the Uber driver,
they'll either say like yeah and they'll sort it out,
or they'll they'll say no cos they don't understand like how to
edit the trip inside the Uber app correctly or or
or basically like they're concerned that they're going to get
um
uh like docked pay basically.
And I'm like that's fine,
I get it,
right?
So
what I intended to do was get out of that Uber
and then call another Uber to go to the correct address.
It's just like easier,
it's just easier to do it that way.
So I get out of that Uber,
which cost me $14
and I put in the new address and it's like it'd take you
another $14.15 minutes to get across town to the correct doctor's address.
And so I was just like,
well that ain't gonna work
cos I know how tight the doctor's um
offices run in terms of their appointment scheduling.
So I ring the doctor's office,
I get this like
equally if not more British person
on the other end of the line,
and we immediately
like start like double downing on our,
our Britishness cos we realised that we're both British.
It was like the most beautiful heartfelt conversation I've had in in like years.
Like they realised I was British,
I realised that they were British,
and then we like all swapped to like
British lingo and it was beautiful.
um.
Anyway,
uh,
they were like,
yeah,
I've,
I've rebooked you,
but I've rebooked you to a doctor's appointment on July 3rd.
So it was June 20 something that I was trying to go in and now it's July 3rd.
But I'm also on a wait list where periodically they'll text me and they'll be like,
hey,
an earlier appointment and um opened up.
Push this button on your phone and we'll
move your appointment to this earlier thing,
but I'm usually asleep when those come through,
so I miss it.
Anyway.
So I was really angry about that
and I went back after that and I took a nap and,
and,
and during at some point in all this like stress I had picked up etta weirdly,
and that had like wrenched my neck.
And
so after that nap,
I think everything was fine
for like a day,
but then because of the wrenched neck,
one morning when my phone alarm went off,
I went to reach for it with like the bad arm
that's got like the,
the pulled muscle or trapped pinched nerve,
whatever you wanna call it,
and threw my phone across the room.
Like it just lined up correctly,
such that I flew threw my phone across the room
because I was in pain,
right?
I picked it up and it was like,
ah,
that it just like fell out of my hands and immediately,
first time this has ever happened,
by the way,
screen smashed.
I've never had a phone screen smashed,
this is the very first time
and.
So then I'm like,
I just imagine,
right,
I haven't even really got out of bed at this point,
but like the dog's woken up and he's like wagging his tail and he's like,
oh we're getting up,
are we,
you know,
that is cool.
What what are we doing now?
And I'm just like lying in bed
like trying not to just go
fuck.
Uh,
so
that was fun.
And then I,
I,
I just Googled on,
I was like,
I like,
you know,
cos it was a Sunday that this happened,
the phone smashed.
I was like,
oh,
I won't be able to get it repaired till Monday.
So I'm going to spend all day angry at the fact that this phone is smashed.
Um,
and then I sat up in bed and I was like,
no.
And I like Googled places that were open on Sunday to do it,
uh,
rang 2,
1st one said no,
but hey,
go to the second one,
which was actually the 2nd number on my list,
and they were like,
Hey,
sure.
We can fix your phone today for $299
if you get here before 4:15 p.m.
What time was it when I rang?
3:35 p.m.
And so guess who used another Uber?
Me?
Um,
luckily this Uber went to the correct location.
And I got the phone into the repair shop,
and
then the repair shop was like,
Yeah,
it'll be about an hour.
So I walked down the road to a Starbucks,
drank Starbucks whilst I like pummelling my old phone,
cause I'd managed to like SIM swap in the back of the Uber,
my
old phone to my new phone.
And,
oh,
well,
travel around,
that makes sense.
I don't remember which way around I did it or said it anyway.
But my old phone,
it's one of those devices where like,
and,
and you'll know this,
like,
you'll all have experienced this if you've had like old devices lying around.
They know
that they're not the favourite anymore.
Like the device knows that you've abandoned it in a drawer.
And so because it's been abandoned in a drawer and not played with and not touched,
a bit like a Toy Story animal,
it's sad
and it's slow.
And then
after it's been sad and slow,
then everything just goes like,
hey,
um,
I'm logged out.
Because like,
welcome to the internet,
like everything logs you in and logs you out.
It's like
everything was logged out.
So I couldn't access my email,
I couldn't access Discord,
I couldn't access like
anything.
So I spent um the entire hour in Starbucks just reading Reddit,
cos I was like,
hey,
Reddit doesn't need to log in and I can just go to one of those funny Reddits that you
know you shouldn't be reading cos it's not productive
but you end up reading on the toilet sometimes.
Fed up.
Thank you.
Uh,
so that,
that was the week.
So,
um,
I'm still,
oh my God,
I'm still dealing with the like,
onwards effects of this because like
I can't play with Federer as much because my arm hurts,
so he's bored,
so he's barking at the door more.
I can't like
sleep correctly because like if I turn in my sleep,
which I do a lot,
it's like really painful,
um,
it's just one thing after another,
but,
but we're there,
we're there.
Ah,
that's how I would do it.
What the dog do with being really annoying.
That's what they're doing right now.
We're also in that period of the day where I turn the air conditioner on and off,
and like,
here's another thing I don't understand.
Sorry,
it's rant week,
I know.
Um,
air conditioners have like temperature settings on them,
so mine currently says
23.
That's Celsius by the way,
if you don't use Celsius,
you just use Celsius.
Um.
And to me that's like,
OK,
the air conditioner is trying to make the room 23 degrees
C,
but it never manages to.
And I'm like,
oh,
OK,
cool.
So it's just on full chat like all day.
So what I then do is I raise the temperature and I'm like,
hey,
maybe
try and keep it at 24,
like see if you can keep everything at 24.
And it's like,
hm,
that also won't work.
Come here,
stop barking at the door.
And
then
I'm like,
hey.
When did I leave?
I'm back.
So
at that point,
the air conditioner's yelling at me
because like it,
it,
it wants
to
feta oh my god.
Maybe I'll just like crawl into a ball.
Can I just crawl into a ball?
Uh,
OK,
so I've shut the baby gate.
You can't no longer get to the front door,
so that should stop the,
the,
the barking.
Uh,
but now the air conditioner is on automatic mode.
Um,
and I'm trying that one out.
Automatic mode,
you meant to just leave it on all day on auto mode,
and I'm like,
fine,
I'll just leave my air conditioner on all day at auto mode.
So right now it's just acting as a fan,
but when the compressor kicks in and it goes like
that's when it's actually doing the air compressor bit,
and that's when um the,
the money,
the electricity's being spent.
Right now it's just a fan,
so that's like relatively cheap.
Oh,
then,
also,
whilst I was out on a dog walk one day this week,
I happened to find a debit card,
and I put it in my pocket because it was just like in some woods,
and the idea was,
when I get home,
I'll I'll ring the number on the back of the debit card
and I'll report to the company,
Hey,
I found this random debit card lying on the floor,
might want to let the owner know,
and
I can return it to you,
I can mail it to you,
I can mail it to the owner,
whatever,
right?
I want to do the right thing for this debit card.
What did I actually do for this debit card?
I put it in my pocket and then 3 weeks later I found it.
So I've accidentally stolen someone's debit card for 3 weeks,
but I had good intentions.
I was just forgetful.
So that debit card is now on my desk,
but that looks even more suspect.
Why is there a debit card that doesn't have your name on it on your desk
so that I remember to read?
Could someone else do it?
Hey,
yeah,
like,
so I gave debit card information to someone on the
internet because I was too forgetful to do it.
So they did it for me.
You gave a 3rd party's debit card to a 4th party.
I,
I will ring them after this
and we'll,
we'll see what we can do.
No,
I have the good intentions.
Like this happened again with like,
uh,
like years ago in my previous apartment building,
I found a wallet,
um,
that had been dropped in the reception,
and
I like
tripped over it.
And then I got paranoid because I was like,
well I could just ignore it,
but like on the cameras,
like it it it's sin that I've tripped over it.
And so like
I would feel bad if like I like tripped over it.
And then later it got stolen,
and then they reviewed the security footage back and they were like,
god damn it,
that posh British guy could have done something
about that if he didn't just ignore it.
So
like a good Samaritan
with a mix of anxiety,
I picked up that wallet
and took it upstairs
again,
accidentally stealing it,
but this one I dealt with immediately.
I rang the
like non-emergency number of the of the local police department and I said,
like,
I found a wallet,
I want to do the right thing.
What do you want us to do,
etc.
and they said,
oh,
we've got a patrol car nearby,
he'll come by and pick it up.
So,
like,
within 10 minutes,
I'm now like standing outside to hand this wallet to a police officer
who then takes all my information,
like imagine like it was a traffic stop.
He took all my information like it was a traffic stop.
Even though all I was doing was me found square of leather on floor,
me give square of leather to you,
um,
but they,
you know,
wanted all my information.
And then immediately following that information.
He like,
he like turned.
It was like an NPC in oblivion.
He turned after finished speaking with me.
And walked straight into our leasing office,
which was closed
the last time I tried to go in there,
cause that was my first response.
Oh,
I'll just leave it at the leasing office
with the security guard at the leasing office,
but it was locked and no one was in there.
But he finished taking my information,
Oblivion MPC turned
and walked straight through the open door of the leasing office that was across the,
the,
the forecourt,
and handed it straight to the security guard behind the desk.
They just like miraculously appeared out of nowhere.
Suffice to say,
um,
any time I try and do
anything that isn't just sitting in this chair,
something goes wrong.
Let's get to to questions.
I know we're like,
I don't know.
We're 18 minutes in,
we're gonna get to questions now.
Uh,
Easter says the game good,
yeah,
the game's good,
game is Cauldron.
I'll link the Steam page.
um,
uh,
the other thing that's really good with Cauldron as well is that like.
I don't mean this in a demeaning way,
but like I could make it.
Like I see a game and it's like,
absolutely I could make that.
Like someone
thought that they could make it and they made it great.
I think I could make that too.
That's great.
Whereas you look at like a game like oh I don't know,
like Hell Divers or Elder Ring or or something like that and you're like,
there is no way on like
planet Earth that me solely could make that game.
But this particular one I'm like,
yeah,
absolutely,
and you know what?
Sleepy Dad Games did a great job.
Let's see what else Sleepy Dad Games has
has produced.
Arkons.
Arkons is a roguelike survivor game.
Uh,
that looks OK as well.
Doesn't look
like a maze balls,
but looks like,
have a look anyway,
there you go,
you've got the links.
Let's move on to
actual questions about retinite.
Oh no,
we've got one more joke question.
How skividy is the sigma?
Um,
I'm gonna link you a video from one of my favourites.
From one of my favourite content creators,
um,
who actually has an English literature degree from a UK,
I think an Irish university,
but like from a,
a university,
uh,
who analysed the 1st 50 episodes or so of
the Skibbey toilet franchise
and um
tried to sort of learn things from it.
And
you'll learn a lot about Skibbey toilet.
I can't spell Skibbey.
I can't.
I'm gonna just copy a piece skiy from red spelling of it,
cos I can't spell it.
Yes,
here we go.
I studied 70 episodes of Skibbey toilets,
so you don't have to.
Um,
are you gone again?
I'm not gone.
Oh,
I was scrolled down.
I
I I've scrolled up.
Um,
I will give you like the cliff notes of Artie's video,
which are basically
the skibbi the toilet people um
invaded
this realm
from toilets
and
um the like speaker and the.
Uh,
TV guys
are a,
uh,
counterterrorism force against the skibays,
but they also are like
weird and from another realm.
So
like there's a lot of law there.
Like none of this is written down by the way,
it's all expressed through environmental storytelling,
which basically means like it's bullshit,
but if you put it all together in a line and like wrote a wiki,
you could probably write like a big wiki about like everything going on.
Um,
but yeah,
the,
the skis,
uh,
chant,
like the music and
the noises they make,
um,
is like
a trance effect.
So the,
the TV people and the speaker people come up with like defences against that.
Um,
and then you can see that there's all out war where like there are bigger
and bigger skidbiy toilets to fight against
bigger and bigger speaker and TV people.
So there you go.
If you've got 40 minutes to spare,
have a,
a very pleasant Irish person talking about ski toilet.
I believe they do it as a uh as a a a co
um,
yes,
they do it as a co-stream with uh
Kiwo,
who's uh one of their friends that um Kio is also great.
All right,
we've we've got through the first three questions.
Let's get to question 422,
it's through.
Can people choose if they want full kill to teleport instead of actually respawn?
It just lost progress because they fell through the floor.
Uh,
yes,
you can turn it off,
but it's on a world by world level.
Um,
if you look in the physical locomotion,
there is full respawn position.
If
you make your own kill floor,
which is higher
than the full respawn position,
you could do a teleport.
So just like
protoflux up,
right,
um,
put a big collider under the wall.
Actually,
you could just check the Y position,
you don't need to.
like you just check the Y position of someone and then just teleport them back.
And then if you,
as long as it's higher than the kill floor,
you'll,
you won't respond.
If you'd like that to be like an,
an option
that would have to be a issue.
Uh,
Red says favourite thing you wish that of the game,
timeline system.
I want the timeline system.
Um,
I spent
so much time
trying to do timeline related matters.
Uh,
it comes up everywhere,
it comes up just,
just like literally everywhere,
like you won't like.
Just think about
the option like the one I give that kind of like sells it well is you think of like um
a
a bar or a pub map,
um and you've got like a bartender.
If you wanted that bartender to be an NPC
in
uh like any other regular video game,
let's say Skyrim or something like that,
you have like all of the stuff available to like timeline,
behaviour tree,
like,
you know,
like them walking around,
like banter,
all sorts of stuff like that.
And doing
all of that sort of like tree of of
operations that the bartender might do behind the bar,
very,
very difficult.
But with the timeline system it'll be very easy,
right?
You can just like jump around the timeline
to like various actions that exist.
So it's like,
oh this bit of the timeline is
they
uh play animation scratch head,
walk to left side of bar,
wait 5 seconds,
turn around and fart.
You know,
like that that whole stuff will be amazing for you with the,
with the timeline system.
Uh,
this says,
why is Dad sleepy?
I don't know,
we'd have to look up the game studio to find out more information.
I don't know if they're a single person
or if it's like a joint person or or something like that.
Oh,
it looks like Cake Town Interactive is the publisher,
but the developer is is Sleepy Games.
Uh,
Sleepy Dad Games.
See if I can
figure it out.
No,
developed by there's
pretty much nothing that I can see that's sort of
publicly available about it.
Maybe we'll try YouTube.
Sleepy
dad game.
Sometimes you get like interviews or stuff like that.
Is it Sleepy Dad one word,
yeah.
Sleepy Dad games one word in quotes,
and then we'll put Coltron on the end.
That's a lots of lots of let's plays,
no,
no like developer content.
All right.
uh,
Lucas says falling does teleport.
Yeah,
the full respawn,
I thought was a teleport too.
I mean,
I,
I can look right now.
Um,
I got the code open,
full respawn position.
Ah,
it isn't a teleport.
It,
it,
it is a spawn.
Um,
our spawn system's quite interfaced up,
that's good.
We can,
we can do stuff there.
Uh,
OK,
no,
the spawn is a teleport.
Uh,
it just took me a while to go through the,
the code base to,
to do it.
It does a set global rotation
and a set global position.
Oh,
the,
the force respawn at floating point,
that,
if that's the one that you're referring to,
yes,
we should probably,
uh,
change that over to do the same thing as full respawn.
Uh,
I don't know where the floating point,
uh,
teleporter is though.
It's where like one of the decompilation Andes.
Um,
we'll,
we'll find it.
Hey,
decompilation Andy,
where's the floating Borespawner?
It's got to be in the locomotion,
right?
Don't think it's in locomotion.
OK.
Actually,
it makes sense that it's not in locomotion because it's,
it's not strictly related to locomotion.
It's if by any means the user happens to go past floating point,
um,
or at least this this barrier that we've self-defined in code,
uh,
respawned them,
and that can occur by a means that is not locomotion,
so it makes sense that it's not in locomotion.
Look at me justifying
the code base I'm scrolling through.
Uh,
wow,
user roots just like a lot of math.
It's just like math and more math and space rotation and
rotation to space and fro and to and
feet and
proxies and
necks and,
oh,
just so much stuff
on common update,
here we go.
Yes,
a user root has a
thing that will reset your scale if your scale gets like corrupted,
if it's like zero,
not a number,
infinity will reset it.
And here it is.
Here it is.
If global position is infinity,
global position is not a number.
Or if global rotation is infinity or global rotation is not a number,
or global scale is infinity or global scale is not a number,
or
the absolute value of the global position,
uh,
get the absolute value of the global position which,
which treats
which treats the position like a vector.
Then get the max component of that vector
and see if it's greater than the max distance slot destroy.
OK,
yeah,
so,
so that should probably move them and not destroy them.
I tab back and like Josh just pasted the code.
Sorry about that.
Yeah,
thanks.
Uh,
that's exactly what I was looking at.
I was looking at it in the non,
um,
uh,
what we call it,
non-decompiled way.
Here's the non-decompiled version of that,
by the way,
just so that you can see,
uh.
The the difference
in in clobbering.
Yeah,
um,
I don't.
I'll just,
I'll tell you who it was because I don't,
I don't think they'll mind.
Uh,
Wattle was like Wattle Fox it was talking about like how some of like
code they'd found in decombilation was like yanderre dev style code and I said,
OK,
well,
tell me where it is.
And it was
somewhere in the middle of like the rig assignment.
Where rig assignment is basically heuristics,
right?
We do a bunch of ifs,
we do a bunch of like string comparisons to try and find out like,
is this an arm or is this a leg?
And so like,
yeah,
of course it looks like the and ray code because like
it's just ifs and stringer type that's how you do it.
Like that's,
that's how that's solved.
And then when you add on top of that the decompilation artefacts,
you get
like a humongous mess that looks like yander AD code.
I,
I hate that whole thing,
by the way as well.
Um,
if you want to look at a game that is
terribly programmed,
but it does not matter
under tail,
and probably by extension Deltaroon,
but I haven't looked at Deltaroon,
um,
like it's code or anything like that,
or its storyline.
I need to play that one.
But like yeah,
Undertail is like is exactly the same as Yanderedev's like structure of code,
but
like
Toby Fox doesn't get hate and Yanderedev does.
Now I know Yanderedev did like other stuff that made them unpopular,
etc.
but like it's,
it's just like weird that like
a large collection of of conditional statements
is automatically associated with a particular developer of a particular game.
It's just,
it's weird.
Yeah,
the 100K triangle toothbrush is,
is more of the,
one more of the like egregious ones.
I'm even confused here because like slot.local scale,
don't even do that.
Are you sure that's up to date?
Yo,
5 versions old.
Yeah,
I don't know when we last touched it.
I can,
I can find out actually.
So there's this tool
that you might not have heard of if you're a developer,
you'll know of it called Git Blame.
What you can do is you can basically say like
for each of these lines,
tell me when it was last changed and who changed it.
I don't like the name Blame because it's like,
you know,
blame game,
etc.
but it does tell us when it was last touched.
Uh,
2020.
So
it should,
it should be up to date.
Oh,
maybe I'm not up to date.
Am I on master?
No,
I'm on,
I'm on a BC6H branch.
Yay.
Anyway,
do you have other questions?
Rai says congratulations on killing another mod.
Which mod did I kill?
Oh yeah,
the DLP update it.
That one,
all congratulations there,
go to the the maintainer.
Uh,
I think Fruits put their name in the update logs.
Let me just go grab it,
updates.
Uh,
bash only,
yeah,
one of the maintainers.
We have an alert,
what's going on?
Uh upload jobs high.
Yeah,
I need to tweak that alert.
Like upload jobs being 156
is alertable,
yeah,
that's like a high upload uh job queue
compared to usual where it's like 10,
um,
but it was only
in that state for like 5 minutes,
that shouldn't alert.
Like maybe like
an hour at that that queue might might might alert or something like that.
Um,
whilst we're still on the topic of,
of YouTube DLP,
um,
when Modern says a question I can ask,
why are the videos so low quality,
there is,
there is a war going on
that you cannot see.
You know what they did that to like explain like germs
and stuff and then why you should wash your hands.
There's a war that you can't see.
You need a microscope.
Uh,
same thing's happening here.
Basically,
YouTube are continually updating their services to make it harder
for YouTube DLP
to.
YouTube DLP,
but then each update for YouTube DLP
fixes those um additional obstructions that YouTube puts in place,
but then YouTube just adds more.
The annoying thing that I'm gonna tell you is,
is I think at some point in the future,
YouTube DLP just won't work at all for YouTube.
Like I don't know when and I don't know how and I and
I don't want to talk about if it's
a good business decision on YouTube's front either,
but like it's gonna happen because
like
YouTube wants you to watch YouTube stuff
in YouTube,
and that's because they can control the experience and add adverts to it.
There is a mod um
that the Australians have written Panda and Sfecon that does proxying.
I have just this moment,
like in my head forgotten what that mod does,
but it might be useful to take a look at that
because I know that the Aussies use that a lot.
Oh yeah,
there's the uh the token and the the the cookie things.
Yeah,
we,
we have to,
we have to look into that one more.
With frog's so busy on like the split inning,
um,
it's,
it's sometimes difficult to know what to like focus on,
cos like they've got themselves assigned to,
to that,
I think right now.
I'll I'll double check,
we'll have a look.
Uh,
modern is,
uh,
stating that VRC also uses YouTube DLP.
I could actually take a look at their
entire pipeline and figure out what they're doing.
Um,
it wouldn't be hard.
Yeah,
uh,
if someone like,
I can take a look,
but like I probably won't get to it because I'll forget.
So if,
if someone could figure out what like
VLC is doing differently
and then format that as a suggestion for us in a GitHub issue,
that would be really helpful.
We just need is that the,
we just need MPV.
I,
I'll have to look into it,
it's way beyond my like area though.
Yeah,
like,
if,
if you can provide any additional information,
um,
like,
like I,
I,
I hate to like,
I don't mean this in a like I'm being lazy way,
I mean it in a sort of like.
Increasing access to the information way.
But even if you were to comment with some links
that like contain code examples or something like that,
like it would help us do that.
That's what I'm looking for currently,
and I can't find them.
But like if they had been there on the issue,
I wouldn't have had to find them.
And so it's it's,
I'm I'm I'm trying not to say
I'm being lazy on purpose because I'm not,
but like,
you know what I mean?
Uh,
and
any,
any changes to like videos and stuff like that has like has to wait for the splitting,
you know.
I know it's,
it's like it's gonna be difficult for like a
however long it takes splitting to come out to,
to like hear that sometimes,
but
Fruits is like literally inside unity with a
can of like napalm right now.
And so it's it's really difficult to like even
think about.
Yeah,
it's just like how how do videos work?
I don't know.
I don't know if he's written videos yet.
I'll have to look at the branch.
I read the light,
like the,
the implementation of lights was like a really
good commit for me to read though because um
it's relatively simple,
right?
Lights are just like on off,
like soft,
hard,
etc.
um compared to like a mesh renderer where there's
vertices that need to be mapped between
resonant and unity.
It was just like a boolean that needs to be mapped and like a an enum.
So it was,
it was easier to read.
Do we have any additional questions?
I think we ran out of questions long ago.
I will uh scroll back and look through them though.
I just found the like page for the embedded CAPI.
Like I would,
I would probably do a Google,
see if anyone's done a .net interrupt.
I'm
so tired of interrupt code.
If you want,
I'll do a rant about compressorator like after,
after the end here.
There is a .net wrapper,
hell yeah.
I'll take a look.
Obviously Fruits has some concerns there and it isn't
something that I have time to look at.
But like I can at least look at your .net wrapper,
like I said it like you made it like the .net wrapper that exists and be like,
well,
it looks like it'd be easy or hard to integrate,
right?
A information and knowledge.
Um,
VT says,
were there questions in a galaxy far,
far away?
Um,
you know,
my office hours,
we ranted about phones for like 20 minutes,
like,
ask whatever you want.
Uh,
Red says hope on the big project becomes after the performance update.
I would hope that we do IK.
The reason I would hope that we did IK is because it is the other one that was on our,
on the survey.
What probably might happen though is that we do another survey where the option is,
hey,
would you like us to work on IK or something else?
But I,
I would strongly hope that it would be IK.
Um,
I know that there's like a million things that need to be fixed before,
like,
more VR chat users will consider us like home,
but
performance is definitely the biggest one.
Uh,
some VR check users might say that IK is the
biggest one or importing avatars is the biggest one,
but I agree that performance is,
because if we fixed up,
um,
importing avatars,
if we fixed up all that stuff,
that would still be the performance issues so it's better to sort of
save that.
The,
the issue of controls is,
is like a um a uh a
married,
that's not a word,
is a varied one in the
depending on
how
you talk about it,
you might be talking about different things.
So.
When you talk about controls,
you might be talking about headsets that we don't support.
So that's why the controls suck,
it's because we don't support those headsets.
Like we need to better integrate with that headset's controller
to
like
figure that out.
Uh,
sometimes that might be,
hey,
we just literally don't support a particular device,
like that device just does not work.
But that's like a different issue.
And then another one is like.
Uh,
desktop mode versus VR mode,
right?
So I would say,
and I am biassed,
but I would say,
hey,
if you are,
you know when you're like.
Oh,
it just
fella,
why
are you barking?
I we're just gonna go to bed after this.
Um,
where are we?
Oh,
buddy,
as,
as bump to question,
thank you for bumping it.
Yeah,
um,
comments and proto Fox is a,
a,
a GitHub issue that we have,
um,
and you'd need to go find that GitHub issue to,
to track the progress on it.
I'm not up to date on that one.
if someone can try and find it,
or I'll,
I'll find it in the next couple of minutes.
Uh,
raid says that they will revisit the
um.
MPV issue,
yeah,
just add
whatever information you think might be helpful,
that is supplementary,
it would help.
Um,
I mean,
look at the YouTube DLP issue.
I,
I added as much information as I can find about their review process
and then one of the maintainers added more and we've got a resolution.
We continually make changes to the whole tank control situation,
but like,
it continually comes up and I I just,
I don't understand.
Why didn't we add like a bunch of settings to do with tank controls?
Pretty sure we did.
We had something.
We definitely like added something to change it.
I remember that.
Yeah,
um,
movement settings,
left sideways mode,
right sideways mode,
and it's like turn and move,
turn only,
straight off.
00,
see,
see this is important.
You need to include as much information as you can,
so let's back up a bit and let's see where we started,
right?
So
Red started by saying the main thing people run into is controls,
and then I'm like,
well,
what do you mean?
And then we get there,
it's like when you equip a tool,
tank controls.
It's like,
oh beautiful.
You see the like the level of specificity increased
and like the conversation moved forwards as we now understand the problem.
Even in the like you said
tank controls,
full stop,
and I'm like,
but I thought we fixed those,
and then red says,
not those tank controls.
It's like,
it's good,
you see,
like we,
we've made forward progress.
Is there a GitHub issue for the tool tank control thing?
Please link it if you can,
if you can find it.
I will add it to my working memory and then promptly forget about it,
but like I,
it's like issue 25.
OK,
I'm gonna go to issue 25,
and if it's not
related to tank controls,
what punishment is applicable for red do you think?
How many angry cat gifts?
A boot to the head,
absolutely.
I think we'll just settle for that.
There's your punishment,
Red.
But yeah,
if you,
if you remember what issue that is,
I will add it to my memory.
Um,
it probably won't move anywhere because of this,
but like at least the next time you bring it up,
I will,
I will
be more familiar with the problem.
Uh,
so Sika found the
comment node for Protoflux,
so,
uh,
Buddy Dibbs,
you can,
you can go there.
Uh,
Protoflux collection support being another high contender for priority,
yeah,
I agree.
And then VT Alex says,
uh,
is there a specific variety of soup which you prefer?
broccoli cheddar soup,
of course,
or any soup that has cheese in it.
It's usually like a blue cheese soup that's kind of good.
Oh,
broccoli and Stilton,
yeah,
that's it,
broccoli and Stilton soup.
Look at it,
it's broccoli installed in soup.
Look how colourful it is.
Someone's gonna be like,
that looks like snot.
Yeah,
sure it does.
Soup.
Hey fellow,
you wanna come on my lap?
Will that stop you barking for a bit?
Uh Sika,
I would like you to go through that picture,
zoomed in.
In Photoshop with a colour picker tool
and you can then count the varieties of green
because there are a variety of green in there.
So yes,
it's colourful,
green spectrum colourful,
but yes.
OK,
so 149
is the issue that that red would like me to take a look at.
So let's go there
scroll via,
no,
this isn't tank controls at all.
This is scrolling.
Oh,
so I wonder why the tank controls hasn't been resolved when
there is not a GitHub issue that you can find.
Oh,
there you found it.
2339.
OK,
so we went from,
it's literally 25
to 149
to 2,
2,339.
It's fine,
it happens.
It's cool.
Yeah,
I,
I agree on the communication.
Um,
so I think what's compounding.
Is uh
is like someone being new
to the engine,
um,
and then also having that problem,
right?
Cause I,
I see what Fruits is saying,
but I also see what you guys are saying,
so like I get it,
like I understand both sides here.
Let's take a brief look at nitrous fork here,
uh.
I'm reading Nitrous mod here and it's like,
if,
if there's an active tool
and it needs the secondary,
it's still blocked.
So I'm very confused.
By,
by my reading here,
it's still
like it still blocks the,
the input
when the tool has used secondary,
but the GitHub issue just continually talks about like how,
like that's the problem.
Is that all these tools have you secondary enabled
and sometimes don't need you secondary,
and so then tank controls apply,
and then the no tank controls mod
honours the use secondary checkbox.
I'm just,
I'm very confused.
See,
I understand the issue,
but like you can see,
like the more I dig into it,
the more confused I get.
So,
uh,
maybe we need like a wordsmith to figure it out.
Right,
do we have any additional questions or is it compresssonate rent time?
Uh,
so 989 says what it does is force the joystick to work even when secondary is enabled.
But I,
I'm reading the code and
I,
I might be reading it wrongly,
but it's like,
uh,
if the tool
uses secondary
and we have an active tool,
block.
Oh,
that's not the actual patch.
The patch is below.
I see it.
There's no harmony patch,
um,
doubly do.
I was reading like I was reading a little too high in the code.
Like
the actual like block unregistering is,
is,
is here.
I was like getting stuck in the
Inspector scroll compatibility stuff.
OK.
Alright,
I think it's compressing it around time.
I've of course uh lost the tab.
There we go,
I found the tab.
All right,
so
here are the current changes
for compressorator
to fix BC6H,
and I,
I wanted to just rant about them.
So first of all,
there's a typo here
in um
decoding the header of a particular type of uh BC6H file.
It's like quite clearly a typo.
This is a semicolon,
and then on the next line,
they just do a bit shift with like no other assignment.
So we fixed that one up
and then
Codec BC6H used a field called M quality
to determine its quality,
but
Codec BC6H is actually an inherited class from
Codec DXTC,
and CodecDXTC actually relies on a property called F quality.
Um,
the only difference between M quality and MF
quality is F quality signifies that it's afloat,
but M quality is also a float.
So
I was just confused and I'm like,
well,
both of these properties don't need to exist.
And
the problem that I was seeing
was that MF quality
in BC6H was being assigned to 1.0
and M quality was being assigned to the input quality.
So when I put in a quality of
anything other than
one,
I was still getting quality one in some debugging outputs.
Now I don't know if that made its way all the way down to the encoder of BC6H,
but I was just like,
this is confusing and needs to be fixed.
So I removed
M quality and we now use F quality everywhere,
and what that meant is like,
hey,
I don't need to worry about this like M quality F quality thing.
I I just need to like
deal with the existing quality value,
which meant that we could remove a bunch of stuff.
I don't like having commented out code
here.
Like this was last touched in like 2020 again like it shouldn't
be in the codebase if it's commented out for that long.
And it also meant we could lose this because again it's like
the,
the parent class
handles it
because it's,
it's now using quality.
And then the next thing here is the um.
This
M uses multi-threading boolean,
it basically it gets set to
uh true
if
encoding threads is greater than one.
But the problem is that encoding threads greater than one.
Um,
doesn't actually reflect the accurate case of it.
Uh,
see if I can.
This is a bit difficult to read because it's mostly just indenting.
But if you look on the left here and just ignore the colouring,
just treat it as regular code,
right,
it was basically like
if we use multi-threading,
do all this stuff which like shuts down the thread.
But if we don't do any multi-threading,
just do these three lines.
And I think it was designed to sort of maybe optimise
this flow so it didn't have to do this loop.
But the problem is that like M life threads is always at least one.
And so my logic is like,
hey,
we should always run the M Life threads loop wherever we have it
because we're still incrementing and decrementing the
number even when threads is one.
And so I just remove the M library
initialised check and that problem's now resolved.
I need to remove
that and this I need to update how I'm doing debugging in for basically.
And then here this M number encoding threads,
you see down here.
It was using M quality again.
We're using F quality again here,
so it's consistent
because again,
this was M quality,
but I'm just like,
no,
we've got two quality variables,
please stop.
Same problem was occurring here
with um use multi-threading.
M Life threads is still one,
and it meant that
we still had one life thread here
that
doesn't sleep for 1 millisecond
because
we think that we're not using multi-threading when we actually are like we're still
using those those structures again we had to get rid of M quality here.
And then same problem here,
it was like,
hey,
there's no point checking this boolean because it's wrong,
um.
But here
is the bit that I wanted to rant about more
again F quality reserved,
not used in BC6H at this time
actually is used
in BC6H at last time.
So that comment was just like completely inaccurate.
So it was just
so confusing.
This was alsoerth Romance,
which I found quite funny,
so we swapped it over to performance.
So you said I've gone through and I've updated it everywhere.
I've been like,
hey,
look guys,
BC 6H actually does use quality.
And um I switch uh
I switch over to
how do I switch screens in this damn stuff.
Where is the button?
No,
no edit computers are so complex.
Here I found it.
It's called change stream,
not change,
um,
uh,
window or something like that,
which is what I was looking for.
Uh,
so
here in uh compressing it or ignore this,
um.
F quality
in BC6H
is passed down to the kernel,
which is the actual the actual encoder here,
as F quality as well.
Again,
another reason why I wanted to remove the duplicate property thing,
but
it'll be like,
oh,
it's,
it doesn't like doesn't look like it's being used,
but uh it is um
because it comes into here,
like immediately
it comes into here and gets renamed from F quality back to M quality.
And then M quality here
is used.
If the quality is above 0.8,
it does
whatever this is,
like it looks like additional error correction,
right?
I mean like half it's commented out,
but the actual point.
Qualities used in the most intensive way is here,
where it does optqua and.
I have no idea what this method does,
but it uses quality here as well.
And so you can see here what it does is it retries
4000 times
when quality is one.
So this piece of code runs 4000 times when quality is one.
And 200 times when quality is 0.05.
And because of that bug with M quality F quality,
I wasn't sure which quality number actually made it to this function,
and it meant that
even with compressorator as it was like years ago,
it could have actually been
one coming here
despite the fact that we were providing not one,
which means that we could be doing
several orders of magnitude more operations in Optquandon
than we need to.
I don't know what Opquandon does.
Do you want to find out?
Let's go take a look.
This is Opquanin.
Um,
I thought eigenvectors were,
uh,
Yeah,
oh,
this is a lot of maths that I don't understand.
Here it's just like
J
K T K
J,
and then it goes into it as a quant and shell as well.
So
with all of those combined,
let me just go back to my
my code change.
With all of those combined,
I think I've got to the bottom of the problem
for the reflection groups,
which is
a combination of some areas of compressorator we're ignoring the quality value.
And we are providing Compresssonator with a quality that is
much,
much higher than the recommended quality for BC6H.
For BC6H,
it's recommended that we use
1.0.05,
and you can actually see that in compressorator's source
because
uh
you can track uses of this constant here.
This constant
is used in both BC6H and BC7.
And if you go through to
the CLI,
where basically it says here in the CLI is
um
has user set the quality settings.
If not,
let's use a default.
For
anything that is not BC7 or BC6H,
use 1.0 as quality.
But specifically for BC7 to BC6H,
use this constant,
which is the 0.05 number.
Um,
for anyone who's like,
Hey,
this looks like a lot of work,
you know,
with these constant variables here,
the reason you do this is sort of like a um change control,
right?
So
if,
if this number 0.05F changes for any any point for any reason.
I update it here,
here only,
and the Git commit
will be here and here only and it will tell me exactly what's going on,
exactly what's going on.
Like we changed it because of this GitHub issue or whatever and stuff like that.
So if I
then navigate to
where are we,
uh,
let me just
double check cause this is fruitsension,
so I gotta make sure I'm not sharing anything sensitive.
I'm not good.
Uh,
change stream
to
freak extension for extension.
So here I am in the asset pipeline of fruit extension,
and this is all new,
and I added it because
what I wanted to do is basically say like,
hey,
we should honour what they want,
which is or recommend,
which is 0.5F,
but I want to document that severely.
I want it to be abundantly clear for the next person through the code.
It might be me,
might be another engineer.
Why we've set it to 0.05.
And I also want to leave us
stuff in the future.
That will allow us to sort of say,
hey,
maybe for BC 8 when BC-8 comes out,
we want a different quality value.
And again this will be factored into purely here and
very well documented with full comments and stuff like that.
So there you go.
That is the BC6HAM.
I would like
randomly for anyone who's back who feels like doing it,
give me a score out of 10 for the BC6H RAM.
How good of a rent was that?
Yeah,
not angry enough,
I agree,
yeah.
The reason why I'm not angry is because Fed is on my lap.
Um,
it's hard to be angry.
Look at,
uh,
Red,
what's your concern?
Was it the hash?
Yeah,
uh,
take a look at the latest comment there.
I've given you some additional files which have
different hash.
The,
the,
the hash being the same is actually what led me to make that F quality M quality change
because I couldn't be sure that the quality was going through correctly.
And if I couldn't be sure that the quality was
going through correctly and it was actually being hard coded,
overloaded back up to one,
that would make sense as to why the hashes are the same,
right,
because I'm putting in a different quality number,
but compressor it is going,
I have a bug,
I don't care.
Quality's still one.
So I generated some more,
and the hashes are still similar
and that's because the operation is sort of,
it doesn't need high quality values.
So
even after making sure that the quality was going through successfully.
The fact that we're still getting same hashes
with a difference of that big in quality
means that it is the right move to drop the quality.
One of them's different if you look at the,
the,
the issue.
One of,
one of them is,
is definitely different.
Um,
yes,
uh,
so I did a
256 is just automatic of um.
Yeah,
look at Shi 005 and Shi 060.
That is a Shanghai market,
I believe,
and you can see there that the hashes are different.
Um,
I know the market one is Market 005 and market 060,
and those hashes are the same.
Uh,
I'll just
paste it here.
So
feel free to play around with the Shanghai
one because that does have a different hair.
Um,
but if you do do that,
bear in mind you will be downloading 42 megabytes of just random files.
Oh,
we have a,
a question that's left over.
Um,
in the split,
how will that roll out?
Uh,
will there be data model incompatibility?
Uh,
anything we produce should be compatible
as it,
as it rolls out.
Do you mean we like the difference between the pre-release branch?
And
like the regular branch,
because probably,
probably.
And I'm basing that purely on the code changes that
are coming in as Fris is working on it.
And uh Fris's earlier comments today about the fact that Fris
had to use his laptop to produce a mainline build because
his desktop computer is so like involved in the splittering that
it's difficult for him to produce a regular build there,
which I completely understand,
seeing.
The code changes that are in effect completely understand it.
So,
um,
everything is lining up logically,
but because of that,
that difference there,
it's likely that like pre-release and
regular might have some compatibility issues,
but because of the way the splitting is actually also being done,
it's,
they might not.
Uh,
in the splittingning we've moved some enums around,
uh,
for example,
the light.
I know I talked about lights earlier,
but the type of light,
you know,
uh,
point,
uh,
spotlight.
Sun,
that that enum,
that enum has moved name and location
and what that means
if I just expand in my head quickly,
is when that enum is saved into
uh the inventory or the data model,
it'll have like a a different type name.
Instead of like freaksen.lite type,
I think it's now like renderite.s shared.
uh like um
light type.
And and fruits will
put
like migrations in there that are needed.
He wrote that whole migration system and it's beautiful and it's like,
hey,
we're changing the name of this like component,
fine,
it's,
it's handled,
etc.
So like it it it will be handled,
but if you're jumping between pre-release and regular.
There is the possibility that some of those migrations might have
bugs or issues or not occur yet because it's pre-release.
So I,
I think it's likely that there would be um incompatibilities.
But of course wait for pre-release notes for,
for certain there and asks if you'd like additional information.
I think we're done.
We'll be going for an hour and a half,
um,
mostly because of compressorator,
uh.
I will answer your question to this though.
Uh,
due to reson starting as a UTChar project,
even the letting what you slept with uh UTCChar project just with loose bindings,
yes,
exactly that.
Uh,
we already have it.
The um
way we're doing it though is we're doing it
so that it's abstracted.
So it's called render right.
Um,
you'll see it in the logs and dev log,
etc.
So Renderite has a bunch of packages.
There's Renderite itself,
I don't,
it's probably named something different.
I'm,
I'm not looking at it right now.
That has like the core structures to sort of handle IPC,
stuff like that.
Then there's renderr.
shared that handles stuff that both sides of the equation need to have.
So unity and for extension if they need to have like an enum,
like the light type,
that's in renderite.s shared.
But then there's renderite.
unity.
And that's where Unity code is,
and there is no unity code,
like no using unity engine
that is outside of renderite.
Unity.
And so what that means is say we wanted to
and let's not get into like which engine to use.
I'm just going to pick one at random,
OK?
Let's say we wanted to transition to Godot,
we would do a pack.
called renderite.
Godot,
and then we would create a tiny Godot
package that implemented the features of renderite.
Godot,
and then we would have a Godot renderer,
or at least hypothetically.
There would probably be some gaps there at some point,
but,
but there we go.
Red,
this is your last question ever.
If you ask another question after this question.
You get another angry cat gift,
but,
but
feel free to do that,
yeah.
How's the Excel port in a
not actual jovial manner,
um,
one of the business clients that we have hasn't
asked to get Excel sheets spreadsheets rendering inside reso.
I am
currently of the opinion.
But rather than rendering Excel spreadsheets inside um Resinite,
we should convince them instead
to fund,
as in pay for
screen sharing,
because if,
if we give them screen sharing,
they can share their Excel spreadsheet
natively
with native Excel
in a way that's probably still editable,
and depending on how screen sharing works,
maybe we'll send it puts across.
Who knows?
Like it it just feels like it would
be monumentally easier to implement screen sharing.
That it would be to implement Excel spreadsheets.commits is like the wrong word.
It's like we're going to have the conversation,
right?
It's up to them.
Like they want
Excel spreadsheets rendering in game
and what I'll say is like,
hey,
that's probably very difficult.
We could do it this way
and you would get
Excel spreadsheets,
Word documents,
PowerPoint files,
um,
like Figma,
like all those like design tools,
etc.
because you're just sharing your screen,
you could,
you could get that content into the game.
So I think it would be a better way of doing it,
but it is up to them if they're adamant that they want Excel support
and they want to pay for Excel support,
we'll do it.
I think we're going to go ahead and leave off here
before we get too into the Phils.
I hope
that you all enjoyed everything that I showed today.
If you did,
make sure to
Like and subscribe.
I don't speak to you,
sir.