Add LINUX as a BuiltinConstants

If there is something important you think is missing in the current version of ZGameEditor then you can post a feature request here!

Moderator: Moderators

Post Reply
User avatar
Ats
Posts: 408
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Add LINUX as a BuiltinConstants

Post by Ats » Thu Apr 08, 2021 9:10 pm

There is currently no way to catch that ZGE is running on linux. It would be very useful to set library names for linux the same way we already do for android with if (ANDROID)

So I tried adding

Code: Select all

  Con := TDefineConstant.Create(nil);
  Con.SetString('Name','LINUX');
  Con.Value := {$IFDEF LINUX}1{$ELSE}0{$ENDIF};
  BuiltInConstants.Add(Con);
to Zc_Ops.pas and see how it goes 8)

I recompiled Player_linux.bin, then ZDesigner.exe using Delphi Starter but the linux executable doesn't catch a simple
if (LINUX) trace("linux");

I'm a bit disappointed...

User avatar
Ats
Posts: 408
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Add LINUX as a BuiltinConstants

Post by Ats » Fri Apr 09, 2021 10:24 am

I just tried adding

Code: Select all

  Con := TDefineConstant.Create(nil);
  Con.SetString('Name','UNIX');
  Con.Value := {$IFDEF UNIX}1{$ELSE}0{$ENDIF};
  BuiltInConstants.Add(Con);
But it's not working either...

Right now, only ANDROID works:

Code: Select all

if (UNIX) trace("hello unix");
if (LINUX) trace("hello linux");
if (ANDROID) trace("hello android");
Last edited by Ats on Sat Apr 10, 2021 11:04 am, edited 1 time in total.

User avatar
Kjell
Posts: 1755
Joined: Sat Feb 23, 2008 11:15 pm

Re: Add LINUX as a BuiltinConstants

Post by Kjell » Fri Apr 09, 2021 11:30 am

Hi Ats,

Why are you using trace to test this? Trace only works in the editor on Windows or for executables on Android. In all other circumstances it doesn't do anything. Here's the snippet from ZExpression.pas ..

Code: Select all

fcTrace :
      begin
        HasReturnValue := False;
        Env.StackPopToPointer(P1);
        {$ifndef minimal}
        ZLog.GetLog('Zc').Write(String(PAnsiChar(P1)),lleUserTrace);
        {$endif}
        {$ifdef android}
        AndroidLog(PAnsiChar(P1));
        {$endif}
      end;
K

User avatar
Ats
Posts: 408
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Add LINUX as a BuiltinConstants

Post by Ats » Fri Apr 09, 2021 12:31 pm

Thanks Kjell. I didn't see that. I'll find another way to test if LINUX or UNIX works on linux then.

Maybe I'll search for a way to trace on linux too :lol:

User avatar
Ats
Posts: 408
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Add LINUX as a BuiltinConstants

Post by Ats » Sat Apr 10, 2021 10:17 am

Neither LINUX nor UNIX are being catched on linux. I went with a simple bitmapfont for the test:

Code: Select all

myText.Text = "DETECT OS";
if (UNIX) myText.Text = "UNIX";
if (LINUX) myText.Text = "LINUX";
if (ANDROID) myText.Text = "ANDROID";

User avatar
Ats
Posts: 408
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Add LINUX as a BuiltinConstants

Post by Ats » Wed Apr 21, 2021 5:37 pm

So I tested again by compiling ZDesigner.exe AND Player_linux.bin (x86_64). Earlier I didn't see that Zzdc is using Zc_Ops.pas
But the result is the same, it doesn't change my text...
What am I missing?

Here's my ZGE project, just in case I am doing something wrong:

Code: Select all

<?xml version="1.0" encoding="iso-8859-1" ?>
<ZApplication Name="App" Caption="ZGameEditor application" FileVersion="2">
  <OnLoaded>
    <ZExpression>
      <Expression>
<![CDATA[myText.Text = "DETECT OS";
if (UNIX) myText.Text = "UNIX";
if (LINUX) myText.Text = "LINUX";
if (ANDROID) myText.Text = "ANDROID";
if (CPUX64) myText.Text = "CPUX64";]]>
      </Expression>
    </ZExpression>
  </OnLoaded>
  <OnRender>
    <UseMaterial Material="FontMaterial4"/>
    <RenderText Name="myText" Text="DETECT OS" Scale="0.52">
      <RenderCharExpression>
<![CDATA[//Modify current character before render.
//CharX,CharY : current coordinate
//CharI : current character index (read only)
//CharRotate : current character rotation in radians
//CharScale : current character scale

//CharY=sin(App.Time+CharI*0.5)*0.5;]]>
      </RenderCharExpression>
    </RenderText>
  </OnRender>
  <Content>
    <Group Name="Font4Group">
      <Children>
        <Bitmap Name="FontBitmap4" Width="512" Height="128">
          <Producers>
            <BitmapFromFile Transparency="1" DataWidth="512" DataHeight="128">
              <BitmapFile>
<![CDATA[789CED5D8195E32A0C743129C6CDA498349362D24CFEEE618F074960094876B39F793CBFBBB52D84908410982CCBC4C4C4C4C4C48175BDDEEF8FAF72BBDDBFCAF57A4BFF487F7C3C9EDFE5B9977FFF15CF7F9544E77259BFCAD73FBE4AFA7BBAE541A9463C60DC2D30C30C186DF9F7FAD70351412552A8051545E9082456B92DB2A5D5662699D7E90B222552CDFC0FA12F5A94FE1DE5AAA4A8CED72176D104CFBB45ABD909FA553749804D29248489090FBE2D77D743E1D96C652E2B6DA2A68700BFE9956AE407C60C01E42242E24A5508E75FF7BDA7D83CBF6A8B73D83DE521EA73A22EB7817E4514FAE1A8EB2B71E27C3D49DE0C6F3CEF8E1D0258874342989838857438F75B5B81C748AACBB7FCA607479D117F48FF2F1F682ED476BFC4B4A04E63EFD3561FDEA0B52D251ED2B4CE4F9F1D8E6708184E5F2B4083EBDBF8C995D04FE4AB45428743FEBFC78E4A25C4FFC484074760D9AD9F883F93A508D5753A5804D519F1DC3F2743186859C8543885A60DBC39FEFF6AC81125F6B5C20CAAB32834428D674C15FE5F415F8FEFA1F963C21660AB1A9DAFA711AAEDF52DC21FA79F30A2A81026262AE098ED4BC12BD7D307BEAE883F937FCEEEFABC2B32BD82B2783D59E2293FA16B322E67C603EE0E14DAD2E65FAF6C898211ADD03C609DA29926DCBBC9FF8BE86F7F54BD1392ADEE23E774065D2374CCDFC5187AC6AA6868FD6262A28E23E77FBB0E29883FE1138EE25EC44C81B4249E6B7E7A7814DBA98416F8B4DC42BE851B929CCC902292E4C818F752FED777BA75AFA3BF4DC7F2DE490919A760B19341C8C74F41372DE0FF9F23CD8A0515CA524E4C5490ECEE4BAFBFED4B5CC93987167F9381A4BF3341FF22669A44F0BB3A4B60AE8B9DAEB81D2D329B7C0BACAF25E26DEF722BBED9B698716EBBFA6E5199874D2C4EFA1091F5BC587FF1D3670A7EFADBDAAB5248FF323D5AC71585727449A39887FA9A3523F55449CDBE19B1763739D5D8C9FFC444056C205CA06C7098D15D28CB1EBF09CA6DC5DC3B6AEE8BF30F01705CBAAEA8811F25B83607CE4BEDF58CBC42C89C248FD217DD2DB5629764887FA683AD651EFAA999C633D634440359354121B446AF29F85F474FD515DBDC2677AAC64EFE27264A80817C29F5B72AEE5756B39E0D8DC9D805F1C6EB3E0719D87C0C55A2AE5882F79FFF177CFA79D8F6345A0CF0485A011C94E6E1D83319A19FB4026EC7D08DDDFD62F255A10F3F9FEE6EFED0473F89D756CEB3EF35D88B3285E81EDDC4AAA0E07F1D237549B1BF4BF0BB9889892180757041A4E1F43C7AF73B26C88994A0DF56100B8D95C0E6A9F2BAFC06AE1B185A9B4BB2BAFE4B2AA04477DDEB4E84A05243DAE8635548F720E2CF3AFD2443C400C7BBCFA79FFEF7F0AA55348F4F34E7592E45756E6881268D53FD140411591C3BAC2626C662F3DB97E55BABF76B6999CF0486003D875DF6F92F13EFB926236A585DAD60F3C0795DFE09FE262B7A37B436B7B9A9BC9908AA9D44742782874EFAC9FD7E47025647D4E983C8E6A5F7BB227D54A78F07D210C08FD5D79E8E444AFE96734AC5C024E5A0135FE2079315F57E5184333151C2E6BABF6C762F88559C14F03C13C1FE1358374A2DAB99A7B533827B199BF93C06ACBC16BFFBD5AC86D6E692A084E8A2E1A5268215D27EFAE81726C2F38B53FAE2F5AFFFB27CEAF4173A4AC2D48792F3D77D0A07DBF2F9D843EA7043AEE68894AC86B459DFC4440F109324C04642FE27793C26020381E58A5BFEDD447837BD8E87351B226BED5CA44EE16B466777624E018AB687462884EE2C9F06FFCFAD601EFAE9234BA395A4423F8BFFF718203D20F26375FA1B85BDFB444FF901D7DA9060D972A1397B6DB9FA23535A6808C6EEB9BC3BF106601B4C32D22D937CBD85167CB7142E11C104B972AB0E76D1783D5130D7FE30A64437A9A67F33FD508A000433F622FE5FBCDE105BE2549C83877D881C427F4BE0E744E0FF4FE96F6BB8FF9E49CBC1C20957E827A43142E8AABF5CE9243D67938FB509A578227A89268258F1EADC9A41CEC4C4406CAE3257BFB07F78E6C1F63FE70CFF2FE84783CF144C9A96C28FC169449D8369807E21942A75363079127EB121B64CE90E938721F42B4AE2A12F1CA95EE5F428E1BA5E317C37F6B26F50AECD22A9880742F2AC6B7503CF13136D38FCF31E2A37AC6D4157714506E030EDFD6E68EFDC423B18B32A68828C84B3E0A1F98AE56C0F7BDBF4812944CC36B91A517B344771381396CFEEFFFBE927C72B3A11FEFF94BEF8AC40FBF60A7DDDD2630808F6ACA7434572129A96CD259FEA8F4F2F7D001FAD9C733E87808997416AF823169F6F449ED228B07F66336DEB9613D8C8C144787D731B1D5443DA0A824C277B2B1DD4CFC5F97A164612037EF92C38A0CCE26108FDC3DF2A25F1D0C79A2627DF9CF419EC9CDB7AB69EFFC9F28121E22A26F1C0546C93E7B91C3CF12224D54584F6D8E373BF8B3E224FA223CFFF21FAA19D8D09C92A99088C82E328F140DB356A6E306141C7F97A8987907CD26C45931A453F396DB3135F4D1F58E96BB2E6FEAD8CECEC8DDB8837B4FD580838D3C9F95DC0C42BC0C94CAC67855CF44ABF17C344E0FFAFFB17A0E2961F307C8E24EFF47D13DFE212FDA03EE4BA13127D5DB5F3752DBA061EB47CC0C38BE823427835FD8435FF94B8B994327B88223AE943C3A36DAF370D29AF905427264E01FF9FBC62DAF91972D1B07A50482690E6F8D06DA61F5A7F84C716D7640E89557D17AD080D01D18169D95D07D77E8F446BA976E63C9A4658689065E11CFEBF9B3EE6172CDEC3FFBF92FE922FEE6B4D909DF8CC32275A67CC95FDA41EA69A55E8979E8F3A6AB175ADA4ED0D1B332626EAE0353B94AB7B8B385B8DA000FFCF6B760D6ACCB6CC446EFBFE4341FF46DB3B9BC5E247F254828180FFA72D3137EC6C89FB7FB38CA20FF78872ECEF7A31FD852264B38D7208C89DBF2E5A374C156AA68F5A421260E75FA1F936AD9EF89F808319ECE546A92BDBBAFF982FBF0B0A378ACFC5DD987BFCC7A1A6CFF38B52ED6F007C97E0C1F93AF65CE1DDE451433C88EE63210FA1BFEE87FC30FDC3FFBF923E07FF662FDFAC6F15E1CFCD7779860BFAA68239E99BEC8524B0E4F36893E02D3E379F98A803B96B76FB224922766CA6748AD07FFD2EEC6B3B1F2CBF7BCA184FBA057DB60293070E805F8DEBFE859A28CED731BAA134C4CF660F261E86D03F0EA97B3B7D53CD20704F7C62F60EEF4FD07743F4C590C14442425896E3CB5FD3AC4036BA836E62A2024E30B2C9DCCCE4679EFFD46F21919B88C3B471379B539773B66C0B4C9F0F175DF2D3E7CC5AEA93771E50F4EF082C64922556D963B0DFF02C3D2CF4E92B2834E4CF3511F03F843EBE2F66F1BE873E84CC4DF387C1ECFC8516ADB43F4DD41EA25FA1B0E4E35749CDB4623CF62F20CCEBF4FF13630113D3051B63B4F72B3DCF5B20A0E728994F2EE7544BF485FF17ABBDBAAEBAF7D6B6C956B988FDED05564DD1796C1CF4B50043DD078FA1DDE310FA9A32A657EFA72F14E014579A906AF9684D8BD2E769B2A0B3E4C15549CDB462E083B24A09497862A202A8229FDCDE70C55652A6DC4C4D5FB5F2C36A06D692D67339FE1C48395D938D9BF485003D480393AE6814FD95626610817F7E29FD077D4E021D88EE4F8693673A3CBE9BDDE4A7AF99BCD0F78FFA56FFB52DBF34315182887F1A0A02634116C34A6731D3AAEB3E431952050AE2CFF48FB1C42FFBC12F26FD860D84899AAE65147D8E0D402475F4ABE9EBCE6D887EE184852E2D7B7EAF93BEA9812B9D7F355C7FC0FFC4C428882160F997BDF15C11846B9D8469FBA9E92BCFA035DB982F77D6225A04FFDFCFBFBE22FED7F41B56AE11FF8308F20F43E8A71C05134192E7D5F475D31A425FACB680CE15FBA3F6441CDF0AFB7F4BFEF0FFE2D6906BDB16A389893A300438030C4E5D9ACFC3D0DAC099F68A55726EBFB92E5DEFB28F5F436832C0AAA6DF60DABAE1F03F43E86B973E96FF0A7DBD9BB4A147B47C502306E22EFA8A49E4971A764379F0B6ED6D13FF37F01060AF4C596BA0256AA0505F87D58B5F582076E693F1967F7B4F65E90DF127EFB870BD585E6236F7FF94E887BAACD4EA51F44B227A03FD52B786E89BBB176EF47D5C2FFD82E22D7964324A331F4D87F84D4C3871A11DFEA72EAE3E59BE39F661DA55EC8F4557E2FCDB7BEA26F6D8CF1765233D7FBDCC807EAB423FD45FA54A47D12F75D01BE8EB48A0313F66A9EE52F6CF31FA168799FF0F6E3C3B75FE0D8BEC131313131313131309D17C8E89520CBF98A19D632EDC9C49C89A16AC48075D4B7E267C6D42546E571BF397FD4CB91EE92DFC83B34D9BDB9BB1CDC5DCD1AFD917E05FE74942CC40AB05B5255FC072E6F142FA53938FBB8A0A9D21F229A52BEBFCF7674417F5DB707832C47FC5FF34748D86D9E91521AFFBC7471ECD3925A5356DE08AA4D9350DFEDFEC82A59CDA0D5956DB7A5CBF092FF4FD9A7F625E7235FDF26C183A6FF4791A3F10E2270A7F4EACDE0BE05FE74942FCDCF6A3D544A50B7D1D368A672652E2C7133688F6969A3C443E260FA7FEAD3F23BA88EFEB23EB7D420866BD8B75782C4CDB0FB3EB4B4E69A52CB45F734AD236DF1AB8F4B329E1FD86D2E06F134B4C04F24FADCB6E450A779C47AB57F1C1726BBD081292E49BE944BDEE65DFDADD2937E49F359D8AEAF66315CB46ADFCC3090CE15F3383203949BB5D4F4A45ED08827C0EFD7C9CEBE7691434443EDA584AEA0A66D2033D7601FF2FBAE6DEF4FB7452D9F2F9BB79CB0FEDDF4ADD2146318F9DC2584C812751EB5742FC57B031DCA73F8611ED4236868678612955D8C802804EFBDDE3B7E4C03BA92184AB0B9687F821125BF0FB9B0ED5ED07DC547F8F23481BC2FFA615AA4716CBBEC6142BFEC7BA6D746414393141B35F3E3A083427AD1CCDF65BC4857F1FD652DD50FF6AFF7FDF7F1FD0F0FFC1F369F5206B06E1C79CAE49DBCD81494B1B53E321D846ABDBB788D2B561FE985C161381FCC13FDF6DBC96BF325878A3E988BAC4FE96F4F79EC2565C9221747588ACE0FF854CC6CE1F850E083568BFEEB6B0394CBADBC0BFA9E457DA1F3546E6B9FE3FAC2F0EBE55B495AC1902F5CB67C54A0DD585FC98A8A8877F933E5C2B37B3797C0711080AF3F78381C2D4AC02ED58F4207524697B74467D2D92A4A1DD6088FF0AB6A90A79AA86F5A36DBD833D1EED6F4CFC0F298FC28E50A4C54656F43CF6B78F225BCAF55DF6735D465504F9EBFE1D3B7F6405182828C87F08FF891A1341903C58EC247F36E461FAA9D2D7FDF2B9EE3F76CF44841358F7338E46C907F4E1DF74D7C4FA37E71FF18FEEDF86F81F832C0BF99E9F7266F0D0A0F64F3904206610AAE559A54248E969DAEDBAA66B740B019E67222C7F79EB76B24BFF4823D02BB8A6860BF62ACFF72CE1817222958AEC82F242DEA12DF9BB7AF84E5C99FC47D71CF983A665378D8CE6D0F96382D9CBDC5ECD9E56804C439E87FF4F6685BB0DFC276A42AA493F9D5265DEFC5A0406588BFCB650791EFADF2F9FDBFE7926D7C24980DBFE9B9E263FCD8BBFBCFE22C4DBB27EFD944ACEFE470B30445FCB87FB77DDCF190EF99F92BD27A141029873650ED0B74BCDB3F2B8BDB53BA806FF8F8A9808E4BF7D4A76CDEE9E2A066B947C97361781812DBECA9F841E360F01CB1E9F68CAD2A7952B2ABD0BFE4B4FB68D59FCC1D482DFF7540C84F4FF5401A0CF5CA23E41F7F228FEE11F4AFA793AA48A779D9D02F9E8067AAC2011AFEB7FBF7CB024C14478AD0A1A2E38C13698D350A4D4C685221FAE3AECFF0B7D64D217D6E7A2FF3084FCD8D797D170A37F9FE7CE595AFD753B4873A5F571FD8CB3B05A9A52DDB85A2FDF06BB5FA17EA79281AEF2EB2CFFD44C41DF9382638D325F4FEC1DA6973FC3DAD8A051828D443395DBF5FC88CB9576F6261366F63884BBEC677909FE85CE34F30FD360CA51FDAFB7D45400E119EAFCC3488F2EE6F1EBF964CACDF62BF4D3E9243176B06AF9132C25F9C03D9624235C847E77A5DF5FEE914F1285503F2461AED79B56A1D4BF9E9DF04EF908E713DD2FADFB88F94F23AFB0AC4EFAD0CF15BF8468F9A84ABE3A8B190AB6BFE0F79584730B5ED9120527703E5C563AFCA7D4B962381314447E55DCF5A7E0104EF0EBDB84F479ECCF94B5EF467AF7ED1AAD33903A57133F7D974DB82401288F7EE05EDE15E607FC4356F538FF6FF63EDC82D33960044781134B46D4C97FA226E807FCBF7AD7EFFF2BBDEF31017611C7EB4F39BF6B96CF6D5F95D61A7EC5F759B9FE24EB5E1DB9650FB47FD04BCFA7D07D849049FBB7E6FCA169BFC94F1AFD6BA5A975DBE1990505F6FFB269AD454C4B13B664FB97CD5E96ECBA33E69ABC5BAFAFFBEFFF26FDE707422ABA4952BDFEA0FDF925E6FBF51313902FB2A9B0759C023E504A20FF3E4EF05F891CA2D8D289427ABEB9B907A6FE443F44DD9C0951807F86FE1FC2695DBF6322FE20196307BFEB7720D04F2EA1CE35257CF8FF56F9F0972642FDA00C267D78D77EE55C2CFB6D1856B6693EB762676F0B62E95668FA9660B8A0FCFB622D4067FF62FA20281CF27F1AF26FBEEA9072EBCA5C3F514E137AA517217F937E688ABACD762DAE16E47F54ED98807462CBC5E5F443C48FFC1B7B805D7F4C31EA6D003DFC27D390C41D6B731E6CE92925FF5014C7DF548AFCB9967FF3FE3DED813DEFEA0E7A440E28A864C89D148E99B865410DF211AB1525AB5FE9F76BF82EF4C4C97F1D86FDC64716C388F2EF0B84F1B6F87F6D44B43EA8A5E7D7103CAF85BC58DECFBFDA627A66A17B5B807A09C9E3042C7FE818DF0DC9071248EF8AC48EE61F2A34243E41D733FD5084CC86060A08D210BA30FD53E72CD61CEBFC274DF0727B594201185C135388CA9F33C92257094D0671CFE0A5BF976726D7C824026347F6AEDB7BEB4645D37A1C2282075890219FB4D9D521196DF8681D1AA8E97B1674FC106C20780B11D17D84F043F3DF30780923651DD05D1395CF8ADF4CB798C4FC5DDCB28700CB28A46FD91F46ED6926788C20DDE5BAFF96DF42E793F0DDD8EA1B8D6E4857DED5E60A107F3C9F4332931B0369FE95F31F1D5C9210322989F93BEEA67F07B72D55AABEEF1FCD35F49D07F7FD5C1DA6D0B3605DA7BFFD23289F2DC52A88B8FDBFC9C090D639A185001330E4F370C947AB04BF5BA93AB4FC710A6DBF0DFE59F7113C409203DF6A185F8411254195E4EF4F0E03C209B005556E559062063C2CCCF391EF9FB95CD647C11B3417FEBEE37BB936BFEB4CC11DA39BF2FF78460C2EA83DBA845482D9BA35B845410B81E7EF3D723E9DCC26FD0CD10CB56EEB23C5D5A8FC80A93F038A3BFE4F12D61486B4CE092D6458C12BE4C3559BAA1B5D3FAD40DB6F437E46F7112234991E79B6EC064CA3AD2904DD350DCA0F8534F917F4FDFC639657F2F00BCEC7E019C4882B983CFC0FDDF57431E27CE64D0F1C5BD7E70C44FD73051BD99C7E747CD14238D637738F14BD9E8EA49BFD46C8860C64D3CF9C42430854E1FF88F9C75E7D31FCE6A0F8DDE7BBE37F2D6458D070F988AA0DFAF1F3992BD0F6AB555AE7D0B413107D84205FB7B12139A08DE89EEFCF64FA0D935FED0178FD42D00F39379E0E8B4E7CF0F9788FE38FBC79A3B27A95392EE8E75E20FFEC95BD7886C84331A8E8D8E3E89ABCF661F99F9C324414A2AF85C0EB9BDC23D1729A49DBEC57BCF834BAEFDEF4B94189AB512982C3B48716FF0E846DFAAC280C699D13BA7658D070F9DCADFD81AF6BBEB65FADD2DA178907741F65F9F3DCBE1A9203DA1741C3B5641A9C4F85C92D74ECE01FD233F51FA24B7FF9BA5EF6B368FC9F9A62091B740EF9E32854AAC2938243F24ABC2B8600CC1144ED03FDBFA61FED622D04A13FBA0AE7F574320EFBE5171F8F9AF30F4D60450080EB40FFAF75A0FFEA4F62C076048521AD73420B1916345C3EA2EF34FDB1D31F6DBFBA6B922FAA3CA0FB08F3234CB7D9781BFCBF30A21BEFCFE9A6AFFB57E4CF997E34F8840FD77246D320D5A45A51E779A79FF1BDEF6B25C2BF355481152BF13A2B80796B60FED9A41F5A425AF35F2516F2115ACDF2F14CBEEE67712CEC97CB635C0807364C29F5D3D70AC0CD2F8D5FE6423013F1EF4048144AEAF71E6821C382B47C6A6A93CBCAEC358831556DC87F4F1D0F81C98350CED4959507304088562C96FF89FA37537FC4FC42D08F9E9F536132F54527FFDAC943FF319FC215B6E3A78FA41CD311E32FDFF5CB673B5988DE8536627DE1B1CF19F9DAB08A64828D05D77084AC84000AA247209FE8393F2524224C7CAC0743C25F34E174607202B60FE20F6BEE79EAFCB59E3BD5436BE07DE806180F920A9916A4E553511B212BF87653BD4BF487FB7F611AE85F3C23F8143A8FBED64AB8E43F6D89D635F87F6144C7FE9CDDFF0BF9FBAB40EF082FC7F93D413F14DC6AF7C5FA0FD78DB23A761532AEFB962741E74EEB9BE2963F85953A57BC8EBA161CCDA45A81B6F80565C224EB1F5CB6651725017422778716513FFFA600D13BFD28C9FFB1E7423BE9C3B499F3E8C8A2F533D483A6009B5AD3080CB2DA82B47C3C6A031B876713CA090FA6E98FCDFF98FA238698C467A65A6A74D0EA7DA7FD39A2EB4393F7244F53448BD535371A5B3DF44D0FC0EB3BA2F628FF62DC17FA7FA36191CDC459CB4A5BAC9902E49FBA926F5DF7C3439CFCAFFB5E566DC50B8E66CA1F601E3A5D9049D9E90156DA58C514583DB83BF8CA1FE9F4F08FCDDE25017682D3A17C4596A69FFF75FF864BA8961F42ED436B1CA6068ECA2E3A0127A92D48CB271A5C41439CF407260FD1346120629395702F3C3AC09A0487ECFF4DE7E694CF4A9F4B301DFEBE409B004A5DF9C1B6D62EF867CCE6C4334EFE314DD6F439FFC03C8B6963A909C2F38B82202D75AEB8EB716BEC2A35F1A4E70B05D8260F7AB61885D9BADB59FCCC29D3C743F2C6167AB9AC426784943C8A54071FADA04B33D904E889A6CC29FA66FE59084EE16B705A8395CAF3AEA981EFF7FF42C2B0202D9F68F256536015D577C72E7F97EC97739BA2EF10FF73A45A79573CE3897CC4FC481B264FB21A5C2842FA927BB9EDB98B75FF3E37CA3F2F1456DC2F1CD4BA1F597CA519C75D2D389A4957F12EBA60F9A7BAFA19ED9F357D3193C2BB3A7DCD4EC664A36DB9F04AF32F41F9E0BCBA9112BDCFEFA22EF0CF1E495FB53A658DAAB608CA50225E6A78B1BABC52A81034D6947F2845CFF50A4B64CDACEBBF40A923A0FF1525D1BD13E27F08E06144134CF944E78C9AC295E25B7DB761FE5507C45E521EE1677407C9B768E2A97B1039F0BB5A4AD38A6A9ABFB0DF9227B4FD67C1C5690E57CABF09FD37FC4FCE3FB74EF72C0F5EF09C66399552E94531468BBB988F57E8DF691B8CA07C57BBBF1EFBA638FB9526E7CFF32F2D16C41815E76FBE0BCB154DA89436E76F0E31A5121802A8D2441CF9E18A163538FF07FDFE9A1060D4FF6BF580099C6A38072151898598AC000E818570A5F5C15305AB0022D56D34E9DF472F7FAFEBF1A366A6FF11CDAFBB08917534F9AF479E75E70682DC849292ACBCEB5ED5527A9EA70C9C0766FE33B296D296E88BF42018C3B6FFFE2B682E7B7E6014718C685A8520D2217521C81C4570A5799C36013C30B02EEEE5751F4490EFEDA42F923068DAA856207EB8D26A0827B2421E06EE858573A1EF6B068A9D4D20C46405E83B963FFC7FBF7CE0EE041D937EC3FCEB14EC12FBFD038FBCD0C92157D3F92F344BEA547E3873A63C90FF751FD60FC93F0FFF3FAA60605AF6F86A0CD97C55480003DF90BAE0DF068A05C1A4C93F6B4E7F4974B47C46F5857602977D963AA4091C3F883EADC8B084C7FEE1BF96CF409D31F91F02530837DABFD7291FAD18184486D0F700B16BB3CCCD69D72885BCD0262893FF350FB05B7486C266268B61A5B398839718342FFBA27FF31559AF95F2AB9D64397B7629AF6DDDF2A5ED9E4A91DFB8FCF31543A89D4E9CD77C6ADF53A31EE8973CD7D149DF4CC25CF218A3873EE70F936BC2AD86F81366053A60F2B66FE7E864586AECE8F85F0801BA34443EACEDCB3E940FA4EF0427094DA90A4E70E5CC9BA0C973E17E13BEEDDB4E4CAC2AC7E2BC5672861569F8AF2C58CDB6C8BA9FF552119C0245433A13A16221A322FC049EA3690718AA17EB8F3D74383BE7A103D3130996284A49E0353F06A4877E3D91D52BB79D3DAD930DF9671D56413E0DD912578DA3F3FF5A0877DADF2E6E35F87FC12D9CFC10FA7E9416B016DA692698E1BCB7260857DC8694EFF2DB2F8600A75EF1C865D26F58ED6288E58C12CFECFF4F97452AAB78BA2DF5E5759388B99416EA443F59D14CF1DFA5FAFB4DA5CD3FE69A69C8197AD65EEBDD54573F1E02E4FA94BBB32AF4F99953998B752B7E7811FB73D4D2B3138FA7DDA285F2C35155D1D4F45B21262BB817367B0C934F61257114FD10B49A41B06BBEADD1135CB575AB36BA28FF35E5B7D4BEC43F47D415252CB1EDEFAFD55C198FFBEDD2FA42F310D01C4606ECDA1C0B68FF897F4B8C7EA68DFF0B9651CA034D5DA3EAE187980834F478BD5D4E99EB8AC45CBEA4F621610A5B60F988397B33DBE65B21263DFCB3723EE8F78306C8C752B051F41BC06A268219218ABA1E3674ABB8D5363D5C2BDBF6D42EA00A1D50A828613D28ED99864F4C4C4C4CFC5534CC73FDF1528DFE4EBC1E48EB1AB9D285BECF0A4CE1F35ADE303E724C2ED29B9ED904BF556CDAC3B5E0F86AFA6D30BBEF74FE52D24641E70DFD0B860533AFAE77E2D7E25354A2619EEB77B64B7E7EE69021404C091BB8326B79A9906FF9D9832BED1070B277EEA269D43679F08FEC6DF47B505A4B321FBED0E7F0A6F33787929E45C053E89E3DCD8F4DFC6D7C8A4A24EB78DC4797E7E1FFBF1DC868FAC8DF2647D14387BDDF8B84AC8580602031304CE685F46C36BEBC807E2792F075BFE827D7FC6BE2539E872C249D4277E25A5D1F9FF8F3D8B4EE7645F99D2AA14D6F4CD9E3FF2DC21F4D1FFE6188FFBC16B69C8DC2E67E73FFB0D2FEF38192C16A116A3FE659AFA1DF0F1D84DCD4F6576C936EE8719ECBBCA28B135742A37EA1B14FBC0D9BA25E5794DFA912C9117DDBF56DE455EE4F184DFF9E7FFF328426F24BC385BC79E0BC2ECE5F8D158E089EB7B8FD65F4FB910641D1BFC2FF2361D5A333F7A1DB3201CD58257FA5F129B9E2093F924A5CD7CB51FA76F2BF0849DF789E32A6E0FCE7E7E6FA86D3BFD3F72FA3C8BE284D9766435C11AF5F7CE734860A87F737226FFF22FA43A027CBC25163B76A27E7FE1D71BCD8E4DD3AA844E46FFE47E48A27FC482AB15E169437AC3336C0B966FA357FF9D6EA7F57FF92EB82DFFFA2D7718571AD6A63B973F576297F1AE359B62E71357C9A060F8C5A100C98EBDAFE656BB3093CBE60FC15CF8CA23F04DB3666AA02F3C70507803C6C2D12C133FE5BEADFD4D87A164868CB49A7EC72CB2A8A7CBEFD29B9E2093F588113422AF136383D0F27B2FC7B8116DA709851D80BDE6ADBC0B3589FC644F72C69968667EA3086B20C6F74BE68F3CE25383A51B09C6D0A7F20FD21D8AA23FABCDD148C49360A3B97EAFD8B969A9C3091AF622AADA78496483E25573CE1C7664ACFECB3B25F18FF9F02BEEBBA5EB66B702203979211C1D5B1D97B2CC4193B294DC75C5DAD0F997B9024C0B58C0A060E8F97370109842479297677F6E694FE106826E1A257FC3E54CE008FF262E1FE42C7149BFD9B086AFE7940311435720D2D347C4AAE78C20F9D91F89DF99F53C077A1340C6418013325DFCBF07CB2077CEC5E89A55175E95A066EA1D942DF9CFF35FFBEACA77575FA43A0750CFE3F5990A81D36551F8356FAA51E83423E0538E68C968A468B9EFED79BFF11B9E289FF21E0BBBED4325DDB7CD79D7F2293A8A5EB36557FBBCE23F521F8193B59831366FAA336A2A4DC911029BE2FDBD238F9DD50EBEAF43D70A6D0B90ADE3F0C077EDC7D06967175FF82263F96B8126AD07CD5E34B05DBAAF46567E6F24B73C5134E5432BA3FCD5A18B00B9447EB174088F3991ACA2B36969FE2B2FFB880C9CCA85AB6EF8F72190EF1FFC7BA46CEBFF8BEACB975A7F49D443C4380291FA44FB3BBE504BE8626AE3782C20397D4D25CF0152B4D5D1CFE895CF144427D47C74F7317037C5742A7EF3A766B5CE4ADB14340744D99F9E1310E2C9D6E95A96D34DA9D30D37FD0EF1B5EF7A3B3EB3B4C4AD509617EBBA0FCFB32D1BA81F43DD8CC41F578F1799A1FADF4C16FA2D0ECFF973DB4BEE59F03A3F9424AE71B3E85ACACFEF573F80772C5130925AB39B5BB5FB8E9171ABE2DC35D6F9D87C0F06E8D430EB940FA6363FF26D52DBD40CC7CFF7BE7013EB9D9F9A34629C3DDFF9F0F0175E78C1FB847204D3F020E06F881AFFFFAE9EB6EC25D675F5CF69F9F33BADB2A893D8401E00A3244078955E07AE71E3B8228BB72AC2FE70AC0D44E5B8A87B5FE4CFC0F01FD3115BB6277EF5F063D4532016DA43D34E1276D0F306208607FDB58E8FCD22E3AA536EEFE5F3BF0CEC25BAA5E4DDF830B7EDBDA5DD8455FE8A757598032FDE238BC0E74B07861D6EEFC8D03408FC203D777263E0E50C2A8CE4723AB37600B6C3060916FEC01964832CAA2968E51E6701725FAF5EB5EFB318EB4D1A95CE9F725C752E628E2D5F43DD87808562112205B8776732EC822D8C0636BFC04866D802322A134E691149DE73FFC159CA86B594B4381C71BB04D64602683F2330B7D7AA689F70F012932B4297BCA3EC61DC3DFD0C2F9ED0BFFD4D708CAECE55E4DDF035E04B157379EB216BD013E7BB183F9BB75AC103F0327EC6FE011C9EC25B48187E72FF3FC87BF01A9EA91B2BEEC20B206C045A7B6E03A907872B0823E0BA481322FDAB65D1F8F233FD343C7BCC211257B7F05E58457D3F7801741EC2180C6C474E5FC12BED410BD534AF8F012067B7EE61FEE5D2B095CB1BF81186441243444DEE6F90F7F1142E5841256AC0CB9919F6EC137D2488456B479800AE01C74153C0A44C96EC27C4A0F732F2CA1EA7A531BF5DDC36B9D91150BC14C04F1617ACC6C7B7253A17321F4D0FC6AFAFD6019A2B0033439AFF32CFAC2A400E2783795861CAC56123D7FA9E03ECF7FF8A3806E979C43C5307F49FC9FF8145B5342D37FD1643DAE898D19E2DA96083AA60F3E2F2DEA858B80FF3CF88990156E8AE9DCE8FC37DD6A0C4C2117ADE5F06AFAFDD0C322D85BF8CBACBC159E24395AC76D67820BFD3EA9D93B4EA44E670A2107BE0D19F3FC873F8ABA73109A032DFD25FE3F710BFF8CE27C5D84D9A5DC269BA12EFDCBC126301EE91A31C6E907EEF1AD1DB77D7B270A0C1CAE43DC1DB50DE0D5F4FB6176BAF87E4D488F1FA8C3D45E505BACAEC1C0E7970F8F9B37DA8CEA7CFD31CF7FF8BF42045D6DFA3310A568166682AB93209A86174B4D83DDE9BA6EB4923BB0B11892CC1AE1FFB17C89183E9A03119E47ECCF8402F0DD51E6FF6AFA9DD06E39B18779A2F9C08DE62F15E21C5F899E45FF9AF2C1ACC7390468FD09C56F5AB16FF3FC87FF0DD824B57F78272A090DB014E58DE9D42920B4C6F29F28A38680CBFE03E29CF410E5B67FF5A39F69B0CD3B9DA5CC225DA8F74515A322C057D3EF8129F9241C2409313BD6CF889E62C0E79BDA8B14131ED6CFF0AAC7A927D74A1ECADFF20E404E85456439F19110537261A46F66060E76DD3F2035AFD748EA80A733C2CA2A39E752ED62F16E719E2D5318D7EA6D047DF16483E7E4354D5C457E43DC4543B2B638561C3899FF06FA52D4F16571F3CA0AC68BAAFC00F7B8E86EAE575464AA10BE50E627452B0CBD7A660FF0BBA1FD1B5A6EBF61749EF0A0621D458FF49003BD36819F5200E836E6CEA5E22428561BD9184B52AAD72BEC37B47D853D92B375ECB8D8ED44A58A351D684BAAC5940F37563B9CBA6B6569BC87BE73B4D5CEDF2C3CF82680CFBA3E8007FCC57C3EF1269C73852B5E9E300D198D152FFE92FD7B132F45C53A8ABE886CA464053F980004936891797552BBD376A651571E1C61B943AE7ADA9EFA911FD30EEA5CA4F9671DBC0FEA15F2C18AC642FEF975F46FFB2FB0744A1E0BB5AB95CFD1326CB856F239ECB7875CCD5A26FE18B47FE8BF22A2F8A94661088061EAE225F5CFE22A741A0A67478503E929A0C3FCDFF6DD26ECA3C2FEFF2985803114E1E8D8C243E42BBA00F4B57C3ABBD59C5B5D2EC7EF3636D3AFEF62C5C83EA42DA11CE9C4E762A0FE1F8AEA5B757A2978CBE5E59FA7C2F51259DB5AF773B1349DB6ABC8FF20D0EA21CB9338C17F9A88F1C30DA9392D01D405E73C4A3E9052E6FF77CF399C3E46C31E829C4529C9F0929F1618AA42BF6882A7ED9DF26998244E7C22B47FE8BCBEF45B9B104A9C44E7B6A35AC4E95666A6C7D0C442A1F980704A0D7B33F4C70BA8EE457D2DD8E6ACE358FA9D8E0E7DEA0C7890C3714E9039FBEAA4CF695B571B2C344C12273E11031335BC463084603F2ACB79313AC18D25F5955CA68C87EBEB2CA76B9425CE4B0BF70D62346518DD36E397926052EF571942FFBA6FD7F4BEA88E7A8B8E4A9820971A62D65E09FB3532B60B3A53D7B7B981E77F823B1F08D36FBFBFC9F927884D0ECD8ACDEB1AA71B4B4ADE43877057DACD6E6ECFB0ED94BC503D2C2C1978A8EDA60C0DFF1FDC7E53DFEC643AD5E1F479D9D4F5BAF2FC6D79CE9576E608E72F6A6FA65FD299E210A0F6F535D43BF159A8070951FB9A6B461313131313BF0788A944A4F7D37C4DFCDFB1EEFBFF3107141157949A88CD38429B0AEFC40709EA433DDB4A5FBED43FB1693304811B7D47C9C447356762220A5E088609687388D21413F3ABFAC478AA7D1D9FE5193ED1B3999A5F72FE50E09E466D26307F9F62E277402EEEDC6FBA34C7FF263591EA7F51BB3E1A9FE23F191FE7D93C9ACF65C804F63E7F9F62E2D7E0588DAD6A3EBEB0F323B9AF139B7AFEC64D1A3F0BDE03F0599EE1B33C9B53F3CDE8A561A31D709FBF4F31F13B706CB4B87FDB6DE59AC2D110F1F4CA29E5DFF385CE8F43E7CF3FEBC3E70FF26C7ECD2FEAEDA3516F1FF3F729267E018ECC274DD84BA561212F79300FF1B91690C0F9F3146A7E96FFFF14CF16D2FC9ADE36852E9BB65F76662EF3F729267E00691AFB3549FFD264792DEC8508D12FEDCD366B6CF80CE4EFE1E3F2E7023A25F20B3DDBBA9F7F6BEA7C49F3BFBF6437F5F6190E5DB64587E7FCBC65E2C7C0DE984BFDBBE65015F5AF3245BDD30A964FCB9F6BFC7ECFB6D24F75080D843337351FCBF1C65BFBD1D34E1EE6E7ED133F8B753F96E7BA5EBE9DCC7E65B57C45DA417C052C6AEFDF59F7E9F8A0FCB989DFEFD94A9A8FABA9F9F25BE3FCAD5F38CC4D4C5490BC4AE667BE9CFFEE995FED81D77486EDBFEA040FB7FFF7396F9F923FFF5C989AAF95D09439CF67C52B21FF7FDF7F7D9509FEB62CD9C41FC6A67E97E54B7571BDEFBF6BF30606707A95E0E1B3D21DC3F111F9F38F86D6FC34E1127A581902B659AAEF7913F7FCD757918F1ADAD0898922B67D261467225BFB361E5023B3F159E98EE1E8CF9F1B6733E647A871E489F8D379E4E0EB1AFE3694349FFFC27FD7144CBD0DCD5BF12DFC9605DD7F1A7B684327268A400C938000E69DB9770EA5041B6FE3E1B7A13F7F5E3943551FE8C49B5B3CE7CDBEAEE16F4345F3F147DC3287009EBAE2C9D0BC35D5A84F2AEE68D6C4440008051181A4FF46BFF0EA41FAB849B33127C23D483D2B7D4B7FF92BC77494341F031FB7BA14996F4B574424B43B2E55AA853CBAAD131336B6A02E57F5F727DE53A5CCC64C8476E2882D1FCF91D7BFE2A02A9ABF7D76678E7DF91020C492B64C84FCFF36B2309D19FF4F04D19CAE491358B6F11FF9CE748BB8C810FE4C9EF9A7B005B7D64FC2F5963FE1FFEB9ABF9D585218010F224F7937743AD6A1F67919DFDA89BF8B9E9321B5EEFDC839935BC4350D611C526C9986D1B1D7BFD12FA79ABF0D018541702342F3825442A76341ED8590C7B776E22FA2FF6460EC30C1B5E178CF7E6C07840A3FF327E2CC9F82F858B5B2985BDA208405E23FB9FFC7A3F9EBFE73307A044C4260A1A56BE874ACF4301F3731D39E131E8C3A199893EDF7FD30F337FF54136A6436FE4C9EF9A710DACF5371FEE65B3FDDB801706A3E8600B3B0D04024E4FFBF4A92EA7118C5FF78DBDBC429C69E0C0C2B8012C26F8C65BB82E3582D3284E9FF275E0ABFE62393C6FAC90328FF25744C5FB25F6CC74519DDD689BF83B12703A7C04FA85FDB219F6D405C2A7898F99F899722A4F93C03E2C21F53F0A4C9C903C21EEC3EFD9F1F7B32718ADBD09381318165F5E329C658E605905B384E53D977FEFF9975C689DF89A8E6C3BDD7AFA1EFD639BDC665745B27FE0EEE434F06466E536820277B5F74FEA7B9CE88B9F68BEA9D9800A29A6FEAAA7E37BAFF5F1FC1F182B64EFC11DC479F0CCC4E985591E370BD3FA48167939459EFFCF877E20D08687EAEB4E2795CB18EE06480334E5C5EDAEA898FC663F4C9C06905CAD4C3954FE927E71FCDCCF08B4CCDAC3119E0FBF7A04EFC0F71AEF956F0837D3EE2F9E8A415F385B4EF08D7D7B577E2D3A113E3FDD132E69ED82B58B936ACCC26F339A58CBDAC33049A780F429A5FB99AA7439C22CD1752D55C5ED4D8893F00FEDE1CD148E79E31EC0F871FAE94869D99E99553CACC434F732626FCF06B7ED122D4B9104E20959A147EC6FF13A7D0D9C8217B86B5FB2D5D9BE3FF0ACDE9FC277E10620858AA8ACA57CE6A36D4AB4F7B98F9FF899F023BE1CA63CDF97FF39648A24EE73FF123E0E527CF6EBA211BE4CC6FAEA7FF9FF8418875D8D22130219A95236578F5ED452D9A98F0406BFEE91119A1DD3E1AA5D39606366A62228A3411A81F021322583F526686FD13BF07D07C63D3723E04D43DFF7FE3CA631F]]>
              </BitmapFile>
            </BitmapFromFile>
          </Producers>
        </Bitmap>
        <Font Name="Font4" Bitmap="FontBitmap4" FirstChar="33" CharPixelWidth="31" CharPixelHeight="31" BorderPixels="1"/>
        <Material Name="FontMaterial4" Blend="1" Font="Font4"/>
      </Children>
    </Group> <!-- Font4Group -->

  </Content>
</ZApplication>

User avatar
VilleK
Site Admin
Posts: 2151
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Add LINUX as a BuiltinConstants

Post by VilleK » Thu Apr 22, 2021 8:02 am

For Linux x64 version, both LINUX and CPUX64 will be defined. So in your code that means the last "if" statement will execute. Try writing "if .. else if" instead.

User avatar
Ats
Posts: 408
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Add LINUX as a BuiltinConstants

Post by Ats » Thu Apr 22, 2021 8:12 am

Then my example should display CPUX64, not DETECT OS, right?

The simple line "if (LINUX) myText.Text = "LINUX";" is not working on linux.

User avatar
VilleK
Site Admin
Posts: 2151
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Add LINUX as a BuiltinConstants

Post by VilleK » Thu Apr 22, 2021 10:02 am

Indeed, I had forgotten the details how this works. I've now added the linux constant. Please check if it works now.

User avatar
Ats
Posts: 408
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Add LINUX as a BuiltinConstants

Post by Ats » Thu Apr 22, 2021 10:33 am

Oh, I missed quite a few lines to change...

It works perfectly. Thanks.
Now we can compile the same project for Windows, Android and Linux without having to manually set the external library path for each builds :D

Post Reply