00:55 <+bridge_> its not that deep 02:30 <+bridge_> furo: haha there are some nsfw skins on your database xD 02:31 <+bridge_> was jumpscared by a dick 02:43 <+bridge_> that is CRAZY 02:44 <+bridge_> where do they even come from 02:44 <+bridge_> which site allows nsfw skins or do the yall[ 02:44 <+bridge_> which site allows nsfw skins or do they all 02:44 <+bridge_> no one cares ig xD 02:45 <+bridge_> the skins are funny asf tho, 02:45 <+bridge_> yea 02:45 <+bridge_> that is CRAZY why would they do that so stupid 04:05 <+bridge_> <12944qwerty> just spent a few hours trying to get an afk player flag working and couldn't 04:05 <+bridge_> <12944qwerty> fml 06:51 <+bridge_> where does all the weapon processing happen in .cpp? 06:52 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1461961323310223390/image.png?ex=696c7515&is=696b2395&hm=81961d5f51cbcf588c8479c8c0afba150870938f3ba1e7e4c240c308ef37e468& 08:51 <+bridge_> @bobik8912: character.cpp projectile.cpp and laser.cpp to name a few 08:52 <+bridge_> If you prompt me more specifically I can give you more detailed help. What is it you want to do exactly? 08:57 <+bridge_> <_qey> Am I a genius or what? I made dynamic tune_zone layers. Players with textures off complain that it’s unplayable inside tune_zone layers. 09:32 <+bridge_> I'm currently facing a problem where I don't get grenade bullets during "Jetpack" 09:32 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1462001505556238346/CodingMap_2026-.mp4?ex=696c9a81&is=696b4901&hm=d381a78c1f76e00638cdc0730e7e0c787000db5208a2821273d6e64d85989371& 09:32 <+bridge_> And the speed of the Gun is faster than that of a grenade:justatest: 09:35 <+bridge_> ``` 09:35 <+bridge_> switch(m_Core.m_ActiveWeapon) 09:35 <+bridge_> { 09:35 <+bridge_> case WEAPON_GUN: 09:35 <+bridge_> { 09:35 <+bridge_> if(m_Core.m_Jetpack) 09:35 <+bridge_> { 09:35 <+bridge_> float Strength = GetTuning(m_TuneZone)->m_JetpackStrength; 09:35 <+bridge_> TakeDamage(Direction * -1.0f * (Strength / 100.0f / 6.11f), 0, m_pPlayer->GetCid(), m_Core.m_ActiveWeapon); 09:35 <+bridge_> } 09:35 <+bridge_> } 09:35 <+bridge_> case WEAPON_GRENADE: 09:35 <+bridge_> { 09:35 <+bridge_> if(m_Core.m_Jetpack) 09:35 <+bridge_> { 09:35 <+bridge_> float Strength = GetTuning(m_TuneZone)->m_JetpackStrength; 09:35 <+bridge_> TakeDamage(Direction * -1.0f * (Strength / 100.0f / 6.11f), 0, m_pPlayer->GetCid(), m_Core.m_ActiveWeapon); 09:35 <+bridge_> } 09:35 <+bridge_> } 09:35 <+bridge_> ``` 09:35 <+bridge_> 09:35 <+bridge_> ``` 09:35 <+bridge_> case WEAPON_GRENADE: 09:35 <+bridge_> { 09:35 <+bridge_> if(!m_Core.m_Jetpack) { 09:35 <+bridge_> int Lifetime = (int)(Server()->TickSpeed() * GetTuning(m_TuneZone)->m_GrenadeLifetime); 09:35 <+bridge_> 09:35 <+bridge_> new CProjectile( 09:36 <+bridge_> GameWorld(), 09:36 <+bridge_> WEAPON_GRENADE, //Type 09:36 <+bridge_> m_pPlayer->GetCid(), //Owner 09:36 <+bridge_> youre not creating a new projectile when you have jetpack 09:36 <+bridge_> ```c++ 09:36 <+bridge_> case WEAPON_GRENADE: 09:36 <+bridge_> { 09:36 <+bridge_> int Lifetime = (int)(Server()->TickSpeed() * GetTuning(m_TuneZone)->m_GrenadeLifetime); 09:36 <+bridge_> 09:36 <+bridge_> new CProjectile( 09:36 <+bridge_> GameWorld(), 09:36 <+bridge_> WEAPON_GRENADE, //Type 09:36 <+bridge_> m_pPlayer->GetCid(), //Owner 09:36 <+bridge_> ProjStartPos, //Pos 09:36 <+bridge_> Direction, //Dir 09:37 <+bridge_> Lifetime, //Span 09:37 <+bridge_> false, //Freeze 09:37 <+bridge_> true, //Explosive 09:37 <+bridge_> -1, //SoundImpact 09:37 <+bridge_> MouseTarget // MouseTarget 09:37 <+bridge_> ); 09:37 <+bridge_> GameServer()->CreateSound(m_Pos, SOUND_GRENADE_FIRE, TeamMask()) 09:37 <+bridge_> } 09:37 <+bridge_> break; 09:37 <+bridge_> ``` 10:18 <+bridge_> How can I change the grenade's firing speed? 10:23 <+bridge_> ``` 10:23 <+bridge_> case WEAPON_GRENADE: 10:23 <+bridge_> { 10:23 <+bridge_> if(m_Core.m_Jetpack) 10:23 <+bridge_> { 10:23 <+bridge_> GetTuning(m_TuneZone)->m_GrenadeFireDelay; 10:23 <+bridge_> float Strength = GetTuning(m_TuneZone)->m_JetpackStrength; 10:24 <+bridge_> TakeDamage(Direction * -1.0f * (Strength / 100.0f / 6.11f), 0, m_pPlayer->GetCid(), m_Core.m_ActiveWeapon); 10:24 <+bridge_> } 10:24 <+bridge_> } 10:24 <+bridge_> ``` 10:29 <+bridge_> change the reload speed after using it 10:30 <+bridge_> search for `m_ReloadTimer =` or sum 10:37 <+ChillerDragon> to change the grenade fire delay you can simply use this rcon command or put it in your config `tune grenade_fire_delay 2` 11:28 <+bridge_> speaking of resetonswitch *cough* https://github.com/ddnet/ddnet/issues/2053 😄 14:03 <+bridge_> guys can we add scripting to ddnet so w can do it like this 14:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1462069901685424342/Screenshot_20260117_123552_Instagram.png?ex=696cda34&is=696b88b4&hm=2621618b13649c3ed124a6bc96d8de29fdaeb800f240542cd006441d2e1312d2& 14:03 <+bridge_> and add account=yes 14:25 <+bridge_> tas=banned 14:25 <+bridge_> ez game fixed 14:25 <+bridge_> "easy af" 14:28 <+bridge_> yo, weird problem, my friend sees game in transparency in entities and without (for example normally you shouldn't see star or gun behind the block) anyone knows how to fix this? 14:28 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1066817711679746199/323580328_705928317852830_7388197211402772974_n.png?ex=696c9aaa&is=696b492a&hm=7f0ac9c9e1d8da4b5573f17b4638e458ba81fdbee53277f808feadf244f57099& 14:28 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1066817711935590441/324823961_3001741563454774_4464199268408184791_n.png?ex=696c9aab&is=696b492b&hm=af5a189c4f112c01348e96b7403026f3520e09c01e57683483305558749cfafd& 14:33 <+bridge_> Is there a way to build ddnet easily offline? rust automatically tries to sync channel, which was annoying since i was trying to code on a plane 14:56 <+bridge_> i assume you use rustup 14:56 <+bridge_> for offline development you usually want to use rustc and cargo from your package manager 14:56 <+bridge_> 14:56 <+bridge_> > Offline installation. rustup downloads components from the internet on demand. If you need to install Rust without access to the internet, rustup is not suitable. 14:56 <+bridge_> with `CC=clang CXX=clang++ CFLAGS="-fsanitize=address,undefined -fsanitize-recover=all -fno-omit-frame-pointer" CXXFLAGS="-fsanitize=address,undefined -fsanitize-recover=all -fno-omit-frame-pointer" LDFLAGS="-fsanitize=address,undefined"` 14:56 <+bridge_> clang complains about lack of constructor for emplace_back, is this something i should fix upstream or is it my fault? 14:57 <+bridge_> https://github.com/TaterClient/TClient/actions/runs/21095269446/job/60671879571 14:59 <+bridge_> with `CC=clang CXX=clang++ CFLAGS="-fsanitize=address,undefined -fsanitize-recover=all -fno-omit-frame-pointer" CXXFLAGS="-fsanitize=address,undefined -fsanitize-recover=all -fno-omit-frame-pointer" LDFLAGS="-fsanitize=address,undefined"` (only difference between failing action and fast build which doesnt fail) 14:59 <+bridge_> clang complains about lack of constructor for emplace_back, is this something i should fix upstream or is it my fault? 15:03 <+bridge_> It works in DDNet, so you must be doing something differently than in DDNet's ASAN workflow 15:03 <+bridge_> ddnet has an asan workflow?! 15:03 <+bridge_> yeah of course it does 15:03 <+bridge_> We don't try to run on macOS and Windows with ASAN though 15:03 <+bridge_> im a bit silly 15:03 <+bridge_> ah 15:03 <+bridge_> well i mean that 1/3 of oses 15:03 <+bridge_> i specifically want windows 15:04 <+bridge_> windows is failing for a different reason though.. 15:04 <+bridge_> The build failure you linked is from ubuntu, windows fails differently 15:04 <+bridge_> yis, but i have never seen the ubuntu error 15:04 <+bridge_> wheras i have never used windows so makes little difference 15:04 <+bridge_> wheras i have never used windows 15:05 <+bridge_> so im not confused by it erroring 15:05 <+bridge_> Try to use the latest `clang-sanitizer.yml` from ddnet first 15:05 <+bridge_> Looks like it runs on ubuntu-latest 15:06 <+bridge_> Whereas you use ubuntu-22 15:24 <+bridge_> i prefer keeping rustup and no rustc though 15:25 <+bridge_> also i tried implementing switchable solid tiles and i can say it probably requires refactor of half the core code first 15:40 <+bridge_> what is GetVictim()?; 15:51 <+bridge_> if you use the argument v[..] it gets the victim from it 15:51 <+bridge_> you can also do "me" or "all" to do, well, you or everyone 15:51 <+bridge_> so "me", "all" or normal id 15:59 <+bridge_> This is a tough one. The code is most definitely not set up for this 16:00 <+bridge_> Lots of assumptions all around that the game layer is static 16:32 <+bridge_> yes, also its tricky to give collision switcher information in a clean way 16:32 <+bridge_> relegated to ddnet 2! 16:47 <+bridge_> Where is the tile logic located in the file? 16:48 <+bridge_> hookable \ unhookable 16:49 <+bridge_> Theres a lot of files that refer to 'tile logic', u need to be more specific 16:49 <+bridge_> placing the tile in editor? collision in-game? etc. 16:49 <+bridge_> collision in the game 16:51 <+bridge_> collision.cpp 16:51 <+bridge_> tee collision is checked in MoveBox() function, just trace the references/helpers it uses 16:51 <+bridge_> tee collision against solids is checked in MoveBox() function, just trace the references/helpers it uses 16:56 <+bridge_> trying to add cheats to ddnet again 😃 17:00 <+bridge_> is there also a check in the MoveBox() function? 17:00 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1462114268777287794/image.png?ex=696d0386&is=696bb206&hm=e0af7ef25f214686cbc3b8f3f793998c3038fa03b92889f0a86336dd6fa08660& 17:01 <+bridge_> the best way to see where logic for these is to just look at the original PR 17:02 <+bridge_> e.g. live freeze -> search github prs for 'live freeze' -> https://github.com/ddnet/ddnet/pull/4573 -> files changed 17:03 <+bridge_> please no 17:03 <+bridge_> delete cheats 17:29 <+bridge_> I could try to come up with something if this is _really_ wanted 17:32 <+bridge_> I could try to come up with something if this is _really_ wanted. Would it require snap for perfect prediction? 17:53 <+bridge_> I think so, I don't really see any other method of keeping that in sync 17:54 <+bridge_> i tried making collision aware of switcher state but it got rly messy. I think dynamic game layer would be easier ^^ and also live tiles would be very nice for other features (like ingame mapping) 19:14 <+bridge_> hi guys 19:14 <+bridge_> Hellou :3 19:21 <+bridge_> how can I use void ```CGameContext::Teleport``` with game tiles 19:23 <+bridge_> What do you mean? Like you touch a gametile and it teleports someone? 19:24 <+bridge_> For example, I have a game tile with ID 189, and I want to teleport the player there 19:26 <+bridge_> You first need to pre-parse the map to get the locations of all tile 189s. You can look at how we gather teleouts for teleport tiles 19:40 <+bridge_> @sollybunny hows ur modded client solve low mouse max distance issue? 19:41 <+bridge_> ```cpp 19:41 <+bridge_> // set the target anyway though so that we can keep seeing our surroundings, 19:41 <+bridge_> // even if chat or menu are activated 19:41 <+bridge_> vec2 Pos = GameClient()->m_Controls.m_aMousePos[g_Config.m_ClDummy]; 19:41 <+bridge_> if(g_Config.m_TcScaleMouseDistance && !GameClient()->m_Snap.m_SpecInfo.m_Active) 19:41 <+bridge_> { 19:41 <+bridge_> const int MaxDistance = g_Config.m_ClDyncam ? g_Config.m_ClDyncamMaxDistance : g_Config.m_ClMouseMaxDistance; 19:41 <+bridge_> if(MaxDistance > 5 && MaxDistance < 1000) // Don't scale if angle bind or reduces precision 19:41 <+bridge_> Pos *= 1000.0f / (float)MaxDistance; 19:41 <+bridge_> } 19:41 <+bridge_> m_aInputData[g_Config.m_ClDummy].m_TargetX = (int)Pos.x; 19:41 <+bridge_> m_aInputData[g_Config.m_ClDummy].m_TargetY = (int)Pos.y; 19:41 <+bridge_> ``` 19:41 <+bridge_> i dont think we can fake the cursor position, its used by mods etcetc. maybe some secondary angle input that is used if its more precise? 19:41 <+bridge_> only applying it to low mouse distances would not break mods which use the position 19:42 <+bridge_> since in tclient its an option it doesnt matter 19:42 <+bridge_> oh ok ur code just scales im guessing (if im reading on phone correctly) 19:42 <+bridge_> yes 19:42 <+bridge_> i play at 30 max mouse distance 19:42 <+bridge_> Yeah its probably easiest idk if we could sneak that by maintainers tho XD 19:42 <+bridge_> 💀 💀 💀 💀 💀 💀 19:42 <+bridge_> i already tried an option but it got rejected 19:42 <+bridge_> its the 2nd thing i added to tclient 19:43 <+bridge_> now that the code for mouse stuff is cleaner (due to me being annoyed at conflicts so fixing it) the diff and code is much nicer 19:43 <+bridge_> so i could try again 19:43 <+bridge_> surely we can calculate a float angle with sub pixel calculations and just send that along the actual mouse pos. then ddnet server can use that instead or smth 19:43 <+bridge_> but there are few people who play on such low mouse distance 19:43 <+bridge_> and it is modifying input 19:44 <+bridge_> that requires the server cooportaing which for old servers or 0.6/7 is not an option 19:44 <+bridge_> and alot of servers are old 19:44 <+bridge_> hmm true 19:44 <+bridge_> when will ddnet-insta tkae over the world ): 19:44 <+bridge_> well idk what servers does that much hook accuracy matter if not ddnet/kog 19:44 <+bridge_> aint nobody play other modes 19:44 <+bridge_> i used to play vanilla with it, i only saught to fix it when i started playing ddrace 19:45 <+bridge_> i used to play vanilla with it, i only saught to fix it only when i started playing ddrace 19:45 <+bridge_> but now its not unplayable, but its cerntainly not nice in any gamemode 19:45 <+bridge_> Oh but also i know ppl are gonna cry if it gets fixed 19:45 <+bridge_> u can use angle setups with low distance on maps like for the caverun triple part 19:45 <+bridge_> yah.. 19:46 <+bridge_> which is why its must be an option 19:46 <+bridge_> 😭 19:46 <+bridge_> which is anti hein 19:46 <+bridge_> and its pretty jank 19:46 <+bridge_> whcih is anti roby 19:46 <+bridge_> so my comment on the pr was a wish rather than a serious request 19:46 <+bridge_> yeah 19:46 <+bridge_> its kinda annoying not being able to play properly on default client 19:46 <+bridge_> well maybe we can just force it and if ppl want the qol they upgrade, if they want to cheat 5 niche parts they can load older client 19:47 <+bridge_> i kinda dislike that jank 19:47 <+bridge_> but i also want all other physics bugs to be fixed 19:47 <+bridge_> jap 19:47 <+bridge_> and i know that isnt a universal opinion 19:47 <+bridge_> i think fixing stuck in block and phony edge is good idea 19:48 <+bridge_> fix going through blocks 19:48 <+bridge_> strong hook/eevrything else 19:48 <+bridge_> (hook is the only one i care about) 19:48 <+bridge_> its impossible 19:48 <+bridge_> is there not an option in ddnet server right now 19:49 <+bridge_> it messes up the bounce physics 19:49 <+bridge_> as in makes them different? 19:49 <+bridge_> or makes the game unplayable 19:49 <+bridge_> hey guys, are you interested to play on the xPanic Server? ^^ 19:49 <+bridge_> Hellou :3 19:50 <+bridge_> i didnt know that the fix applies to anything but the hook 19:50 <+bridge_> there's weak bounce and strong bounce 19:50 <+bridge_> u can't really tell if u main gores cuz if u bounce on someone you usually die 19:51 <+bridge_> i dont *main* kog 19:51 <+bridge_> its just im frustrated with t0 so i dont play ddrace 19:51 <+bridge_> its just im frustrated with t0 so i dont play ddrace that often 19:51 <+bridge_> ye same thats why i just sulk on lan 😹 19:51 <+bridge_> is it really that different? 19:52 <+bridge_> i cant find the setting in src i may be hallucinating 19:52 <+bridge_> $wiki strong 19:52 <+bridge_> iirc it messes up a lot of moves 19:52 <+bridge_> but it's been a while since i tested it 19:53 <+bridge_> https://wiki.ddnet.org/wiki/Hook/en 19:53 <+bridge_> the bit about where its fixed has disaperead 19:58 <+bridge_> if u search "strong bounce" here and read juppstar (r.i.p.) and fokko msg, it shows a bit of the bugs 20:01 <+bridge_> ddos rus 1 :( 20:17 <+ChillerDragon> rip jupsi 20:24 <+bridge_> What is the problem with low max distance? 20:54 <+bridge_> it loses precision because there are less coordinates your cursor can exist at 21:05 <+bridge_> Ah, hm, I guess not many easy ways to fix that 21:07 <+bridge_> Does this work with touch controls? If we replace the old janky way to do 45° angles it needs to support touch controls like it currently does. 21:38 <+bridge_> How do I run DDNet client using a debugger from vscode? 21:41 <+bridge_> Ah, works suddenly 21:44 <+bridge_> You need the correct working directory that contains the DLLs 22:15 <+bridge_> My game is freezing but won't crash, I can't seem to find a pause button to see what's happening 22:26 <+bridge_> I cant really test this, so someone else needs to. I don't see why it wouldn't though 22:31 <+bridge_> Mhhh, in gdb I would just Ctrl-C to interrupt 22:31 <+bridge_> There is definitely a pause button in VS too, but idk about VSCode 22:34 <+bridge_> `gdb -ex=r --args DDNet`? 22:36 <+bridge_> Usually just `gdb ./DDNet` wait until I get into the "frozen" part. Then Ctrl-C. Might need to do it a couple times to land in a significant place if it's an infinite loop with a large span 22:36 <+bridge_> But usually you'll just find that it's stuck waiting on something which should be obvious on the backtrace 22:36 <+bridge_> `gdb ./DDNet` opens gdb and `reading symbols from ./DDNet...` 22:37 <+bridge_> Then you do `run` to start the process 22:37 <+bridge_> After you do a Ctrl-C you can do `bt` to get a backtrace 22:37 <+bridge_> Ah, it requires this other debuginfod 22:38 <+bridge_> Not all that important to start with tbh 22:39 <+bridge_> Nice, the crash doesn't happen 22:39 <+bridge_> Debuginfod only lets you get symbols for other libraries. You'll almost always have a call from ddnet source 22:39 <+bridge_> I see, just doesn't work either way 22:39 <+bridge_> Smells of a thread synchronization issue 22:40 <+bridge_> Gdb intercepts every single fork, even if minimal it does incur some overhead 22:40 <+bridge_> I did not change too much code, but client froze like 2-3 sec after joining a server 22:40 <+bridge_> Assuming you are on linux. On windows I am not so familiar with internals of the debugging infra 22:40 <+bridge_> And it does not happen running under gdb? 22:41 <+bridge_> Right now, yes 22:41 <+bridge_> If so a sampling profiler like perf can help 22:42 <+bridge_> But I have had far too much Kölsch to provide `perf` instructions. So you'll have to rely on google for that 😛 22:42 <+bridge_> Kölsch tastes like piss 22:42 <+bridge_> Enjoy it tho! 22:43 <+bridge_> Are you mayhaps from Düsseldorf? 😄 22:43 <+bridge_> if we're not overhauling map format I really prefer that anything in Game/Front can never change mid map 22:44 <+bridge_> Nope xd 22:44 <+bridge_> I made switch toggle tiles for hook/unhook 22:44 <+bridge_> FWIW I do like altbier more 22:44 <+bridge_> live tiles should be a pseudo-layer that gets written to next map save or reload (probably options to auto-commit live tiles to file by a host) 22:44 <+bridge_> NOO, that sounds criminal 22:45 <+bridge_> I just attached them to switch handling, though they need some prediction on the clientside 22:45 <+bridge_> It's not part of the map yet, we should not be patching binary over the wire and telling clients to "maybe forget about it" if they don't like the changes 22:45 <+bridge_> I think this is about what louis was going for, but it is a bit of nasty code tying collision into switch state 22:46 <+bridge_> it's fine, more of an issue with the teams state 22:46 <+bridge_> But i used a workaround 22:46 <+bridge_> Snaps are not optional, your snapstate has to be perfectly accurate to what the server dictates, otherwise we are doing something very wrong 22:46 <+bridge_> I think maps should stay monolithic more or less, like unless a server tells you otherwise to replace the entire map file you shouldn't touch it 22:47 <+bridge_> Think of it like patching a layer over the wire 22:48 <+bridge_> then yes? i meant pseudo because it should not overwrite the file if the host does not want to 22:48 <+bridge_> Biggest issue will be to show it correctly. Maybe the mapper has to create some envelope or it's all clientside. Either way no backwards compat 22:48 <+bridge_> also when you consider you may want rcon roles for live tiles and it becomes more complex 22:48 <+bridge_> Are we talking about togglable blocks or placable blocks like chiller created? 22:49 <+bridge_> placeable 22:50 <+bridge_> @learath2 tbh for placable blocks I'd just use netmessages to update the block on the clientside. 22:50 <+bridge_> When the player leaves/server shuts down, the file gets rewritten with the latest changes. That way the amount of new files is also decreased 22:51 <+bridge_> but i dont see placable blocks as a good feature 22:51 <+bridge_> fokko u got it to work for projectiles and all too? 22:51 <+bridge_> ultimately there is one server, and hopefully one person approving what is written to the server (ofc anyone can change this behavior with scripts/discord bots), and it may be awkward to think about situations where someone fucks with your map and you lose some parts. if they are exclusive, you could make only part of a map "live tiled" and commit the layer later when it's finished, but this also seems too complicated 22:52 <+bridge_> getting team state for projectiles is unnecessarily difficult 22:52 <+bridge_> yes 22:53 <+bridge_> Needs to be fixed, this is a bug in the game and saying that we should avoid things because Switch or Tune makes me sad 22:53 <+bridge_> we just disable antiping if there's certain tune, so this is already acceptable in the client xd 22:54 <+bridge_> its great for mapping in real time 22:56 <+bridge_> maybe we should just respect the user and assume anyone allowing live tile access to others has already made a backup of their precious map 22:57 <+bridge_> or possibly have an option to quickly do this 22:58 <+bridge_> my client only saves locally if u load current in editor 22:58 <+bridge_> its strictly architectural 22:58 <+bridge_> "Fixing" it is changing a lot of core code 22:58 <+bridge_> more like rewrite 22:59 <+bridge_> but if logically, the home for switchable tiles IS the Switch layer, is it so much work that we would avoid this at all costs and get an extras.png ahh layer 22:59 <+bridge_> u can easily hack it in by editing the game layer though, which is probably what should happen (so live tiles basically) 22:59 <+bridge_> then it just automatically works for everything 23:00 <+bridge_> unless i missed smth 23:01 <+bridge_> we already dupe things to other layers to make them work in new contexts, this just feels wrong to me and you pack int 0 for every single solid that is unswitched now xd 23:01 <+bridge_> if it gets a new tile index in game layer that's even harder trolling 23:02 <+bridge_> idk ask floppo what he did 23:02 <+bridge_> i feel very alone in what feels sane and normal for this game 23:02 <+bridge_> @heinrich5991 help! 23:02 <+bridge_> We shouldnt even have layers 23:02 <+bridge_> yea i mean i agree w that 23:02 <+bridge_> each tile should just have a unique incrementing id 23:03 <+bridge_> it should be kinda like how u can register a uuid for netmsg 23:03 <+bridge_> there should be a way to register modded tiles 23:03 <+bridge_> minecraft switched to this system 23:03 <+bridge_> ye thats what im doing in my hobby game 23:17 <+bridge_> @pioooooo 23:17 <+bridge_> Why is servers not having updated a reason for not bumping? Version bumps aren't a limited resource. 23:17 <+bridge_> (fyi I don't care) 23:17 <+bridge_> @pioooooo 23:18 <+bridge_> Why is servers not having updated a reason for not bumping? Version bumps aren't a limited resource. 23:18 <+bridge_> (fyi I don't care whether a bump is done or not) 23:22 <+bridge_> so 2 physics changes=1 and only need 1 bump 23:22 <+bridge_> idk 23:22 <+bridge_> well if you were to goto a commit imbetween, the teehistorian version would be wrong? 23:22 <+bridge_> well if you were to goto a commit imbetween, the teehistorian version would be wrong 23:22 <+bridge_> well if you were to goto a commit imbetween, the teehistorian version would be misleading 23:23 <+bridge_> (as much as a minor phsyics changes destroys all nonexisting workflows we have including teehistorian files) 23:23 <+bridge_> then just don't;; 23:23 <+bridge_> well you do bump for minor physics changes which wouldnt really effect anything 23:24 <+bridge_> but they do effect a really small thing 23:24 <+bridge_> servers not updated means we won't goto a commit inbetween so.. 23:24 <+bridge_> someone may of walked through the commits and generated a teehistorian just existing 23:25 <+bridge_> (i actually probably have one lmao) 23:25 <+bridge_> i'm not doing dev for that someone... 23:25 <+bridge_> b-b-but i play the game 23:26 <+bridge_> ┭┮﹏┭┮ 23:26 <+bridge_> but fine really i uhmm 23:26 <+bridge_> yeah, just checking 23:26 <+bridge_> i have no reason to care 23:26 <+bridge_> i just died from 3h insane drag map and ppl keep flaming me all the way and i'm sad rn 23:26 <+bridge_> aw 23:26 <+bridge_> youre cool pioo 23:26 <+bridge_> does that help 23:27 <+bridge_> it's not perfect time to talk to me 23:28 <+bridge_> https://cdn.discordapp.com/attachments/252358080522747904/1348432282993692843/78E60D5BC51CF2A2B4B4EF6B6AD17277.gif 23:30 <+bridge_> okay who needs a ban, do you have IPs for me? 23:30 <+bridge_> @l._ouis core functionality exists now 23:38 <+bridge_> 127.0.0.1 23:38 <+bridge_> my range is 0.0.0.0-255.255.255.255 23:38 <+bridge_> please range ban 23:39 <+bridge_> if nobody can join, then nobody can cheat 🧠 23:39 <+bridge_> o you know what would solve ban evasion 23:39 <+bridge_> we shoot them in the face 23:39 <+bridge_> that solution is a bit too american for me 23:39 <+bridge_> with pg13 comically violent rocket launcher 23:40 <+bridge_> which only leaves mental harm in the form of ptsd and pengents to either never hack again or to take down ddnet once and for all 23:40 <+bridge_> actually i shoulda thought this through first