00:14 < bridge> ```cpp 00:14 < bridge> vec2 apply_anim(vec2 uv, vec3 anim, part_info_t part) { 00:14 < bridge> vec2 offs = vec2(anim.x / 64.0, -anim.y / 64.0); 00:14 < bridge> vec2 center = offs + part.place_offset + part.place_size * 0.5; 00:14 < bridge> 00:14 < bridge> uv -= center; 00:14 < bridge> uv = rotate(uv, -anim.z * 3.1415 * 2.0); 00:14 < bridge> uv += center; 00:14 < bridge> 00:14 < bridge> uv += offs; 00:14 < bridge> 00:14 < bridge> return uv; 00:14 < bridge> } 00:14 < bridge> ``` 00:14 < bridge> im so confused. the issue right now is that the rotation isn't happening from the center of the thing. 00:14 < bridge> but this should be correct no? 00:23 < bridge> (Sorry if it's not the correct place, I don't know where to ask. Also for information I'm a complete beginner) 00:23 < bridge> 00:23 < bridge> Hello, I'm trying to build Android on Linux (Ubuntu) with the [corresponding README](https://github.com/ddnet/ddnet/blob/master/scripts/android/README.md) and I have an error on the example `scripts/android/cmake_android.sh x86_64 DDNet org.ddnet.client Debug build-android-debug` : 00:23 < bridge> 00:23 < bridge> ``` 00:23 < bridge> Compiling link-cplusplus v1.0.6 00:23 < bridge> Compiling ddnet-test v0.0.1 (/home/anquidiath/workspace/projects/ddnet/src/rust-bridge/test) 00:23 < bridge> error[E0463]: can't find crate for `core` 00:23 < bridge> | 00:23 < bridge> = note: the `x86_64-linux-android` target may not be installed 00:23 < bridge> = help: consider downloading the target with `rustup target add x86_64-linux-android` 00:23 < bridge> 00:23 < bridge> error[E0463]: can't find crate for `compiler_builtins` 00:23 < bridge> error[E0463]: can't find crate for `std` 00:23 < bridge> | 00:23 < bridge> = note: the `x86_64-linux-android` target may not be installed 00:23 < bridge> = help: consider downloading the target with `rustup target add x86_64-linux-android` 00:23 < bridge> ``` 00:24 < bridge> 00:24 < bridge> I already tried `rustup target install x86_64-linux-android` : 00:24 < bridge> ``` 00:24 < bridge> ~/w/projects/ddnet master *2  rustup default  ✔ 00:24 < bridge> stable-x86_64-unknown-linux-gnu (default) 00:24 < bridge> 00:24 < bridge> ~/w/projects/ddnet master *2  rustup target install x86_64-linux-android 00:24 < bridge> info: component 'rust-std' for target 'x86_64-linux-android' is up to date 00:24 < bridge> ``` 00:24 < bridge> 00:24 < bridge> Has anyone already encountered this issue? 00:32 < bridge> (yes, idk what causes it or fixes it) 00:32 < bridge> @nawretard if possible you can test on pc then use ci to build for android, tclient has a fast-build.yml which may build android faster 00:36 < bridge> Ok, thanks, I'll try to dig a bit and your suggestion tomorrow 01:13 < bridge> you are targeting an x86 phone right? 01:43 < bridge> Those exist?! 02:02 < bridge> not really 02:02 < bridge> intel tried to do it long ago but it never went anywhere 06:15 < bridge> @louis.place What if we just make a poll for people to decide which sounds the community prefer 06:16 < bridge> In any case I can make more variants 06:16 < bridge> more teeworlds-fitting 06:16 < bridge> sure u make a town hall post and whatever ppl vote i can implement ig (original vs any new ones u or someone else implements) 06:16 < bridge> i guess choose 4 best options and poll it 06:17 < bridge> sure if youd like to make a town hall post and whatever ppl vote i can implement ig (original vs any new ones u or someone else implements) 06:17 < bridge> 'original'? 06:17 < bridge> there's an original sound? 06:17 < bridge> nah like just what i had originally, using that one teeworlds dink sound 06:17 < bridge> ohh 06:17 < bridge> can you send footage? 06:18 < bridge> of the target with that dink sound you talking about 06:23 < bridge> @louis.place https://discord.com/channels/252358080522747904/1417365122044661933 hey umm hahah umm... i dont have poll perms... 06:23 < bridge> https://tenor.com/view/dumb-cat-cheese-gif-9139989200570551013 06:23 < bridge> can u make the poll urself pwease,.,.,. 06:23 < bridge> I think making it last 3 days would be okay 06:24 < bridge> or smth near that 06:24 < bridge> https://discord.com/channels/252358080522747904/293493549758939136/1416559861587775580 06:25 < bridge> i think just use emojis for voting 06:26 < bridge> oh fair enough 06:26 < bridge> nvm i made a poll 06:26 < bridge> plus 06:26 < bridge> 06:26 < bridge> there's 3 options ...................... 06:27 < bridge> not4 06:27 < bridge> loll 06:27 < bridge> ah 06:27 < bridge> nvm 06:27 < bridge> nvm yeah true 09:06 < ws-client> **** @Assa yea I do not understand https://github.com/ddnet/ddnet/pull/10890 it says "Feature" what is the feature? 09:07 < bridge> automatic quad clipping was not implemented for rotating quads, now it is 09:07 < bridge> that's the feature 09:07 < ws-client> **** for the users? 09:07 < ws-client> **** or for who? 09:08 < bridge> morning 09:08 < bridge> for rendering on client side 09:08 < bridge> mornging ^^ 09:08 < ws-client> **** @Assa i was somehow as a mapper and player never missing that feature 09:08 < ws-client> **** why would i care? 09:09 < bridge> why care about performance? 09:09 < ws-client> **** clipping in the sense of its not visible outside of the clip region? But it does not even ever go there so it does nothing? 09:09 < ws-client> **** so its just performance? 09:09 < bridge> it skips rendering outside of the screen, so it does a lot actually 09:09 < ws-client> **** i just wanted to make sure i understand because i would not call performance a "feature" 09:09 < ws-client> **** i see 09:10 < ws-client> **** jupstar approved it he should click merge 09:10 < ws-client> **** i can not make any sense of the code 09:10 < bridge> talked with him yesterday, he just wanted you to take a second look before merging, so you could also merge 09:11 < ws-client> **** I do not want to be responsible merger for code i do not understand ._. 09:11 < bridge> what part do you not understand, I can help you 09:12 < ws-client> **** the rendering and quad part 09:12 < ws-client> **** i could test fps and send annoying nitpicks xd 09:12 < bridge> I already provide benchmarks, but on the maps it showed no difference 09:13 < bridge> you understand the part, where I calculate the bounding box and just add the rotating one if existing? 09:13 < bridge> This is one of these things, I could easily solve with you in a vc 09:14 < ws-client> **** sounds good 09:14 < ws-client> **** we can do it later today 09:14 < bridge> ❤️ 09:14 < ws-client> **** But imo "performance" is its own category next to "feature" :p 09:15 < bridge> hmm 🤔 sometimes it's hard to draw some lines, but okay :p 09:15 < bridge> yes, it's not a user facing feature in that sense 09:17 < bridge> it's a featured feat 09:18 < bridge> :nouis: 09:19 < bridge> it's a featured perf feat 09:28 < ws-client> **** woah i asked chartgpt to write me a program today and it did so bug free? 09:28 < ws-client> **** veri nice 09:28 < ws-client> **** i can finally quit programming 09:28 < bridge> Какого фига у меня банпросто так 09:29 < ws-client> **** @termos220 on which server have you been banned? and which client do you use? 09:29 < bridge> read the channel description 09:41 < bridge> Никакого 09:47 < bridge> idk, for me it's also a feature. It adds something that wasn't present in order to accomplish something new 09:47 < bridge> yes certainly also performance/optimization 10:44 < ws-client> **** imo feature is user facing. The user sees no new thing that was added. 11:22 < bridge> the heinrich has awoken 11:22 < bridge> contributors are shaking, as the leviathan watches carefully 11:30 < bridge> @chillerdragon is " 👍 " a `yes please`? 11:37 < ws-client> **** @Assa kinda but im not heinrich :p but yes i would merge 11:37 < ws-client> **** "contributors are shaking, as the leviathan watches carefully" 11:37 < ws-client> **** fr 11:38 < ws-client> **** @learath2 i think we are in need of some of these "more equal maintainers" xd 11:38 < ws-client> **** its epic standoff with kebso, rossbit vs heino, chiler 11:38 < ws-client> **** https://github.com/ddnet/ddnet/pull/10780 https://github.com/ddnet/ddnet/pull/10787 11:38 < ws-client> **** risking a complete halt in a cold war 11:39 < ws-client> **** leaving UB on the MASTER BRANCH 11:59 < bridge> I mean there wasn't a tie, you and heinrich agreed 11:59 < bridge> I also chimed in 12:05 < ws-client> **** omg lerato you typing faster made me look like a fool 12:05 < ws-client> **** https://github.com/ddnet/ddnet/issues/10832#issuecomment-3297351641 12:05 < ws-client> **** i pressed enter 1s later 12:08 < bridge> @chillerdragon pls also review 10927 as you are now assigned to it by law 12:43 < bridge> I don't think he will 13:03 < bridge> I would never intentionally do that 13:11 < bridge> @essigautomat: im here call me maybe 13:13 < bridge> are gestures already suppoted damn 13:14 < bridge> how do I call you? Where's your number, so I can call you maybe 13:15 < ws-client> **** @Assa https://call.element.io/room/#/gaming?password=02U5xG6EHpwhoFmr5pSCRA&roomId=%21cEGkxazStXyVtEcvrt%3Acall.ems.host 13:39 < bridge> @chillerdragon when ur done with assa what do you think of these rules for custom communities 13:39 < bridge> https://github.com/SollyBunny/ddnet-custom-communities/blob/main/README.md 13:44 < bridge> I wouldn't require that they host ddnet servers specifically 13:45 < bridge> I think that's accidently implied 13:45 < bridge> ^ 13:45 < bridge> i would prefer ddnet based servers over vanilla (see ddnet-insta) 13:45 < bridge> but i dont think its required for a community 13:45 < bridge> ill change it to game servers 13:50 < bridge> having chillerdragon and assa talking in the background while not knowing if they're speaking in german or english is awesome sauce 13:51 < bridge> good background noise 13:51 < bridge> hell yeah 13:52 < bridge> hi robyt3 13:52 < bridge> and hi solly 13:52 < bridge> robyt? 13:52 < bridge> wheres roby? 13:52 < bridge> hi roby i see u typing 13:52 < bridge> he's there 13:52 < bridge> see 13:52 < bridge> Communities won't be handled over GitHub. I have it on my TODO list to work on the community rules this or next week. 13:52 < bridge> i knew it 13:52 < bridge> ermm but its been so long 13:53 < bridge> did chillerdragon just say gyatt 13:53 < bridge> either way if it takes you forever you can transfer whatever gets added to the gh to whatever u want 13:53 < bridge> also you said "rules" so i pressume that means not code 13:54 < bridge> which is the thing im doing rn 13:54 < bridge> What is there to code? Are you finishing up heinrich's community support for the masterserver? 13:54 < bridge> I already restructued the website for this so the community rules can be added under https://ddnet.org/rules/community 13:55 < bridge> no 👀 13:55 < bridge> a seperate url for communities 13:55 < bridge> That's what kinda sidetracked communities. Just need to automate it a little and it's done 13:56 < bridge> Well I guess there was a small disagreement on the rules early on where we considered only allowing open source mods 13:56 < bridge> that isnt really enforcable 13:57 < bridge> Why would it not be? 13:58 < bridge> how do you know the server is runn ing the same code that is open source 13:58 < bridge> i guess you just have to catch them out 14:00 < bridge> Exactly. But anyway, we decided against that 14:13 < ws-client> **** @robyt3 come vc 14:37 < ws-client> **** @Assa https://mmmds.pl/fuzzing-map-parser-part-1-teeworlds/ 15:13 < bridge> got auto mounting and fat12 support 15:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1417498648626991174/image.png?ex=68cab3fd&is=68c9627d&hm=19e161d6c904f2644db85343b835e8cd3cbbd6c5194181f1825517f0b524f997& 15:13 < bridge> to inspect boot partition xd 15:23 < bridge> https://www.apple.com/os/macos/ 15:27 < bridge> Fat12? 15:28 < bridge> yeah 15:28 < bridge> sgdisk or some command i have to make the limine partition used it 15:33 < bridge> Actually never heard of fat12 used for anything, curious 15:35 < bridge> ```make 15:35 < bridge> $(IMAGE_NAME).iso: limine/limine kernel 15:35 < bridge> rm -rf iso_root 15:35 < bridge> mkdir -p iso_root/boot 15:35 < bridge> cp -v kernel/kernel iso_root/boot/ 15:35 < bridge> mkdir -p iso_root/boot/limine 15:35 < bridge> cp -v limine.conf iso_root/boot/limine/ 15:36 < bridge> mkdir -p iso_root/EFI/BOOT 15:36 < bridge> cp -v limine/limine-bios.sys limine/limine-bios-cd.bin limine/limine-uefi-cd.bin iso_root/boot/limine/ 15:36 < bridge> cp -v limine/BOOTX64.EFI iso_root/EFI/BOOT/ 15:36 < bridge> cp -v limine/BOOTIA32.EFI iso_root/EFI/BOOT/ 15:36 < bridge> xorriso -as mkisofs -b boot/limine/limine-bios-cd.bin \ 15:36 < bridge> -no-emul-boot -boot-load-size 4 -boot-info-table \ 15:36 < bridge> --efi-boot boot/limine/limine-uefi-cd.bin \ 15:36 < bridge> -efi-boot-part --efi-boot-image --protective-msdos-label \ 15:36 < bridge> iso_root -o $(IMAGE_NAME).iso 15:36 < bridge> ./limine/limine bios-install $(IMAGE_NAME).iso 15:36 < bridge> rm -rf iso_root 15:36 < bridge> 15:36 < bridge> $(IMAGE_NAME).hdd: limine/limine kernel 15:36 < bridge> rm -f $(IMAGE_NAME).hdd 15:36 < bridge> dd if=/dev/zero bs=1M count=0 seek=128 of=$(IMAGE_NAME).hdd 15:36 < bridge> sgdisk $(IMAGE_NAME).hdd -n 1:2048 -t 1:ef00 15:36 < bridge> ./limine/limine bios-install $(IMAGE_NAME).hdd 15:36 < bridge> mformat -i $(IMAGE_NAME).hdd@@1M 15:36 < bridge> mmd -i $(IMAGE_NAME).hdd@@1M ::/EFI ::/EFI/BOOT ::/boot ::/boot/limine 15:36 < bridge> mcopy -i $(IMAGE_NAME).hdd@@1M kernel/kernel ::/boot 15:36 < bridge> mcopy -i $(IMAGE_NAME).hdd@@1M limine.conf ::/boot/limine 15:36 < bridge> mcopy -i $(IMAGE_NAME).hdd@@1M limine/limine-bios.sys ::/boot/limine 15:36 < bridge> mcopy -i $(IMAGE_NAME).hdd@@1M limine/BOOTX64.EFI ::/EFI/BOOT 15:36 < bridge> mcopy -i $(IMAGE_NAME).hdd@@1M limine/BOOTIA32.EFI ::/EFI/BOOT 15:36 < bridge> @learath2 this is how i make the image, first is a iso file second a normal image disk 15:36 < bridge> im using first now and it uses fat12 15:36 < bridge> ``` 15:36 < bridge> [0.162942] MBR found on device 1 15:36 < bridge> [0.163098] Found 3 MBR partitions: 15:36 < bridge> [0.163243] ID Start LBA End LBA Size (MB) Type FS Name 15:37 < bridge> [0.163496] -------------------------------------------------------------------------------- 15:37 < bridge> [0.163811] 0 64 127 0 NTFS ISO9660 MBR Partition 1 (NTFS) 15:37 < bridge> [0.164125] 1 128 5887 2 EFI System FAT12 MBR Partition 2 (EFI System) 15:37 < bridge> [0.164418] 2 5888 47451 20 NTFS Unknown MBR Partition 3 (NTFS) 15:37 < bridge> ``` 15:37 < bridge> this is for the cd/rom floppy thingy 15:38 < bridge> I thought isos usually contained ISO9660 file system 15:39 < bridge> The file system that inspired the "iso file" thing in the first place 😄 15:39 < bridge> the first partition is that fs xd 15:40 < bridge> but its like a few kb 15:42 < bridge> So is fat12 a choice limine made? I'm guessing the isofs has to contain the actual bootable part for bios support 15:43 < bridge> idk i think its something with xorriso 15:43 < bridge> with hdd, mformat defaults to fat16, i added a -F now and its fat32 15:43 < bridge> using the .hdd option i can inspect more stuff cuz its all fat 15:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1417506260558942249/image.png?ex=68cabb14&is=68c96994&hm=4c3c8b6c0444e87ec3b3d7c50608bd76686380d96787fbc1395c7f6e68b1acb3& 15:58 < ws-client> **** @Assa yay update+reinstall fixed lsp! Now I can differentiate array creation and array indexing again <:monkalaugh:757185761840857109> 15:59 < bridge> https://godotengine.org/releases/4.5/ 16:00 < ws-client> **** @Solly (bun bun) lol these rules will for sure not work for someone xd 16:03 < ws-client> **** some people will have to rent a new server just to pass requirements even if it makes no sense 16:03 < ws-client> **** also why spam game servers if you have one active server with 128 slots 16:04 < ws-client> **** @Solly (bun bun) but hey cool that you do something! also the json is epic. Move it out of your personal acc into some org and it can already be used 16:09 < ws-client> **** @Solly (bun bun) also make sure to lint and format the json in the CI as early as possible to avoid refactor diffs later 16:09 < ws-client> **** `jq` is bae 16:10 < ws-client> **** is the shape from ddnet? looks like the servers are part of the icon??? xd 16:11 < bridge> sure 16:17 < bridge> @chillerdragon 16:17 < bridge> > is the shape from ddnet? looks like the servers are part of the icon??? xd 16:17 < bridge> yep its dumb 16:18 < ws-client> **** such trollers 16:19 < ws-client> **** are you sure? how did that pass review? 16:20 < ws-client> **** https://zillyhuhn.com/cs/.d904e414-7ba7-4e38-9507-b9d47ed640d4.png 16:20 < ws-client> **** omg yes 16:20 < ws-client> **** wtf 16:21 < bridge> im sure becuase my implementation doesnt parse it 16:21 < ws-client> **** `"icon": { "servers": {} }` 16:21 < ws-client> **** i would like to speak to the manager please 16:21 < bridge> @qxdfox btw i segfualted 16:21 < ws-client> **** @louis hey mr ddnet admin what happend here? 16:21 < bridge> btw do u know how to myu my impl better 16:21 < bridge> theres still one?? 16:21 < bridge> gosh 16:21 < ws-client> **** segfaulter 16:21 < bridge> its due to mine 16:21 < bridge> its due to custom communtiies i think 16:22 < bridge> https://github.com/sjrc6/TaterClient-ddnet/commits 16:22 < bridge> https://github.com/sjrc6/TaterClient-ddnet/commit/3d42be9d81de397d405f29b1f0eadf7ba0eaf6cf 16:22 < bridge> https://github.com/sjrc6/TaterClient-ddnet/commit/3d42be9d81de397d405f29b1f0eadf7ba0eaf6cf 16:22 < bridge> I mean 16:22 < bridge> 3 tests failed 16:22 < bridge> those r probably style 16:22 < bridge> one of them being start client 16:22 < bridge> crazy 16:22 < bridge> oh wait wha 16:22 < bridge> shit 16:23 < bridge> anyone know wat -11 means 16:23 < bridge> why did you change this? 16:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1417516324984197200/image.png?ex=68cac474&is=68c972f4&hm=cc69aeef71c12eae6df4b4d2483159ce493bc891c8de33ebcba353c91b89cdeb& 16:23 < bridge> look at it all 16:24 < bridge> #8132 16:24 < bridge> https://github.com/ddnet/ddnet/pull/8132 16:24 < bridge> i have to merge my ones and the ddnet ones 16:24 < bridge> they come from different sources 16:26 < bridge> segfault 16:26 < bridge> amazing 16:26 < bridge> well ive got tcleint currently paused in debugger 16:26 < bridge> \; 16:28 < bridge> ```cpp 16:28 < bridge> if(g_Config.m_TcAutoVoteWhenFar && (MapVote || RandomMapVote)) 16:28 < bridge> { 16:28 < bridge> int RaceTime = 0; 16:28 < bridge> if(GameClient()->m_Snap.m_pGameInfoObj->m_GameStateFlags & GAMESTATEFLAG_RACETIME) 16:28 < bridge> RaceTime = (Client()->GameTick(g_Config.m_ClDummy) + GameClient()->m_Snap.m_pGameInfoObj->m_WarmupTimer) / Client()->GameTickSpeed(); 16:28 < bridge> 16:28 < bridge> ``` 16:28 < bridge> segfualt happens here anywya 16:28 < bridge> which isnt me coe 16:28 < bridge> which isnt me code 16:33 < bridge> The engine's performance has been increased by around 15% since 4.4 and with other forks, it's been increased on 2D / 3D environments by a whopping 30% 16:33 < bridge> So in the future, if 4.6 would include many cherry picks that Godot forks have right now, it'll be even faster 16:35 < bridge> you need to check if the snap exists 16:35 < bridge> yis have fixed 16:51 < bridge> I met some problem implementing separated tuning params, when I use separated tuning params for players in the same team(in this case, me and my dummy), the prediction went wrong, but when I change another team, the prediction was back to normal 16:51 < bridge> I think the problem is on the snapping 16:53 < bridge> But how did the same logic behavior in two different way? 16:54 < bridge> At least I haven't seen any logic related to team in Snap() function of CCharacter 16:59 < bridge> ``` 16:59 < bridge> CTuningParams m_aTuneBuf[2]; // Original m_aTuning 16:59 < bridge> CTuningParams *m_aTunings[MAX_CLIENTS]; 16:59 < bridge> CTuningParams *CGameWorld::Tuning(int Index) { return &(m_Core.m_aTuneBuf[0]=*m_Core.m_aTunings[Index]); } 16:59 < bridge> ``` 16:59 < bridge> Basically this is the core modification 17:01 < bridge> Pointers in `m_Core.m_aTunings[]` is set to point to CTuningParams in a array in CGameContext, this array also replaced the original m_aTuning in CGameContext 17:05 < bridge> This modification works normally when using team separated tunings, and up to player separated tunings when they are in different teams, but fails in client predicting when they are in the same team 17:11 < bridge> in a custom mod or what are you asking? 17:13 < bridge> this, I'm adjusting the ddrace mode 17:13 < bridge> this, I'm adjusting the ddrace mode to add custom features 17:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1417530030959100046/screenshot.mp4?ex=68cad137&is=68c97fb7&hm=ce582feeb41b0be7f0d01bb5f54e92f22b100af3485e7a464bde6ca90dbaa993& 17:19 < bridge> what does the interval on this mean? 17:19 < bridge> `NetIntRange("m_Team", 'TEAM_SPECTATORS', 'TEAM_BLUE')` 17:19 < bridge> is team_blue the max team 17:20 < bridge> yes 17:20 < bridge> wtf ok lol 17:20 < bridge> ``` 17:21 < bridge> enum 17:21 < bridge> { 17:21 < bridge> TEAM_SPECTATORS=-1, 17:21 < bridge> TEAM_RED, 17:21 < bridge> TEAM_BLUE, 17:21 < bridge> NUM_TEAMS, 17:21 < bridge> }; 17:21 < bridge> ``` 17:21 < bridge> so -1 to 1 17:21 < bridge> wait uhh 17:21 < bridge> i need ddrace team though 17:21 < bridge> to play the sound w/ correct volume in a specific team if /showothers is enabled 17:22 < bridge> teams arent in snapshot i think 17:22 < bridge> ok so i just use clientid 17:27 < bridge> yea on client side you get a Sv_TeamsState, not a snapshot 17:27 < bridge> yea on client side you get a Sv_TeamsState, not a snapshot for teams 17:30 < bridge> how does the /tune command work? the tunings arent per player but per zone 17:30 < bridge> editing tunes with rcon also isnt properly predicted if you arent in the same zone thats being edited 17:34 < bridge> So I made it per player 17:34 < bridge> or per team 17:34 < bridge> wont be properly predicted 17:34 < bridge> only way to currently do it is use tune override 17:34 < bridge> you can check tune lock tile for example 17:34 < bridge> you can check tune lock tile pr for example 17:35 < bridge> But it works perfectly under team separating mode 17:35 < bridge> It have two mode, separate tunings by team, or by player 17:37 < bridge> As you can see, even it is already set to player-separated tuning, and me and my dummy have different tunings, but it still works when me and my dummy in different teams 17:38 < bridge> maybe hes just not predicted when hes on different team 17:39 < bridge> I'm going to test it under players with different IP 17:40 < bridge> But I guess I will get the same result 17:40 < bridge> test with higher cl_prediction_margin 17:41 < bridge> what is this 17:42 < bridge> worsen 17:44 < bridge> It get worse when cl_prediction_margin get higher 17:46 < bridge> NO 17:47 < bridge> Turn off anti-ping, then solved 17:48 < bridge> But in my memory, turn off anti-ping doesn't mean not predicting at all 17:51 < bridge> No I misunderstand, the anti-ping seems do decide the prediction on other players 17:54 < bridge> oh okay the entire team mask shit for target switches was wrong 17:54 < bridge> zzz 17:57 < bridge> i don't really understand how this all works 17:58 < bridge> how does showothers get information about other team events from the server 17:59 < ChillerDragon> how good is it if i saw a visible 1cm ish big spark coming out of my pc's powersupply when i turned it on? 17:59 < bridge> i can tell you a story 18:00 < bridge> monkas 18:00 < bridge> bequit support refused to replace my psu. same problem. 18:00 < bridge> 18:00 < bridge> then i filmed it and suddenly they shifted their tone completely 18:00 < bridge> so do the same. film it, and write the support 18:01 < bridge> if you house burns bcs of them probs nice for them hehe 18:01 < bridge> <0xdeen> I wouldn't even turn it on, bad PSUs can be horrible trouble for all your components (and yourself) 18:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1417541403772194966/VID_20190620_074349.mp4?ex=68cadbcf&is=68c98a4f&hm=fac049d3604486bf18b0dfea56fbb4dacbc57d2a197b79f8df822654cf1bd1df& 18:04 < bridge> damn 💀 18:04 < bridge> it still worked btw. was just when turning on 18:07 < bridge> woah XD 18:07 < bridge> be careful 18:07 < bridge> skin rendering is perfect now jupsti, except no mipmaps and no hand rendering 18:07 < bridge> will add later 18:08 < bridge> feet_x: 200.0 18:09 < bridge> https://cdn.discordapp.com/attachments/1141990897156886600/1414682709397213318/image.png?ex=68c07571&is=68bf23f1&hm=7dcd04ced2343ef67b80e07b81cfb9a51784e4a6e65cb05abe825943934e0ed6& 18:09 < bridge> https://cdn.discordapp.com/attachments/1141990897156886600/1407198351899889745/image.png?ex=68a53b17&is=68a3e997&hm=e3c6725f33e44d8776b159d26f97505e987cb74d686497b3f42e406b0fdb0f8f& 18:09 < bridge> https://cdn.discordapp.com/attachments/1141990897156886600/1407198367494307892/image.png?ex=68a53b1b&is=68a3e99b&hm=310f286db2b545dfb46f6e67064ebb33b360a4c56de2f29ecf517b843006f75f& 18:09 < bridge> https://cdn.discordapp.com/attachments/1141990897156886600/1407198388818153512/image.png?ex=68a53b20&is=68a3e9a0&hm=ea8a1525f2ef469cf0bbd649694827cd9e3113f3375607937a5365d5278607d5& @everyone 18:09 < bridge> damn 18:11 < bridge> 10100 rubel? that's what i earn when shitting bro 18:11 < bridge> 121€ xd 18:11 < bridge> 102€ xd 18:12 < bridge> @Discord Mod 18:13 < bridge> Maybe it's real and we have just been gatekeeping people from real wealth by deleting these posts 18:13 < bridge> true, we are the evil ones 18:13 < bridge> @learath2 i didnt know fat12 existed till today 18:13 < bridge> it uses 1.5 bytes 18:13 < bridge> xd 18:14 < bridge> i wanna think a design for edfs 18:14 < bridge> the main filesystem for my os 18:14 < bridge> I only knew that it existed, nothing more. It's just a subtitle on the wikipedia page as far as I know 😄 18:15 < bridge> Do you want to try something novel or are you more interested in the implementation challanges? 18:15 < bridge> If you aren't looking for novel, btrees are pretty much the endgame 18:16 < bridge> not novel, something that is better than fat, somewhat posix compliant (users, perms) and not too hard to implement 18:17 < bridge> im not looking to make the fastest fs xD just something that works but i dont want to learn ext4 18:17 < bridge> ext3 is where things start to get very complex 18:17 < bridge> if i do smth i created i feel it will be easier to implement 18:17 < bridge> is the tricky part journaling? 18:17 < bridge> ext2 is quite simple to implement 18:17 < bridge> Yep journaling makes it really annoying to reason about things 18:18 < bridge> mm maybe i should look into it, i guess it doesnt have journaling 18:18 < bridge> but then again why not make my own xd 18:18 < bridge> https://en.wikipedia.org/wiki/Journaling_file_system 18:21 < bridge> No reason not to, quite fun to design one 18:22 < bridge> https://en.wikipedia.org/wiki/Elevator_algorithm 18:23 < bridge> oh 18:23 < bridge> this is irrelevant for ssds 18:23 < bridge> xd 18:25 < bridge> when will ssd prices drop again 🫠 18:25 < bridge> i also need to look into nvme 18:25 < bridge> you dont have one? 18:25 < bridge> sick 18:25 < bridge> i mean driver 18:26 < bridge> were you living under a stone the last 8 years xD 18:26 < bridge> oh 18:26 < bridge> i have 3 nvme ssds in my pc xd 18:26 < bridge> xdd 18:26 < bridge> do you want real hardware support @ryozuki ? 18:26 < bridge> AHCI: fixed 32 outstanding commands per port. 18:26 < bridge> 18:26 < bridge> NVMe: scalable, up to billions, but practically thousands per queue, distributed across CPUs for parallelism. 18:27 < bridge> i think i have real hardware support for AHCI, and some other stuff 18:27 < bridge> like HPET, PIC, X2APIC 18:27 < bridge> MSI 18:27 < bridge> pci 18:27 < bridge> im not doing anything that is qemu specific like virtio and friends 18:34 < bridge> I give up, I tried to manually copy tuning params to the CharCore.m_Tuning, in the CGameContext::OnTick, CCharacter::Snap(),Tick(), basically every write operation related to CharCore.m_Tuing have been changed at least once, but no one works 18:35 < bridge> The client just keep predict it wrong 18:35 < bridge> I can only think that the server have already sent the correct m_Tuning in CharacterCore of other characters, but the client just don't use it 18:36 < bridge> are you using tune overrides? 18:36 < bridge> what is tune overrides? 18:36 < bridge> m_TuneZoneOverride 18:36 < bridge> https://github.com/ddnet/ddnet/pull/8959 18:37 < bridge> Im pretty sure thats what you need for whatever youre trying to do 18:37 < bridge> I didnt read much 18:46 < bridge> Thanks this is really helpful 18:46 < ws-client> **** @Jupstar ✪ its like 12yo pc xd 18:46 < ws-client> **** nobody is gonna support me there 18:47 < ChillerDragon> deen scared me i disconnected the power xd 18:47 < bridge> But I still confuse about why per-player tuning works normally with anti-ping when players in different team but fails when players in the same team 18:48 < bridge> the fugging video should scare you 18:48 < bridge> if my ground would be dead dry, it would just start to burn 18:48 < ws-client> **** urs is bigger than mine 18:48 < ws-client> **** why is ur drunk video upside down btw? 18:48 < bridge> nice theres a segfault somewhere in my code 18:49 < bridge> i dunno it's from 2019 18:49 < bridge> @robyt3 abt ur ninja comment 18:49 < bridge> i didn't test it thoroughly at all but it 'looks' like the ninja behavior has an effect in scenarios like this 18:50 < bridge> my guess is they're getting hit multiple times in a row since they don't get added to the objectsHit array which is why they have so much upwards velocity? but idk 19:09 < bridge> probably 19:09 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1417557945121767526/image.png?ex=68caeb37&is=68c999b7&hm=d5c5b5adae5aad9a902064f8a16bcdb3e47b48839ea2d9bd24e1629af22bc849& 19:09 < bridge> why is it only 10 19:10 < bridge> shouldnt be a problem to up this array to max_clients 19:10 < bridge> i can make a pr :) 19:11 < bridge> Who knows how much PPS 64 players consume on the server 19:11 < bridge> Packets per second 19:11 < bridge> I need to set up ddos protection 19:12 < bridge> @kebscs do u know how i get character id given a CCharacter 19:15 < bridge> getcid? 19:16 < bridge> im just doing ->GetCore().m_Id lol 19:16 < bridge> theres no getcid on server side ccharacter it seems like 19:19 < bridge> ah server side 19:19 < bridge> i was looking client side xd GetCid 19:20 < bridge> server side there is pChr->GetPlayer()->GetCid() 19:22 < bridge> DDos will send hundreds of small packets to your server, for example 10-12 19:22 < bridge> Due to packet “limit,” some players may experience ping issues. 19:22 < bridge> Due to packet “limit,” some players may experience ping issues 19:23 < bridge> :omo: 19:27 < bridge> `GetPlayer()->GetCid()` is probably more common 19:53 < bridge> how to make debug dummies stop moving? 19:53 < ChillerDragon> u all nob 19:53 < ChillerDragon> u can do `GetId()` 19:54 < ChillerDragon> doing `GetPlayer()->GetCid()` is common but weird xd 19:57 < ChillerDragon> its the id of the enitity which will also be snapped. Yes its not called cid but id but its the same thing oO 19:58 < bridge> Only possible by changing their input in `CServer::UpdateDebugDummies` 20:04 < bridge> ChillerDragon: that segfaulted me 20:05 < bridge> i was trying to do pOwnerChar->GetId() for a gun bullet projectile, idk why it didnt work 20:09 < bridge> bullets are also the moving bullets from the map. the pOwnerChar is null for them 20:10 < bridge> do 20:10 < bridge> `if(pOwnerChar)` 20:10 < bridge> uh oh 20:11 < bridge> ye i didnt check those. actually it would be nice if they toggled the targets :thonk: 20:11 < bridge> Tru, smartdragon 20:11 < bridge> Actually very cool, I wonder if you could use it as a clock for a computer 20:11 < bridge> lol, we can do timers then 20:13 < bridge> You could probably use a tee for a timer too, a tee falling in a teleporter loop will hit a switch at a set rate after it hits the terminal velocity 😛 20:14 < bridge> terminal velocity is 9375 blocks per second lmao. 20:14 < bridge> A veeery long tube 😛 20:15 < bridge> Do make the map bullets activate them it could be used for some very cool stuff imo 20:16 < bridge> :f3: 20:17 < bridge> https://ddnet.org/maps/Machine/ 20:17 < bridge> ye i think the behavior is already possible but it would just not require a dummy now 20:18 < bridge> theres probably some crazy thing someone will find with the blue arrows and moving bullets though 20:19 < bridge> @teero777 go find 20:32 < bridge> blue arrows? 20:33 < bridge> ahhh 20:33 < bridge> okay 20:33 < bridge> those dont work with bullets though 20:36 < bridge> they do w the targets tho 20:36 < bridge> fuck you 20:37 < bridge> dont take it personally 20:44 < bridge> :banhammer: 20:48 < bridge> gg you mentioned modded servers 20:48 < bridge> 20:48 < bridge> #7777 20:48 < bridge> https://github.com/ddnet/ddnet/issues/7777 20:48 < bridge> gg you mentioned modded servers /s 20:48 < bridge> 20:48 < bridge> #7777 20:48 < bridge> 7777 is about changes that give no advantage to ddnet but only to mods 20:48 < bridge> this is for submitted ddnet features 20:48 < bridge> not just mods 21:21 < bridge> teehistorian bump i assume 21:23 < bridge> https://mail.openjdk.org/pipermail/announce/2025-September/000360.html 21:33 < bridge> neat 21:33 < bridge> 32 bit is finally ending 22:07 < bridge> Hello, yesterday I had this issue where I couldn't successfuly build the Android version. 22:07 < bridge> For instance, that command `scripts/android/cmake_android.sh x86_64 DDNet org.ddnet.client Debug build-android-debug` failed with this message : 22:07 < bridge> ``` 22:07 < bridge> error[E0463]: can't find crate for `std` 22:07 < bridge> | 22:07 < bridge> = note: the `x86_64-linux-android` target may not be installed 22:07 < bridge> = help: consider downloading the target with `rustup target add x86_64-linux-android` 22:07 < bridge> ``` 22:07 < bridge> 22:07 < bridge> I found the root cause for me and I can now successfuly build it, so this post is to share it. 22:07 < bridge> 22:07 < bridge> It was because I first followed the [main ddnet guide](https://github.com/ddnet/ddnet?tab=readme-ov-file), where I executed that command : 22:07 < bridge> `sudo apt install build-essential cargo cmake ... rustc ...` 22:08 < bridge> 22:08 < bridge> Then, in the [dedicated guide for Android](https://github.com/ddnet/ddnet/blob/master/scripts/android/README.md), Rustup was required, so I [installed it the recommended way](https://www.rust-lang.org/tools/install) , but I had a warning that I ignored. 22:08 < bridge> ``` 22:08 < bridge> ~/w/p/ddnet master *2 !1 ?1  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 22:08 < bridge> info: downloading installer 22:08 < bridge> warn: It looks like you have an existing installation of Rust at: 22:08 < bridge> warn: /usr/bin 22:08 < bridge> warn: It is recommended that rustup be the primary Rust installation. 22:08 < bridge> warn: Otherwise you may have confusion unless you are careful with your PATH. 22:08 < bridge> warn: If you are sure that you want both rustup and your already installed Rust 22:08 < bridge> warn: then please reply `y' or `yes' or set RUSTUP_INIT_SKIP_PATH_CHECK to yes 22:08 < bridge> warn: or pass `-y' to ignore all ignorable checks. 22:08 < bridge> error: cannot install while Rust is installed 22:08 < bridge> 22:08 < bridge> Continue? (y/N) ### Of course I pressed yes 22:08 < bridge> ``` 22:08 < bridge> 22:08 < bridge> Everything is in this warning, there were 2 concurrent installations of Rust, so some things were broken. 22:15 < bridge> I still think we should remove rust(c) and advice people to just use rustup to install the toolchain, or provide a toolchain.toml (not sure if we do, can't check that rn) 22:16 < bridge> I still think we should remove rustc and cargo and advise people to just use rustup to install the toolchain and compiler, or provide a toolchain.toml (not sure if we do, can't check that rn) 22:17 < bridge> I still think we should remove rustc and cargo and advise people to just use rustup to install the toolchain and compiler and provide a toolchain.toml (not sure if we do, can't check that rn) 22:17 < bridge> 22:17 < bridge> I wonder if that could fix the gnu = msvc issue too 22:17 < bridge> I still think we should remove rustc and cargo and advise people to just use rustup to install the toolchain and compiler, and provide a toolchain.toml (not sure if we do, can't check that rn) 22:17 < bridge> 22:17 < bridge> I wonder if that could fix the gnu = msvc issue too 22:19 < bridge> Yay @louis.place is adding more projectile owner bugs before we get interact state :/ 22:41 < bridge> chillerdragon: ur maintainer just merge ur own pr 🧠 22:49 < bridge> Ackthually maintainers don't merge their own PR's 🤓