mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Linux fixes, misc fixes
This commit is contained in:
parent
609dbfa256
commit
c97b074fee
12 changed files with 131 additions and 68 deletions
|
@ -424,6 +424,15 @@ namespace Beefy.widgets
|
||||||
return mSubItems[columnIdx];
|
return mSubItems[columnIdx];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ListViewItem GetOrCreateSubItem(int columnIdx)
|
||||||
|
{
|
||||||
|
if (mColumnIdx == columnIdx)
|
||||||
|
return this;
|
||||||
|
if ((mSubItems != null) && (columnIdx < mSubItems.Count))
|
||||||
|
return mSubItems[columnIdx];
|
||||||
|
return CreateSubItem(columnIdx);
|
||||||
|
}
|
||||||
|
|
||||||
public virtual void MakeParent()
|
public virtual void MakeParent()
|
||||||
{
|
{
|
||||||
if (mChildItems == null)
|
if (mChildItems == null)
|
||||||
|
|
|
@ -44,7 +44,7 @@ namespace System
|
||||||
{
|
{
|
||||||
Platform.GetStrHelper(outPath, scope (outPtr, outSize, outResult) =>
|
Platform.GetStrHelper(outPath, scope (outPtr, outSize, outResult) =>
|
||||||
{
|
{
|
||||||
Platform.BfpDynLib_GetFilePath(null, outPtr, outSize, (Platform.BfpLibResult*)outResult);
|
Platform.BfpSystem_GetExecutablePath(outPtr, outSize, (Platform.BfpSystemResult*)outResult);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,8 +55,6 @@ namespace System
|
||||||
[StdCall, CLink]
|
[StdCall, CLink]
|
||||||
public static extern BfpTimeStamp BfpSystem_GetTimeStamp();
|
public static extern BfpTimeStamp BfpSystem_GetTimeStamp();
|
||||||
[StdCall, CLink]
|
[StdCall, CLink]
|
||||||
public static extern void BfpSystem_GetEnvironmentStrings(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult);
|
|
||||||
[StdCall, CLink]
|
|
||||||
public static extern uint8 BfpSystem_InterlockedExchange8(uint8* ptr, uint8 val); /// Returns the initial value in 'ptr'
|
public static extern uint8 BfpSystem_InterlockedExchange8(uint8* ptr, uint8 val); /// Returns the initial value in 'ptr'
|
||||||
[StdCall, CLink]
|
[StdCall, CLink]
|
||||||
public static extern uint16 BfpSystem_InterlockedExchange16(uint16* ptr, uint16 val); /// Returns the initial value in 'ptr'
|
public static extern uint16 BfpSystem_InterlockedExchange16(uint16* ptr, uint16 val); /// Returns the initial value in 'ptr'
|
||||||
|
@ -81,6 +79,10 @@ namespace System
|
||||||
[StdCall, CLink]
|
[StdCall, CLink]
|
||||||
public static extern uint64 BfpSystem_InterlockedCompareExchange64(uint64* ptr, uint64 oldVal, uint64 newVal);
|
public static extern uint64 BfpSystem_InterlockedCompareExchange64(uint64* ptr, uint64 oldVal, uint64 newVal);
|
||||||
[StdCall, CLink]
|
[StdCall, CLink]
|
||||||
|
public static extern void BfpSystem_GetExecutablePath(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult);
|
||||||
|
[StdCall, CLink]
|
||||||
|
public static extern void BfpSystem_GetEnvironmentStrings(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult);
|
||||||
|
[StdCall, CLink]
|
||||||
public static extern int32 BfpSystem_GetNumLogicalCPUs(BfpSystemResult* outResult);
|
public static extern int32 BfpSystem_GetNumLogicalCPUs(BfpSystemResult* outResult);
|
||||||
[StdCall, CLink]
|
[StdCall, CLink]
|
||||||
public static extern int64 BfpSystem_GetCPUTick();
|
public static extern int64 BfpSystem_GetCPUTick();
|
||||||
|
|
|
@ -416,7 +416,7 @@ void Beefy::BFFatalError(const StringImpl& message, const StringImpl& file, int
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
OutputDebugStrF("FATAL ERROR: %s\n", message.c_str());
|
OutputDebugStrF("FATAL ERROR: %s\n", message.c_str());
|
||||||
_wassert(UTF8Decode(message).c_str(), UTF8Decode(file).c_str(), line);
|
_wassert(UTF8Decode(message).c_str(), UTF8Decode(file).c_str(), line);
|
||||||
#else
|
#else
|
||||||
String error = StrFormat("%s in %s:%d", message.c_str(), file.c_str(), line);
|
String error = StrFormat("%s in %s:%d", message.c_str(), file.c_str(), line);
|
||||||
|
|
11
BeefySysLib/third_party/zlib/compress.c
vendored
11
BeefySysLib/third_party/zlib/compress.c
vendored
|
@ -64,3 +64,14 @@ int ZEXPORT compress (dest, destLen, source, sourceLen)
|
||||||
{
|
{
|
||||||
return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
|
return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ===========================================================================
|
||||||
|
If the default memLevel or windowBits for deflateInit() is changed, then
|
||||||
|
this function needs to be updated.
|
||||||
|
*/
|
||||||
|
uLong ZEXPORT compressBound(sourceLen)
|
||||||
|
uLong sourceLen;
|
||||||
|
{
|
||||||
|
return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
|
||||||
|
(sourceLen >> 25) + 13;
|
||||||
|
}
|
||||||
|
|
|
@ -2,6 +2,10 @@
|
||||||
#include "CritSect.h"
|
#include "CritSect.h"
|
||||||
#include "util/Dictionary.h"
|
#include "util/Dictionary.h"
|
||||||
|
|
||||||
|
#ifdef DEF_BF_ALLOCDEBUG
|
||||||
|
#define USE_BF_ALLOCDEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
#pragma warning(disable:4996)
|
#pragma warning(disable:4996)
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include "AllocDebug.h"
|
#include "AllocDebug.h"
|
||||||
|
|
|
@ -111,7 +111,7 @@ public:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Entry** mHashHeads;
|
Entry** mHashHeads;
|
||||||
const int cDefaultHashSize = 17;
|
static const int cDefaultHashSize = 17;
|
||||||
int mHashSize;
|
int mHashSize;
|
||||||
int mCount;
|
int mCount;
|
||||||
|
|
||||||
|
|
|
@ -70,4 +70,4 @@ Path = "../../../temp/test.txt"
|
||||||
[[ProjectFolder.Items]]
|
[[ProjectFolder.Items]]
|
||||||
Type = "Folder"
|
Type = "Folder"
|
||||||
Path = "../../../temp/borf"
|
Path = "../../../temp/borf"
|
||||||
Source = ["a.txt"]
|
AutoInclude = true
|
||||||
|
|
|
@ -153,14 +153,31 @@ namespace System
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Pointer
|
[AlwaysInclude]
|
||||||
|
struct Pointer : IHashable
|
||||||
{
|
{
|
||||||
|
void* mVal;
|
||||||
|
|
||||||
|
public int GetHashCode()
|
||||||
|
{
|
||||||
|
return (int)mVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
[AlwaysInclude]
|
||||||
|
Object GetBoxed()
|
||||||
|
{
|
||||||
|
return new box this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Pointer<T> : Pointer
|
struct Pointer<T> : IHashable
|
||||||
{
|
{
|
||||||
T* mVal;
|
T* mVal;
|
||||||
|
|
||||||
|
public int GetHashCode()
|
||||||
|
{
|
||||||
|
return (int)mVal;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct MethodReference<T>
|
struct MethodReference<T>
|
||||||
|
|
|
@ -333,6 +333,16 @@ namespace System
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual int32 MaxValue
|
||||||
|
{
|
||||||
|
[Error("This property can only be accessed directly from a typeof() expression")]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public int32 GetTypeId()
|
public int32 GetTypeId()
|
||||||
{
|
{
|
||||||
return (int32)mTypeId;
|
return (int32)mTypeId;
|
||||||
|
|
|
@ -189,40 +189,27 @@ namespace Hey.Dude.Bro
|
||||||
[CRepr, CLink]
|
[CRepr, CLink]
|
||||||
public static extern void* SetUnhandledExceptionFilter(function int32(void* p) func);
|
public static extern void* SetUnhandledExceptionFilter(function int32(void* p) func);
|
||||||
|
|
||||||
|
public static int GetHash<T>(T val) where T : IHashable
|
||||||
|
{
|
||||||
|
return val.GetHashCode();
|
||||||
|
}
|
||||||
|
|
||||||
public static int Main(String[] args)
|
public static int Main(String[] args)
|
||||||
{
|
{
|
||||||
|
/*IHashable ih = (int32)TypeCode.Boolean;
|
||||||
|
let hashCode = ih.GetHashCode();*/
|
||||||
|
|
||||||
|
Object obj = new Object();
|
||||||
|
|
||||||
|
int* iPtr = scope .();
|
||||||
|
int hash = GetHash(iPtr);
|
||||||
|
|
||||||
|
|
||||||
//Test2(1, 2, 3, 4);
|
//Test2(1, 2, 3, 4);
|
||||||
//int a = Fartso;
|
|
||||||
|
|
||||||
#if ZLOG
|
|
||||||
PrintF("HEY!");
|
|
||||||
#endif
|
|
||||||
List<String> iList = scope .();
|
|
||||||
for (int i < 1000)
|
|
||||||
{
|
|
||||||
iList.Add("Zpops");
|
|
||||||
}
|
|
||||||
|
|
||||||
bool b = false;
|
|
||||||
|
|
||||||
//File file;
|
|
||||||
int len = args.Count;
|
|
||||||
|
|
||||||
int zog = 123;
|
|
||||||
|
|
||||||
int a = 0x1122334455667788;
|
|
||||||
|
|
||||||
void* prev = SetUnhandledExceptionFilter(=> SEHHandler);
|
|
||||||
PrintF("Prev: %p\n", prev);
|
|
||||||
|
|
||||||
//TestA();
|
|
||||||
Blurg.Hey();
|
Blurg.Hey();
|
||||||
|
|
||||||
for (int i < 100)
|
|
||||||
{
|
|
||||||
PrintF("Hello 2!\n");
|
|
||||||
Thread.Sleep(10);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,18 +13,15 @@ class ClassA
|
||||||
{
|
{
|
||||||
public virtual void ClassA0()
|
public virtual void ClassA0()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void ClassA1()
|
public virtual void ClassA1()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ClassB
|
class ClassB
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if B
|
#if B
|
||||||
|
@ -71,13 +68,11 @@ class ClassE : ClassD
|
||||||
{
|
{
|
||||||
public void Zog2()
|
public void Zog2()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ClassF : ClassE
|
class ClassF : ClassE
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[NoDiscard("Use this value!")]
|
[NoDiscard("Use this value!")]
|
||||||
|
@ -95,11 +90,10 @@ class Bloozer
|
||||||
enum Zorf : IDisposable
|
enum Zorf : IDisposable
|
||||||
{
|
{
|
||||||
case A;
|
case A;
|
||||||
case B;
|
case B;
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,7 +101,6 @@ class IFaceA
|
||||||
{
|
{
|
||||||
public static void Fart()
|
public static void Fart()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,7 +108,6 @@ class Zlips : IFaceA, IDisposable
|
||||||
{
|
{
|
||||||
static void Fart()
|
static void Fart()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
|
@ -129,9 +121,7 @@ class Testo
|
||||||
public this()
|
public this()
|
||||||
{
|
{
|
||||||
PrintF("Testo this %p\n", this);
|
PrintF("Testo this %p\n", this);
|
||||||
}
|
} public ~this()
|
||||||
|
|
||||||
public ~this()
|
|
||||||
{
|
{
|
||||||
PrintF("Testo ~this %p\n", this);
|
PrintF("Testo ~this %p\n", this);
|
||||||
}
|
}
|
||||||
|
@ -143,7 +133,7 @@ class Norg
|
||||||
public int32 mA;
|
public int32 mA;
|
||||||
public int32 mB;
|
public int32 mB;
|
||||||
|
|
||||||
public int32 GetIt(int32 a, int32 b, int32 c) mut
|
public int32 GetIt(int32 a, int32 b, int32 c)
|
||||||
{
|
{
|
||||||
return a + b + c + mA;
|
return a + b + c + mA;
|
||||||
}
|
}
|
||||||
|
@ -157,10 +147,13 @@ class Norg
|
||||||
{
|
{
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
|
mA = (.)value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return mA;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual int GetVal()
|
public virtual int GetVal()
|
||||||
|
@ -171,18 +164,47 @@ class Norg
|
||||||
|
|
||||||
class Norg2 : Norg
|
class Norg2 : Norg
|
||||||
{
|
{
|
||||||
public override void Zorf
|
public int mVal2;
|
||||||
|
|
||||||
|
public int Zof => 123;
|
||||||
|
|
||||||
|
public int GetIt() => 234;
|
||||||
|
|
||||||
|
/*public override int Zorf
|
||||||
{
|
{
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
base.Zorf = 123;
|
base.Zorf = 123;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Blurg
|
enum TestEnumA
|
||||||
{
|
{
|
||||||
|
A,
|
||||||
|
B,
|
||||||
|
C
|
||||||
|
}
|
||||||
|
|
||||||
|
[AttributeUsage(.Field, .ReflectAttribute, ReflectUser=.All)]
|
||||||
|
struct FoofAttribute : Attribute
|
||||||
|
{
|
||||||
|
int32 mA;
|
||||||
|
int32 mB;
|
||||||
|
int32 mC;
|
||||||
|
|
||||||
|
public this(int32 a, int32 b, int32 c)
|
||||||
|
{
|
||||||
|
mA = a;
|
||||||
|
mB = b;
|
||||||
|
mC = c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Blurg
|
||||||
|
{
|
||||||
|
[Foof(1, 2, 3)]
|
||||||
public String mVal;
|
public String mVal;
|
||||||
public int32 mA;
|
public int32 mA;
|
||||||
public int32 mB;
|
public int32 mB;
|
||||||
|
@ -196,7 +218,6 @@ struct Blurg
|
||||||
|
|
||||||
void TestIt(String a, String b)
|
void TestIt(String a, String b)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TestStruct GetTS()
|
TestStruct GetTS()
|
||||||
|
@ -209,26 +230,29 @@ struct Blurg
|
||||||
PrintF("a0");
|
PrintF("a0");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Error("This property can only be accessed directly from a typeof() expression")]
|
||||||
static void Test(int a, int b, int c)
|
static void Test(int a, int b, int c)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Result<int> GetMe()
|
||||||
|
{
|
||||||
|
return 123;
|
||||||
|
}
|
||||||
|
|
||||||
public static int32 Hey()
|
public static int32 Hey()
|
||||||
{
|
{
|
||||||
Result<int, float> res = .Ok(123);
|
let t = typeof(Self);
|
||||||
|
let field = t.GetField("mVal").Value;
|
||||||
|
var foofAttrib = field.GetCustomAttribute<FoofAttribute>();
|
||||||
|
|
||||||
Florg fl = .();
|
//for (TypeCode tc < .Boolean)
|
||||||
|
|
||||||
let f2 = fl;
|
//Test(1, 2, 3);
|
||||||
//defer f2.Dispose();
|
|
||||||
|
/*TestEnumA ta = .A;
|
||||||
|
IHashable ih = ta;*/
|
||||||
|
|
||||||
using (var f = fl)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return 123;
|
return 123;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,7 +264,6 @@ struct Florg
|
||||||
|
|
||||||
public void Dispose() mut
|
public void Dispose() mut
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue