Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2018-02-21 00:00:00Z and 2018-02-22 00:00:00Z
06:38
2d55136 Remove the blanket rules for files without exte... - heinrich5991 ca75ab3 Merge pull request #1044 from heinrich5991/pr_d... - def-
06:38
ac7e92d Rerun wavpack version detection when the librar... - heinrich5991 1578e27 Ignore old generated files if still present - heinrich5991 6c41e95 Merge pull request #1045 from heinrich5991/pr_d... - def-
Avatar
[freenode] <nemo> if factorio was idle, it was probably a better candidate than an active process
17:02
[freenode] <nemo> 4530344kB is a hell of a lot tho
17:03
[freenode] <nemo> ditto 1431628 in actual memory. 1.4 gigs
17:03
[freenode] <nemo> sounds like a good candidate
17:07
[freenode] <nemo> if you really want to let factorio run wild, you might want to adjust its oom score to protect it
17:08
[freenode] <nemo> looks like a score of -17 is total immunisation
17:08
[freenode] <nemo> I guess downside of that would be you could kill your system
17:08
When a linux machine runs low on memory the kernel OOM Killer will kill processes to free up ram. This article explains how to protect processes from OOM Killer.
Avatar
ChillerDragon 2018-02-21 17:17:54Z
yo im having trouble with special chars on ubuntu and with my searchengine xd
17:18
how to write things like [ { ] } @ etc in ubuntu or search them in searchengines because they get ignored there .-.
Avatar
[freenode] <nemo> quote them?
Avatar
ChillerDragon 2018-02-21 17:39:28Z
i tried
Avatar
[freenode] <nemo> shrugs
17:40
[freenode] <nemo> is this some integration of search into gnome3 or unity or something?
Avatar
ChillerDragon 2018-02-21 17:42:10Z
?
Avatar
are you talking about sth like google
Avatar
ChillerDragon 2018-02-21 17:43:56Z
duckduckgo
17:43
ye
Avatar
[freenode] <nemo> is this in browser or in your desktop environment
Avatar
ChillerDragon 2018-02-21 17:44:04Z
yep
17:44
nobody using ubumtu here?
Avatar
[freenode] <nemo> lol @ "yep"
17:44
[freenode] <nemo> to a question w/ 2 choices
17:45
[freenode] <nemo> I'm currently using ubuntu on a few computers. Mate + 14.04 LTS
Avatar
ChillerDragon 2018-02-21 17:45:17Z
how do type all these special chars?
17:45
o.O
Avatar
[freenode] <nemo> everything else is devuan or gentoo, apart from one experiment w/ mint
17:45
[freenode] <nemo> so. again ChillerDragon - I gotta ask. is this in your browser, or your desktop environment
Avatar
ChillerDragon 2018-02-21 17:45:48Z
yes
17:45
as i said already
Avatar
[freenode] <nemo>
Avatar
ChillerDragon 2018-02-21 17:45:58Z
ah
17:45
xd
17:46
xxxD
17:46
i have two probs
17:46
the one not being able to type it
Avatar
[freenode] <nemo> entering @ sign in browser works fine w/ DDG and Google
Avatar
ChillerDragon 2018-02-21 17:46:52Z
and the other one not being able to search for a solution because entering "type { ubuntu" in duckduckgo gives random results
Avatar
[freenode] <nemo> well. DDG's search may be crap is all
17:47
[freenode] <nemo> but I gotta say. that search string is not great
Avatar
ChillerDragon 2018-02-21 17:47:33Z
well nvm just tell me how to write them on my keyboard .-.
Avatar
[freenode] <nemo> I wouldn't have any idea what you were looking for either
Avatar
ChillerDragon 2018-02-21 17:47:56Z
i want to type [ { @
Avatar
[freenode] <nemo> well on a standard QWERTY american english kbd, that would be <shift> + [
17:48
[freenode] <nemo> no idea what your kbd is
Avatar
ChillerDragon 2018-02-21 17:48:11Z
german
Avatar
[freenode] <nemo> welp. lemme ask Wuzzy in #hedgewars
17:48
[freenode] <nemo> he's german
Avatar
ChillerDragon 2018-02-21 17:48:29Z
c:
Avatar
alt-gr 8
17:48
on the german keyboard
Avatar
[freenode] <nemo> ah
17:48
[freenode] <nemo> yay. more germans
Avatar
shift ö on the english layout with a german keyboard IIRC
Avatar
ChillerDragon 2018-02-21 17:48:57Z
great
17:49
ty @heinrich5991 working
Avatar
[freenode] <nemo> FWIW he said alt-gr 7
17:49
[freenode] <nemo> I guess that's { and }
Avatar
ChillerDragon 2018-02-21 17:49:10Z
ye all these numbers
17:49
yy
17:49
altgr is key
Avatar
@ChillerDragon don't you have those printed on your keyboard? ^^
Avatar
ChillerDragon 2018-02-21 17:49:26Z
i have .-.
17:49
but i tried all keys except altgr
17:49
i didnt know i have this key
17:49
xd
Avatar
[freenode] <nemo> I never remap kbd off qwerty - always leads to tears when on a random computer - but I guess if one is in germany QWERTZ is the standard
17:50
[freenode] <nemo> for french I use XCompose
Avatar
yes, qwertz is standard for computers here
Avatar
[freenode] <nemo> € → compose + e=
Avatar
ąçȩįų
Avatar
[freenode] <nemo> huh. no ẞß ? is it too rare?
Avatar
nemo: top right
Avatar
[freenode] <nemo> oh
17:51
[freenode] <nemo> there it is
17:51
[freenode] <nemo> yeh
Avatar
ChillerDragon 2018-02-21 17:52:03Z
17:52
whats going on?
Avatar
read is a special command from bash
17:52
system can only call executables
Avatar
ChillerDragon 2018-02-21 17:52:32Z
isnt system === bash?
17:52
oh LOOL
17:52
ty
17:52
so i have to call bash
17:52
xd
Avatar
[freenode] <nemo> heh
Avatar
maybe don't use system 😛
Avatar
ChillerDragon 2018-02-21 17:53:03Z
system rocks .-.
17:53
hwo do i pause my programms then?
Avatar
std::getline(std::cin) or sth
Avatar
ChillerDragon 2018-02-21 17:53:44Z
grpf
Avatar
every time you call system you're spawning another program, which is pretty expensive on windows e.g.
Avatar
[freenode] <nemo> not to mention incompatible possibly
Avatar
ChillerDragon 2018-02-21 17:54:18Z
hrmpf
17:54
?
17:54
u mean win to linux compatible
Avatar
[freenode] <nemo> remote env may not have bash ☺
17:54
[freenode] <nemo> or bsd or android or whatever
Avatar
ChillerDragon 2018-02-21 17:55:09Z
#ifdef WIN32 system("pause >NUL"); #elif (_linux) || (APPLE) system("read -n1"); #endif
17:55
ifdef rocks
Avatar
[freenode] <nemo> O_o
17:55
[freenode] <nemo> that's... unique...
Avatar
ChillerDragon 2018-02-21 17:55:34Z
^
Avatar
[freenode] <nemo> so heinrich5991 - does ChillerDragon have commit access to ddnet?
Avatar
ChillerDragon 2018-02-21 17:55:48Z
xxxxD
Avatar
[quakenet] <heinrich5991> no
17:55
[freenode] <nemo> thank god
17:55
[quakenet] <heinrich5991> but he sent PRs already
Avatar
ChillerDragon 2018-02-21 17:55:57Z
hehe
Avatar
[quakenet] <heinrich5991> nemo: but I'm trying to not have a thing like "commit" access anyway
17:57
[quakenet] <heinrich5991> rather a couple of people who can merge pull requests
17:57
[quakenet] <heinrich5991> and everyone makes PRs when they code sth
Avatar
ChillerDragon 2018-02-21 17:57:44Z
getchar() works great btw
17:57
maybe im gonna use it instead
Avatar
[quakenet] <heinrich5991> getchar is even a standard C function :) +1
Avatar
ChillerDragon 2018-02-21 17:58:09Z
ye f3
17:58
prs are great
17:58
ye c > c++
17:58
this looks weird
17:58
xd
Avatar
[quakenet] <heinrich5991> that's undefined behavior
17:58
[freenode] <nemo> heinrich5991: we're too lazy for that
17:58
[quakenet] <heinrich5991> ;)
Avatar
ChillerDragon 2018-02-21 17:58:51Z
we have bors
Avatar
[freenode] <nemo> heinrich5991: it's easier to just give someone access if they are fairly responsible than review/merge everything
Avatar
ChillerDragon 2018-02-21 17:58:52Z
the spammer
17:58
xd
Avatar
[freenode] <nemo> heinrich5991: that's how I ended up w/ access - unc0rr got tired of merging my stuff ☺
17:59
[quakenet] <heinrich5991> :)
18:00
[freenode] <nemo> oh. ChillerDragon - there's a silly thing from the IOCCC that I use in shells from time to time that might entertain you
Avatar
ChillerDragon 2018-02-21 18:00:26Z
the word IOCCC already entertains me
18:00
tf is that
Avatar
[freenode] <nemo> alias ccstdin='g++ -pedantic -ansi -Wall -o ~/.stdin+ ~/.stdin.cc -lm && ~/.stdin+'
18:00
[freenode] <nemo> alias cstdin='gcc -pedantic -ansi -Wall -o ~/.stdin ~/.stdin.c -lm && ~/.stdin'
18:00
[quakenet] <heinrich5991> international obfuscated C contest
18:00
[quakenet] <heinrich5991> c
18:00
[freenode] <nemo> https://www.ioccc.org/
18:01
[freenode] <nemo> http://m8y.org/tmp/stdin.c
18:01
[freenode] <nemo> http://m8y.org/tmp/stdin.cc
18:01
[freenode] <nemo> $ cstdin
18:01
[freenode] <nemo> printf("Hello World\n");
18:01
[freenode] <nemo> Hello World
Avatar
ChillerDragon 2018-02-21 18:01:53Z
this is some weird stuff
Avatar
[freenode] <nemo> your approach to C reminded me of this
18:02
[quakenet] <heinrich5991> why so many flags to gcc?
18:02
[freenode] <nemo> heinrich5991: they accumulated no doubt, over the past 20 years
18:02
[freenode] <nemo> heinrich5991: mostly was trying to be yelled at for whatever I was testing
18:02
[quakenet] <heinrich5991> -ansi = please give me the oldest version of C/C++ you have available
18:02
[quakenet] <heinrich5991> :(
18:03
[freenode] <nemo> hehe
18:03
[freenode] <nemo> no doubt I wanted "safest subset"
18:08
[quakenet] <heinrich5991> nemo: what were the languages again? pascal and haskell?
18:12
[freenode] <nemo> heinrich5991: oh. for hedgewars?
18:12
[quakenet] <heinrich5991> yes
18:13
[freenode] <nemo> heinrich5991: C++/QT5 frontend (iOS and Android have separate frontends ofc), Haskell gameserver (there's a new Rust one unc0rr has started), Pascal engine
18:13
[freenode] <nemo> heinrich5991: rust for engine might happen. dunno. qt5 is higher priority tho
18:13
[quakenet] <heinrich5991> rewrite it in rust?
18:13
[freenode] <nemo> yeh
18:13
[quakenet] <heinrich5991> mh
18:13
[freenode] <nemo> well... more like... unc0rr adapts his pas2c converter to pas2rust
18:13
[freenode] <nemo> then we clean up the result
18:13
[quakenet] <heinrich5991> :D
18:14
[quakenet] <heinrich5991> incremental rewrites might be easier :)
18:14
[freenode] <nemo> eh. the pas2c works already
18:14
[freenode] <nemo> mostly would be changing concepts
18:14
[freenode] <nemo> all the tangled up global state
18:14
[quakenet] <heinrich5991> yea
18:14
[quakenet] <heinrich5991> you might run into quite a few conceptual problems on the way
18:14
[freenode] <nemo> possibly. we've been looking into it a bit
18:15
[freenode] <nemo> the biggest issue, IMO, is the main "gear" iterator - the linkedl ist of struct + function callback for all the things that need to do things in the game
18:15
[freenode] <nemo> but. I think we can address that reasonably
18:15
[freenode] <nemo> the other one that's guaranteed to be an issue is the AI - but we've already decided we'll use unsafe for that - screw rust's paranoia ☺
18:15
[quakenet] <heinrich5991>
18:16
[freenode] <nemo> (the AI has direct access to the land array from a separate thread, and we do not, in fact, care if it mutates out from under us)
18:16
[freenode] <nemo> so locking is just silly
18:16
[freenode] <nemo> we'll just unsafe take a refererence to it. moving on.
18:17
[freenode] <nemo> say, have you seen what the output of his pas2c looks like? ☺
18:17
[freenode] <nemo> http://m8y.org/tmp/uGears.c
18:18
[quakenet] <heinrich5991> make the world's inner members atomics
18:18
[quakenet] <heinrich5991> then accessing it from different threads is no longer unsafe
18:18
[freenode] <nemo> yeah. I know. that's what #rust said too
18:19
[freenode] <nemo> not gonna do it
18:19
[freenode] <nemo> we don't need it
18:19
[freenode] <nemo> checkout line, oh, 1527 of that c file ☺
18:21
[quakenet] <heinrich5991> nemo: what's wrong with using atomics? :)
18:21
[freenode] <nemo> heinrich5991: https://hg.hedgewars.org/hedgewars/file/09edbd8a311d/hedgewars/uGearsHandlersMess.pas#l1714 the equivalent line of pascal
18:21
[freenode] <nemo> heinrich5991: it's not necessary is all
18:21
[quakenet] <heinrich5991> with Ordering::Relaxed, it should compile down to the same machine code, although you won't invoke UB by modifying stuff while reading it
18:21
[freenode] <nemo> uh
18:21
[quakenet] <heinrich5991> (on x86)
18:22
[freenode] <nemo> how on earth could atomic access ever compile down to same as non-atomic?
18:22
[freenode] <nemo> but, if it is zero cost, I'm open to it
18:22
[freenode] <nemo> it seriously doesn't matter tho
18:22
[freenode] <nemo> the AI only needs a fuzzy view of the Land
18:27
18:27
[quakenet] <heinrich5991> Load Relaxed: MOV
18:27
[quakenet] <heinrich5991> Store Relaxed: MOV
18:29
[freenode] <nemo> and how does that guarantee atomicity?
18:29
[freenode] <nemo> isn't really clear to me at all
18:29
[freenode] <nemo> but again, if it compiles down to 'sact same code as an unsafe read, w/ no extra costs imposed at all, then fine.
18:30
[quakenet] <heinrich5991> the guarantees you get from relaxed atomics are the ones that intel provides you anyway
18:30
[quakenet] <heinrich5991> so no extra cost for you
18:30
I have 64 bits which I need to read extremely quickly before an event and then after the event perform a compare-and-exchange. I was thinking I could load(std::memory_order_relaxed) before the eve...
18:30
[freenode] <nemo> aight. fair 'nuff
18:30
[quakenet] <heinrich5991> atomicity at this level means just "you can only observe the value before it was written and afterwards"
18:30
[freenode] <nemo> and. sorry. "intel guarantee" is funny
18:30
[freenode] <nemo> can't help but giggle these days
18:30
[quakenet] <heinrich5991> which is how programmers usually model memory anyway :P
18:30
[quakenet] <heinrich5991> ^^
18:31
[freenode] <nemo> after meltdown and meltdownprime
18:31
[freenode] <nemo> from response, seems to be architecture dependent
18:31
[quakenet] <heinrich5991> yes
18:31
[freenode] <nemo> I wonder what the situation is on arm
18:32
[freenode] <nemo> it would matter a lot more there
18:32
[quakenet] <heinrich5991> would you handle complete garbage values ok in the AI?
18:32
[quakenet] <heinrich5991> like not these that were there before or are there afterwards
18:32
[freenode] <nemo> On strongly-ordered systems (x86, SPARC TSO, IBM mainframe), release-acquire ordering is automatic for the majority of operations. No additional CPU instructions are issued for this synchronization mode, only certain compiler optimizations are affected (e.g. the compiler is prohibited from moving non-atomic stores past the atomic store-release or perform non-atomic loads earlier than the atomic load-acquire).
18:32
[freenode] <nemo> On weakly-ordered systems (ARM, Itanium, PowerPC), special CPU load or memory fence instructions have to be used.
18:33
[freenode] <nemo> yeah. complete garbage values are totally fine
18:33
[freenode] <nemo> so long as they aren't, oh, more than 1% of the values
18:33
[freenode] <nemo> which they probably won't be
18:33
[quakenet] <heinrich5991>
18:33
[freenode] <nemo> basically the only thing that matters is "is there collision or not"
18:33
[freenode] <nemo> most of the time
18:34
[freenode] <nemo> that is, is the value non-zero
18:34
[freenode] <nemo> and. it has to actually be checking that cell
18:34
[freenode] <nemo> out of 8+ million others
18:35
[freenode] <nemo> of which the vast majority never change after initial load of the map
18:35
[freenode] <nemo> and, even if it gets wrong value, odds are it wouldn't impact the AI's strategy in any way
18:36
[freenode] <nemo> and even if it impacted it, most of time it wouldn't impact it in a way that actually has any significance
18:36
[freenode] <nemo> anyway. would have to see what the cost on ARM is. can always strip it
18:37
not even a response
Avatar
[freenode] <nemo> lol
18:38
[freenode] <nemo> so this jxsl13 person - did they actually contribute anything useful?
18:38
[freenode] <nemo> 'cause that would be best way to get trusted with commits
18:39
[freenode] <nemo> or were they just there to complain
18:39
[quakenet] <heinrich5991> not in the code base, but in the forums
Avatar
thats not the point of my screenshot
18:39
[quakenet] <heinrich5991> Load Relaxed: ldr
18:39
[quakenet] <heinrich5991> Store Relaxed: str
18:39
[quakenet] <heinrich5991> still 0-cost
Avatar
nemo, it recommends other people ot be added as "admin" in the repo, such as heinrich
18:39
to*
18:39
but oy clossed it without even saying a thing xD
18:40
the most funny thing, is that oy clossed the issue in 10 mins but didn't respond to a pr from 2013 yet
Avatar
[freenode] <nemo> "
18:40
[freenode] <nemo> Note: the only way to get atomic 64-bit memory accesses on ARM without LPAE (the Large Physical Address Extensions) is to use ldrex/strex with a loop (ldrd and strd instructions are not guaranteed to appear atomic). Processors with LPAE have single-copy-atomic LDRD and STRD instructions to normal memory. "
18:41
[freenode] <nemo> that is proooobably not gonna be a problem
18:41
[quakenet] <heinrich5991> where do you get this from
18:41
[freenode] <nemo> your link
18:41
[freenode] <nemo> Ryozuki_: but, heinrich5991 already is a core dev no?
18:41
[quakenet] <heinrich5991> nemo: not for teeworlds
18:42
[freenode] <nemo> ah...
18:42
[quakenet] <heinrich5991> oy is currently the only one, and refuses to extend it to other ppl
Avatar
thats what i mean :)
18:42
and thats how oy killed teeworlds dev
Avatar
[freenode] <nemo> oh well. ddnet seems to be doing fine
18:42
[freenode] <nemo> unc0rr was much more open w/ his baby
Avatar
ye ddnet responds to prs even in the same day
Avatar
[freenode] <nemo> he just complained a lot about all the weird stuff we were doing
18:43
[quakenet] <heinrich5991> ^^
Avatar
and this is oy response "When I started playing Teeworlds, there were usually just 2 servers with people playing - that was fine. If it goes back to that - still fine. It was never the aim to get a lot of players, it's a niche product, even though it attracted lots of players during time. People start and stop playing games, that's life. Games die and people move on.s."
18:43
with such thinking, dev is for sure dead xD
Avatar
[quakenet] <heinrich5991> wait, nemo: do you need 64-bit atomics?
18:43
[quakenet] <heinrich5991> the thing you quoted
18:44
[freenode] <nemo> that's why I said "probably not"
18:44
[freenode] <nemo> so, we technically support some truly insane map sizes
18:45
[quakenet] <heinrich5991> more than 4M in each direction?
Avatar
"Oy wrote: It's not turning into an anti-Teeworlds like ddnt or become mod-friendly etc." 🤔 😂
Avatar
[freenode] <nemo> heinrich5991: for the LandPixels we use 4 bytes for pixel (true colour). 2 bytes for the collision
18:45
[freenode] <nemo> heinrich5991: we do support maps as large as libpng will load
18:46
[quakenet] <heinrich5991> well
18:46
[quakenet] <heinrich5991> you need to access the 2 bytes for collision
18:46
[quakenet] <heinrich5991> that's a 16-bit atomic load
18:46
[freenode] <nemo> I'm not saying it's a sane thing to do
18:46
[freenode] <nemo> oh. I misunderstood
18:46
[freenode] <nemo> I thought it was about addressable size
18:47
[freenode] <nemo> then yeah. not a problem. only 64 bit type is hwfloat and isn't used for mem access
18:49
[quakenet] <heinrich5991> "hwfloat"
18:49
[quakenet] <heinrich5991> intel hwfloat is 80 bit
18:50
[freenode] <nemo> hw = hedgewars 😉
18:50
[quakenet] <heinrich5991> ah ;)
18:51
[freenode] <nemo> it's not actually float either
18:51
[quakenet] <heinrich5991> fixed point? <3
18:51
[freenode] <nemo> yep
18:51
[quakenet] <heinrich5991> cool
18:51
[quakenet] <heinrich5991> teeworlds deals with floats :(
18:51
[freenode] <nemo> basically unc0rr ran into the same inconsistency problems that the poor TA:Spring guys were running into
18:51
[freenode] <nemo> where they were endlessly playing with compiler variations and flags to avoid desyncs on different hardware/OSes
18:51
[quakenet] <heinrich5991> yes
18:52
[quakenet] <heinrich5991> we had that recently
18:52
[freenode] <nemo> I think they ended up resolving it w/ streflop - but prior to that they were super precise about gcc version
18:52
[freenode] <nemo> you guys aren't deterministic lockstep tho
18:52
[freenode] <nemo> is death for poor spring/hedgewars.
18:52
[quakenet] <heinrich5991> true
18:52
[freenode] <nemo> anyway. he fixed it w/ a fixed point number - he called it float since it was dropin
18:52
[freenode] <nemo> I think I have an old pdf of the Spring guys testing this
18:52
[quakenet] <heinrich5991> who are the "spring guys"?
18:53
[freenode] <nemo> https://springrts.com/
18:53
[freenode] <nemo> I got interested in it due to Total Annihilation - it was intended as a FOSS variant - Total Annihilation being an RTS far ahead of its time - in like 1996 had true 3d terrain and ballistics
18:54
[freenode] <nemo> later in 2007 Supreme Commander was written - it had an engine suprisingly similar in terms of features to what the Spring guys had come up w/ 😃
18:55
[freenode] <nemo> http://m8y.org/hw/fp.html this one might entertain you too
Avatar
i got supreme commander and its dlc 😌
Avatar
[freenode] <nemo> I never ended up buying that one, was too much into Spring at the time
18:55
[freenode] <nemo> I did buy Planetary Annihilation tho
Avatar
i have it too
18:56
is good
Avatar
[freenode] <nemo> oh. cool. we should play sometime
Avatar
tho i dont play lot rts rn
Avatar
[freenode] <nemo> well. I don't have much time to play much of anything
18:56
[quakenet] <heinrich5991> we're now using -ffloat-store on some gcc versions
18:56
[freenode] <nemo> I did just finish Starbound - but only way I got away with that is my 5 year old daughter enjoys watching me play
18:56
[freenode] <nemo> she'd make up stories as to the various creatures I encountered
18:57
[freenode] <nemo> at one point she drew on a bunch of pieces of paper a doodle book of absolutely everything I did that evening in starbound
18:57
[quakenet] <heinrich5991> is your daughter playing sth? :)
18:57
[quakenet] <heinrich5991> nice :o
18:57
[freenode] <nemo> she plays... Twenty, DragonBox 5+
18:57
[freenode] <nemo> and some simple phone games
18:57
[freenode] <nemo> I highly recommend Twenty BTW if you want a fun simple game for your phone
18:58
[freenode] <nemo> is free for the basic game
18:58
[freenode] <nemo> I've gotten up to... 13x20 - my coworker is up to 17
18:58
[freenode] <nemo> he's got a 2 thumb technique tho
18:58
[freenode] <nemo> I just can't manage that
18:58
[freenode] <nemo> my daughter has gotten up to like 17 or 18 or so ☺
18:58
[freenode] <nemo> (not 20)
Avatar
ChillerDragon 2018-02-21 19:00:54Z
yo why is teeworlds folder hidden under linux?
Avatar
[freenode] <nemo> ??
19:01
[quakenet] <heinrich5991> because it has a leading dot in the name
19:01
[freenode] <nemo> heh
Avatar
ChillerDragon 2018-02-21 19:01:15Z
is there any reason? to use .teeworlds instead of teeworlds
19:01
ikr
Avatar
[freenode] <nemo> that's standard for config folders under linux
19:01
[quakenet] <heinrich5991> everything with a leading dot is hidden by convention
19:01
[freenode] <nemo> to avoid clutter
19:01
[freenode] <nemo> the only improvement would be to do ~/.local/config/teeworlds
Avatar
ChillerDragon 2018-02-21 19:01:36Z
hm
Avatar
[quakenet] <heinrich5991> if you want, you could support the xdg stuff and put it into .config/
19:01
[freenode] <nemo> which, we haven't bothered doing yet
19:01
[quakenet] <heinrich5991> we neither
19:01
[freenode] <nemo> it's a hassle ☺
Avatar
ChillerDragon 2018-02-21 19:01:55Z
hmkay it does make sense
Avatar
[freenode] <nemo> gotta handle migration/legacy
Avatar
ChillerDragon 2018-02-21 19:01:57Z
ty c:
Avatar
[freenode] <nemo> since none of us care enough, hasn't happened ☺
Avatar
ChillerDragon 2018-02-21 19:02:17Z
why isnt it hidden on macOS then?
Avatar
ChillerDragon 2018-02-21 19:02:34Z
so macOS convention shows config folders?
Avatar
I think we put it into a special path on macOS, like on windows
19:02
let me chck
Avatar
ChillerDragon 2018-02-21 19:02:59Z
application support
Avatar
[freenode] <nemo> I assume you guys use Library/Application Support/Teeworlds
Avatar
ChillerDragon 2018-02-21 19:03:02Z
classical thing
19:03
ya
Avatar
[quakenet] <heinrich5991> yes
19:03
[freenode] <nemo> yeah. MacOS determines how that is displayed
Avatar
ChillerDragon 2018-02-21 19:03:19Z
allright
Avatar
[freenode] <nemo> if you open home folder in macos - how is Library displayed?
19:03
[quakenet] <heinrich5991> supporting different OSs is fun, right? :)
Avatar
ChillerDragon 2018-02-21 19:03:42Z
yes!
19:03
c:
19:04
what do you mean?
Avatar
[freenode] <nemo> under Windows we use My Documents/Hedgewars
19:04
[freenode] <nemo> SHGetFolderPathA(0, CSIDL_PERSONAL, NULL, 0, path)
19:04
[quakenet] <heinrich5991> we use %APPDATA%\Teeworlds
19:04
[freenode] <nemo> we used to do that
19:04
[freenode] <nemo> Smaxx (our former windows guy) said it wasn't intuitive for windows users
19:04
[freenode] <nemo> they wouldn't be able to easily find it
19:04
[quakenet] <heinrich5991> mh...
Avatar
ChillerDragon 2018-02-21 19:04:53Z
i like appdata c:
Avatar
[quakenet] <heinrich5991> we ship a config_directory.bat
19:04
[quakenet] <heinrich5991> that opens the folder :D
Avatar
ChillerDragon 2018-02-21 19:05:03Z
its best
19:05
nemo uhm idk Library seems to be hidden
Avatar
ChillerDragon 2018-02-21 19:06:27Z
19:06
its hidden in gui
19:06
but not in ls
Avatar
[freenode] <nemo> yeah, it's just arbitrary conventions. I dunno. Doesn't suprise me apple hides it tho
19:06
[freenode] <nemo> APPDATA is hidden in windows no?
19:06
[quakenet] <heinrich5991> yes
Avatar
ChillerDragon 2018-02-21 19:06:53Z
y
Avatar
[freenode] <nemo> unless you set Show Hidden Files and Folders
19:06
[quakenet] <heinrich5991> yes, but even then
Avatar
ChillerDragon 2018-02-21 19:07:04Z
so its somehow hidden in macOS too then
Avatar
[freenode] <nemo> "* Hedgewars will now use a sub directory of "My Documents" like other games instead of "%userprofile%/.hedgewars" under Windows"
Avatar
ChillerDragon 2018-02-21 19:07:07Z
but without .teeworlds
Avatar
[quakenet] <heinrich5991> you still have to navigate through C: Users your name
Avatar
ChillerDragon 2018-02-21 19:07:13Z
just in a weird hidden folder
Avatar
[freenode] <nemo> yeah, no idea why Smaxx thought My Documents was better
19:07
[freenode] <nemo> but he was windows guy, so didn't argue
19:07
[quakenet] <heinrich5991> backward compatibility strategy:
19:07
[quakenet] <heinrich5991> * Due to those changes old files/settings/teams will be ignored
19:07
[quakenet] <heinrich5991> great :P
19:08
[freenode] <nemo> we did add interface buttons to open the ~/.hedgewars/Data folder (and other locations) so that people who were unfamiliar w/ linux commandline could actually find it ☺
19:08
[freenode] <nemo> (or OSX users 😉 )
Avatar
ChillerDragon 2018-02-21 19:08:15Z
only the entry folder has to be hidden am i right?
19:08
all sub directorys can be listed normal i guess
Avatar
[freenode] <nemo> yeah
Avatar
ChillerDragon 2018-02-21 19:08:30Z
cool
Avatar
[freenode] <nemo> heinrich5991: heh. yeah, yay breaking changes.
19:08
[freenode] <nemo> heinrich5991: I think we still have unicode problems under windows w/ team names ☹
19:09
[quakenet] <heinrich5991> rust solves these <3
19:09
[freenode] <nemo> \o/
19:09
[freenode] <nemo> hm
19:09
[freenode] <nemo> well
19:09
[quakenet] <heinrich5991> they did unicode right as well as with interfacing with windows
19:09
[freenode] <nemo> if we change engine to rust that doesn't fix frontend
19:09
[freenode] <nemo> http://utf8everywhere.org/
Avatar
ChillerDragon 2018-02-21 19:09:51Z
frontend sux xd
19:09
uninstall it
Avatar
[freenode] <nemo> qml rewrite of frontend is on the todo
19:10
[freenode] <nemo> but. dunno if that'll fix the team naming
19:10
[freenode] <nemo> we probably just need to be more aggressive on escaping
19:11
[quakenet] <heinrich5991> escaping?
19:11
[freenode] <nemo> special characters in the filenames
19:11
[quakenet] <heinrich5991> ah yea
19:11
[freenode] <nemo> what happens right now is that if someone uses, um, non-BMP unicode, it loads fine in linux
19:11
[freenode] <nemo> but gets mangled in windows
19:11
[quakenet] <heinrich5991> do you save the client from arbitrary file overwrites? :)
19:12
[freenode] <nemo> er?
19:12
[freenode] <nemo> not sure what you mean
19:12
[quakenet] <heinrich5991> do you have a "map download to file" function or similar?
Avatar
ChillerDragon 2018-02-21 19:13:02Z
yo nemo how did u even get into this irc? xd
19:13
have u ever played teewoods?
Avatar
[freenode] <nemo> I played w/ heinrich5991 !
Avatar
ChillerDragon 2018-02-21 19:13:34Z
ah
Avatar
[freenode] <nemo> and. I joined because we were looking for help from you guys w/ our SDL2 migration
Avatar
ChillerDragon 2018-02-21 19:13:37Z
great!
Avatar
[freenode] <nemo> which you helped w/
19:13
[freenode] <nemo> I played teeworlds a long long time ago
19:13
[freenode] <nemo> didnt' care for it
19:13
[freenode] <nemo> but ddnet is better
Avatar
ChillerDragon 2018-02-21 19:13:53Z
.-.
Avatar
[freenode] <nemo> I like the puzzle aspects
19:14
[freenode] <nemo> even if I kinda sucked at it
19:14
[freenode] <nemo> some things were a bit weird graphically. the ice effect esp
19:14
[quakenet] <heinrich5991> yea, we don't even have graphics/prediction for our main gameplay element :<
Avatar
ChillerDragon 2018-02-21 19:17:17Z
not needed
19:17
its all perfect c:
19:18
getchar(); btw sux bcs it only reacts on enter .-.
Avatar
[freenode] <nemo> heh
19:20
[freenode] <nemo> ChillerDragon: soooo I hope you seriously aren't bothered by that?
19:20
[freenode] <nemo> 'cause toggling buffered/unbuffered in a crossplatform way is kind of a PITA
19:20
[quakenet] <heinrich5991> that's why he was trying system
Avatar
ChillerDragon 2018-02-21 19:21:10Z
hehe
19:21
ye sys rocks
Avatar
[freenode] <nemo> oh. was that the underlying reason. well. you aren't going to solve cross-platform that way
Avatar
ChillerDragon 2018-02-21 19:21:26Z
.-.
Avatar
[quakenet] <heinrich5991> I saw you were already using ncurses?
19:21
[quakenet] <heinrich5991> it probably has a function for htat
Avatar
ChillerDragon 2018-02-21 19:21:31Z
yerp
19:21
hm
19:21
lemme check
Avatar
[freenode] <nemo> oh. yeah. if he has an ncurses dependency already...
19:22
Avatar
ChillerDragon 2018-02-21 19:22:38Z
AHAHAHHAHA
19:22
searched for a ncusrses solution
19:22
2nd answer is using system
Avatar
[freenode] <nemo>
Avatar
ChillerDragon 2018-02-21 19:23:01Z
I am trying to write a C++ program in which when user enter any character from keyboard and it should move to next line of code. Here is my code: char c; cin>>c; cout<<"Something"&l...
Avatar
[freenode] <nemo> oh. eh
19:23
[freenode] <nemo> that's not curses 😝
Avatar
ChillerDragon 2018-02-21 19:23:35Z
i searched for ncurses -.-
Avatar
[freenode] <nemo> http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/init.html yeah. ncurses does same as curses
19:25
[freenode] <nemo> I would hope that cbreak() is implemented on whatever windows version of the lib is there
19:25
[freenode] <nemo> last time I built an ncurses anything for windows was w/ a cygwin dependency tho
Avatar
ChillerDragon 2018-02-21 19:26:29Z
well i gues im going to revive my #ifdef agian to seperate oses
Avatar
[quakenet] <heinrich5991> curses seems to have a getch function
Avatar
ChillerDragon 2018-02-21 19:27:15Z
ya
19:27
i used it
19:27
but it didnt stopped somehting yet
Avatar
[freenode] <nemo> er. why not use this cbreak() thing?
19:27
[freenode] <nemo> seems exactly what you want?
19:28
[freenode] <nemo> and nocbreak to turn buffering back on
Avatar
ChillerDragon 2018-02-21 19:29:38Z
hum
19:29
im too noob to use it
19:29
it turns buffering off
19:29
so it doesnt pause yet am i right?
19:30
so by combinding it with getchar() it should work fine?
Avatar
[freenode] <nemo> yeah
Avatar
ChillerDragon 2018-02-21 19:30:44Z
doesnt work .-.
Avatar
[freenode] <nemo> whaaat
19:30
[freenode] <nemo> pastebin?
Avatar
ChillerDragon 2018-02-21 19:31:04Z
ye it still lets me write hughe textts in menu
19:31
pastbin of my cod?
19:31
e
Avatar
yes
19:31
gg
19:31
xd
19:31
sec
Avatar
[freenode] <nemo> heh
19:32
[freenode] <nemo> not to mention a stripped down testcase would be appreciated 😝
Avatar
ChillerDragon 2018-02-21 19:32:17Z
forhot the blob
19:32
chidraqul6 the console game in the 6th generation designed to be cross platform
19:32
line 12
19:33
well ait
19:34
i didnt push yet xd
19:34
haha fok me
Avatar
[freenode] <nemo> I gotta think a pastebin of a testcase would be a lot faster 😝
Avatar
ChillerDragon 2018-02-21 19:35:35Z
idk what do you mean by that
Avatar
[quakenet] <heinrich5991> not only for nemo
Avatar
ChillerDragon 2018-02-21 19:35:49Z
cbreak(); getchar(); nocbreak();
Avatar
[freenode] <nemo> just would like a mini program similar to your "system" example above
Avatar
ChillerDragon 2018-02-21 19:35:54Z
these lines i use
Avatar
[quakenet] <heinrich5991> it might be helpful for yourself if you try it out on your own in a small testcase
19:36
[freenode] <nemo> ok... and in a small testcase, does it not work as expected?
Avatar
ChillerDragon 2018-02-21 19:36:17Z
no it works as getchar() without any changes
19:36
i can press all keys and entering a message
19:36
it waits for the enter
Avatar
[freenode] <nemo> you just can't be bothered to send us your reduced testcase
19:37
[freenode] <nemo> btw you are testing in a reduced testcase right?
Avatar
ChillerDragon 2018-02-21 19:37:34Z
nope
19:37
well i can try to crate a testcase for u c:
Avatar
[freenode] <nemo> \o/
19:38
[quakenet] <heinrich5991> not only for nemo, it's also good for yourself to create a reduced test case
19:38
[quakenet] <heinrich5991> faster testing :)
19:38
[quakenet] <heinrich5991> the knowledge that the proble doesn't lie elsewhere
Avatar
ChillerDragon 2018-02-21 19:38:49Z
in this case...
Avatar
[freenode] <nemo> I like that you added a license
Avatar
ChillerDragon 2018-02-21 19:45:00Z
ikr xd
Avatar
#include <curses.h> int main() { initscr(); noecho(); cbreak(); getch(); nocbreak(); echo(); return 0; }
19:47
gcc a.c -lncurses (edited)
19:47
./a.out
19:47
works for me
Avatar
[freenode] <nemo> yeah. he was lacking the initscr();
19:48
[freenode] <nemo> the noecho isn't necessary ofc
19:48
[freenode] <nemo> hm. how was an ncurses program working without that?
19:48
[freenode] <nemo> I thought that was like fundamental
19:48
[quakenet] <heinrich5991> ChillerDragon: do you use any other functions from ncurses?
Avatar
ChillerDragon 2018-02-21 19:49:00Z
hmm idk i have some initscr all over the place in the src
19:49
i think so
Avatar
[quakenet] <heinrich5991> it's the noecho you're missing I believ
19:49
[quakenet] <heinrich5991> if it's "there is still character output when I type"
Avatar
ChillerDragon 2018-02-21 19:50:01Z
it works great in the testcase btw
19:50
but it fucks my game lul
19:50
like totally
19:50
you just createt a whole new game
19:51
this is escalating way too hard im going to stick to the getchar() for now lul
19:51
but ty for ur support guiis c:
Exported 550 message(s)