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 2024-02-28 00:00:00Z and 2024-02-29 00:00:00Z
Avatar
@ChillerDragonadvancedbridgethaticannotping do you know any map reader implementation that is not the official one? Maybe a simpler one XD
Avatar
you can do ChillerDragon: and he will get pinged on IRC
03:40
might just be ChillerDragon tbh
Avatar
Avatar
Miguilim
@ChillerDragonadvancedbridgethaticannotping do you know any map reader implementation that is not the official one? Maybe a simpler one XD
A Rust library for parsing, editing and saving Teeworlds and DDNet maps
06:19
I dunno if it's much easier. But probably
Avatar
Avatar
Miguilim
@ChillerDragonadvancedbridgethaticannotping do you know any map reader implementation that is not the official one? Maybe a simpler one XD
Teeworlds / DDraceNetwork modding platform in .NET - Matodor/TeeSharp
Avatar
ws-client BOT 2024-02-28 06:57:43Z
<ChillerDragon> @Miguilim yes twmap is epic. Whats your use case? Read the code to document it? There is some libtw2 docs on the datafile and so on. Maybe matodors C# is easier to read than rust. But id say using twmap python bindings is the easiest to use map code.
06:58
<ChillerDragon> There is also some C++ tools which is less code
06:59
<ChillerDragon> @Miguilim all the ones starting with map_* have a single small cpp file interacting with the map code https://github.com/ddnet/ddnet/tree/master/src/tools but its a bit high level
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
07:00
<ChillerDragon> also ye irc pings are like tw chat
07:01
<ChillerDragon> @heinrich5991 erlang and elixir is webscale its what whatsapp uses
07:01
<ChillerDragon> and everything big scale such as telecommunication services
07:01
<ChillerDragon> if you have trillion of users and need to brrrr erlang is a good tool
07:02
<ChillerDragon> we can use it to port ddnet to 512 slots axaxaxxa
Avatar
morning
Avatar
gm
Avatar
good morning
Avatar
mod Main { extern fn malloc(bytes: u64) -> *mut u8; extern fn free(ptr: *mut u8); pub fn main(argc: i32, argv: *const *const i32) -> i32 { let x: *mut u8 = malloc(32); free(x); return 0; } }
08:31
pog this compiles
08:31
im using u8 cuz i dont have casts yet
Avatar
you can link to libc? 🙂
08:31
nice
Avatar
i link to libc by default
Avatar
argv should be *const *const u8, I guess? (edited)
Avatar
doesnt rust do that too?
Avatar
Avatar
heinrich5991
argv should be *const *const u8, I guess? (edited)
i think its a char so its i32 iirc
Avatar
yes, rust does that, too
08:32
no, C's char is a u8 or i8
Avatar
API documentation for the Rust c_char type in crate libc.
08:32
lol
08:33
mod Main { extern fn malloc(size: u64) -> *mut u8; extern fn free(ptr: *const u8); pub fn main(argc: i32, argv: *const *const u8) -> i32 { let x: *mut u8 = malloc(32); free(x); return 0; } }
08:33
ok this makes more sense
08:33
; ModuleID = 'Main' source_filename = "program.ed" target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" declare !dbg !2 ptr @malloc(i64) declare !dbg !9 void @free(ptr) define i32 @main(i32 %0, ptr %1) !dbg !13 { entry: call void @llvm.dbg.value(metadata ptr %1, metadata !21, metadata !DIExpression()), !dbg !23 call void @llvm.dbg.value(metadata i32 %0, metadata !19, metadata !DIExpression()), !dbg !24 %return_ptr = alloca i32, align 4, !dbg !25 %argc = alloca i32, align 4, !dbg !24 store i32 %0, ptr %argc, align 4, !dbg !24 %argv = alloca ptr, align 8, !dbg !23 store ptr %1, ptr %argv, align 8, !dbg !23 %x = alloca ptr, align 8, !dbg !26 %temp_var_4 = alloca ptr, align 8, !dbg !26 br label %block_0, !dbg !26 block_0: ; preds = %entry %2 = call ptr @malloc(i64 32), !dbg !27 store ptr %2, ptr %temp_var_4, align 8, !dbg !27 br label %block_1, !dbg !27 block_1: ; preds = %block_0 call void @llvm.dbg.declare(metadata ptr %x, metadata !22, metadata !DIExpression()), !dbg !26 %3 = load ptr, ptr %temp_var_4, align 8, !dbg !28 call void @llvm.dbg.value(metadata ptr %3, metadata !22, metadata !DIExpression()), !dbg !26 store ptr %3, ptr %x, align 8, !dbg !28 %4 = load ptr, ptr %x, align 8, !dbg !29 call void @free(ptr %4), !dbg !29 br label %block_2, !dbg !29 block_2: ; preds = %block_1 store i32 0, ptr %return_ptr, align 4, !dbg !30 %5 = load i32, ptr %return_ptr, align 4, !dbg !31 ret i32 %5, !dbg !31 }
08:33
unoptimized output
08:34
define i32 @main(i32 %0, ptr nocapture readnone %1) local_unnamed_addr #0 !dbg !2 { entry: ret i32 0, !dbg !20 } optimized xd (edited)
Avatar
nice 🙂
Avatar
Avatar
Ryozuki
mod Main { extern fn malloc(bytes: u64) -> *mut u8; extern fn free(ptr: *mut u8); pub fn main(argc: i32, argv: *const *const i32) -> i32 { let x: *mut u8 = malloc(32); free(x); return 0; } }
C with rusty syntax justatest
08:39
justatest
Avatar
@heinrich5991 lol
09:03
already paying off? xd
09:03
$170K - $200K • 0.20% - 0.70%
09:03
apparently its a ycombinator start up
Avatar
probably automated
09:04
xd
09:05
idk anything about ai
09:05
tho iguess they want to use rust for processing videos or smth
Avatar
justatest 0 bytes / 222 gb
09:18
Where is my disk
Avatar
what happened? ^^
Avatar
Avatar
Mʎɹ シ
justatest 0 bytes / 222 gb
NTFS xdd
Avatar
Avatar
Mʎɹ シ
justatest 0 bytes / 222 gb
CTRL + MOUSE_WHEEL_UP x20 the zero will disappear and will not bother you gigachad
Avatar
problem solved 😄
Avatar
Avatar
heinrich5991
what happened? ^^
I tried to update CLion xd
Avatar
Avatar
Mʎɹ シ
I tried to update CLion xd
I can recommend https://windirstat.net/
Windows Directory Statistics cleanup tool
Avatar
I'm using wiztree
Avatar
TreeSize Free is better option I think (edited)
Avatar
windirstat is quite good
Avatar
Linux is quite good as well
Avatar
my new dac is 2.5x the size
Avatar
qdirstat is open-source and pretty much the linux equivalent of windirstate afaik
Avatar
I use ncdu on linux
12:39
it works on the command line, and thus also on servers
12:41
also, it has earned me tons of points on stackexchange 😅 https://superuser.com/a/490640/123965
du and df are nice, but I don't know how to filter the data they provide the way I do with SequoiaView. I would like to know which are the largest folders and the largest files in a glance.
Avatar
Avatar
heinrich5991
also, it has earned me tons of points on stackexchange 😅 https://superuser.com/a/490640/123965
lol with one answer your are top 7%.. ez
13:03
im top 71% on SO
Avatar
i got cancelled after asking a question for ddnet
Avatar
Avatar
heinrich5991
also, it has earned me tons of points on stackexchange 😅 https://superuser.com/a/490640/123965
11y 11m
13:10
i think i will never be able to use sleep on this motherboard
13:10
13:10
i thought maybe i could override it by changing the acpi dsdt table but i don't want to risk bricking it
13:11
and i cannot get support because i bought it second hand
13:11
so i can't even ask a question about it lol
13:11
no mention of sleep anywhere in the bios
13:12
my motherboard is so out there i've literally not even found a single other person who has one
Avatar
I Just realised we Had a Huge Wave of new dev roles:o
Avatar
Avatar
meloƞ
I Just realised we Had a Huge Wave of new dev roles:o
How members can promote for Dev role ?
Avatar
contribute
13:40
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
Contribute and say: discord gods i contributed
Avatar
Avatar
MilkeeyCat
😏
Milkey i am so proud of you ❤️
Avatar
Avatar
meloƞ
Milkey i am so proud of you ❤️
you better dont
13:41
justatest
13:41
i deleted line from ci
13:41
akshually 2
13:41
one line was a comment
Avatar
My First commit was a cmake Warning 🥴
Avatar
i aint opening that monstrosity
Avatar
don't even remember why I'm in the credits
Avatar
what lsp u use for pyson? 😄
13:44
if anyone is pyson andy here
Avatar
Python or pyson?
Avatar
python
Avatar
im not using lsp for python
13:45
whenever im writing python
13:45
im probably remoted
13:45
just write in nano without even syntax highlighting
Avatar
Avatar
MilkeeyCat
what lsp u use for pyson? 😄
might be useful calling it python
Avatar
Avatar
heinrich5991
might be useful calling it python
is there pyson programming language?
Avatar
Pyright is the one Ive been using with nvim/emacs
Avatar
pyson is a libary for managing json files
Avatar
Avatar
MilkeeyCat
is there pyson programming language?
There is a json lib called pyson
Avatar
Avatar
Bibolil
pyson is a libary for managing json files
^
Avatar
has anyone tired to setup his dev env with wsl (linux subsystem) ?
Avatar
Avatar
Bibolil
has anyone tired to setup his dev env with wsl (linux subsystem) ?
Use an ide that supports WSL2
Avatar
neovim gigachad
Avatar
Avatar
MilkeeyCat
neovim gigachad
Shush
Avatar
ig ill use pyright
Avatar
Avatar
meloƞ
Use an ide that supports WSL2
vs code does that
Avatar
Avatar
Bibolil
vs code does that
Yea, you only need to know the basics of bash and you can set it Up
Avatar
Avatar
meloƞ
Contribute and say: discord gods i contributed
I already did on #7937 is that enough or not ?
Avatar
Improvement of #7873 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 (es...
Avatar
If you want to Code clientsided (graphical) - you would need to Setup an xServer, OR Cross compile to Windows
Avatar
Avatar
Vexar
I already did on #7937 is that enough or not ?
More than i did on my First commit - wait let me Look it Up
Avatar
Avatar
meloƞ
aight i contributed, where dev role
owo
Avatar
Your first PR was that rename commit ?
Avatar
then you promoted to dev ?
Avatar
Im only doing small refactors on ddnet code, i cba to do more than 50 loc because i dont Like beeing torn apart for my Shit Code
Avatar
Avatar
Vexar
then you promoted to dev ?
Meh it was a meme between me and furo
13:55
He Said j should contribute to get Dev role, and Here i am
Avatar
oh I see now then it make sense now 😄
Avatar
Avatar
meloƞ
Meh it was a meme between me and furo
You need to make more PRs!
justatest 2
Avatar
Melon gonna get demote I think 😛
14:02
btw Melon senpai I like your commits ❤️
Avatar
i don't think it's really like that
Avatar
Avatar
Vexar
Melon gonna get demote I think 😛
from https://discord.com/channels/252358080522747904/1125706766999629854/1147096614238957621:
@Dev: Assigned to users with accepted pull requests on our main repository.
14:12
I don't think you can stop qualifying for this role
Avatar
Avatar
heinrich5991
I don't think you can stop qualifying for this role
So if i suggest you to give vexar the Dev role for his PR #7937 He can't undo it? 😉
Avatar
Improvement of #7873 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 (es...
Avatar
tnx ❤️
Avatar
twgpu-map-photography.exe .\Basketball.map . Error: IoError(Os { code: 2, kind: NotFound, message: "The system cannot find the file specified." }) but why ?
Avatar
is there a private repo for ddnet antibot or where is it? justatest
peepoDetective 1
Avatar
Avatar
Vexar
twgpu-map-photography.exe .\Basketball.map . Error: IoError(Os { code: 2, kind: NotFound, message: "The system cannot find the file specified." }) but why ?
Is the map in your current directory?
Avatar
Avatar
heinrich5991
from https://discord.com/channels/252358080522747904/1125706766999629854/1147096614238957621:
@Dev: Assigned to users with accepted pull requests on our main repository.
got 4 accepted prs sad
Avatar
Avatar
Jupstar ✪
Is the map in your current directory?
yes
Avatar
Avatar
Vexar
yes
And the last dot is for mapres?
Avatar
no I thought that save location for photo
14:39
I put . to save it in same directory
14:40
does it sound
Avatar
what does that mean
Avatar
this one has rca for my monitors
14:40
and big jack for my headset
Avatar
before i had to use jack to mini jack
Avatar
yea that's common
14:40
those things are usually so shitty
14:40
the adapters
14:40
glad u dont have to use that
Avatar
Avatar
Vexar
twgpu-map-photography.exe .\Basketball.map . Error: IoError(Os { code: 2, kind: NotFound, message: "The system cannot find the file specified." }) but why ?
@Patiga
Avatar
gnome-remote-desktop not supported on clear linux
14:41
feelsbadman
Avatar
Avatar
MilkeeyCat
is there a private repo for ddnet antibot or where is it? justatest
the repo is private, yes
Avatar
Avatar
heinrich5991
@Patiga
tnx fixed was my mistake
👍 1
Avatar
do u guys share antibot code with other servers
Avatar
Avatar
Jupstar ✪
And the last dot is for mapres?
thank you too ❤️
Avatar
noby did some of the ddnet antibot right
Avatar
Avatar
Ewan
gnome-remote-desktop not supported on clear linux
oh shit nvm it's just in a separate pkg for some reason
Avatar
it's onby's antibot with some changes by ddnet
Avatar
Avatar
meloƞ
I Just realised we Had a Huge Wave of new dev roles:o
new old devs xd
Avatar
Avatar
Nouaa
got 4 accepted prs sad
justatest justatest justatest justatest
CH_PepeShhh 2
Avatar
Avatar
furo
You need to make more PRs!
justatest
Avatar
me when gerdoe still doesn't have dev role
Avatar
Avatar
Ewan
me when gerdoe still doesn't have dev role
nah, heinrich gave it to me couple days ago
14:51
i still can't get my prs be merged because uni eats a lot of time for some reason
Avatar
Avatar
Vexar
tnx fixed was my mistake
awesome that you use the tool. may I ask what you are experimenting with? :D
Avatar
Avatar
Patiga
awesome that you use the tool. may I ask what you are experimenting with? :D
I was trying create my own discord bot to upload or update maps without connect to my vps or adding map to my votelist manually and I want to set uploaded map's photo to channel by using your tools (tnx for twmap tools <3)
heartw 1
Avatar
sounds cool, gl with your project :)
Avatar
Avatar
Patiga
sounds cool, gl with your project :)
tnx 🤗 🥰
Avatar
Avatar
heinrich5991
the repo is private, yes
Closed source, boo..
Avatar
Avatar
heinrich5991
the repo is private, yes
I shared you my repo, share me antibot repo troll
Avatar
what to do with merge conflicts on #7820?
Avatar
See #7815 and #2255 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 (espe...
Avatar
Avatar
Mʎɹ シ
I shared you my repo, share me antibot repo troll
15:48
too late
15:49
uh oh
Avatar
what functionality does this add
15:57
why do i feel that rescue functionality is going to be overcomplicated
15:57
best option imo is to allow for /spawnpoint like in trainfng
Avatar
there's nothing to overcomplicate
15:59
rescumode used for switching between auto (current behaviour of rescue) and manual (new behaviour of rescue that works exactly like setting spawnpoint by writing /r(escue) so you have no need to bind anything new)
Avatar
Avatar
zhn
what to do with merge conflicts on #7820?
ddracechat.h was deleted, so to resolve the conflict you need to delete the file and add the command registration in gamecontext.cpp instead (it conflicts because of #7919) (edited)
Avatar
Both console and chat commands are sent to clients dynamically with respective messages, so the static lists of commands were only used for servers not making use of these messages. Instead of assu...
Avatar
it will rescue you if you are midair/freezed
16:00
and will set your rescue position if you are grounded
Avatar
Avatar
Robyt3
ddracechat.h was deleted, so to resolve the conflict you need to delete the file and add the command registration in gamecontext.cpp instead (it conflicts because of #7919) (edited)
oh
16:01
thank you for notice lol
16:01
i would never see it myself
Avatar
was the kill tile rescue ever solved
Avatar
ewan tried to do something but was stopped by someone i don't recall
Avatar
i will try to implement it rn
16:12
unless u do it exactly how he wants
16:12
someone already did it before me and i didn't know till i was done
16:13
see 7691
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. The game will now resc...
Avatar
i wish i had 100 mbit/s connection instead of 20 kbit/s
Avatar
I think we shouldn't trigger rescue automatically. The player should rather press /r explicitly after they died, we could keep them in spectator mode until they do.
why though
16:25
i wouldn't like to test any faily part with such because i would always press button instead of going as is
16:25
like
16:25
use super instead
16:27
Auto-respawning is going to interact badly, e.g. if you respawn in speeders that push you into a death tile, that's a nice way to generate a lot of messages.
since there's a lot cases of "rescuing" in kill tile i can just implement both with use of /rescuemode
16:27
both cases are annoying
Avatar
Avatar
zhn
I think we shouldn't trigger rescue automatically. The player should rather press /r explicitly after they died, we could keep them in spectator mode until they do.
why though
the same way you don't get auto-rescued when you hit freeze
16:28
if you get auto-rescued, you might still hook in some direction, causing unintentional movement
16:28
I suggest you comment on the github issue if you want the discussion to last
Avatar
which one xd
16:29
theres at least 3
Avatar
are there?
Avatar
that's a pull request
16:29
comment on the issue
Avatar
#2232 and #3024
Avatar
I suppose we should trigger /rescue on kill tile collision if team is in practice mode. Edit: Or any other solution. Because for now you getting kicked out of team once you killed
make the kill tile auto-rescue you if practice is on instead of killing as suggested by Дядя Женя on Discord
Avatar
I closed the duplicate
Avatar
@Ryozuki @heinrich5991 Pog
16:34
Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet.
poggers2 2
16:36
Security is your top priority: Pingora is a more memory safe alternative for services that are written in C/C++. While some might argue about memory safety among programming languages, from our practical experience, we find ourselves way less likely to make coding mistakes that lead to memory safety issues. Besides, as we spend less time struggling with these issues, we are more productive implementing new features. Your service is performance-sensitive: Pingora is fast and efficient. As explained in our previous blog post, we saved a lot of CPU and memory resources thanks to Pingora’s multi-threaded architecture. The saving in time and resources could be compelling for workloads that are sensitive to the cost and/or the speed of the system. Your service requires extensive customization: The APIs that the Pingora proxy framework provides are highly programmable. For users who wish to build a customized and advanced gateway or load balancer, Pingora provides powerful yet simple ways to implement it. We provide examples in the next section.
16:38
16:38
nice logo xd
Avatar
@heinrich5991 can you check last conversation on 7820?
16:51
i will commit last change and then squash commits
Avatar
Query id: f441b2cb-9ede-41d6-a781-c3475245604a ┌─client_name─────┬─client_playtime_total_hours─┐ │ nameless tee │ 35311.90416666667 │ │ 1 │ 10661.709722222224 │ │ ChillerDragon │ 10318.552777777777 │ │ brainless tee │ 9041.169444444444 │ │ . │ 7737.541666666667 │ │ kais │ 5385.254166666667 │ │ chillerbot-zx │ 5193.144444444445 │ │ 异教 │ 4978.847222222222 │ │ Colo-Colo │ 4602.886111111112 │ │ (1)nameless tee │ 4269.986111111111 │ │ (1)kais │ 4218.841666666666 │ │ wlszd │ 4062.551388888889 │ │ Bonobobo │ 3995.2569444444443 │ │ ]GameReady[ │ 3940.2708333333335 │ │ 月满 │ 3849.2597222222225 │ │ 123 │ 3763.597222222222 │ │ 峰峰 │ 3735.4902777777775 │ │ prore │ 3432.5333333333333 │ │ Noob Redis │ 3403.4375 │ │ 7% │ 3392.561111111111 │ └─────────────────┴─────────────────────────────┘ 20 rows in set. Elapsed: 1.790 sec. Processed 9.75 million rows, 248.63 MB (5.44 million rows/s., 138.89 MB/s.) Peak memory usage: 311.27 MiB. ChillerDragon: afk king? gigachad
Avatar
it works!!!! thank you so much
Avatar
Avatar
Matodor
Query id: f441b2cb-9ede-41d6-a781-c3475245604a ┌─client_name─────┬─client_playtime_total_hours─┐ │ nameless tee │ 35311.90416666667 │ │ 1 │ 10661.709722222224 │ │ ChillerDragon │ 10318.552777777777 │ │ brainless tee │ 9041.169444444444 │ │ . │ 7737.541666666667 │ │ kais │ 5385.254166666667 │ │ chillerbot-zx │ 5193.144444444445 │ │ 异教 │ 4978.847222222222 │ │ Colo-Colo │ 4602.886111111112 │ │ (1)nameless tee │ 4269.986111111111 │ │ (1)kais │ 4218.841666666666 │ │ wlszd │ 4062.551388888889 │ │ Bonobobo │ 3995.2569444444443 │ │ ]GameReady[ │ 3940.2708333333335 │ │ 月满 │ 3849.2597222222225 │ │ 123 │ 3763.597222222222 │ │ 峰峰 │ 3735.4902777777775 │ │ prore │ 3432.5333333333333 │ │ Noob Redis │ 3403.4375 │ │ 7% │ 3392.561111111111 │ └─────────────────┴─────────────────────────────┘ 20 rows in set. Elapsed: 1.790 sec. Processed 9.75 million rows, 248.63 MB (5.44 million rows/s., 138.89 MB/s.) Peak memory usage: 311.27 MiB. ChillerDragon: afk king? gigachad
from when is this
Avatar
Avatar
cyberFighter
from when is this
2022-11-19 (edited)
Avatar
also thats like
17:33
half of that is just blmapchill players
Avatar
imagine to have your own master server and ban players from it if they play on blmapchill more than 1k hours xd
Avatar
Avatar
Matodor
Query id: f441b2cb-9ede-41d6-a781-c3475245604a ┌─client_name─────┬─client_playtime_total_hours─┐ │ nameless tee │ 35311.90416666667 │ │ 1 │ 10661.709722222224 │ │ ChillerDragon │ 10318.552777777777 │ │ brainless tee │ 9041.169444444444 │ │ . │ 7737.541666666667 │ │ kais │ 5385.254166666667 │ │ chillerbot-zx │ 5193.144444444445 │ │ 异教 │ 4978.847222222222 │ │ Colo-Colo │ 4602.886111111112 │ │ (1)nameless tee │ 4269.986111111111 │ │ (1)kais │ 4218.841666666666 │ │ wlszd │ 4062.551388888889 │ │ Bonobobo │ 3995.2569444444443 │ │ ]GameReady[ │ 3940.2708333333335 │ │ 月满 │ 3849.2597222222225 │ │ 123 │ 3763.597222222222 │ │ 峰峰 │ 3735.4902777777775 │ │ prore │ 3432.5333333333333 │ │ Noob Redis │ 3403.4375 │ │ 7% │ 3392.561111111111 │ └─────────────────┴─────────────────────────────┘ 20 rows in set. Elapsed: 1.790 sec. Processed 9.75 million rows, 248.63 MB (5.44 million rows/s., 138.89 MB/s.) Peak memory usage: 311.27 MiB. ChillerDragon: afk king? gigachad
only ddnet servers?
Avatar
we have an inflation of purple names xd
17:35
can we make dev yellow
Avatar
Avatar
Teero
only ddnet servers?
only from master server stats
Avatar
gimme green
Avatar
and give me the purple jupstar role
Avatar
is it ok to have 80+ changes after running fix_style.py
Avatar
Avatar
Matodor
only from master server stats
so kog should be included right?
Avatar
Avatar
Teero
so kog should be included right?
+
Avatar
is it only from 1 year?
Avatar
Avatar
zhn
is it ok to have 80+ changes after running fix_style.py
Did you use clang-format10?
Avatar
ik i have lot more than 5k hours ingame (edited)
17:37
where kog grinders
Avatar
Avatar
Teero
ik i have lot more than 5k hours ingame (edited)
i've more
17:37
😬
Avatar
Avatar
Teero
is it only from 1 year?
2022-11-19 first time when master server started support skin info
Avatar
i didnt assume you had less xd
17:37
can you get new info?
Avatar
Avatar
Teero
can you get new info?
which one?
Avatar
online time (edited)
Avatar
Avatar
furo
Did you use clang-format10?
no, but clang-format16
Avatar
from all players (edited)
Avatar
Avatar
zhn
no, but clang-format16
Yeah, that won't work. You will need version 10.
👴 1
Avatar
how can i install clang-format10 on fedora
Avatar
Avatar
zhn
how can i install clang-format10 on fedora
I got mine from here, https://github.com/muttleyxd/clang-tools-static-binaries/releases. Then just copied the clang-format-10_linux-amd64 binary to /usr/bin/clang-format-10.
Avatar
thank you a lot furo
17:44
btw why does ddnet use clang format 10 and why their behaviour changes this way lmao
Avatar
it's crazy
17:45
they should jusst disable style checks until it's fixed
17:45
or run it themselves in a
Avatar
i wish we had a bot that runs fix style before merging
Avatar
SELECT (sum(client_playtime_sec) / 60) / 60 AS client_playtime_total_hours FROM tee_skin.client_snapshots WHERE startsWith(lower(server_map_name), 'blmap') Query id: 26855dd8-1c89-4a75-b778-90dbca05092d ┌─client_playtime_total_hours─┐ │ 525239.1666666666 │ └─────────────────────────────┘ 1 row in set. Elapsed: 229.714 sec. Processed 12.63 billion rows, 229.06 GB (54.97 million rows/s., 997.15 MB/s.) Peak memory usage: 19.40 MiB.
17:48
wtf
Avatar
Avatar
Matodor
SELECT (sum(client_playtime_sec) / 60) / 60 AS client_playtime_total_hours FROM tee_skin.client_snapshots WHERE startsWith(lower(server_map_name), 'blmap') Query id: 26855dd8-1c89-4a75-b778-90dbca05092d ┌─client_playtime_total_hours─┐ │ 525239.1666666666 │ └─────────────────────────────┘ 1 row in set. Elapsed: 229.714 sec. Processed 12.63 billion rows, 229.06 GB (54.97 million rows/s., 997.15 MB/s.) Peak memory usage: 19.40 MiB.
60 years, but Multeasymap players total playtime since 2022-11-19 - 180+ years 😄 ┌─client_playtime_total_hours─┐ │ 1708114.6722222222 │ └─────────────────────────────┘
18:17
losers
Avatar
yet another 180 human-years wasted xd
18:25
not the worst though
Avatar
Avatar
Ryozuki
oyasumi punpun
i just finished reading it, very happy story feelsbadman
Avatar
idk why my audio suddenly stopped working
18:32
tried my dac on the mac and it works..
Avatar
it doesnt make any sense
Avatar
Avatar
Ewan
it's crazy
It's not crazy, a lot of projects stick with a version of clang-format, that's why that repository exists
Avatar
is it alright about CGameContext::OnMapChange(...) being called before map change even if map couldn't be load
18:59
ed*
Avatar
ig not because map settings are loaded on this call so if you have map settings but not the map itself it will affect current running map
Avatar
Looks correct, OnMapChange reads the map settings from cfg files and writes them to the map file, which needs to happen before the map is loaded. Maybe should be renamed to BeforeMapChange or PrepareMapChange instead.
19:15
If you need to add behavior that happens after map change then you should probably put that in OnInit instead
Avatar
Since you can't always control what happens on server, you can see your map getting changed midplay. Now server will save all teams on map change, so players can finish map later. I didn't ...
Avatar
ig its caused only by database operations being done in other thread but idk why data changes
Avatar
Avatar
zhn
ig its caused only by database operations being done in other thread but idk why data changes
CScore::SaveTeam saves g_Config.m_SvMap as the map, which is already the new map when LoadMap is called
19:24
Seems like all save commands might end up saving the wrong map if the map config variable is changed at the same time
Avatar
but wait g_Config.m_SvMap is changed after CGameContext::OnMapChange(...) call not before
Avatar
The config variable is changed first via the console, which calls ConchainMapUpdate, which sets m_MapReload = true if the map has changed
19:27
its strange though
19:27
pNewMapName is just useless
Avatar
Seems more correct to pass CServer::m_aCurrentMap as an argument to those CScore functions instead of using the config
Avatar
Avatar
zhn
pNewMapName is just useless
It's still used though, the function can create a temporary map, in which case the path to the map will be changed before loading it
19:28
The whole thing is weird though, having to load the cfg settings and writing those back to the maps
Avatar
i mean both pNewMapName and g_Config.m_SvMap are used and its strange
Avatar
pNewMapName is the output for the function, but it shouldn't modify the value of the config variable
Avatar
Avatar
Robyt3
pNewMapName is the output for the function, but it shouldn't modify the value of the config variable
yeah you are right, didn't even notice it's char *
Avatar
I very much doubt accessing the config from multiple threads is sane at all
Avatar
its not used from other thread but in data preparation
19:34
and if you will save tick-a-tick on map change you'll get wrong save
19:34
but still usable
19:35
is it real though xd
19:36
oy vey Server()->GetMapName() is also g_Config
Avatar
Seems possible, the netmessage that changes the map would have to be handled before the message triggering a save/load (edited)
Avatar
should i add GetCurrentMapName to the server interface?
19:43
its kinda cursed to have two different map names
Avatar
@Learath2 are u a pipewire pro?
19:46
idk why my new dac suddenly stopped playing audio, my old one works
19:47
and the new with mac works
19:47
so it must be smth with linux/pipewire
Avatar
wouldn't say pro, but I know how it works-ish
Avatar
mm maybe i need the power supply
19:50
ill try tomorrow
Avatar
Avatar
Ryozuki
so it must be smth with linux/pipewire
did you check that there isn't an issue on the usb layer? as in it gets detected and the correct driver handles it?
Avatar
Avatar
zhn
should i add GetCurrentMapName to the server interface?
I'd say GetMapName should use m_aCurrentMap instead of g_Config.m_SvMap, since using the config variable anywhere potentially leads to issues with it not being synchronized with the current map
Avatar
Avatar
Learath2
did you check that there isn't an issue on the usb layer? as in it gets detected and the correct driver handles it?
it even shows up on pavucontrol
20:10
and it says audio plays
20:10
but nothing
Avatar
did you check that it gets properly wired up in something like qpwgraph?
20:11
also did you check dmesg?
Avatar
@Learath2 my dmesg is weird
20:12
[ 4827.702753] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0 [ 4827.772751] evbug: Event. Dev: input15, Type: 4, Code: 4, Value: 458768 [ 4827.772754] evbug: Event. Dev: input15, Type: 1, Code: 50, Value: 1 [ 4827.772755] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0 [ 4827.832751] evbug: Event. Dev: input15, Type: 4, Code: 4, Value: 458760 [ 4827.832754] evbug: Event. Dev: input15, Type: 1, Code: 18, Value: 1 [ 4827.832756] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0 [ 4827.892752] evbug: Event. Dev: input15, Type: 4, Code: 4, Value: 458768 [ 4827.892755] evbug: Event. Dev: input15, Type: 1, Code: 50, Value: 0 [ 4827.892756] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0 [ 4827.894750] evbug: Event. Dev: input15, Type: 4, Code: 4, Value: 458760 [ 4827.894752] evbug: Event. Dev: input15, Type: 1, Code: 18, Value: 0 [ 4827.894753] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0 [ 4828.005751] evbug: Event. Dev: input15, Type: 4, Code: 4, Value: 458774 [ 4828.005753] evbug: Event. Dev: input15, Type: 1, Code: 31, Value: 1 [ 4828.005755] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0 [ 4828.070749] evbug: Event. Dev: input15, Type: 4, Code: 4, Value: 458774 [ 4828.070751] evbug: Event. Dev: input15, Type: 1, Code: 31, Value: 0 [ 4828.070752] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0 [ 4828.174749] evbug: Event. Dev: input15, Type: 4, Code: 4, Value: 458762 [ 4828.174752] evbug: Event. Dev: input15, Type: 1, Code: 34, Value: 1 [ 4828.174754] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0 [ 4828.240751] evbug: Event. Dev: input15, Type: 4, Code: 4, Value: 458792 [ 4828.240754] evbug: Event. Dev: input15, Type: 1, Code: 28, Value: 1 [ 4828.240755] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0 [ 4828.253746] evbug: Event. Dev: input15, Type: 4, Code: 4, Value: 458762 [ 4828.253749] evbug: Event. Dev: input15, Type: 1, Code: 34, Value: 0 [ 4828.253750] evbug: Event. Dev: input15, Type: 0, Code: 0, Value: 0
20:12
it only shows this xd
Avatar
what even is input15? :d
Avatar
what is evbug
20:12
is smth broken?
Avatar
evbug is iirc livevent
20:13
some input device is triggering an assert inside it I guess
20:13
Oh actually it's probably not a bug
20:14
I think you may have enabled event debugging in your kernel
Avatar
oh i did
20:15
what was the setting
20:21
[ 1.299849] hid-generic 0003:20B1:3008.0001: hiddev96,hidraw0: USB HID v1.10 Device [iFi (by AMR) iFi (by AMR) HD USB Audio] on usb-0000:2d:00.3-4/input3
20:21
@Learath2
20:23
20:23
@Learath2 its ifi
20:23
should playback be connected?
20:24
if i start a vid it shows
20:25
well with pavucontrol closed its simpler
20:25
xd
20:26
whats a monitor?
20:29
disconnecting and reconnecting
20:29
[ 611.504262] usb 3-4: USB disconnect, device number 2 [ 615.890835] usb 3-4: new high-speed USB device number 3 using xhci_hcd [ 616.019623] usb 3-4: New USB device found, idVendor=20b1, idProduct=3008, bcdDevice= 7.40 [ 616.019628] usb 3-4: New USB device strings: Mfr=1, Product=3, SerialNumber=2 [ 616.019630] usb 3-4: Product: iFi (by AMR) HD USB Audio [ 616.019632] usb 3-4: Manufacturer: iFi (by AMR) [ 616.019633] usb 3-4: SerialNumber: 0003 [ 616.232121] usb 3-4: 1:4 : unsupported format bits 0x100000000 [ 616.333370] usb 3-4: Warning! Unlikely big volume range (=32512), cval->res is probably wrong. [ 616.333373] usb 3-4: [10] FU [iFi (by AMR) HD USB Audio Playback Volume] ch = 2, val = -32512/0/1 [ 616.336368] usb 3-4: Warning! Unlikely big volume range (=32512), cval->res is probably wrong. [ 616.336371] usb 3-4: [10] FU [iFi (by AMR) HD USB Audio Playback Volume] ch = 1, val = -32512/0/1 [ 616.339138] hid-generic 0003:20B1:3008.0008: hiddev96,hidraw0: USB HID v1.10 Device [iFi (by AMR) iFi (by AMR) HD USB Audio] on usb-0000:2d:00.3-4/input3
20:29
xd
Avatar
Instead of defining the macro WIN32_LEAN_AND_MEAN and sometimes also the macro _WIN32_WINNT in each file that directly or indirectly includes `, only define these macros once consistently in CMakeLists.txt. Also define NTDDI_VERSION, which is the new macro to specify the minimum Windows version starting with Windows Vista. This macro needs to be defined in addition to old _WIN32_WINNT` macro, according to the documentation. See https://learn.microsoft.com/en-us/windows/win32/w...
Avatar
seems m_aCurrentMap is also affected for some reason
Avatar
Avatar
zhn
seems m_aCurrentMap is also affected for some reason
Hmm, it shouldn't be. The only str_copy(m_aCurrentMap, ...) is after OnMapChange has been called.
Avatar
yeah i see, but problem is still here
21:02
maybe i did something wrong though
Avatar
Add dbg_msg in multiple places to find out the order of operations I guess
Avatar
its changed before LoadMap(...) is called
21:06
its being changed*
Avatar
That doesn't seem right, I only see two write accesses to m_aCurrentMap, one in the CServer constructor and the other in LoadMap. (edited)
21:11
m_aCurrentMap has to be unchanged when LoadMap fails because it's used to restore the previous value of sv_map if the map failed to load
Avatar
yeah im dumb sorry
21:12
instead of // get the name of the map without his path const char *pMapShortName = m_aCurrentMap; for(int i = 0; i < str_length(m_aCurrentMap) - 1; i++) { if(Config()->m_SvMap[i] == '/' || Config()->m_SvMap[i] == '\\') pMapShortName = &m_aCurrentMap[i + 1]; } return pMapShortName;
21:12
i did // get the name of the map without his path const char *pMapShortName = &Config()->m_SvMap[0]; for(int i = 0; i < str_length(Config()->m_SvMap) - 1; i++) { if(Config()->m_SvMap[i] == '/' || Config()->m_SvMap[i] == '\\') pMapShortName = &m_aCurrentMap[i + 1]; } return pMapShortName;
Avatar
Both don't look right though
21:13
They both mix usage of the cfg variable and m_aCurrentMap
Avatar
Should only use m_aCurrentMap
Avatar
// get the name of the map without his path const char *pMapName = m_aCurrentMap; const char *pMapShortName = pMapName; for(int i = 0; i < str_length(pMapName) - 1; i++) { if(pMapName[i] == '/' || pMapName[i] == '\\') pMapShortName = &pMapName[i + 1]; } return pMapShortName;
👍 1
Avatar
@Ryozuki 2nd result on google already... nice push lol
21:22
nice to see you coding with mouse 😬
Avatar
seems ddnet-saves is too hardcoded to be usable with this feature
21:34
fancy custom packet sounds better than parsing the actual chat xd
21:35
also client will get wrong current map name since he gets the message after map change, not before
Avatar
Avatar
zhn
also client will get wrong current map name since he gets the message after map change, not before
why not send the message before the map change?
Avatar
idk ask the jobpool running insert on database xd
Avatar
Avatar
Ryozuki
well with pavucontrol closed its simpler
This looks correct
Avatar
its callback from CScore so i should run this job blocking or use it as is
Avatar
not blocking
Avatar
Avatar
Ryozuki
whats a monitor?
monitor lines are outputs of what is currently playing on that device, as in "they monitor outputs and clone them"
Avatar
Avatar
zhn
its callback from CScore so i should run this job blocking or use it as is
but perhaps you can directly sned the save code, before the save finishes
21:42
CC @Zwelf
Avatar
Avatar
Ryozuki
[ 611.504262] usb 3-4: USB disconnect, device number 2 [ 615.890835] usb 3-4: new high-speed USB device number 3 using xhci_hcd [ 616.019623] usb 3-4: New USB device found, idVendor=20b1, idProduct=3008, bcdDevice= 7.40 [ 616.019628] usb 3-4: New USB device strings: Mfr=1, Product=3, SerialNumber=2 [ 616.019630] usb 3-4: Product: iFi (by AMR) HD USB Audio [ 616.019632] usb 3-4: Manufacturer: iFi (by AMR) [ 616.019633] usb 3-4: SerialNumber: 0003 [ 616.232121] usb 3-4: 1:4 : unsupported format bits 0x100000000 [ 616.333370] usb 3-4: Warning! Unlikely big volume range (=32512), cval->res is probably wrong. [ 616.333373] usb 3-4: [10] FU [iFi (by AMR) HD USB Audio Playback Volume] ch = 2, val = -32512/0/1 [ 616.336368] usb 3-4: Warning! Unlikely big volume range (=32512), cval->res is probably wrong. [ 616.336371] usb 3-4: [10] FU [iFi (by AMR) HD USB Audio Playback Volume] ch = 1, val = -32512/0/1 [ 616.339138] hid-generic 0003:20B1:3008.0008: hiddev96,hidraw0: USB HID v1.10 Device [iFi (by AMR) iFi (by AMR) HD USB Audio] on usb-0000:2d:00.3-4/input3
This looks like the issue to me
Avatar
yeah but what if save will not be written both on backup and main databases
Avatar
what then? ^^
Avatar
you'll have useless row in your ddnet-saves.txt and players complaints xd
Avatar
we'll also have that when the feature fails otherwise
21:44
the complaints
Avatar
its clear for me kekw
21:44
the thing unclear is that why ddnet client parses chat to get codes
Avatar
fix it 😉
Avatar
and if it does so why doesnt server send map name and teammates names on every response xd
Avatar
Avatar
heinrich5991
fix it 😉
back-compat?
Avatar
because the map name is clear
21:45
it's the current map
21:45
what about players xd
Avatar
Avatar
zhn
back-compat?
you can absolutely fix it if you want. you'll need backcompat though, yes
Avatar
i will break this way or another
21:46
its literally nailed
21:46
should i add new version macro define like LEGACY_SAVE_CODE or something
Avatar
yes
21:48
but sending the chat message before the map change also sounds sensible
Avatar
the chat message itself differs though
Avatar
ah, why?
Avatar
CScore::SaveTeam(...) behaviour (edited)
21:52
"Team save in progress. You'll be able to load with '/load %s'"
Avatar
Avatar
zhn
CScore::SaveTeam(...) behaviour (edited)
are you saying that this is what the code currently does? you're changing the code, you can change anything 😉
Avatar
true, i need to figure out why the hell it executes after map change and not before
Avatar
I think it is doing that because the database operation can take long
22:00
and thus it executes in another thread
Avatar
SaveTeam is called from main thread though
22:03
it should send the message immediately
Avatar
ah
Avatar
ig server sends the message and changes the map so client isn't able to get it in time
22:06
i didn't even receive any message this time huh
Avatar
but "change map" is also a message
22:06
if you send "chat message" and then "map change"
22:06
then the client should receive it in that order
Avatar
When you have to delay the map change until all score workers jobs are done
Avatar
why?
Avatar
Avatar
zhn
it should send the message immediately
This doesn't seem to work because the message depends on whether the save failed, so you can't send the message first
Avatar
it doesn't really matter if the save fails or not. the save failing is there to respawn the tees IIRC
Avatar
no-no it sents it by default
Avatar
but that's not possible with a map change anyway
Avatar
char aBuf[512]; if(Tmp->m_aCode[0] == '\0') { str_format(aBuf, sizeof(aBuf), "Team save in progress. You'll be able to load with '/load %s'", Tmp->m_aGeneratedCode); } else { str_format(aBuf, sizeof(aBuf), "Team save in progress. You'll be able to load with '/load %s' if save is successful or with '/load %s' if it fails", Tmp->m_aCode, Tmp->m_aGeneratedCode); } pController->Teams().KillSavedTeam(ClientID, Team); GameServer()->SendChatTeam(Team, aBuf);
22:10
okey the only thing that client parses another message by default
22:10
seems to be working
22:10
sorry for me being that stupid xd
Avatar
Improve readability of the CMenus::Render function by extracting the code for rendering the fullscreen popups into a separate function. Note the diff is significantly shorter when ignoring whitespace.

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 nu...
Avatar
nice, duplicated saves
22:33
it parses both messages on regular save
22:34
i will throw this parsing away and add new game packet
22:35
but not today xd
Avatar
Avatar
zhn
it parses both messages on regular save
you could send different messages depending on the type of save
22:35
(map change save vs regular save)
Avatar
thats what im doing
22:38
client will parse both because it doesn't know did you receive previous save message or not
22:39
btw my branch failed asan/ubsan somehow :P
22:39
in teehistorian tests
Avatar
Avatar
Robyt3
When you have to delay the map change until all score workers jobs are done
this really is not the worst idea
22:40
Jobs.AbortAbortable
Avatar
Avatar
Learath2
this really is not the worst idea
this will delay the map change almost indefinitely if the db stuff isn't working properly
Avatar
Avatar
zhn
client will parse both because it doesn't know did you receive previous save message or not
you could also not send the save code a second time in the map change save case ^^
22:43
regular save will produce two messages
22:43
first one with user code/generated code
22:43
and second one with actual code registered in database
Avatar
Avatar
zhn
regular save will produce two messages
oh. previously
22:43
I see
22:43
before your PR?
22:44
and its good actually i just don't know how to get my save code on map change without something like client state bool that checks if you had these messages one by one
22:45
thats why i want to add new game packet
22:45
okey, thanks guys
22:45
its nap time xd
22:46
still curious about asan/ubsan check though
Avatar
8d774fa Define Windows header macros only once in CMakeLists.txt - Robyt3 ffc7ad0 Merge pull request #8028 from Robyt3/Windows-Defines-CMakeLists - heinrich5991
Avatar
6080cff Extract CMenus::RenderPopupFullscreen function - Robyt3 9620a9d Merge pull request #8029 from Robyt3/Menus-RenderPopupFullscreen-Function - heinrich5991
Avatar
since when is debug graph like this xd
23:08
and this
Exported 481 message(s)