IRC logs for #openttd on OFTC at 2025-01-27
โด go to previous day
01:10:14 *** Flygon has quit IRC (Read error: Connection reset by peer)
02:48:07 <florafex> talltyler: reminds me of this video
02:48:07 <florafex> (tldr: doom except it has been compiled so pi is something other than 3.14159etc)
03:06:46 *** Wormnest has quit IRC (Quit: Leaving)
03:13:49 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:43:52 <DorpsGek> - Update: Translations from eints (by translators)
05:15:49 *** akimoto has quit IRC (Remote host closed the connection)
06:10:45 *** keikoz has quit IRC (Ping timeout: 480 seconds)
07:15:30 <DorpsGek> - Add: summary for week 04 of 2025 (by OpenTTD Survey)
07:20:43 <pickpacket> why Monday? Is it really necessary?
08:15:58 <LordAro> sign an executive order to ban Mondays
08:27:49 <andythenorth> I don't mind Mondays
08:28:07 <andythenorth> actually, most of the days are ok
08:30:30 <kuhnovic> As long as there's coffee I'm fine with mondays
08:33:02 <truebrain> Wait, it is Monday?
09:08:20 <peter1138> Yeah, what the heck?
09:08:26 <peter1138> Who asked for this?
09:26:23 <_zephyris> I blame Sunday, very suspicious that Monday always comes after it.
09:37:05 <pickpacket> I usually don't mind Mondays, and it's always nice to see my office colleagues again (especially the one I have a hopeless unrequited crush on like some dumb teenager). However; I didn't sleep well last night
09:47:36 <pickpacket> LordAro: yeah yeah, I know. Childish. Whatevs ๐คช
09:47:43 <pickpacket> what do you all do for a living?
09:48:47 <LordAro> i generally describe it as shouting at computers until they do my bidding
09:49:12 <pickpacket> LordAro: do you shout with text or voice?
09:49:40 <LordAro> usually just the former
09:49:53 <LordAro> depends how stubborn the computer is being
09:56:15 <pickpacket> LordAro: there's always a relevant xkcd ๐
10:02:10 <peter1138> Today there was no audio in my Teams meeting.
10:02:28 <peter1138> Turns out that happens if you muted the browser tab...
10:21:07 <pickpacket> peter1138: sounds kinnda nice, though
10:22:40 <pickpacket> we have visitors here from the HQ office :)
11:13:03 <xarick> SpriteType::MapGen do these have a picture? I wanted to see their form
11:21:33 <peter1138> They are not used with TGP.
12:41:06 <_zephyris> Lol, yeah. It uses the same 8bpp conversion, so I chucked it in there.
12:43:54 *** kuka_lie has joined #openttd
13:15:53 <peter1138> Hm. `unique_ptr` are somewhat infectious.
13:38:35 <pickpacket> having a rule that nothing should be deployed without code review is great, but it does pose an obstacle when I've literally added two variables and reformatted a print statement and now have to wait for the one other colleague who hasn't gone home for the day to review it...
13:39:15 <LordAro> doesn't sound like it's an especially critical change :p
13:45:15 <pickpacket> nah. I'm merging it now and they can look at it after the fact
14:08:51 <peter1138> It's an obstacle but it's not YOUR obstacle.
14:18:31 <peter1138> OpenTTD would be even more full of my crap if it wasn't reviewed.
14:34:21 <truebrain> Wow, I opened that ttforums link on my mobile without having my VPN on .. which meant the ads loaded .. holy crap, that was a bad experience. When I want to read about trains I do not want to see girls in bathing suits full sized on my screen .. brrr
14:34:55 <truebrain> I really do hate ad networks these days .. why do they have to go full screen? What is the point ....
14:37:09 <peter1138> Hmm, if it's really bad then orudge can look at it again, IIRC there are meant to be options of what sort of ads are pushed.
14:39:15 <andythenorth> truebrain: I have the same, tt-forums I have to close if any of my family come in the room
14:39:26 <andythenorth> I have reported the ads to google many many times as inappropriate
14:39:38 <andythenorth> but the magic ad factory does not care about that ๐
14:39:54 <peter1138> I guess I am a naughty pi-hole and ยตblock user
14:40:03 <andythenorth> on mobile, the ads also fill most of the viewport
14:40:09 <truebrain> peter1138: And no, I didn't see ttforums, as I don't read it ๐ but at least that is a better place to ask for that kinda help ๐
14:40:25 <andythenorth> oof I have not donated to forums yet this year
14:42:11 <peter1138> The certain... persistence there.
14:45:11 <peter1138> pickpacket, besides, waiting for a CI to complete, or a review to be done, is just more time for brewing some tea.
14:53:28 <truebrain> peter1138: Yeah, and still refusing to accept the answer; which is funny. 5 developers now gave a reply .. you can't say we are not communicating ๐
14:59:53 <LordAro> it would be mildly interesting to know what the differences were between various linkers
15:00:06 <LordAro> gold, lld, mold, etc etc
15:00:38 <peter1138> I always forget to specify which one.
15:01:03 <peter1138> (I have a habit of reconfiguring with gcc or clang instead of just using a different build directory.)
15:02:53 <peter1138> Huh, I just noticed that clang-19 appeared in my package list.
15:03:35 <LordAro> been out a whole 4 months
15:04:40 <peter1138> Did they... add it with the 12.9 point release...?
15:05:47 <peter1138> > llvm-toolchain-19 New source package, to support builds of chromium
15:07:30 <LordAro> "C++17 support is now completed"
15:13:16 <peter1138> clang-16 failed to compile OpenTTD for me, let's see if clang-19 fares better.
15:20:49 *** akimoto has joined #openttd
15:22:45 <peter1138> clang-19 builds, so must have been a bug in clang-16 or something.
15:23:22 <peter1138> Right, what new features can I use to continue breaking things...
15:27:34 <_glx_> and we used to require at least clang-15
15:29:37 *** Wormnest has joined #openttd
15:33:04 *** akimoto has quit IRC (Remote host closed the connection)
15:38:48 <pickpacket> Are there ads on tt-forums? I had no idea
15:40:46 <xarick> giant banners at the top
15:41:06 <xarick> and sometimes inbetween posts
15:46:10 <andythenorth> I have asked orudge before how much revenue the ads bring, and if we could fund removing them
15:47:01 <andythenorth> even in difficult times, I don't think the fundraiser has struggled much
15:47:36 <andythenorth> a few times I've wondered if I'd have to put ยฃ100 in just to get it over the line, but it always gets done
15:51:02 <FLHerne> it is quite startling to me that OTTD now requires > 1GB of memory to compile & link
15:52:03 <FLHerne> I remember doing it in 64MB (and, in fact, little-endian)
15:52:49 <FLHerne> yes there are some new features, but mostly C++ seems to spectacularly increase the compute and memory cost of compilation
15:54:47 <Rubidium> FLHerne: one of the the major contributors is link-time-optimisation
15:55:23 <_jgr_> A lot of the template and type safety wrapper stuff leads to enormous symbols and debug sections
15:55:24 <Rubidium> disable that, and use make -j1 and it's already a lot less
15:55:43 <_jgr_> That didn't really exist when the code was c with classes
16:02:36 *** gelignite has joined #openttd
16:13:43 *** D-HUND is now known as debdog
16:22:15 <pickpacket> I donate to the game. Are the forums included in that?
16:22:53 <pickpacket> I.e. I send money to orudge now and then
16:23:09 <talltyler> Forums and the game are separate, both managed by orudge but in separate accounts
16:33:23 <LordAro> he's got a point you know, those issues aren't especially related
16:34:39 <peter1138> Eh, symptons of the same issue. User's computer does not have enough memory.
16:37:45 <LordAro> one issue revealed by another (invalid issue)
16:37:59 <LordAro> the second should definitely have been closed, it just wasn't a duplicate of the first
17:29:32 *** kuka_lie has quit IRC (Read error: Connection reset by peer)
17:32:12 *** kuka_lie has joined #openttd
17:38:01 *** Heiki has quit IRC (Ping timeout: 480 seconds)
17:38:29 *** soylent_cow[m] has quit IRC (Ping timeout: 480 seconds)
17:58:42 <andythenorth> pff what was I doing?
17:59:03 <andythenorth> other than figuring out 24/7/365 platform ops and trying AWS App Studio (it wasn't very good)
17:59:26 <andythenorth> was it D0xx strings?
18:10:35 <truebrain> LordAro: You wanted to recycle his ticket, otherwise it would already been closed. And if you would have fixed your PR it would also have been closed. In other words, his diary doesn't belong in any ticket ๐
18:11:15 <truebrain> He was right to bring it to the forums, if you ask me
18:16:36 <truebrain> Maybe that helps out a bit more
18:20:07 <xarick> how much it gonna break AIs
18:24:00 <xarick> not sure if caused by 13384 or if it was already crashable
18:24:58 <_jgr_> 13384 has nothing to do with crashes
18:25:38 <_jgr_> OK, well maybe not ๐
18:26:18 <peter1138> Might've been there before?
18:27:04 <xarick> let me test 15.0-beta1
18:28:15 <_jgr_> Actually, 13384 is wrong, it tries to remove road waypoints in the bus/truck path and vice versa
18:28:45 <xarick> no crash in 15.0-beta1
18:30:32 <xarick> ^_^ selectively removing bus stations
18:32:53 <xarick> need to check how AIs remove these
18:33:01 <_jgr_> The StationType parameter does not make sense with the new behaviour
18:37:20 <kuhnovic> I should have tested this better
18:37:22 <xarick> `ScriptObject::Command<CMD_REMOVE_ROAD_STOP>::Do(tile, 1, 1, GetRoadStopType(tile), false);`
18:37:22 <xarick> AIs remove tile by tile
18:37:43 <xarick> so they're fine i suppose
18:39:11 <_jgr_> Also, for some reason grey/leftover station name labels don't seem to be working either
18:40:43 <truebrain> LordAro: let's see if my foo magic is still any good ๐
18:41:51 <xarick> can AIs build road waypoints already?
18:45:17 <truebrain> btw, fun fact: less than 0.1% of our userbase has 1GB or less RAM ๐
18:45:24 <andythenorth> did we LLM the the AI yet?
18:45:44 <_glx_> truebrain: oh nice side effect of trying Xaudio2 ๐
18:45:56 <truebrain> but I am also surprised these variables leak out
18:46:00 <truebrain> I did not expect that, I have to admit
18:46:10 <truebrain> this part of CMake still dizzles me
18:46:39 <_glx_> CMake scoping can be weird
18:48:09 <truebrain> I also don't know if my solution is any good; it just sounded like the easiest way out ๐
18:48:11 *** tokai|noir has joined #openttd
18:48:11 *** ChanServ sets mode: +v tokai|noir
18:48:15 <_glx_> sometimes we need workarounds to update variables because of scope, and in this case it just put it in global scope
18:48:50 <truebrain> I leave it up to LordAro if he actually accepts this solution ๐
18:49:51 <xarick> finally got stuff to do now. add waypoints to scripts
18:52:43 <peter1138> Hmm, stations with no facility. Ackl
18:52:57 <kuhnovic> Thanks for the quick fix JGR
18:53:14 <kuhnovic> Sorry that you had to sweep up after me ๐
18:54:25 <truebrain> 181 issues .. oof .. will we ever get it below 100? ๐
18:55:14 *** tokai has quit IRC (Ping timeout: 480 seconds)
18:55:36 <peter1138> I could stop adding bugs?
18:56:06 <Rubidium> truebrain: just go through peter1138's stashes, he got a fix for almost every one already :D
18:56:15 <LordAro> truebrain: at least one of the other cmake files saves then resets required_flags
18:57:09 <truebrain> I guess we could store the old value
18:57:15 <truebrain> but we already know it to be empty, I guess ๐
18:57:30 <truebrain> FindLibLZMA is also not correct in the same way
18:57:39 <truebrain> sigh .. you are going to make me make a correct fix for this, aren't you?
19:01:10 <LordAro> truebrain: ยฏ\_(ใ)_/ยฏ
19:01:13 <xarick> i got more river tweeks waiting, but can't PR them atm ๐ฆ I must wait
19:01:44 <truebrain> "He who says A, should say B", as we say in Dutch
19:02:09 <xarick> waiting for a dear soul to merge or review or both
19:02:41 <truebrain> I strongly doubt `set(CMAKE_REQUIRED_FLAGS "")` is actually correct; but that is for someone else to figure out when they run into that ๐
19:05:18 <truebrain> w00p, first PR in months, and I get a double approve โค๏ธ
19:11:48 *** HerzogDeXtEr has joined #openttd
19:25:13 <Rubidium> truebrain: turned on my space bar heater ;)
19:25:53 <truebrain> CMake's documentation is a bit bad here; I am happy someone else spotted the mistake ๐
19:28:15 <truebrain> well, we only need to know CMake's thought on the endianess ๐
19:29:26 <Rubidium> the makefiles look promising, as in TTD_ENDIAN=TTD_BIG_ENDIAN
19:29:52 <Rubidium> lets time make to be sure
19:34:42 <truebrain> ugh, downloading 1.5GB to open a savegame ..
19:43:47 <truebrain> full service today LordAro ๐
19:48:26 <Rubidium> after almost 20 minutes it started compiling the C++ files
19:52:28 <xarick> CoPilot is usually good with names
19:53:10 <xarick> I tried to use DeepSeek, but requires an account... so no thx
19:59:33 <peter1138> Oops, I hadn't pushed that bit.
20:01:22 <truebrain> that default is funny ๐
20:03:13 <peter1138> My EnumBitSet stuff would fix that :)
20:09:57 <Rubidium> oh yes, EnumBitSet... lower case function names so it somewhat matches bitset (though not always in name), or capitalized as in the coding style
20:10:24 <peter1138> I fixed the names actually.
20:10:46 <peter1138> Well, made them match.
20:10:55 <peter1138> But yes, I can change it to normal style.
20:11:21 <peter1138> We've been a bit mismatchy in other places too.
20:17:43 <xarick> I have a problem, BT_WAYPOINT already exists, for rail waypoint, I am trying to add a road waypoint
20:18:21 <xarick> do I rename BT_WAYPOINT to BT_RAIL_WAYPOINT? or is there a unique name for road waypoints?
20:19:00 <xarick> renaming would require script compat ๐ฆ
20:23:38 <_glx_> rail and road both have BT_DEPOT, it's not an issue
20:23:56 <_glx_> so use BT_WAYPOINT for road
20:24:13 <_glx_> it's AIRoad.BT_WAYPOINT anyway
20:24:26 <xarick> oh, my bad, you're right
20:33:38 <truebrain> New side quest unlocked! ๐
20:34:07 <peter1138> > Date: Fri Jun 14 11:25:20 2024 +0100
20:34:29 <peter1138> I did it as one bigger PR before, but it failed on MSVC.
20:37:13 <peter1138> We use some intrinsics for swapping, which are not constexpr.
20:37:36 <peter1138> Anyway, C++ might have builtins for this by now.
20:38:57 <peter1138> Ah no, std::byteswap is c++23.
20:40:09 <peter1138> Though IIRC the compiler should be able to detect an endian swap and do the right thing anyway.
20:45:30 <xarick> RemoveRailWaypointTileRectangle wow... AIRoad is so behind on this, there's no equivalent
20:47:30 <Rubidium> peter1138: you got a patch to remove TTD_ENDIAN from endian_func as well, right? Just checking before I'd be doing duplicate work again
20:53:13 <peter1138> I'll push that one as a draft, because of the MSVC issue.
21:03:57 <andythenorth> is GPT in my text editor yet?
21:05:31 <_glx_> can't MSVC do like GCC ?
21:06:38 <Rubidium> _glx_: the issue is that MSVC sees the code and thinks... lets inject my intrinsic there. But the intrinsic doesn't seem to be constexpr in c++20
21:11:39 <Rubidium> oh, never mind... I missed an if-def
21:17:15 <peter1138> It's not injected, we ifdef it :)
21:17:37 <Rubidium> yeah, I already saw that :(
21:17:51 <_glx_> I should just try myself
21:18:10 <Rubidium> I think I have a nice solution, needs some testing though
21:20:05 <_glx_> ok using a function instead of define doesn't change anything, except the location of the error ๐
21:21:04 <andythenorth> `string(STR_NAME_CONTAINER_2, string(STR_NAME_SUFFIX_ACID_TANK_CAR_RANDOMISED), string(STR_NAME_SUFFIX_RANDOMISED_WAGON))` is this valid nml?
21:21:22 <andythenorth> `STR_NAME_CONTAINER_2 :{STRING} {STRING}`
21:21:43 <andythenorth> the result shows the first substr, but not the second
21:22:43 <andythenorth> D0xx strings can be substringed?
21:24:31 <Rubidium> clang6 (and later) x86-64 injects bswap with -01 with the straight forward implementation. gcc6 (and later) with -O2. MSVC 19.34 (and later) with /O1. So... do we still *need* the intrinsics? Just trashing those will solve the issue without worse codegen *if* optimisation is turned on
21:25:17 <andythenorth> I suspect the name callback is silently failing
21:25:30 <_glx_> andythenorth: yes it will set an action 4 for `<STR_NAME_SUFFIX_ACID_TANK_CAR_RANDOMISED> <STR_NAME_SUFFIX_RANDOMISED_WAGON>`
21:25:58 <andythenorth> I think I'm not returning a valid result
21:26:10 <_glx_> `{STRING}` are evaluated and replaced at compile time
21:27:20 <_glx_> same for `{NUM}` if a constant is passed
21:27:27 <andythenorth> how do I return the cb result by loading a string from temp storage?
21:27:43 <andythenorth> I did have the text stack for this, but I'm trying to eliminate it
21:28:18 <_glx_> there's some math to do IIRC
21:34:49 <andythenorth> I'll eliminate the LOAD_TEMP stuff I think
21:37:51 <_glx_> andythenorth: BTW the only way to be sure is to check the NFO ๐
21:38:26 <andythenorth> it's not byte o'clock here ๐
21:38:55 <_glx_> because nml and `string()` can do weird things
21:39:36 <andythenorth> possibly I will find myself restoring the text stack code ๐
21:39:48 <_glx_> depending on if it's used as return from procedure or from callback
21:40:03 <_glx_> there's some auto translation of the ID
21:43:09 *** DorpsGek has joined #openttd
21:43:09 *** ChanServ sets mode: +o DorpsGek
21:43:53 <_glx_> of course using `string(STR_NAME_CONTAINER_2, string(STR_NAME_SUFFIX_ACID_TANK_CAR_RANDOMISED), string(STR_NAME_SUFFIX_RANDOMISED_WAGON))` will create more strings in the end, as it will combine the arguments into a single string
21:44:11 <andythenorth> that's ok, there's enough now
21:44:31 <andythenorth> when I wrote the stack code, D0xx strings were in short supply
21:44:53 <_glx_> D0xx are still quite short
21:44:58 <andythenorth> but I've reduced total use, or we've increased the limit nmlc info: D0xx strings: 483/1024
21:46:43 *** peter1138[d] has quit IRC (Quit: User went offline on Discord a while ago)
21:47:02 <_glx_> I think we reduced D0xx usage, not increased the limit
21:48:30 <andythenorth> I'm not sure I've gained much by deleting the text stack use
21:52:00 *** soylent_cow[m] has joined #openttd
21:52:34 <_glx_> if your callback returns `string(STR_NAME_CONTAINER_2, string(STR_NAME_SUFFIX_ACID_TANK_CAR_RANDOMISED), string(STR_NAME_SUFFIX_RANDOMISED_WAGON))` it could actually fill text stack and just return `string(STR_NAME_CONTAINER_2)`, `STR_NAME_SUFFIX_ACID_TANK_CAR_RANDOMISED` and `STR_NAME_SUFFIX_RANDOMISED_WAGON` would be in DCxx while `STR_NAME_CONTAINER_2` is D0xx
21:53:28 <andythenorth> yes, that's what it used to do
21:53:31 <_glx_> you can check 013_train_callback changes
21:53:44 <andythenorth> I thought I would eliminate advanced varact2 in favour of simple strings
21:53:52 <_glx_> before the PR everything would be D0xx
21:56:47 <_glx_> so lot of DCxx strings for a single D0xx
21:56:52 <andythenorth> yes, that's the behaviour in released Horse
21:57:06 <andythenorth> I thought it was inefficient and was trying to eliminate it
21:57:21 <andythenorth> I think I'll leave it alone ๐
21:57:39 <_glx_> yeah the idea is to keed D0xx usage as low as possible
21:58:09 <_glx_> because D0xx range is very short
21:59:02 <_glx_> of course it's valid only for CB allowing text stack
22:00:41 <andythenorth> I wonder what would happen if I didn't use `name` callback at all ๐
22:01:04 <andythenorth> no special handling of variant levels
22:01:27 <andythenorth> everything is then DCxx string?
22:01:58 <peter1138> Ah, it's MultiMap that does the lower-case thing.
22:03:06 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:05:22 <_glx_> you mean just using `name` property?
22:05:45 <andythenorth> is that action 4 strings?
22:06:07 <_glx_> yes standard action 4 for feature IDs
22:08:18 <xarick> confused: how do road waypoints work for road vs tram
22:12:00 <xarick> they're agnostic towards road or tram?
22:12:32 <andythenorth> dropping the name callback saves 10MB of nml, 1MB of grf, and 3 seconds of compile time
22:14:26 <andythenorth> oops forgot, the groups aren't all homogoneous vehicles
22:14:38 <andythenorth> yeah, so I need name callback to set group heading string
22:16:59 <Rubidium> truebrain: the spacebar is getting toastier by the minute... it's currently at 62% (though actual compilation started at 46%). I wonder whether the build will fail as I did 'make -j4' and the machine has 1G of memory
22:17:03 *** gelignite has quit IRC (Quit: Stay safe!)
22:17:15 <Rubidium> speaking of the devil...
22:17:24 <andythenorth> new action 0 prop? ๐
22:17:34 <truebrain> Rubidium: The irony!
22:17:48 <andythenorth> `variant_header/level_0`, `variant_header/level_1`
22:17:52 <andythenorth> "looks a bit like badges"
22:18:14 <andythenorth> do I have a spacebar?
22:18:19 <andythenorth> I have a key with no markings
22:18:33 <Rubidium> took 168 minutes to get OOM-ed :)
22:18:52 <Rubidium> now trying with less parallelism
22:19:49 <truebrain> And maybe a bit more memory assigned to the machine? ๐
22:20:11 <_glx_> @Rubidium: could remove #ifdef, or add #error in #else ๐
22:20:56 <_glx_> or #warning as it's a c++23 thing too ๐
22:24:27 <andythenorth> oops broke my build ๐
22:27:03 <andythenorth> `error: while checking out baseline from commit 'b2cb0da531c2f1f740045bfe7c4dac59f0b2b69c', failed to `git show` versions/baseline.json. This may be fixed by fetching commits with `git fetch`.`
22:28:44 <andythenorth> oof what did Apple do now ๐
22:28:52 <andythenorth> this worked last week
22:29:13 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:29:55 <andythenorth> this is output from `-- Running vcpkg install`
22:30:04 *** kuka_lie has quit IRC (Quit: Lost terminal)
22:39:03 <andythenorth> ok rm-ed vcpkg and cloned fresh
22:39:12 <andythenorth> 'mysteries of software packaging'
22:41:07 <andythenorth> `[100%] Built target openttd_test
22:41:07 <andythenorth> make -j 19 553.90s user 37.64s system 1136% cpu 52.066 total`
22:52:48 <xarick> not sure about ScriptRoad::BuildRoadWaypoint(TileIndex tile) requiring a single param
22:55:37 <xarick> ``` Axis axis = INVALID_AXIS;
22:55:37 <xarick> if ((bits && ROAD_Y) == ROAD_NONE) {
22:55:37 <xarick> } else if ((bits && ROAD_X) == ROAD_NONE) {
22:55:39 <xarick> EnforcePrecondition(false, axis != INVALID_AXIS);```
22:55:41 <xarick> How should I translate this into english
22:56:12 <xarick> IsValidAxis probably better
22:58:53 <xarick> `@pre GetRailTracks(tile) == RAILTRACK_NE_SW || GetRailTracks(tile) == RAILTRACK_NW_SE.` There's no equivalent for road bits ๐ฆ
23:11:31 <xarick> `if ((axis == AXIS_X ? width : height) != 1) return CMD_ERROR;` this looks weird
23:11:45 <xarick> are you sure this works?
23:11:55 <xarick> asking to whoever coded it
23:13:24 <xarick> Jonathan G Rennison (Author)
23:21:23 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:24:49 <_glx_> andythenorth: no mystery, if your last build was not very recent, all you had to do is `git pull` in vcpkg clone
23:25:01 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
23:38:27 <xarick> I'm not sure about all exceptions ๐ฆ
23:38:54 <xarick> there's so many possibilities
23:41:28 <xarick> alright, bed, good night
continue to next day โต