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 2022-05-13 00:00:00Z and 2022-05-14 00:00:00Z
Avatar
ed03945 do not assert on entities without snap id - C0D3D3V e4ed71f Merge #5088 - bors[bot]
08:11
0c2bb5a Fix /practice chat responses and a few others - heinrich5991 bab2def Merge #5093 - bors[bot]
Avatar
b6a9389 Render tees in skin selector with default emote - sjrc6 d87edb9 Merge #5089 - bors[bot]
Avatar
@Learath2 I did it
Avatar
Avatar
TsFreddie
@Learath2 I did it
Now backport it to teeworlds ❤️
Avatar
I have some question about the licensing. I see no License notice on https://github.com/ddnet/ddnet-maps, does that mean all maps are copyright by default? also, what is the license for the default image assets and teeworlds / ddnet code?
Avatar
Default assets are all CC-BY-SA
09:29
The maps except for a handful are all rights reserved by their authors
09:30
Since the mapres are just in the wild with most of their authors long gone, it's really hard to get all maps to be CC-BY-SA now :/
Avatar
define "gone"
💀 3
Avatar
not reachable
Avatar
Best case: Doesn't play ddnet anymore but we can identify and email them
09:31
Worst case: Unknown author
Avatar
or dead
💀 1
Avatar
or dead
Avatar
OK thanks. So if I understand correctly I technically cant distribute a map from ddnet-maps on an open-source repo, but in practice it's fine to do so?
Avatar
Maps in data/maps are all CC-BY-SA, for the rest of the maps you need to check their header for their license and 99% of them don't have any license at all
❤️ 1
Avatar
Avatar
k2d222
OK thanks. So if I understand correctly I technically cant distribute a map from ddnet-maps on an open-source repo, but in practice it's fine to do so?
I am not a lawyer, but I think there was some verbal agreement at least between us and the map authors that their maps would be public. I doubt that also extends to secondary parties, so I guess legally you probably can't distribute them
09:36
I doubt anyone would actually sue you over it. I'm not even sure if these authors can even assert any copyright over the maps given the mapres don't belong and aren't licensed to them
👍 1
09:38
I did try to get actual legal advice about this, but the lawyer I asked quoted me about 300-400 euros per hour of his time iirc. So I just dropped the question instead 😄
Avatar
don't sell them and you'll be fine (probably) (not legal advice) (please sign the waver so you don't sue me if you get sued)
Avatar
ez 400€
Avatar
I'm not very knowledgeable about copyright laws, but I find the licensing on the teeworld-related repos a bit loose considering it's a quite popular game with a lot of contributors. I think copyright / licensing it is a crucial skill that most developers me included lack of.
Avatar
except for the maps it should be fine
09:41
where do you see a problem except for the maps?
Avatar
Actual teeworlds and ddnet license are pretty clear actually
09:42
Do whatever you want, don't claim you made it, mark your altered versions as altered, don't remove the license
09:42
Oh and we are not liable if you run it and it launches a nuclear warhead
Avatar
I believe non-liability clauses have limits
09:43
hm double link
Avatar
Avatar
heinrich5991
I believe non-liability clauses have limits
There very well could be, not something I've looked into
Avatar
the liability clause should be in all caps
09:44
makes it more effective
😆 1
Avatar
Thanks everyone for the clarifications! I know I'm not really in legal issues but I want to make things right and I would like to learn more about licensing overall.
Avatar
@heinrich5991 if you have a moment can you take a look at #5092 and why it's not linking? It linked just fine locally
Avatar
This PR tries to rework the http interface to utilize the curl-multi interface. In the process we lost the IJob interface. I experimented with getting rid of the std::unordered_map using CURLOPT_PR...
Avatar
Here's something I haven't had happen before (screenshot with phone camera for obvious reasons)
09:53
justatest
Avatar
well u dont have space in ur hard drive
Avatar
btw df -h is better
👍 1
Avatar
tf is that screen
Avatar
Avatar
Cipy29
Here's something I haven't had happen before (screenshot with phone camera for obvious reasons)
Happens to me regularly on the macbook
10:01
Also happened a lot on my server while I was also archiving teehistorian files
Avatar
@Learath2 need to update our curl stub
Avatar
You really get to see which software is built well when space runs out 😄
Avatar
Avatar
heinrich5991
@Learath2 need to update our curl stub
Oh, hm, do we have some sort of documentation on the process? Is it something I should be doing? 😄
Avatar
run scripts/generate_fake_curl.py on linux (edited)
10:02
ddnet-libs documents how the libcurl.so is generated IIRC
10:03
see ddnet-libs/curl/linux/lib32/VERSION or ddnet-libs/curl/linux/lib64/VERSION
Avatar
Avatar
Learath2
You really get to see which software is built well when space runs out 😄
I also got to see how much useless stuff I had downloaded justatest
Avatar
frontend guy sent this for review.
kek 3
👀 1
Avatar
smh not even creative enough for a fourth variant of the =
Avatar
checkout that parse tho
Avatar
aye, nice code
Avatar
@heinrich5991 how do you handle changes in ddnet-libs? Should I do a PR on ddnet-libs too?
Avatar
@k2d222 I agree btw that licensing is sadly not handled very well with maps, mostly because it was never really started I suppse
Avatar
just push there if you're somewhat sure you're doing the right thing @Learath2
10:08
should I generate the curl libraries for you @Learath2 (if you don't have a linux handy)
Avatar
I'm on linux, generated them, will push
10:09
python3 scripts/generate_fake_curl.py --link-args=-m32 is enough for getting the lib32 one, right?
Avatar
yes
10:09
I mean try file on it
Avatar
It does generate an 32-bit ELF file, just wasn't sure if I also needed to be on 32bit for some reason to generate it properly
Avatar
no
Avatar
b0fca23 Update curl to add curl-multi functions - Learath2
Avatar
Hopefully I didn't break it 😄
Avatar
looks good to me
Avatar
@heinrich5991 I'm not sure how to handle CURLcode without including curl/curl.h in http.h. I tried to assume it's unsigned int and static_asserted for it in http.cpp, turns out it's not unsigned int on windows
Avatar
Avatar
heinrich5991
where do you see a problem except for the maps?
Skins ^^
Avatar
I'd need something like std::has_greater_range_than<unsigned int, std::underlying_type<CURLcode>>
10:32
I got an excellent idea from the C++ irc
Avatar
perhaps just do sizeof?
Avatar
Does anyone have knowledge of sound-layers? First of all, what does the PAN option do? And secondly directional sound isn't possible, or is it? (edited)
Avatar
was it somehow planned to have like dynamic tiles? like on KoG, having dynamic freeze or solid tiles
11:47
it could be cool for new maps
Avatar
maybe @Patiga knows something about sound layers
11:58
@Learath2 added the suggestion in the http PR
Avatar
I am pretty sure I will add a feature request (and maybe even a PR if I can make sense of the code)
Avatar
it'd be nice if you could add an issue first
12:01
so effort isn't wasted in case we don't like the design or something
Avatar
Avatar
heinrich5991
@Learath2 added the suggestion in the http PR
I have no issues with anything else, I was a little on the fence about the unique_ptrs but I see why you'd want them
Avatar
unique_ptrs where?
12:03
as return type?
12:03
in http.h
Avatar
@Ryozuki told me that's the way to go, and I thought it kinda makes sense
12:04
we return the ownership, and they're easily convertible to raw pointers or shared_ptrs
Avatar
Can't really return raw pointers without allocation anyway
12:05
So the unique_ptr is better as it takes care of allocating and de-allocating
Avatar
Avatar
AssassinTee
I am pretty sure I will add a feature request (and maybe even a PR if I can make sense of the code)
the answer is yes and PAN is actually the setting for it <.<
Avatar
@heinrich5991 #5092 still won't link :/
Avatar
This PR tries to rework the http interface to utilize the curl-multi interface. In the process we lost the IJob interface. I experimented with getting rid of the std::unordered_map using CURLOPT_PR...
Avatar
I gtg for a while, small things to do
Avatar
c25e165 Add NLD funding - def- ada69b4 Add 5 € donation by metlix - def-
13:36
ow
13:36
finally something to stop javashit
Avatar
yes, let's do interpreted languages on top of another interpreted language on top of a browser sandbox (edited)
Avatar
wasm and js are not really interpreted anymore
Avatar
oh my bad it actually uses pyodide := cpython ported to wasm not that bad in that case!
Avatar

Bug

I have multiple clipped quad regions and one quad is always rendered in the wrong region. This only happens ingame and with Vulkan Ingame (Vulkan): One blue stars appears between all red stars !screenshot_2022-05-13_15-41-52 Editor(Vulkan): No blue star ![screenshot_2022-05-13_15-41-39](https://user-images.githubusercontent.com/821401/168303057-85fc28d6-dc0c-4cfe-8cf1...
Avatar
Sorry for breaking the game again
Avatar
@AssassinTee ?
14:24
AMD beta-testing Ryzen 7000 on Linux, unfortunately they didn't select DDNet benchmark 😄 https://web.archive.org/web/20220509071950/https://openbenchmarking.org/result/2205052-NE-MAY42016271
Avatar
When people join a community, they don't just adopt the values of the community, but they also come with pre-existing values. As a community grows, it will adapt to the people who are joining it, and this may alienate the early-adopters who joined for a different reason than the people joining during the exponential or diminishing returns phases of logistic growth. This doesn't mean the community is "ruined" but from the perspective of early adopters, they might describe it that way.
14:27
techsin101
Have you ever seen an example where anything became better than before when it grew big. There is almost a law that a company, a group, a community, a game or anything once it grows past its core audience it just gets ruined.I have seen a game with millions of players become crappy once they became mainstream and started to attract very young an...
14:28
interesting discussion, that may apply to ddnet at some level i guess
14:28
xd
Avatar
Avatar
deen
AMD beta-testing Ryzen 7000 on Linux, unfortunately they didn't select DDNet benchmark 😄 https://web.archive.org/web/20220509071950/https://openbenchmarking.org/result/2205052-NE-MAY42016271
5.21 ghz and 8 cores damn
Avatar
  • Reproduction: you have to be in a server, in F1 or using a bind execute cl_editor 1, try using inputs (Save As for example), doesn't take any keys except backspace and delete (enter to submit also works)
  • Applies to all inputs including layer options and server commands
  • Entering the editor through the UI icon and using ctrl+shift+e works fine
  • Pressing ctrl+shift+e, even if you don't input anything and immediately close the editor, fixes it till client is closed (makes you ...
Avatar
stop posting that
Avatar
No output while writing /rules nor /cmdlist Neither console/chat or external console.
Avatar
Avatar
Ryozuki
interesting discussion, that may apply to ddnet at some level i guess
Eternal September or the September that never ended is Usenet slang for a period beginning around 1993 when Internet service providers began offering Usenet access to many new users. The flood of new users overwhelmed the existing culture for online forums and the ability to enforce existing norms. AOL followed with their Usenet gateway service...
15:22
i never used usenet nor rly know what it is
15:22
i guess im too zoomer
Avatar
Avatar
deen
AMD beta-testing Ryzen 7000 on Linux, unfortunately they didn't select DDNet benchmark 😄 https://web.archive.org/web/20220509071950/https://openbenchmarking.org/result/2205052-NE-MAY42016271
is also pretty slow apparently 😄
Avatar
well slower than intel
15:29
so must be a test sample
Avatar
[quakenet] irc_tester BOT 2022-05-13 15:29:33Z
what's slow
Avatar
nobody cares about irc
Avatar
[quakenet] irc_tester BOT 2022-05-13 15:29:53Z
xd
15:30
will check from Discord
Avatar
@Jupstar ✪ it looks like the nvidia open source thing is not rly mergeable into the linux tree like amd drivers rn
15:31
and its mostly function calls to private firmware stuff
Avatar
1 million lines of codes i read 4 million AMD
Avatar
but anyway, its a start
15:32
and they got positive response
Avatar
maybe it tells driver devs some hints
Avatar
maybe that helps them to do more in future
Avatar
[quakenet] irc_tester BOT 2022-05-13 15:35:14Z
But it may help Nouveau:
15:35
In the meantime, published source code serves as a reference to help improve the Nouveau driver. Nouveau can leverage the same firmware used by the NVIDIA driver, exposing many GPU functionalities, such as clock management and thermal management, bringing new features to the in-tree Nouveau driver.
15:35
The first open-source release of GPU kernel modules for the Linux community help improve NVIDIA GPU driver quality and security.
Avatar
yeah but its more a PR move
Avatar
[quakenet] irc_tester BOT 2022-05-13 15:36:12Z
yeah maybe
Avatar
i dont think so
15:36
i think its pressure from google and other big players
Avatar
[quakenet] irc_tester BOT 2022-05-13 15:36:38Z
Why Google?
Avatar
they want custom code and amd gives it to them
Avatar
Avatar
k2d222
oh my bad it actually uses pyodide := cpython ported to wasm not that bad in that case!
wait what
Avatar
well google and other big players
15:36
everyone wants GPUs nowadays
15:37
thats also why its "datacenter" code
15:37
as nvidia claims itself
Avatar
i always thought this, but its actually insane companies gives so much preference to windows, you actually give your lifeline to microsoft, companies should actually be interested in making linux mainstream, i think valve knows this and thats why they dont wanna depend on microsoft
Avatar
[quakenet] irc_tester BOT 2022-05-13 15:37:42Z
Don't they make TPUs?
Avatar
Avatar
Ryozuki
i always thought this, but its actually insane companies gives so much preference to windows, you actually give your lifeline to microsoft, companies should actually be interested in making linux mainstream, i think valve knows this and thats why they dont wanna depend on microsoft
windows is really only on desktop market
15:38
and germany xd
15:38
still
15:39
im also sure knowing the inner workings of linux source code could help big AAA game engines perform better
Avatar
its probably a dead horse in the long run tho. Valve is not a small player remember that
Avatar
on windows they are limited to reverse engineering maybe
Avatar
the gaming market is one of the biggest argument for microsoft
Avatar
but its stupid
15:39
its only a market on windows due to a self feeding cycle
15:39
not due to any actual feature
Avatar
thats always the problem of the market
15:40
real innovation is relativly rare
Avatar
i hope proton breaks the cycle
15:40
i reserved my steamdeck
15:40
maybe ill get one at the end of the year
15:40
xd
Avatar
xd
Avatar
[quakenet] irc_tester BOT 2022-05-13 15:40:46Z
rip
15:45
just found this
15:45
pretty funny ngl
15:46
[6.6] Who uses C++?
>
FAQ: Lots and lots and lots of people and organizations. Which is excellent for business since a lot of developers are available.
>
FQA: Empirical studies indicate that 20% of the people drink 80% of the beer. With C++ developers, the rule is that 80% of the developers understand at most 20% of the language. It is not the same 20% for different people, so don't count on them to understand each other's code.
15:47
--
15:47
[6.7] How long does it take to learn OO/C++?
>
FAQ: In 6-12 months you can become proficient, in 3 years you are a local mentor. Some people won't make it - those can't learn, and/or they are lazy. Changing the way you think and what you consider "good" is hard.
>
FQA: In 6-12 months you can become as proficient as it gets. It is impossible to "know" C++ - it keeps surprising one forever. For example, what does the code cout << p do when p is a volatile pointer? Hint: as experienced people might expect, there's an unexpected implicit type conversion involved.
15:47
xd
Avatar
What are some advantages/disadvantages of using friend functions?
FAQ: Advantage: they allow the designer to choose between obj.func() and func(obj), which "lowers maintenance costs".
Disadvantage: they require more code to achieve dynamic binding. Non-member functions can't be virtual, so if the designer's syntax of choice is func(obj), and dynamic binding is needed, func will have to delegate to a protected virtual member with obj.func().
> FQA: Listen carefully, this is an excellent opportunity to learn about the C++ approach to writing software. Choosing between two equivalent syntactic forms is called "design". The availability of many forms and the "right" choice between them is expected to "lower maintenance costs"
(edited)
Avatar
[13.1] What's the deal with operator overloading?
>
FAQ: Overloaded operators provide an "intuitive interface" for the users of your class. They also allow templates to work "equally well" with classes and built-in types. .... FQA: Operator overloading provides strong source code encryption (the time needed to figure out what a+b actually means is an exponential function of the number of types, implicit conversions, template specializations and overloaded operator versions involved).
16:03
xdddd
17:06
this guy is rly good at explaining stuff
17:06
(and not well known, 8k subs)
17:07
like a niche 3blue1brown
Avatar
xd
17:25
``` [ 7%] Building C object CMakeFiles/glew.dir/src/engine/external/glew/glew.c.obj during GIMPLE pass: loopinit /home/deen/isos/ddnet/ddnet-source/src/engine/external/glew/glew.c: In function ‘glewContextInit’: /home/deen/isos/ddnet/ddnet-source/src/engine/external/glew/glew.c:16159:21: internal compiler error: Segmentation fault 16159 | GLenum GLEWAPIENTRY glewContextInit () | ^~~~~~~ 0x15bfcc8 internal_error(char const*, ...) ???:0 0x7f3d...
Avatar
Avatar
GitHub
Click to see attachment 🖼️
@Jupstar ✪ what was the issue?
17:40
internal compiler error: Segmentation fault
17:40
does this mean the compiler itself segfaulted?
17:40
during GIMPLE pass: loopinit
17:40
looks like it lol
Avatar
Avatar
Ryozuki
@Jupstar ✪ what was the issue?
an index too high
17:48
but not in the backend
17:57
[ddnet/ddnet-web] New branch created: pr-16.1
18:00
`` /usr/bin/ld: warning: ddnet-libs/curl/linux/lib64/libcurl.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001 /usr/bin/ld: warning: ddnet-libs/curl/linux/lib64/libcurl.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002 /usr/bin/ld: warning: libts-0.0.so.0, needed by /usr/local/lib/libSDL2.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: CMakeFiles/DDNet.dir/src/engine/client/http.cpp.o: in function CRequest::RunImpl(void*)': http.cpp:(.text+0xaea): undefined refer...
Avatar
b0fca23 Update curl to add curl-multi functions - Learath2
18:08
[ddnet/ddnet-libs] New branch created: http_rework_learath2
Avatar
pog new version
Avatar
with vanilla breaking shields xd
Avatar
nice xd
Avatar
nice
Avatar
just to make sure, have you seen my answer in https://github.com/ddnet/ddnet/issues/5099, @deen
Avatar
They only display as shields. Fixes #5039.

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
  • [x] Considered possible null pointers and out of bounds array indexing
  • [x] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://gith...
Avatar
Various CUI refactorings adapted from upstream:
  • Support nesting CUI clipping/scrolling regions.
  • Add CUI::MouseHovered which works like MouseInside and also ensures that the position is not clipped.
  • This is used to refactor all scrolling lists, removing duplicate code that manually intersects the clipping rectangle.
  • It's also used to make clipping of the key reader buttons in the controls settings list smoother, as the buttons were previously not rendered at all when clip...
20:03
the eyes are not perfectly aligned yet but they are damn close
20:04
Thank you guys for helping me
Avatar
what will this be used for :0
Avatar
whatever people want
20:09
its open source
20:10
i wont be sharing the link yet cause its not finished
Avatar
Avatar
Alexander
i wont be sharing the link yet cause its not finished
hollande
20:43
spotted
Avatar
whatdidido
Avatar
Looks cleaner now, e.g. for TeamPractice: ``` [ RUN ] TeeHistorian.TeamPractice pOutput = { 0x41, 0x00, 0x4a, 0x57, 0x92, 0x83, 0x4e, 0x81, 0xd1, 0x34 0xc9, 0xa2, 0x9b, 0xb5, 0xff, 0x25, 0xda, 0xc3, 0xbc, 0x02 0x17, 0x01, 0x41, 0x00, 0x4a, 0x57, 0x92, 0x83, 0x4e, 0x81 0xd1, 0x34, 0xc9, 0xa2, 0x9b, 0xb5, 0xff, 0x25, 0xda, 0xc3 0xbc, 0x02, 0x01, 0x01, 0x4a, 0x57, 0x92, 0x83, 0x4e, 0x81 0xd1, 0x34, 0xc9, 0xa2, 0x9b, 0xb5, 0xff, 0x25, 0xda, 0xc3 0xbc, 0x02, 0x17, 0x00, 0x4...
Avatar
1855b4a Support nested CUI clipping regions - Robyt3 a248822 Add CUI:MouseHovered and MouseInsideClip - Robyt3 6241c84 Use bool instead of int with MouseInside - Robyt3 0f6572e Rename static variables ButtonUsed -> s_ButtonUsed - Robyt3 cae2b49 Reuse MouseInside variable - Robyt3 8d12529 Move variable declaration - Robyt3 7bda9d4 Fix variable spelling CheckAble -> Checkable - Robyt3 60347fd Use MouseHovered instead of clipping manually - Robyt3 8c7cdb5 Rename UiDoGetButtons to DoSettingsControlsButtons - Robyt3 1e8278c Smooth clipping when scrolling in controls settings - Robyt3 ca091d8 Support nesting editboxes, pickers and scrollbars in clipping areas - Robyt3 363ec8b Merge #5101 - bors[bot]
Avatar
@Jupstar ✪
😄 1
Avatar

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/ddnet/#using-addresssanitizer--u...
22:50
Maybe some will look a bit large.

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/d...
Avatar
7ada897 Enhance teehistorian test output a bit - Zwelf 497d470 Merge #5102 - bors[bot]
Avatar
fc93ba0 Remove unused DoButtonLogic pText argument - Robyt3 e9b59e7 Merge #5103 - bors[bot]
Exported 239 message(s)