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-09-14 00:00:00Z and 2023-09-15 00:00:00Z
Avatar
Avatar
gerdoe
moved from arch to win10 due to nothing but a lot of required programs are windows-only
based
Avatar
Try the new Rust IDE from JetBrains with a debugger, on-the-fly analysis, and quick-fixes.
justatest 2
cammostripes 2
Avatar
@Jupstar ✪ prepare tomorrow question
06:56
aPES4_Noted
Avatar
Avatar
Ryozuki
@Jupstar ✪ prepare tomorrow question
Good reminder next question i have, i should write down so i don't forget again xd
08:21
sudo mirrorselect -s3 -b10 -D -c Germany
08:21
for best mirrors
Avatar
very useful for our, in meantime 2, gentoo users 😂
08:46
learath is one too
Avatar
Gentoo is the best thing since sliced bread
Avatar
I just flunked an accounting exam so bad
08:52
My balance sheet was off by 200k and I somehow managed to end up with negative work in progress inventory. Then the company that made profit on the balance sheet ended up making loss on the income statement
Avatar
@Patiga ur twmap lib is awesome, but i have one request, often to modify tiles u need to deal with the load and the compressed data enum, maybe make a utility method that loads and returns the loaded tiles reference which u can read and modify easily?
heartw 1
09:43
let mut map_old = TwMap::parse_file(map1)?; map_old.load()?; let mut map_new = TwMap::parse_file(map2)?; map_new.load()?; let mut result = map_old.clone(); let map_old_game: &GameLayer = map_old.find_physics_layer().expect("couldn't find game layer"); let map_new_game: &GameLayer = map_new.find_physics_layer().expect("couldn't find game layer"); let tiles_old = match map_old_game.tiles() { twmap::CompressedData::Compressed(_, _, _) => unreachable!(), twmap::CompressedData::Loaded(x) => x, }; let tiles_new = match map_new_game.tiles() { twmap::CompressedData::Compressed(_, _, _) => unreachable!(), twmap::CompressedData::Loaded(x) => x, };
09:44
to reduce boilerplate on the match i mean
09:44
(hope im using it correctly)
Avatar
have you tried .load_conditionally(some_closure)?
09:45
and then you can just do find_physics_layer_mut() (if that exists ^^)
Avatar
finding the layer is not a problem
09:46
hm i cant find load_conditionally
09:46
my point is about the code in tiles_old and tiles_new
09:46
the match
Avatar
ah right, you do map.load() anyways, you can use unwrap[_mut]() on the CompressedData enum.
Avatar
ohh it has a unwrap
09:48
TIL
09:48
ye thats what i wanted
Avatar
maybe it should be renamed
09:49
to
09:49
get_loaded
09:49
unwrap is smth rust users like to avoid
09:49
well i do
09:49
xD
Avatar
I do think the decompression interface could be done in some nicer way, but I wanted to give the error enough context info so that you can find the exact layer in the map and identify if you just read the error message
09:51
due to mutability and this concern of mine, the first thing you do with the map is decompressing the parts of it which you want to access
09:51
so a later unwrap is fine there I think, else you didn't hold up your contract with twmap or smth :d
Avatar
ye it makes sense
09:52
i guess i should only load the tiles
09:52
does find_physics_layer work without loading on map?
Avatar
(though if you save the map again, it will decompress everything before saving anyways currently)
09:52
yes, but the tiles will stay compressed
Avatar
im porting and improving ravies map diff script
09:53
to rust
Avatar
oh nice, that tool seemed very useful :)
09:59
Avatar
@Patiga epic generics
10:14
i could abstract this for all layers
10:14
Avatar
poggers generics paying off
Avatar
cargo install ddnet-map-diff
10:18
A DDNet map diff tool made in Rust. Contribute to edg-l/ddnet-map-diff development by creating an account on GitHub.
10:19
i gotta run clippy pedantic
10:23
@Patiga would be fun to maybe put this as a command for the testing bot, and generate a image
10:23
i wonder who deals with this
Avatar
dcd86cb Use golden angle to generate unique, distinct DDTeam colors - Robyt3 ab58342 Merge pull request #7129 from Robyt3/Team-Color-Golden-Ratio - heinrich5991
Avatar
i wish c++ had better tooling
12:42
i wish to do cargo flamegraph on ddnet
12:42
and it work out of the box
Avatar
maybe clion can do that for you out of the box
Avatar
Avatar
heinrich5991
maybe clion can do that for you out of the box
too much bloat
12:43
and paid
Avatar
Do they rename to wlce? Xd
Avatar
you can probably get it for free because you're contributing to ddnet, not sure
12:51
i remembered u can visualize perf records with firefox
Avatar
why doesn't http://ger10.ddnet.org/ have an ssl certificate?
Avatar
It does
13:33
Use https
Avatar
works for me as well
Avatar
then why doesn't it have an https redirect?
Avatar
Avatar
Alexander
then why doesn't it have an https redirect?
No need
Avatar
i mean yeah it doesn't need it to function correctly but why not
Avatar
Because
14:57
14:57
hm unknown
14:58
how to get in debug symbols there
14:58
i compiled with relwithdeb
Avatar
wasnt there a command that automatically generated a link
15:00
then it worked for me
Avatar
!screenshot_2023-09-14_17-52-49 Only embedded images are allowed to be exported, but also embedded vanilla images.

Checklist

  • [x] Tested the change ingame
  • [x] 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 possib...
Avatar
i havent gotten the time to code it yet but im gonna make a program that sort of works side by side with an extension for adobe animate, that takes an array of points and does a bunch of math to them to output voronoi lines based on their positions
16:50
i just have to find a way to make it optimized for more than like 30 points because i made a basic mockup (including a renderer) in scratch and it was slow as fuck
16:50
maybe raw python code for Just the math would work fine
16:54
i almost want to try another language for this but i have no idea how memory works and tbh the last thing id want is a segfault
Avatar
I was spectating 2 people in the same team. When one of them left every other tee started blinking until other guy left. Camera was slowly moving somewhere and was returning to one place if i tried to move my mouse. https://github.com/ddnet/ddnet/assets/55580385/53f8f7b4-8b22-4464-905a-69de67e3e40b Discord message: https://discord.com/channels/252358080522747904/757720336274948198/1151928001701883966
Avatar
hey why isnt killing predicted btw
17:34
is it because of the spawns working in a funny way
Avatar
@Ryozuki lmao someone did a video about moving from unity to godot. He installed godot while starting an unity project issou
Avatar
@heinrich5991 @Robyt3 could one of you provide a calculation which i can use to translate the colors on my server to the new ones without a hardcoded map?
Avatar
Avatar
fokkonaut
@heinrich5991 @Robyt3 could one of you provide a calculation which i can use to translate the colors on my server to the new ones without a hardcoded map?
A hardcoded map seems like the best solution
Avatar
🗺
Avatar
[lazy_format!] is a format!-style macro which lazily formats its arguments. That is, rather than immediatly formatting them into a String (which is what format! does), it captures its arguments and returns an opaque struct with a Display implementation, so that the actual formatting can happen directly into its final destination buffer...
Avatar
Since the keys of the map are 1-64 you only need an array with the numbers in the second row of this image
18:02
That should give you a team that has a color similar to the old one (edited)
Avatar
Avatar
Robyt3
That should give you a team that has a color similar to the old one (edited)
yes
18:03
isnt it the same?
18:03
or at least unnoticable
Avatar
unnoticable, yes
18:04
Only team 1 is 100% the same
18:04
All others would be very unlikely
Avatar
I see
18:04
at least its somewhat a rainbow
Avatar
Does someone know what the dilate functions in image_manipulation.cppdo? Dilate seems to overwrite transparent pixels with the average color of its neighbours. But I dont see why you would want to do this
Avatar
Avatar
marmare_314
Does someone know what the dilate functions in image_manipulation.cppdo? Dilate seems to overwrite transparent pixels with the average color of its neighbours. But I dont see why you would want to do this
Extra tools are available for running some non-gaming-related tasks, like map optimization by mappers, or debugging and testing by developers. These tools must be run from command-line interface (e.g. Command Prompt on Windows or Terminal on Linux) either by adding their containing directory to the PATH variable or by running directly from the c...
Avatar
ah makes sense, thanks. I'm wondering if they could be optimized since they take up most of the time when adding images to the editor
Avatar
Dilate takes most of the time? I thought it would be the PNG decoding
Avatar
at least for basic_freeze it does
Avatar
Avatar
Robyt3
Since the keys of the map are 1-64 you only need an array with the numbers in the second row of this image
gonna be honest im against this, i like the old scoreboard being in a nice rainbow and like what if teams 1, 56 and 22 are close together? aint the problem still gonna be there?
18:29
though i would probably get used to it in like 2 days anyway lmao
Avatar
Also I'm confused about this comment and the functions taking a BPP argument // Seems safe for BPP = 3, 4 which we use. clang-analyzer seems to // assume being called with larger value. TODO: Can make this // safer anyway. How does it even make sense to apply this operation to RGB images?
Avatar
We only ever pass BPP=4 to the function anyway, could probably be removed if the parameter makes no sense and we already check before calling
Avatar
bug: when you open the game and close it while an error message is up then it wont close until the error message is gone and the background goes gray. im too lazy to report this on gh or check if it has already been fixed. can someone try this on a non-linux machine?
Avatar
Avatar
Teero
bug: when you open the game and close it while an error message is up then it wont close until the error message is gone and the background goes gray. im too lazy to report this on gh or check if it has already been fixed. can someone try this on a non-linux machine?
What kind of error message do you mean?
Avatar
for example the skin error messages for formats etc
18:43
the big red ones that pop up
18:43
ingame
Avatar
they block the exiting process
Avatar
just fix xd
Avatar
probably just some if statement but i have exams tmrw
18:47
atleast thats my excuse (edited)
Avatar
i mean just fix the error xD
Avatar
its the new pompom thing (edited)
18:48
btw whats up with the new "quitting please wait" thing before closing?
18:48
kinda gay if you ask me
Avatar
Avatar
Teero
bug: when you open the game and close it while an error message is up then it wont close until the error message is gone and the background goes gray. im too lazy to report this on gh or check if it has already been fixed. can someone try this on a non-linux machine?
Not quitting seems like the desired behavior, but the background going gray is a bug
18:49
Because the warning is shown when you quit and saving the config fails
18:50
Client needs to wait so the user has read the warning (edited)
Avatar
what if i dont have a mouse and want to quit the game? xd
Avatar
Press enter
Avatar
i cant click the button obviously
Avatar
Or escape
Avatar
that works?
18:50
k
Avatar
It should, otherwise it's a bug
Avatar
Avatar
Teero
its the new pompom thing (edited)
is that still a problem tho?
Avatar
All dialogs should be usable with enter and escape
Avatar
just wondering
Avatar
Avatar
Robyt3
All dialogs should be usable with enter and escape
seems like qutting twice also does the job
Avatar
Avatar
Jupstar ✪
just wondering
maybe its already fixed. havent updated anything
Avatar
good
Avatar
When using a bind or the console to use the quit command, the menu background turns grey but the client doesn't quit as long as a red fullscreen warning is shown (e.g. when images have an unsupported format, or when the config cannot be saved). Seems like the warning that the config could not be saved is shown after the client is already in quitting/restarting state.
Avatar
@Robyt3 when copy image to clipboard support for windows
19:14
then we can overload the printscreen key in fullscreen and save the image to clipboard
19:15
bcs windows is a joke and cant do that
19:15
lmao
Avatar
Does SDL3 still not have more clipboard API?
Avatar
i think they had an issue for that
Avatar
Windows already supports several clipboard formats, nobody added support to SDL yet
Avatar
we need to update to sdl3 because its a higher number
19:18
higher better
Avatar
The clipboard formats defined by the system are called standard clipboard formats. These clipboard formats are described in the following table.
Avatar
We could update to latest and likely last SDL2 version 2.28.3 though
Avatar
well windows always gives problems with sdl
Avatar
Looked mostly like bugfixes in the SDL changelog, so hopefully less issues
19:26
2.28 should be the last version of SDL2
19:27
After that there's an SDL3-bridge and eventually SDL3 itself
Avatar
perf issue here, bug there makes no fun xd
19:28
i bet sdl3 wont be stable until after 2 years after release
Avatar
another reason for rust
19:33
winit
19:33
the problem with sdl is it tackles all stuff
Avatar
Avatar
Ryozuki
winit
i used winit
Avatar
so if u have a bug cuz input u cant update everything else
19:33
in rust the ecosystem is more modular
Avatar
it sucks more than sdl, no front xD
Avatar
winit just does 1 thing
Avatar
yes that is good ideed
19:33
indeed
Avatar
ideed sounds better
Avatar
iJupstar
Avatar
ilovepiracy
Avatar
I've made 30+ splash screens for #GodotEngine users, they're all absolutely free to use in your project! 🤖 💾 Download: https://t.co/rSXICfL4Yy
Likes
1784
Retweets
261
21:18
i love that unity shat themselves
21:18
cuz its the best time for godot to become more fmaous
21:21
30k€ per month nice
Avatar
Rather you die a hero, or you live long enough to become the villain.
Avatar
Set DDNET_VERSION_NUMBER from DDNET_NETWORK_VERSION no matter what VERSION is. Provide get_network_version_number() which parses version to network version (can be useful for mods). Fixes https://github.com/ddnet/ddnet/pull/7153#issuecomment-1717561522
Exported 195 message(s)