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-08-31 00:00:00Z and 2023-09-01 00:00:00Z
Avatar
Avatar
Ewan
should i split up the file loader for the assets into each type of asset (allowing you to pick & choose which type of assets to load if that ever became a necessity) or do it all at once
i still think choosing your own seperate packs for type of element should stay
01:05
i can make any updates nessecary to my slicer
Avatar
Avatar
Voxel
i still think choosing your own seperate packs for type of element should stay
huh
01:54
i don’t think we are talking about the same thing
Avatar
1a79862 Update translation stats - def-
Avatar
Avatar
Ewan
should i split up the file loader for the assets into each type of asset (allowing you to pick & choose which type of assets to load if that ever became a necessity) or do it all at once
I don't know if you mean files in general or only the "assets" like game, hud etc., but I suppose the loader should support loading any file (e.g. themes) by using generic callback/overridden functions for the relevant steps. I don't think it's necessary to split it into multiple files though, unless the files gets too large.
Avatar
Avatar
Ewan
menus_settings_assets not being its own component really is kind of a bummer because i could totally use that stuff
First extract the parts that you want to use and make them more generic, then use them there? The file loader should not have to be aware internally of different assets like game, hud etc. (edited)
Avatar
Avatar
Robyt3
I don't know if you mean files in general or only the "assets" like game, hud etc., but I suppose the loader should support loading any file (e.g. themes) by using generic callback/overridden functions for the relevant steps. I don't think it's necessary to split it into multiple files though, unless the files gets too large.
i mean how should i accommodate in the assets code using the file loader. all /assets or split per type
Avatar
Avatar
Robyt3
First extract the parts that you want to use and make them more generic, then use them there? The file loader should not have to be aware internally of different assets like game, hud etc. (edited)
Yeah it’s just obtuse to code with. Not having a dedicated header
Avatar
Avatar
Ewan
i mean how should i accommodate in the assets code using the file loader. all /assets or split per type
Only load each type lazily when it's needed, same as before, I'd say
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 (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/#using-ad...
Avatar
chiller you a landlord now
08:41
err
08:41
tenant
Avatar
Avatar
GitHub
Click to see attachment 🖼️
GP and RE are a part of France, and their official flag is the same as the well-known French tricolor flag. 🇫🇷 justatest
08:44
Funnily enough, the replacements are "unofficial, unused flags" according to wikipedia
Avatar
ChillerDragon BOT 2023-08-31 08:50:53Z
@Ewan stop leak my dms
Avatar
ChillerDragon BOT 2023-08-31 08:51:09Z
np
Avatar
Rust continues to top the charts as the most admired and desired language by developers, and in this post, we dive a little deeper into how (and why) Rust is stealing the hearts of developers around the world.
09:19
github blog
09:20
09:20
why c++ doesnt have a cute mascot
09:26
Graph-oriented live coding language and music/audio DSP library written in Rust - GitHub - chaosprint/glicol: Graph-oriented live coding language and music/audio DSP library written in Rust
09:27
this is legit cool
Avatar
while on the subject of music (music production?) do you know any good DAW which is opensource? (and free?) (edited)
09:50
I'm looking at Ardour and Zrythm which are opensource but not free (they need to be paid to get access to the full binary). I wouldn't have any problems compiling them for myself but I am searching a good one for my sister (she is a windows user). I'm also looking at REAPER and LMMS which are opensource and have free binaries edit: REAPER isn't free :/ or open source dunno how I missed it 😅 (edited)
Avatar
ChillerDragon BOT 2023-08-31 10:25:13Z
epic i crashed gdb
10:25
time to run gdb with gdb
Avatar
ChillerDragon BOT 2023-08-31 10:26:02Z
10:26
i blame rust
Avatar
Xdd
10:29
Thanks for beta testing btw
Avatar
ChillerDragon BOT 2023-08-31 10:30:03Z
wot beta
10:30
i use debian BTW
Avatar
Avatar
Mr.Gh0s7
I'm looking at Ardour and Zrythm which are opensource but not free (they need to be paid to get access to the full binary). I wouldn't have any problems compiling them for myself but I am searching a good one for my sister (she is a windows user). I'm also looking at REAPER and LMMS which are opensource and have free binaries edit: REAPER isn't free :/ or open source dunno how I missed it 😅 (edited)
Hmm it seems my best choice is Zrythm. I should cross-compile it then
Avatar
Oh you use Debian.. shit I'm affected too
Avatar
ChillerDragon BOT 2023-08-31 10:31:22Z
idk u can try
10:31
goto ddnet src code
10:31
release doesnt work
10:31
run ddnet client with gdb
Avatar
I'm no computer rn
Avatar
ChillerDragon BOT 2023-08-31 10:31:46Z
type in break g then press tab
10:31
profit
Avatar
Also i use debian sid
Avatar
ChillerDragon BOT 2023-08-31 10:31:57Z
kid
Avatar
U use debian experimental?
Avatar
ChillerDragon BOT 2023-08-31 10:32:16Z
idk the whole breakpoint thing seems broken
10:32
i use bookworm
10:32
like a tru debianer
10:32
debianest
Avatar
Btw
Avatar
ChillerDragon BOT 2023-08-31 10:33:23Z
i used to go game<tab> and put a breakpoint in gameclient.cpp :c
10:33
now it only shows rust virus and crashes gdb
Avatar
Well then report the bug, after fixing it
10:33
Try to abuse it xd
Avatar
ChillerDragon BOT 2023-08-31 10:34:03Z
fix is removing rust
Avatar
Ok
Avatar
ChillerDragon BOT 2023-08-31 10:34:11Z
works fine in vanilla
Avatar
With rust u wouldn't even need the debugger from ryo in 3 2 1
Avatar
ChillerDragon BOT 2023-08-31 10:34:49Z
axaxax
10:35
10:35
fakin cow.rs
10:36
10:36
cow.rs be like
Avatar
gdb is quite unstable
Avatar
ChillerDragon BOT 2023-08-31 10:59:06Z
wot thats news to me
10:59
heinrich biased rust fanboi axaxax
Avatar
have you not had it crash over random programs?
11:00
and generally, when a debugger crashes, whose fault is it? the one of the debugged program? or of the debugger? ^^
Avatar
ChillerDragon BOT 2023-08-31 11:02:31Z
i never had gdb crash before
11:02
and its ofc rust bridge fault
11:02
hrhrhrhr
Avatar
Avatar
ChillerDragon
i never had gdb crash before
I can't say I have either. I've had plugins crash it though
Avatar
ChillerDragon BOT 2023-08-31 11:04:02Z
leet hax0r ctf gdb plugger
11:04
lerato seems like we are not gdbing enough!
Avatar
TIL fn main() { break rust; }
Avatar
ChillerDragon BOT 2023-08-31 11:05:02Z
error: break statement not within loop or switch
Avatar
Yeah apparently 😄
Avatar
ChillerDragon BOT 2023-08-31 11:05:42Z
one day i wanna be gdbing like heinrich and patch running tw servers to update the map
11:05
still waiting for that writeup heinrich
Avatar
Avatar
ChillerDragon
one day i wanna be gdbing like heinrich and patch running tw servers to update the map
I've gdb'd stuff like that before, I used it to enable cheats on a production server 😄
Avatar
ChillerDragon BOT 2023-08-31 11:06:40Z
ah heinrich now i get it it shows funny messages :D
11:06
those were not shown in my rust repl
11:07
very pog lerato!
Avatar
Avatar
Learath2
I've gdb'd stuff like that before, I used it to enable cheats on a production server 😄
that's illegal!
Avatar
Map was unfinishable anyway, we just live tested to figure out the bug
Avatar
what are envelopes in mapping thonk
Avatar
not sure why they have the name 'envelopes'. they can be used to animate position, color or something else of quads
Avatar
ok, thanks :D
Avatar
Avatar
heinrich5991
not sure why they have the name 'envelopes'. they can be used to animate position, color or something else of quads
tbh thats a pretty typical name for what it is
Avatar
never heard it outside of teeworlds ^^
11:12
got a link?
Avatar
In sound and music, an envelope describes how a sound changes over time. For example, a piano key, when struck and held, creates a near-immediate initial sound which gradually decreases in volume to zero. An envelope may relate to elements such as amplitude (volume), frequency (with the use of filters) or pitch. Envelope generators, which allow...
Avatar
interesting ^^
Avatar
Avatar
heinrich5991
TIL fn main() { break rust; }
Nice, i get a German train for breaking rust xd
11:16
Would you like to get some ICE
Avatar
ChillerDragon BOT 2023-08-31 11:33:42Z
Hmm i somehow expected when watching a demo to see the demo timestamps in the log
11:33
but i guess it doesnt make sense xd
Avatar
can i copy maps from downloadedmaps and have them in my repo on gh or... no? o.0 (edited)
Avatar
1. Chat history disappears completely (only visually) when closing the console while the chat input is active with cl_showchat 1. 2. When chat input is active with cl_showchat 1, messages in the history still fade out, even though all messages should be shown the entire time when the chat input is active.
Avatar
my coworker crashes gdb and lldb all the time xd
11:54
but well we did weirder stuff
11:55
(debugging a program from ur own compiler)
11:55
for example
Avatar
At some point vanilla teeworlds crashed my compiler
Avatar
btw isnt rust-lldb better for debugging rust
11:55
rust provided lldb
11:56
it does stuff
11:59
ChillerDragon i think u just need to find the address of the variable u want to change and change it
11:59
i think for the map cheats its the g_Config test one
Avatar
Avatar
MilkeeyCat
can i copy maps from downloadedmaps and have them in my repo on gh or... no? o.0 (edited)
Hard to say. Theoretically you don't own the right on the property, but i guess for maps from ddnet nobody would complain. Just ask yourself if you really need to host them in first place. Heinrich already hosts a huge map archive
Avatar
can anybody else say they made a programming lang here?
12:04
gigachad
12:05
14.89 KB
Avatar
Avatar
murpi
GP and RE are a part of France, and their official flag is the same as the well-known French tricolor flag. 🇫🇷 justatest
The original flags for GP and RE were also unofficial, it only updates the unofficial flags to their latest accepted versions
Avatar
Avatar
Jupstar ✪
Hard to say. Theoretically you don't own the right on the property, but i guess for maps from ddnet nobody would complain. Just ask yourself if you really need to host them in first place. Heinrich already hosts a huge map archive
im just making aaaa eeeh like parser for demos and maps and asking can i leave those maps in repo or just add them in git ignore :D
Avatar
Avatar
MilkeeyCat
im just making aaaa eeeh like parser for demos and maps and asking can i leave those maps in repo or just add them in git ignore :D
Use the entire maps repository as a git submodule justatest
12:07
optimized
12:07
xd
Avatar
Avatar
MilkeeyCat
im just making aaaa eeeh like parser for demos and maps and asking can i leave those maps in repo or just add them in git ignore :D
a map parser?
12:10
did u try twmaps
12:10
it has python bindings
Avatar
i need js pepeW
12:12
and thats the place where im yoinking code from
12:29
136€ for a book considered a classic for compilers
12:29
i love capitalism
Avatar
Avatar
Ryozuki
can anybody else say they made a programming lang here?
I made a very shitty AST interpreter before I knew compiler theory. but it was pretty shitty ^^
Avatar
Avatar
heinrich5991
I made a very shitty AST interpreter before I knew compiler theory. but it was pretty shitty ^^
nice
12:30
next time use llvm
12:30
personally what i struggle with is not codegen
12:30
but type checking xd
12:30
i need to refactor my code again i feel
Avatar
Avatar
MilkeeyCat
and thats the place where im yoinking code from
adding maps to a github repository is a bad idea, generally
12:33
git does not cope well with binary files in repositories
Avatar
chiller and his bots
Avatar
Avatar
heinrich5991
git does not cope well with binary files in repositories
git-lfs
Avatar
that's an addon @MilkeeyCat was likely not talking about. I suggest to suggest it to @MilkeeyCat, nto me
12:37
I do not have experience using it btw
Avatar
its an addon but it comes with git iirc
12:37
and githubv supports it
12:38
Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.
Avatar
It stores large files, revolutionary
Avatar
ChillerDragon BOT 2023-08-31 12:50:41Z
no proof
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
ok apparently this is a book used in $$$ universities like stanford
13:33
so as part of the university ponzi scheme it is priced like this
13:33
@Learath2 kek
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
Library Genesis (Libgen) is a file-sharing based shadow library website for scholarly journal articles, academic and general-interest books, images, comics, audiobooks, and magazines. The site enables free access to content that is otherwise paywalled or not digitized elsewhere. Libgen describes itself as a "links aggregator", providing a search...
Avatar
i see i need to see how to get there
13:36
but part of me wanted to have it physically
13:36
i like collecting programming books
13:36
when i have a apartment myself i want to have them all there
13:36
and ill surround the c++ books with rust ones
13:37
so the unsafe doesnt leak
13:37
gigachad
Avatar
Avatar
Ryozuki
i see i need to see how to get there
the wikipdia infobox tells you how to
Avatar
do u have a onion url
13:37
of libgen
13:38
HTTP 451 Unavailable For Legal Reasons
13:38
ok a mirror worked
13:42
i used to have ipfs locally
13:42
and a mirror of my web
13:42
time to get it back
13:45
IPFS: InterPlanetary File System
13:45
such a cool name
13:45
@heinrich5991 ever used ipfs? what client u use?
13:45
i seen kubo
Avatar
cool name, but probably doesn't scale that way
13:46
because it can't cope with large ping times, but speed of light is only so fast
Avatar
Avatar
Ryozuki
@heinrich5991 ever used ipfs? what client u use?
I think I experimented with ipfs once, probably official client
13:47
otherwise I just used the cloudflare ipfs gateway IIRC
Avatar
Avatar
heinrich5991
I think I experimented with ipfs once, probably official client
i mean whats the oficial client
13:47
there is nothing meant to be oficial in a distributed thing like this
13:47
but kubo used to be called go-ipfs
13:47
probs the oficial one
Avatar
I thought about allowing to download teeworlds maps from ipfs
13:47
but scrapped it due to IP address leaking concerns
Avatar
Avatar
Ryozuki
but kubo used to be called go-ipfs
the one advertised on the official ipfs page: https://docs.ipfs.tech/how-to/command-line-quick-start/. apparently, it's kubo
Initialize a Kubo node repository, take your node online, interact with the IPFS network, and view the web console on your local node using IPFS Desktop
Avatar
ok nice
13:48
im gonna put ddnet in ipfs
13:48
probs already is there
Avatar
what part of ddnet?
Avatar
ba09a3a Update country flags by JuralBOZO (fixes #7090) - def- 0da5004 Merge pull request #7114 from def-/pr-country-flags - heinrich5991
Avatar
it seems to be a worse bittorrent in some ways
13:53
you can't partially download files AFAIK
Avatar
Avatar
heinrich5991
it seems to be a worse bittorrent in some ways
i think ipfs allows serving websites
13:54
and other stuff
13:55
IPFS builds on top of IPLD by describing a format for data to represent files and combines it with it's p2p network to publish and load files. Unlike BitTorrent, if two datasets in IPFS contain the same data, it's easy to share peers between them to find data and to deduplicate storing this data on disk.
Avatar
ah
13:55
deduplicaton might be a differentiator
13:55
other than that, all that stuff is possible with torrents as well
13:55
and with torrents, you can download partial files
Avatar
Avatar
Ryozuki
IPFS builds on top of IPLD by describing a format for data to represent files and combines it with it's p2p network to publish and load files. Unlike BitTorrent, if two datasets in IPFS contain the same data, it's easy to share peers between them to find data and to deduplicate storing this data on disk.
it's → its btw
Avatar
IPFS has a couple of approaches to links. Primarily they use Content Identifiers, AKA CIDs, with two ways of turning them into links. In a lot of places they make use of /ipfs/{CID}/ style URLs which are made to be easy to convert to paths within IPFS gateways and mirrors the underlying Libp2p multiaddress format which uses paths with a "type" prefix. However, more recently IPFS has been using ipfs://{CID} URLs which have had some growing pains based on the encoding of the CID. Initially, IPFS was using the CIDv0 spec that is based on the Base58 Bitcoin encoding for the data which is case sensitive. This caused problems with loading IPFS URLs in browsers since the hostname portion of a URL is case insensitive and generally gets converted to lowercase when parsed within a browser. From that lesson, they started migrating to CIDv1 which defaults to base32 encoding that uses all lowercase characters. There's still some growing pains when people try to use CIDv0 style links that are the default in order tools, so if you have a URL that starts with Qm, you might want to update it with a CID inspector In addition to IPFS links, there are also IPNS links which can make use of public keys or DNS names instead of CIDs, like ipns://{Public Key or DNS}/. The DNS functionality comes from the DNSLink standard.
13:56
This post will compare several peer to peer protocols by looking at how they work and the tradeoffs that one should consider when choosing one of them. We will specifically be looking at BitTorrent, IPFS, Secure Scuttlebutt (SSB) and [Hypercore](https://hyper...
13:57
IPFS is similar to bittorent in that it operates on Merkle Trees, but instead of grouping data together under a single infohash, it focuses on addressing each chunk of data individually.
>
IPFS uses a data format called IPLD (Interplanetary Linked Data) which takes Merkle Dags to the next level by creating a powerful data model with different "types" and ways of traversing data.
>
IPFS builds on top of IPLD by describing a format for data to represent files and combines it with it's p2p network to publish and load files.
>
Unlike BitTorrent, if two datasets in IPFS contain the same data, it's easy to share peers between them to find data and to deduplicate storing this data on disk.
>
Like BitTorrent, IPFS datasets can be referenced using the hash of the root of their merkle dag which they call the CID (Content IDentifier), and in order to change any data, you will need to generate and share a new CID. Unlike bittorrent the formats of the hashes used for CIDs are flexible and the same bit of data can use different hashes. The different hash functions and encodings are defined in the multiformats specification.
>
Another advantage of IPFS over BitTorrent is that large datasets can be handled by sparsely loading just the chunks that you need as you traverse the merkle dag. E.g. if you have millions of files, but only need one, you can traverse the graph just accross the nodes that point to that file and ignore the rest of the dataset. However, this sparseness can be slower since you will need to wait for individual nodes along the path to be fetched from the network as you traverse the dataset.
>
IPFS stores data with "repositories" or "block stores" which can be configured to store data in various formats. These formats are typically very different from the file data they represent so it's a lot harder to mirror an IPFS dataset directly to the filesystem, and doing so will require storing data both inside IPFS's blockstore and on your filesystem, potentially duplicating the amount of storage necessary for using with other apps. Generally, the "blockstore" handles storing binary data which represents the encoded IPLD nodes or raw buffers so it can be very space efficient whe combined with deduplication.
13:57
the interesting bit probs
Avatar
Another advantage of IPFS over BitTorrent is that large datasets can be handled by sparsely loading just the chunks that you need as you traverse the merkle dag. E.g. if you have millions of files, but only need one, you can traverse the graph just accross the nodes that point to that file and ignore the rest of the dataset. However, this sparseness can be slower since you will need to wait for individual nodes along the path to be fetched from the network as you traverse the dataset.
I think that's a advantage of bittorrent over ipfs, you can load files partially with bittorrent, but not with ipfs
Avatar
hmm doesnt it say u can ignore the rest but 1 file
14:00
it just says u need to wait for individual nodes to be fetched, whathever that means
Avatar
you can download individual files
14:00
just like in bittorrent
14:00
but you can't download parts of files
14:00
AFAIK
Avatar
another thing of ipfs
14:01
What's interesting is that in addition to TCP and UDP for connecting peers, it can seamlessly integrate other transports like QUIC which can have better perfromance and security guarantees than TCP and WebRTC which can easily bridge web browsers to the rest of the network. In fact, there's even support for connecting peers over a device's Bluetooth connection.
Avatar
Avatar
heinrich5991
but you can't download parts of files
ah i see
14:01
did u encounter that use case?
Avatar
well, it's very nice that you can figure out that the peer is malicious before you downloaded a 2 GiB file (edited)
Avatar
why does ipfs exist then
14:04
hmm
Avatar
hm. sometimes new projects come to life just because the creator wanted to create something new
14:06
I guess the differences are, so far: deduplication by whole-file-hash in ipfs and partial file downloads in bittorrent
Avatar
Since we started using the merge queue, issues are not getting closed automatically anymore when PRs are merged where the closing keyword is in the title of the commit/PR (e.g. #7114). It works when the closing keyword is in the body of the commit or in the PR description (e.g. #7100). Not sure we can do anything about this, since it's pr...
Avatar
In sociology, the third place refers to the social surroundings that are separate from the two usual social environments of home ("first place") and the workplace ("second place"). Examples of third places include churches, cafes, clubs, public libraries, gyms, bookstores, stoops and parks. In his book The Great Good Place (1989), Ray Oldenburg ...
Avatar
ChillerDragon BOT 2023-08-31 16:19:23Z
watefek 3rd place ryo
16:19
i rate this uncontextualized wikipedia article 2/10
16:45
ddnet is a third place
Avatar
@Robyt3 opengl crash in #general, few recent crashes in vulkan in #bugs do you think we had a commit lately that could be related?
17:21
0x0000000140007174: CCommandProcessorFragment_OpenGL::RunCommand(CCommandBuffer::SCommand const*) at src/engine/client/backend/opengl/backend_opengl.cpp:1131 0x0000000140018466: CCommandProcessor_SDL_GL::RunBuffer(CCommandBuffer*) at src/engine/client/backend_sdl.cpp:336 0x000000014001481b: CGraphicsBackend_Threaded::ThreadFunc(void*) at src/engine/client/backend_sdl.cpp:65 0x00000001401ddfba: CWindowsComLifecycle::~CWindowsComLifecycle() at src/base/system.cpp:4597 (inlined by) thread_run at src/base/system.cpp:865
Avatar
yeah, seems weird
17:21
line 1131 is return ERunCommandReturnTypes::RUN_COMMAND_COMMAND_HANDLED; at this git revision
Avatar
but the destructor
17:22
is what confuses me
17:22
wtf is CWindowsComLifecycle
Avatar
that's often in there
17:23
it's just because of inlining or something I guess
17:23
CWindowsComLifecycle is a RAII wrapper for Windows COM functions
Avatar
Closes #7115.

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/...
18:33
38ad2e9 Update Swedish Translations - furo321 c139ae0 Merge pull request #7106 from furo321/pr_update_swedish_translations - Robyt3
Avatar
Hey devs, could you add feature to the next update where it is possible to lock the camera of the player to a specific point (as well as the zoom) after he entered a zone. If he leaves to zone it'll morph (time adjustable) back to follow player and the zoom they had. This could improve gameplay/ make it more interesting. (edited)
Avatar
Closes #7088.

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 affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/...
Avatar
chillerdragon BOT 2023-08-31 19:47:30Z
@heinrich5991: I wrote you some irc dm idk if you responded didn’t check since the morning
19:48
Dunno bout that
Replying to @Ryozuki ddnet is a third place
19:48
Café, gym, ddnet
19:48
Xd
Avatar
Avatar
chillerdragon
Café, gym, ddnet
thats my life rn
19:49
well its ddnet/dota/ff
Avatar
chillerdragon BOT 2023-08-31 19:52:10Z
:D
Avatar
ddnet/ddnet/ddnet
20:14
@ChillerDragon did you fell motivated by my motivational speech?
Avatar
if the summer changed to winter yours is no disgrace
Avatar
Saving indicator in the editor: https://github.com/ddnet/ddnet/assets/23437060/a71197a0-cdaa-4fc1-a28b-94e195c337f6 Supports indeterminate progress (spinning) and determinate progress (showing a percentage): https://github.com/ddnet/ddnet/assets/23437060/345469c7-a17a-4147-af8f-d3a6225918f9 Could eventually also be used when assets are being loaded in the background (#6727) or to visualize the remaining callvote time.

Checklist

  • [X] Tested the change ingame
  • [X] Provid...
Avatar
87a0461 Disable server browser hotkeys when popup menu is open - Robyt3 6733900 Merge pull request #7118 from Robyt3/Browser-Hotkeys-Popup - def-
Exported 261 message(s)