Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2020-12-23 00:00:00Z and 2020-12-24 00:00:00Z
Avatar

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--u...
tw_heart 1
Avatar
aoc day23, part 2: ger2 is slower than my local server 😦
08:15
anyone got a server with fast single-core performance?
Avatar
[quakenet] ChillerDragon BOT 2020-12-23 08:56:16Z
what is fast
09:01
@QshaR you here? could https://qshar.com/maps.tar.gz change back to a directory called maps/ containings maps? :) currently it is home/teeworlds/serverMN/data/maps
Avatar
Reported by Lenah on Discord

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/...
Avatar
@heinrich5991 servers usually don't have good single-core performance. Why not run it on a local machine? Intel desktop CPUs will do 5 GHz easily
Avatar
qshar was not highlighted by you, ChillerDragon
Avatar
[quakenet] ChillerDragon BOT 2020-12-23 09:03:46Z
meh
09:03
ty for info tho
Avatar
@deen hm. unfortunately my desktop CPUs are old years old and very slow
09:04
I guess my home server has a desktop CPU
09:05
nim becoming more famous?
09:05
POGGIES
Avatar
please no spoilers for day23
09:05
(I realize this one is day21)
Avatar
I'm not yet done with day23 ^^
Avatar
what i sent is just a blog post
09:06
not related to aoc xd
Avatar
oh 😄
09:06
sorry, still have my aoc glasses on
Avatar
Reported by Lenah on Discord Further broken by #3405 Checklist Tested the change ingame Provided screenshots if it is a visual change Tested in combination with possibly related configuration ...
Avatar
[quakenet] ChillerDragon BOT 2020-12-23 10:54:14Z
is it possible to submit maps to ddnet without having discord?
Avatar
[quakenet] ChillerDragon BOT 2020-12-23 11:06:20Z
oh thats sad :/
Avatar
e981d1b Fix veto vote, simplified logic - def- 2eae2c9 Merge #3440 - bors[bot]
Avatar
@heinrich5991 my server has a desktop cpu if you want to give it a go :P
Avatar
Though I guess it's supposed to run on most any machine, maybe your algorithm is not efficient?
Avatar
mine only ran for 3 hours
Avatar
@heinrich5991 is there no way to ask for a version of clang-format in our config?
13:37
Not sure if acceptable but we could have CI commit the final formatting
Avatar
Helps with maps like "The Dream" view without whitespaces

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memchec...
Avatar
Avatar
Learath2
Though I guess it's supposed to run on most any machine, maybe your algorithm is not efficient?
@Learath2 no shit 😛
14:05
my first 2.5h run had an off-by-one error
14:05
hopefully this run will be fine
Avatar
am I missing anything?
Avatar
@Ravie X number of jumps?
Avatar
ah yeah I've decided to wait with that one since it's a weird case
Avatar
render it per text container
Avatar
And I guess showing tunes is too complex/confusing
Avatar
yeah but I'm not sure for example how small the rendered numbers can be before they're illegible
Avatar
who implements it btw?
Avatar
I liked the display idea of showing that many dj indicators
14:28
in the top left corner
14:28
like health currently
14:28
(doesn't have to be horizontal)
Avatar
yeah that's the coolest option I guess
14:29
I can design a dj icon in a style like healthbar with the empty one as well
Avatar
and is there a countdown timer for freeze? (blue line)
Avatar
I guess the teleweapons could instead replace the normal weapons
Avatar
what if you got the buff but don't have that weapon yet?
Avatar
oh, that's possible? I guess show it beneath the disabled weapon
14:31
the orange portal
Avatar
well it might be unlikely to be in a map but I'm just trying to think what fuckery you can do, since eventually someone will do it anyway
Avatar
yea, sounds good!
14:31
I didn't realize that one
Avatar
I guess there needs to be something like a "ddnet_game.png" if it's not just icons
Avatar
yea
14:45
I guess we could put it into the normal game.png
14:45
and make the size larger
14:46
taking it from our default game.png if the user-provided game.png does not have these icons
Avatar
are there any free platforms for hosting telegram bots
Avatar
if we resize game.png or add anything to it then you can't use custom skins
14:47
unless you edit ddnet stuff into it which is a problem to some people
Avatar
Avatar
heinrich5991
taking it from our default game.png if the user-provided game.png does not have these icons
see above, we just use the default icons if they're not present in the custom one
14:47
I think this solution is cleaner because it allows people to share a game.png for ddnet in one file
Avatar
but resolution needs to stay the same anyway and there might not be enough room for all the new stuff (and if there is, then barely enough with no room for the future)
Avatar
no, we'd change the resolution, I think
Avatar
so you mean, if the gameskin resolution is 1024x512 then load default ddnet stuff (which is its own file then anyway)?
14:52
or are old gameskins just incompatible
Avatar
yes.
14:53
not incompatible
14:53
that would be bad
Avatar
@heinrich5991 makes more sense to have a new file
14:53
for all the icons
Avatar
why is that? I gave reasons for the other point of view above
Avatar
cant we use the ones from entities
Avatar
how?
Avatar
well the tiles
Avatar
looks weird
Avatar
they look very similar
14:54
dont they
Avatar
yes but we cant just use the tile
Avatar
why not
Avatar
Looks weird
Avatar
alter thje default entities so we can use them
Avatar
Avatar
Ravie
am I missing anything?
Imagine this with tiles xd
14:56
would look bad
Avatar
it is basically tiles
Avatar
well my icons are literally tiles now xD
Avatar
but not with the Background around it
Avatar
they're in a 64x64 square, just not filling it fully
Avatar
yea and tiles are filling a full tile
Avatar
of course they are
Avatar
yes they have a background
14:58
however, the entities have more space left
14:58
game png is already tight
Avatar
I outlined a solution above, what's the problem?
14:58
we enlarge game.png, with backward compatibility
Avatar
makes game.png incompatible to vanilla tho
14:59
in the other direction
14:59
ddnet to vanilla
14:59
not opposite
Avatar
@fokkonaut
Avatar
yes, but it can be fixed by truncating the image in a normal graphics editor
Avatar
i know
14:59
@Ravie
14:59
But we still cant use entities for this because entities have a background around
15:00
thats all im saying xd
Avatar
but it doesn't matter what you put in a tile xD it can be fully transparent and still a tile
Avatar
yes. you two are agreeing
Avatar
@Ravie its more about using the entities clear
Avatar
@Ravie ^
Avatar
instead of custom icons
Avatar
correct
Avatar
hey guys sorry for interruption I would need help with sending skin change to 0.7 clients on DDNet for 0.6 clients version it works like this would appreciate any help :) void CPlayer::Snap(int SnappingClient) . . CNetObj_ClientInfo *pClientInfo = static_cast<CNetObj_ClientInfo *>(Server()->SnapNewItem(NETOBJTYPE_CLIENTINFO, id, sizeof(CNetObj_ClientInfo))); . . StrToInts(&pClientInfo->m_Skin0, 6, m_Zombie ? "cammo" : m_TeeInfos.m_SkinName);
Avatar
why would you use entities clear for it o.o (edited)
Avatar
so ppl can use their own icons
15:01
easily
Avatar
just like in game.png
Avatar
@Axaris protocol7::NETMSGTYPE_SV_SKINCHANGE
👀 1
Avatar
but game.png is not tied to entities also
Avatar
except it fits better in game than entities
f3 1
Avatar
@Axaris check gamecontext.cpp, should be used somewhere
👼 1
Avatar
i'd say the opposite, since these are looking like the tiles
15:02
(atleast graphically)
Avatar
there will also be other stuff, jump meter which is like hp bar and freeze timer
15:02
then you need to add stuff to entities and still add an image for the other things xD
Avatar
@Axaris sorry, its protocol7::CNetMsg_Sv_SkinChange
Avatar
well the most less conflicting thing is adding a new asset for ddnet only
Avatar
@fokkonaut thanks, that looks great
Avatar
imo it's the only sensible thing
Avatar
@Deleted User that makes it hard to make skinpacks
15:05
because now you have to distribute two files
Avatar
if we have this stuff in an expanded game.png then we still need another image with ddnet stuff, and there's extra work for coders to detect if those icons are missing and blah blah
Avatar
extra work for coders > extra work for users
Avatar
+you never know if someone slaps random crap in his game.png and gets detected as a valid one
Avatar
it's better if one developer has to do some work, rather than hundreds of users
Avatar
One benefit of fitting it on game.png would be that we already have asset switching implemented
Avatar
yea, that too
Avatar
wouldn't that be the benefit of having it as 2 images?
Avatar
@heinrich5991 do you know what vanilla does if it loads a game.png of the wrong size?
Avatar
probably scale it
Avatar
If we have 2 images we need to add one more tab and implement a way to switch the second texture too
Avatar
Avatar
deen
probably scale it
I don't think this is acceptable then. We can't break other clients
15:08
If they'd truncate, then we could consider this
Avatar
alternatively name it game_ddnet.png and only use that if it's available
15:09
still containing everything
Avatar
And if someone switches ingame to an old type game.png we can use the missing icons from the default
Avatar
yes
Avatar
I think this is the winner solution
Avatar
it's fine, but now if someone makes a gameskin he needs to make 2 versions, for ddnet and 0.7 which splits the community even more
Avatar
The 0.7 version would be just a crop
Avatar
And if they only release a 0.7 version then we use the default icons for our stuff
Avatar
wait are u proposing to make game.png a different resolution
Avatar
@heinrich5991 why?
15:12
just add a new asset tab
Avatar
nobody needs new assets for hud icons
Avatar
the other solution is complete overkill
f3 1
Avatar
@Deleted User can you give arguments please ^^
15:12
"complete overkill" is very subjective
Avatar
bcs u have to anylze alot of stuff, have two game pngs
Avatar
you still need a new tab :x
Avatar
no, we don't need a new tab
Avatar
Adding an entire ui tab with functionality isn't overkill but checking the resolution of an image is? I don't see either being harder
Avatar
unless you incorporate some weird gameskin merger into Gameskin tab
Avatar
@Learath2 its also sharing game pngs, with the new added icons (edited)
Avatar
Avatar
heinrich5991
see above, we just use the default icons if they're not present in the custom one
@Ravie ^
Avatar
what makes that better than using a new image tho?
15:14
i dont get it
Avatar
Only issue I see is a 0.7 player accidentally using a game_ddnet.png
Avatar
it makes it just harder to keep state with vanilla
Avatar
one annoying thing about checking resolution is that some people will make HD assets
Avatar
@deen we check the ratio
Avatar
yeah, that's better
Avatar
yeah I see nothing wrong with a separate image, there's already game, entities, particles, gui_icons, emoticons
Avatar
the difference is that it makes it harder to do a skin
Avatar
even better, just use a new image, for a completly unrelated image xD
Avatar
you now have to distribute two images, for relatively similar things
15:15
currently the ingame HUD comes from one file
Avatar
why is all this stuff not slapped into a single frankengame.png
Avatar
oh come on, you're not arguing in good faith
Avatar
Avatar
heinrich5991
you now have to distribute two images, for relatively similar things
in your solution yes, but the hud can still stay independent of the other icons
Avatar
well to me it doesn't matter that much one way or the other, I'm just perplexed why merging it would be a better solution
Avatar
Well most people don't. Why argue in good faith and bother actually making up counter arguments when a strawman has the same effect
Avatar
@Ravie we gave arguments, but you don't seem to refer to them when trying to say why the solution is bad. if you don't care, nice. then we can go ahead with the solution three people like
Avatar
so what if u want default game png with new icons
15:16
it just makes it harder
Avatar
For the record I wanted to avoid another separate asset tab
Avatar
they are unrelated things
Avatar
hm? currently HUD stuff is in game.png
Avatar
yes. thats the argument
Avatar
like the hearts, the crosshairs
15:17
and we want to keep it that way
Avatar
but we talk about the icons from ravie
Avatar
which are displayed in the game HUD, like the stuff in game.png
Avatar
u want to add them into that image dont u?
Avatar
(e.g. the hearts, the non-filled hearts)
Avatar
i think u dont get the main point
Avatar
i think merging is bad but i'll clarify in a bit
Avatar
these icons from @Ravie look like entities not like Game HUD
15:18
so if u want new icons but default game
15:18
u have more work
Avatar
no
15:19
if you load a vanilla-style game.png, we fill it with default new icons
Avatar
yes
15:19
i mean the opposite
Avatar
to me they look like neither xD they're their own thing
Avatar
@Ravie isn't it like the health display?
Avatar
@Ravie what i meant is, u use louis entities u probs only want to replace these icons
Avatar
yeah the dj/freeze stuff is
Avatar
not anything else
Avatar
If you load a ddnet style game.png you get all icons. I don't see what complex analysis problem you are mentioning here
Avatar
there's one thing like game.png and another thing like entities, and together they're like neither (but still belong together)
Avatar
@Learath2 then u have a full new game.png
15:20
just for these icons
15:20
it removes modularity
Avatar
we don't have modularity for these kinds of things right now
Avatar
we didnt even implement it
Avatar
you can't change weapons without hook, etc.
Avatar
but these are not directly related to the game
Avatar
I guess hp/shield bar becomes obsolete, so now only this new image is gui
Avatar
we still have hp/shield for other gametypes
Avatar
Let's just have a separate file with only ddnet icons and a new asset tab. This just isn't a hill worth dying on
Avatar
no. this makes sharing it unnecessarily hard
15:22
see teeworlds 0.7 skins
Avatar
no
Avatar
those are also hard to share
Avatar
I'm all for having dj/freeze bar in game, but icons are smth completely else
Avatar
i completly disagree, its the exact opposite
Avatar
okay. let's move this discussion to github
Avatar
it makes it harder to share if we merge them
Avatar
we're just repeating arguments at this point
Avatar
its like u put particles.png into game.png bcs they are both used similary
Avatar
Avatar
heinrich5991
no. this makes sharing it unnecessarily hard
I agree, but I don't have time to implement it and other people won't spend their time implementing things they don't agree with
Avatar
I guess it's also an option to put dj/freeze in game and a new image for icons
Avatar
I'll implement it, d/w
Avatar
i just dont get how you can think so complicated xD
Avatar
I don't think anyone would take it on himself to make custom new icons with how (in)active the artist community is right now
Avatar
One issue that bugs me is @deen's comment about HD textures
Avatar
that isnt the main issue
Avatar
Avatar
Deleted User
i just dont get how you can think so complicated xD
Again I don't see how either is more complicated and you refuse to elaborate
Avatar
??????????????????
15:25
i stated arguments nobody here could give an argument against (edited)
Avatar
link?
Avatar
2ea2d67 Only render visible particles - Jupeyy 7ec58f6 Merge #3441 - bors[bot]
15:25
read from here
15:26
new icons but default gamepng
15:26
creates the same png again
15:26
just with new icoons
15:26
bcs u dont want modularity
Avatar
@Deleted User post the argument to the github issue and I will respond
Avatar
I won't respond here, because I feel like I already have, and doing so again would just create the cycle once more
Avatar
Ah I see what he means, I guess that is a concern
Avatar
ok, idc at this point, its 3 vs 2 anyway just make sure to use quad containers and text containers for performance
Avatar
Mixing and matching is not space efficient if we use one game png
Avatar
can you also move to github please, @Learath2?
15:27
we already found out that discussions here are unsearchale
15:27
and will just repeat, like accounts
Avatar
thanks ❤️
Avatar
i just posted it
Avatar
thanks
Avatar
@heinrich5991 btw you wanna ship game.png twice? or how would one know which image to edit
Avatar
everything you post here will get lost and re-discussed
15:32
I'll post your question to github, okay?
Avatar
just ship game_ddnet.png
15:32
not game.png
Avatar
hm and then you're supposed to just know that pasting an old style game.png will also work? (edited)
Avatar
I guess, yes
Avatar
meh I hate "hidden features"
Avatar
Ddnet is full of them :P
Avatar
it's not the best example tho is it justatest
Avatar
just a new file would fix all issues
Avatar
@heinrich5991 we really need to find a good way to update extended objects soon
Avatar
@fokkonaut → githubh
Avatar
a new file would also be better for editing purposes
Avatar
@fokkonaut not exactly, I'm not sure myself which way is better
Avatar
If only another game.png is wanted
Avatar
@Learath2 yes. it's basically only a programming problem
Avatar
I want to add a couple new things into ddnetplayer for a while now and it's really a pain to introduce a new version and write compatibility code everywhere
Avatar
Well, guess why there is particles.png and why its not in game.png
15:36
Not related/ other topic
15:37
So why dont we just add a new file for these icons
Avatar
@fokkonaut please go to github if you want to discuss this. some people have already posted there
15:37
you're repeating arguments that have already been said here
15:37
@Learath2 what do you want to add?
15:38
teamsstate?
Avatar
I want to add the team# to ddnet player. I want to move teamstate into a new extended message so we can add things like practice flag to it e.g.
15:39
I wanted a couple things in ddnetcharacter too but they don't come to mind right now
Avatar
yea, sorry, it's still not solved
15:39
and it's unfortunately not on top of my list of things to do
Avatar
I would want to do the F-Client release soon, @heinrich5991 @Learath2 could you tell me if the pr is okay like this?
Avatar
I think you already solved it tho, it's only a matter of implementation
Avatar
yes. but it's not the next thing I'll do on ddnet
Avatar
Avatar
heinrich5991
and it's unfortunately not on top of my list of things to do
It's kinda one of the most important things as far as ddnet is concerned right now imo
Avatar
$ RUST_BACKTRACE=full /media/libtw2/target/debug/teehistorian2demo 7482cb75-d198-4256-b80d-c69f342c95ff.teehistorian thread &#39;main&#39; panicked at &#39;assertion failed: 0 &lt;=...
Currently panics when it gets to a player without info.
All but the oldest teehistorian files have this information embedded, add it to the demo (in DDNet format, there's a field for it).
15:41
these are the next things I wanted to tackle
Avatar
Well obv it's your time, you can spend it however you want. But if your list of things to do is based on priority maybe recheck this one :P
15:41
Ah libtw stuff is also quite important 0.7 messages are a nuisance
Avatar
Yo time for a scrum meeting and iteration planning to prioritize the backlog everyone xD
Avatar
I gtg for half an hour. Need to shop before everything closes for christmas and I'm left starving
Avatar
[quakenet] ChillerDragon BOT 2020-12-23 15:44:22Z
lmao @YupHio
Avatar
Btw, is it normal that antiping makes my game very jittery and rubberbandy on high ping servers even if I'm alone?
15:45
I'd think we have enough information to predict perfectly regardless of ping
Avatar
alone it shouldn't expect if there is a lot of packet loss etc
Avatar
Ah maybe I have packet loss to china, I'll check later
Avatar
(insert politically incorrect joke about Wuhan not releasing packet data)
Avatar
Yes, happens to me too on CHN servers
Avatar
Can someone give me a brief rundown on the whole 0.7 debate? I hear a lot of talk/complaints about versions lately. Are some people preferring an older version of TW? Does DDNet only support a certain version now? Are there pros and cons?
15:51
Also, why does DDNet have their own master server? Did TW refuse to list the extra traffic from tons of DDNet servers on the regular TW master servers or something? Or is it a move for DDNet to become more independent and "its own project" without having to rely on TW?
15:52
I'm just out of the loop, sry :)
Avatar
0.7 debate sums down to ideology mostly. People are so fanatical. There are indeed people who prefer the old version but it's small things like ui look
15:53
Ddnet would ideally migrate to 0.7 too but it's a lot of work and we are busy ppl :P So ddnet supports both 0.7 and 0.6 clients thanks to a compatibility layer
15:54
Ddnet hosts a master because we didn't really think one person should host all the masters
Avatar
only issue i see is that skins look weird in 0.7, rest is better xd
Avatar
The code is getting cleaned up quite a lot lately in 0.7 so it'd be a better developer experience atleast
Avatar
I don't like teeworlds overall. It haunts me.
Avatar
We've been hosting a master server for TW for years, but we recently moved it to a separate server because it attracts too many DoS attacks. Also feels reasonable since half of TW servers are DDNet
Avatar
The DDNet tab doesn't count as a master right?
Avatar
Nah that's a json file we serve over http
Avatar
I don't think an out of loop person would pick up on the master changes that easily, so I want to make it clear.
Avatar
Makes sense. I was quite surprised at how few vanilla servers there are now. DDNet will assimilate all, resistance is futile.
Avatar
It'd be nice if there were more hosters but people just want to play a handful of mods
Avatar
@YupHio if u care about dev aspect, i'd say code that is added to ddnet(not ddrace) is ok, ddnet also has extensions(network wise) support and a new OpenGL support, which makes it quite powerful compared to vanilla
Avatar
Indeed
Avatar
Yeah the stuff we inherited from ddrace is not pleasant
Avatar
It's too powerful I don't know how to work on it most of the time
Avatar
I was working on a complete rewrite for ddnet7 but I'm stuck on a task too large for my 5 minute attention span
Avatar
How complete.
Avatar
Isolating gamecontroller will be the thing that makes teeworlds modding a breeze
Avatar
Avatar
TsFreddie
How complete.
Like entirely from scratch except for the ddnet additions, like the auth manager, uuid manager, network extensions, teehistorian
Avatar
I see
Avatar
I could hack it all in, but the last major release was like this too, just bolting it on using spaghetti again and again is insane
16:05
But the way tw is set up with gamecontroller leaking all over the place you can't really isolate your gamemode from the server code
16:06
They really should put warning labels on potato chips. It's too addictive
Avatar
first idea
Avatar
Was there any plan on the vanilla side to provide a better gamecontroller
Avatar
No, but I think they miight accept a cleaner one
16:08
Oy has been pretty accepting lately
16:08
He even accepted my cute custom commands patch
Avatar
Surprisingly
16:09
I came in expecting to be rejected all the time
16:09
thonk so far so good tho.
Avatar
That's how it used to be back in the day
Avatar
Ye I've heard that
Avatar
The only thing you'd hear from oy would be "wontfix"
Avatar
But I thought either way I need chinese compatibility if it gets rejected I'll just make mods
Avatar
IGameController is a big fat liar. It's not an interface at all. So first order of business is making that into an ABC
Avatar
How do you do interface in c++ tho
16:11
Or am I thinking a different interface
Avatar
An ABC is the closest you get to an interface in c++
Avatar
I see
Avatar
E.g. IServer, that's an interface
16:12
After that the next part is combing through the code calling into the gamecontroller and removing all code that's not mod agnostic
Avatar
So for mods you just create a implementation of IGameController something like that?
Avatar
E.g. things like restart round. Not all mods have rounds
16:13
Yes ideally a mod would be just a gamecontroller + entities
Avatar
That's a lot of work cirBlech
Avatar
We must keep the diff into the original code very clean so that it's trivial to merge with vanilla updates
Avatar
I didn't do a good job of that with textrender tbh.
Avatar
I even wanted to not touch the original entities but that proves a little too hard
16:15
@TsFreddie but that wasn't a mod. It was a patch for vanilla
Avatar
Oh right
Avatar
I mean for a mod. A mod should have the absolute minimal diff for the original code
16:16
Screw client mods
Avatar
The client is way too integrated, sadly no such thing is possible there
16:17
Though I kinda like the component system in there, maybe the server should have one too
Avatar
I helped merging for f-client. Not pleasent. And seems like I broke a lot of stuff in f-client too
Avatar
Well an interface change is sadly painful
16:20
No way to avoid the large diff
Avatar
So is anything robyt3 does currently.
16:21
🙃 must do it while oy still in the zone
Avatar
I’m hoping robyt3 gets interested in server moddability. He seems to have inhuman performance and attention span. He is my only hope of ever getting a clean interface for modding
Avatar
would be nice to make a mod without breaking vanilla code(or only minimally) indeed (edited)
Avatar
I don't even know if there is a way to communicate with robyt3 other than in issues or pr.
Avatar
xD
16:25
create issue "I want to talk to robyte"
Avatar
He just shows up and delivers a thousand lines of clean code and disappears
16:25
Code Santa
Avatar
Like magic
16:25
Like I don't know how to say I want to do a Ime implementation on top of his work.
16:26
So I just pr'd into his repo and he doesn't even check his own repo
16:26
🙃
16:27
We should come up a way to bait him into server codes
Avatar
but is he even interesting in designing a good polymorphic server impl?
16:29
rewritting isnt enough there
16:29
would the maintainers of vanilla even allow it?
16:29
they still dont use STL which makes absolute no sense to me xD
16:30
they seem to be a bit over conservative with their things
16:32
@TsFreddie u are alot around in vanilla, is there some issue discussing such things?
16:32
i'd really like to see an answer from the devs there xd
Avatar
What the stl?
Avatar
standard template library, but i also mean generally, what is allowed and what not
Avatar
Tbh idk
Avatar
i somewhere saw someone said vanilla is more open for mods now
16:33
and dune seems to be, but if oy isnt that doesnt help
Avatar
Dune probably mentioned once that stl's naming scheme makes no sense.
Avatar
but if u arent grown up with teeworlds code like me, it makes things just harder
Avatar
Oy is open to more cleanup
16:34
If you can hide this change under the guise of cleanup it’d get in
Avatar
But I feel like no stl does make everything more clear what it is doing.
Avatar
i mean they just reimplement STL
16:34
so i dont see the point tbh xd
Avatar
Why? I think STL makes things easier to read
Avatar
but if i read list, i think of a STL list
16:35
not a vector
Avatar
std::swap is clearer than an ad-hoc implementation e.g.
Avatar
or array
Avatar
(And more efficient)
Avatar
i think array was it in vanilla
16:35
i think of a static array
16:35
not a vector
Avatar
std::vector on almost any implementation of stl is better than what we have in teeworlds code
16:36
<algorithm> is prettier than what we have in base/tl too
16:36
Idk
16:37
I just work with what they've used before
Avatar
well i'd also replace the thread stuff with c++11
Avatar
Ad-hoc implementations of hashmaps are also very meh in teeworlds, e.g. the bans and the serverlist
16:37
Yeah C++11 threading is well supported almost everywhere
Avatar
android already uses clang 11, which support alot of c++20 stuff already
16:38
and thats an embedded system 😄
Avatar
Wait teeworlds has hashmap?
Avatar
(googles android ndk to be precise :D)
Avatar
C++20 is sooo cute
Avatar
Avatar
TsFreddie
Wait teeworlds has hashmap?
It has a couple of ad-hoc implementations
16:39
Because it’s actually fairly involved to design a good generic hashmap
Avatar
thonk if you just search stl in teeworlds discord, you just see dune
16:41
For me personally, as long as it works I'll use whatever. Not like you need to learn stl or anything if they switched.
Avatar
To be honest with you system.c could probably be replaced by boost 😛
Avatar
I don't like boost for some reason
Avatar
I don’t really like boost tho, very bloated
Avatar
Maybe it is a ptsd thing
Avatar
Heard it’s much better nowadays
Avatar
boost is really awesome
Avatar
Does boost do almost everything
Avatar
The entirety of fs_ functions can be replaced by the C++17 filesystem support
Avatar
but sadly annoying to get compile under windows
Avatar
Boost can probably cook you a dinner
Avatar
Avatar
Deleted User
but sadly annoying to get compile under windows
That's my ptsd part I guess
Avatar
Boost is a heaaavy heavy abstraction
Avatar
Librime uses boost and I have no idea how to compile. Also downloading the library is like wtf it is so huge.
Avatar
alot of c++ standardization is inspired by boost in fact
Avatar
With c++ templates having shit compilation properties it’s one of the things that makes C++ programs compile sooo slow
Avatar
As long as it is fast during runtime(
Avatar
Anyway, with C++20 we have a lot of standard stuff
Avatar
i am missing sockets 😄
Avatar
That replaces boost stuff
Avatar
boost has async sockets
Avatar
I don’t see sockets happening anytime soon
Avatar
well all async io
16:45
i think c++23 wants it, no?
Avatar
Have anyone actually tried to convince oy to use stl
16:46
thonk
Avatar
i cant even write to him xd
Avatar
Are you banned from irc or what
Avatar
not on the allow list probs
Avatar
iirc sockets keep getting deferred since 11
Avatar
yeah its been a while true
Avatar
Can't you just use irc and talk in irc directly
Avatar
but tbh its mostly about making it easier to use, the c sockets are very similar under all OS
Avatar
Did anyone ever use std::async? Looks interesting but I never really looked into it
Avatar
@TsFreddie i dunno xd
Avatar
Window’s implementation of posix is hot garbage
Avatar
not really, i used boost async io in the past
16:48
still better than using windows functions xD
Avatar
I’d honestly prefer winapi functions
Avatar
Me too
Avatar
it always feels like winapi uses too long names to say something small
Avatar
They have clearly defined behaviour most of the time
16:49
Oh yep the massive names are a turn off
16:49
EnterCriticalSection_Ex
Avatar
The doc is pretty clear tbh (at least for the Ime part)
Avatar
yeah but they also documents their posix stuff xD
Avatar
GetDataFromTheFirstSocketInList(SOCKLIST **)
Avatar
xD
Avatar
Avatar
Deleted User
yeah but they also documents their posix stuff xD
Yeah but it’s riddled with unexpected behaviour
16:51
Pretending things that are not files are files is very hard with the ntkernel
Avatar
Winapi's Hungarian notation is a bit extreme tho
Avatar
that came unexpected xD
Avatar
Also the fact that they keep 16bit support around is annoying
Avatar
Gotta support some third country bank that uses dos software on windows 10
Avatar
yeah, you need to use \?\C:\PATH to get the path without its small path limit, which is quite annoying or smth like that
16:54
cant remember
16:54
let me google
16:57
Will wine someday be able to do everything windows related
Avatar
except DRM stuff yes
16:57
i'd say wine is already really good
Avatar
What's stopping drm from working in wine
Avatar
its hard to break it, so you need the orignal windows libs probably
Avatar
especially new stuff
Avatar
I guess I never thought about how drm works
Avatar
i also dont directly know how it works
Avatar
Depends on how drm is done, some forms of it don’t really care about wine
Avatar
Like if it runs, the stuff must be unencrypted at some point in some where no?
Avatar
Nope, welcome to the world of modern drm
Avatar
thonk then wizardry it is
Avatar
alot of stuff is unpacked and remove on fly
17:01
so only a part is always visible
17:01
i even have a CDROM that is around 20 years old and still cant be broken 😄
Avatar
Denuvo does polymorphic code, not more than a couple instructions are ever decrypted and no piece of code shares encryption keys
17:02
So it tanks performance
Avatar
yes
Avatar
VMProtect “lifts” the assembly into a VERY obscure bytecode and Interprets that
17:02
Both awful for performance yes
17:03
Ubisoft used both for a couple games
17:03
Imagine how good triple A games would run without drm
Avatar
games tend to go into a GPU bound anyway
Avatar
Now that I think about it, if cyberpunk2077 is so awful now, how awful would it be with drm lol
Avatar
TRUE
17:03
xD
Avatar
It just goes to show how much proprietary work rockstar games has on open worlds that their games run so smooth
17:04
Even with maybe a hundred ai agents on the screen at the same time
17:06
Btw, if you are interested in the drm stuff, I think heinrich once posted a blog post about devirtualizing this kind of code and it was a brilliant idea
Avatar
the sad part about it, is that the games are then for 5€ in sale 2 years later
17:06
but still have this annoying DRM
Avatar
Writing the vm “instructions” in terms of c++ code and letting clang have at it to get the real assembly
Avatar
Avatar
Deleted User
but still have this annoying DRM
I like that some developers just remove it when the game gets cracked
Avatar
Two point hospital got a day one patch of removing denuvo
Avatar
well i worked with a packer, it was broken at some point, but still unpacked some stuff, after a memory dump was taken (edited)
17:08
they often have more layers, e.g. encprytions are more aggressivly packed etc
Avatar
I'll stick with high level development 😃
Avatar
i also wouldnt say that has something todo with development directly
Avatar
Reverse engineering is quite fun, I wish there was a career to be had in that field
Avatar
u get good in reading assembler
17:09
well do bug finding xd
Avatar
Your only options with that skillset is hunting bugs (not consistent income), do security analysis for companies (how many need this like 10 large corps?), work at an antivirus company
Avatar
cirBlech I have the exact skillset to stay at home
17:11
realsmiley
Avatar
We keep inviting the same security analysis people repeatedly for different projects at our company, so it's not like a large company will just hire you once
Avatar
Oh and if you are one of the lucky 0.1% of security ppl you get to do very fun crowdfunded projects
Avatar
@deen what is ur working field? project manager? 😄
Avatar
Ooh one more just came to mind, you could work at an intelligence agency. I think that would be your best bet to get work doing reverse engineering
Avatar
compiler dev xd
Avatar
@Deleted User At DDNet or at work? 😄
Avatar
at work ofc xD
17:14
in ddnet u are project leader, babysitter for the community, event planner, and so on xd (edited)
Avatar
I'm the Quality guy, so writing tools to help developers & management, find bugs, use and extend automated tools. And then I often have to go through the output of the tools and fix things all over. But I also recently started mentoring students and new hires.
Avatar
It amazes me how many thing deen does for DDNet while still having a day job to give energy to.
Avatar
Devops?
Avatar
@TsFreddie yes its crazy
17:18
i like to think, in my brain, not outside of it xd
Avatar
Is there a way to open 2 ddnet clients on steam?
Avatar
i think steam doesnt allow that generally
Avatar
Yeah I think so too
Avatar
I just think about making games during the day and get distracted by teeworlds for 10 hours.
Avatar
So that's where I get some good ideas like using clang-tidy or thread safety analysis 😄
Avatar
that doesnt explain ur unbroken motivation
Avatar
[quakenet] ChillerDragon BOT 2020-12-23 17:44:13Z
@NeXus help me collect votes for the double dummy in ddnet client no need for 2 clients :)
17:44
2 pairs of tees that can be toggled easily and even be on different servers :)
17:46
@Deleted User i feel like a dayjob can boost motivation sometimes. Generally having something todo in life makes days longer even if you have less time. Its way harder to write some ddnet code in the free time if u spent the whole day watching netflix. Its easier if you survived a productive work day.
Avatar
i dunno if its about that tbh, i feel like only thing that boost you is motivation, and that is created by thinking about something good, e.g. throughfully planning something 😄
17:50
atleast thats what i often do if im not really motivated, trying to completly implement it in my head so i know how to start 😄
17:50
and once u in, its easy to keep going
Avatar
most people want to chill after work
Avatar
[quakenet] ChillerDragon BOT 2020-12-23 17:57:54Z
yea true
17:58
but i still claim in some situations it can boost
Avatar
can be text scaled in settings( looks like font codebase is hardcoded... give me a hope :) )? i want to feel 0.5 font
Avatar
Avatar
Learath2
Anyway, with C++20 we have a lot of standard stuff
c++20 is cool and all but it wont be used till 2025 or later
18:26
ppl arent even using c++11
18:26
pepe_straight
Avatar
11 is used enough
Avatar
deen teacher 😮
Avatar
Teeworlds is the odd one out
Avatar
Google is notoriously cryptic about how YouTube's recommendations work, that's why Guillaume Chaslot is fighting for increased transparency
18:30
‘YouTube recommendations are toxic,’ says dev who worked on the algorithm
18:30
monkalaugh
18:31
“It isn’t inherently awful that YouTube uses AI to recommend video for you, because if the AI is well tuned it can help you get what you want. This would be amazing,” Chaslot told TNW. “But the problem is that the AI isn’t built to help you get what you want — it’s built to get you addicted to YouTube. Recommendations were designed to waste your time.”
Avatar
Avatar
gerdoe
can be text scaled in settings( looks like font codebase is hardcoded... give me a hope :) )? i want to feel 0.5 font
just do it int the code
Avatar
i tried before
18:31
some texts don't scale
Avatar
Дядя Женя 2020-12-23 18:32:12Z
probably need to do something with kick voting, because it's kinda impossible to vote ban blocker on the server... Facing this problem quite often
Avatar
and another are becoming strange
Avatar
Дядя Женя 2020-12-23 18:35:15Z
@deen I think kicking problem applies to servers with lots of players, so maybe check for player amount on the server and ask for lower percentage for spec/kick votes?
Avatar
the problem can also go in the other direction, where people get kicked too easily
18:35
we used to do exactly what you propose
Avatar
Дядя Женя 2020-12-23 18:35:54Z
Bad
Avatar
@gerdoe u can also increase the fontsize when the text cursor is created in text.cpp
Avatar
Дядя Женя 2020-12-23 18:37:27Z
@deen solution is probably not that easy, needed to pick right players who can vote for that particular ban...
18:38
Nearby players seems right way here...
Avatar
Avatar
Deleted User
@gerdoe u can also increase the fontsize when the text cursor is created in text.cpp
maybe, i don't remember properly, i had done it (edited)
Avatar
Дядя Женя 2020-12-23 18:38:49Z
But it's not really the solution
Avatar
mhh strange, i think all text uses these cursors
Avatar
good old fashioned solution is to block the blocker :p
Avatar
Дядя Женя 2020-12-23 18:54:23Z
yes, but it was kinda hard
Avatar
Have a globally distributed team of more moderators. That way there is a higher likelihood of someone being in-game to kick people when needed.
19:00
More mods, more power, everyone kicking each other. What could go wrong?
Avatar
"it’s built to get you addicted to YouTube. Recommendations were designed to waste your time" I completely agree
Avatar
[quakenet] ChillerDragon BOT 2020-12-23 20:02:13Z
Recommendations were designed to optimize watchtime. Time waste might be a correlation or a possible side effect.
Avatar
Optimizing watchtime is the marketing friendly analogy for "getting people addicted"
Exported 622 message(s)