Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories β€” IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2021-04-23 00:00:00Z and 2021-04-24 00:00:00Z
Avatar
20 kiloamps??? jesus
01:09
so much current
02:00
we predicted the projectiles with tunezones. why aren't we showing them with tunezones settings as well?
Avatar
Video demo: https://cdn.discordapp.com/attachments/293493549758939136/834971531464671252/2021-04-23_09-57-35.mp4 (notice the speed difference between player's shotgun bullets and the bouncing ones) Since TuneZones are known (baked into the map), and entities' position received are known. We have a pretty good reason, if the server is believed to make use of it (GAMEINFOFLAG_PREDICT_DDRACE_TILES), to make entities always reference TuneZone settings, even if they are not predicted. Intr...
Avatar
Feel free to test more cases, and I think we should get this tested before moving on to get characters works the same way which might needs some updates to gamecore which is 😫.
06:17
75d185c fix airjump for antiping - TsFreddie bef5dee Fix dummy's airjump trigger - TsFreddie f9430f7 Merge #3787 - bors[bot]
Avatar
Also I think it might be a good idea to get this to mappers before making it into release. Although it is not a new feature, but this may potentially encourage smaller tunezone which they can utilize. justatest
Avatar
[freenode] chillerdragon[m] BOT 2021-04-23 07:09:49Z
So Ryozuki are you pro tabs? Do you use it for all your projects?
Avatar
chilledragon tbh i dont care because neovim is smart + i have a plugin that auto adjusts
Avatar
Avatar
[freenode] chillerdragon[m]
37.59.55.192:9408 it says Blockworlds by 13x37 in /info :D
actually chiller this one isn't mine, my server is 34.77.60.48:8404
07:23
this ip is by m!ki
Avatar
Avatar
Ryozuki
chilledragon tbh i dont care because neovim is smart + i have a plugin that auto adjusts
is it really smart?
07:31
what about this code: namespace stuff { void function(unsigned int number_a, unsigned int number_b, unsigned int number_c, unsigned int number_d, unsigned int number_e, unsigned int number_f) { // something } }
07:31
07:31
this is the only correct formatting πŸ™‚
07:32
(in terms of tabs and spaces)
07:33
ignore the audio xd im watching spacex
Avatar
can you also show whitespace characters to check what it adds?
07:36
@Comrade are u sure what u sent has tabs
07:36
i think discord deleted them
Avatar
probably
Avatar
send a file directly
07:37
oh no πŸ˜„
07:37
discord automatically converts file to this thing
07:37
262 bytes
07:37
i mean
07:38
this tabs my vim introduces makes more sense
Avatar
well, if you try to push this to GitHub and view it there, you'll see that it's broken
Avatar
but thats github fault
07:39
sleuth.vim: Heuristically set buffer options. Contribute to tpope/vim-sleuth development by creating an account on GitHub.
Avatar
tab is not 4 spaces always
Avatar
with more code i think its more accurate
Avatar
but don't worry, i think all automatic tools fail to do indentation correctly in all cases
07:40
i format my rust code always
07:40
cargo fmt
Avatar
it's up to us humans πŸ˜„
Avatar
Avatar
heinrich5991
well, you kinda need it if you want to decompress the data
So that i can allocate that memory and save it in there? For the decompression algorithm itself the size is not needed, is it?
Avatar
Idea : a new tile that swap your state : id u are freeze, it unfreeze u, if u are not freeze, it freeze u. Same with deep
Avatar
Avatar
becc
So that i can allocate that memory and save it in there? For the decompression algorithm itself the size is not needed, is it?
iirc on low level langs like C++ you may need to allocate a buffer where the decompressed data goes and thats prob why its there
09:34
And aren't ItemOffsets kinda useless?
09:34
Since each item contains it's size
09:35
Or vice versa
Avatar
maybe its to access those items faster
09:38
idk
09:39
So you don't have to load everything to memory instantly
09:39
But you could skip itemsize then
Avatar
0d8d6c6 Add back temporary Brazil2 - def-
Avatar
Avatar
Ryozuki
rip
ugh u need to decrease the alpha of those tab/space indicators
Avatar
``` (gdb) bt #0 0x000056009d33cc36 in CGameTeams::ResetRoundState (this=this@entry=0x56009ee14b80, Team=Team@entry=64) at /home/teeworlds/src/master/src/game/server/teams.h:53 #1 0x000056009d33f93e in CGameTeams::OnCharacterDeath (this=0x56009ee14b80, ClientID=1, Weapon=Weapon@entry=-2) at /home/teeworlds/src/master/src/game/server/teams.cpp:879 #2 0x000056009d304d72 in CCharacter::Die (this=0x56009d3f84d0 , Killer=, Weapon=Weapon@entry=-2) at /home/teeworlds/src/master...
14:45
Thanks to Cøke for report

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 if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#...
Avatar
@becc yes, it's only needed for the allocation
15:53
@becc yes, there is some redundant data in data files
Avatar
Avatar
Ryozuki
iirc on low level langs like C++ you may need to allocate a buffer where the decompressed data goes and thats prob why its there
Even in higher level languages you usually want to reserve the space upfront if you can, less allocations the better
Avatar
Avatar
Learath2
Even in higher level languages you usually want to reserve the space upfront if you can, less allocations the better
i just thought he may be using python or smth
16:33
and i didnt meant it as a bad thing
16:33
pepe_straight
Avatar
I wonder if python lets you pre-allocate buffer space like this
Avatar
the way i check if a langs works like this is usually looking how udp sockets work
16:34
since they usually require buffers
16:34
well u probs just tell the recv size and it gives u the buffer
16:34
u dont have to do anything probs
16:35
(python)
Avatar
but I wonder if python would allocate the buffer at once
16:35
Some high level languages even given a buffer size like this prefer to use it as a max size instead
16:35
16:36
use std::net::UdpSocket; fn main() -> std::io::Result<()> { { let mut socket = UdpSocket::bind("127.0.0.1:34254")?; // Receives a single datagram message on the socket. If `buf` is too small to hold // the message, it will be cut off. let mut buf = [0; 10]; let (amt, src) = socket.recv_from(&mut buf)?; // Redeclare `buf` as slice of the received data and send reverse data back to origin. let buf = &mut buf[..amt]; buf.reverse(); socket.send_to(buf, &src)?; } // the socket is closed here Ok(()) } rust is more or less like c++
16:36
BASED
Avatar
okay python seems to allocate the entire buffer and doesn't do much magic before recvmsg
16:42
atleast CPython, idk about other implementations
Avatar
you cna pass your own buffer to a similarly named function
16:42
in py
Avatar
why does CPython have a GIL but jython and others not?
16:43
jython name looks so ugly
16:43
The GIL was invented because CPython’s memory management is not thread-safe. With only one thread running at a time, CPython can rest assured there will never be race conditions.
Avatar
How they still keep the GIL to this date is insane to me
Avatar
@Learath2 they dont want nobos to run into this maybe
16:44
since python is already the lang of nobos
16:44
idk
16:44
you can work around this with multiprocessing
Avatar
It's a very easy way to handle the memory management issue, true but there are many ways to do memory management that doesn't require the entire process to halt πŸ˜„
Avatar
multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads.
Avatar
That's a decent workaround
16:46
might not be the friendliest thing to modern cpu schedulers though
16:46
from what I've heard they are aware of the concept of threads and handle them differently nowadays
Avatar
the only thing i like about java is when you get the inheritance stuff right and everything seems to fall in place easily, it feels rly good
16:47
coffee
Avatar
Hm, the inheritence in C++ is similar imo and less cancer than java
Avatar
well yeah i guess
16:47
i never worked on a project with lot of oop in c++
Avatar
The thing I enjoy about java is that it's easy to prototype with
Avatar
and ddnet is a mess
Avatar
And a very pretty functional programming interface imo, I think I told you before how much I enjoy javas streams
Avatar
yeah im using java streams a lot
Avatar
(not amazing at performance though)
16:49
im doing a grave sin
Avatar
things like .parallelStream().filter() are actually quite nice
Avatar
im using google firebase
16:49
pepe_straight
Avatar
Never used firebase, is it nice?
Avatar
its too easy
16:50
google knows their stuff
16:50
xd
16:50
10 mins and u have authentication for ur app
16:50
monkaS
Avatar
Hm, I've been wanting to do my own authentication thing sometime. I just don't really like the solutions out there
16:51
I want something I can refer to when I have to do authentication, maybe a symfony module
Avatar
@Learath2 ur solution will probs not provide this many methods
16:51
or it will take u lot of time
Avatar
Well usually these all conform to the oauth standard
16:52
so adding a new provider is usually as trivial as adding a new url to a list
Avatar
monkaS u only add the analytics dep and u have all this
16:52
monkaS
Avatar
Avatar
Ryozuki
monkaS u only add the analytics dep and u have all this
cool, do they have debugging stuff aswell?
Avatar
Avatar
Learath2
And a very pretty functional programming interface imo, I think I told you before how much I enjoy javas streams
Java Streams API is just nice
Avatar
any modern lang has that stream api in some kind of form
16:53
it was just java being late to the party
Avatar
Avatar
Ryozuki
any modern lang has that stream api in some kind of form
I think python has the worst form of it, followed very closely by C++
16:55
The prettiest is probably either JS or Java
Avatar
rust ones are 1st class and they usually compile better than user made for loops
Avatar
rust numero uno
Avatar
I haven't used them much in rust yet. I'm thinking of making a backend with actix to learn more rust
Avatar
Kotlin Sequences are nice as well (edited)
Avatar
@Learath2 https://doc.rust-lang.org/std/iter/trait.Iterator.html check all the methods on the left side
API documentation for the Rust Iterator trait in crate std.
Avatar
Avatar
becc
Kotlin Sequences are nice as well (edited)
Kotlin is running in the JVM too, right? I guess it'd be similar to Java's
Avatar
Yep, it's compiling to Bytecode
Avatar
(at the very least in terms of performance characteristics)
17:00
Honestly when I do mobile apps it's all in react-native nowadays, I genuinely don't really have a reason to learn either Kotlin or Swift
Avatar
@Learath2 android studio is really well made tbh
Avatar
For the rare cases where I want some native functionality that's not implemented yet or has an implementation I don't like, I just go to Java and Objective-C
Avatar
I really like Java or meanwhile Kotlin is my favourite. I'm doing a lot of things with because most of my stuff doesn't need the fastest execution time or most efficient memory management.
17:02
Im only writing Android Apps and the native support with Kotlin is excellent - can't compare to React (no experience)
Avatar
rust is my favourite and its fast and memory efficient
Avatar
How can you compare to React if you haven't experienced react? πŸ˜„
Avatar
Avatar
Learath2
How can you compare to React if you haven't experienced react? πŸ˜„
who
Avatar
Avatar
becc
Im only writing Android Apps and the native support with Kotlin is excellent - can't compare to React (no experience)
^^
Avatar
Well I used React for Websites
17:03
I don't like the JSX syntax
Avatar
Avatar
becc
Im only writing Android Apps and the native support with Kotlin is excellent - can't compare to React (no experience)
yeah kotlin will obviously be good since google wants to get rid of java
17:03
for android
Avatar
Now the react ideology and syntax we can argue about all day, I really don't enjoy it either, but I can easily get a very native looking application with actual native transitions in react in about no time
17:03
Kotlin I'd guess offers a similar turn around, but I honestly find no need for it
17:04
maybe if I was starting out with mobile development today I could prefer Kotlin
Avatar
I never tried React Native because I only did a few small personal projects only for mobile
17:04
And I am using android
17:04
So Kotlin is perfect - And i am not that unexperienced with Kotlin
Avatar
I made apps for startups, one great thing with react-native is that I can basically just use the same "inner workings" for the website
17:06
I just have to worry about the presentation layer and the business logic is already implemented once, absolutely brilliant for maintainance
Avatar
Celebrating 10 years of the Cycles render engine, and sharing what is next.
Avatar
The reasons why I'm asking a lot about datafiles/maps is because I am trying to implement a small map-parser in Kotlin (Datafile reading is successfully already - no ddnet support yet)
Avatar
blender is probably my favourite example of opensource success
Avatar
It's unbelievable how good it has gotten over the last years
17:07
s/last/last couple/
17:07
another example
Avatar
Avatar
becc
The reasons why I'm asking a lot about datafiles/maps is because I am trying to implement a small map-parser in Kotlin (Datafile reading is successfully already - no ddnet support yet)
Oooh, what are you making?
Avatar
they also made a post ytesterday
Avatar
In conclusion, the answer to the question "why is Lichess free?" is very simple. Why wouldn’t it be? Our only goal is to have the best website possible. To that end, adding ads, paywalls, or trackers would make no sense.
props to these guys aswell, amazing project
17:09
it's also far superior to any other chess site out there, it works perfectly and looks extremely pretty
Avatar
Avatar
Learath2
Oooh, what are you making?
just playing round a bit :o
Avatar
And only datafiles yet - no more information
17:32
Still trying to understand the Teeworlds Code - C++ can be kinda weird
Avatar
teeworlds is barely C++, it's more C
19:13
title might be a bit clickbaity, sorry
Avatar
We are fortunate that so many people choose Chrome as their browser to get things done, which is why we are continually investing in making ...
19:25
quite hard to find bugs like that, I'm surprised that they did find that one
Avatar
b94fbc9 Add 50 € donation by Im 'corneum (Message: Bruder Gib Admin PW) - def-
troll 3
πŸ’– 2
22:43
i caught this in time
22:43
i probs wont do anything tho
22:44
but i always catch this after 2 days it started
22:44
PepeA
Avatar
@Ryozuki when win this
Avatar
it sucks that it starts at 3 am
22:45
such an american time
Avatar
do u have to start working on your project at 3 am?
22:45
i though its just when event starts
Avatar
well no
22:45
u can start before
22:46
"You’re free to start with any base-code you may have."
22:46
but whats the point
22:46
the thing about this is to make a game in 72 hours
Avatar
.-. seems like not really a jam then
Avatar
@lynn it is a jam
22:46
i think this is more to not limit ppl
Avatar
nono i mean (edited)
Avatar
also most jams are like t his
Avatar
the fact they allow starting code
22:46
ah
Avatar
u cant rly forbid this
22:46
nobody knows if u made this code before or not
Avatar
yeah true
Avatar
it's more about being true to urself i guess
22:47
BASED
22:47
i see
22:48
its a jam/compo
22:48
the jam u can use code before
22:48
the compo is alone and all from scratch
22:48
Exported 226 message(s)