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 2020-09-04 00:00:00Z and 2020-09-05 00:00:00Z
Avatar
ᶰ°Konͧsti 2020-09-04 03:20:40Z
Github costing monies now justatest
Avatar
f71c362 Textrender: count glyphs and chars separately - TsFreddie 8925b42 Merge #2729 - bors[bot]
05:56
!screenshot-20200904@075411 Supports hotkeys to enter them, escape to go back. Start menu can be disabled in settings. Still missing:
  • News picture
  • More DDNet-looking Play picture
  • Maybe implement the server button
Avatar
[quakenet] pastaaa BOT 2020-09-04 08:56:39Z
ist Kevin da?
Avatar
[quakenet] Learath2 BOT 2020-09-04 08:59:05Z
I'm sure there is atleast one Kevin around
09:07
e613f7d Allow loading from any server - def- 8704c1f Merge #2728 - bors[bot]
Avatar
Github costing monies now justatest
@ᶰ°Konͧsti whut?
Avatar
Missing:
  • Regular maps stopped working...
  • Camera movement too slow?
  • Animations
  • winter map not loading
Anyone want to try to fix this? I'm a bit tired of merging our changes with the 0.7 changes without breaking anything.
Avatar
[quakenet] ChillerDragon BOT 2020-09-04 10:00:05Z
yea wdym @ᶰ°Konͧsti what costs?
Avatar
chillerdragon someone on fng keeps faking u
10:21
49d2e36 Fix texture destroy - Jupeyy 6b3ad82 Add shutdown command again - Jupeyy f48ba92 Merge #2718 - bors[bot]
Avatar
@deen it takes the 2k we use for binds and quadruples it
10:44
Actually 16k -> 64k
10:46
If we are okay with that for a seldom used feature, it just needs testing
Avatar
yeah, seems like a bit much
10:47
but at least we should tell the guy how he can proceed
Avatar
Problem is I'm not sure, I'd do some research at that point
10:50
You are better at this theoretical stuff than me. I would probably consider a flat vector of all binds we can linearly search through, a way to sort it so we can do binary search
10:51
Or since the last key always triggers the bind, maybe an array that we can index into which contains a list/vector of binds that end with this key?
Avatar
Sounds complicated. Does it have such a big performance impact?
10:51
How about having all binds in a vector and just checking them one by one? 😄
Avatar
Yeah that's the first one I proposed
Avatar
sounds more complicated and less performant than the 64KB
Avatar
I honestly don't know it's impact without testing but it's something that's definitely on the hot path, not sure if an O(n) worst case lookup is acceptable for us there
Avatar
also average case
Avatar
(but our n is fairly low, maybe we don't even notice it)
10:55
Eh, maybe the O(1) lookup is worth the extra 48k and the feature would be nice to have
Avatar
ok, then let's stay with the 64 KB
10:58
we load all skins into memory, that has a way larger impact I guess
10:58
or the map data, uncompressed
Avatar
I'll give it a test
Avatar
Seems to work on first try, I'm somewhat surprised :D Future ideas:
  • I haven't checked how the performance impact is of a new skin joining,
might want to move the loading to a separate thread?
  • Use the skins from download directory instead of redownloading? Might want to compare modified time.
  • Make all skins load on demand only to save some memory?
Avatar
@Learath2 any opinion on getting https://github.com/ddnet/ddnet/pull/2720 in? I'd really like to release today because of some fixes
Seems more useful than Spectate and Connect Dummy, both of which are often mistaken by newcomers.
Avatar
the last screenshot looks fine
Avatar
Sorry, I'd already looked at that and liked it, forgot to merge it
Avatar
69e6a8f Add buttons for Kill and Pause - def- 62e52b8 Merge #2720 - bors[bot]
12:41
3a730cc Version 14.6 - def- bb15031 Remove unused translations - def- 92766b7 Update cl_nameplates_friendmark documentation - def- 0d3489e Merge pull request #2732 from def-/pr-14-6 - def-
Avatar
Easier than expected, I wonder why I didn't do this at the start.
Avatar
@Deleted User ^^ that should do it
Avatar
oh hey
Avatar
i woke up late
Avatar
Zwelf: Help, how to specify different syntax for sqlite than for mysql?
13:57
it's "INSERT OR IGNORE" in sqlite, but "INSERT IGNORE" in mysql
Avatar
80df6ca Remove temporary files after failure - def- d9b1ca5 Merge #2734 - bors[bot]
Avatar
[freenode] Zwelf BOT 2020-09-04 14:01:37Z
Currently I handled all cases by writing a function like const char *GetInsertIgnore() const and MySQL would return "INSERT OR IGNORE" and SQLite would return "INSERT IGNORE".
Avatar
@deen how does your skin patch handle people joining?
Avatar
@Learath2 loads the skin, try it out 😄
Avatar
I see how it adds a task to start the download, but Find only gets called once per tee joining/already ingame
Avatar
first they are shown with default
14:04
I think it gets called more often
Avatar
It actually does, huh how inefficient
14:12
m_aSkins is a sorted array and we are doing a linear search on it, every tick, for every tee 😄
Avatar
Please optimize 😄
Avatar
I see why, matricks' tl is actually really quite weak
14:24
b824268 Let 0.7 clients fastdownload too - Learath2 e3b879f Merge #2736 - bors[bot]
14:26
e936a86 Don't time out on info2.ddnet.tw - def- 27f8402 Merge pull request #2735 from def-/pr-timeout - def-
14:27
c3f9dc7 INSERT OR IGNORE on sqlite - def- dde4077 Merge pull request #2737 from def-/pr-ignore - def-
Avatar
there is no unpause button
Avatar
Join Game should work on current DDNet version
14:30
not on old servers
Avatar
ah ok i am on kog right now
Avatar
tell them to update
Avatar
KoG is missing a lot of the extended functionality from newer ddnet
Avatar
they dont even have the ddnet network character
14:43
cammostripes
Avatar
yeah, that's the problem here
14:44
Do we have a version check in the client? (and do we want to use this?)
14:44
Or should we just not show the pause button when server sent no ddnet character
Avatar
not show it i guess
Avatar
Can be reproduced on Windows by running DDNet straight from the zip file instead of extracting it. Then the autoupdate will fail since we probably can't overwrite anything. But we show no error message. @Learath2 want to take a look?
Avatar
ᶰ°Konͧsti 2020-09-04 14:47:41Z
KoG is based on DDNet 9
14:47
lmfao
14:48
because DDNet built a lot of trash like the new hammer
14:48
Would be the worst thing in gores
Avatar
lol no
Avatar
ᶰ°Konͧsti 2020-09-04 14:48:27Z
lol yes
Avatar
it would be good for them
14:48
its deterministic
14:48
u remove randomness
14:48
also its not just additions u see like hammer
14:48
it has lot of background improvements
Avatar
ᶰ°Konͧsti 2020-09-04 14:48:55Z
First if all its not random
Avatar
the ddnet character helps with prediction
Avatar
ᶰ°Konͧsti 2020-09-04 14:49:09Z
Second u dont want freezed people hammer u when u hammer them
14:49
Definitely not
14:49
In gores
14:49
the player can choose that
14:49
by pressing or not pressing hammer
Avatar
ᶰ°Konͧsti 2020-09-04 14:49:29Z
players are dumb
Avatar
that is a retarded take
Avatar
ᶰ°Konͧsti 2020-09-04 14:49:51Z
new hammer is retarded, gores people would flame qdash to the hell
Avatar
i dont want to argue with someone who thinks old ht is better than new ht
14:50
its like antimaskers
Avatar
Can we not? You don't like anything new Konsti, we already got that
Avatar
ᶰ°Konͧsti 2020-09-04 14:50:21Z
im just Saying new hammer would be a mess for KoG
14:50
And if u deny that rly
14:50
im a antimasker justatest
Avatar
@Deleted User "MY GAME IS BROKEN. EVERYWHERE IS RAINBOW." sounds like someone has graphics problems again
Avatar
but rainbow = broken assets
14:54
normally
Avatar
Or missing data file
Avatar
yeah thats what i mean xd
Avatar
Yeah, he left again, not sure what the problem way
14:54
was*
Avatar
maybe we can add a mini chat responder
14:55
if someone says game is broken
14:55
send discord link
14:55
xD
Avatar
nice update :D
Avatar
@NovaShock what changed?
Avatar
you can just go trashmap and make a random map name
14:58
then it shows on steam
Avatar
its the map name
Avatar
Who added that there?
Avatar
heinrich
Avatar
I thought we only got the steam name thing
15:00
Avatar
Heh, rich presence is there too, nice
Avatar
whats new at entities?
Avatar
@Slayer some small fixes because they are rendered differently
Avatar
@Learath2 it should say Playing -mapname- tbh
15:02
ill check it
15:02
why was this changed D:
Avatar
what do u mean
Avatar
tries to connect dummy
15:02
accidental disconnect
Avatar
I think they're big enough not to misclick
15:03
I mean if you misclick that are you sure DDNet is the right game for you? 😄
Avatar
good aim for noobs, use binds if you are pro
Avatar
And since it was on the left newcomers always clicked Connect Dummy because they could find no other way to restart game
Avatar
ps: spectate button width SEEMS broken (edited)
Avatar
at the right 3 large buttons, at the left 2 small buttons and 1 large
15:06
you are killing perfectionist in me
Avatar
we need the space
Avatar
Zwelf: No way to get the failed INSERTS from logs now, right?
15:07
@BannZay Hm, could make it large size if space permits and only small for 5:4? But I thought same size is better because then translators instantly notice that their text won't fit
Avatar
@deen inserts shouldn't(tm) fail, no?
15:08
They should go to the sqlite db if they "failed"
Avatar
@Learath2 the sqlite insert syntax was wrong and no one noticed for a week
15:08
in sqlite it's INSERT OR IGNORE, not INSERT IGNORE
Avatar
hope DDNet will you use adaptive UI one day, but its another story
Avatar
Rafael Fontenelle 2020-09-04 15:11:22Z
Is DDNet7 testable? I was thinking about packaging it to Arch, but I notice that the standard DDNet Client can't see DDNet7's servers, and DDNet7 is "Server only" according to the message the repository's description. (edited)
Avatar
You have to be on the 'GER' server to load this savegame justatest
Avatar
@Rafael Fontenelle DDNet7 is not really maintained anymore I think. Regular DDNet now supports 0.7 clients
15:13
so we don't run it anymore, had no changes in DDNet7 either
15:14
@Learath2 fast map download in 0.7 works well, thanks
15:14
that actually annoyed me today when testing somethintg
Avatar
can you port savegames outside of the game somehow
Avatar
saves are saved serverside obviously
15:15
otherwise u could edit them and put urself at finish
Avatar
@NeXus to run them on your own server or why?
Avatar
there is no ger server anymore
Avatar
GER6 replaced GER
15:15
so the saves work there
Avatar
ah good to know
Avatar
let me actually rename it from GER6 to GER1 so that this isn't so confusing
15:16
we could reach GER10
Avatar
or rename it in the load message
Avatar
Rafael Fontenelle 2020-09-04 15:16:10Z
@deen Download page still points to DDNet7. Should it be removed?
Avatar
@NeXus also, empty servers don't require server name to match anymore, so you can load anywhere
Avatar
@Ryozuki it could make sense if they are big and replication is expensive. CRC(or other idk) check should be enough if so
Avatar
nononononono bad bad idea to rely on crc for that 😄
15:20
A cryptographic hash could be acceptable, but what's the point anyway
Avatar
rather than that i would first change how saves are serialized, relying on %d\t x100 is rly ugly
Avatar
I guess it could be helpful while testing
Avatar
what the size of such saves ?
Avatar
DDraceNetwork, a cooperative racing mod of Teeworlds - ddnet/ddnet
15:21
i dont think size matters much also text can be compressed easily
Avatar
We don't compress them though
15:22
I wonder why the saves aren't json yet tho
Avatar
why json
Avatar
It'd be so much easier to manipulate
15:23
It parses rather quick aswell
15:23
Better than %d\t 😄
Avatar
why you want a save be easily manipulated
15:23
i would rather use a format that uses less space
Avatar
binary tho
Avatar
and is more machine friendly
Avatar
zipped binary
15:24
to me its weird to store them as string
Avatar
Truncated binary encoding is an entropy encoding typically used for uniform probability distributions with a finite alphabet. It is parameterized by an alphabet with total size of number n. It is a slightly more general form of binary encoding when n is not a power of two. If ...
Avatar
@Ryozuki Not like we are tight on space though, might aswell have it easily readable
15:26
only admins see the save
15:26
and u never modify them
Avatar
We occasionally need to manipulate them, it'd atleast make that easier
15:26
are u saying
😆 1
15:26
you cheated
15:26
??
Avatar
A binary encoder / decoder implementation in Rust. - servo/bincode
15:27
make a rust program
Avatar
A couple occasions of stolen saves, a couple occasions of servers crashing as soon as the save is loaded
Avatar
to manipulate them
Avatar
what if you want to tell someone what their save is
Avatar
is not it better to make a tool to convert saved save into json instead of wasting disk space for readability?
Avatar
A binary format would also make searching for someones saves painful as shit
15:28
I don't get what is your obsession with disk space, it's like 10-20 extra bytes per save
Avatar
ok just use csv
15:29
why should we care
15:29
about anything
15:29
xd
Avatar
well the metadata could stay in database for search and so, but I can not see much usecases for whole data being "readable" all the time
Avatar
csv would work too
15:35
@BannZay metadata being extracted from the saves is even more unnecessary work
15:36
and it's duplication of data, another thing to go out of sync with the actual save
Avatar
it's a matter of implementation (you can store only data not stored in db fields as binary. I am not familiar with current implementation) (edited)
Avatar
@deen is the abuse of changing map names on a test server gonna be fixed?
Avatar
what abuse?
15:45
Everyone can run their own server, Steam will show the map name you choose for your server
Avatar
Can steam ban for this? Should not we show map name for players being on oficial DDNet servers?
15:47
like ban for setting status "BannZay playing on asshole" or so
Avatar
@Deleted User uhm, you seem to have broken something with gl3.3 :/
Avatar
dejavu xD
Avatar
on macOS atleast
Avatar
non 3.3 works or what?
Avatar
non 3.3 works just fine
Avatar
and 3.3 doesnt load or looks buggy or what?
Avatar
abc 3.3
Avatar
3.3 uses the same implementation for tile rendering as the other version now
Avatar
Overlays on
15:50
Overlay off
15:50
initial
Avatar
yeah looks broken xd
Avatar
yeah verybroken 😄
Avatar
have u disabled multi texturing?
15:50
in graphic settings tab
15:50
it says diusable on macos xD
Avatar
Ofc...
15:51
I have more than a single brain cell you know
Avatar
xD
15:51
62 fps
15:51
rip
Avatar
"it says diusable on macos xD" - can we detect os and just disable it and not show ?
Avatar
it probs even is
15:52
disabled default xd
Avatar
I mean hide it in settings and dont let to set
Avatar
why?
Avatar
users are dumb you know
Avatar
there are also new MacOS
15:53
not all will be broken
Avatar
Sooooooooo, how are we debugging this?
Avatar
renderdoc
15:54
oh no macos
15:54
yeah, you know
15:54
macos.. xd
15:55
i hate working for gpus xd
Avatar
oh, man. The same on windows
Avatar
What were you going to look at in renderdoc?
Avatar
oh
15:56
even windows?
Avatar
then maybe bcs of multi textures?
15:56
off
15:56
i gonna look into the code
Avatar
yeah let me see, never disabled it tbh xd
Avatar
and changed alot of code to be downward compatible to gl 2.1
Avatar
@Deleted User it fixable as before by enabling Multiple texture unit (for windows)
Avatar
ok ty will look into it, cant be that hard to fix
👍 1
16:02
ok found it
Avatar
@deen also when you leave a map on steam it still shows you are on that map
Avatar
multiple texture units makes it work on macOS too btw
16:03
just as long as you are okay with 10fps
Avatar
what are ur fps without
Avatar
@heinrich5991 @NovaShock found a bug with map info on steam ^
Avatar
actually the multiple texture units was a try to remove API calls, but appearently some drivers implement them as software rendering to allow more units
16:05
pretty stupid xd
Avatar
@Deleted User I get 62, but I cap it at 62 or it stutters AND turns my computer into a toaster
Avatar
@Learath2 nice, cold winters can come
Avatar
@Deleted User that fixes it
Avatar
nice ty for testing
16:19
i think the hotfix doesnt hurry bcs its gl 3.3 only
16:19
maybe wait for skin fethcer or stuff like that
Avatar
Nah, skin fetcher should be a big release
Avatar
isnt 14.6.1 big release? xd
16:20
its 1 more than 14.6
Avatar
9299a2a Initialize variables from base class for the gl 3.3 class - Jupeyy 0e8ebe2 Merge #2740 - bors[bot]
16:24
35a8aa5 Revert "Don't time out on info2.ddnet.tw" - def- 2e29005 Version 14.6.1 - def-
Avatar
ok valgrinded didnt show anything, hope its fine now
Avatar
Currently this replaces str_copy text input and clipboard paste in chat. Many places may need the same treatments, like steam names. !image Test string: abcd今天是个好日子心想的事儿都能成今天是个好日子打开了家门咱迎春风今天是个好日子心想的事儿都能成今天是个好日子打开了家门咱迎春风今天是个好日子心想的事儿都能成今天是个好日子打
Avatar
tbh i think changing str_copy straight up might just works for everything. but i'm a coward.
16:42
well not actually DoEditBox doesn't use str_copy at all lol
Avatar
why dont we save cl_overlay_entities btw? bcs nobody who uses entities would turn it off probably xd (edited)
Avatar
I find it strange as well but I added it to autoexec instead of fixing in code. no idea why
Avatar
we should really remove that C90 requirement xD https://github.com/ddnet/ddnet/pull/2157
Disadvantage is of course losing Vanilla Teeworlds compatibility, so I don't care much either way. Haven't cleaned up much since I don't want to put work into it if it&#...
Avatar
bcs nobody who uses entities would turn it off probably xd
@Deleted User but how have you tuned it on, lol ? Can we do it, please, can we save them?
(edited)
Avatar
@deen didn't you release 14.6.1?
Avatar
I got yelled at by C90 just now
17:06
17:07
@BannZay if you convince the ppl that were holding it back yet, it'd be easy fix
17:08
but probs someone said its bad, and now they wont add it xd
Avatar
I think there was another setting that is saved if you are using cl_overlay_entites 100
17:09
mh, I guess that died with ddrace client
Avatar
i dont use ddnet long enough probs to know 😄
17:11
MACRO_CONFIG_INT(ClShowEntities, cl_show_entities, 0, 0, 1, CFGFLAG_CLIENT, "Cheat to show game tiles") XDD
17:11
bcs it was a cheat xD
Avatar
I am about to hate people saying its a cheat to such things
17:12
in fact ANY improvement is a cheat
Avatar
This was alll the way back in ddrace times 😄
Avatar
it was 10 years ago, that commit
Avatar
just finished a map
17:17
. /teamrank
17:17
not showing
Avatar
Is there a reason not todo it? The players, that want this enable it anyway
Avatar
@Learath2 not yet, I went outside a bit
Avatar
@mind that looks like a broken update :/
Avatar
That looks verybroken
Avatar
we only removed the ca-ddnet.pem file after updating to the DDNet.exe that doesn't required
17:37
so I guess the DDNet.exe failed to get overwritten. Just download a new version I guess
Avatar
Ok, thx for fast response
Avatar
the autoupdater is kind of broken recently
17:37
not sure why
Avatar
Next time we should make sure the autoupdater gets the ddnet folder exactly into the state we want
Avatar
can we have overload for a str_format with return value char[] ? Many times we use buffer just for calling str_format I mean is it possible in c++ ?
Avatar
145d324 Save cl_overlay_entities - Jupeyy b95ad53 Merge #2743 - bors[bot]
Avatar
@BannZay system.c is written in C, not C++
Avatar
Disadvantage is of course losing Vanilla Teeworlds compatibility, so I don't care much either way. Haven't cleaned up much since I don't want to put work into it if it&#...
17:42
from deen
Avatar
I don't think str_format can return a char[] even if it was C++, you can't return arrays in C++ either
Avatar
how does char z[] = "123" work? The link would be enough
Avatar
compiler knows the length of "123"
Avatar
then it'll just do char z[4]
17:44
probably can't use a variable length string other than manually calloc
17:44
but that way you'll need to free that afterwards.
Avatar
What you are looking for would be something akin to std::string which sadly comes with a lot of heap allocation
Avatar
stack is fast but I am worried about that amount of work processor does on each update. Like calling str_format N thouthands times per each Render tick
Avatar
but thats bcs nothing in the client is not streamed xD
17:56
so much stuff could be buffered
Avatar
I noticed something interesting. The way we have the borders actually inside the tiles means we always get the odd effect of tile borders being doubled up on the inside edges
18:06
How did mappers design around this for so long? I never really noticed it in almost any map
Avatar
there is this borderfix tool
18:08
and alot of maps actually use vanilla resources
Avatar
How does borderfix handle it?
Avatar
this guy in #general
18:11
says he joins a server
18:11
and then the game crashes
18:12
any idea?
Avatar
@Learath2 it will shrink down your image and than add a 2px border around each tile
Avatar
How is that even supposed to help with the issue I mentioned 😄
Avatar
@Ryozuki not really he can test gfx_opengl_major 1
18:13
but has to restart
18:14
before he joins xD else config not saved
Avatar
2011 pc
18:14
he says
18:14
justatest
Avatar
@Deleted User I mean this
18:15
Does borderfix really help with that? I don't think so
Avatar
not for squares.. except its exactly 2 pxs(the border)
Avatar
@Deleted User doesnt work
Avatar
imagine it like this: u have bad resolution and the old renderer calculates the texel offset for a higher mipmap(and even wrongly)(but bad resolution = small mipmap) => mipmap has to be fixed, by fixing the original image, else inconsistent in the border
Avatar
@Ryozuki then he has a really broken GPU or its not realted to anything GPU side, maybe update GPU driver
18:17
if opengl 1.x fails its probs not tw
Avatar
@Ryozuki I guess we need to see logs then
18:17
If you can get him to create logs. I find that rather difficult
Avatar
@Deleted User he says it worked fine yesterday
18:18
maybe this update broke it for him
Avatar
maybe he can try an older version again
Avatar
thats strange, but the GL 1.x really doesnt use anything new
18:19
it even removes stuff that could break
18:19
@Learath2 appearently he already tried 1.x
Avatar
Maybe it's not the gfx change but another change we have in 14.6?
Avatar
yeah maybe
Avatar
its weird
18:20
cuz it crashes when he joins a server
18:20
not in menus
18:20
it might have to do with the new tile rendering tbh
Avatar
maybe the skin finder?
Avatar
oh maybe
18:20
is it included?
Avatar
no new tile renderer in GL 1.x
18:20
100% the old one
Avatar
Nah, the skin fetcher didn't make it yet
Avatar
just the linear search is gone
Avatar
Oh did that make it in? :d
Avatar
i think in 16.5.1 it is for sure, isnt it?
Avatar
It works just fine for me though and I don't see it crashing anything either
Avatar
14*
18:21
yeah i dunno, but that'd be something that is new and ingame 😄
Avatar
@Deleted User btw, what happens now that we have correct rendering for the entire tile on all renderers?
Avatar
now ravie and other mappers are happy xxd
18:22
bcs u can now do pixel perfect mapping
Avatar
ravie complained
Avatar
(almost pixel perfect)
Avatar
its blurry i htink
18:22
xdd
18:23
u rly cant fix the blurryness?
Avatar
its just blurry compared to old gl 3.3
18:23
not compared old renderer is it?
Avatar
and all the maps with borderfixed tilesets will have a little thicker borders?
Avatar
as said, you can fix the texture LOD in the shader if u want xd
Avatar
u expect to much
18:23
from users
18:23
xd
Avatar
@Learath2 yes, but all that use vanilla tile sets can be fixed
Avatar
Hm, what causes the blurriness anyway?
Avatar
by fixing the resource in the data
18:24
@Learath2 in OpenGL spec the LOD(mipmap level) is well defined, but drivers are free to choose the mipmap(most probs use some 3D algortihm, that makes in blurrier for 2D) and the old GL 3.3 used the one from opengl 3.3 spec
18:25
the advantage of not choosing it manually is saving API calls and modifying state changes
Avatar
How can LOD be well defined but not well defined at the same time? wtf 😄
Avatar
and since 2D arrays dont require the LOD, it didnt do it
18:26
@Learath2 bcs in 3d u wont notice 😄
18:26
its better to use an efficient algorithm
18:26
bcs sampling is ofc expensive
Avatar
How much of an overhead is choosing it manually?
Avatar
not alot for teeworlds
18:27
in a 3d game it'd be more for sure
18:28
it works
18:28
the previous version
18:28
but not this one
Avatar
amazing
Avatar
and the crash is when joining a server
Avatar
I wonder what broke it
Avatar
@Ryozuki are u sure he restarted after using 1.x?
Avatar
i made sure 2 times
18:29
if he didnt lie 2 times then ye
Avatar
the context isnt created on fly xD
18:29
ok
18:29
then its not the renderer i guess(except some buffer overflow valgrind didnt find)
Avatar
what is crashing? how to repro?
Avatar
@Ryozuki which OS is he on?
18:29
@deen I think it's just, join game, crash
Avatar
windows 10 64bit
18:30
pc from 2011
18:30
im asking what cpu and gpu
Avatar
@Deleted User I'm not really very familiar with how we do the rendering nowadays, do we even need/generate mipmaps? Isn't there usually a max LOD which we should be at when we are all the way up close?
Avatar
@Learath2 https://www.khronos.org/registry/OpenGL/specs/gl/glspec33.core.pdf 3.8.11 Texture Minification i think that was the formula
Avatar
Amd fx 6100 y nvidia geforse 7025 / a630
Avatar
@Ryozuki it'd be nice if we can get the log
Avatar
@Learath2 wait gimme a minute and u'll laugh xd
18:33
18:33
this is not a bug
Avatar
its bcs without mipmaps zooming out far enough samples the texture so precice that it looks likek a bigger texture
Avatar
@Ryozuki version from steam?
Avatar
Lol wtf? 😄
Avatar
@deen latest probs, i told him to download 14.5.1 and it worked
18:34
u cant execute the game without updating in steam so
Avatar
Okay but I don't get why we aren't at max LOD when we are fairly close like this, there should be no scaling at all thus no blurriness?
Avatar
the nice things about mipmaps is that it creates less aritfacts
18:35
linear interpolation is much worse than cubic
18:35
and mipmaps are probs cubic
Avatar
Yeah mipmaps are fine, I just don't get why we get any blurriness at all up close
Avatar
The resolution of the screen is probably closer to the first mipmap level
18:37
One could also use interpolation between the two mipmap levels. Might look sharper
Avatar
That sounds extra unsharp
Avatar
C♭
Avatar
Nope, usually looks better
Avatar
How does opengl decide which mipmap level we are at?
18:39
I mean us being in level 0 when 10 tiles fill the screen isn't quite useful
Avatar
@Deleted User
18:42
he sees this
18:42
on 14.5.1
18:42
the weapon
18:42
xDDD
18:42
being a graphics programmer sure it tough
Avatar
missing game.png? xD
Avatar
If someone wants to test it: the tiles might look sharper if one replaces all occurrences of GL_LINEAR_MIPMAP_NEAREST with GL_LINEAR_MIPMAP_LINEAR in backend_sdl.cpp
Avatar
or wrong resolution of game.png
Avatar
How is interpolation supposed to look sharper than anything is beyond me... I hate what computer graphics has become
18:48
An API disconnected from hardware, drivers that implement the API so loosely it's impossible to get consistent results
Avatar
Most screens have a lower resolution than the tiles, so OpenGL needs to scale it anyway.
18:49
Mipmaps just use the lower res images that were created with a better scaling algorithm
18:53
Gpus from different vendors implement certain thing in very different ways, so it's hard to design an API that works for all of them. With Vulkan there are even some issues because the API does not map very well to some mobile graphics chips
Avatar
Actually at default zoom and for quite a bit atleast at 1080p we seem to be in LOD0 as I'd expect
Avatar
well yes GL_NEAREST might look sharpest, but also very bad
18:58
its more about image quality 😄
Avatar
At the zoom level GL_LINEAR_MIPMAP_LINEAR even would start to make a difference tiles are already too small for my eyes to detect the difference
Avatar
yeah its hard to notice, tried it too, but depends really alot on resolution etc
Avatar
I doubt resolution matters much the way you calculate the LOD
Avatar
it does alot actually, bcs the screen of teeworlds is always same size
19:00
so less pixels are rendered
Avatar
Even at the smallest resolution when tiles are waaay too small to begin with, it's firmly in LOD0 for like 6 zoom levels
Avatar
what
19:00
i see the diff on 2k screen when zooming like 4 steps or smth already
19:01
it clearly chooses a different mipmap then
Avatar
It could be the stupid retina screen messing with it
Avatar
but didnt test with current version, let me give it a try
Avatar
Or the fact that the window is actually small and not stretched in macOS
19:02
You can't have stretched fullscreen apps in macOS
Avatar
already at 2nd zoom step
19:03
it uses different mipmap now
19:04
19:04
19:04
the kill tiles suddenly look shit af
19:04
but didnt profile to check for correctness, just feeling rn
19:06
@Ryozuki so what did i miss
19:06
is that the old or new version
Avatar
well if even that is buggy
Avatar
new crashes
Avatar
he really needs to update his driver
19:06
i'm not going to add software renderer xDDDDD
Avatar
u cant expect to play games with a potato
19:06
from last century
Avatar
i mean GL 1.x is litterally from last century xD
😁 1
19:07
1.2.1 14. Oct. 1998
Avatar
how hard it is to port this game on android ?
19:08
to be able to spectate
Avatar
mhh, you need to add OpenGL es support, that isnt too hard probs and some libs
19:08
but generally its not hardest, just annoying
19:09
if you have a modern phone, the opengl 3.3 support should even work with android
😮 1
19:09
opengl es 3.0
Avatar
The draw call count might cause issues. Mobile chips often can't really handle more than 100 per frame. Today the game easily exceeds 200
Avatar
modern phone are better than that above guys PC XD
😆 1
Avatar
Meh, I guess I'm not qualified to comment on this with my current gl knowledge. Tilesets looking blurry at the default zoom is just confusing to me
Avatar
and IMHO shouldn't happen
Avatar
Still they have some limits that dedicated gpus don't have. Modern engines just handle things differently
Avatar
nice @mind
19:11
hoped for that one 😄
19:11
yes, but really modern phones aren't really bad anymore
Avatar
Are we planning to port SDL2 DDNet to android again? 😄
19:12
Would be nice to have a watch + chat mode
👍 2
Avatar
if we wouldnt need to fix so much gui stuff, we could do it
19:12
but the code base gets really ugly xD
19:13
i bet my 5 years old mobile phone can handle with gl 3.3 with atleast 30fps xD
19:14
(or better GL 3.0 es, basically the same)
Avatar
@Zwelf What do you think about keeping a failed job around and retrying X seconds later? Or keep retrying for a while. Would make my life much easier than having to insert SQlite file into real DB from all locations multiple times a day.
Avatar
Guess I'll have to learn gl myself
Avatar
GL is just about vertices xd
19:16
u have to feel it
19:16
look around your room and see vertices
Avatar
@Deleted User just get rid of the gui? Only need server browser and then ingame
Avatar
@deen sure would be nice too
19:18
does somebody have the SVG for the original tilesets btw?
19:18
would be cool to test 4k versions
Avatar
Not public
Avatar
Ask in tw discord, I think zatline has them
19:18
Meh, that's sad to hear for an open source game
19:19
Let's commission replacements?
Avatar
i mean why would they care
19:20
recreating them in inkscape isnt really hard
19:20
just annoying work xd
Avatar
Android version could evolve into something bigger then just spectator. Some simple maps might be finished using android inputs. There is only 4 buttons and aim thing to finish map. Check out something like brawl stars.
Avatar
but is it fun? xd
Avatar
if it is not so laggy I believe so
Avatar
Attach it to a screen and play with Bluetooth keyboard or a controller 😅
Avatar
I cannot do it being at work :(
19:31
Or outside... you got the idea
Avatar
bug, after apply "cl_text_entities_size 40"
Avatar
@Matodor should be fixed in 14.6.1. are you on that. Otherwise @Deleted User ^
Avatar
I think instead of Kill and Pause the new buttons should say something more descriptive like Restart and Watch
👍 2
yes 1
Avatar
yes should be fixed
Avatar
@Ryozuki btw i just read the msg again, 14.5.1, so that means he has a opengl 1.x card, bcs 2.x card normally support mipmapping, and since his fails its probs just that it should fallback in the current version. So gfx_opengl_major 1 => restart should actually fix it WTF, and learaths binary search isnt in yet, so he was 2 times lieing probably xD
Avatar
can he speak english?
Avatar
its a wasted effort
Avatar
idc, i want it fixed for everyone
20:53
else they cant play teeworlds
20:53
tear
Avatar
just found out the proof circle in editor is off by quite a bit
justatest 2
Avatar
hm, that looks like it should be totally centered in the editor.cpp
21:42
And DrawCircle looks correct too
21:42
maybe we don't put the tee in the middle?
21:45
I mean we could just manually move the circle up a bit until it about fits, but that's still weird
Avatar
it looks centered on the red squares
Avatar
@deen the "circle" part of your tee is not exactly centered, it's a bit higher
Avatar
@Ravie could you send me the map?
21:47
I'm horrible at mapping 😄
Avatar
[freenode] Zwelf BOT 2020-09-04 21:48:01Z
Zwelf: No way to get the failed INSERTS from logs now, right?
21:48
no not really, you can grep for "save score failed for all servers" and "save team score failed for all servers" to count all lost ranks, and the finish time should be printed some lines above those.
Avatar
Yeah, counted > 200 since yesterday, so no chance
Avatar
It's also weird that sql connection fails for all servers, no matter where they're located
21:48
our network connection can't be that bad, can it?
21:48
maybe the tcp connection is missing a keepalive?
Avatar
[freenode] Zwelf BOT 2020-09-04 21:49:15Z
Are some logs lost as well?
Avatar
yes, we rotate logs every day
21:49
so no logs before then
Avatar
So did we lose 200 ranks? :/
Avatar
no, > 1000 probably
21:51
we've been running this version for a while
Avatar
[freenode] Zwelf BOT 2020-09-04 21:51:58Z
If the database connection fails due to no activity for some time, it tries to connect again.
21:52
I guess, Only a teehistorian parser could bring those ranks back.
Avatar
Well is it fixed now?
21:53
teehistorian sadly doesn't save finishes, so not just a parser but a way to actually play them back would be needed
Avatar
on restarted servers it should be fixed
Avatar
The connection failing is interesting too now that ddnet.tw pretty much is never overloaded/ddosd
21:55
Not like it's common that major data centers have no routes left between them either
Avatar
uh, the new update has overwritten old entities which I spent 2 hours on customizing it
21:56
and I didnt back it up
21:56
am I fucked?
Avatar
Eh, I think you are
Avatar
rip murpi
21:56
hi sheep
🐑 1
Avatar
Maybe a NTFS file recovery thing can try to salvage it, but it's very very likely that it used the exact same physical disk space while updating
Avatar
@murpi sorry :/
Avatar
Your custom files go inside the config directory :/
21:57
We really should make that more clear 😦
Avatar
Or we could ask people before overwriting their customized files?
21:58
If we have the hashes of each file, we can check while updating
Avatar
We don't know that the files are customized, atleast not as it is right now
Avatar
So let's store hashes of everything in data
21:58
This happened every time we updated entities
Avatar
As reported by Ravie on Discord. Tee is not drawn exactly in center.
Avatar
so we move from update6 to update7 and include an old_hash key for each file?
21:59
If old hash doesn't match we ask for a warning
22:00
ask for permission*
Avatar
but we would need an old_hash for each version that ever existed
22:01
My idea was that we have a single md5sums file and that stores the current expected hashes for all files in data/
22:01
and when updating we compare against that, then we update everything in data, asking user on files that are changes, then update the md5sums file
Avatar
Why would we need an old_hash for each version?
22:02
md5sums would basically be a file that contains all old_hashes, no?
22:03
ah, now I understand what you meant. Why does it need update7 support though?
Avatar
Hm, doesn't really matter I guess, an old version will always destroy everything anyway
22:05
ah, you mean to have an intermediate update without destroying
22:05
yes, can do that
Avatar
Though it doesn't change much, it'll still overwrite everything we changed from the current version until the end of update6
Avatar
hm, yeah, that's basically everything
22:06
😄
22:07
I was hoping the next iteration of the updater would be a rewrite, but I guess this is something we can do fairly easily
Avatar
You could also rewrite it if you want to
Avatar
I don't want to promise anything, I've been rather busy and rather unmotivated lately
Avatar
what about steam version ?
Avatar
You should be putting the custom stuff in the config directory anyway, I doubt steam has anyway to do this check
Avatar
so we might warn user ingame in case if it is steam version
22:29
warn on game started
Avatar
Can't, updates happen way before the game starts
Avatar
I mean warn once we detected changes
22:30
not before update
Avatar
Eh, we could keep a list of hashes we compare to at start, but after the files are overwritten, there isn't much point to knowing that they are overwritten
Avatar
the point is to tell user that he overrides the files he should not
22:31
and the overriden data might be lost
22:31
and blah blah blah - do override cfg files instead (edited)
Avatar
Problem is we can't detect that 😄
Avatar
oh, I misunderstood then
Avatar
Storage system makes that kind of overriding invisible to us
Avatar
I thought each version would have predefined hashes we compare to
Avatar
Steam has this kind of check built in
Avatar
Actually, we could modify the storage to have a check for $DATADIR integrity
22:33
@deen is it something we can query?
Avatar
Settings -> Properties -> Local Files -> Verify Integrity of Game Files
22:33
no
Avatar
yes, it will rewrite your files to initial state
Avatar
@Learath2 maybe that's the easier/cleaner way? Warn users when they overwrote anything in data/?
Avatar
its like recover my files to server state
Avatar
and tell them to put it in config_directory instead
Avatar
You know what, I think that does sound better
Avatar
so, why we dont calculate hashes before release and compare this hash to users files?
Avatar
On launch we can hash everything in data, and we can match it to a precalculated hash
👍 1
Avatar
Yeah, works for Steam version too
Avatar
the warn before replacement in updater could be a second step improvement (but works for non steam only -() (edited)
Avatar
And just show a big popup that these files were changed, can be overwritten by update and should be in config_directory instead
Avatar
when I set up V-sync the pointer is way behind the real (OS) mouse pointer (windows). is it possible to use OS pointer in game ? I dont mind missclicks but brain can not work with such delay.
Avatar
Disable vsync? Enable fullscreen?
Avatar
borderles
22:53
ah
22:53
it helps ofc
22:54
I tried to play on geforce gtx 1050 but I was not able to due this issue
22:54
its not important just comes out of my interes
22:58
I set fsaa smaples to 0 as well and it was almost playable but on integrated intel is way way better to play 🙂
23:16
7b6e1ca Try bundling more ffmpeg - def-
23:16
[ddnet/ddnet-libs] New branch created: pr-ffmpeg2
23:17
@heinrich5991 Maybe you want to take a look already?
Avatar
why does entities not work on noby fng in the new version
23:54
the only spike that shows up are the red spikes
Exported 725 message(s)