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-10-13 00:00 and 2024-10-14 00:00
Avatar
ws-client1 BOT 2024-10-13 00:44
<ChillerDragon> @zhn i actually changed my mind about that. Since I recently managed to get vanilla gameplay working without causing too much git conflict surface ddnet-insta can now do CTF and DM too
00:45
<ChillerDragon> did you find any bugs @Pathos ?
Avatar
Avatar
ws-client1
<ChillerDragon> did you find any bugs @Pathos ?
Everyone just moved to the usual server instead -- will take some time to try some full games on the new experimental server
Avatar
GitHub BOT 2024-10-13 08:42
Sometimes I was not able to tell what the commands do based on help text and could only find out myself by looking into the code (or actually ask someone else maybe). I think some of them should be revised to explain the commands better and here are some of my suggestions. My English is not good so I expect someone else to actually write a new help text for each. Others are minor consistency issues. | Command | Current help text | My suggestions | |--------|--------|--------| | `timeou...
Avatar
Avatar
MilkeeyCat
fn add(lhs: usize, rhs: usize) -> usize { return lhs + rhs; } fn sub(lhs: usize, rhs: usize) -> usize { return lhs - rhs; } fn main() -> u8 { let ptrs: fn(usize, usize)->usize[2] = [sub, add]; let value: usize; // there're whoopsie daisies with other types than u8(segfault) for let i: u8 = 0; i < 2; i = i + 1 { value = ptrs[(i as usize)](i as usize, i as usize); printf("%d", value); } return 0; } @Learath2 I didn't decide anything regarding enums but I added function pointers justatest (edited)
Nice, when post/pre increment owo
Avatar
Avatar
Mʎɹ シ
Nice, when post/pre increment owo
MilkeeyCat 2024-10-13 09:40
i don't need that
banhammer 1
🔥 1
09:41
And I almost made macros loading work lol
09:41
I have no idea how to debug that
Avatar
preincrement booh
Avatar
MilkeeyCat 2024-10-13 09:45
typedef struct { const char *name; Data *(*fn)(Data *); } Macro; typedef struct { size_t size; Macro macros[]; } Macros; how to make such structs in rust?
🥛 1
🐱 1
09:46
to be precise how to do this part Macro macros[];
Avatar
Avatar
MilkeeyCat
to be precise how to do this part Macro macros[];
Flexible Array Members don't exist in many languages. You'll have to just take the L and use a Vec (edited)
09:56
C is such a brilliant language, makes me feel warm and fuzzy inside
Avatar
GitHub BOT 2024-10-13 10:49
Use a condition variable instead of busy waiting until HTTP requests are done. Also set the state EHttpState::RUNNING which was previously unused. Closes #7811.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array ind...
Avatar
Avatar
Learath2
Flexible Array Members don't exist in many languages. You'll have to just take the L and use a Vec (edited)
MilkeeyCat 2024-10-13 10:59
Look at dis santatrollet #[repr(C)] struct Macros { size: usize, _macros: [Macro; 0], } trait GimmeMacros { fn macros(&self) -> &[Macro]; } impl GimmeMacros for *const Macros { fn macros(&self) -> &[Macro] { unsafe { let skip_size = self.byte_add(size_of_val(&self.read().size)); std::slice::from_raw_parts(skip_size as *const Macro, self.read().size) } } } (edited)
Avatar
Avatar
MilkeeyCat
Look at dis santatrollet #[repr(C)] struct Macros { size: usize, _macros: [Macro; 0], } trait GimmeMacros { fn macros(&self) -> &[Macro]; } impl GimmeMacros for *const Macros { fn macros(&self) -> &[Macro] { unsafe { let skip_size = self.byte_add(size_of_val(&self.read().size)); std::slice::from_raw_parts(skip_size as *const Macro, self.read().size) } } } (edited)
@Ryozuki scold him rn, disgusting unsafe used
Avatar
whats this
Avatar
Avatar
MilkeeyCat
typedef struct { const char *name; Data *(*fn)(Data *); } Macro; typedef struct { size_t size; Macro macros[]; } Macros; how to make such structs in rust?
MilkeeyCat 2024-10-13 11:03
I have global variable of type Macros in shared object, and I had to get it somehow
Avatar
why u hace a global var
Avatar
h-1 for the departure of SpaceX Starship
Avatar
Emulating FAMs in Rust
Avatar
GitHub BOT 2024-10-13 11:29
ad8349b Avoid busy waiting in CHttpRequest::Wait function - Robyt3 a397688 Merge pull request #9145 from Robyt3/Http-Request-Wait-Condition - def-
Avatar
@Robyt3 I don't think #9145 is sane. You have to be holding the mutex while modifying the condition
Avatar
Use a condition variable instead of busy waiting until HTTP requests are done. Also set the state EHttpState::RUNNING which was previously unused. Closes #7811. Checklist Tested the change ingame...
Avatar
Avatar
Learath2
@Robyt3 I don't think #9145 is sane. You have to be holding the mutex while modifying the condition
This answer looked good enough to me: https://stackoverflow.com/a/17102100
I am a bit confused about the use of std::condition_variable. I understand I have to create a unique_lock on a mutex before calling condition_variable.wait(). What I cannot find is whether I should...
Avatar
всем привет
11:41
можете подсказать,как скачать текстуры в ddnet
Avatar
Avatar
Robyt3
This answer looked good enough to me: https://stackoverflow.com/a/17102100
You don't need to be holding the lock to notify. But you do need to modify the condition itself under lock (edited)
Avatar
Avatar
Rossingol
можете подсказать,как скачать текстуры в ddnet
Hi! Most of us communicate in English. If you’re having trouble with English, use https://www.deepl.com/en/translator to help you out.
Avatar
IOW the state needs to change under lock (edited)
Avatar
I see. I can fix it later
Avatar
Jupstar ✪ 2024-10-13 11:57
KEKW 2
Avatar
Avatar
Rossingol
можете подсказать,как скачать текстуры в ddnet
#off-topic or english in #questions
Avatar
LMAOOO
12:33
spacex landed it
12:34
poggers2 5
Avatar
Ez Clap
12:42
Promising future is ahead, space era
Avatar
Jupstar ✪ 2024-10-13 12:45
android:supportsRtl="true" biggest lie in ddnet code 😂
Avatar
Avatar
Jupstar ✪
android:supportsRtl="true" biggest lie in ddnet code 😂
Technically true since we don't have any Android-native layout code
12:48
Declares whether your application is willing to support right-to-left (RTL) layouts.
Also this doesn't say anything about the actual effort that we take, just that we are willing 😄
Avatar
Jupstar ✪ 2024-10-13 12:48
I don't understand why landscape is working properly in cpp version for the vk backend, but not in my app. What black magic do we use. I always get a surface suboptimal, bcs the orientation is 90° rotated (probably bcs teh default mode is not landscape)
Avatar
Avatar
Robyt3
Declares whether your application is willing to support right-to-left (RTL) layouts.
Also this doesn't say anything about the actual effort that we take, just that we are willing 😄
Jupstar ✪ 2024-10-13 12:49
xD
Avatar
Avatar
Jupstar ✪
I don't understand why landscape is working properly in cpp version for the vk backend, but not in my app. What black magic do we use. I always get a surface suboptimal, bcs the orientation is 90° rotated (probably bcs teh default mode is not landscape)
We pay google extra
Avatar
Jupstar ✪ 2024-10-13 12:50
Maybe I should just debug cpp version if that claim is even true
12:50
When latest NDK support @Robyt3 xd
Avatar
Avatar
Jupstar ✪
When latest NDK support @Robyt3 xd
How outdated are we? I think I had build problems with some newer versions pepeW
Avatar
Jupstar ✪ 2024-10-13 12:51
Yeah, can i force the NDK toolkit to use?
Avatar
You mean if you have multiple installed?
Avatar
Jupstar ✪ 2024-10-13 12:53
mold: fatal: ddnet_engine_shared-cd5af9afb6c5385a.1x1mslembt45wzvj8781d2swp.rcgu.o: incompatible file type: arm64 is expected but got x86_64 This is the err in newer NDK versions, so weird
Avatar
Avatar
Robyt3
You mean if you have multiple installed?
Jupstar ✪ 2024-10-13 12:53
I have yes
Avatar
Avatar
Jupstar ✪
mold: fatal: ddnet_engine_shared-cd5af9afb6c5385a.1x1mslembt45wzvj8781d2swp.rcgu.o: incompatible file type: arm64 is expected but got x86_64 This is the err in newer NDK versions, so weird
And it works when you use mold with older NDK? Or does it maybe use a different linker with newer NDKs?
Avatar
Avatar
Robyt3
And it works when you use mold with older NDK? Or does it maybe use a different linker with newer NDKs?
Jupstar ✪ 2024-10-13 12:55
as far as i remembered it worked in ndk 26
12:56
it's compiling
12:56
elevator music
12:56
ok no
12:56
it does not 😮
12:57
ah wait
12:57
that was about rust stable
12:57
vs nightly, right
12:57
mold: error: undefined symbol: __sendto_chk man ndk 26 used to work
12:57
now it doesnt anymore :c
Avatar
Avatar
Jupstar ✪
I have yes
ANDROID_NDK_VERSION="$(cd "$ANDROID_HOME/ndk" && find . -maxdepth 1 | sort -n | tail -1)" ANDROID_NDK_VERSION="${ANDROID_NDK_VERSION:2}" # ANDROID_NDK_HOME must be exported for cargo-ndk export ANDROID_NDK_HOME="$ANDROID_HOME/ndk/$ANDROID_NDK_VERSION" Seems like the build script currently uses the folder based on the sorting the filenames, so you can't easily use an older NDK
Avatar
Jupstar ✪ 2024-10-13 12:58
ah yeah i remember that code
Avatar
Avatar
Jupstar ✪
mold: error: undefined symbol: __sendto_chk man ndk 26 used to work
Jupstar ✪ 2024-10-13 13:00
well anyway, can't compile anyway, bcs this
13:00
dunno if i need to recompile the libs again
Avatar
Did you make sure to clean the build directory after changing NDK?
Avatar
Jupstar ✪ 2024-10-13 13:01
yeah it doesn't change it otherwise 😄
13:04
ok recompiling android libs fixed it: next challenge Path for java installation '/usr/lib/jvm/openjdk-17' (Common Linux Locations) does not contain a java executable Path for java installation '/usr/lib/jvm/openjdk-21' (Common Linux Locations) does not contain a java executable
13:04
xD
13:04
it's just way too hard to compile for android
13:05
openjdk-21-jdk ist schon die neueste Version (21.0.5~8ea-1).
Avatar
You should only have JDK 21 I guess. But the warnings can be ignored: https://stackoverflow.com/a/77799747
I am new to gradle. I am getting an warning message when using gradle build: gradle build Path for java installation '/usr/lib/jvm/openjdk-11' (Common Linux Locations) does not contain a java execu...
Avatar
Jupstar ✪ 2024-10-13 13:05
ah it's only a warning i see
13:06
confused me that they put it under the error
Avatar
Yeah, I also get them though I only have JDK 21
Avatar
Jupstar ✪ 2024-10-13 13:06
ok nice
Avatar
Did you pass a package name by argument?
Avatar
Jupstar ✪ 2024-10-13 13:06
works now i think
Avatar
You passed DDNet when you should have passed org.ddnet.client I guess
Avatar
Jupstar ✪ 2024-10-13 13:07
Doppelte Klasse: org.ddnet.client.NativeMain public class NativeMain extends SDLActivity { lmao
13:07
it trolls now
13:08
ok delete & recompile it is
Avatar
Did you delete the java files from the build folder?
13:08
If you used a different package name before you'd still have the old files there
Avatar
Jupstar ✪ 2024-10-13 13:08
ah interesting
13:08
epyc worked
13:11
Ok the vk backend actually gets the same orientation here too. Really weird that it works here
13:11
are touch controls a release mode thing?
13:11
for me there were not on by default
Avatar
GitHub BOT 2024-10-13 13:12
See #9145.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#us...
Avatar
Avatar
Jupstar ✪
are touch controls a release mode thing?
They should be enabled by default if you are compiling for Android (edited)
Avatar
Jupstar ✪ 2024-10-13 13:12
Mh weird
13:12
it deleted the old app, so this isnt some old config
13:12
i also got the welcome screen
13:13
i reinstall
Avatar
Weird. Do you have other Android specific functions? E.g. when you minimize the app it should save the config
Avatar
Jupstar ✪ 2024-10-13 13:13
still not there lol
Avatar
Avatar
Robyt3
Weird. Do you have other Android specific functions? E.g. when you minimize the app it should save the config
Jupstar ✪ 2024-10-13 13:13
but i had a clean config
13:13
so it must be on or not?
Avatar
Can you check in the console?
13:14
If the config failed to load you'd also see no touch controls, but you should see the extra line of buttons in the ingame menu (and a warning)
Avatar
Avatar
Robyt3
If the config failed to load you'd also see no touch controls, but you should see the extra line of buttons in the ingame menu (and a warning)
Jupstar ✪ 2024-10-13 13:15
yeah but there are not there either
Avatar
To confirm, did you actually check out the PR? It's not merged yet (edited)
Avatar
Jupstar ✪ 2024-10-13 13:16
oh lol true xD
13:16
i probably switched the branches in the meantime
13:19
Ok ok I found all variables in my puzzle
13:19
We actually ignore VK_SUBOPTIMAL_KHR in vkQueuePresentKHR and only handle it in vkAcquireNextImageKHR
13:19
Funny that android reports that in one function but not the other
13:21
Well only wasted 6 hours of my life to obtain this information
13:21
so all fine
Avatar
GitHub BOT 2024-10-13 13:40
Currently this magically works on Android, but in theory this could cause the swapchain being recreated every single frame, since the screen orientation on android is always non-optimal for landscape. Causing VK_SUBOPTIMAL_KHR to be emitted by the driver every frame. I saw this in the rust vk backend, where the FPS was like 10FPS on Android. I think the reason that it works in this version is, that we ignore VK_SUBOPTIMAL_KHR from vkQueuePresentKHR, but handle it in `vkAcquireNex...
Avatar
GitHub BOT 2024-10-13 13:52
21e0cdd Ensure lock is held when modifying condition of condition variable - Robyt3 2788f12 Merge pull request #9146 from Robyt3/Http-Wait-Condition-Lock - Learath2
Avatar
Jupstar ✪ 2024-10-13 14:11
epyc mobile moment
14:11
the fps are really good
14:11
should try ctf1 on cpp version
14:14
comparable. wtf is this green border tho?
Avatar
Maybe it's shown that screen recorder is active?
14:16
Also there's a black border one the left side outside of the green one
Avatar
Jupstar ✪ 2024-10-13 14:16
I dunno, possible
Avatar
Avatar
Robyt3
Also there's a black border one the left side outside of the green one
Jupstar ✪ 2024-10-13 14:16
that is bcs of my camera
14:16
i use scrcpy
14:17
Maybe it is, bcs ddnet is tagged as game in the manifest
14:17
and this is some weird gamer overlay lmao
Avatar
cyberfighter 2 2024-10-13 15:29
is it just me or is /top5team broken
15:29
/top5 works fine
Avatar
ye its brfoken
Avatar
Given how slow even top5 is I'm guessing we've finally gone past the point where top5team queries can end in a reasonable amount of time
15:43
Oh nvm, it's actually a broken query
15:43
I wonder how that happened
15:46
Yes, that is it, you made the LIMIT a ? but didn't add an argument to bind to it
Avatar
GitHub BOT 2024-10-13 15:47
The additional code to evaluate envelopes during demo playback is obsolete, as client ticks are already properly synchronized with the demo playback. From teeworlds/teeworlds#2750 and teeworlds/teeworlds#2768.

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 possib...
Avatar
Avatar
Learath2
Yes, that is it, you made the LIMIT a ? but didn't add an argument to bind to it
actually nvm, it does look bound, hm maybe something chiller did
Avatar
Avatar
Learath2
actually nvm, it does look bound, hm maybe something chiller did
"no idea but it's prolly chiler's fault" is a vibe xd
Avatar
SELECT name, time, ranking, teamsize FROM ( SELECT teamsize, ranking, id, server FROM ( SELECT Rank() over w AS ranking, count(*) AS teamsize, id, server FROM ( SELECT * FROM record_teamrace AS tr INNER JOIN record_race AS rr ON tr.map = rr.map AND tr.name = rr.name AND tr.time = rr.time AND tr.timestamp = rr.timestamp ) WHERE map = 'Multeasymap' GROUP BY id window w AS (ORDER BY min(time)) ) AS l1 WHERE server LIKE '%' ORDER BY ranking ASC LIMIT 0, 5) AS l2 INNER JOIN record_teamrace AS r ON l2.id = r.id ORDER BY ranking ASC, r.id, name ASC (edited)
Avatar
It 100% worked when i tested it
Avatar
This is what the query looks like, I extracted it with gdb and filled in the ? by hand, it doesn't run
Avatar
Dont think it broke when resolving merge condlict
16:06
And it passed unit test
Avatar
Jupstar ✪ 2024-10-13 16:08
Mb the db server is simply outdated and doesnt understand some syntax
Avatar
SELECT Rank() over w AS ranking, count(*) AS teamsize, id, server FROM ( SELECT * FROM record_teamrace AS tr INNER JOIN record_race AS rr ON tr.map = rr.map AND tr.name = rr.name AND tr.time = rr.time AND tr.timestamp = rr.timestamp ) WHERE map = 'Multeasymap' GROUP BY id window w AS (ORDER BY min(time)) This subquery is already wrong somehow
Avatar
Jupstar ✪ 2024-10-13 16:11
well map already sound ambiguous
16:11
tbh i dont how it should work at all
16:11
lmao
Avatar
I already tried tr.map just in case
Avatar
Jupstar ✪ 2024-10-13 16:12
but select *
16:12
is that allowed for inner joins?
Avatar
it must be fine because @kebs says it runs fine locally
Avatar
Jupstar ✪ 2024-10-13 16:14
Well I can only say that the FROM () IMO needs a name like as b and then b.map = '...'
16:14
That is what i'd intuitively do
16:14
But tbh the SQL syntax always allows 30000 variants to work as well
16:14
So I can't say what the real err is xD
Avatar
yes, giving everything names fixed it
justatest 1
16:16
SELECT Rank() over w AS ranking, count(*) AS teamsize, id, server FROM ( SELECT tr.map as map, tr.time as time, tr.id as id, rr.server as server FROM record_teamrace AS tr INNER JOIN record_race AS rr ON tr.map = rr.map AND tr.name = rr.name AND tr.time = rr.time AND tr.timestamp = rr.timestamp ) AS kek WHERE kek.map = 'Multeasymap' GROUP BY id window w AS (ORDER BY min(time))
16:18
This query looks insanely expensive btw
Avatar
no other way to do it when teamrace doesnt hold server
16:19
i took this query from website source
Avatar
Yeah, probably no other way to do it except adding server to teamrace, anyway, the db is a mess. The thing is this doesn't work and needs to be fixed
16:21
With names it works, including the more limited select on line 3. So I guess you can just commit that
Avatar
Avatar
Learath2
yes, giving everything names fixed it
im guessing differnece between mysql and sqlite
Avatar
AS kek
Avatar
Jupstar ✪ 2024-10-13 16:21
Is also easier to follow, even if more verbose 😄
Avatar
i tested sqlite only locally
Avatar
MariaDB [teeworlds]> SELECT VERSION(); +-------------------------------+ | VERSION() | +-------------------------------+ | 10.11.6-MariaDB-0+deb12u1-log | +-------------------------------+ 1 row in set (0.000 sec) or if you want to mess around with debugging it
Avatar
Avatar
kebs
im guessing differnece between mysql and sqlite
Probably, sqlite is extremely loose
Avatar
generally don't use select * in production code ._.
Avatar
didnt know theres a diff when there isnt many columns
16:25
i dont work with dbs that much
Avatar
is fine, happens, not the end of the world.
Avatar
good to know tho
Avatar
Jupstar ✪ 2024-10-13 16:26
insert or update is scarier 😬
Avatar
it's not an extremely important command either, so doesn't even need an emergency restart
Avatar
no backups
16:26
no mercy
Avatar
Avatar
Jupstar ✪
insert or update is scarier 😬
delete and update are the scariest, insert is still not the end of the world 😄
Avatar
Jupstar ✪ 2024-10-13 16:27
true xd
16:27
during a lifetime everyone had that one delete from without where
16:27
is that still a thing
Avatar
yep
Avatar
Jupstar ✪ 2024-10-13 16:27
or is that not allowed anymore
16:27
ok
16:28
actually insane xD
Avatar
GitHub BOT 2024-10-13 17:43
!nameplates

Checklist

  • [x] Tested the change ingame
  • [x] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested th...
Avatar
Can we allow nameplates to go smaller? The lowest size looks like it should be the default justatest
18:47
Really weird how massive they are
Avatar
Koll Potato 2024-10-13 18:47
why not
18:48
if u want it so bad u can just fork it
Avatar
I mean for the ddnet client, not just editing my own client
Avatar
Koll Potato 2024-10-13 18:48
alr
18:51
ig this is all the code that is used for the nameplate size
18:52
so if its 0 font size is 18
Avatar
MilkeeyCat 2024-10-13 19:37
@Learath2 I kinda did little steps towards macros and here's so far what I've done. It's a macro written in C for my language called by Rust xD fn printf(format: *i8, _: *i8) -> void; fn main() -> u8 { let lol: *i8 = gimme_points!(); printf("Player's points: %s", lol); return 0; } Shared object file Data Points(Data data, size_t _) { char buf[256]; FILE *file = fopen("~/personal/c_playground/file", "r"); fread(buf, sizeof(buf), 1, file); int n = strlen((const char *)buf); char *str = (char *)malloc(n); memcpy(str, buf, n); // Overwrite '\n' str[n - 1] = '\0'; return str; } Macros macros = { .size = 1, .macros = { {"gimme_points", Points}, }, };
19:38
i wanted to fetch player's points from api but cloudflare redirects to https pepeW (edited)
kek 1
feelsbadman 1
Avatar
Avatar
MilkeeyCat
@Learath2 I kinda did little steps towards macros and here's so far what I've done. It's a macro written in C for my language called by Rust xD fn printf(format: *i8, _: *i8) -> void; fn main() -> u8 { let lol: *i8 = gimme_points!(); printf("Player's points: %s", lol); return 0; } Shared object file Data Points(Data data, size_t _) { char buf[256]; FILE *file = fopen("~/personal/c_playground/file", "r"); fread(buf, sizeof(buf), 1, file); int n = strlen((const char *)buf); char *str = (char *)malloc(n); memcpy(str, buf, n); // Overwrite '\n' str[n - 1] = '\0'; return str; } Macros macros = { .size = 1, .macros = { {"gimme_points", Points}, }, };
Macros in different language is interesting 😄
Avatar
MilkeeyCat 2024-10-13 19:40
i think i can compile it in my language actually xd
poggers2 1
19:40
but i started prototyping in C so here we go
Avatar
int n = fread(buf, sizeof buf, 1, file); buf[n - 1] = '\0'; char *str = malloc(n * sizeof *str); memcpy(str, buf, n); return str;
19:42
Don't cast malloc, don't strlen for no reason
Avatar
MilkeeyCat 2024-10-13 19:43
I'm sorry feelsbadman
🥛 1
😿 1
Avatar
memcpy(str, buf, n); // Overwrite '\n' str[n - 1] = '\0'; that's one way to handle null termination (edited)
🍈 1
Avatar
Avatar
Skeith
Can we allow nameplates to go smaller? The lowest size looks like it should be the default justatest
big agree
Avatar
who made the catch mod (not zcatch) ?
Avatar
Jupstar ✪ 2024-10-13 21:18
$wiki catch
Avatar
Avatar
Jupstar ✪
$wiki catch
Avatar
Jupstar ✪ 2024-10-13 21:18
Mh no wiki :c
Avatar
malwarebytes flagged 3 files in a zip i had of the mod
Avatar
Jupstar ✪ 2024-10-13 21:20
xD
21:20
[MOD] Catching 1.3.1 (Page 1) — Modifications — Teeworlds Forum — Everything Teeworlds!
Avatar
one of them is making a connection to 77.224.14.* which is located in spain
21:21
looks like yes
21:21
you "catch" tees and the goal is to catch all tees
21:21
it's like zcatch but solo
21:21
i think there was a team mode as well
Avatar
Jupstar ✪ 2024-10-13 21:22
"I dont copy anything from other mods exspecialy not catching16, only help from Redix." mh
21:22
I still have a catch16 src code somewhere
Avatar
more like this one actually https://github.com/AssassinTee/catch64
catch64, its like catch16 (colorcatch), but with colors AND skins - AssassinTee/catch64
Avatar
Jupstar ✪ 2024-10-13 21:25
ah neat 😄
Avatar
GitHub BOT 2024-10-13 21:45
e725432 Cleanup envelope updating during demo playback - Robyt3 de7cd85 Merge pull request #9148 from Robyt3/Demo-Envelope-Update-Cleanup - def-
Avatar
GitHub BOT 2024-10-13 22:05
f3473c7 add nameplates preview - dobrykafe c3e627e Fix clang-tidy - def- e219150 Merge pull request #9149 from dobrykafe/pr-nameplates-preview - def-
Avatar
For todays useless word, I picked numinous: supernatural/mysterious or holy/spiritual
Avatar
can someone maybe check why this page doesn't work? https://ddnet.org/maps/Linear/ also https://ddnet.org/maps/?json=Linear
22:31
it throws a cloudflare 504 timeout error
22:32
actually the json loaded now
22:33
seems to be fixed
Avatar
Avatar
Alexander
it throws a cloudflare 504 timeout error
This is about time when we regenerate all pages, it may be overloading the server causing the timeouts
22:38
might need to mess around with the niceness
Avatar
interesting, why would it overload the server?
Avatar
It's a veery expensive process nowadays with the amount of finishes some maps have
Avatar
ah, okay
Avatar
Hm, the page isn't loading but the server seems rather calm, I wonder what is going on here
22:41
I mean it is a bit loaded but it's not that bad
22:41
8 threads, about 5.0 load average shouldn't be this much of an issue
Avatar
I guess it is an issue, idk don't see anything but the regeneration processes running
22:55
@deen I guess these are getting fairly expensive and slow too
Avatar
I wonder if it's possible to host a trashmap instance in Vercel
Avatar
Also we should probably set the cache policies for these pages so these can be loaded from cache for an entire day, not like we generate them more often
Avatar
Avatar
Blazulite
I wonder if it's possible to host a trashmap instance in Vercel
Why would you use vercel for that?
23:19
Just curious
Avatar
Avatar
Tater
Why would you use vercel for that?
just to test lol
Exported 247 message(s)
Timezone: UTC+0