00:06 < bridge> im confused 00:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328138013426978836/image.png?ex=67859c6a&is=67844aea&hm=a5b9a243c063cb2383ea26b165af869d1b8a0913509e81b8fd777f69e4d84d93& 00:06 < bridge> i have no cable plugged into this adapter 00:06 < bridge> this is the only active network adapter on my computer right now 00:06 < bridge> how the fuck am i talking in this chat 00:07 < bridge> how have i run 10 speed tests 01:03 < bridge> don't remember if we had this here 01:03 < bridge> https://mmmds.pl/fuzzing-map-parser-part-1-teeworlds/ 01:35 < bridge> Is there a way to filter tiles in a `CLayerTiles` struct? I know that `void CLayerTiles::FillGameTiles(EGameTileOp Fill)` exists, but is there a more general way to take one `CLayerTile` and only keep the tiles requested? For example, only keeping every tile that has an index of 1. 01:53 < bridge> @heinrich5991 can you use @patiga's tool (https://mapview.patiga.eu/) instead of tw-webgl? eastbit doesn't work anymore 01:53 < bridge> for this https://heinrich5991.de/teeworlds/maps/web/ 01:57 < bridge> it wouldn't work that well :/ 01:57 < bridge> twmap is a little strict on parsing maps, and I haven't build a tool yet to apply general fixes to maps 02:00 < bridge> ah I suppose it would be better than no webiste 02:02 < bridge> @gerdoe you can already load the maps from the archive with mapview.patiga.eu like this: https://mapview.patiga.eu/?url=https://heinrich5991.de/teeworlds/maps/maps/Animations_c2aa2208a9f27fcfd8349f34cf1633c038c17bdedbc225c1cdd14d4ecc19c3c0.map 02:02 < bridge> note that when the map parsing errors, you'd get a white screen and an error in the console 02:04 < bridge> i know^^ 02:04 < bridge> also added bbcode for mapview on my forum 02:04 < bridge> i'll move to my own instance tho, it's temporary 02:04 < bridge> oh nice :D 02:04 < bridge> should i somehow link you there? 02:05 < bridge> I'm interested, yea :) 02:05 < bridge> woah I'm tired. what I meant to say is that probably like 10% of those maps won't load (rough guess) 02:06 < bridge> maybe more maybe less, haven't checked in a while 02:06 < bridge> yeah, they barely open in editor, even 02:06 < bridge> tons of maps with undefined images or just corrupted 02:06 < bridge> yea :/ 02:07 < bridge> seems old maps are from 0.4 or 0.5, somehow they open in editor, but tilemaps are kinda messed 02:07 < bridge> huh fancy ^^ 03:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328194762557358194/voice-message.ogg?ex=6785d144&is=67847fc4&hm=a055ca6a8d7a4c0a250d9580755bb9a41f6e9cd375462a92e5424c8b781644e7& 03:52 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328194877770567710/voice-message.ogg?ex=6785d15f&is=67847fdf&hm=01fa5b91ccb268e2c2ac118d0cba617fa01e6c63722e800028a8116308cdeb7a& 03:53 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328195138811592735/voice-message.ogg?ex=6785d19d&is=6784801d&hm=1df6b0af989f3e595f8b71a688ab30edc7fad44724e20943b520c36dc7347da5& 03:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328195454705467432/voice-message.ogg?ex=6785d1e9&is=67848069&hm=7f9b9f1f400c345f79973fc0b8c52c905fc25e777f93d505f8143e698e00d247& 03:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328195538251681842/voice-message.ogg?ex=6785d1fc&is=6784807c&hm=88ab0d1ae790cedc5073c91f8da54731b8c3006b660bc064c82d815331f71762& 03:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328196055157833778/voice-message.ogg?ex=6785d278&is=678480f8&hm=9d567f30bded58ba12c7cabba4dc1c4aa4d819d1849c679e3fb348648f0262ce& 03:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328196067237302323/voice-message.ogg?ex=6785d27b&is=678480fb&hm=a24da0f94785638f2804cfa05c1c7bf15b0bea35a50859ecd7eab113c8f4dba7& 03:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328196121926959164/voice-message.ogg?ex=6785d288&is=67848108&hm=935ebe29ffcadf0c9d367d1edcf6234b51c2738ff4413b371632246f2e53c9b3& 03:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328196143812710431/voice-message.ogg?ex=6785d28d&is=6784810d&hm=b2d24c31a453aeda21864de71a5f1055c4bfe1c98ab770ffa22b112254f39c08& 03:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328196193507082350/voice-message.ogg?ex=6785d299&is=67848119&hm=4948f84946756c386efbfa79cead0158c7db907d6e2fad84dbb2892740a87301& 03:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328196536726982706/voice-message.ogg?ex=6785d2eb&is=6784816b&hm=637ee19c2a7e79630047d33e7b35edceb646562b11bd2d18cee4b2600bcc621d& 03:59 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328196736706940958/voice-message.ogg?ex=6785d31a&is=6784819a&hm=fd42d2c7889dc4e986ef34cc214b93a8817afe4e2710b6afddb601f50d3f9cca& 04:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328196827207434374/voice-message.ogg?ex=6785d330&is=678481b0&hm=bd8319026371dae4ea334db16b2529ccddc23de94f9e30d67c95bdf609d47a38& 04:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328197328128970752/voice-message.ogg?ex=6785d3a7&is=67848227&hm=6930c556d5c1db55deca01b0263ea3e14a8adccde98b8ee3fe93e363ec3e119f& 04:02 < bridge> @vappy19 ? 04:04 < bridge> @vappy19 ? 04:04 < bridge> You spam posted like 20 recordings 04:04 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328197938857508925/voice-message.ogg?ex=6785d439&is=678482b9&hm=fe6a62dacf2f48a8aa8afdb0775ff745d349933b8b2833e5330a3c1a4b7cc15e& 07:46 < bridge> No problem :happy: 08:45 < bridge> TIL pointers are hashed in linux kernel, I spent so much time trying to understand why mafs wasn't mafsing :feelsbadman: 08:47 < bridge> Damn mafs :feelsbadman: 08:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328269288662110252/image.png?ex=678616ac&is=6784c52c&hm=e2e6946468e8da2ceeb4fd7f2836600c8c3eb911325255862941ca2f91901dba& 08:48 < bridge> tf is mafs 08:49 < bridge> math :justatest: 09:08 < bridge> Must be one of these wifi cables people keep talking about 09:10 < bridge> Is your forum public already? Link? 10:02 < bridge> @tsfreddie oh nice thanks for the shotout on ur project 10:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328288421034332160/image.png?ex=6786287d&is=6784d6fd&hm=2d6ca47ff0c104b11af5ddd1eb100cd208ea1a89900f5bd1e0f18b97eeb32aaf& 10:04 < bridge> :brownbear: 10:04 < bridge> i havent played much in 2024 sadly 10:04 < bridge> gotta impove in 2025 10:48 < bridge> @tsfreddie: your tool accused me of being a linear enjoyer! 10:49 < bridge> yes, and i stand by it 10:53 < bridge> Where tool 10:54 < bridge> #showroom 10:54 < bridge> almost exactly the same one for chn really 10:55 < bridge> doesn't translate well to english but i don't want to touch it more than i have to. 10:58 < bridge> I smell dev drama 11:01 < bridge> where 11:02 < bridge> I got mail about a merge, then a mail about a revert pr for that merge and 7 mails about comments 11:03 < bridge> I thought that was expected 11:03 < bridge> :greenthing: 11:05 < bridge> `you got mail` 11:09 < ws-client> @Patiga is there a backwards compatible way of storing more data per tile in maps. I was thinking about adding a redirect tile and it would be nice if the mapper could specify a port the tile is redirecting to. I mean yes it would work with map configs but is there something cleaner like for example how the speedup/switch data is stored. 11:16 < bridge> its always new dev getting a feature fast 11:18 < ws-client> fast merges always has been heinrich vs deen 11:18 < ws-client> depends on who is afk while the pr is opened 11:19 < ws-client> i trained neural networks that predict deens and heinrichs afk times to get instant merges 11:19 < bridge> :nouis: 11:20 < ws-client> if heinrich now starts reverting everything he missed i am in big trouble 11:23 < bridge> qq all 11:25 < bridge> wow merges happening? i humbly request for #9251 and discussion on #9465 11:25 < bridge> https://github.com/ddnet/ddnet/pull/9251 11:25 < bridge> https://github.com/ddnet/ddnet/pull/9465 11:25 < bridge> thanks huge unnececssary github embed 11:26 < bridge> qq all 11:30 < bridge> ChillerDragon you can fit 4 bytes in a tile, that's enough for not one but 2 ports even 11:59 < ws-client> you are refering to CTile i assume? I am not super sure how to interpret the whole thing. First I thought I only have one byte that is reserved in the CTile class. 12:00 < ws-client> Then I thought the switch layer and so on somehow use more but no idea how that works 12:00 < ws-client> and then i got super confused when I saw the speedup layer clearly using more than 4 bytes 12:01 < ws-client> https://github.com/ddnet/ddnet/blob/d3442aa4207f7c78df5a5c478a4c35078e597059/src/game/mapitems.h#L241 12:02 < ws-client> only one of then is reserved so if i start writing into the others older clients might interpret it wrong and everything explodes? 12:02 < ws-client> and here the CSpeedupTile is using more than 4 bytes https://github.com/ddnet/ddnet/blob/d3442aa4207f7c78df5a5c478a4c35078e597059/src/game/mapitems.h#L538-L545 12:06 < ws-client> https://github.com/ddnet/ddnet/blob/d3442aa4207f7c78df5a5c478a4c35078e597059/src/game/collision.cpp#L66-L71 12:07 < ws-client> here it just reads the raw data and casts it to a CSppedupTile almost seems like you can store whatever share or form you want in maps without breaking backwards compatibility somehow 12:09 < bridge> Hm, curious. I wonder if we ended up just versiongating it 12:13 < bridge> Looking at the code a bit, I think it would only break the editor, curious 12:15 < bridge> Though `sizeof (CTile)` is hardcoded in there when loading the map, weird 12:20 < bridge> Ah, I remember now, we store the tiles of our own physics layers completely separately 14:12 < bridge> @tsfreddie I love your recap page, it looks awesome :owo: . could you make it possible to look back on recaps of past years? that would be neat! 14:15 < bridge> done 14:15 < bridge> you can figure it out how i'm sure 14:16 < bridge> can't promise it won't break for other years tho 14:16 < bridge> i rejected 2025 and beyond just in case someone tries that and it cached the result for next year 14:17 < bridge> got it :brownbear: 14:19 < bridge> can't find map thumbnails in 2015 i guess 14:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328352625325772860/image.png?ex=67866449&is=678512c9&hm=3d38c7e38ce395e54c9e9464f93f2023198e07dfd0f72af1e152421986eaabeb& 14:22 < bridge> works perfect for me, I properly started back in 2019 tho 14:23 < bridge> Check out deen's DDNet 2015 recap: https://ddrecap.tsdo.in/?code=3gADoW6kZGVlbqF5zQffoXStRXVyb3BlL0Jlcmxpbg find the funny in this 14:23 < bridge> oh right, I missed my 10th ddnet birthday, 23. Dec 😮 14:24 < bridge> heh, deen was a little too eager to finish that new map :D 14:25 < bridge> https://ddrecap.tsdo.in/?name=Ryozuki&year=2015&tz=Europe%2FMadrid 14:25 < bridge> 2015 pog 14:26 < bridge> @tsfreddie 14:26 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328354416000106527/image.png?ex=678665f4&is=67851474&hm=747f82e67cf216bccc2154b4c14416e3d47b7af47aa47680a2fbaf89eaddd207& 14:26 < bridge> is this ok? 14:26 < bridge> that happened on deen's page too 14:26 < bridge> maybe the old release date is just clamped to a UTC date 14:26 < bridge> without time? 14:26 < bridge> i'm guessing 14:30 < bridge> 😅 well... 14:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328355571094655006/image.png?ex=67866707&is=67851587&hm=6776592e4c0957284ff4886699fdeaea29447e19f7609c700eb93ded1a5443ed& 14:32 < bridge> true veteran stats 14:32 < bridge> you have more than that, right? I think I played with you multiple times 👀 14:32 < bridge> @0xdeen the link on ddnet.org to news shows not found https://ddnet.org/news/new-year-bigger-community 14:32 < bridge> on main page 14:32 < bridge> I played, I prob just didn't finish the maps 14:35 < bridge> the timestamp looks ok 14:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328356665405341749/image.png?ex=6786680c&is=6785168c&hm=ba2932cd848b50505d757757a0bb1309392a3b6d00bb15500840dad3d9d8eaa8& 14:35 < bridge> were they in GMT+1? 14:35 < bridge> idk xD 14:36 < bridge> 2024 maps timesstamps are in UTC i'm pretty sure 14:37 < bridge> https://github.com/yixuan 14:37 < bridge> lol heinrich is this your alt?? 14:37 < bridge> xd 14:38 < bridge> secretly chinese 14:38 < bridge> sounds like jiatan to me 14:39 < bridge> I knew it, we have to check all our test code now 15:27 < bridge> i seen hein pic in lot of places 15:31 < bridge> @tsfreddie if u have interesting generic queries u can send them and i add to the list 15:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328370941012611143/image.png?ex=67867558&is=678523d8&hm=5ad8af066950cb8583439d16ae32f1f47a276003289bf5f8ad68bae1b1292f68& 15:31 < bridge> this list 15:35 < bridge> :cammo: 15:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328371924102938657/image.png?ex=67867642&is=678524c2&hm=3617761b01bcb5c050d0bc052ea837c1c22a38cc58d2a0df17a40121b95030d4& 15:36 < ws-client> messing with the editor is going well ... 15:36 < ws-client> https://zillyhuhn.com/cs/.1736778840.png 15:36 < ws-client> i placed 2 tiles 15:36 < ws-client> and got one big rectangle 15:36 < ws-client> triangle 15:36 < ws-client> xd 15:37 < bridge> wrong repo D: 15:38 < bridge> Silly Billy 15:38 < bridge> ayup 15:47 < bridge> @ryozuki can u do any queries with mappers? 15:47 < bridge> or maps? 15:48 < bridge> for example, map most re-ranked by players, map least re-ranked by players 15:50 < bridge> what's a re-rank 15:51 < bridge> player finishes map more than once 15:52 < bridge> so like most maps with players playing more than once? 15:52 < bridge> so like maps with most players playing more than once? 15:53 < bridge> ye, moreso the ratio of players playing more than once / players only playing once 16:05 < bridge> u can i guess im at gym getting muscles 16:06 < bridge> https://db.ddstats.org/ddnet-8ed7cf1?sql=WITH+map_names+AS+%28SELECT+Name%2C+Map%2C+COUNT%28*%29+AS+Finishes+FROM+race+GROUP+BY+Name%29%2C%0D%0Areranks+AS+%28SELECT+Map%2C+COUNT%28*%29+AS+NamesWithReranks+FROM+map_names+WHERE+Finishes+%3E+1+GROUP+BY+Map%29%2C%0D%0Anames+AS+%28SELECT+Map%2C+COUNT%28*%29+AS+Names+FROM+map_names+GROUP+BY+Map%29%0D%0ASELECT+r.Map%2C+NamesWithReranks%2C+Names%2C+1.0*NamesWithReranks%2FNames+AS+Percentage+FROM+reranks+ 16:07 < bridge> have you merged your fixes from upstream to ddnet btw? 16:08 < bridge> remember to filtee out nameless tee and brainless 16:09 < bridge> :justatest: 16:12 < bridge> the query seems completely wrong lmao 16:12 < bridge> i'm really not good at SQL 16:14 < bridge> is this any better than the old way? 16:14 < bridge> https://db.ddstats.org/ddnet-8ed7cf1?sql=WITH+map_names+AS+(SELECT+Name%2C+Map%2C+COUNT(*)+AS+Finishes+FROM+race+WHERE+Name+!%3D+'nameless+tee'+AND+Name+!%3D+'brainless+tee'+GROUP+BY+Name%2C+Map)%2C%0D%0Areranks+AS+(SELECT+Map%2C+COUNT(*)+AS+NamesWithReranks+FROM+map_names+WHERE+Finishes+>+1+GROUP+BY+Map)%2C%0D%0Anames+AS+(SELECT+Map%2C+COUNT(*)+AS+Names+FROM+map_names+GROUP+BY+Map)%0D%0ASELECT+r.Map%2C+NamesWithReranks%2C+Names%2C+1.0*NamesWithR 16:15 < bridge> this should be more like it 16:15 < bridge> and it took over a minute to query oof 16:15 < bridge> so can i replace my kill tiles with these to send players to tutorial servers if they fail my parts? 🤣 16:16 < bridge> ah ye looks more correct 16:20 < bridge> ordered by percentage, the least replayed map is Flappy Bird with a whopping 0.0096% re-rank rate. 16:20 < bridge> to linear 16:20 < bridge> no sure if that is correct tho. that seems like a really replayable map 16:21 < bridge> https://db.ddstats.org/ddnet-8ed7cf1?sql=WITH+map_names+AS+%28SELECT+Name%2C+Map%2C+COUNT%28*%29+AS+Finishes+FROM+race+WHERE+Name+%21%3D+%27nameless+tee%27+AND+Name+%21%3D+%27brainless+tee%27+GROUP+BY+Name%2C+Map%29%2C%0D%0Areranks+AS+%28SELECT+Map%2C+COUNT%28*%29+AS+NamesWithReranks+FROM+map_names+WHERE+Finishes+%3E+1+GROUP+BY+Map%29%2C%0D%0Anames+AS+%28SELECT+Map%2C+COUNT%28*%29+AS+Names+FROM+map_names+GROUP+BY+Map%29%0D%0ASELECT+r.Map%2C+Names 16:24 < bridge> im getting adoneraine, capricorn, hostile 3, etc/ 16:24 < bridge> wait i lied 16:33 < bridge> @ryozuki ``` 16:33 < bridge> SELECT m.Map, COUNT(*) as FinishesOnFirstDayOfRelease, m.Timestamp as ReleaseDate FROM race r JOIN maps m ON r.Map = m.Map AND unixepoch(r.Timestamp) - unixepoch(m.Timestamp) < 86400 AND unixepoch(r.Timestamp) - unixepoch(m.Timestamp) > 0 GROUP BY m.Map ORDER BY FinishesOnFirstDayOfRelease DESC LIMIT 10; 16:33 < bridge> ``` 16:33 < bridge> 16:33 < bridge> Top 10 most popular maps on first day of release 16:33 < bridge> that map has a special setting to not allow multiple ranks for the same name iirc 16:33 < bridge> that make sense 16:33 < bridge> there are three name that slipped through tho 16:34 < bridge> maybe the map was changed 😅 16:34 < bridge> are the ranks on the three names old? 16:34 < bridge> didn't check 16:34 < bridge> eh not that important 16:36 < bridge> ok it must be a clean up script 16:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328387123824300092/image.png?ex=6786846a&is=678532ea&hm=76ad88b3af1ba3fc5d8f997fdf155335a8bd59204a7f84315975807a980998af& 16:36 < bridge> these are really new 16:36 < bridge> probably on some timer 16:36 < bridge> huh interesting 16:37 < bridge> do u know why? 16:37 < bridge> shouldn't dvd screensaver get the same treatment tho 16:38 < bridge> my guess would be it being so easy to finish and it creates too many garbage records in the database. 16:39 < bridge> yea 16:40 < bridge> wat how did that message send 16:40 < bridge> my guess is the same as freddies 16:41 < bridge> flappy bird is a bit worse, as you can simply hold space and spam ranks that easily 16:41 < bridge> might also be possible on dvd, not sure 16:51 < bridge> Some have been merged, but most not so far 19:09 < bridge> Bug in rust????? Wow, useless language 19:10 < bridge> no 19:10 < bridge> rust is the best 19:10 < bridge> sqlx generally is getting more buggy the newer the lib xD 19:10 < bridge> 0.6 was best yet, but it has a vulnerable 19:10 < bridge> <0xdeen> In the code we check for time >=, and in a script we remove time > 😄 Should probably fix it in the regular code 19:11 < bridge> <0xdeen> Also possible to finish on a server without a db connection at that time, will then later be inserted even if it might already be a duplicate 19:12 < bridge> ah 19:12 < bridge> then it is amazing that this only happened 3 times it seems 19:13 < bridge> <0xdeen> nono, the script removes them 19:13 < bridge> <0xdeen> but I only started running the script recently 19:14 < bridge> <0xdeen> Oh, looks like the code was already correct. 19:15 < bridge> is the script a job that run on schedule 19:18 < bridge> <0xdeen> yeah 19:18 < bridge> <0xdeen> once a night 19:19 < bridge> <0xdeen> we have the same problem with team ranks 20:10 < bridge> Ikr 20:10 < bridge> Blessed i never had this bug 20:12 < bridge> i did get a nightly ICE that killed our coverage CI run and i now have to deal with it 20:33 < bridge> why do u have coverage with nightly 20:33 < bridge> llvmcov doesnt need nightly 20:33 < bridge> also i recommend setting the nightly to a date u know works 20:50 < bridge> we need it for #[coverage()] blocks 20:52 < bridge> we have some runtime specific infrastructure that we can’t really test so if we don’t exempt those blocks our coverage is teriyaki 20:52 < bridge> terrible XDD 20:53 < bridge> ig block isn’t the word. function attribute or whatever 20:53 < bridge> but yeah 20:53 < bridge> yea i was gonna change our CI to use a pinned rust version 20:53 < bridge> and or use nix but i haven’t decided :justatest: 20:54 < bridge> at that point we can try out fenix monthly so we can have nightly features but fewer windows for failure by only updating once a month 20:56 < bridge> you build compiler. i build nightmare spaghetti SaaS-heavy tools thought up by big wigs in a boardroom 20:59 < bridge> chillerdragon: :santatrollet: 20:59 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1328453326530023484/f2fd354296dc073a.mp4?ex=6786c212&is=67857092&hm=55b84106f2afd43bc8ddba7b44d5a5efa71a32d22f368ffac85d5cd87694e4d4& 21:07 < bridge> is that the tiling assistant shell extension 21:07 < bridge> i wish it was better :feelsbadman: 21:08 < bridge> i wish ppl actually made gnome shell extensions but there are only like 3 good ones and when you enable more than that your desktop shits bricks anyway 21:39 < ws-client> @milkeeycat nice!! 21:40 < bridge> it doesn't work with `common.h` from `ddnet_protocol` lib :feelsbadman: 21:41 < ws-client> ohno why 21:41 < bridge> it's all the booleans 21:41 < bridge> they are declared in `common.h` and kernel stdlib header file 21:42 < ws-client> shit 21:42 < ws-client> just remove the typedef 21:42 < bridge> I'm planning to change `BLOAT` macro to be something like code space or something, so it will be either user space, or kernel space 21:42 < ws-client> new C has the bool keyword anyways 22:06 < bridge> ```C 22:06 < bridge> #define KERNEL_SPACE 1 22:06 < bridge> #define USER_SPACE 2 22:06 < bridge> 22:06 < bridge> #if CODE_SPACE == KERNEL_SPACE 22:06 < bridge> // blah blah 22:06 < bridge> #elif CODE_SPACE == USER_SPACE 22:06 < bridge> // blah blah 22:06 < bridge> #elif !defined(CODE_SPACE) 22:06 < bridge> #error \ 22:06 < bridge> "CODE_SPACE is not defined. Define it to `KERNEL_SPACE` or `USER_SPACE`." 22:06 < bridge> #else 22:06 < bridge> #error \ 22:06 < bridge> "CODE_SPACE has invalid value, it must be `KERNEL_SPACE` or `USER_SPACE`." 22:06 < bridge> #endif 22:06 < bridge> ``` 22:06 < bridge> How cursed is this? 22:16 < ChillerDragon> can we get a moderator on 45.141.57.31:8314 22:17 < bridge> we can, just dont want to 22:31 < bridge> chiller they want you to use the ticket system for that 22:32 < bridge> create an account on one of the most unfree chat platforms so you can complain to moderators of an open source game 🙃 22:32 < bridge> because a webpage is too hard 22:33 < bridge> what are you making that’s going to be switching between kernel and user space depending on build config? 22:33 < bridge> very cursed 22:34 < bridge> > As an alternative the CHeap functions could be changed to return nullptr if the wanted allocation is too large, which would have to be handled explicitly when loading localization files. 22:34 < bridge> i would assert. when is a string that large ever valid in this case 22:35 < bridge> the lib user will have to set it themselves 22:36 < bridge> lib users will have to set it themselves 22:36 < bridge> @milkeeycat what even is ur current project? i haven't really followed anything here xd 22:37 < bridge> This one is a kernel module which would do something when a player connect a dummy 22:37 < bridge> code conventions differ so strongly between codespaces that idk why you’d need this 22:37 < bridge> wtf 22:37 < bridge> kernel panic 22:38 < bridge> so it’s a joke xD 22:38 < bridge> this one is trying to fix ddnet network lib I'm working on with chiller which I started because of kernel module xd 22:39 < bridge> what is that check accomplishing for that goal 22:40 < bridge> instead of blah blag it will include different header files 22:40 < bridge> for what purpose 22:41 < bridge> to make the library be able to use necessary types and functions xdd 22:42 < bridge> no like 22:42 < bridge> the end goal 22:42 < bridge> what are you calling differently 22:42 < bridge> if ur doing kernel i’d just keep that 100% isolated 22:43 < bridge> but im also probably just not understanding 22:43 < ChillerDragon> defines lgtm @milkeeycat 22:44 < bridge> xd 22:44 < bridge> what am i missing 22:54 < bridge> I have a lib, I want it to be usable from user space and kernel space. To make it possible, I made `common.h` file https://github.com/MilkeeyCat/ddnet_protocol/blob/master/include/ddnet_protocol/common.h, `BLOAT` macro means whether to use glibc header files or define used functions as `extern` so they can be implemented the the code base where the lib is used. But it doesn't really work, because in my kernel module I use `linux/types.h` header