Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/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 2023-12-22 00:00:00Z and 2023-12-23 00:00:00Z
00:40
owo
00:40
owo
00:41
who was it that wanted kill tile to act as /r in practice mode
Avatar
well that's just the thing
00:42
idk of a way that i can enable this per-player
Avatar
because it's up to the server
Avatar
per team*
Avatar
Avatar
Ewan
because it's up to the server
huh
00:42
that would complicate things
Avatar
What exactly is the issue?
Avatar
idk how to inform the server of the team's desired behavior when they hit a kill tile in practice mode
00:43
to either /r or kill like normal
Avatar
I'd probably make it a non changable option
00:44
Lil
00:44
lol*
Avatar
yea i already added a per-map opt out thing
00:44
sv_
00:44
zxzxzx
Avatar
Avatar
Ewan
to either /r or kill like normal
when the tee is about to touch a kill tile (HandleNonSkippableTiles) then just check whether it's in practice, if yes -> call Rescue
00:45
ouuuu it's handlenonskippabletiles
00:45
i was doing handlecharactertiles
Avatar
Yea u gotta check the kill tile
Avatar
Avatar
Ewan
i was doing handlecharactertiles
HandleTiley
00:45
s
Avatar
funny how ddrace handles the tiles differently
00:46
is it a priori/posteriori thing
00:46
and why can we not make all tiles non-skippable for new maps
00:46
opt-in
Avatar
These are checked differently
00:47
+ wider hitbox
Avatar
ah btw
00:49
its called HandleSkippableTiles
Avatar
yea i noticed there was no nonskippabletiles lol
Avatar
u see there is already something for teams
00:50
a check
00:50
u can just extend that
00:52
gn
00:59
i forgot to pause music forgive me
00:59
Avatar
should i keep the msg
01:14
i think if not someone's gonna hit a kill tile and go WTF why am i not dead
01:14
but i dont want system msg spam
Avatar
Some people were tired of having to re-enter practice mode, teleport back to where they were, and situate their weapons/solo status when hitting a kill tile in practice mode. This creates an option to rescue the tee when it hits a kill tile instead (as if using /rescue). It is on by default, but can be explicitly disabled on a per-map basis if a mapper felt this was not something they wanted people doing in their map.

Checklist

  • [x] Tested the change ingame
  • [ ] Provided scree...
Avatar
oh u know what i had not considered is dummy maps where the dummy is deliberately killed at the end
01:52
maybe i should only do it if the team is locked
Avatar
@murpi not seeing any of this behavior
04:18
04:18
nvm
04:18
you can't leave LMFAO
04:18
yea idk what is even happening rn
04:19
not seeing the first thing anyway
04:19
when i teleport into/onto a kill tile it tps me back to where i should be
04:21
you can edge a kill tile normally but whenever you pass the threshold that would normally kill you then you become softlocked. i don't know why it isn't just rescuing sooner
04:21
because you should be dead in the position that you're softlocked in
04:21
i'm pretty sure .75 is way further than you could ever enter
04:22
nvm
05:29
you should probably just remove this field from the template because it's already in the CI and it can never be merged unless it passes... lol
Avatar
Avatar
Ewan
@murpi not seeing any of this behavior
man, i see edging and my first thought isnt ddnet related
Avatar
it's very funny
05:48
i dont want to reintroduce the bug to give u a video but
05:49
unlike freeze, there's no actual kill tile bounds check when it sets the rescue location, because you just died before
05:49
so it would set your rescue inside the kill tile, and on the next frame it'd check if you're in a kill tile, and if you are, then it rescues you...
05:49
forever
Avatar
sisyphus' rescue
Avatar
aproving prs before holidays
Avatar
@Ryozuki stop reading this message and get to work
07:56
Also ffr
07:56
i start work at 12
Avatar
A.m.
Avatar
ok its flexible
07:56
i can start at 11 too
07:56
give or take
Avatar
Gg
Avatar
Write expressive, high-performance parsers with ease. - GitHub - zesterer/chumsky: Write expressive, high-performance parsers with ease.
07:59
which im gonna try instead of lalrpop for my pascal compiler cuz im stuck solving a reduce-reduce conflcit
08:00
also it supports errors out of the box
08:00
looks rly dope
Avatar
Avatar
Ryozuki
aproving prs before holidays
true
08:02
#7691 needs attention
Avatar
Some people were tired of having to re-enter practice mode, teleport back to where they were, and situate their weapons/solo status when hitting a kill tile in practice mode. This creates an option...
08:02
i have the gut feeling that 99% of ppl will want this feature but then one person will either not understand it or not want it
Avatar
Avatar
Ryozuki
the crate of today is https://github.com/zesterer/chumsky
sounds actually useful, without checking its limitations
Avatar
Avatar
Ewan
#7691 needs attention
cool feature
Avatar
@Ewan that kill tile check looks expensive
08:08
u sure we dont check for that in any other place in the code later?
08:08
(its also on ddracetick so)
08:09
maybe u can make the check only if practice is enabled?
08:09
looks like a obvious opt
08:09
Teams()->IsPractice(GameServer()->GetDDRaceTeam(ClientID)) | <massive check>
08:09
|| *
08:09
wait it should be and
08:09
&&
08:10
since it short circuits it would skip the check if no practice
08:11
i wrote it in a review
08:11
kek
Avatar
what the fuck. i legit forgot my root pw of my VPS. i'm 100% sure i type the correct characters, but apparently in the wrong order xDD human brian too weak
Avatar
brian griffin
Avatar
it's literally how it was written in HandleSkippableTiles
08:21
i copy pasted
08:22
but if you say so
Avatar
@Ewan dont u see it obviously better?
Avatar
why does it matter how it is in other places
Avatar
i am not opposed to such things
Avatar
u can also change it there
Avatar
i just can't wait for the nagging from other ddnet programmers
08:24
why is it 35 lines change for such a simple feature???
Avatar
i doubt anyone will complain about this possibly perf win
08:25
@Ewan rather than being nagged at that, u will probs get nagged due to the option u adding XD
Avatar
i cannot please anyone tbh
08:25
i couldn't care less about the opt
08:25
but someone would surely complain if it was not there
Avatar
idt it should be a server config
08:33
dont know a single person who would be opposed to it
08:34
but nice addition ive been waiting for something like this for a while
Avatar
Avatar
louis
dont know a single person who would be opposed to it
you would be surprised
Avatar
chiller?
Avatar
sometimes the ddnet codebase really baffles me
Avatar
Avatar
Ryozuki
@Ewan that kill tile check looks expensive
it;'s so stupid
08:48
it does 4x as much math as it has to first of all
08:48
and the whole GetCollisionAt/GetFCollisionAt redundancy is probably completely unnecessary
08:53
it's so stupid but if i remove it then i break 100 maps LOL
08:54
While C++ and Rust don't normally mix, you can create low-level bindings to use them together. This post explores the challenges of creating these bindings.
08:56
i love to see ppl advocating for dlang
Avatar
what maps does it break i dont get it
Avatar
i got rid of it
09:28
🤷‍♂️
09:28
really have no idea where ddnet devs are
09:28
in the galaxy
Avatar
what r u talkn about? xd
09:39
it's 10 a.m. here
Avatar
@Jupstar ✪ i have a c++ pr
09:43
using a modern feature
09:43
😬
Avatar
https://en.cppreference.com/w/cpp/memory/monotonic_buffer_resource

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 (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or...
Avatar
as they say, less code is best code
Avatar
lol you know about cpp's pmr? did you have to use it for llvm or what?
09:49
i googled it
09:49
i literally googled: c++ std bump allocator
09:49
and as always c++ loves weird names
Avatar
well if your pr works gg, nice refactor
Avatar
it works
09:51
robyt is gonna say its bad
09:51
i see him typing
09:51
😬
Avatar
Avatar
Ewan
you should probably just remove this field from the template because it's already in the CI and it can never be merged unless it passes... lol
Not every change is covered by the CI though
Avatar
i should try with asan
Avatar
What's the initial size of std::pmr::monotonic_buffer_resource? Should we use the same as before?
Avatar
Avatar
Robyt3
Not every change is covered by the CI though
pull request changes are
09:53
where the template exists
Avatar
memory_resource include is experimental on macOS pepeW
Avatar
Constructs a monotonic_buffer_resource. The constructors not taking an upstream memory resource pointer use the return value of std::pmr::get_default_resource as the upstream memory resource.
Avatar
Avatar
Robyt3
What's the initial size of std::pmr::monotonic_buffer_resource? Should we use the same as before?
i would say leave default
Avatar
Avatar
Robyt3
memory_resource include is experimental on macOS pepeW
fuck macos 😬
09:56
constructor without initial size says this
09:56
1,2) Sets the current buffer to null and the next buffer size to an implementation-defined size.
09:56
this is why i hate cpp
09:57
cant use modern shit even if u want
09:57
mimimi safety in modern mimimi (edited)
09:57
(sorry i got angry XD)
Avatar
Avatar
Robyt3
memory_resource include is experimental on macOS pepeW
in all macos versions?
Avatar
Avatar
Ryozuki
cant use modern shit even if u want
rust nightly 😬
Avatar
Avatar
Ryozuki
in all macos versions?
Maybe you can conditionally include <experimental/memory_resource> instead
Avatar
Avatar
Jupstar ✪
rust nightly 😬
base rust is modern already 😬
Avatar
Avatar
Robyt3
Maybe you can conditionally include <experimental/memory_resource> instead
do u know the snippet
10:00
idk the ifdef guards for macos
Avatar
Avatar
Ryozuki
do u know the snippet
Not sure if __has_include would be better or #ifdef CONF_PLATFORM_MACOSX https://gcc.gnu.org/onlinedocs/cpp/_005f_005fhas_005finclude.html
__has_include (The C Preprocessor)
Avatar
@Robyt3 is it also experimental in cpp20 on macos?
10:02
<memory_resource> P0220R1 Requires Xcode 15 Minimum deployment target: iOS 17.0, macOS 14.0, watchOS 10.0 and tvOS 17.0.
10:02
Apple supports C++ with the Apple Clang compiler (included in Xcode) and the libc++ C++ standard library runtime (included in SDKs and operating systems).
Avatar
I don't really know what's going on with macOS https://developer.apple.com/forums/thread/729688
Avatar
whats our minimum macos
Avatar
Avatar
Ryozuki
whats our minimum macos
macOS 10.15
Avatar
i dont even understand why it's experimental at all xD i mean does it require some special kernel feature or what
Avatar
is there ppl using that
10:05
@Robyt3 how would the experimental include be like
10:05
<experimental/memory_resource>
Avatar
If normal include exists, include it, else include the experimental one.
Avatar
#if __has_include(<memory_resource>) #include <memory_resource> #else #include <experimental/memory_resource> #endif (edited)
10:05
ok i fix the typo
Avatar
Looks good, __has_include should always be available with C++17 AFAICT
10:07
done
Avatar
Let's see if it builds for now. If macOS is the only platform where it needs this different include then using CONF_PLATFORM_MACOSX seems a bit cleaner though.
Avatar
well this sounds more portable
Avatar
hai
Avatar
give me review
10:11
good morning
Avatar
@Ewan give me review
10:12
i used modern cpp
Avatar
send link
Avatar
Avatar
Ryozuki
well this sounds more portable
Yeah, if there are cases of macOS also having the normal include
Avatar
Avatar
GitHub
Click to see attachment 🖼️
.
Avatar
Otherwise hardcoding the behavior for macOS seems cleaner than using __has_include
Avatar
@Ryozuki just implement a bump allocator for cpp std using rust bridge
10:12
then it's not experimental
Avatar
error: no member named 'pmr' in namespace 'std'; did you mean 'std::experimental::pmr'? kek
Avatar
but allocating in rust is not compatibler with c++
Avatar
Avatar
Robyt3
error: no member named 'pmr' in namespace 'std'; did you mean 'std::experimental::pmr'? kek
xdd
10:15
fixed
Avatar
looks fine
10:16
almost seems like a typedef should be used instead lol
Avatar
class CHeap { #if __has_include(<memory_resource>) std::pmr::monotonic_buffer_resource #else std::experimental::pmr::monotonic_buffer_resource #endif m_BumpAllocator;
10:16
i did this
10:17
so @Ewan did u know about pmr and this monotonic buffer?
Avatar
i seen it before
10:18
never used it
Avatar
@Ewan wait ewan
10:19
u didnt get what i mean
Avatar
Avatar
Ryozuki
class CHeap { #if __has_include(<memory_resource>) std::pmr::monotonic_buffer_resource #else std::experimental::pmr::monotonic_buffer_resource #endif m_BumpAllocator;
why not simply using namespace ...; near the include
Avatar
Avatar
Ewan
what
bool InKillTile =
Avatar
better than somewhere in the source 😄
Avatar
i know what you meant but it's not right
Avatar
only calculate this variable inside the if
10:20
look
10:20
its outside?
10:21
put it inside the if
10:21
but not the inner if
10:21
before the if where u use it
10:21
why calculate that if team doesnt have rescue on?
Avatar
team always have rescue on
Avatar
ok but
10:22
u can still put it inside that if
Avatar
does not make a difference
Avatar
then that if would not be there
10:23
it certainly there is a branch it would do
10:23
i added the if
10:23
because
Avatar
because? xd
10:24
did u die
10:25
/Users/runner/work/ddnet/ddnet/src/engine/shared/memheap.h:23:26: error: no type named 'monotonic_buffer_resource' in namespace 'std::experimental::pmr' std::experimental::pmr::monotonic_buffer_resource ~~~~~~~~^
10:25
@Robyt3 whats going on
Avatar
what host
Avatar
macos <14
10:27
way to lose my motivation for ddnet cpp again
Avatar
who cares
10:27
kill macos <14
Avatar
yeah agree
10:27
but idk probs not
10:27
xd
Avatar
there is nothing experimental about a pre-2017 feature
Avatar
@Ryozuki hi
Avatar
hi
Avatar
im ryozuki. i love oxidized iron.
brownbear 1
Avatar
hi ryozuki 🐴
Avatar
Avatar
Ryozuki
@Robyt3 whats going on
Looks like clang libc++ does not implement monotonic_buffer_resource feelsbadman https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266748
11:42
Looks like we would need at least AppleClang 15.0.0, see "Polymorphic memory resources" in https://en.cppreference.com/w/cpp/compiler_support/17
Avatar
And why don't we use it?
11:43
Not like anybody here compiles on outdated macos
Avatar
@deen what do u think
11:46
my understanding is that macos forces updates on users so
11:46
xd
Avatar
But isn't it about the compiler only anyway?
12:00
Or does it also always mean upgrading the os bcs some symbols can't resolve
Avatar
good luck getting modern apple clang on an outdated macos xd
12:09
your best bet is using homebrew or macports gcc or clang
12:09
non-apple varieties
Avatar
i use brew on my m1
12:11
and use llvm 17
Avatar
That's not my point tho
12:14
Q is if compatible
12:14
oh
12:14
can a new binary run on old mac
12:14
yea
Avatar
Yeah then i don't see why we shouldn't upgrade
12:15
But deen will know better in this case. He had so much trouble with building for macos xd
Avatar
It’s over
Avatar
Avatar
Ewan
It’s over
Then rest in peace
Avatar
my last day before holidays
Avatar
my last day before tomorrow
12:57
feelsbadman
12:58
my last day before 3 days late on my sound submission
12:58
but Mr tambourine man
12:58
i quite like Bob Dylan
Avatar
i feel like i ate too much
12:59
i made potatos
12:59
they sure fill u
Avatar
i ate too much
12:59
rocks
Avatar
but they would probably taste good rn
Avatar
why u down
12:59
get up
12:59
@Ewan talking about rocks
13:00
Sylvester Stallone
13:02
insane this man hasnt won a oscar
13:02
the oscar awards suck ass
13:03
most big awards don’t matter
Avatar
rocky movies are classics
13:12
i don’t see many movies
13:14
i just listen to music
13:15
nature is a language can’t you read
Avatar
it’s over
Avatar
ok
Avatar
guy is having the american depression
13:39
reminded me of this
13:40
"Socialism never took root in America because the poor see themselves not as an exploited proletariat but as temporarily embarrassed millionaires." John Steinbeck
13:40
@Learath2 xd
13:40
Are you temporarily embarrassed? You may not realise it, but you could be a temporarily embarrassed millionaire. Do you plan to someday in the future have more money? Are you concerned that your taxes are too high, because someday you might pay too much tax. Do you ride the bus only because this year you can’t afford that luxury car you’re going to have? Do you live pay cheque to pay cheque like most people just because you haven’t had your lucky break. You aren’t rich and it’s very unlikely you ever will be. The economic and power systems of this planet are not designed for you to get rich. The American dream doesn’t exist and it never did. Stop being a temporarily embarrassed millionaire and just be a person.
Avatar
wow thanks
13:40
feelsbadman
Avatar
it’s so over
Avatar
911
Avatar
how do i run ddnet on my breadboard calculator
Avatar
Avatar
Jupstar ✪
911
wdym
13:43
justatest
Avatar
Avatar
Ewan
how do i run ddnet on my breadboard calculator
buy one with vulkan support (edited)
Avatar
how do i buy vulkan support
Avatar
even RPI has vulkan
Avatar
my transistors don’t speak the same language
13:44
I’m eating pizza
13:44
I will never have money
Avatar
go to gym
13:45
@Ewan do u see a lot of morbidly obese ppl in america?
13:45
like is it real
Avatar
yes it’s real
Avatar
and i live in a skinnier region
13:45
i fucking hate fat people
Avatar
well the environment does a lot
13:46
parents dont know how to feed healthy food or educate their kids
Avatar
precisely
Avatar
also usually the healthier option is more costly
13:46
mcdonalds is too cheap
Avatar
mcdonalds cheaper than making burgers yourself
13:46
even if you also use horse meat
13:47
honestly healthy food can be tasty
Avatar
mongodb cattle farmer
Avatar
its all about cooking, spices, seasoning
Avatar
healthy food rocks my socks
Avatar
what does that mean
Avatar
i like healthy food as long as it isn’t quinoa
Avatar
oh same
13:48
i dont eat vegan shit either
13:48
xd
13:48
i tried tofu but
13:48
its tasteless even with other stuff
13:48
i dont like it i think
13:48
im open to someone cooking something and changing my opinioon tho
13:49
@Ewan but honestly, other than the main foods
13:49
ppl snack too much
13:49
and the snacks have insane cals
Avatar
chips have like 500kcal per 100g iirc
13:49
1 bottle of white beans has 80kcal for 100g
13:49
and more nutritious
Avatar
btw i love white beans
Avatar
i don’t have any
Avatar
is it rare there?
Avatar
yea u don’t see ppl eating beans
13:51
by themselves
13:52
smth i love too is spinachs with Scrambled eggs and maybe chickpeas
13:52
justatest
13:52
i find the chickpeas name funny
13:52
in spanish its garbanzos
13:52
ppl call them garbanzo beans here too
Avatar
scrambled eggs common too
Avatar
@Ewan is spinachs good for muscles
13:54
myth
13:54
it’s good for you brain mostly
13:55
it’s made of brain goo
Avatar
Lutein (; from Latin luteus meaning "yellow") is a xanthophyll and one of 600 known naturally occurring carotenoids. Lutein is synthesized only by plants, and like other xanthophylls is found in high quantities in green leafy vegetables such as spinach, kale and yellow carrots. In green plants, xanthophylls act to modulate light energy and serve...
Avatar
they don’t call it a head of spinach for nothing
Avatar
In 2013, findings of the Age-Related Eye Disease Study (AREDS2) showed that a dietary supplement formulation containing lutein reduced progression of age-related macular degeneration (AMD) by 25 percent.[10][11] However, lutein and zeaxanthin had no overall effect on preventing AMD, but rather "the participants with low dietary intake of lutein and zeaxanthin at the start of the study, but who took an AREDS formulation with lutein and zeaxanthin during the study, were about 25 percent less likely to develop advanced AMD compared with participants with similar dietary intake who did not take lutein and zeaxanthin.
Avatar
i want to develop advanced amd
Avatar
i will be the processor
13:58
your hydrocarbons are obsolete
Avatar
it’s over
Avatar
you're over
Avatar
the year of linux desktop
Avatar
it’s all so very over
14:20
concluded
14:20
see you next time
Avatar
ur win app is over
Avatar
my pull request is over
Avatar
just bcs nobody reviews it after 1 minute? XD
14:25
my life
Avatar
i waited fucking 2 years for my libpng
Avatar
just to hear from heinrich that so much time passed, that we have to be backward compatible
14:25
to the skin db that came afterwards
14:25
xD
Avatar
i don’t wanna hear a whole lot from heinrich
14:25
usually
Avatar
xD
Avatar
Avatar
Ryozuki
"Socialism never took root in America because the poor see themselves not as an exploited proletariat but as temporarily embarrassed millionaires." John Steinbeck
So true
Avatar
All map_* tools were crashing with the assertion Invalid type when used on maps that contain unknown UUID-based map items. When the UUID cannot be resolved, the type -1 is returned by the GetItem function. The assertion predates UUID map items, so this crash has likely existed since the introduction of UUID map items. The editor was not affected and has instead always discarded map items that it does not support. The tools will now also discard map items with unknown UUIDs. See #76...
Avatar
a9e7926 Fix map tools crashing on maps with unknown UUID-based map items - Robyt3 3fa130f Merge pull request #7693 from Robyt3/Tools-Invalid-Map-Item-Fixes - def-
Avatar
@Learath2 did u see my modern cpp pr
16:20
https://en.cppreference.com/w/cpp/memory/monotonic_buffer_resource Checklist Tested the change ingame Provided screenshots if it is a visual change Tested in combination with possibly related c...
16:20
sadly we are blocked by macOS old shenigans
16:20
<14.0
Avatar
See https://github.com/ddnet/ddnet/pull/7687#discussion_r1435186538. Also fix some help texts starting with a lowercase character.

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 (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that ...
Avatar
34a26da Fix wrong value type for some map settings in gamecontext.cpp - archimede67 e26ae3a Merge pull request #7694 from archimede67/fix-map-settings - def-
Avatar
Can someone tell me whats wrong?
Avatar
looks like your forgot to link a library (proto sth)
Avatar
ChillerDragon BOT 2023-12-22 20:16:02Z
ewww windows
20:16
wat u doin @Bota
Avatar
See commits.

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 (especially base/) or added coverage to integration test
  • [ ] 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/#...
Avatar
Avatar
ChillerDragon
ewww windows
Mb dont kill me please pepeH
23:06
921099c Add flatpak package to other downloads - miguilimzero 43795de Merge pull request #276 from miguilimzero/master - def-
Avatar
Avatar
ChillerDragon
wat u doin @Bota
I pulled libtw2 and tried to build wireshark plugin
Avatar
Avatar
Chairn
looks like your forgot to link a library (proto sth)
how i do that. I dont know rust justatest
Avatar
6fc3470 Check for valid favorite skin name, add CSkin::IsValidName - Robyt3 32b32d7 Remove unnecessary checks for number of command arguments - Robyt3 fa0b218 Use str_copy instead of mem_copy for skin names - Robyt3 88ee156 Merge pull request #7695 from Robyt3/Skin-Favorites-Escaping - def-
Exported 452 message(s)