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 2023-05-11 00:00:00Z and 2023-05-12 00:00:00Z
Avatar
anyone know who runs the unique servers
Avatar
Unique clan
Avatar
Unique © 2014-2023 Tezcan, timakro & Ryozuki
Avatar
i wanna see about hosting a usa server
Avatar
b3ddc52 A Hostile 3 - ddnet-maps 73b8a85 A Pogo - ddnet-maps
Avatar
Note: This is a fairly long proposal, halfway to an eRFC, largely to lay out the requirements and alternatives. It's been reviewed and approved by T-lang from a language experiment point of vie...
06:33
interesting
Avatar
did u guys fix that timeptr crash in the editor
07:17
(which doesn't happen on mingw)
Avatar
Avatar
Ewan
did u guys fix that timeptr crash in the editor
No
Avatar
Avatar
Ewan
i wanna see about hosting a usa server
thoughts on this ryozuki
08:19
i posted in the unique server as well
08:19
idk how involved u are xd
08:19
idk who's in charge over there
Avatar
@Jupstar ✪ lol contributors is updated on the gh app but not browser for me
08:22
08:22
or idk
Avatar
Avatar
Ewan
idk how involved u are xd
timakro hosts the sv
Avatar
Avatar
Ryozuki
@Jupstar ✪ lol contributors is updated on the gh app but not browser for me
Looks like before to me
08:27
Ok you are more up
08:27
Gg
Avatar
Thu May 11 10:38:18 2023 >>> www-client/firefox-113.0 merge time: 13 minutes and 8 seconds.
08:39
not bad
08:39
hi from latest firefox
Avatar
Avatar
Jupstar ✪
Ok you are more up
i would be after learath in the web
Avatar
Avatar
Ryozuki
Thu May 11 10:38:18 2023 >>> www-client/firefox-113.0 merge time: 13 minutes and 8 seconds.
Uff 13 min
Avatar
idk how long the cache lasts
Avatar
Avatar
Jupstar ✪
Uff 13 min
its pretty good for firefox
Avatar
13 min for few code changes xd
Avatar
i compile it on a tmpfs too
08:42
xd ye
08:42
@Jupstar ✪ well i havent looked if firefox supports ccache
Avatar
I really wonder what the journey of browsers will be xd
Avatar
im gonna continue my work adding postgresql support for ddnet
Avatar
Adding infinite features can't work for ever
Avatar
maybe that also allows deen materialized views stuff since its psql related
08:44
xd
Avatar
Avatar
Ryozuki
im gonna continue my work adding postgresql support for ddnet
Epic
Avatar
i thought about maybe using a bit of rust here
08:44
but idk if this will make it more complicated
08:44
it would be awesome to get a tokio runtime running in the sv
08:45
(i know its not needed for the db)
08:45
tokio runtime would allow us to have easy multithreaded http requests, database, and maybe even grpc
Avatar
Depends. Should be okish if the split from db code and game logic is clean enough
Avatar
it is not bad rn
08:46
the db interface is not badf
08:46
also the psql C api looks wayyy better than the mysql
08:46
for instance u dont need to init anything and manage if u inited or not with a atomic/lock xd
08:47
and its thread safe iirc
pepeH 1
08:47
libpq is thread-safe as of PostgreSQL 7.0, so long as no two threads attempt to manipulate the same PGconn object at the same time.
08:49
A long-running debate in computer science known as the Protocol Wars occurred from the 1970s to the 1990s when engineers, organizations and nations became polarized over the issue of which communication protocol would result in the best and most robust computer networks. This culminated in the Internet–OSI Standards War in the late 1980s and ear...
Avatar
Avatar
Ryozuki
also the psql C api looks wayyy better than the mysql
But obv u would never touch this api
09:31
That would be a self kill
Avatar
Bindings don't make themselves
Avatar
i touched the api
09:35
justatest
Avatar
Whhaat
09:35
It's not even rust
09:35
Fake ryo
Avatar
Im morbing
Avatar
@Jupstar ✪ new mesa released
09:48
it has rusticl
09:48
a opencl driver in rust
Avatar
Sad only that opencl is basically dead xd
Avatar
Maybe gimp still uses it xd
09:49
Blender dropped it xd
09:49
Who needs opencl if u have Vulkan xd
Avatar
yeah opencl death is sad
Avatar
note that its not opengl its opencl
Avatar
just clarifying
Avatar
vulkan can do compute shaders
09:51
if that's why ur clarifying
09:51
well opengl death may be near too xd
Avatar
Opencl has some cool features. But i guess u can emulate most stuff
Avatar
Avatar
Ryozuki
well opengl death may be near too xd
Yeah just like ogl
09:52
Zink for me is already opengl driver replacement
09:52
The 10% perf u loose is traded by next gen hardware
09:52
And if u target ogl, u probably are ok with not having the best performance anyway
Avatar
Funny how the best they could do was to still just translate it to C ABI. We really need OS people onboard if we want a proper new ABI
Avatar
@Learath2 c is a plague kek
10:06
found this comment down too
10:06
we arrived at the conclusion that the notion of a "C ABI" is somewhat of an existential question, because the C Standard does not define a C ABI, and currently our extern "C" does not even support all Standard C types, like long double and _Complex. And the C language can add new types, of course (it in fact did in C23, non-optionally, a new type that all compilers will now be expected to support in order to claim they support C23). Thus saying "superset of a C ABI" is slightly dubious. It may prove beneficial for this experiment to hammer down what we mean, anyways, when we say "C ABI", extern "C", and so on, because there is a definable meaning that we in-practice work with.
Avatar
Eh I fail to see much value in trying to get a different name for it, everyone knows C doesn't define an ABI
Avatar
crabi is not c abi tho
10:08
i love the name
10:08
i hope it exists someday xd
10:08
a abi for safe interop
10:09
crABI could define a symbol naming scheme, to allow identifying symbols that use crABI. However, crABI must be compatible with languages that only support C FFI and do not have native crABI support, and which must thus reference the symbol via its name; therefore, crABI should not have a complex or non-obvious mangling scheme.
10:11
anyway its an interesting experiment, its not even a rfc yet
10:11
will see how it goes
Avatar
Avatar
Ryozuki
i hope it exists someday xd
It's a brand of spreadables in Turkey 😛
Avatar
i think crabi is a pokemon
Avatar
I can't read it without thinking of nutella derivatives
10:12
krabby
Avatar
if nobody used xbox game pass
11:30
43X74-62G7X-2PPHR-9JWD6-R2TCZ
11:30
2 months
Avatar
What a bro
Avatar
im implementing a hashmap with open addressing in llvm ir
11:57
poggers2
Avatar
Avatar
Ryozuki
im implementing a hashmap with open addressing in llvm ir
quadratic probing?
Avatar
im doing it simple for now
12:05
linear probs xd
👍 1
Avatar
@Learath2 do u think there will be ever another knuth
12:41
the man is too legend
12:42
reading into the open addressing thing made me go down the wiki rabbit hole xd
12:42
In the 1970s the publishers of TAOCP abandoned Monotype in favor of phototypesetting. Knuth became so frustrated with the inability of the latter system to approach the quality of the previous volumes, which were typeset using the older system, that he took time out to work on digital typesetting and created TeX and Metafont.[37]
12:42
chaddest
Avatar
Avatar
Ryozuki
@Learath2 do u think there will be ever another knuth
Yes, you;)
Avatar
Avatar
Ryozuki
reading into the open addressing thing made me go down the wiki rabbit hole xd
Is it a complex topic?
Avatar
Avatar
Jupstar ✪
Yes, you;)
im already old and i dont have a uni degree xd
Avatar
Avatar
Jupstar ✪
Is it a complex topic?
Open addressing, or closed hashing, is a method of collision resolution in hash tables. With this method a hash collision is resolved by probing, or searching through alternative locations in the array (the probe sequence) until either the target record is found, or an unused array slot is found, which indicates that there is no such key in the...
12:51
idk its just how hashmaps are made
12:51
rust uses quadratic simd probing
Avatar
Yeah I meant in llvm ir
12:51
Why do u even implement it there directly, don't u have a higher level language?
Avatar
the lang has a dict as a builtin
12:52
well maybe i can interface with rust, but idk if i wanna bother with that
12:53
i dont think its too complicated
12:53
llvm is fairly high level ngl
12:53
llvm-ir*
12:53
it even has a switch
12:54
i will use a hash function from rust tho
12:54
im just not sure about using rust hashmap and lifetimes in here
12:54
and its an interesting thing to implement
Avatar
Avatar
Ryozuki
@Learath2 do u think there will be ever another knuth
No, all new programmers hate goto, too close minded, they can never be knuth
Avatar
Avatar
Learath2
No, all new programmers hate goto, too close minded, they can never be knuth
I even hate returns that are mid function
12:57
Always speaks of bad design for me
Avatar
See, you can't be Knuth
Avatar
Math doesn't know jumping around
Avatar
Thank god we aren't mathematicians 😛
Avatar
No but seriously, it makes it harder to not add bugs imho. E.g. if I add smth at the end of a function that should be called regardless or similar
12:59
I like it code has flow
12:59
If
Avatar
Well it's pretty subjective. I never had much trouble with that and I find the early bail much much easier to read than infinite nesting or extremely long conditions
Avatar
Yep, but in that case I'd move the nesting out to a new function
Avatar
If you need to nest so much maybe factor it out into a function
Avatar
Xd
Avatar
I also hate one use functions, jumping around while reading is far more annoying than early bails
13:02
But anyways, very very subjective thing peddaled by computer science people as if it's objective
Avatar
Acceptable, but depends on the size of the function too
13:02
The name of the function is already kind of a documentation xd
Avatar
Avatar
Learath2
But anyways, very very subjective thing peddaled by computer science people as if it's objective
I agree
Avatar
Maybe in 1861 their compilers had trouble optimizing when there is more than one return and it was objectively better back then but thank god we live in 2023
Avatar
I still couldn't tell if i prefer long lines over small for example
13:03
Both have pros and cons
Avatar
One thing I've been appreciating lately is functional programming. There is clearly a place for it. It's great for a lot of tasks
Avatar
Avatar
Jupstar ✪
I still couldn't tell if i prefer long lines over small for example
I try to stay below 80 columns if at all possible, but I won't break a line unreasonably if there is no good place to break it
Avatar
clang format deals with that for me
13:12
works well
Avatar
? is early return btw
Avatar
Avatar
Learath2
I try to stay below 80 columns if at all possible, but I won't break a line unreasonably if there is no good place to break it
120 for me
Avatar
Avatar
Ryozuki
120 for me
Yeah a better default since we are all on widescreens nowadays, not ancient terminals 😄
Avatar
Avatar
Ryozuki
? is early return btw
Wat
Avatar
Avatar
Jupstar ✪
Wat
In rust, when you do ? you are technically doing an early return
Avatar
U mean rust error
13:28
Yeah
Avatar
be a functional lang purist
13:30
fold, map, reverse
13:30
all u need
Avatar
Avatar
Learath2
In rust, when you do ? you are technically doing an early return
But u can use it anywhere in the function can't u
13:30
Like not really early
Avatar
learning functional langs made me realize that doing functions that are tail call optimizable, u need to call reverse() always on the end result, which is where the overhead may sometimes not be worth it
Avatar
Wym? You can use ? pretty much anywhere
Avatar
Avatar
Learath2
Wym? You can use ? pretty much anywhere
Yeah
13:31
I'd say depends on function size if I'd use it
Avatar
Like at the very start of this function I have let config = Config::from_env()?
13:32
That's a very very very early bail in this 80~ line function 😄
Avatar
@Jupstar ✪ ? can not just be used on errors
13:32
it can be used on any type that implements https://doc.rust-lang.org/std/ops/trait.Try.html
The ? operator and try {} blocks.
13:32
which is only result rn
13:32
and only in nightly u can impl it for others xd
Avatar
Avatar
Ryozuki
which is only result rn
Also Option, no?
Avatar
Used to tell an operation whether it should exit early or go on as usual.
13:33
this more specifically
Avatar
Avatar
Learath2
Also Option, no?
yeah iirc
Avatar
Source of the Rust file library/core/src/option.rs.
13:34
s/tso$/so/
Avatar
in functions where u return option
13:34
u can use ? on options iirc
13:34
to return none
Avatar
Yeah yeah. If everything would follow a raii like design it's cool for sure. It if u manage some states it can easily lead to logic bugs
Avatar
well in rust works nice
13:35
the most important raii things for me would be locks
13:35
and they work nicely
Avatar
They are nice. I'm only saying it's complicated xd
Avatar
ayoooooooo
13:37
Welcome to GitHub's home for real-time and historical data on system performance.
13:37
github is down agane
13:37
xd
13:37
billion dollar company btw
13:37
#azure #scaling #webscale
Avatar
Idk what's going on with github nowadays
Avatar
#kubernetes
Avatar
Microsoft also isn't the kind of company that releases nice blogs about what went wrong
Avatar
daily reminder my cgit still works https://git.edgarluque.com/
13:39
#baremetal #no-docker #no-k8s
13:39
#aptget
13:39
xddd
13:39
today i woke up funny sorry
justatest 1
Avatar
Avatar
Learath2
Microsoft also isn't the kind of company that releases nice blogs about what went wrong
true sad
13:40
maybe they want to extingish open source finally
13:40
bringing down gh
13:40
we at the 3rd phase
13:40
justatest
Avatar
Avatar
Ryozuki
maybe they want to extingish open source finally
or they are just incompetent, I wouldn't put it beyond web-scale developers
Avatar
Maybe their mongodb instance finally just piped everything to /dev/null for better web scale performance
Avatar
Maybe they accidentally fired their backend team
13:43
Now python devs take over
13:43
Let's rewrite in python
13:43
For performance
Avatar
sudo su - root rm -rf Easy rookie mistake. Happens to the best of us
Avatar
Avatar
YupHio
sudo su - root rm -rf Easy rookie mistake. Happens to the best of us
funny enough that gitlab incident couple months back was an accidental rm -rf on the wrong server
Avatar
The dude had two terminals one ssh'd into prod-1, the other into prod-2. He meant do delete the db on prod-2 and replicate prod-1 to it, he deleted it on prod-1 instead 😛
troll 1
Avatar
Actually my buddy once did a "crontab -r" rather than a "crontab -e" because the letters are right next to each other. He deleted all the cron jobs from the production server and guess what was never put into Git? The crontab. Sort of stuff happens all the time lol, need to automate literally everything
13:47
good idea to snapshot the entire fs from time to time
Avatar
Walk of shame calling the data backups and recovery team at my company to get a snapshot restored in production. Saved us more than once.
13:50
Bigger issue is the new cloud hosting stuff is often "self-service" so it is on the dev teams now to architect their own backup solution on the platform. Training wheels are off when you no longer have an SI/SA to do that stuff for you anymore
Avatar
this reminded me i need to backup my cron
f3 1
Avatar
Avatar
YupHio
Bigger issue is the new cloud hosting stuff is often "self-service" so it is on the dev teams now to architect their own backup solution on the platform. Training wheels are off when you no longer have an SI/SA to do that stuff for you anymore
lol
13:51
self service
13:51
this is how i did all my life
13:51
never depend on others
13:51
but well im not a company
13:51
companies like to depend on others, so they can direct the blame of their incompetency
Avatar
Big companies have old processes that don't work well in the cloud. Hard to change direction of a big company
13:53
Hard to ensure developers are all competent at a big company*
Avatar
first screening is easy: do you like js? yes = go out, no = proceed
13:54
(joke dont kill me)
Avatar
If Microsoft has 500 developers working on this, you can pretty well guarantee that a few of them are knuckleheads lol. The odds increases as the numbers go up
Avatar
tbh code tests live in a interview are the worst, they make any dev ability drop down to nothin
13:55
atleast for me
13:55
i get a blank mind even for simple stuff
13:55
its insane
13:55
xd
Avatar
Avatar
Ryozuki
tbh code tests live in a interview are the worst, they make any dev ability drop down to nothin
Can't invert a tree on a whiteboard? Get out of my sight
Avatar
Same. My company stopped doing code tests in interviews, we care more about skills that are harder to teach (teamwork, communication, fit with the team). We figure we can teach any decent developer a new technology
Avatar
Meanwhile their in house team is just copying it from stackoverflow
Avatar
its been ages since i copied smth from so
13:56
the stuff i do isnt even there
13:57
BASEDHALT
13:57
13:57
justatest
13:58
unsurprisingly, the llvm sphere is rly small and self contained
13:58
its like the compiler knowledge is a precious thing not shared much
13:58
llvm specific
Avatar
Honestly silly to ask people algorithms. Like who even implements them without double checking on a book or wikipedia?
13:59
Same bro, same
Avatar
u got minus points
13:59
white themist
13:59
im white themist racist
Avatar
Is daytime here, old eyes need to see
Avatar
daytime too
14:01
coffee in hand
14:01
rust in display
14:01
life of a dev
14:01
tried to rhyme but im bad (edited)
Avatar
have to test RustDesk
Avatar
Curtains open Sun shining in Dark theme broken Ryozuki calls it sin (edited)
Avatar
nice xd
Avatar
Avatar
YupHio
sudo su - root rm -rf Easy rookie mistake. Happens to the best of us
the big mistake is to specify root when u don't need it giga_chad
Avatar
This poem was not generated by an AI language model**
Avatar
Avatar
ReiTW
the big mistake is to specify root when u don't need it giga_chad
Do everything as root. Linux chad move.
Avatar
Avatar
YupHio
Do everything as root. Linux chad move.
templeOS > all, less complexity
Avatar
Avatar
YupHio
This poem was not generated by an AI language model**
funny thing is you can search for "Regenerate response" site:.com
14:08
and find some people who didn't copy-paste correctly
Avatar
On the map "oco", which uses tunes and (fake) teles, recently a " "bug" " occured that doesnt let u finish the map anymore. Normally you would fall through that specific teleport there and continue the map. The last finish was 3 days ago. Does any of the developers know if there were any updates that could change this behavior?
14:24
this is how it look in the editor for reference
Avatar
#bugs is better cuz it may be lost
14:25
but maybe @Robyt3 knows
Avatar
Avatar
Ryozuki
#bugs is better cuz it may be lost
ok next time i will post it there, dont wanna spam it in #bugs again lol
Avatar
Avatar
Ryozuki
companies like to depend on others, so they can direct the blame of their incompetency
nah its just cheaper to delegate some work
14:42
trying to implement psql
14:43
FormatCreateRace and friends are not overrides, they depend on methos
14:43
the thing is, and i think psql does better, arguments use $1 $2 etc instead of ?, and some things change drastically, like insert or ignore being insert x into y on conflict ignore
Avatar
Avatar
Learath2
One thing I've been appreciating lately is functional programming. There is clearly a place for it. It's great for a lot of tasks
haskell?
Avatar
Avatar
Chairn
haskell?
Nah, just messing around with it in js and rust. I know they are not truly functional languages but I find functional programming is only comfy with a subset of things one might want to do
Avatar
Avatar
Ryozuki
tbh code tests live in a interview are the worst, they make any dev ability drop down to nothin
algorithm tests would make more sense, don't you think?
Avatar
Avatar
Ryozuki
unsurprisingly, the llvm sphere is rly small and self contained
i think it's more of an academic thing, i've seen tons of pure math-informatics researchers using it and extending it for their research
Avatar
Avatar
Learath2
Nah, just messing around with it in js and rust. I know they are not truly functional languages but I find functional programming is only comfy with a subset of things one might want to do
i was alwyas told that haskell is truly functional
15:08
you can pass functions to functions and it creates the mathematical composition of these (edited)
Avatar
he means js and rust
15:11
ugh lookin at the psql thing, its too out of the norm with sqlite and mysql
15:11
my lazyness is already kicking it
15:11
cuz this requires a heavy rework
Avatar
also psql manages statements by a given name
15:29
PGresult *PQprepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes);
Avatar
Avatar
Ryozuki
companies like to depend on others, so they can direct the blame of their incompetency
Being responsible in work be like
15:50
"Oops, I accidentally erased the whole repository, buuuut will I get my pay?" kek (edited)
Avatar
Avatar
Ryozuki
#![forbid(unsafe_code)] #![deny(missing_docs)] #![deny(warnings)] #![deny(clippy::nursery)] #![deny(clippy::pedantic)] #![deny(clippy::all)]
thx, how aggressive is missing docs? only for exported stuff or every single function?
Avatar
pub fn iirc
16:11
pedantic can be pedantic too xd
Avatar
i'll try it out
Avatar
#![deny(clippy::all)]
16:12
is a good start
16:12
it doesnt enable pedantic or nursery
Avatar
i have 3000 warnings open anyway xdd
Avatar
but treats all clippy warns as errors
Avatar
and since the cargo fix tool is broken, i have to fix by hand
16:12
i found a ez pr to make for ddnet
16:12
wont tell cuz robyt will steal
16:12
justatest
Avatar
that's not how it works
Avatar
if it's ez, just do it?
Avatar
ye im doing it
16:13
xd
16:13
thats why i said that
Avatar
I wish the UI would alpha support for the color picker, maybe i should implement
16:13
now wait 2 days
16:13
and robyte implemented it
16:14
robyte should get a job for the egui guy
Avatar
@Ryozuki why no clippy::perf
16:25
performance is most important
Avatar
there is some perf related
16:25
A collection of lints to catch common mistakes and improve your Rust code.
16:25
go here
16:26
lint groups
16:26
perf
Avatar
lint will never not sound funny
16:34
like why is it called that LOL
Avatar
"The term "lint" was derived from lint, the name for the tiny bits of fiber and fluff shed by clothing, as the command should act like the lint trap in a clothes dryer, detecting small errors to great effect. "
16:35
just as stupid as bug xd
Avatar
@Jupstar ✪ do u know what the effect PowerupShine is?
Avatar
@heinrich5991 u know how to use http.h? (edited)
Avatar
ah its the ninja particles
Avatar
Avatar
Jupstar ✪
"The term "lint" was derived from lint, the name for the tiny bits of fiber and fluff shed by clothing, as the command should act like the lint trap in a clothes dryer, detecting small errors to great effect. "
ah so it WAS intentional ok
Avatar
@Learath2 @Jupstar ✪ @Ryozuki someone know how works json and http libreries that are already included on the ddnet workspace?
Avatar
just look at other code
Avatar
im looking, is very confused
17:22
and im retarded
17:22
so
Avatar
@Jupstar ✪ omg ddnet is stupid
17:23
do we store the player id of who sent a damange indicator for example?
17:23
i think we dont
17:23
stupid old protocol
17:24
anyway i got opacity working for snowflakes, strong indicator, heart icon
17:25
i thought they always worked (edited)
Avatar
it never respected cl_show_others_alpha
17:25
Hello, is it possible to make all extras invisible when using cl_show_others_alpha 0? Like strong/weak hook, particles etc (see gif).
Avatar
There are some things like damage indicator, spawn particles, etc which we have no way to properly set alpha based on team/solo knowledge because they don't have any info about that. (to my knowledge)

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 poin...
Avatar
yknow, why are there 3 damage indicator variants when only one is used
Avatar
what u talking about
17:30
damage ind is the starts from gun
17:30
stars*
17:31
game.png has 3 variants of those stars
Avatar
but i couldnt fix their opacity anyway, i just updated the code for the future
17:31
cuz damage ind carries no player id info
Avatar
some day im going to clean up the pngs of ddnet
17:38
not as a PR but as an experiment
17:40
like take all the particles and put them into the particles.png take all the weapons and make that its own image/collection of images overall make everything cleaner
Avatar
yay another breaking change
Avatar
Avatar
Voxel
not as a PR but as an experiment
read what i said
17:41
im not going to release it in vanilla
Avatar
Avatar
gerdoe
yay another breaking change
how is this a breaking change
17:42
well changing the structure means all exisiting particle edits cant be used
Avatar
its only breaking if you have like, gameskins
Avatar
thats probs the main reason nothing is done
17:42
xd
Avatar
also a crazy idea i told louis once: what if each weapon was split apart into separate images? like pistol.png, grenade_launcher.png, etc.? and some weapons had variants with actual split parts that could be moved in different states, like the tee animation? the weapon image could be paired with a python file with the same name that dealt with all the animation stuff
17:45
Avatar
Avatar
Ryozuki
how is this a breaking change
like whole teedb would be dropped
17:46
its sad to be limited by existing stuff tho
Avatar
Avatar
Voxel
also a crazy idea i told louis once: what if each weapon was split apart into separate images? like pistol.png, grenade_launcher.png, etc.? and some weapons had variants with actual split parts that could be moved in different states, like the tee animation? the weapon image could be paired with a python file with the same name that dealt with all the animation stuff
yeah something like that was implemented in minetee and nodes
17:47
some real brainride was with ninslash
Avatar
0.7 skin personalization is the only good thing abut 0.7
Avatar
Avatar
Ryozuki
its sad to be limited by existing stuff tho
ddnet2.0
Avatar
Avatar
Voxel
also a crazy idea i told louis once: what if each weapon was split apart into separate images? like pistol.png, grenade_launcher.png, etc.? and some weapons had variants with actual split parts that could be moved in different states, like the tee animation? the weapon image could be paired with a python file with the same name that dealt with all the animation stuff
its better a single image
17:47
this is due to atlas and less memory usage
17:47
u just need to load 1 image
Avatar
You can put the textures in an atlas after loading though
Avatar
still, custom reload animations would be so fun
Avatar
Avatar
Robyt3
You can put the textures in an atlas after loading though
oh yea thats what tee skins do sometimes
Avatar
but in ddnet u dont need to reload tho xd
Avatar
i remember joining in as default and it takes a bit for me to become me
Avatar
Avatar
Ryozuki
but in ddnet u dont need to reload tho xd
[fires grenade] [wait half a second] << what im talking about [fires grenade] (edited)
Avatar
Avatar
kio
@Learath2 @Jupstar ✪ @Ryozuki someone know how works json and http libreries that are already included on the ddnet workspace?
Which part are you having trouble with?
Avatar
Avatar
kio
@Learath2 @Jupstar ✪ @Ryozuki someone know how works json and http libreries that are already included on the ddnet workspace?
bro u got the most used lib in the world, curl, at ur disposal
Avatar
Avatar
Ravie
might be a good time to bring this up, long ago I reworked the freezebar and other stuff and put it all together in one image, is someone interested in updating to it?
when i rework the images im going to add something like this in. except not with shields, since some of these aren't UI elements
17:54
snowflake into particles.png, shields into game.png (which would be elements only seen on maps like hearts or normal shields or flags) (edited)
18:00
god when i make my own client its going to be so heavy on the gpu with all these graphical edits i s2g LOLL
Avatar
u should remove weapon shields feelsamazingman
Avatar
thats great
Avatar
nah he should introduce new map format based on entity-component system where you can make key-value map of used tiles (tiles are constructable now, like no solind + hookable + freeze tile) so map is just array of index
18:11
troll
18:12
imagine z-layering in teeworlds
Avatar
Avatar
louis
u should remove weapon shields feelsamazingman
but if you have rifel and shotgun how do you only remove shotgun while still keep rifel without having to do some jank rifel next to shield stuff
Avatar
Avatar
Voxel
also a crazy idea i told louis once: what if each weapon was split apart into separate images? like pistol.png, grenade_launcher.png, etc.? and some weapons had variants with actual split parts that could be moved in different states, like the tee animation? the weapon image could be paired with a python file with the same name that dealt with all the animation stuff
The same could apply to Tees but... we all knew where it was going with 0.7...
Avatar
Avatar
Ryozuki
bro u got the most used lib in the world, curl, at ur disposal
Already did but I would use http to try
Avatar
Avatar
Cellegen
The same could apply to Tees but... we all knew where it was going with 0.7...
If you want it to be good, make it work, make it look good and don't make it buggy
Avatar
Avatar
Cellegen
The same could apply to Tees but... we all knew where it was going with 0.7...
i would like to see animation customization in tw
18:19
should try to do anything
Avatar
oof imagine using a formula for making your own animations
18:19
💀
Avatar
yeah thats what i want actually
Avatar
Like some circle radius bs
Avatar
like for every tee state you can make an animation
18:20
so you given some variables about tee position velocity
18:20
and state
18:20
and key animation tool so you can do it yourself
Avatar
I tbh recommend using line distances as calculation, relative to your mouse position and angle, so it doesn't become complicated then set your own distance value, which you can use to move the weapon in any direction relative to the calculated value (edited)
18:21
waaaay easier and more scalable, than using radius
18:23
Well as long as somebody knows how gravity directions work in games, this shouldn't be a problem Pepegalaugh
Avatar
Avatar
Voxel
but if you have rifel and shotgun how do you only remove shotgun while still keep rifel without having to do some jank rifel next to shield stuff
if u need to do that and u dont have enougb space for 1 extra tile then ur part sucks anyways
Avatar
Avatar
gerdoe
and key animation tool so you can do it yourself
like a lua script, where you have conditions and values to modify, when conditions trigger f.e: if weapon.just_fired():{ weapon.part.shield.play() }
18:26
and then play() will get an Array of coordinations and timestamps, which represent on where to move and how delayed the lerping should be
18:26
which moves the object accordingly
Avatar
Avatar
Cellegen
like a lua script, where you have conditions and values to modify, when conditions trigger f.e: if weapon.just_fired():{ weapon.part.shield.play() }
yeah but its too much for current ddnet xd
Avatar
I mean, if we can scale it, like a TAS, then it's way easier to implement
18:27
TAS uses a list of inputs and delays, it's the same thing with animations, but with positions instead
18:28
The only concern I have is the way of animation easing
18:28
like, without a visual editor, it's hard to pull any animation off
18:29
(note to self: need to implement an animation editor for Godot 4.x)
Avatar
Anyone know what this visual studio error means? 5> CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") 5> running: "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-g" "-fno-omit-frame-pointer" "-m64" "/MTd" "-o" "ddnet/build-visualstudio\\debug\\build\\link-cplusplus-eb210e6b989881d2\\out\\dummy.o" "-c" "ddnet/build-visualstudio\\debug\\build\\link-cplusplus-eb210e6b989881d2\\out\\dummy.cc" 5> cargo:warning=g++.exe: warning: /MTd: linker input file unused because linking not done 5> cargo:warning=g++.exe: error: /MTd: linker input file not found: No such file or directory 5> exit code: 1 5> --- stderr 5>CUSTOMBUILD : error occurred: Command "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-g" "-fno-omit-frame-pointer" "-m64" "/MTd" "-o" "ddnet/build-visualstudio\\debug\\build\\link-cplusplus-eb210e6b989881d2\\out\\dummy.o" "-c" "ddnet/build-visualstudio\\debug\\build\\link-cplusplus-eb210e6b989881d2\\out\\dummy.cc" with args "g++.exe" did not execute successfully (status code exit code: 1). Does this happen to anyone else when compiling ddnet?
Avatar
some file missing i guess
18:35
i dont compile on windows so idk there
Avatar
TARGET = Some("x86_64-pc-windows-gnu") what is target GNU? ... maybe it somehow trying to choose the gcc toolchain inside VS
Avatar
clean build?
Avatar
yeah, all clean build, updated visual studio, cmake and msys2
Avatar
there is a mscvc target iirc
18:36
gnu target is for mingw iirc
Avatar
it all started after updating msys2 for some reason (or randomly around that time)
18:37
even though VS should be independent from msys2
Avatar
rustup target default x86_64-pc-windows-msvc (edited)
18:37
i hate phones
Avatar
where to I run that command? I don't have rustup in path
18:38
how did u get rust?
Avatar
from MSYS2
Avatar
so I guess VS also uses that
Avatar
remove it
18:38
rustup is better
Avatar
Avatar
Cellegen
I mean, if we can scale it, like a TAS, then it's way easier to implement
ddnet2.0 xd
Avatar
idk how to change ur toolchain with ur rust
Avatar
ok, let's hope it works with both VS and MinGW based compilation
18:39
I don't want to default to MSVC toolchain though
Avatar
rustup actually asks u to get msvc if it doesnt find it
Avatar
because I usually compile with MinGW and GNU toolchain
Avatar
and uses that target
18:39
well u can choose
18:40
wait a moment
18:40
maybe with cargo u can override
18:41
hm u can but rustup easier xd
18:41
the thing is rustup allows u to have both gnu and msvc and setup per dir overrides
Avatar
ok, that should do it
Avatar
now neither gnu nor msvc can find rust anymore
18:59
rustc is available on the path
19:04
ok, gnu build works again after fully cleaning everything, but visual studio gives the same error as before
Avatar
hm no idea xd
Avatar
Yo, why aren't compressed PNGs not supported? I asked it one time, but didn't get any answer for it
20:53
I even tried only changing the color dimension to a certain value and that also won't render it
Avatar
Avatar
Cellegen
Yo, why aren't compressed PNGs not supported? I asked it one time, but didn't get any answer for it
Does your question make sense?
Avatar
@Jupstar ✪ how to get the team of the local player
20:58
idk why im struggling with this stupidty
Avatar
I asked this question, I wrote my problem and showed another screenshot on performance increase in a previous conversation (edited)
Avatar
Pretty much all pngs are supported, Heinrich purposely disabled this support because of back ward compability backed up by Learath. Blame them
Avatar
it says 0 when im in a team xd
Avatar
Avatar
Jupstar ✪
Pretty much all pngs are supported, Heinrich purposely disabled this support because of back ward compability backed up by Learath. Blame them
justatest So you are saying is, they cannot do it cuz we still support vanilla?
Avatar
Avatar
Ryozuki
it says 0 when im in a team xd
Team unequal to DDrace team
Avatar
Avatar
Cellegen
justatest So you are saying is, they cannot do it cuz we still support vanilla?
Because of older ddnet clients
Avatar
Well that sucks
Avatar
And is useless
Avatar
wdym, you guys have gbs of storage from Assets alone
21:00
it would save a lot of space overall
Avatar
Older clients will simply not load these images.. Nothing more
Avatar
and processes less memory
Avatar
I know
Avatar
for older client, tbh
21:01
fuck em
21:02
use latest or perish, that is my belief gigachad
Avatar
m_Teams got it
Avatar
once we have ddnet 2.0 :copium:
Avatar
Hype
21:39
someone know if there is the same with GET method to get player info? (edited)
Avatar
Avatar
Learath2
Which part are you having trouble with?
make a post request with params from http library
23:14
and save the response like this
23:14
m_pDDNetInfoTask = HttpGetFile(aUrl, Storage(), m_aDDNetInfoTmp, IStorage::TYPE_SAVE); m_pDDNetInfoTask->Timeout(CTimeout{10000, 0, 500, 10}); m_pDDNetInfoTask->IpResolve(IPRESOLVE::V4); Engine()->AddJob(m_pDDNetInfoTask);
Avatar
Looks about right to me, what's wrong?
❤️ 1
Avatar
Avatar
kio
@heinrich5991 u know how to use http.h? (edited)
tell me what you want to do and I might be able to give you some example code
Exported 506 message(s)