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-03-07 00:00:00Z and 2024-03-08 00:00:00Z
Avatar
Avatar
Matodor
Click to see attachment 🖼️
can you check for me?
Avatar
the entire snap chunk payload: \x9A\x51\x9B\x51\xB3\x92\xAD\xB9\x0B\x9F\x01\x00\x03\x00\x06\x00\x00\x00\x00\x00\x14\x00\x00\x01\x0B\x00\xDA\xC8\xF0\x91\x02\xCC\xB0\xD0\xB1\x02\xDA\xE8\xD8\xF0\x0B\xFF\xFF\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFF\xFB\xF7\x0F\x40\xDE\xE4\xD0\xB1\x03\xFF\xAD\x98\xA1\x01\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFF\xFB\xF7\x0F\x00\x80\xFE\x07\x80\xFE\x07\x0A\x00\x01\x00\x00\x00\x00 only the snap payload (content after size bytes): \x00\x03\x00\x06\x00\x00\x00\x00\x00\x14\x00\x00\x01\x0B\x00\xDA\xC8\xF0\x91\x02\xCC\xB0\xD0\xB1\x02\xDA\xE8\xD8\xF0\x0B\xFF\xFF\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFF\xFB\xF7\x0F\x40\xDE\xE4\xD0\xB1\x03\xFF\xAD\x98\xA1\x01\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFF\xFB\xF7\x0F\x00\x80\xFE\x07\x80\xFE\x07\x0A\x00\x01\x00\x00\x00\x00
00:04
since teeframe is currently only a server implementation, it only encodes snaps, it cant decode, so I think I cant help much more than this (edited)
Avatar
Avatar
Miguilim
the entire snap chunk payload: \x9A\x51\x9B\x51\xB3\x92\xAD\xB9\x0B\x9F\x01\x00\x03\x00\x06\x00\x00\x00\x00\x00\x14\x00\x00\x01\x0B\x00\xDA\xC8\xF0\x91\x02\xCC\xB0\xD0\xB1\x02\xDA\xE8\xD8\xF0\x0B\xFF\xFF\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFF\xFB\xF7\x0F\x40\xDE\xE4\xD0\xB1\x03\xFF\xAD\x98\xA1\x01\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFF\xFB\xF7\x0F\x00\x80\xFE\x07\x80\xFE\x07\x0A\x00\x01\x00\x00\x00\x00 only the snap payload (content after size bytes): \x00\x03\x00\x06\x00\x00\x00\x00\x00\x14\x00\x00\x01\x0B\x00\xDA\xC8\xF0\x91\x02\xCC\xB0\xD0\xB1\x02\xDA\xE8\xD8\xF0\x0B\xFF\xFF\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFF\xFB\xF7\x0F\x40\xDE\xE4\xD0\xB1\x03\xFF\xAD\x98\xA1\x01\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFD\xFB\xF7\x0F\xFF\xFF\xFB\xF7\x0F\x00\x80\xFE\x07\x80\xFE\x07\x0A\x00\x01\x00\x00\x00\x00
since its a snap single and not a slice, you sure have the removed items, updated items, and unused 00 at the beginning
00:04
so its 0 removed items
00:05
3 updated items
00:05
00 - unused
00:05
since there is no removed items, all snap items sent have it item id, id, and payload
00:06
first item is 6 - obj_game_info
00:06
id is 0 - as obj_game_info id is always zero
Avatar
Avatar
Miguilim
deltaTick 5211
since delta tick in this case is current tick - (-1), there is no confirmed snap known by the client (delta snap) (edited)
00:09
so this snap single payload contains all snaps items and game context the client should be aware of
Avatar
Avatar
Miguilim
since delta tick in this case is current tick - (-1), there is no confirmed snap known by the client (delta snap) (edited)
and because of that, all values are the real values and not the diff from the last delta snap
00:32
209df98 List all practice commands when enabling /practice - furo321 1afdf47 Merge pull request #8072 from furo321/practice-helptext - heinrich5991
Avatar
chillerdragon: how can i rebase my teeworlds branch to latest community, am little dum =]
07:45
its llvm 18 time
Avatar
Avatar
Ryozuki
its llvm 18 time
owo
Avatar
@Jupstar ✪ i know ur afk from discord but i enabled lto on gentoo
08:51
i forgot to do so
08:51
i also enabled o3 on some packages
Avatar
now u have a fast
Avatar
chillerdragon BOT 2024-03-07 08:57:31Z
oh i just realized thats a bit annoying since its a pr upstream as well then you break your teeworlds pr if you merge it into community
Replying to @MilkeeyCat chillerdragon: how can i rebase my teeworlds branch to latest community,…
08:59
Maybe just pr against community directly from a latest version. git remote add communism https://github.com/teeworlds-community/teeworlds/ git fetch communism git checkout community git checkout -b your_epic_branch_name then add changes there and pull directly here https://github.com/teeworlds-community/teeworlds/pulls
A community fork of teeworlds. Trying to have more active maintainers and merge prs faster. - Pull requests · teeworlds-community/teeworlds
08:59
i might have the mirror bot do that actually to fix the pipeline problem for all branches
09:00
so annoying that the merge queue has to pass the pipeline before merge. Does not make much sense to me. The only relevant state is after merge.
09:02
btw you dont have to copy paste changes you can just run this git cherry-pick b855a9db2cf0cd8fa6e5f56c68c78a0667d579d5 on the new branch and push
Avatar
do i have to be on teeworld or community-teeworlds? justatest
Avatar
chillerdragon BOT 2024-03-07 09:03:30Z
what is "be on"
09:03
you can do that from your teeworlds/teeworlds fork its fine
Avatar
chillerdragon BOT 2024-03-07 09:03:51Z
you can do inter fork cross entanglement pullrequests
Avatar
chillerdragon BOT 2024-03-07 09:55:52Z
oh interesting so my parser falsely detected it as map download hmm thanks a lot
Replying to @Miguilim second chunk is a snap single , so no sequence number
10:00
no time for that now and will forget later lol. But you can pr or issue all my infra is open source this should be located at zillyhuhn/server-config on github
Replying to @Matodor ChillerDragon: when any allow-origin? […]
10:00
pls open an issue if you found a bug they get lost in this chat
Replying to @zhn ChillerDragon: two bugs we found
Avatar
ws-client BOT 2024-03-07 11:13:57Z
<ChillerDragon> > can you give an example of when you'd use multiple cursors?
11:14
<ChillerDragon> @heinrich5991 idk where to start so many times i need multiple cursors
11:14
<ChillerDragon> for example editing this piece of code
11:15
<ChillerDragon> or copy pasting a wall of text and transforming its structure
Avatar
What would u want to edit in these lines?
Avatar
ws-client BOT 2024-03-07 11:16:35Z
<ChillerDragon> or doing this
11:17
<ChillerDragon> @MilkeeyCat doesn't matter usually if you want to edit something in those lines its the same for every line. So if you can do word jumps and have a separate clipboard and word boundaries for everyline its amazing
11:18
<ChillerDragon> turn yaml to json etc
Avatar
Avatar
ws-client
<ChillerDragon> > can you give an example of when you'd use multiple cursors?
Ws Client broken again, reply didnt Work
Avatar
ws-client BOT 2024-03-07 11:22:51Z
<ChillerDragon> what didnt? work?
Avatar
Up is working - down is Not
Avatar
ws-client BOT 2024-03-07 11:24:53Z
<ChillerDragon> one is a reply from matrix the other is from irc which has no replies
11:25
<ChillerDragon> @MilkeeyCat https://tube.zillyhuhn.com/video.php?t=vscode_multi_cursor.mp4&u=chiller if the function signature changes this could be an example
11:26
<ChillerDragon> with multicursor anything tedious becomes fun
11:26
<ChillerDragon> s/anything/manything/ yes thats a word
11:31
chillerdragon
Avatar
ws-client BOT 2024-03-07 11:33:36Z
<ChillerDragon> no doubt you can do every multicursor vscode action in vim
11:33
<ChillerDragon> but it looks more complex to type and also more complex to reason about
11:34
<ChillerDragon> id claim vscode is fast because it requires less keystrokes and less mental capacity
11:34
<ChillerDragon> another common use case is this one @heinrich5991
Avatar
I kinda like writing macros
11:35
Its fun xd
11:35
But not fun when ut doesn't work first try
Avatar
ws-client BOT 2024-03-07 11:35:55Z
<ChillerDragon> yes multicursor is very forgiving when it comes to mistakes
11:36
<ChillerDragon> undo and corrections and tinkering is smooth
11:37
<ChillerDragon> if its only 2 or 3 lines its so nice because the overhead of multicursor is non existant
Avatar
ws-client BOT 2024-03-07 11:46:48Z
<ChillerDragon> mostly there is a few twists so one fix macro usually doesnt catch all edge cases
11:46
<ChillerDragon> but a few different multi cursors do
11:47
<ChillerDragon> json to yaml
11:47
<ChillerDragon> i can do this all day
Avatar
Send json santatrollet
Avatar
ws-client BOT 2024-03-07 11:48:30Z
<ChillerDragon> {"name":"John","age":30,"car":null,"foo":"bar","baz":"bang","nob":"cat","skill":420}
11:52
<ChillerDragon> @MilkeeyCat we should compete in some codewars site just reformatting code xd
11:52
<ChillerDragon> is that a thing?
Avatar
if its not, it can become a thing xd
Avatar
ws-client BOT 2024-03-07 11:53:35Z
<ChillerDragon> for sure i could see this being fun for 5mins getting random snippets pvp'ing a friend first to refactor every tool allowed
Avatar
chillerdragon in the 0.7 coding competition (he won because hes the only person who ever codes 0.7)
Avatar
ws-client BOT 2024-03-07 11:54:11Z
<ChillerDragon> pastes into chatgpt5
Avatar
ws-client BOT 2024-03-07 11:56:28Z
<ChillerDragon> lmao jq
11:56
<ChillerDragon> nice one
11:56
<ChillerDragon> again prime enjoyer detected hehe
Avatar
Its pretty useful thing
Avatar
ws-client BOT 2024-03-07 11:58:15Z
<ChillerDragon> nice subst
11:58
<ChillerDragon> ye u pro
11:58
<ChillerDragon> but id still claim im faster :p
11:58
<ChillerDragon> i guess we never know
Avatar
You are faster because you are pro
12:00
And me nub
Avatar
ws-client BOT 2024-03-07 12:00:24Z
<ChillerDragon> skill issue?
Avatar
I dont do that kind of refactoring often
12:00
But yea, skill issue
Avatar
ws-client BOT 2024-03-07 12:03:34Z
<ChillerDragon> but using ! is bit chot
12:03
<ChillerDragon> lemme do speedrun using ! xd
Avatar
U can use bang in vscode
Avatar
U can do this in vim
Avatar
ws-client BOT 2024-03-07 12:07:11Z
<ChillerDragon> if u need ! to be effective in vim you are basically bash enjoyer not vim enjoyer axaxax
Avatar
why would i spend 20 mins writing ugly ass regex when i can just use ! thonk
Avatar
ws-client BOT 2024-03-07 12:08:17Z
<ChillerDragon> xd
12:08
<ChillerDragon> agree
12:08
<ChillerDragon> i am big bash enjoyer and its no secret
12:08
<ChillerDragon> in bash you dont even need !
Avatar
I saw Minecraft server in bash vid
12:09
From prime
12:09
kek
Avatar
ws-client BOT 2024-03-07 12:09:03Z
<ChillerDragon> ye me too
Avatar
That thing is so cursed justatest
Avatar
ws-client BOT 2024-03-07 12:09:26Z
<ChillerDragon> made me think about minetee
12:09
<ChillerDragon> i should learn mc protocol before discussing w heinrich again :D
Avatar
Avatar
ws-client
ah. in vim, I usually use macros for these
Avatar
I remember they use 9 digits after . For position in one block
Avatar
ws-client BOT 2024-03-07 12:10:54Z
<ChillerDragon> in prime vid the blog mentioned 4 bit per block xd. And the protocol we plan in #7666 has 41 BYTES per tile LMAOOOO
12:11
Not sure how exactly it should look like. I quickly came up with a poc that looks like this NetMessageEx("Sv_ModifyTile", "modify-tile@netmsg.ddnet.org", [ NetIntAny("m_X&q...
12:11
<ChillerDragon> if a minetee creeper explodes the removed tiles are basically ddos xd
Avatar
ah, looks nice. thanks for the example 🙂
Avatar
I didn't find a website where u can compete with others by refactoring code, and it goes into my todo project list
Avatar
ws-client BOT 2024-03-07 12:29:26Z
<ChillerDragon> nice
Avatar
But before that there're two ddnet related projects i have to finish first XD
Avatar
Avatar
MilkeeyCat
But before that there're two ddnet related projects i have to finish first XD
🥺 demo webviewer first pls
Avatar
Avatar
Matodor
🥺 demo webviewer first pls
Did u see that giga cool laggy map? xd
✅ 1
12:48
I made a feature to render object containers aaand it just silently doesn't work
12:48
No errors, just empty screen
12:48
Poggers
Avatar
Avatar
Matodor
🥺 demo webviewer first pls
Avatar
Oh ye, my demo viewer is completely useless
Avatar
Avatar
archimede67
👎🏻👎🏻
12:50
need pure js project
Avatar
Lmao
Avatar
✖️ client wrapper ✖️
Avatar
Then add server with ws and send requests from frontend
Avatar
wow
12:54
there's a web demo render now??
Avatar
Avatar
bamcane
there's a web demo render now??
just a client ported to web
Avatar
Avatar
archimede67
@Lumpy ◐ω◑ i did it 😏
Avatar
hm
12:55
i couldn't load it, there's only a white screen be displayed
Avatar
Avatar
MilkeeyCat
@Lumpy ◐ω◑ i did it 😏
Lumpy ◐ω◑ 2024-03-07 13:16:57Z
what is it thonk
Avatar
Avatar
Lumpy ◐ω◑
what is it thonk
Cant u read? ._.
Avatar
Avatar
MilkeeyCat
Cant u read? ._.
Lumpy ◐ω◑ 2024-03-07 13:18:47Z
ye I read ddnet..
Avatar
Avatar
MilkeeyCat
I made a feature to render object containers aaand it just silently doesn't work
writing types for webgl calls from typless language is so much fun pepeW
Avatar
@Learath2 c question
15:20
how do u benchmark a function
15:21
clock_t begin = clock(); /* here, do your time-consuming job */ clock_t end = clock(); double time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
15:21
is tihs good enough?
15:21
time.h
Avatar
That should be fine but you probably want a high precision time rather than just any time
15:22
I would also do it a couple thousand times in a loop and divide
15:23
Maybe do it a dozen times or so before you start timing to help the branch predictor. Idk it all depends on how accurate you need to get
Avatar
@Learath2 how can u make sure it doesnt get optimized out
15:23
the fn call
15:23
does it optimize extern fns?
Avatar
Put it in a separate TU and it won't be optimized indeed
15:25
ah
15:25
the extern fn is from a static lib
15:25
my lib compiled from my lang
Avatar
There is also a compiler attribute you can mark your function with but I don't remember
Avatar
Avatar
Ryozuki
the extern fn is from a static lib
It it's extern from a static lib you are fine. It can't be optimized out completely unless you use LTO
15:32
This sort of micro benchmark on the function level is not very useful unless you already have a theory as to how it will turn out btw
15:34
Because of emergent behaviour of compilers it's really hard to extrapolate from microbenchmarks to what happens in an overall program
Avatar
ye i know
15:37
xd
15:38
@Learath2 tbh this is for the lang im making at work
15:38
the boss wants a microbench
kek 1
Avatar
Oh btw, careful clock() iirc is the cpu clock. If there is any io or if your cores are contended you will get bad results
15:41
You want a quiet system, and you want to use a different source of timing if there is any io involved at all
Avatar
Or if one solution involves offloading the computation to something that is not the CPU 😄
Avatar
@Learath2 well its more like a regression bench
15:48
to know if we lose perf
15:48
i guess
Avatar
Avatar
Ryozuki
to know if we lose perf
The issue I was trying to highlight is that even if you do lose performance at this level, it might not change anything in the overall performance of your program. That's all, but I'm sure your boss already knows that.
Avatar
Avatar
Learath2
The issue I was trying to highlight is that even if you do lose performance at this level, it might not change anything in the overall performance of your program. That's all, but I'm sure your boss already knows that.
some stuff is more done for marketing than practical uses
16:01
too
Avatar
#include <assert.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <time.h> extern uint64_t edlang_function(uint64_t n); extern uint64_t rust_function(uint64_t n); struct timespec timer_start() { struct timespec start_time; clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start_time); return start_time; } long timer_end(struct timespec start_time) { struct timespec end_time; clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end_time); long diffInNanos = (end_time.tv_sec - start_time.tv_sec) * (long)1e9 + (end_time.tv_nsec - start_time.tv_nsec); return diffInNanos; } int main(int argc, const char **argv) { if (argc < 2) { fprintf(stderr, "missing iteration arguments\n"); return 1; } if (argc < 3) { fprintf(stderr, "missing input number argument\n"); return 1; } int num_iters = atoi(argv[1]); int input = atoi(argv[2]); uint64_t result_edlang; uint64_t result_rust; // warmup + sanity check for (size_t i = 0; i < 3; ++i) { assert(edlang_function(input) == rust_function(input)); } printf("Running %d iterations\n", num_iters); printf("Using input value:\t%d\n", input); { struct timespec vartime = timer_start(); for (size_t i = 0; i < num_iters; ++i) { result_edlang = edlang_function(input); } long time_elapsed_nanos = timer_end(vartime); printf("edlang Result =\t%lu\t\tTime taken : %.2Lf ms\n", result_concrete, (long double)time_elapsed_nanos / 1000000.0L); } { struct timespec vartime = timer_start(); for (size_t i = 0; i < num_iters; ++i) { result_rust = rust_function(input); } long time_elapsed_nanos = timer_end(vartime); printf("Rust Result =\t\t%lu\t\tTime taken : %.2Lf ms\n", result_rust, (long double)time_elapsed_nanos / 1000000.0L); } assert(result_edlang == result_rust); return 0; }
16:55
@Learath2 behold my C program
Avatar
This PR adds the following to the mlir c api: The disctinct mlir builtin attribute. LLVM attributes (mostly debug related ones)
17:14
another pr merged into llvm
17:15
this one way bigger
17:15
got already more pr ideas
Avatar
Avatar
Ryozuki
@Learath2 behold my C program
not enough ub
Avatar
linux enjoyers, pls send help, why my sed not working Zzz_7062057890308424505 paul@ubuntu-hp:~/test2$ cat random2.cfg | grep password password: "superduperpass" paul@ubuntu-hp:~/test2$ sed -i 's/password:.{0,}/password:asd/g' random2.cfg paul@ubuntu-hp:~/test2$ cat random2.cfg | grep password password: "superduperpass"
troll 2
Avatar
try without -i
18:00
to see the result
18:00
without cat
18:00
ah well u grepping
18:00
hm try with -E idk
18:00
its been long
18:01
.{0,}
18:01
are u sure this is matching
18:01
just do .*
18:02
❯ sed 's/password:.*/password: asd/' a password: asd
18:02
0 matches only 0 times
Avatar
Avatar
Ryozuki
just do .*
lol, worked smh
18:02
regex test website showed .{0,} works as well (edited)
18:03
thanks a lot
18:03
it works
18:03
with -E
18:03
as i said
18:03
❯ sed -E 's/password:.{0,}/password: asd/' a password: asd
18:03
-E enables fancier regex
18:03
sed is ancient
Avatar
Avatar
Ryozuki
-E enables fancier regex
justatest not listed on man sed
18:03
oh ok it does
Avatar
❯ sed --help | rg E -E, -r, --regexp-extended (for portability use POSIX -E). E-mail bug reports to: <bug-sed@gnu.org>.
Avatar
sed doesn’t usually work in regex mode
18:29
ex
18:29
regexex
Avatar
Avatar
Ewan
sed doesn’t usually work in regex mode
idk why i read it as
sex doesn’t usually work in regex mode
Avatar
also true
Avatar
omg, that's so gooood
19:18
sadly Jupstar can't see all these fps feelsbadman
Avatar
Avatar
MilkeeyCat
omg, that's so gooood
where map
Avatar
no map
20:09
but there many many tiles
Avatar
i'm trying to cross compile from fedora to windows, you guys ever got this error? CMake Error at cmake/FindSSP.cmake:12 (message): could not find ssp paths Call Stack (most recent call first): CMakeLists.txt:544 (find_package)
Avatar
Avatar
Cipy29
i'm trying to cross compile from fedora to windows, you guys ever got this error? CMake Error at cmake/FindSSP.cmake:12 (message): could not find ssp paths Call Stack (most recent call first): CMakeLists.txt:544 (find_package)
On Windows this error message usually means ddnet-libs are missing or not updated. I don't know how to get the ssp lib for cross compiling though.
Avatar
I got it here /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libssp-0.dll but it seems like it doesn't see it
Avatar
Take a look at FindSSP.cmake
Avatar
ye I tried fixit it like this (without comments) #set(SSP_COPY_FILES #"/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libssp-0.dll" but it didnt do it
21:14
i was hoping someone got it before and someone knew quick fix xd, but if not, imma do more gpt4-ing xd
Avatar
Did you try cloning ddnet-libs already and building with precompiled libs or does that not work?
Avatar
nope, haven't tried, imma try
Avatar
Avatar
Robyt3
Did you try cloning ddnet-libs already and building with precompiled libs or does that not work?
haha, worked, thanks ❤️
troll 1
Avatar
CMake Error (dev) at debug/googletest-src/googletest/cmake/internal_utils.cmake:239 (find_package): Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules are removed. Run "cmake --help-policy CMP0148" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Call Stack (most recent call first): debug/googletest-src/googletest/CMakeLists.txt:84 (include) This error is for project developers. Use -Wno-error=dev to suppress it.
21:39
Any idea how to fix this in GH actions?
Avatar
Avatar
fokkonaut
CMake Error (dev) at debug/googletest-src/googletest/cmake/internal_utils.cmake:239 (find_package): Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules are removed. Run "cmake --help-policy CMP0148" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Call Stack (most recent call first): debug/googletest-src/googletest/CMakeLists.txt:84 (include) This error is for project developers. Use -Wno-error=dev to suppress it.
#6913
Avatar
https://cmake.org/cmake/help/latest/policy/CMP0148.html Checklist Tested the change ingame Provided screenshots if it is a visual change Tested in combination with possibly related configuratio...
Avatar
thanks
Avatar
Rename StrToInts function to str_to_int32 and add strict validation. Because this function should only used with trusted internal strings, assertions are added to ensure that no invalid UTF-8 is being encoded as integers and that the string is not truncated. Some buffer sizes are adjusted accordingly, so truncation cannot happen. Rename IntsToStr function to int32_to_str and add lenient validation. An additional argument specifying the size of the output buffer is added to assert t...
Avatar
@zhn you're such a chad sometimes
justatest 2
Avatar
2024-03-07 22:51:10 I assert: /home/deen/isos/ddnet/ddnet-source/src/base/system.cpp(4587): Invalid UTF-8 passed to windows_utf8_to_wide 2024-03-07 22:51:10 I assert: /home/deen/isos/ddnet/ddnet-source/src/base/system.cpp(4587): Invalid UTF-8 passed to windows_utf8_to_wide this one's interesting, what could've caused this? - our map has a graphical issue, but i dont think its related is it?: 2024-03-07 22:51:10 I Warning: The width of texture "embedded: 5" is not divisible by 16, or the height is not divisible by 16, which might cause visual bugs.
22:30
i got this sent to by a player, he said joining other servers/maps works fine - and we currently have 20 players without any issues
22:32
update: redownloading the map helps, but im still curious as to why that happens/happened
Avatar
This was a bug a while ago where loading the map into the editor and then saving it would corrupt the images right?
Avatar
Avatar
meloƞ
update: redownloading the map helps, but im still curious as to why that happens/happened
Are you on the newest version?
Avatar
oh it didnt happen for me, it was a player on our server, and redownloading the map fixed the issue - he was on latest release
Avatar
Hmm okay
22:34
Weird
Avatar
ye i couldnt connect the dots on this one :D
Avatar
Maybe his network gave up on him a ripped a few packets outta there
Avatar
Avatar
meloƞ
oh it didnt happen for me, it was a player on our server, and redownloading the map fixed the issue - he was on latest release
If it happens again, copy the corrupted map and send it please. Invalid UTF-8 in image/sound names should already be checked with latest client though. Checks for invalid layer/group/envelope names will be added by the PR I just opened.
22:40
Did this happen on an official DDNet server?
Avatar
it happened on a teeworlds mod with latest ddnet
Avatar
Maybe it was the skin name related crash, which should be fixed on the client side by the PR above and on the server-side on DDNet and KoG servers already
Avatar
hmm maybe, i'll drop the stuff in here when it happens again and i cant figure it out myself!
Avatar
If you use Windows you should have a crash log (.RTP file), which should tell where the invalid UTF-8 comes from
Exported 260 message(s)