stdout_output_level
for printing to stdout, console_output_level
for
printing to local console and remote console and loglevel
for the log
file.
Keep the old log level filters 0 for info and more severe, 1 for debug
and more severe and 2 for trace and more severe, introducing -1 for
warn, and -2 for error. -3 will show no log messages at all.
SendChatTarget
is cleaner than doing the version check at the call site?SendChatTarget(1, OnlyForVersionGreaterThan=5)
, it seems weird to not just check it locallyif(x < 5) DoFunction()
over DoFunctionIfLessThan(5)
SendChatTarget
function isn't really nice)c++
char aBuff[IO_MAX_PATH_LENGTH];
if(str_comp(pAssetItem->m_aName, "default") == 0)
{
str_format(aBuff, sizeof(aBuff), "%s.png", pAssetName);
CImageInfo ImgInfo;
if(pGraphics->LoadPNG(&ImgInfo, aBuff, IStorage::TYPE_ALL))
{
pAssetItem->m_RenderTexture = pGraphics->LoadTextureRaw(ImgInfo.m_Width, ImgInfo.m_Height, ImgInfo.m_Format, ImgInfo.m_pData, ImgInfo.m_Format, 0);
pGraphics->FreePNG(&ImgInfo);
}
}
else
{
str_format(aBuff, sizeof(aBuff), "assets/%s/%s.png", pAssetName, pAssetItem->m_aName);
CImageInfo ImgInfo;
if(pGraphics->LoadPNG(&ImgInfo, aBuff, IStorage::TYPE_ALL))
{
pAssetItem->m_RenderTexture = pGraphics->LoadTextureRaw(ImgInfo.m_Width, ImgInfo.m_Height, ImgInfo.m_Format, ImgInfo.m_pData, ImgInfo.m_Format, 0);
pGraphics->FreePNG(&ImgInfo);
}
else
{
str_format(aBuff, sizeof(aBuff), "assets/%s/%s/%s.png", pAssetName, pAssetItem->m_aName, pAssetName);
if(pGraphics->LoadPNG(&ImgInfo, aBuff, IStorage::TYPE_ALL))
{
pAssetItem->m_RenderTexture = pGraphics->LoadTextureRaw(ImgInfo.m_Width, ImgInfo.m_Height, ImgInfo.m_Format, ImgInfo.m_pData, ImgInfo.m_Format, 0);
pGraphics->FreePNG(&ImgInfo);
}
}
}
c++
char aBuff[IO_MAX_PATH_LENGTH];
if(str_comp(pAssetItem->m_aName, "default") == 0)
{
str_format(aBuff, sizeof(aBuff), "%s.png", pAssetName);
CImageInfo ImgInfo;
if(pGraphics->LoadPNG(&ImgInfo, aBuff, IStorage::TYPE_ALL))
{
pAssetItem->m_RenderTexture = pGraphics->LoadTextureRaw(ImgInfo.m_Width, ImgInfo.m_Height, ImgInfo.m_Format, ImgInfo.m_pData, ImgInfo.m_Format, 0);
pGraphics->FreePNG(&ImgInfo);
}
}
else
{
str_format(aBuff, sizeof(aBuff), "assets/%s/%s.png", pAssetName, pAssetItem->m_aName);
CImageInfo ImgInfo;
if(pGraphics->LoadPNG(&ImgInfo, aBuff, IStorage::TYPE_ALL))
{
pAssetItem->m_RenderTexture = pGraphics->LoadTextureRaw(ImgInfo.m_Width, ImgInfo.m_Height, ImgInfo.m_Format, ImgInfo.m_pData, ImgInfo.m_Format, 0);
pGraphics->FreePNG(&ImgInfo);
}
else
{
str_format(aBuff, sizeof(aBuff), "assets/%s/%s/%s.png", pAssetName, pAssetItem->m_aName, pAssetName);
if(pGraphics->LoadPNG(&ImgInfo, aBuff, IStorage::TYPE_ALL))
{
pAssetItem->m_RenderTexture = pGraphics->LoadTextureRaw(ImgInfo.m_Width, ImgInfo.m_Height, ImgInfo.m_Format, ImgInfo.m_pData, ImgInfo.m_Format, 0);
pGraphics->FreePNG(&ImgInfo);
}
}
}
void LoadPNGFromPath(char* aBuf, idkthetype* RenderTexture)
class CMatDefault : public CTuneParams //CTuneParams is not allowed to contain virtual functions
{
public:
CMatDefault() = default;
virtual int GetSkidSound();
virtual float GetSkidThreshold() { return 500.0f; }
virtual float GetDynamicAcceleration(float Velocity) { return m_GroundControlAccel; }
};
+1
to statically calculate the number of parameters without relying on the size of any classesm_NumTuningParamters++;
to the macro is easy, but the class needs to be readable as an int*, WAIT can't I write an operator for that import discord
if messageIsValid()
addReactions()
c7fb013
Add io_read_all
, io_read_all_str
and mem_has_null
: - Robyt3
c1c8797
Add IStorage::ReadFile
and ReadFileStr
: - Robyt3
93536b8
Use io_read_all
to load font files - Robyt3
7050022
Use ReadFile
in CServerBrowser::LoadDDNetInfoJson
- Robyt3
74d7d4f
Use ReadFile
to load wv/opus sound files - Robyt3
ceca44e
Use io_read_all
to load icon font - Robyt3
5d49ee3
Use ReadFile
to load updater index json - Robyt3
0a46332
Use ReadFile
to load server maps - Robyt3
de2744c
Use ReadFile
to read opus sounds in editor - Robyt3
dc52377
Use ReadFile
to read shader - Robyt3
992723d
Merge #5430 - bors[bot]rename
manpage it talks about filesrename
isn't limited to files in linuxrenameat2
|| or &&
because i did ( cond1 || (cond2 && cond3))
(edited)(cond1 || cond2 && cond3)
what then?&&
comes first because its 'stronger'? (edited)(cond1 || cond2 && cond3)
is the same as (cond1 || (cond2 && cond3))
((cond1 || cond2) && cond3)
CCharacter *pChar = ChatHelper()->GameClient()->m_GameWorld.GetCharacterByID(ChatHelper()->GameClient()->m_LocalIDs[g_Config.m_ClDummy]);
if(pChar)
continue;
vec2 Self = pChar->m_Pos;
pkill -f electron
it loses messages. It messes up message order.m_MaterialIsLoaded
should be set to falsedc52377fc59f41f8687ca4176ba73196d7790e69 is the first bad commit
commit dc52377fc59f41f8687ca4176ba73196d7790e69
Author: Robert Müller
Date: Tue Jun 14 21:27:10 2022 +0200
Use `ReadFile` to read shader
src/engine/client/backend/vulkan/backend_vulkan.cpp | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
```
bt
#0 0x0000000007cfc5c5 in vkGetInstanceProcAddr ()
from C:\Windows\system32\nvoglv64.dll
#1 0x0000000000661007 ...reserve
instead of resize
but of course that wouldn't set the actual size of the vector after I copy in the data.
Closes #5442.
Check out the DDNet Wiki by Patiga & Zwelf on wiki.ddnet.tw
Check out DDNet's Discord server on ddnet.tw/discord
Check out DDNet's TeamSpeak server hosted by laxa on ts.ddnet.tw
Check out the DDNet Wiki by Patiga & Zwelf on wiki.ddnet.tw
Check out the DDNet Discord server on ddnet.tw/discord
Check out the DDNet TeamSpeak server hosted by laxa on ts.ddnet.tw