i think the only thing i miss from win32 is the openhand cursor, are you realy sure it cannot be added? https://learn.microsoft.com/en-us/windows/win32/uxguide/inter-mouse in this page it is in the same slot as the 4-way arrow, which is included, so i guessed that perhaps openhand can be added too?
on the link i refer to the second icon in the "Compound mouse interactions" section, called 'pan' there.
@hgy29 there is some issue with screen, i open one and it is immediately fullscreen even though i call s:setSize(800,480) self.screen:setState(Screen.STATE_NORMAL)
also application:set("cursor","cross") etc does not seem to work for me at all now for some reason.
application:set("cursor", "cross") is working for me on win32 64 exported app
ok, more precisely: 1. it updates only if i move the mouse a bit. 2. it does not update at all if i'm using a pen (to press a button which would trigger a change in the cursor).
@hgy29 there is some issue with screen, i open one and it is immediately fullscreen even though i call s:setSize(800,480) self.screen:setState(Screen.STATE_NORMAL)
I have the correct? behavior when doing this:
local sss = Sprite.new()local img = Bitmap.new(Texture.new("gfx/ui/rpgpp_lt_models_vgood.png"))local ss = Screen.new(0)
sss:addChild(img)
ss:setPosition(128, 128)
ss:setSize(128, 128)-- ss:setState(Screen.STATE_ACTIVE|Screen.STATE_MAXIMIZED|Screen.STATE_FULLSCREEN)
ss:setTitle("test")print("ss", ss:getState())
ss:setContent(sss)
one issue though is when you resize the Screen it goes blank!
(the Screen is the one at the left of the player, 128*128px)
one issue though is when you resize the Screen it goes blank!
Yes can confirm that when going full screen (maximized) and then back the screen is blank for me. One more thing about adding Screen states, when I do this
I though that these would be the values but I may be wrong (taken from c++): Screen.STATE_NORMAL 0 Screen.STATE_MINIMIZED 1 Screen.STATE_MAXIMIZED 2 Screen.STATE_FULLSCREEN 4 Screen.STATE_ACTIVE 8 Screen.STATE_HIDDEN 16 Screen.STATE_CLOSED 32
Plus also a bug? when you close the Screen the app closes too!
Plus a question: how do you set states? Like this ss:setState(Screen.STATE_NORMAL | Screen.STATE_ACTIVE) or like this ss:setState(Screen.STATE_NORMAL + Screen.STATE_ACTIVE)
Could you confirm that this could be the issue please
I am on my way on testing on my side by building giderosBUILT AND TESTED DONE, ISSUE NOT FIXED
Thank you
EDIT: I built Gideros with my modifications (that is only commenting the above quoted code) but unfortunately that doesn't solve the issue EDIT2: the issue happens when you quickly press and release (in my case the up arrow key) multiple times (it seems Gideros doesn't register the key up event?) EDIT3: I attach a stripped project file if you want to compile for win32 and see the issue
I can't reproduce the issue, or I don't know what to look for. I always get a KEY_UP when I release a key, although on windows there is an autorepeat feture that causes multiple KEY_DOWN to be sent for a single key if you press the key more than half a second or so.
I will disable auto repeat stuff , since Gideros doesn't expect it.
...although on windows there is an autorepeat feture that causes multiple KEY_DOWN to be sent for a single key if you press the key more than half a second or so.
I will disable auto repeat stuff , since Gideros doesn't expect it.
Excellent, that is what I was trying to understand. So it's not a bug in Gideros
Thank you hgy29. I also noticed there is no defined key for the ENTER key on the numpad. MS said that not all keys on the keyboard are mapped for win32 https://github.com/microsoft/DirectXTK/issues/319
I will have to do with it
One more question please: while searching for the above I tried to export win32 template on my windows 11 but it is not working (something about Luau). Have you tried it?
I am trying to build win32 export template with latest Gideros 2024.6 but failing
first I had this error (on both windows10 & 11):
#BUILDING lua
make[1]: Entering directory '/c/dev/gideros_dev202406'
#C+ StringUtils
luau/Ast/src/StringUtils.cpp: In function'bool Luau::equalsLower(std::string_view, std::string_view)':
luau/Ast/src/StringUtils.cpp:208:21: error: 'uint8_t' was not declared in this scope
208|if(tolower(uint8_t(lhs[i]))!= tolower(uint8_t(rhs[i])))| ^~~~~~~
I added this in StringUtils.h and it seems to work:
// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details
#pragma once
...
#include stdarg.h
#include stdint.h // new 20240611
namespace Luau
Now this error pops up :
...
#C+ winmm
#LINK openal.dll
cp win32_example/build/openal.dll ./Sdk/lib/win32
make[1]: Leaving directory '/c/dev/gideros_dev202406'
#BUILDING gid
make[1]: Entering directory '/c/dev/gideros_dev202406'
#C+ gaudio-loader-mp3
...
#CC mixer
#CC mix_all
#CC load_helpers
#CC load
libgid/external/libxmp-4.3/src/load.c: In function'xmp_load_module_from_file':
libgid/external/libxmp-4.3/src/load.c:530:33: error: passing argument 1 of 'fileno' from incompatible pointer type[-Wincompatible-pointer-types]530| FILE *f = fdopen(fileno((FILE *)file), "rb");| ^~~~~~~~~~~~
||| G_FILE *{aka struct g__sFILE *}
In file included from libgvfs/gstdio.h:8,
from libgid/external/libxmp-4.3/src/stdio2.h:4,
from libgid/external/libxmp-4.3/src/load.c:23:
C:/msys64/mingw64/include/stdio.h:1510:28: note: expected 'FILE *'{aka 'struct _iobuf *'} but argument is of type'G_FILE *'{aka 'struct g__sFILE *'}1510| int __cdecl fileno(FILE *_File) __MINGW_ATTRIB_DEPRECATED_MSVC2005;| ~~~~~~^~~~~
libgid/external/libxmp-4.3/src/load.c:530:19: error: initialization of 'G_FILE *'{aka 'struct g__sFILE *'} from incompatible pointer type'FILE *'{aka 'struct _iobuf *'}[-Wincompatible-pointer-types]530| FILE *f = fdopen(fileno((FILE *)file), "rb");| ^~~~~~
make[1]: ***[/c/dev/gideros_dev202406/scripts//GidWin32.mk:92: win32_example/build/libgid/external/libxmp-4.3/src/load.o] Error 1
make[1]: Leaving directory '/c/dev/gideros_dev202406'
make: ***[/c/dev/gideros_dev202406/scripts//GidWin32.mk:66: gid.win32.libs] Error 2
HP PC@XXX MSYS /c/dev/gideros_dev202406
$
Am I having all those troubles because I have a SPACE in my username directory HP PC???
I know when you install Android Studio they tell you not to have ANY SPACES in the path!!!
That may be the reason but I wanted to ask before formating my HD
Or maybe when I installed VS Community I forgot to install win10 SDK (I installed only win11 SDK). I will try to install win10 SDK and see what I get . Nope didn't work, I guess VS is not needed here
@MoKaLux, it seems to me that you have an issue with your msys installation, like incomplete or bad compiler installed. Not sure of what happened, exactly but can you double check your installed packages ?
Do you know why there is such a lag when using MOUSE_MOVE on win32 compared to winQt?
I have checked the ginput-win32.cpp file and it is the same as the Qt one when it comes to GINPUT_MOUSE_MOVE_EVENT
Win32, when I drag a sprite on a 256*256 canvas everything is fine, above 512*512 it starts lagging a bit and beyond 1024*1024 a lot of lags. That is when I drag the sprite, it doesn't move at all for a couple of frames and after a while it jumps to the new location and it "freezes" again, ...
On Qt I can go up to 2048*2048 and then notice only little lags.
@keszegh, I just tested and they are not encrypted for me, but they are compiled anyway (VM bytecode) so you won't find your original source code
i only noticed that it is not human readable (the lua file), as it was in the past. what platforms have this bytecode thingy? overall it's fine then and thanks for checking.
Comments
Fragmenter - animated loop machine and IKONOMIKON - the memory game
Imho win32 export doesn't sound good for promoting Gideros, what could we call win32 export? Windows without Qt? Windows64? ...
s:setSize(800,480)
self.screen:setState(Screen.STATE_NORMAL)
Fragmenter - animated loop machine and IKONOMIKON - the memory game
Fragmenter - animated loop machine and IKONOMIKON - the memory game
1. it updates only if i move the mouse a bit.
2. it does not update at all if i'm using a pen (to press a button which would trigger a change in the cursor).
Likes: MoKaLux
Fragmenter - animated loop machine and IKONOMIKON - the memory game
(the Screen is the one at the left of the player, 128*128px)
Fragmenter - animated loop machine and IKONOMIKON - the memory game
One more thing about adding Screen states, when I do this
Screen.STATE_NORMAL 0
Screen.STATE_MINIMIZED 1
Screen.STATE_MAXIMIZED 2
Screen.STATE_FULLSCREEN 4
Screen.STATE_ACTIVE 8
Screen.STATE_HIDDEN 16
Screen.STATE_CLOSED 32
Plus also a bug? when you close the Screen the app closes too!
Plus a question: how do you set states? Like this ss:setState(Screen.STATE_NORMAL | Screen.STATE_ACTIVE) or like this ss:setState(Screen.STATE_NORMAL + Screen.STATE_ACTIVE)
In my game I implemented a jump input buffer (http://kpulv.com/106/Jump_Input_Buffering/) which works very well on all platforms but win32
html5 demo https://mokatunprod.itch.io/gideros-tests?secret=ht8e7uTPJgGUApRozoooCCEE
It seems win32 doesn't release the key (deleteKeyEvent) on Event.KEY_UP?
I had a look at the source code and found this extra code which isn't present in Qt, winRT, ...:
Could you confirm that this could be the issue pleaseI am on my way on testing on my side by building giderosBUILT AND TESTED DONE, ISSUE NOT FIXEDThank you
EDIT: I built Gideros with my modifications (that is only commenting the above quoted code) but unfortunately that doesn't solve the issue
EDIT2: the issue happens when you quickly press and release (in my case the up arrow key) multiple times (it seems Gideros doesn't register the key up event?)
EDIT3: I attach a stripped project file if you want to compile for win32 and see the issue
I will disable auto repeat stuff , since Gideros doesn't expect it.
Likes: MoKaLux
The weird thing is that SHIFT CTRL and ALT work just fine when used for any keys on the keyboard.
On the c++ side I see:
libgid\src\win32\ginput-win32.cpp
On win32 the ALT modifier is determined from the WM_MOUSEMOVE event here: https://github.com/gideros/gideros/blob/master/win32_example/win32.cpp#L619
But I notice that VK_MENU is used on the line of code, where it should have been one of the MK_xxx constants. Unfortunately, there is no MK_ALT/MK_MENU defined: https://learn.microsoft.com/en-us/windows/win32/inputdev/wm-mousemove
Likes: MoKaLux
Likes: MoKaLux
Thank you hgy29. I also noticed there is no defined key for the ENTER key on the numpad. MS said that not all keys on the keyboard are mapped for win32 https://github.com/microsoft/DirectXTK/issues/319
I will have to do with it
One more question please: while searching for the above I tried to export win32 template on my windows 11 but it is not working (something about Luau). Have you tried it?
Thank you kind sir
https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
VK_MENU 0x12 ALT key
VK_LMENU 0xA4 Left ALT key
VK_RMENU 0xA5 Right ALT key
FI: NUMPAD ENTER key: https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-kbdllhookstruct, https://github.com/microsoft/PowerToys/issues/5703
I am trying to build win32 export template with latest Gideros 2024.6 but failing
first I had this error (on both windows10 & 11):
Am I having all those troubles because I have a SPACE in my username directory HP PC???
I know when you install Android Studio they tell you not to have ANY SPACES in the path!!!
That may be the reason but I wanted to ask before formating my HD
Or maybe when I installed VS Community I forgot to install win10 SDK (I installed only win11 SDK). I will try to install win10 SDK and see what I get . Nope didn't work, I guess VS is not needed here
I will try on my windows 10 laptop.
Thank you
Likes: MoKaLux
I can compile Gideros Studio and the Player.
The same errors as above appear when trying to build win32 export template . Sadly, I don't know what I am missing.
Thank you for the help anyway, much appreciated
luau makefile:
https://github.com/gideros/luau/blob/master/Makefile#L9C1-L28C1
EDIT: Gideros Studio build success but still no luck with win32 export (still same errors as above post) , I will investigate more
EDIT2: when I try to compile Luau.pro with Qt I have these errors:
Do you know why there is such a lag when using MOUSE_MOVE on win32 compared to winQt?
I have checked the ginput-win32.cpp file and it is the same as the Qt one when it comes to GINPUT_MOUSE_MOVE_EVENT
Win32, when I drag a sprite on a 256*256 canvas everything is fine, above 512*512 it starts lagging a bit and beyond 1024*1024 a lot of lags. That is when I drag the sprite, it doesn't move at all for a couple of frames and after a while it jumps to the new location and it "freezes" again, ...
On Qt I can go up to 2048*2048 and then notice only little lags.
Is win32 that "weak" compared to Qt ?
Fragmenter - animated loop machine and IKONOMIKON - the memory game
overall it's fine then and thanks for checking.
Fragmenter - animated loop machine and IKONOMIKON - the memory game