03:35 <+bridge> [ddnet] wtf i found that bug 03:35 <+bridge> [ddnet] how can this actually be fixed tho 03:36 <+bridge> [ddnet] i guess making it understand escape characters? but then people can just add those to their names too 03:36 <+bridge> [ddnet] add whisper id command 03:36 <+bridge> [ddnet] ig thatd work 03:36 <+bridge> [ddnet] or u can escape the escape character 03:36 <+bridge> [ddnet] then they can put 2 escape characters in a row 03:37 <+bridge> [ddnet] escape characters arent designed to prevent intentional trolling 03:40 <+bridge> [ddnet] does anyone actually play with quotes b4 name 03:40 <+bridge> [ddnet] just implement whisperid and itll fix for the 1 case in all of ddnet 05:09 <+bridge> [ddnet] then you put 4 escape characters 11:23 <+bridge> [ddnet] who came up with zsh? 11:25 <+bridge> [ddnet] it should be illegal to write such shitty documentation 11:26 <+bridge> [ddnet] 😅 11:27 <+bridge> [ddnet] use fish, the friendly interactive shell 🙂 11:29 <+bridge> [ddnet] why, do people even come up with new shells? 11:29 <+bridge> [ddnet] bash works completely fine 11:36 <+bridge> [ddnet] @Learath2 fish has automatic r-search 🙂 11:36 <+bridge> [ddnet] when you type a command you have typed before, it's a simple ctrl-f away (it's nice for interactive use) 11:36 <+bridge> [ddnet] (and it has the paradigm that you don't need to configure anything for it to work well) 11:38 <+bridge> [ddnet] I'm fine with ^R 11:39 <+bridge> [ddnet] this is kinda "how can you say this?" when you have never seen or experienced the other thing ^^ 11:39 <+bridge> [ddnet] it's more don't fix what's not broken 11:39 <+bridge> [ddnet] that attitude would help a java developer to never discover that functional programming also has benefits 11:40 <+bridge> [ddnet] modern java has a lot of the useful parts of functional programming 11:41 <+bridge> [ddnet] because some java programmers did research functional programming and figured that it would be useful to add to java 11:42 <+bridge> [ddnet] wait, you're on mac, right? I think mac has an ancient version of bash, too 11:42 <+bridge> [ddnet] yes, they deprecated it... 11:43 <+bridge> [ddnet] so now I'm setting up zsh, one painful 50 minute google search at a time 11:43 <+bridge> [ddnet] use fish? ^^ no setup needed 11:44 <+bridge> [ddnet] "Web Based configuration" and "Try in browser" scares me very much 11:44 <+bridge> [ddnet] that you *can* try it in the browser scares you? ^^ 11:45 <+bridge> [ddnet] you can completely configure it from the command line, I never configured anything from a browser 11:45 <+bridge> [ddnet] I don't even know how to open that settings browser 11:45 <+bridge> [ddnet] yes, I'm very much hoping they compiled it to js with emscripten and it's not coded in asm.js or something 11:46 <+bridge> [ddnet] C++ 11:48 <+bridge> [ddnet] Okay, I guess it deserves a try 11:49 <+bridge> [ddnet] If I have to google for 50 minutes to customise my ps1 again, I'll download powershell instead 11:49 <+bridge> [ddnet] to spare you the surprise: it's not POSIX-compliant. `(command)` instead of `"$(command)"` (and the quoting rules are a bit more sane) 11:50 <+bridge> [ddnet] @Learath2 what do you need in your PS1? 🙂 11:50 <+bridge> [ddnet] it has user, host, cwd, git branch, return value != 0 by default 11:51 <+bridge> [ddnet] I need my own PS1 11:51 <+bridge> [ddnet] I want my own colors 11:51 <+bridge> [ddnet] `[user@host] cwd [return] prompt` 11:51 <+bridge> [ddnet] hm. okay. I don't know how configurable the PS1 is, it probably is 11:52 <+bridge> [ddnet] I don't mind some git status at the very start 11:52 <+bridge> [ddnet] well we'll see in a couple minutes 11:53 <+bridge> [ddnet] https://fishshell.com/docs/current/tutorial.html#prompt 11:56 <+bridge> [ddnet] okay, the configuration looks saner then zsh atleast 12:07 <+bridge> [ddnet] apparently fish can't use the old style of 256 colors 12:08 <+bridge> [ddnet] I guess I'll have to convert colours, but this makes me wonder, why do people keep breaking things that aren't broken? 12:11 <+bridge> [ddnet] can you elaborate what you mean by "old style of 256 colors"? @Learath2 12:17 <+bridge> [ddnet] like the actual set of 256 colors supported by most of the terminals, that were defined since at least 1999 12:32 <+bridge> [ddnet] this is quite a fluid experience I must admit 12:37 <+bridge> [ddnet] @heinrich5991 you ever use funced? 12:39 <+bridge> [ddnet] @Learath2 no, I used funcsave in the past 12:40 <+bridge> [ddnet] used to export a function from the local environment into the global 12:40 <+bridge> [ddnet] @Learath2 have a question about funced? 12:40 <+bridge> [ddnet] yes, it won't work 12:41 <+bridge> [ddnet] If i use it with EDITOR=vim or with -e vim, it doesn't even open anything 12:41 <+bridge> [ddnet] let me check 12:41 <+bridge> [ddnet] well it seems to open a vim but it's dead, somehow? 12:41 <+bridge> [ddnet] if I :q enter it quits the vim it didn't open 12:41 <+bridge> [ddnet] meh, it works for me, that makes it a bit harder to debug 12:42 <+bridge> [ddnet] have you tried a different editor yet? 12:42 <+bridge> [ddnet] yes, it won't work with any 12:43 <+bridge> [ddnet] nor does it work with other terminal emulators 12:44 <+bridge> [ddnet] eh 12:44 <+bridge> [ddnet] does it work with `funced -e fish` 12:44 <+bridge> [ddnet] ? 12:44 <+bridge> [ddnet] no 12:45 <+bridge> [ddnet] well atleast it displays the function 12:46 <+bridge> [ddnet] it's pretty broken though, it is scrolled all the way down, if you try to scroll up it breaks the entire display 12:47 <+bridge> [ddnet] can you open `vim` in that shell at all? 12:47 <+bridge> [ddnet] (without funced) 12:48 <+bridge> [ddnet] @Learath2 12:48 <+bridge> [ddnet] yep, works perfectly fine 12:53 <+bridge> [ddnet] `type funced` gives you the source code of funced 12:54 <+bridge> [ddnet] but it also only opens the editor in a non-fancy way 12:57 <+bridge> [ddnet] I don't even know what to look at 12:57 <+bridge> [ddnet] me neither 12:57 <+bridge> [ddnet] hm, `eval vim .bashrc` doesn't work for me 12:58 <+bridge> [ddnet] what is that supposed to mean? 12:59 <+bridge> [ddnet] eval vim doesn't work either 12:59 <+bridge> [ddnet] hmmmm 12:59 <+bridge> [ddnet] eval vim should work 12:59 <+bridge> [ddnet] eval should just allow a variable to be used as a command IIRC 13:00 <+bridge> [ddnet] eval nano also is broken 13:00 <+bridge> [ddnet] compare eval env with env plz 13:00 <+bridge> [ddnet] compare `eval env` with `env` plz 13:01 <+bridge> [ddnet] no difference at all 13:03 <+bridge> [ddnet] eval vim works perfectly fine in bash, so it's a fish thing 13:06 <+bridge> [ddnet] I'll compile fish from source, maybe that'll help 13:06 <+bridge> [ddnet] I'm sorry, I see why you would abandon fish at this point ^^ 13:06 <+bridge> [ddnet] I bet it's some macOS quirk anyway 13:11 <+bridge> [ddnet] I guess if I can't modify fish_git_prompt I'll just trim the whitespace afterwards 😛 13:13 <+bridge> [ddnet] @Learath2 https://fishshell.com/docs/current/tutorial.html#autoloading-functions 13:13 <+bridge> [ddnet] you can put the function there `~/.config/fish/functions/fish_prompt.fish` 13:14 <+bridge> [ddnet] that's an adventure for tomorrow, already spent 2 hours on setting up my shell 13:14 <+bridge> [ddnet] I just did a `| string trim` 13:15 <+bridge> [ddnet] 😄 13:22 <+bridge> [ddnet] @heinrich5991 any interesting plugins for fish? 13:23 <+bridge> [ddnet] the reason I picked fish is because I didn't want to add any plugins 13:23 <+bridge> [ddnet] it's supposed to work out of the box. I didn't research plugins 13:23 <+bridge> [ddnet] if you have a suggestion, you can use ctrl+f to complete it, or ctrl-rightarrow to complete the next word 13:30 <+bridge> [ddnet] my parsing fails on some old maps, where the speedup layer data block doesnt have the expected size 13:30 <+bridge> [ddnet] as far as i know speeups require 6 bytes for each tile, in those maps however, there are only 4 bytes for each tile (if you want an example map: `ze_Gold Rush_8ab831ee.map` from heinrich5991s collection 13:31 <+bridge> [ddnet] can anyone tell me whats up there? 13:31 <+bridge> [ddnet] it happens on quite a lot of maps 13:32 <+bridge> [ddnet] why u use fish? 13:32 <+bridge> [ddnet] i never had problems with bash, and i tried zsh but its just overkill 13:32 <+bridge> [ddnet] because I like the completions @Ryozuki 13:32 <+bridge> [ddnet] i also have completions 13:33 <+bridge> [ddnet] ```sh 13:33 <+bridge> [ddnet] # enable programmable completion features (you don't need to enable 13:33 <+bridge> [ddnet] # this, if it's already enabled in /etc/bash.bashrc and /etc/profile 13:33 <+bridge> [ddnet] # sources /etc/bash.bashrc). 13:33 <+bridge> [ddnet] if ! shopt -oq posix; then 13:33 <+bridge> [ddnet] if [ -f /usr/share/bash-completion/bash_completion ]; then 13:33 <+bridge> [ddnet] . /usr/share/bash-completion/bash_completion 13:33 <+bridge> [ddnet] elif [ -f /etc/bash_completion ]; then 13:33 <+bridge> [ddnet] . /etc/bash_completion 13:33 <+bridge> [ddnet] fi 13:33 <+bridge> [ddnet] fi 13:33 <+bridge> [ddnet] ``` 13:33 <+bridge> [ddnet] fish has completions as you type 13:33 <+bridge> [ddnet] without pressing tab 13:33 <+bridge> [ddnet] i dont like that 13:33 <+bridge> [ddnet] fine, but you asked me why I use fish 13:33 <+bridge> [ddnet] that's why 13:33 <+bridge> [ddnet] well i also wanted to know learath 13:33 <+bridge> [ddnet] xd 13:33 <+bridge> [ddnet] @Patiga ze_* doesn't sound like a ddnet map 13:34 <+bridge> [ddnet] why fish and not zsh tho 13:34 <+bridge> [ddnet] because zsh was a configuration nightmare apparently (scroll up) 13:34 <+bridge> [ddnet] i could dig up many more map names if that helps 13:34 <+bridge> [ddnet] are there any that sound like ddrace maps? 13:35 <+bridge> [ddnet] `koule3_fac7db22.map` 13:35 <+bridge> [ddnet] @Ryozuki bash is deprecated on macOS, might aswell try something new 13:35 <+bridge> [ddnet] deprecated??? 13:35 <+bridge> [ddnet] bash is getting updates 13:35 <+bridge> [ddnet] @Patiga yea, sounds ddrace-ish 13:35 <+bridge> [ddnet] @Ryozuki system bash isn't, I think 13:35 <+bridge> [ddnet] macOS isn't getting any of them 13:36 <+bridge> [ddnet] @Patiga I'll bisect 13:36 <+bridge> [ddnet] because they moved to zsh, but zsh is a PITA 13:36 <+bridge> [ddnet] @Patiga still in a lecture though 13:36 <+bridge> [ddnet] looks like a bold move by macos 13:36 <+bridge> [ddnet] trying to deprecate the most famous shell 13:36 <+bridge> [ddnet] xd 13:37 <+bridge> [ddnet] @Patiga hm, does it work in modern ddnet clients? 13:37 <+bridge> [ddnet] koule3 is included in ddnet btw 13:37 <+bridge> [ddnet] lemme check 13:37 <+bridge> [ddnet] but is it that exact version? 13:38 <+bridge> [ddnet] is loading in the editor and for a server smth different? 13:38 <+bridge> [ddnet] or is that exchangable? 13:38 <+bridge> [ddnet] not same 13:38 <+bridge> [ddnet] eh 13:38 <+bridge> [ddnet] different code paths 13:38 <+bridge> [ddnet] @Ryozuki it's the apple way, break compatibility at every single step, leave programmers and developers baffled, call it an improvement and your fanboys won't even complain 13:39 <+bridge> [ddnet] wtf that koule map is actually a skynet map o.o 13:39 <+bridge> [ddnet] well it shouldn't even load well in editor if it's broken? 13:39 <+bridge> [ddnet] @heinrich5991 wdym by system bash 13:40 <+bridge> [ddnet] @Ryozuki well, you can still install any software you like on a mac 13:40 <+bridge> [ddnet] including a modern bash 13:41 <+bridge> [ddnet] but they deprecate it cuz they want not cuz its a outdated software 13:41 <+bridge> [ddnet] yes you can, it'll probably break at every step of the way because of conflicts with the system one 13:41 <+bridge> [ddnet] the map gets succesfully loaded by the server as well as the editor 13:41 <+bridge> [ddnet] they are probably planning to make the system bash interactive in a couple major versions 13:41 <+bridge> [ddnet] non-interactive* 13:41 <+bridge> [ddnet] ah well 13:42 <+bridge> [ddnet] but the speedup layer is empty 13:42 <+bridge> [ddnet] @Patiga interesting, so it's the wrong amount of bytes per tile but it works? 13:42 <+bridge> [ddnet] yes 13:42 <+bridge> [ddnet] ah, the speedup layer is indeed broken though 😄 13:42 <+bridge> [ddnet] I guess it is another artifact remaining from ddrace -> ddnet 13:43 <+bridge> [ddnet] I'm not sure if it still compiles but you could compile ddrace and try loading it there 🙂 13:43 <+bridge> [ddnet] oh ye, i could also check out that repository 13:44 <+bridge> [ddnet] I found the commit 13:44 <+bridge> [ddnet] 4 bytes you say? 13:44 <+bridge> [ddnet] i always somehow thought that ddnet just build upon ddrace and ddrace just sorta vanished so i just need to check out ddnet's repo^^ 13:44 <+bridge> [ddnet] ye 13:45 <+bridge> [ddnet] ye, that's true I think 13:45 <+bridge> [ddnet] re ddnet vs ddrace 13:45 <+bridge> [ddnet] maybe some aligning going on with a short 13:46 <+bridge> [ddnet] yes yes 13:46 <+bridge> [ddnet] could you share the commit? 13:46 <+bridge> [ddnet] yes, bit slow 13:46 <+bridge> [ddnet] just had to do something in the uni exercise class 13:46 <+bridge> [ddnet] 20930ce68bc8b7648307d149caaf8ba73de12d80 13:46 <+bridge> [ddnet] all good 13:52 <+bridge> [ddnet] @heinrich5991 do you happen to know how fish enables ls colors? 13:53 <@Learath2> ah it's a function 13:54 <+bridge> [ddnet] `type ls` 13:54 <+bridge> [ddnet] yes 13:55 <+bridge> [ddnet] `man ` also works btw 13:55 <+bridge> [ddnet] a feature I sorely miss in bash 13:56 <+bridge> [ddnet] `man cd` e.g. 13:56 <+bridge> [ddnet] well man ls wouldn't work would it? 13:56 <+bridge> [ddnet] no 13:56 <+bridge> [ddnet] ``` 13:56 <+bridge> [ddnet] class CSpeedupTile 13:56 <+bridge> [ddnet] { 13:56 <+bridge> [ddnet] public: 13:56 <+bridge> [ddnet] unsigned char m_Force; 13:56 <+bridge> [ddnet] unsigned char m_MaxSpeed; 13:56 <+bridge> [ddnet] unsigned char m_Type; 13:56 <+bridge> [ddnet] short m_Angle; 13:56 <+bridge> [ddnet] }; 13:56 <+bridge> [ddnet] ``` 13:56 <+bridge> [ddnet] the `m_type` is probably for extendability, so you could add similar tiles? 14:00 <+bridge> [ddnet] Probably, I don't think we use `m_Type` yet 14:00 <+bridge> [ddnet] 👍 14:00 <+bridge> [ddnet] so it's uninitialized? or is it 0? 14:00 <+bridge> [ddnet] ah no it's not 14:00 <+bridge> [ddnet] we do use it 14:01 <+bridge> [ddnet] i can check in maps, though i guess it should be 28 14:01 <+bridge> [ddnet] it's always supposed to be TILE_BOOST for now 14:01 <+bridge> [ddnet] uh whats tile_boost? 14:02 <+bridge> [ddnet] there already is `m_Force`, those sounds pretty similar 14:02 <+bridge> [ddnet] 28 14:02 <+bridge> [ddnet] ah 14:02 <+bridge> [ddnet] ye ok, that matches up with its index in the speedup layer png 14:02 <+bridge> [ddnet] https://wiki.ddnet.tw/game-tiles/speedup/ :) 14:03 <+bridge> [ddnet] nice layer 😄 14:04 <+bridge> [ddnet] I actually don't understand this code at all 14:04 <+bridge> [ddnet] Why don't the tiles inherit from CTile? 14:05 <+bridge> [ddnet] the tiles are separate for speedup etc. layer 14:05 <+bridge> [ddnet] they don't have rotation etc. 14:06 <+bridge> [ddnet] why isn't the tile part just generic though, these are all tile layers 14:19 <+bridge> [ddnet] @Learath2 I don't quite follow 14:45 <+bridge> [ddnet] the speedup layer data is in a different position than the normal tileset data 14:45 <+bridge> [ddnet] @heinrich5991 as in the final datafile? 14:48 <+bridge> [ddnet] its the index pointing to the data block has a different position in the item_data 15:26 <+Konsti> DDNet RUS on 83% RAM and big laggy? Is it an attack? 15:35 <+bridge> [ddnet] Konsti: doesn't look like an attack to me 17:09 <+bridge> [ddnet] @heinrich5991 is it possible to get teehistorian2demo to output to stdout? 17:10 <+bridge> [ddnet] ``` 17:10 <+bridge> [ddnet] USAGE: 17:10 <+bridge> [ddnet] teehistorian2demo [DEMO] 17:10 <+bridge> [ddnet] ``` 17:10 <+bridge> [ddnet] `./teehistorian2demo /dev/stdout` 17:10 <+bridge> [ddnet] really? I don't think that'd work 17:10 <+bridge> [ddnet] that works for all the unix commands 17:11 <+bridge> [ddnet] unless I did something wrong, it should work for my program, too 17:11 <+bridge> [ddnet] ```ddnet bin/teehistorian2demo 9ed38e1c-3005-40b2-9c0f-8eb5ac6c0c73.teehistorian /dev/stdout 17:11 <+bridge> [ddnet] 9ed38e1c-3005-40b2-9c0f-8eb5ac6c0c73.teehistorian: Io(Os { code: 13, kind: PermissionDenied, message: "Permission denied" })``` 17:11 <+bridge> [ddnet] so I did something wrong, nice 17:11 <+bridge> [ddnet] which makes sense to me, tbh, root owns that device 17:12 <+bridge> [ddnet] echo abc | tee /dev/stdout 17:12 <+bridge> [ddnet] `tee: /dev/stdout: Permission denied` 17:12 <+bridge> [ddnet] what 17:12 <+bridge> [ddnet] linux distro? 17:12 <+bridge> [ddnet] ah, macos 17:12 <+bridge> [ddnet] Debian 17:13 <+bridge> [ddnet] it's on ddnet.tw 17:13 <+bridge> [ddnet] hm, maybe I wrongly assumed that this is available on all systems 17:14 <+bridge> [ddnet] try `echo abc | tee /proc/self/fd/1` 17:15 <+bridge> [ddnet] https://github.com/torvalds/linux/blob/51184ae37e0518fd90cb437a2fbc953ae558cd0d/Documentation/admin-guide/devices.rst#compulsory-links 17:15 <+bridge> [ddnet] You need to be in the tty group to handle input like this 17:15 <+bridge> [ddnet] `tee: /proc/self/fd/1: Permission denied` 17:16 <+bridge> [ddnet] because `lrwx------ 1 teeworlds teeworlds 64 Apr 28 17:15 /proc/self/fd/1 -> /dev/pts/0` => `crw--w---- 1 root tty 136, 0 Apr 28 17:15 /dev/pts/0` 17:17 <+bridge> [ddnet] ah 17:17 <+bridge> [ddnet] but if you redirect stdout, then it's no longer that tty 17:17 <+bridge> [ddnet] `echo abc | tee /dev/stderr 2> /tmp/rrrrr` works 17:18 <+bridge> [ddnet] so does 17:18 <+bridge> [ddnet] `echo abc | tee /dev/stdout | cat` 17:19 <+bridge> [ddnet] I guess it'd work with php's passthru aswell, but I guess you might want to change that in the future to use a - for stdout like other unix programs? 17:19 <+bridge> [ddnet] yes 17:19 <+bridge> [ddnet] sounds good 17:19 <+bridge> [ddnet] although 17:20 <+bridge> [ddnet] that gives a special case for files called `-` 17:20 <+bridge> [ddnet] well you could also try to detect whether you are being piped 17:20 <+bridge> [ddnet] that's even less portable though 17:20 <+bridge> [ddnet] would a `--stdout` flag satisfy you? or is it too non-standard? 17:21 <+bridge> [ddnet] I don't quite mind either way 17:21 <+bridge> [ddnet] maybe just output to stdout if there is no [FILE] passed? 17:21 <+bridge> [ddnet] oh yea, that would work 17:21 <+bridge> [ddnet] binary data into stdout is a less then pleasant experience but it's what everyone except xz does 17:21 <+bridge> [ddnet] ah, but it has bad UX when you just type the command 17:25 <+bridge> [ddnet] I'm really trying hard to keep this all in php, but I so want to use ajax 😛 17:30 <+bridge> [ddnet] I know you're strong, you'll do it! 17:39 <+bridge> [ddnet] 😛 17:39 <+bridge> [ddnet] meh, it works, it looks sorta ugly but I guess this is the best we can do without js 17:48 <+bridge> [ddnet] sorta works? 17:48 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/704720735255527474/Screenshot_2020-04-28_at_18.48.17.png 17:49 <+bridge> [ddnet] do you have the header `Content-Type: application/octet-stream`? 17:52 <+bridge> [ddnet] yay it works 17:52 <+bridge> [ddnet] Do you think maybe I should send a chunk early on to trigger the download start? 17:53 <+bridge> [ddnet] how would you do this? 17:53 <+bridge> [ddnet] ah 17:53 <+bridge> [ddnet] I'd send the header, I'd send TWDEMO, i'd flush 17:53 <+bridge> [ddnet] ah 17:53 <+bridge> [ddnet] yes, sure 🙂 17:54 <+bridge> [ddnet] can you maybe tell php to flush the headers? 17:54 <+bridge> [ddnet] would be less hacky 17:54 <+bridge> [ddnet] I can, but I'm not completely sure that alone would trigger a download 17:54 <+bridge> [ddnet] let me check 17:55 <+bridge> [ddnet] hm, wait if I start it early, idk how I'd fail it if we can't manage to get the file from the backend 17:56 <+bridge> [ddnet] ah 17:57 <+bridge> [ddnet] well, how fast do you know whether it's a success or not? 17:58 <+bridge> [ddnet] the download and the decompression take a while 17:58 <+bridge> [ddnet] both can fail 17:58 <+bridge> [ddnet] tbh teehistorian2demo can also fail, but I can't signify that either 17:58 <+bridge> [ddnet] hm, maybe if I kill the connection it'd fail the download? 18:02 <+bridge> [ddnet] ah, I'll have to handle the chunking by hand then 18:03 <+bridge> [ddnet] I think it's good enough for now 18:15 <+bridge> [ddnet] new osx update, new xcode breakage \o/ 18:20 <+bridge> [ddnet] @heinrich5991 what about players-cache python3 18:26 <+bridge> [ddnet] I guess I'll have to take another 3 month break as macOS compilation is broken again 23:35 <+bridge> [ddnet] bug: tabbing into ddnet fullscreened while watching a video crashes game, freezes computer 23:36 <+bridge> [ddnet] also i get tons of random visual bugs, not sure why. would be open to debug w someone