Welcome, Guest
You have to register before you can post on our site.

Username/Email:
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 483
» Latest member: aplus
» Forum threads: 2,799
» Forum posts: 26,380

Full Statistics

Latest Threads
Raspberry OS
Forum: Help Me!
Last Post: Jack
2 hours ago
» Replies: 3
» Views: 48
Merry Christmas Globes!
Forum: Programs
Last Post: SierraKen
5 hours ago
» Replies: 3
» Views: 32
List of file sound extens...
Forum: Help Me!
Last Post: SMcNeill
5 hours ago
» Replies: 13
» Views: 197
Merry Christmas Globes!
Forum: Christmas Code
Last Post: SierraKen
8 hours ago
» Replies: 1
» Views: 26
fast file find with wildc...
Forum: Help Me!
Last Post: madscijr
9 hours ago
» Replies: 2
» Views: 51
Tenary operator in QB64 w...
Forum: Utilities
Last Post: Pete
11 hours ago
» Replies: 6
» Views: 88
Video Renamer
Forum: Works in Progress
Last Post: Pete
11 hours ago
» Replies: 3
» Views: 56
Need help capturng unicod...
Forum: General Discussion
Last Post: SMcNeill
Yesterday, 11:34 PM
» Replies: 24
» Views: 329
QB64PE v4.0 is now live!!
Forum: Announcements
Last Post: RhoSigma
Yesterday, 11:02 PM
» Replies: 35
» Views: 1,053
Remark Remover (WIP)
Forum: Works in Progress
Last Post: Pete
Yesterday, 10:37 PM
» Replies: 0
» Views: 13

 
  A path finding algorithm
Posted by: aadityap0901 - 08-22-2024, 06:54 AM - Forum: Programs - Replies (5)

A path finding algorithm:
optimized for making a path when the map updates, and entities can find their path by going to its neighbor tile with the lowest value.

Code: (Select All)
DefInt A-Z
Screen _NewImage(640, 640, 32)
Dim Shared As _Unsigned Integer Grid(1 To 40, 1 To 40), Grid2(1 To 40, 1 To 40)
Dim As _Unsigned Integer StartPoint_X, StartPoint_Y, EndPoint_X, EndPoint_Y
Dim As Integer X, Y, L
StartPoint_X = 10
StartPoint_Y = 10
EndPoint_X = 25
EndPoint_Y = 20
Dim Shared Queue$
DISPLAY = -1
Do
    _Limit 60
    While _MouseInput: Wend
    If _KeyDown(49) Then
        StartPoint_X = _MouseX \ 16 + 1
        StartPoint_Y = _MouseY \ 16 + 1
        DISPLAY = -1
    End If
    If _KeyDown(50) Then
        EndPoint_X = _MouseX \ 16 + 1
        EndPoint_Y = _MouseY \ 16 + 1
        DISPLAY = -1
    End If
    If _MouseButton(1) Then
        Grid(_MouseX \ 16 + 1, _MouseY \ 16 + 1) = 0
        DISPLAY = -1
    End If
    If _MouseButton(2) Then
        Grid(_MouseX \ 16 + 1, _MouseY \ 16 + 1) = 65535
        DISPLAY = -1
    End If
    If DISPLAY = 0 Then _Continue
    Cls
    For I = LBound(Grid2, 1) To UBound(Grid2, 1): For J = LBound(Grid2, 2) To UBound(Grid, 2)
            Grid2(I, J) = Grid(I, J)
    Next J, I
    Queue$ = ListNew$
    QueueAdd EndPoint_X, EndPoint_Y
    Do
        If ListLength(Queue$) = 0 Then Exit Do
        QueueRemove X, Y
        If X < UBound(Grid2, 1) Then If Grid2(X + 1, Y) = 0 Then QueueAdd X + 1, Y: Grid2(X + 1, Y) = Grid2(X, Y) + 1
        If X > LBound(Grid2, 1) Then If Grid2(X - 1, Y) = 0 Then QueueAdd X - 1, Y: Grid2(X - 1, Y) = Grid2(X, Y) + 1
        If Y < UBound(Grid2, 2) Then If Grid2(X, Y + 1) = 0 Then QueueAdd X, Y + 1: Grid2(X, Y + 1) = Grid2(X, Y) + 1
        If Y > LBound(Grid2, 2) Then If Grid2(X, Y - 1) = 0 Then QueueAdd X, Y - 1: Grid2(X, Y - 1) = Grid2(X, Y) + 1
    Loop
    For X = LBound(Grid2, 1) To UBound(Grid2, 1): For Y = LBound(Grid2, 2) To UBound(Grid2, 2)
            If Grid2(X, Y) = 65535 Then Line (X * 16 - 16, Y * 16 - 16)-(X * 16, Y * 16), _RGB32(255), BF
    Next Y, X
    CPX = StartPoint_X
    CPY = StartPoint_Y
    Do
        Line (CPX * 16 - 16, CPY * 16 - 16)-(CPX * 16, CPY * 16), _RGB32(191, 191, 0), BF
        If CPX < UBound(Grid2, 1) Then If Grid2(CPX + 1, CPY) < Grid2(CPX, CPY) Then CPX = CPX + 1: _Continue
        If CPX > LBound(Grid2, 1) Then If Grid2(CPX - 1, CPY) < Grid2(CPX, CPY) Then CPX = CPX - 1: _Continue
        If CPY < UBound(Grid2, 2) Then If Grid2(CPX, CPY + 1) < Grid2(CPX, CPY) Then CPY = CPY + 1: _Continue
        If CPY > LBound(Grid2, 2) Then If Grid2(CPX, CPY - 1) < Grid2(CPX, CPY) Then CPY = CPY - 1: _Continue
        Exit Do
        If CPX = EndPoint_X And CPY = EndPoint_Y Then Exit Do
    Loop
    Line (StartPoint_X * 16 - 16, StartPoint_Y * 16 - 16)-(StartPoint_X * 16, StartPoint_Y * 16), _RGB32(0, 255, 0), BF
    Line (EndPoint_X * 16 - 16, EndPoint_Y * 16 - 16)-(EndPoint_X * 16, EndPoint_Y * 16), _RGB32(255, 0, 0), BF
    _Display
    DISPLAY = 0
Loop Until Inp(&H60) = 1
System
Sub QueueAdd (X As Integer, Y As Integer)
    Queue$ = ListAdd$(Queue$, MKI$(X) + MKI$(Y))
End Sub
Sub QueueRemove (X As Integer, Y As Integer)
    T$ = ListGet$(Queue$, 1)
    X = CVI(Left$(T$, 2))
    Y = CVI(Right$(T$, 2))
    Queue$ = ListDelete$(Queue$, 1)
End Sub
Function ListNew$
    ListNew$ = MKL$(0)
End Function
Function ListLength~& (__List As String)
    ListLength~& = CVL(Mid$(__List, 1, 4))
End Function
Function ListAdd$ (__List As String, __Item As String)
    ListAdd$ = MKL$(CVL(Mid$(__List, 1, 4)) + 1) + Mid$(__List, 5) + MKI$(Len(__Item)) + __Item
End Function
Function ListInsert$ (__List As String, __ItemNumber As _Unsigned Long, __Item As String)
    Dim As _Unsigned Long __nItems, __I, __OFFSET
    Dim As _Unsigned Integer __LEN
    __nItems = CVL(Mid$(__List, 1, 4))
    __OFFSET = 5
    If __ItemNumber > __nItems Then
        If __ItemNumber = __nItems + 1 Then ListInsert$ = ListAdd$(__List, __Item) Else Exit Function
    End If
    For __I = 1 To __ItemNumber - 1
        __LEN = CVI(Mid$(__List, __OFFSET, 2))
        Print Mid$(__List, __OFFSET + 2, __LEN)
        __OFFSET = __OFFSET + __LEN + 2
    Next __I
    ListInsert$ = MKL$(CVL(Mid$(__List, 1, 4)) + 1) + Mid$(__List, 5, __OFFSET - 5) + MKI$(Len(__Item)) + __Item + Mid$(__List, __OFFSET)
End Function
Sub ListPrint (__List As String)
    Dim As _Unsigned Long __nItems, __I, __OFFSET
    Dim As _Unsigned Integer __LEN
    __nItems = CVL(Mid$(__List, 1, 4))
    __OFFSET = 5
    Print "[";
    For __I = 1 To __nItems
        __LEN = CVI(Mid$(__List, __OFFSET, 2))
        Print Mid$(__List, __OFFSET + 2, __LEN);
        If __I < __nItems Then Print ",";
        __OFFSET = __OFFSET + __LEN + 2
    Next __I
    Print "]"
End Sub
Function ListGet$ (__List As String, __ItemNumber As _Unsigned Long)
    Dim As _Unsigned Long __nItems, __I, __OFFSET
    Dim As _Unsigned Integer __LEN
    __nItems = CVL(Mid$(__List, 1, 4))
    If __ItemNumber > __nItems Then Exit Function
    __OFFSET = 5
    For __I = 1 To __nItems
        __LEN = CVI(Mid$(__List, __OFFSET, 2))
        If __I = __ItemNumber Then ListGet$ = Mid$(__List, __OFFSET + 2, __LEN): Exit Function
        __OFFSET = __OFFSET + __LEN + 2
    Next __I
End Function
Function ListDelete$ (__List As String, __ItemNumber As _Unsigned Long)
    Dim As _Unsigned Long __nItems, __I, __OFFSET
    Dim As _Unsigned Integer __LEN
    __nItems = CVL(Mid$(__List, 1, 4))
    __OFFSET = 5
    For __I = 1 To __nItems
        __LEN = CVI(Mid$(__List, __OFFSET, 2))
        If __I = __ItemNumber Then
            ListDelete$ = MKL$(__nItems - 1) + Mid$(__List, 5, __OFFSET - 5) + Mid$(__List, __OFFSET + __LEN + 2)
            Exit Function
        End If
        __OFFSET = __OFFSET + __LEN + 2
    Next __I
End Function

Print this item

  SHA1 and TOTP
Posted by: Ra7eN - 08-21-2024, 01:35 AM - Forum: General Discussion - Replies (19)

Long time no visit (shame on me - not entirely though LOL, was around under the old OLD site. cant find my stuff meh)

Ok I digress

So I have me a software so well, that I use it religiously for myself LOL. THAT IS RARE!! I usually ditch it.

I could not find a PWM(password manager) that diid everything I wanted, and totally 100% offline, and I even used an encryption that in its original form too 300yrs to break LOL (long time ago) so I created it in qb64, then added a salt. and POOF pretty impressive  for DIY stuff.  And I even themed it after L.O.R.D. if you don't know, don't ask.

aaaaannnnyyyyy ways, I have the TOTP working, but i have the shell out to a simple python script to do it, What i want to do is make this 100% internal, but qb64 lacks some serious encryption toys. uhg.

Has anyone found a way to get a working TOTP in qb64?

I have quite abit of scrap code, SHA1, HMAC_SHA1, timestamp etc.. although not likely they work at all. I had to convert much of it, and QB64 doesnt like much of this encryption scripts.
If not it's ok, works flawless as it is right now. But would love to get this working 100% qb64


Help?

Print this item

  Error Message
Posted by: bplus - 08-20-2024, 01:55 PM - Forum: General Discussion - Replies (3)

Weird! I am getting an Error message trying to access Dimster's Nest or Not Thread ????

   

And yet I can post this and access other posts on forum.

OK now I can access that thread, access seems to go on and off???

Print this item

  Connect / Disconnect WiFi and Hibernate
Posted by: Pete - 08-20-2024, 02:57 AM - Forum: Utilities - Replies (9)

Note: This post has been edited to place the updated code here.

Network Connect Routine (Does not trigger a Windows UAC response).

Code: (Select All)
Width 36, 3
Color 15, 1: Cls
_Font 16
Locate 2, 2
Print "Connecting to your network...";
Shell _DontWait _Hide "netsh wlan connect name=YOUR WIFI NAME HERE"
_Delay 2
System

Create the exe file, right click it, and send it to your desktop.

Network Disconnect (Triggers a UAC response, but see how to avoid this by pigging backing onto Task Scheduler).
Code: (Select All)
Width 36, 3
Color 15, 1: Cls
_Font 16
Locate 2, 2
Print "Disconnecting from your network...";
Shell _DontWait _Hide "netsh wlan disconnect"
_Delay 2
System

To avoid the UAC, do this...

1) Open Windows Task Scheduler
2) Add a new folder. I named mine: My Network Disconnect
3) Click on the new folder and select to add a 'new task'. I named my new task: Network Disconnect
4) Make sure you check the box: Run with highest privileges
5) In the trigger tab, select to run on login.
6) In the actions tab, set the path and name of your disconnect program. Mine is: c:\my-exe-files\network disconnect.exe
7) Click OK to save the new task.

Next I used File Explorer to view my c:\my-exe-files\network disconnect.exe. I did a right click, selected 'Properties' and checked the box: Run as Administrator

Finally I tested the new task by clicking the "Run" command in the right panel of the Task Scheduler. It disconnected my internet connection, woohoo!

I made a desktop shortcut of Task Scheduler. I right clicked the shortcut and selected Properties.

I changed the Target to: C:\Windows\System32\schtasks.exe /RUN /TN "\My Network Disconnect\Network Disconnect"

The Start in: C:\Windows\System32

I changed the window to run minimized and saved my changes.

When I Double clicked the shortcut icon, woohoo again, it correctly communicated with Task Scheduler and shut off my wifi connection without getting a UAC prompt.

Hibernate PC (No UAC trigger).
Code: (Select All)
Width 36, 3
Color 15, 1: Cls
_Font 16
Locate 2, 2
Print "Hibernating..."
a$ = "shutdown /h"
Shell _DontWait _Hide a$
System

+1 to Steve and Spriggs for getting involved in the discussion. I had to work it out myself this time, but the support is very much appreciated.

Pete

------------------------------------------------------------

ORIGINAL POST TO EXPLAIN DISCUSSION THAT FOLLOWS

I created a desktop icon from the exe file. It works on my Windows 10. What I would like is to get around the UAC prompt it triggers. (User Account Control). I would have to turn UAC off.

I did try to go around it by making a folder in Task Scheduler. So, if I run it from Task Scheduler, directly, it works without a UAC warning, but when I make a desktop shortcut to trigger Task Scheduler to run it, guess what? If you said UAC asks me to verify I want to let Task Scheduler change my computer, you are correct! Anyway, the article I read for doing this Task Scheduler was 11 years old, so my guess is it worked back then, but not today.

If anyone knows another way around it, I'd love to read your post; otherwise, I'll keep on searching and let you guys know if I find anything.
------------------------------------------------------------

Print this item

  Splashes
Posted by: SierraKen - 08-19-2024, 10:53 PM - Forum: Programs - No Replies

I'm sure most of you think this is very simple, but I'm learning. Smile 

Press any key to stop. 

Code: (Select All)

'Splashes by SierraKen
Screen _NewImage(800, 600, 32)
_FullScreen _Stretch , _Smooth
start:
s = 10
s2 = -10
s3 = -30
s4 = -50
s6 = -70
l = 0
_Display
Paint (1, 1), _RGB32(0, 0, 200)
b = 241
g = 50
r = 50
Do

    _Limit 750
    s = s * 1.0015
    s2 = s2 * 1.0015
    s3 = s3 * 1.0015
    s4 = s4 * 1.0015
    s5 = s5 * 1.0015
    s6 = s6 * 1.0015
    For waves = 1 To 7
        b = b + 2
        If b > 255 Then b = 241
        Circle (400 + ((Rnd * 50)), 300 + (Rnd * 50)), s, _RGB32(r, g, b)
        Circle (400 + ((Rnd * 50)), 300 + (Rnd * 50)), s2, _RGB32(r, g, b)
        Circle (400 + ((Rnd * 50)), 300 + (Rnd * 50)), s3, _RGB32(r, g, b)
        Circle (400 + ((Rnd * 50)), 300 + (Rnd * 50)), s4, _RGB32(r, g, b)
        Circle (400 + ((Rnd * 50)), 300 + (Rnd * 50)), s5, _RGB32(r, g, b)
        Circle (400 + ((Rnd * 50)), 300 + (Rnd * 50)), s6, _RGB32(r, g, b)
    Next waves
    l = l + 1
    If l > 3000 Then GoTo start:
    _Display
    If l / 31 = Int(l / 31) Then Cls: Paint (1, 1), _RGB32(0, 0, 200)
Loop Until InKey$ <> ""
End

Print this item

  GWBASIC DEF Function
Posted by: doughayman - 08-18-2024, 10:04 PM - Forum: Works in Progress - Replies (2)

Hi,

I'm new to this forum, and to the QB64pe compiler.

I have a gwbasic retro football game that I wrote back in 1987, and am looking to compile it, so that it'll run on Windows 10 pro.

I have a line in my Basic program that your compiler doesn't support:

     DEF FNPLCONV(MC)=(31-MC)/2 

Any suggestion on how to work around this?

Thank you in advance,

Doug

Print this item

  Holy fiber Batman!
Posted by: TerryRitchie - 08-18-2024, 01:57 AM - Forum: General Discussion - Replies (17)

I'm back online after being offline most of the day. Over the past few months my small little podunk Ohio town (population ~17,000) has had a fiber optic company running fiber underground every where. Last week they started visiting households for people to sign up.

A couple of techs showed up today and spent 4 hours running a fiber optic line to my home.

Get this: for $45 a month I get 250Mbps up and down speeds, no installation charge, no contracts, and no hidden fees! I just did a speed test and I'm getting 7ms latency times with 265 Mbps up and down speeds. Woohoo!  I just told the cable company to go pound dirt (that felt good). The cable company's cheapest package is $95 a month for 200Mbps down and 25Mbps up and I could never get better than 25 to 30ms latency times. Heck, if I wanted to for $85 I can get 1Gbps fiber speed or $105 for 2Gbps fiber speed but 250Mbps is plenty for my needs.

The difference in responsiveness with Internet sites is amazing. I now know just how bad the cable company's service was.

The company is called Omni Fiber and they are installing in Ohio and Pennsylvania right now. Be on the look out for them if they come to your area.

Never in my wildest dreams did I believe a little backwoods town like mine would ever get fiber.

Print this item

  Some errors building IDE in feren OS, but it built. Ok to use?
Posted by: Dav - 08-17-2024, 04:56 PM - Forum: Help Me! - Replies (2)

I am trying out feren OS linux.  Seems like a nice linux distro.  Installing QB64PE I got  a bunch of errors, but the IDE was built and ran after running the setup.   Question is, should I be worried about these erros an rebuild, or is it good to go as is?  

Here's part of my terminal messages showing errors.

- Dav

Quote:gs]
29824 |    devices[i].name = "[MOUSE][BUTTON][AXIS][WHEEL]";
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
internal/c/libqb.cpp:29828:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
29828 |    devices[i].description = "Mouse";
      |                              ^~~~~~~
internal/c/libqb.cpp: In function ‘uint32_t sib()’:
internal/c/libqb.cpp:5884:1: warning: control reaches end of non-void function [-Wreturn-type]
5884 | }
      | ^
internal/c/libqb.cpp: In function ‘uint32_t sib_mod0()’:
internal/c/libqb.cpp:5921:1: warning: control reaches end of non-void function [-Wreturn-type]
5921 | }
      | ^
internal/c/libqb.cpp: In function ‘uint8_t* rm8()’:
internal/c/libqb.cpp:6104:1: warning: control reaches end of non-void function [-Wreturn-type]
6104 | }
      | ^
internal/c/libqb.cpp: In function ‘uint16_t* rm16()’:
internal/c/libqb.cpp:6291:1: warning: control reaches end of non-void function [-Wreturn-type]
6291 | }
      | ^
internal/c/libqb.cpp: In function ‘uint32_t* rm32()’:
internal/c/libqb.cpp:6478:1: warning: control reaches end of non-void function [-Wreturn-type]
6478 | }
      | ^
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/datetime.cpp -c -o internal/c/libqb/src/datetime.o
internal/c/libqb/src/datetime.cpp: In function ‘void sub_date(qbs*)’:
internal/c/libqb/src/datetime.cpp:207:20: warning: unused parameter ‘date’ [-Wunused-parameter]
  207 | void sub_date(qbs *date) {
      |              ~~~~~^~~~
internal/c/libqb/src/datetime.cpp: In function ‘void sub_time(qbs*)’:
internal/c/libqb/src/datetime.cpp:274:20: warning: unused parameter ‘str’ [-Wunused-parameter]
  274 | void sub_time(qbs *str) {
      |              ~~~~~^~~
internal/c/libqb/src/datetime.cpp: In function ‘qbs* func_time()’:
internal/c/libqb/src/datetime.cpp:296:23: warning: unused variable ‘x2’ [-Wunused-variable]
  296 |    static int32_t x, x2, i;
      |                      ^~
internal/c/libqb/src/datetime.cpp: At global scope:
internal/c/libqb/src/datetime.cpp:296:23: warning: ‘x2’ defined but not used [-Wunused-variable]
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/error_handle.cpp -c -o internal/c/libqb/src/error_handle.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/gfs.cpp -c -o internal/c/libqb/src/gfs.o
internal/c/libqb/src/gfs.cpp: In function ‘int32_t gfs_open(qbs*, int32_t, int32_t, int32_t)’:
internal/c/libqb/src/gfs.cpp:607:26: warning: unused variable ‘x2’ [-Wunused-variable]
  607 |    static int32_t i, x, x2, x3, e;
      |                          ^~
internal/c/libqb/src/gfs.cpp:607:30: warning: unused variable ‘x3’ [-Wunused-variable]
  607 |    static int32_t i, x, x2, x3, e;
      |                              ^~
internal/c/libqb/src/gfs.cpp:607:34: warning: unused variable ‘e’ [-Wunused-variable]
  607 |    static int32_t i, x, x2, x3, e;
      |                                  ^
internal/c/libqb/src/gfs.cpp: In function ‘int32_t gfs_write(int32_t, int64_t, uint8_t*, int64_t)’:
internal/c/libqb/src/gfs.cpp:958:20: warning: unused variable ‘e’ [-Wunused-variable]
  958 |    static int32_t e;
      |                    ^
internal/c/libqb/src/gfs.cpp: In function ‘int32_t gfs_read(int32_t, int64_t, uint8_t*, int64_t)’:
internal/c/libqb/src/gfs.cpp:1017:20: warning: unused variable ‘e’ [-Wunused-variable]
1017 |    static int32_t e;
      |                    ^
internal/c/libqb/src/gfs.cpp: In function ‘int32_t gfs_lock(int32_t, int64_t, int64_t)’:
internal/c/libqb/src/gfs.cpp:1110:29: warning: variable ‘f’ set but not used [-Wunused-but-set-variable]
1110 |    static gfs_file_struct *f;
      |                            ^
internal/c/libqb/src/gfs.cpp: In function ‘int32_t gfs_unlock(int32_t, int64_t, int64_t)’:
internal/c/libqb/src/gfs.cpp:1152:29: warning: variable ‘f’ set but not used [-Wunused-but-set-variable]
1152 |    static gfs_file_struct *f;
      |                            ^
internal/c/libqb/src/gfs.cpp: At global scope:
internal/c/libqb/src/gfs.cpp:1017:20: warning: ‘e’ defined but not used [-Wunused-variable]
1017 |    static int32_t e;
      |                    ^
internal/c/libqb/src/gfs.cpp:958:20: warning: ‘e’ defined but not used [-Wunused-variable]
  958 |    static int32_t e;
      |                    ^
internal/c/libqb/src/gfs.cpp:607:34: warning: ‘e’ defined but not used [-Wunused-variable]
  607 |    static int32_t i, x, x2, x3, e;
      |                                  ^
internal/c/libqb/src/gfs.cpp:607:30: warning: ‘x3’ defined but not used [-Wunused-variable]
  607 |    static int32_t i, x, x2, x3, e;
      |                              ^~
internal/c/libqb/src/gfs.cpp:607:26: warning: ‘x2’ defined but not used [-Wunused-variable]
  607 |    static int32_t i, x, x2, x3, e;
      |                          ^~
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/qblist.cpp -c -o internal/c/libqb/src/qblist.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/hexoctbin.cpp -c -o internal/c/libqb/src/hexoctbin.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/mem.cpp -c -o internal/c/libqb/src/mem.o
internal/c/libqb/src/mem.cpp: In function ‘void sub__memfree(void*)’:
internal/c/libqb/src/mem.cpp:50:46: warning: NULL used in arithmetic [-Wpointer-arith]
  50 |    if (((mem_block *)(mem))->lock_offset == NULL) {
      |                                              ^~~~
internal/c/libqb/src/mem.cpp: In function ‘int32_t func__memexists(void*)’:
internal/c/libqb/src/mem.cpp:134:46: warning: NULL used in arithmetic [-Wpointer-arith]
  134 |    if (((mem_block *)(blk))->lock_offset == NULL)
      |                                              ^~~~
internal/c/libqb/src/mem.cpp: In function ‘void* func__memget(mem_block*, intptr_t, intptr_t)’:
internal/c/libqb/src/mem.cpp:143:46: warning: NULL used in arithmetic [-Wpointer-arith]
  143 |    if (((mem_block *)(blk))->lock_offset == NULL) {
      |                                              ^~~~
internal/c/libqb/src/mem.cpp: In function ‘void sub__memfill(mem_block*, intptr_t, intptr_t, intptr_t, intptr_t)’:
internal/c/libqb/src/mem.cpp:183:47: warning: NULL used in arithmetic [-Wpointer-arith]
  183 |    if (((mem_block *)(dblk))->lock_offset == NULL) {
      |                                              ^~~~
internal/c/libqb/src/mem.cpp: In function ‘void sub__memcopy(void*, intptr_t, intptr_t, void*, intptr_t)’:
internal/c/libqb/src/mem.cpp:232:47: warning: NULL used in arithmetic [-Wpointer-arith]
  232 |    if (((mem_block *)(sblk))->lock_offset == NULL || ((mem_block *)(dblk))->lock_offset == NULL) {
      |                                              ^~~~
internal/c/libqb/src/mem.cpp:232:93: warning: NULL used in arithmetic [-Wpointer-arith]
  232 |    if (((mem_block *)(sblk))->lock_offset == NULL || ((mem_block *)(dblk))->lock_offset == NULL) {
      |                                                                                            ^~~~
internal/c/libqb/src/mem.cpp:234:51: warning: NULL used in arithmetic [-Wpointer-arith]
  234 |        if (((mem_block *)(sblk))->lock_offset == NULL && ((mem_block *)(dblk))->lock_offset == NULL) {
      |                                                  ^~~~
internal/c/libqb/src/mem.cpp:234:97: warning: NULL used in arithmetic [-Wpointer-arith]
  234 |        if (((mem_block *)(sblk))->lock_offset == NULL && ((mem_block *)(dblk))->lock_offset == NULL) {
      |                                                                                                ^~~~
internal/c/libqb/src/mem.cpp:238:51: warning: NULL used in arithmetic [-Wpointer-arith]
  238 |        if (((mem_block *)(sblk))->lock_offset == NULL) {
      |                                                  ^~~~
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/math.cpp -c -o internal/c/libqb/src/math.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/rounding.cpp -c -o internal/c/libqb/src/rounding.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/shell.cpp -c -o internal/c/libqb/src/shell.o
internal/c/libqb/src/shell.cpp: In function ‘int64_t func_shell(qbs*)’:
internal/c/libqb/src/shell.cpp:183:20: warning: unused variable ‘i’ [-Wunused-variable]
  183 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:185:20: warning: variable ‘use_console’ set but not used [-Wunused-but-set-variable]
  185 |    static int32_t use_console;
      |                    ^~~~~~~~~~~
internal/c/libqb/src/shell.cpp:436:1: warning: label ‘shell_complete’ defined but not used [-Wunused-label]
  436 | shell_complete:
      | ^~~~~~~~~~~~~~
internal/c/libqb/src/shell.cpp: In function ‘int64_t func__shellhide(qbs*)’:
internal/c/libqb/src/shell.cpp:456:20: warning: unused variable ‘i’ [-Wunused-variable]
  456 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:655:1: warning: label ‘shell_complete’ defined but not used [-Wunused-label]
  655 | shell_complete:;
      | ^~~~~~~~~~~~~~
internal/c/libqb/src/shell.cpp: In function ‘void sub_shell(qbs*, int32_t)’:
internal/c/libqb/src/shell.cpp:678:20: warning: unused variable ‘i’ [-Wunused-variable]
  678 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:680:20: warning: variable ‘use_console’ set but not used [-Wunused-but-set-variable]
  680 |    static int32_t use_console;
      |                    ^~~~~~~~~~~
internal/c/libqb/src/shell.cpp:926:1: warning: label ‘shell_complete’ defined but not used [-Wunused-label]
  926 | shell_complete:
      | ^~~~~~~~~~~~~~
internal/c/libqb/src/shell.cpp: In function ‘void sub_shell2(qbs*, int32_t)’:
internal/c/libqb/src/shell.cpp:950:20: warning: unused variable ‘i’ [-Wunused-variable]
  950 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:1143:1: warning: label ‘shell_complete’ defined but not used [-Wunused-label]
1143 | shell_complete:;
      | ^~~~~~~~~~~~~~
internal/c/libqb/src/shell.cpp: In function ‘void sub_shell3(qbs*, int32_t)’:
internal/c/libqb/src/shell.cpp:1157:20: warning: unused variable ‘i’ [-Wunused-variable]
1157 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:1332:1: warning: label ‘shell_complete’ defined but not used [-Wunused-label]
1332 | shell_complete:;
      | ^~~~~~~~~~~~~~
internal/c/libqb/src/shell.cpp: In function ‘void sub_shell4(qbs*, int32_t)’:
internal/c/libqb/src/shell.cpp:1343:20: warning: unused variable ‘i’ [-Wunused-variable]
1343 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:1516:1: warning: label ‘shell_complete’ defined but not used [-Wunused-label]
1516 | shell_complete:;
      | ^~~~~~~~~~~~~~
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/qbs.cpp -c -o internal/c/libqb/src/qbs.o
internal/c/libqb/src/qbs.cpp: In function ‘void qbs_concat(uint32_t)’:
internal/c/libqb/src/qbs.cpp:162:23: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
  162 |        for (i = 0; i < qbs_list_nexti; i++) {
      |                    ~~^~~~~~~~~~~~~~~~
internal/c/libqb/src/qbs.cpp:184:23: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
  184 |        for (i = 0; i < qbs_list_nexti; i++) {
      |                    ~~^~~~~~~~~~~~~~~~
internal/c/libqb/src/qbs.cpp: In function ‘qbs* qbs_set(qbs*, qbs*)’:
internal/c/libqb/src/qbs.cpp:370:11: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
  370 |    if (i != qbs_list_nexti)
      |        ~~^~~~~~~~~~~~~~~~~
internal/c/libqb/src/qbs.cpp: In function ‘int32_t qbs_greaterthan(qbs*, qbs*)’:
internal/c/libqb/src/qbs.cpp:555:8: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else]
  555 |    if (!l1)
      |        ^
internal/c/libqb/src/qbs.cpp: In function ‘int32_t qbs_lessthan(qbs*, qbs*)’:
internal/c/libqb/src/qbs.cpp:578:8: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else]
  578 |    if (!l1)
      |        ^
internal/c/libqb/src/qbs.cpp: In function ‘int32_t qbs_asc(qbs*, uint32_t)’:
internal/c/libqb/src/qbs.cpp:643:11: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int32_t’ {aka ‘int’} [-Wsign-compare]
  643 |    if (i < str->len) {
      |        ~~^~~~~~~~~~
internal/c/libqb/src/shell.cpp: In function ‘void sub_shell(qbs*, int32_t)’:
internal/c/libqb/src/shell.cpp:903:15: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Wunused-result]
  903 |        system((char *)strz->chr);
      |        ~~~~~~^~~~~~~~~~~~~~~~~~~
internal/c/libqb/src/shell.cpp: In function ‘void sub_shell2(qbs*, int32_t)’:
internal/c/libqb/src/shell.cpp:1137:11: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Wunused-result]
1137 |    system((char *)strz->chr);
      |    ~~~~~~^~~~~~~~~~~~~~~~~~~
internal/c/libqb/src/shell.cpp: At global scope:
internal/c/libqb/src/shell.cpp:1343:20: warning: ‘i’ defined but not used [-Wunused-variable]
1343 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:1157:20: warning: ‘i’ defined but not used [-Wunused-variable]
1157 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:950:20: warning: ‘i’ defined but not used [-Wunused-variable]
  950 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:678:20: warning: ‘i’ defined but not used [-Wunused-variable]
  678 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:456:20: warning: ‘i’ defined but not used [-Wunused-variable]
  456 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:183:20: warning: ‘i’ defined but not used [-Wunused-variable]
  183 |    static int32_t i;
      |                    ^
internal/c/libqb/src/shell.cpp:57:16: warning: ‘int32_t cmd_command(qbs*)’ defined but not used [-Wunused-function]
  57 | static int32_t cmd_command(qbs *str2) {
      |                ^~~~~~~~~~~
internal/c/libqb/src/shell.cpp: In function ‘int64_t func_shell(qbs*)’:
internal/c/libqb/src/shell.cpp:445:12: warning: ‘return_code’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  445 |    return return_code;
      |            ^~~~~~~~~~~
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/qbs_str.cpp -c -o internal/c/libqb/src/qbs_str.o
internal/c/libqb/src/qbs_str.cpp: In function ‘qbs* qbs_str(int64_t)’:
internal/c/libqb/src/qbs_str.cpp:18:49: warning: format ‘%lli’ expects argument of type ‘long long int’, but argument 3 has type ‘int64_t’ {aka ‘long int’} [-Wformat=]
  18 |    tqbs->len = sprintf((char *)tqbs->chr, "% lli", value);
      |                                            ~~~~^  ~~~~~
      |                                                |  |
      |                                                |  int64_t {aka long int}
      |                                                long long int
      |                                            % li
internal/c/libqb/src/qbs_str.cpp: In function ‘qbs* qbs_str(uint64_t)’:
internal/c/libqb/src/qbs_str.cpp:47:49: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long unsigned int’} [-Wformat=]
  47 |    tqbs->len = sprintf((char *)tqbs->chr, " %llu", value);
      |                                              ~~~^  ~~~~~
      |                                                |  |
      |                                                |  uint64_t {aka long unsigned int}
      |                                                long long unsigned int
      |                                              %lu
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/qbs_cmem.cpp -c -o internal/c/libqb/src/qbs_cmem.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/qbs_mk_cv.cpp -c -o internal/c/libqb/src/qbs_mk_cv.o
internal/c/libqb/src/qbs_cmem.cpp: In function ‘void qbs_concat_cmem(uint32_t)’:
internal/c/libqb/src/qbs_cmem.cpp:68:23: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
  68 |        for (i = 0; i < qbs_cmem_list_nexti; i++) {
      |                    ~~^~~~~~~~~~~~~~~~~~~~~
internal/c/libqb/src/qbs_cmem.cpp: In function ‘bool qbs_new_fixed_cmem(uint8_t*, uint32_t, uint8_t, qbs*)’:
internal/c/libqb/src/qbs_cmem.cpp:128:51: warning: unused parameter ‘size’ [-Wunused-parameter]
  128 | bool qbs_new_fixed_cmem(uint8_t *offset, uint32_t size, uint8_t tmp, qbs *newstr) {
      |                                          ~~~~~~~~~^~~~
internal/c/libqb/src/qbs_cmem.cpp:128:65: warning: unused parameter ‘tmp’ [-Wunused-parameter]
  128 | bool qbs_new_fixed_cmem(uint8_t *offset, uint32_t size, uint8_t tmp, qbs *newstr) {
      |                                                        ~~~~~~~~^~~
internal/c/libqb/src/qbs_cmem.cpp: In function ‘void qbs_copy_cmem(qbs*, qbs*)’:
internal/c/libqb/src/qbs_cmem.cpp:194:11: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
  194 |    if (i != qbs_cmem_list_nexti)
      |        ~~^~~~~~~~~~~~~~~~~~~~~~
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/string_functions.cpp -c -o internal/c/libqb/src/string_functions.o
internal/c/libqb/src/qbs_mk_cv.cpp: In function ‘intptr_t string2o(qbs*)’:
internal/c/libqb/src/qbs_mk_cv.cpp:492:18: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘long unsigned int’ [-Wsign-compare]
  492 |    if (str->len < sizeof(intptr_t)) {
      |        ~~~~~~~~~^~~~~~~~~~~~~~~~~~
internal/c/libqb/src/qbs_mk_cv.cpp: In function ‘uintptr_t string2uo(qbs*)’:
internal/c/libqb/src/qbs_mk_cv.cpp:501:18: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘long unsigned int’ [-Wsign-compare]
  501 |    if (str->len < sizeof(uintptr_t)) {
      |        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
internal/c/libqb/src/qbs_mk_cv.cpp: In function ‘uint64_t string2ubit(qbs*, uint32_t)’:
internal/c/libqb/src/qbs_mk_cv.cpp:511:18: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
  511 |    if (str->len < ((bsize + 7) >> 3)) {
      |        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
internal/c/libqb/src/qbs_mk_cv.cpp: In function ‘int64_t string2bit(qbs*, uint32_t)’:
internal/c/libqb/src/qbs_mk_cv.cpp:521:18: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
  521 |    if (str->len < ((bsize + 7) >> 3)) {
      |        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/http.cpp -c -o internal/c/libqb/src/http.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/threading-posix.cpp -c -o internal/c/libqb/src/threading-posix.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/glut-main-thread.cpp -c -o internal/c/libqb/src/glut-main-thread.o
internal/c/libqb/src/http.cpp: In function ‘void __fillout_curl_info(handle*)’:
internal/c/libqb/src/http.cpp:112:31: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  112 |    if (res != CURLE_OK || cl == -1) {
      |                            ~~~^~~~~
In file included from internal/c/libqb/src/glut-main-thread.cpp:25:
./internal/c/libqb/include/mac-mouse-support.h: In function ‘void macMouseUpdatePosition(int, int)’:
./internal/c/libqb/include/mac-mouse-support.h:10:47: warning: unused parameter ‘x’ [-Wunused-parameter]
  10 | static inline void macMouseUpdatePosition(int x, int y) {}
      |                                          ~~~~^
./internal/c/libqb/include/mac-mouse-support.h:10:54: warning: unused parameter ‘y’ [-Wunused-parameter]
  10 | static inline void macMouseUpdatePosition(int x, int y) {}
      |                                                  ~~~~^
internal/c/libqb/src/glut-main-thread.cpp: In function ‘void glutWarning(const char*, __va_list_tag*)’:
internal/c/libqb/src/glut-main-thread.cpp:52:37: warning: unused parameter ‘fmt’ [-Wunused-parameter]
  52 | static void glutWarning(const char *fmt, va_list lst) {
      |                        ~~~~~~~~~~~~^~~
internal/c/libqb/src/glut-main-thread.cpp:52:50: warning: unused parameter ‘lst’ [-Wunused-parameter]
  52 | static void glutWarning(const char *fmt, va_list lst) {
      |                                          ~~~~~~~~^~~
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/glut-message.cpp -c -o internal/c/libqb/src/glut-message.o
In file included from internal/c/libqb/src/glut-message.cpp:18:
./internal/c/libqb/include/mac-mouse-support.h: In function ‘void macMouseUpdatePosition(int, int)’:
./internal/c/libqb/include/mac-mouse-support.h:10:47: warning: unused parameter ‘x’ [-Wunused-parameter]
  10 | static inline void macMouseUpdatePosition(int x, int y) {}
      |                                          ~~~~^
./internal/c/libqb/include/mac-mouse-support.h:10:54: warning: unused parameter ‘y’ [-Wunused-parameter]
  10 | static inline void macMouseUpdatePosition(int x, int y) {}
      |                                                  ~~~~^
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -Wall -Wextra internal/c/libqb/src/glut-msg-queue.cpp -c -o internal/c/libqb/src/glut-msg-queue.o
cc -O2  -DDEPENDENCY_CONSOLE_ONLY -Wall internal/c/parts/gui/tinyfiledialogs.c -c -o internal/c/parts/gui/tinyfiledialogs.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -DDEPENDENCY_CONSOLE_ONLY -Wall internal/c/parts/gui/gui.cpp -c -o internal/c/parts/gui/gui.o
In file included from internal/c/parts/gui/gui.cpp:17:
./internal/c/libqb/include/image.h: In function ‘constexpr uint32_t func__rgb32(int32_t, int32_t, int32_t)’:
./internal/c/libqb/include/image.h:116:33: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
  116 |    return (r << 16) + (g << 8) + b | 0xFF000000;
      |            ~~~~~~~~~~~~~~~~~~~~~^~~
./internal/c/libqb/include/image.h: In function ‘constexpr uint32_t func__rgb32(int32_t)’:
./internal/c/libqb/include/image.h:136:33: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
  136 |    return (i << 16) + (i << 8) + i | 0xFF000000;
      |            ~~~~~~~~~~~~~~~~~~~~~^~~
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -DCLIP_ENABLE_IMAGE=1 -DHAVE_XCB_XLIB_H -DHAVE_PNG_H -w internal/c/parts/os/clipboard/clip/clip.cpp -c -o internal/c/parts/os/clipboard/clip/clip.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -DCLIP_ENABLE_IMAGE=1 -DHAVE_XCB_XLIB_H -DHAVE_PNG_H -w internal/c/parts/os/clipboard/clip/image.cpp -c -o internal/c/parts/os/clipboard/clip/image.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -DCLIP_ENABLE_IMAGE=1 -DHAVE_XCB_XLIB_H -DHAVE_PNG_H -w internal/c/parts/os/clipboard/clip/clip_x11.cpp -c -o internal/c/parts/os/clipboard/clip/clip_x11.o
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -DCLIP_ENABLE_IMAGE=1 -DHAVE_XCB_XLIB_H -DHAVE_PNG_H -Wall -Wextra internal/c/parts/os/clipboard/clipboard.cpp -c -o internal/c/parts/os/clipboard/clipboard.o
In file included from internal/c/parts/os/clipboard/clipboard.cpp:19:
./internal/c/libqb/include/image.h: In function ‘constexpr uint32_t func__rgb32(int32_t, int32_t, int32_t)’:
./internal/c/libqb/include/image.h:116:33: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
  116 |    return (r << 16) + (g << 8) + b | 0xFF000000;
      |            ~~~~~~~~~~~~~~~~~~~~~^~~
./internal/c/libqb/include/image.h: In function ‘constexpr uint32_t func__rgb32(int32_t)’:
./internal/c/libqb/include/image.h:136:33: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
  136 |    return (i << 16) + (i << 8) + i | 0xFF000000;
      |            ~~~~~~~~~~~~~~~~~~~~~^~~
g++ -O2  -no-pie -std=gnu++17 -fno-strict-aliasing -Wno-conversion-null -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE  -I./internal/c/parts/video/font/freetype/include -DDEPENDENCY_CONSOLE_ONLY -w internal/c/parts/video/font/font.cpp -c -o internal/c/parts/video/font/font.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/t42drivr.c -c -o internal/c/parts/video/font/freetype/t42drivr.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/sfwoff.c -c -o internal/c/parts/video/font/freetype/sfwoff.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/otvgpos.c -c -o internal/c/parts/video/font/freetype/otvgpos.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/bdflib.c -c -o internal/c/parts/video/font/freetype/bdflib.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/fttype1.c -c -o internal/c/parts/video/font/freetype/fttype1.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/ftwinfnt.c -c -o internal/c/parts/video/font/freetype/ftwinfnt.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/gxvmorx.c -c -o internal/c/parts/video/font/freetype/gxvmorx.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/otvmath.c -c -o internal/c/parts/video/font/freetype/otvmath.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/ftcbasic.c -c -o internal/c/parts/video/font/freetype/ftcbasic.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/ftinit.c -c -o internal/c/parts/video/font/freetype/ftinit.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/ftadvanc.c -c -o internal/c/parts/video/font/freetype/ftadvanc.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/ttobjs.c -c -o internal/c/parts/video/font/freetype/ttobjs.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/ttgxvar.c -c -o internal/c/parts/video/font/freetype/ttgxvar.o
cc -O3  -I./internal/c/parts/video/font/freetype/include -DFT2_BUILD_LIBRARY -w internal/c/parts/video/font/freetype/ftbbox.c -c -o internal/c/parts/video/font/freetype/ftbbox.o
cc -O3  -I./internal/c/parts/video/font/freety

Print this item

  To Nest or Not to Nest Else
Posted by: Dimster - 08-17-2024, 03:11 PM - Forum: General Discussion - Replies (28)

Other than code efficiency, I'm wondering why I would nest an Else statement v's using multiple ElseIf statements. You guys nest your Elses? or go with ElseIF's
For example"

NESTED ELSE
If (condition) then
 ....

Else
  If (condition) then
....
     Else
      If (condition) then
....
        Else
         If (condition) then

        End if
   End if
End if

UNNESTED ElseIF
If (condition) then
 ....

ElseIf (condition) then
....

ElseIf (condition) then
....

ElseIf (condition) then
...

End if
  
Just curious

Print this item

  Simulated Dancing Tesla Coil
Posted by: SierraKen - 08-17-2024, 04:44 AM - Forum: SierraKen - Replies (7)

If you don't know already, a Tesla Coil is a metal rod that shoots out highly powered lightning bolts, which was invented by Nicola Tesla. This program is a simulation of that, where you tell it a .mp3 song to play and the lightning bolts jump around dancing to the song. There have been many real shows like this with real Tesla Coils, using music. 

This zip file also contains a small music album I created around 2005 or so and there's no lyrics, just electronic dance music I made using sound loops. 

Enjoy!

Edit: This zip removed to add the ability to use both 64 and 32 bit computers. The update is below.

Print this item