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 2019-05-27 00:00:00Z and 2019-05-28 00:00:00Z
Avatar
@heinrich5991 send more useful firefox extensions
Avatar
fa64763 A Chill Let's Climb 3 - ddnet-maps
Avatar
@heinrich5991 I'm an old enough eu citizen that isn't allowed to vote in the eu yet 😛
Avatar
@heinrich5991 that works
07:24
update-desktop-database
Avatar
I will upgrade to 32GB because of pci passthrough. Sadly the linux kernel is swapping when you have 16GB and give 12GB to the VM even with just a webbrowser on the host. There is ram left, it's just at 85-95% but it's still swapping my browser. I tried playing with swappiness but didn't help.
07:41
@heinrich5991 deen's blog is based on an older version of https://github.com/poole/poole, when they had a single css file without sass, so you might try version 1.1.0 https://github.com/poole/poole/tree/v1.1.0
The Jekyll Butler. Contribute to poole/poole development by creating an account on GitHub.
07:46
i think poole doesn't come with tags
Avatar
@timakro is the seemingly empty ram maybe given to the igpu?
Avatar
@deen do you know how i can check?
08:32
but i didn't think about that, might be
Avatar
i set it in the bios
Avatar
okay, i will check in the bios
Avatar
Heh: https://github.com/mstorsjo/msvc-wine Anyone want to try this out with DDNet?
Scripts for setting up and running MSVC in Wine on Linux - mstorsjo/msvc-wine
Avatar
#define TS Server()->TickSpeed() #define TICK Server()->Tick() #define GS GameServer() #define CHAR(C) (((C) < 0 || (C) >= MAX_CLIENTS) ? 0 : GS->GetPlayerChar(C)) #define PLAYER(C) (((C) < 0 || (C) >= MAX_CLIENTS) ? 0 : GS->m_apPlayers[C]) #define TPLAYER(C) (((C) < 0 || (C) >= MAX_CLIENTS) ? 0 : (GS->IsClientReady(C) && GS->IsClientPlayer(C)) ? GS->m_apPlayers[C] : 0) #define CFG(A) g_Config.m_Sv ## A
11:33
this is pretty cool :o
Avatar
nice
Avatar
There's no reason to use macros for those though
Avatar
its faster than typing all that stuff isnt it
Avatar
macro magic is harder to read imho
Avatar
You can just use a small function and make it inline
11:56
only use macros when necessary
Avatar
yeah
Avatar
Since macros are simple text replacements you'll run into all sorts of trouble, like multiple evaluations if C is some function
Avatar
ive seen this in another mod and found it cool, since i never saw this in teeworlds before
Avatar
@ZimE I assume you already use an adblocker (use 'ublock origin') ­– container tabs is also a useful addon
12:07
it allows you to be logged into a single website with multiple accoutns
12:09
Descargar Firefox Multi-Account Containers para Firefox. Firefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabs that preserve your privacy. Cookies are separated by container, allowing you to use the web with multiple identiti...
Avatar
es
Avatar
I have an hour or two free, anything that needs fixing? 😛
Avatar
the opened issues?
12:33
xd
Avatar
that's what I'll do if there is nothing urgent
Avatar
idk if theres things to be fixed in my latest commit
12:34
but its not that urgent tho xd
Avatar
well your notices are still not thread-safe
Avatar
ik xd
12:36
you told me you would leave them like that coz there's actually no things to make that thread safe
Avatar
yeah but @heinrich5991 doesn't seem too thrilled about that idea 😄
Avatar
how to fix then, do i need to create a thread safe thing idk what? xd
Avatar
get rid of the notice
Avatar
well you'd need a thread safe queue
12:37
or you could drop the notice yeah
Avatar
@jao oof
12:37
but
12:37
how to "notify" the user then
Avatar
either way, currently you are leaking m_CurrentNotification
Avatar
in console
Avatar
oh you aren't hmm
Avatar
yea but they won't open console each time they would save a replay
12:38
they need an info on the actual screen
Avatar
how do you save a replay if not from console
Avatar
key bind
Avatar
then they will know to look in console if they want that info
Avatar
yeah but they will not do that each time and maybe they will have replay disabled and they will save a replay but not take a look in console, then realize that replay was disabled and they lost the replay
Avatar
@jao some feedback that the replay has been recorded is a good idea
12:40
maybe a chat message?
Avatar
can we
12:41
chat messages are sent by the server no?
Avatar
I don't remember what it's called but the client can print blue local chat messages
Avatar
oh really? xd
Avatar
client messages
12:41
system messages
12:41
one of these
Avatar
do we use that anywhere currently?
Avatar
CChat::ConEcho
Avatar
ok i'll try that way
Avatar
I'd first add a method in CChat to echo stuff
12:42
then use that, and rewrite ConEcho to use that aswell
Avatar
ok
Avatar
but even that won't be thread safe without a queue :/
Avatar
.. xd
Avatar
this isn't too too easy to implement tbh
Avatar
yea i imagine
Avatar
I mean it's quite easy to implement for your case
12:45
you can just poll for it
12:45
but in general I guess the proper solution is a queue of CJob-like things that get executed in CClient::Tick
Avatar
but
12:46
the Engine already have a queue no?
12:46
a queue of Job
Avatar
you mean the jobpool?
Avatar
ye
Avatar
those are ran in threads
12:47
what we need is a queue of jobs that are ran synchronously
Avatar
ahh
Avatar
currently when you call into the client to do sth from a thread it's quite unsafe
12:47
because you don't know at what point the main thread is in it's execution
Avatar
yeah
12:55
is there a way to know when a task has finished other than in the task itself?
Avatar
well heinrich rewrote a lot of the job code, but if he didn't remove them I had callbacks available
12:57
those would also be in the thread
12:57
or were they
12:58
idk, look where the callbacks are executed
12:59
you can poll for the jobs state as I said before
Avatar
yeah
Avatar
yeah heinrich removed the callbacks 😛
Avatar
so what i can do is wait for my job to finish then in the client loop when its finished show the notification?
Avatar
so that its outside of the thread
Avatar
yep, that'd work
13:01
atleast until someone gets a decent queue there
Avatar
yup, i'll try that then xd
Avatar
in hindsight this update system i made is quite horrible
13:05
why didn't anyone stop me? 😄
Avatar
idk xd
Avatar
@Learath2 my apologies for not warning u
Avatar
xd
Avatar
I guess it works
Avatar
@Learath2 the callbacks can still be had by subclassing IJob or CJob or so IIRC
Avatar
@heinrich5991 yeah but they'd be called in the worker thread right?
Avatar
yes
14:07
you should poll for completion if you want to do stuff in the main thread
14:07
that's actually a good idea for this PR I think
Avatar
@heinrich5991 I think we should maybe get a queue of things to be done in the main thread
14:09
Same as the planned one for the server
Avatar
yes, but too much for this PR I guess
Avatar
Thats why i suggested he poll
Avatar
hmm i think about that but if there's more than 1 job how can i keep track of all of them
Avatar
store a list of jobs to poll
14:24
@Learath2 have you continued working on the sql refactor?
Avatar
i said i would do it but i never did it xd
Avatar
Well not too too far yet
Avatar
I said I would do it but I never finished
Avatar
I started writing all the prepared statements
14:31
Mostly need to code a threadsafe queue but I keep rewriting that
14:32
When making basic components like those i keep scrapping work to get it as good as possible :P
Avatar
@Learath2 how would the queue work?
Avatar
Fifo, things go in, things go out
Avatar
but still, when u are executing the task in a thread u shouldnt access the gameclient cuz its not thread safe right?
Avatar
Yeah the thread puts a callback in the queue
14:34
When it gets executed it'll be in the main thread
14:35
so u want to make something like a asynchronous main loop or smth
14:35
?
Avatar
In the run loop
14:36
After/before everything is done look at the queue
14:37
If there are things to do, do them
14:37
Preferably limit it to a couple tasks so that the frametime isnt too long
Avatar
so its purpose is not for multithreading ah
14:37
just toqueue tasks
Avatar
Well its mostly to allow worker threads to communicate with the main thread in a safe way
Avatar
ChillerDragon 2019-05-27 14:46:31Z
bru my github is full xd
14:46
Storage: 1.41 GB / 1 GB (141%)
14:47
wtf 1GB is max
Avatar
Tf are you storing?
Avatar
his bots
Avatar
ChillerDragon 2019-05-27 16:15:26Z
only some of my cutted tw demos
16:15
oh and my maps
16:16
screenshots...
Avatar
medias
Avatar
ChillerDragon 2019-05-27 16:17:55Z
i probably have to setup my own git server agian ._. but lazyness and im scared that i kill my server one day
16:19
any ideas how to sync tw data for free?
Avatar
[quakenet] deen BOT 2019-05-27 17:19:18Z
tw data?
17:19
rsync, unison, git?
Avatar
oop
20:19
20:19
what is that 😂
Avatar
with siO nothing is surprising
Avatar
its weird tho xd
Avatar
again
21:53
21:54
21:58
ok when i'm in solo hookline does shit, when i'm not everything is fine
Avatar
well, if you're in solo, you can't actually hit anyone
22:11
is the hookine wrong then?
22:15
i guess he means oithers who r not in solo
22:15
hookline is messed
22:16
open a issue
Avatar
ye when i'm in solo i see other hook lines not hitting
Avatar
[quakenet] heinrich5991 BOT 2019-05-27 22:19:40Z
oh
Exported 176 message(s)