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 2023-07-01 00:00:00Z and 2023-07-02 00:00:00Z
Avatar
When I load the game on my Raspberry 4b it gets too the loading sound section. Then quits. I hope this helps. Thanks. 2023-06-30 18:11:45 I engine: running on unix-linux-arm64 2023-06-30 18:11:45 I engine: arch is little endian 2023-06-30 18:11:45 I engine: operation system version: Linux 6.2.0-1007-raspi (aarch64, #9-Ubuntu SMP PREEMPT Wed Jun 21 18:54:19 UTC 2023); "Ubuntu 23.04" 2023-06-30 18:11:45 I storage: couldn't open storage.cfg 2023-06-30 18:11:45 I storage: using standard ...
Avatar
what do hookdx do
Avatar
i guess delta x
Avatar
bb9f41f Update settings & commands for upcoming 17.1 - def-
Avatar
hey where can i define global var
Avatar
everywhere outside a scope
07:42
that isnt the global scope^^
07:42
so in the global scope xD
07:42
generally using static is what u want
Avatar

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-ad...
07:43
[ddnet/ddnet-web] New branch created: pr-17.1
Avatar
Avatar
Jupstar ✪
so in the global scope xD
i need use extern right
Avatar
do you want a global variable across multiple cpp files?
07:46
but i am not good at cpp
07:46
07:46
i did this but link error
Avatar
u also have to declare it inside any cpp file
07:47
doesnt matter which
Avatar
Avatar
Jupstar ✪
u also have to declare it inside any cpp file
everyone
07:48
?
07:48
in exactly one .cpp file
07:49
u have to delcleare the same var again
07:50
wow works
07:50
thank u
Avatar
@Dev refrain from assisting Vinson with anything related to coding
08:24
He bad guy
08:24
cant trust any new dev now
Avatar
Yeah, It does seem to be a rising trend. I've noticed there's been a lot more talk about bots, particularly over the past few weeks.
Avatar
come to the dark side Vinson, where bad unreliable human input is still valued over the far superior machines
Avatar
@murpi can u put individual perms without roles? thats news to me
Avatar
9ea16f6 Add new contributors for 17.1 - def- ae685e8 Merge #6789 - bors[bot]
Avatar
@murpi evader
Avatar
@murpi c++ m_aInputData[0].m_Direction = 1 - rand() % 3; 😡
Avatar
i make bots too
Avatar
Prevent swapping if either of the players is paused (i.e. their character is not in the gameworld), as this can cause them to be stuck in midair after swapping, which can be exploited to skip parts.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [X] Tested in combination with possibly related configuration options (servers with sv_pauseable 0 were and are unaffected)
  • [ ] Written a unit test (especially base/) or added coverage to...
Avatar
You know what would stop all this botting? Accounts. As a reformed cheat using child I still remember to this day when my GunZ account got banned, never touched a cheat again
Avatar
works well for csgo
Avatar
Prime matchmaking worked fine for a bit before everyone started using virtual phone numbers
Avatar
yea
09:43
I'd argue that transparent accounts also work 🙂
09:43
because it's mostly at the high-level spectrum that people's botting is hard to distinguish from real play
Avatar
Not the same oomph. Transparent accounts just get recreated instantly, possibly even transparently to the bot user
Avatar
and those people have a long-standing account to lose
Avatar
I guess it does work for those people, but we won't have accounts bound to points so even they won't lose anything
Avatar
why not accounts bound to all new points?
Avatar
Because they will get to keep having their 12k legacy points that we can't display any differently because they will lobby against it and we can't ban because it's not bound to the account we caught cheating
Avatar
Avatar
Jupstar ✪
generally using static is what u want
bad idea
09:51
the variable will only be defined in that translation unit
09:51
use extern
09:52
ban fred
Avatar
Avatar
Learath2
Because they will get to keep having their 12k legacy points that we can't display any differently because they will lobby against it and we can't ban because it's not bound to the account we caught cheating
nah, I think we can do something manually about those 12k legacy points after a well-defined cheating event
Avatar
@Learath2 accounts + teehistorian + heuristics on teehistorian demos
09:53
when will we put teehistorian to use
09:53
xd
Avatar
IME bans need atleast one of the below to work:
  • Financial cost
  • Time cost
  • Hard to evade
  • Prestige cost
Avatar
Avatar
Ryozuki
when will we put teehistorian to use
@Zwelf is really far with reproducing teehistorians accurately
Avatar
we could "verify" top 50 ranks or smth
Avatar
French country the sweetest
Avatar
Avatar
Ewan
bad idea
global variables can cause weird undefined behavior you should use them with great care
Avatar
Avatar
Ewan
the variable will only be defined in that translation unit
better idea, more optimizations probs
09:57
reading llvm lang ref on linkage u learn nice stuff
09:58
linkonce_odr, weak_odr Some languages allow differing globals to be merged, such as two functions with different semantics. Other languages, such as C++, ensure that only equivalent globals are ever merged (the “one definition rule” — “ODR”). Such languages can use the linkonce_odr and weak_odr linkage types to indicate that the global will only be merged with equivalent globals. These linkage types are otherwise the same as their non-odr versions.
Avatar
There is some level of teehistorian -> demo with my teehistorian replayer possible (it sometimes panics, I'm working on it). https://gitlab.com/ddnet-rs/twgame cargo run --bin demo -- in.teehistorian th.map out.demo (If you want to try it out). It prints messages when my physics implementation differs from the replay (rn mostly due to unimplemented features and wrong respawn order). (edited)
09:59
(It also still panics too often which I didn't address yet)
Avatar
oh well thats nice
Avatar
Original message was deleted or could not be loaded.
you're probably violating some law every time you say this
Avatar
Avatar
Jupstar ✪
global variables can cause weird undefined behavior you should use them with great care
I don’t use them
Avatar
Avatar
Zwelf
There is some level of teehistorian -> demo with my teehistorian replayer possible (it sometimes panics, I'm working on it). https://gitlab.com/ddnet-rs/twgame cargo run --bin demo -- in.teehistorian th.map out.demo (If you want to try it out). It prints messages when my physics implementation differs from the replay (rn mostly due to unimplemented features and wrong respawn order). (edited)
Did you determine whether all the teehistorian files we have since the input reordering patch are reproducible?
Avatar
@Learath2 integrate @Zwelf's stuff with our moderator tool :p
10:01
ohhh
Avatar
ChillerDragon BOT 2023-07-01 10:01:14Z
@nouua u here?
Avatar
and maybe we could finally get automatic demos for top ranks (hides in the corner, waiting for the haters)
Avatar
Avatar
heinrich5991
you're probably violating some law every time you say this
Hm, could such an obvious joke constitute a violation of any law?
Avatar
Avatar
Learath2
Did you determine whether all the teehistorian files we have since the input reordering patch are reproducible?
They are all reproducable for me. https://github.com/ddnet/ddnet/pull/6744 is the last bug that I'm aware of, but I can reproduce even without the patch
Avatar
Avatar
Ewan
I don’t use them
mh ok, sounded like that, because not sharing them across compilation units was a bad idea
Avatar
@Jupstar ✪ they are always often misused in threaded contexts (?)
Avatar
but even static global variables should not be used if possible
10:05
not always
10:05
cant type
Avatar
Avatar
Ryozuki
@Jupstar ✪ they are always often misused in threaded contexts (?)
alone the fact that their initialization order is random is a problem
Avatar
tldr: use rust
10:05
troll
10:06
@heinrich5991 did u see the zig issue on divorcing llvm
10:06
they claim they will do better machine code in long term
10:06
i have high copium doubts
Avatar
I have not seen it
10:07
I'm sorry honey, it's just not working out. Our relationship worked when we were younger, but we're both older now and we've grown apart. This issue is to fully eliminate LLVM, Clan...
Avatar
see ya in 10 years when they done
10:09
😬
Avatar
its a bit meh cuz this switches the focus and workload to a backend instead of lang design
10:09
and zig isnt even 1.0
Avatar
That is an insane idea, it'll take them so long. Though I do appreciate the reinventing the wheel
Avatar
ye its quite insane xd
Avatar
maybe it pays out, we'll see 😄
Avatar
bjourne 1 day ago | prev | next [–]
>
Two issues here. The first is code generation and the other is bootstrapping.
>
Ime, the optimizing passes of a compiler are easy and fun to write. You have to read research papers to understand how register allocation and ssa form works, but it's fun code to write. You just send the ir through various optimizing passes, each refining it in some way. You can write high-quality optimization passes without llvm. But then you want to linearize your ir into machine code. This step is boring and mundane to write unless you care about all the different ways x86-32/64 can encode a "mov [eax+8*ebx], 123" instruction. If you are optimizing for binary size, do you want to bother measuring on which platforms "push eax; push eax; push eax" is shorter than "add rsp,12"? And this is just for x86. Multiply it tenfold for all the other non-x86 architectures irrelevant to most developers. The chance of having major bugs in the code generator for obscure architectures that stay undetected for years is very high.
>
The second issue is bootstrapping. What compiles the Zig compiler written in Zig? You could, for example, have a non-optimizing minimal Zig compiler written in C that compiles the Zig compiler. But since it's non-optimizing, the Zig compiler would need to be recompiled with the optimizing Zig compiler. Not unsolvable problems, but ime long and complicated build processes risk driving away potential contributors.
10:10
i like this comment
10:11
also
10:11
any improvements he may found would be added to llvm and gcc too
Avatar
i feel like you should never depend on the default values or constructor of a non-pointer global variable
Avatar
i read somewhere that there new state of the art algorithms for optimizing, but the researchers never consider "compilation time" as in they take too long
Avatar
@Ryozuki did you have any troubles upgrading to debian 12?
10:15
server is on debian 12
Avatar
June is over. Does that mean we can switch to C++20?
😃 1
justatest 2
Avatar
les go
Avatar
legos
10:19
ask deen for review he has to upgrade is compile machine
10:24
????????????
10:24
binds x (edited)
10:24
already does that
10:24
(before was dump_binds x) (edited)
Avatar
Yeah, it also works with bind x now
Avatar
he said this is more intuitive
Avatar
I guess it's also like this for other commands like tune x also prints the current value
Avatar
i agree
Avatar
ah ok ok
10:27
it's intended
10:27
greenthing
10:28
Good work then, thanks y'all for upgrading the game with your time, we don't say it enough.
Avatar
This PR adds a comprehensive ticket system with the objectives of lightening the workload for maintainers and replacing the existing reports system for improved communication. Additionally, the new system ensures the anonymity of reports, providing a more secure and confidential approach to handling issues.
💕 1
Avatar

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addres...
Avatar
i hate python
Avatar
but i love murpi
Avatar
when u marry
Avatar
when he learned rust
Avatar
i love cpp
Avatar
what r u coding
Avatar
you
Avatar
nothing at the moment
Avatar
what are u coding currently
12:03
ok
Avatar
i just like cpp
12:03
thought I’d add
Avatar
i have mixed feelings about that
12:03
that u like cpp
Avatar
better than java
Avatar
do u know the meme where u need to dig a bit more
Avatar
better than python xd
Avatar
to find what the truth is
12:03
xd
Avatar
all our convos start with programming language bashing xD
12:04
cpp bad and u think it’s good cuz ur stupid
Avatar
i mean
12:05
its normal that people talk about their tools of trade
12:05
and bash them
12:05
no?
12:05
xd
Avatar
Radius was set to 0 before this, so pickups were sometimes not predicted.

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [x] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+U...
justatest 1
Avatar
ChillerDragon BOT 2023-07-01 13:43:06Z
bash them
Avatar
hi
Avatar
why did the rest of the world not use europe power adapters
Avatar
weird way of saying usa
13:47
troll
Avatar
Use std::vector in cases where elements are only inserted at the end of the collection. Use std::deque in cases where elements are only inserted/deleted at the beginning/end of the collection. Use std::list in the remaining single case where elements are being removed from arbitrary positions and added at either the beginning or the end of the collection. Adjust variables names. Don't use separate prefix for std::deques and std::lists, as they are only used very rarely. Clo...
Avatar
of course murpi deletes all the evidence
14:26
@Ryozuki 😬
14:28
anyways that sucks now chat is dead again
Avatar
Avatar
Ryozuki
why did the rest of the world not use europe power adapters
it's not even standard across europe
Avatar
Avatar
Voxel
of course murpi deletes all the evidence
what evidence_
Avatar
Avatar
murpi
what evidence_
14:35
you cant silent the masses murpi
14:35
I just remved him from this channel
Avatar
i was looking in thr wrong channel
Avatar
I SAW THE JUICY STUFF IN #bugs LOLLL
14:36
AND THOUGHT IT WAS HERE
14:37
😬
14:37
best emote
Avatar
u
Avatar
ChillerDragon BOT 2023-07-01 15:18:37Z
what juice
15:18
did u see voxel
Avatar
vinson getting banned from dev
15:21
and mupri popping off
15:26
8d890e6 Remove unused GraphicsThread/GraphicsThreadProxy declarations - Robyt3 d56bd87 Merge pull request #6791 from Robyt3/Client-Cleanup-GraphicsThread - def-
Avatar
Add missing translation and rewrite old to match new

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgr...
Avatar
678e3ca Set physsize of predicted pickups - trml a2d2f32 Merge #6792 - bors[bot]
Avatar
c6b4302 Prevent /swap with paused players - Robyt3 bc73ea3 Use std::vector and std::deque instead of most std::lists - Robyt3 4bd1493 Merge #6790 #6793 - bors[bot]
Avatar
ChillerDragon BOT 2023-07-01 16:57:28Z
wowo ban
16:57
a: buse
Avatar
05ef4c7 Update russian.txt - lolipodass 78f31ea Merge #6794 - bors[bot]
17:11
im gonna create a ddnet bot that detects the best way to fail in any situation and then does so at the most random times
17:11
Avatar
``` ==18655== Memcheck, a memory error detector ==18655== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==18655== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info ==18655== Command: ../DDNet cl_input_fifo\ client1.fifo;player_name\ client1;cl_download_skins\ 0;gfx_fullscreen\ 0;snd_enable\ 0;logfile\ client1.log;cl_menu_map\ "";__connect\ localhost:17822 ==18655== ==18655== Conditional jump or move depends on uninitialised value(s) ==186...
17:50

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssan...
Avatar
Requires some experiments first

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https...
Avatar
how much code can we crunch down witb cpp20
Avatar
theoretically?
18:39
20%
18:39
by stopping to use header files
Avatar
oh damn rest in peace .h files
Avatar
@Ryozuki can a pointer in rust literally change position?
18:42
like that address of the object changes
18:43
ahh probably when moving
18:43
funny
18:43
and stupid from me lol
Avatar
@Jupstar ✪ check pin
Avatar
Avatar
Ryozuki
@Jupstar ✪ check pin
would u prefer it over a simply Box around the whole object?
18:45
it reads as "just a compiler hint"
Avatar
box is on the heap and unique owned
Avatar
Avatar
Jupstar ✪
it reads as "just a compiler hint"
pin?
Avatar
yes
Avatar
it works as long as u uphold its contract (when using unsafe, mainly the unchecked fn)
Avatar
Avatar
Ryozuki
it works as long as u uphold its contract (when using unsafe, mainly the unchecked fn)
ok but could it cause a heap allocation?
18:47
or is that impossible
18:47
thats what i meant with hint
Avatar
Avatar
Jupstar ✪
ok but could it cause a heap allocation?
pin itself not
18:48
pin just holds a reference
18:48
or pointer
Avatar
ok, but since its not moveable, i probably want box anyway
18:49
i guess?
18:49
the object moves some times
18:51
Can you implement Pin? or is it a compiler hint?
Avatar
pin is not a trait
18:51
god
18:51
read the docs
18:51
RTFM
18:51
xdddd
18:51
Types that pin data to its location in memory.
Avatar
i read the doc but that doesnt help me
18:52
i only says what it does and what guarantees it has
Avatar
#[stable(feature = "pin", since = "1.33.0")] #[lang = "pin"] #[fundamental] #[repr(transparent)] #[derive(Copy, Clone)] pub struct Pin<P> { // FIXME(#93176): this field is made `#[unstable] #[doc(hidden)] pub` to: // - deter downstream users from accessing it (which would be unsound!), // - let the `pin!` macro access it (such a macro requires using struct // literal syntax in order to benefit from lifetime extension). // Long-term, `unsafe` fields or macro hygiene are expected to offer more robust alternatives. #[unstable(feature = "unsafe_pin_internals", issue = "none")] #[doc(hidden)] pub pointer: P, }
18:52
its a transparent wrapper
18:52
so it has same size and layout as pointer P
18:52
a Pin<Box<T>> is an owned pointer to a pinned T, and a Pin<Rc<T>> is a reference-counted pointer to a pinned T.
Avatar
mh ok. maybe my question sucked
18:54
i wanted to know if u could implement the same logic pin does
18:54
or if its an internal type
18:54
basically a hint to the compiler
Avatar
Avatar
Jupstar ✪
by stopping to use header files
wait what?
19:13
what features of c++ is that?
Avatar
Avatar
Chairn
what features of c++ is that?
modules
Avatar
ChillerDragon BOT 2023-07-01 20:22:32Z
github for you page best social media alogritm
20:22
A fully compliant RISC-V computer made inside the game Terraria - GitHub - misprit7/computerraria: A fully compliant RISC-V computer made inside the game Terraria
bluekitty 2
20:22
this sounds epic
Avatar
ChillerDragon BOT 2023-07-01 20:31:40Z
@fokkonaut you still active?
Avatar
hello
Avatar
ChillerDragon BOT 2023-07-01 20:34:22Z
ah nice
20:34
can we dm ?
Avatar
element
Avatar
duuuude i know some ppl who can make CRAZY stuff in lmms (edited)
Avatar

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-ad...
Avatar
d6c7ce8 Update translation status - def-
Avatar
4a6d212 Update Belarusian translation - AlehKushniarou 97b31e1 Merge #6798 - bors[bot]
Avatar
Cloud computing is a way for businesses to access extra computational resources over the internet. Without it, the internet as we know it would malfunction.
23:58
that also explains some things 😄
Exported 285 message(s)