+hello
-this is supported
+ just add \`\`\`diff
+ im greener than weed
+ g r e e n
- r e d
void CConsole::RegisterTemp(const char *pName, const char *pParams, int Flags, const char *pHelp)
{
CCommand *pCommand;
if(m_pRecycleList)
{
pCommand = m_pRecycleList;
str_copy(const_cast<char *>(pCommand->m_pName), pName, TEMPCMD_NAME_LENGTH);
str_copy(const_cast<char *>(pCommand->m_pHelp), pHelp, TEMPCMD_HELP_LENGTH);
str_copy(const_cast<char *>(pCommand->m_pParams), pParams, TEMPCMD_PARAMS_LENGTH);
m_pRecycleList = m_pRecycleList->m_pNext;
}
else
{
pCommand = new(m_TempCommands.Allocate(sizeof(CCommand))) CCommand;
char *pMem = static_cast<char *>(m_TempCommands.Allocate(TEMPCMD_NAME_LENGTH));
str_copy(pMem, pName, TEMPCMD_NAME_LENGTH);
pCommand->m_pName = pMem;
pMem = static_cast<char *>(m_TempCommands.Allocate(TEMPCMD_HELP_LENGTH));
str_copy(pMem, pHelp, TEMPCMD_HELP_LENGTH);
pCommand->m_pHelp = pMem;
pMem = static_cast<char *>(m_TempCommands.Allocate(TEMPCMD_PARAMS_LENGTH));
str_copy(pMem, pParams, TEMPCMD_PARAMS_LENGTH);
pCommand->m_pParams = pMem;
}
RegisterTemp
should not be called for config variable throughCConsole::Register
it just takes the const char *pName
directlychar m_aCommandName[IConsole::TEMPCMD_NAME_LENGTH];
char m_aCommandHelp[IConsole::TEMPCMD_HELP_LENGTH];
char m_aCommandParams[IConsole::TEMPCMD_PARAMS_LENGTH];
game/client/components/console.h
, so the local console is also limited to these valueschar aBuf[sizeof(m_aCommandName)]
in console.cpp
""
instead=================================================================
==30048==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 72704 byte(s) in 1 object(s) allocated from:
#0 0x5579de1ea43e in malloc (/data1/edgar/ddnet/build/DDNet+0x13c843e)
#1 0x7f2902140f65 (<unknown module>)
#2 0x7f29020c9caa (<unknown module>)
Direct leak of 6360 byte(s) in 5 object(s) allocated from:
#0 0x5579de1ea578 in calloc (/data1/edgar/ddnet/build/DDNet+0x13c8578)
#1 0x7f29165f2150 (<unknown module>)
Direct leak of 1152 byte(s) in 1 object(s) allocated from:
#0 0x5579de1ea705 in realloc (/data1/edgar/ddnet/build/DDNet+0x13c8705)
#1 0x7f29165f28e6 (<unknown module>)
Direct leak of 368 byte(s) in 3 object(s) allocated from:
#0 0x5579de1ea43e in malloc (/data1/edgar/ddnet/build/DDNet+0x13c843e)
#1 0x7f29030a1377 (<unknown module>)
Direct leak of 176 byte(s) in 1 object(s) allocated from:
#0 0x5579de1ea578 in calloc (/data1/edgar/ddnet/build/DDNet+0x13c8578)
#1 0x7f2921c36bde (/usr/lib64/libdbus-1.so.3+0x30bde)
Direct leak of 8 byte(s) in 1 object(s) allocated from:
#0 0x5579de1ea43e in malloc (/data1/edgar/ddnet/build/DDNet+0x13c843e)
#1 0x7f29165f1824 (<unknown module>)
Indirect leak of 164592 byte(s) in 521 object(s) allocated from:
#0 0x5579de1ea578 in calloc (/data1/edgar/ddnet/build/DDNet+0x13c8578)
#1 0x7f29165f2150 (<unknown module>)
Indirect leak of 9650 byte(s) in 264 object(s) allocated from:
#0 0x5579de1ea43e in malloc (/data1/edgar/ddnet/build/DDNet+0x13c843e)
#1 0x7f2902e40e53 (<unknown module>)
Indirect leak of 6156 byte(s) in 1 object(s) allocated from:
#0 0x5579de1ea578 in calloc (/data1/edgar/ddnet/build/DDNet+0x13c8578)
#1 0x7f2902e5b8f5 (<unknown module>)
Indirect leak of 5791 byte(s) in 430 object(s) allocated from:
#0 0x5579de1ea43e in malloc (/data1/edgar/ddnet/build/DDNet+0x13c843e)
#1 0x7f29165f1824 (<unknown module>)
Indirect leak of 5665 byte(s) in 17 object(s) allocated from:
#0 0x5579de1ea43e in malloc (/data1/edgar/ddnet/build/DDNet+0x13c843e)
#1 0x7f29030a1377 (<unknown module>)
Indirect leak of 752 byte(s) in 6 object(s) allocated from:
#0 0x5579de1ea705 in realloc (/data1/edgar/ddnet/build/DDNet+0x13c8705)
#1 0x7f29165f28e6 (<unknown module>)
Indirect leak of 457 byte(s) in 2 object(s) allocated from:
#0 0x5579de1ea705 in realloc (/data1/edgar/ddnet/build/DDNet+0x13c8705)
#1 0x7f2921c480ac (/usr/lib64/libdbus-1.so.3+0x420ac)
Indirect leak of 204 byte(s) in 1 object(s) allocated from:
#0 0x5579de1ea578 in calloc (/data1/edgar/ddnet/build/DDNet+0x13c8578)
#1 0x7f2902e5b469 (<unknown module>)
Indirect leak of 40 byte(s) in 1 object(s) allocated from:
#0 0x5579de1ea43e in malloc (/data1/edgar/ddnet/build/DDNet+0x13c843e)
#1 0x7f2902e4d5e0 (<unknown module>)
SUMMARY: AddressSanitizer: 274075 byte(s) leaked in 1255 allocation(s).
❯ UBSAN_OPTIONS=suppressions=./ubsan.supp:log_path=./SAN:print_stacktrace=1:halt_on_errors=0 ASAN_OPTIONS=log_path=./SAN:print_stacktrace=1:check_initialization_order=1:detect_leaks=1:halt_on_errors=0 LSAN_OPTIONS=suppressions=./lsan.supp ./DDNet
gdb
gdb DDNet
, then info symbol 0x13c843e
q
to quit gdb eventuallyDDNet+
)?(gdb) set env UBSAN_OPTIONS=suppressions=./ubsan.supp:log_path=./SAN:print_stacktrace=1:halt_on_errors=0
(gdb) set env ASAN_OPTIONS=log_path=./SAN:print_stacktrace=1:check_initialization_order=1:detect_leaks=1:halt_on_errors=0
(gdb) set env LSAN_OPTIONS=suppressions=./lsan.supp
(gdb) run
libssp-0.dll
exist in the folder with DDNet.exe
?exe
or how did this happen? Would be interesting to know how these issues during updates happenexe
or how did this happen? Would be interesting to know how these issues during updates happen exe
or how did this happen? Would be interesting to know how these issues during updates happen scripts/languages/update_all.py
: this does not change any translations except for reordering some untranslated strings
dbg_tuning
:
dbg_tuning 1
): !tuning-full old
dbg_tuning 1
, only showing changed parameters): !tuning-compact new
dbg_tuning 2
, showing all parameters and the velramp graphs): ![tuning-full new](https://github.com/ddnet/ddnet...be83d44
Refactor CClient::DebugRender
- Robyt3
b98d519
Use textrender for graphs, refactor CGraph::Render
- Robyt3
30d3d4f
Rename GetTunes
to GetTuning
and return const pointer - Robyt3
51e1f9d
Refactor CDebugHud::RenderHint
- Robyt3
738187d
Refactor CDebugHud::RenderNetCorrections
, improve layout - Robyt3
bfb64a4
Improve dbg_tuning
, refactor CDebugHud::RenderTuning
- Robyt3
16093de
Merge pull request #6985 from Robyt3/Debughud-Improvements - def-