Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories โ€” IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2024-06-30 00:00:00Z and 2024-07-01 00:00:00Z
Avatar
Avatar
ws-client
<ChillerDragon> @APFFF I don't think I understand your question. But when running a ddnet client or server you can set the config stdout_output_level 1 to print all dbg_msg() calls to the console
still cant see the debug messages :/
Avatar
What does Friction do? (from BulletTrail()) (edited)
Avatar
try changing it and see what happens
04:29
friction in general+in ddnet code is almost always how quickly the movement of an entity slows down
๐Ÿ‘๐Ÿผ 1
Avatar
morning ๐Ÿต
Avatar
F-Client is a client mod for Teeworlds 0.7 developed by fokkonaut. - Support redirect (only if server implements too) · fokkonaut/F-Client@69a6038
05:12
Can someone help with the pipeline? :D
Avatar
Wanna make a new client release and need the builds
Avatar
Im not an expert but I think you can either set dis line https://github.com/fokkonaut/F-Client/blob/69a6038430a43802d3090f89716f62517747c5d0/CMakeLists.txt#L99 to something from here https://cmake.org/cmake/help/latest/policy/CMP0148.html or just write if(POLICY CMP0148) cmake_policy(SET CMP0148 OLD) endif() maybe not justatest
Avatar
I read that post earlier, the author is actually crazy to spend that much work on such a niche exploit.
07:55
I hope Lua has not damaged their psyche
Avatar
tldr, use rust kek
Avatar
what would that help
Avatar
Avatar
louis
try changing it and see what happens
I did change it but couldnt really notice anything. also building every time ๐Ÿ˜ฆ
Avatar
Avatar
APFFF
I did change it but couldnt really notice anything. also building every time ๐Ÿ˜ฆ
What did you change it to? If you set it to 1.0f then particle's velocity should never decrease, which should be noticeable. You should only need to rebuild one file and the executable instead of rebuilding everything though, if you only changed a value in effects.cpp.
๐Ÿ‘๐Ÿผ 1
10:43
The velocity is multiplied by the friction value roughly every 0.05 seconds
Avatar
Avatar
Robyt3
What did you change it to? If you set it to 1.0f then particle's velocity should never decrease, which should be noticeable. You should only need to rebuild one file and the executable instead of rebuilding everything though, if you only changed a value in effects.cpp.
How can you only rebuild specific file? Im really bad with cmake
10:43
I have tried 1.0f but didnt notice anything justatest (edited)
Avatar
Avatar
APFFF
How can you only rebuild specific file? Im really bad with cmake
What command are you running to build? If you generated a Makefile, make should only rebuild the changed files
Avatar
Avatar
Robyt3
What command are you running to build? If you generated a Makefile, make should only rebuild the changed files
cmake --build . -j
Avatar
Avatar
APFFF
cmake --build . -j
I think -j8 (with the number of CPU cores to use) is preferred over -j, which spawns as many processes as it can. But this should only build the files you modified. Maybe you also changed another file though. (edited)
Avatar
I was also wondering, why ./DDNet.exe and ./steam_api.dll get build in /build/Debug while everything else is in /build
Avatar
I think that an MSVC issue (edited)
10:52
When I use VS I use the executables built in the pack_DDNet-18.3-win64_zip folder
Avatar
chiller writing a json parser. commit messages are gold.
10:56
would recommend
Avatar
Avatar
Robyt3
When I use VS I use the executables built in the pack_DDNet-18.3-win64_zip folder
cant even find that folder
Avatar
Avatar
APFFF
cant even find that folder
Maybe you set DEV=ON in the cmake configuration. It will generate more files each time with DEV=OFF but at least you get a build folder that's immediately usable
Avatar
Avatar
Robyt3
The velocity is multiplied by the friction value roughly every 0.05 seconds
is friction applidd every 2 ticks?
Avatar
Alternatively, use MSYS2 and GCC instead of MSVC
Avatar
Avatar
louis
is friction applidd every 2 ticks?
Friction for particles is applies every 0.05s locally
11:06
@APFFF if youre on windows are you using visual studio?
Avatar
Avatar
louis
@APFFF if youre on windows are you using visual studio?
Yes
Avatar
@APFFF ah i think since the bullet trails have no velocity friction does nothing here
Avatar
Avatar
louis
@APFFF ah i think since the bullet trails have no velocity friction does nothing here
Actually, I was trying to understand where the frequency of particles is determined
Avatar
add p.m_Vel = random_direction() * (std::pow(random_float(), 3) * 600.0f); inside BulletTrail() and you'll see that if you change friction then the behavior changes
๐Ÿ‘๐Ÿผ 1
11:20
but ig since m_Vel isn't defined, it gets set to 0 somewhere so friction has no effect
Avatar
but I guess BulletTrail() doesnt even set the frequency?
Avatar
(actually probably m_Vel is already defined as 0)
Avatar
yeah, the p.m_Friction = 0.7f; for BulletTrail is misleading, since it has no effect
๐Ÿ‘Œ 1
Avatar
I think the frequency is set in items.cpp at line 647 onwards @APFFF
๐Ÿ‘๐Ÿผ 1
Avatar
I tried friction on different particles
Avatar
err or maybe line 125, i didn't read it too much
11:25
although i think @Robyt3 knows more on how to accomplish whatever you're trying to accomplish @APFFF
Avatar
ATM im just trying to understand things
Avatar
im not really sure if those lines in items.cpp simply add the particles to some queue which gets handled elsewhere
Avatar
I thought particles might be an easy entry
Avatar
but line 125 is initially where the bullet trail particle gets added
Avatar
How does the timing work in general, is there some kind of delta_time?
Avatar
Some effects are on different timers (5, 50, 100 Hz), see CEffects::OnRender function
Avatar
for the frequency, you need to have a look at effects.cpp, there you have the member variables m_Add5hz, m_Add50hz and m_Add100hz
Avatar
OnRender() gets called for every component "active" on every tick?
Avatar
those are updated every frame, each going true with a different frequency
๐Ÿ‘๐Ÿผ 1
11:28
(I recently reimplemented all the particles for twgpu)
Avatar
@Patiga thx, now i got it
Avatar
why the servers allow 4 player from the same ip but the client can only connect 1 dummy?
Avatar
Avatar
Bors Matyas
why the servers allow 4 player from the same ip but the client can only connect 1 dummy?
ddnet client is limited to a single dummy
11:47
it's in the code
Avatar
make a dummy list
11:48
Dummy[] dummys = new Dummy[]; or smoething
Avatar
you can join with 2 clients per IP
Avatar
it would be easier to use with one client ngl
12:02
and im the customer and the customer is always right
Avatar
Dummy controls would go nuts
Avatar
program them ai control
12:07
they follow you, unfreeze you...
Avatar
Avatar
Bors Matyas
program them ai control
good idea
12:16
u should go implement it
Avatar
sorry im the customer
Avatar
the game is open source so you're the worker too unfortunately
๐Ÿคฃ 1
Avatar
Einem geschenkten Gaul, schaut man nicht ins Maul
Avatar
chillerdragon BOT 2024-06-30 12:54:14Z
BTW I am waiting for a review since two months in #5949 @heinrich5991 @deen
Avatar
Does someone know where the bullet projectile texture is set? (As in rotation, position, size, etc.) (edited)
Avatar
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
13:38
haven't touched client code at all but that looks to be the location, at least one of them.
๐Ÿ‘๐Ÿผ 1
Avatar
Add a question mark-button next to the x-button to open the Wiki page https://wiki.ddnet.org/wiki/Mapping in the default web browser. The link is localized so translators can replace it with the respective translated Wiki pages. The hotkey F1 is also added to activate this button. !image

Checklist

  • [X] Tested the change ingame
  • [X] Provided screenshots if it is a visual change
  • [ ] Tested i...
14:30
9f698d2 Add button and F1 hotkey in editor to open Wiki page for editor - Robyt3 726e5c9 Merge pull request #8536 from Robyt3/Editor-Help-Wiki-Button - archimede67
Avatar
does someone know how to disable projectiles hitting other players in old vanilla teeworlds servers? i managed to disable player collisions and player hooking with tunes but can't figure out how to disable projectiles hitting other players
Avatar
ware is poland server
14:42
Avatar
cyb horse is gone
Avatar
chillerdragon BOT 2024-06-30 15:34:09Z
What are old vanilla teeworlds servers? and what are you working on?
Replying to @timakro does someone know how to disable projectiles hitting other players in olโ€ฆ
15:39
I donโ€™t know if there is even an option without touching the code. I doubt it.
Avatar
Avatar
cyberFighter
ware is poland server
fr
Avatar
chillerdragon: Is it possible to create a custom teeworlds client in python?
Avatar
teeworlds esports when
f3 1
Avatar
Sieh dir die ฦค.I.ฦ‡. Community [gCTF/zCatch]-Community auf Discord an โ€“ häng mit 280 anderen Mitgliedern ab und freu dich über kostenlose Sprach- und Textchats.
17:39
gctf esport
Avatar
russian?
Avatar
Avatar
Bors Matyas
russian?
you missed a lot of russian fng/block tournaments
18:44
this read is rly interesting
18:45
its about the life of Terence Tao, probs the greatest math guy alive
Avatar
When add dummyleft and dummy right
Avatar
isn't Terence Tao featured on some of the Numberphile videos?
19:53
he is alive
Avatar
Avatar
poopoo
When add dummyleft and dummy right
never.
Avatar
Avatar
meloฦž
never.
why not
Avatar
#5443 #8275 (edited)
Avatar
These simple changes give you complete control over what the dummy should or not copy when using "cl_dummy_copy_moves". This will be helpful for copy fly with dummy for example. Added on ...
Motivation: This pull request introduces new features that enable regular players to perform the same actions on a dummy as they would with their primary character. The motivation behind this enhan...
Avatar
Does anyone know why the particle generation is different in game than on replays? How do the replays work?
Avatar
Avatar
APFFF
Does anyone know why the particle generation is different in game than on replays? How do the replays work?
The particles are always random, the server/demo only specifies for example "explosion" and the center position and this creates the explosion sprite and random smoke particles
Avatar
Avatar
Robyt3
The particles are always random, the server/demo only specifies for example "explosion" and the center position and this creates the explosion sprite and random smoke particles
I changed BulletTrail() to spawn particles more frequently, though that change is not visible in replays
Avatar
Does it work for other effects? I think bullet trails might be special because the demo player tries to reconstruct them somehow
Avatar
Avatar
Robyt3
Does it work for other effects? I think bullet trails might be special because the demo player tries to reconstruct them somehow
Sorry I was wrong. In the replay its shown "correctly", through when you render the video it doesnt
20:54
Same question tho
Avatar
Looks like a bug. If you render a demo it breaks bullet trails during normal demo playback until you restart the client
Avatar
Avatar
Robyt3
Looks like a bug. If you render a demo it breaks bullet trails during normal demo playback until you restart the client
๐Ÿ˜ฆ
Avatar
I think it looks differently during demo rendering because demos are always rendered at cl_video_recorder_fps (default 60 FPS)
Avatar
1. Render a demo containing bullet smoke trail effects. 2. Play back the same demo after rendering finished. 3. The bullet smoke trail effect is now missing, though it seems like it reappears after a few seconds.
Avatar
Avatar
Robyt3
I think it looks differently during demo rendering because demos are always rendered at cl_video_recorder_fps (default 60 FPS)
Do you know what File/Method does that particular rendering?
Avatar
Avatar
APFFF
Do you know what File/Method does that particular rendering?
Demo rendering is in video.cpp/h if you mean that
Avatar
Avatar
Robyt3
Demo rendering is in video.cpp/h if you mean that
yes ty (edited)
Avatar
And there is CItems::ReconstructSmokeTrail in items.cpp which seems to reconstruct a matching smoke trail for predicted projectiles I guess
๐Ÿ‘๐Ÿผ 1
Avatar
Another thing, is it normal that the "local" client has worse perfomance (fps), or is it my code?
Avatar
If you compiled in debug mode then it's expected to be slower than in release mode
๐Ÿ‘๐Ÿผ 1
Avatar
f934110 Add 100 โ‚ฌ anonymous donation - def- 26b9b2a Add 20 โ‚ฌ donation by Derp - def-
Avatar
One last thing: when are methods like CGameClient::OnNewSnapshot() being "triggered"? For example: Damage Indicator for rocket only "triggers" the method once, while Damage Indicator for gun "triggers" it 10 times (where can I influence that?)
Avatar
CGameClient::OnNewSnapshot is called in client.cpp whenever a new snapshot has been received, you can't really influence that. What problem are you trying to solve?
Avatar
Avatar
Robyt3
CGameClient::OnNewSnapshot is called in client.cpp whenever a new snapshot has been received, you can't really influence that. What problem are you trying to solve?
Im trying to only spawn 1 particle on wall collision (damage indication) with gun projectiles instead of 10
Avatar
The 10 damage indicators are created by the server
Avatar
if(Item.m_Type == NETEVENTTYPE_DAMAGEIND) passes 10 times, else if(Item.m_Type == NETEVENTTYPE_EXPLOSION) only once
Avatar
Avatar
Robyt3
The 10 damage indicators are created by the server
Avatar
In projectile.cpp there's a call to CreateDamageInd with argument 10
21:27
So you get 10 individual damage indicator particles on the client side
Avatar
Ah man, I hoped it was client side
Avatar
I think 0.7 changed this so the number of particles is inside the damage indicator effect
Avatar
I guess there are only "ugly" workarounds then (edited)
Avatar
You could remember the positions of all damage indicators in each snapshot to ignore the damage indicators with identical position
21:30
Since all 10 damage indicators should start at the same position
Avatar
But i guess there is no way to distinguish between "shots" without timing/counting, right? (edited)
Avatar
No, I don't think you can easily find out which projectile the effect belonged
Avatar
Is the code asynchronous ?
Avatar
I don't know what you mean with "asynchronous ". Gameplay is basically all single-threaded
21:37
Guess I used the wrong term, mb
21:41
@Robyt3 thanks for all the help, got exactly what I was trying to do. Just trying to getting to know the project atm, so I really appreciate your help (even though some questions might be a little stupid) (edited)
Avatar
Avatar
chillerdragon
What are old vanilla teeworlds servers? and what are you working on?
Exported 142 message(s)