Ziggle() : A handy tool to lookup Win32 Constants

Post your working scripts, libraries and tools.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

04 Feb 2022, 14:25

jNizM wrote:
04 Feb 2022, 04:02
Thank you for this tool.
:) :thumbup:
jNizM wrote:
04 Feb 2022, 04:02
Take a look at .. Maybe you can find something useful in his script for your tool.
I don't do that... i.e., Take ideas from other's work.
I'm just rewriting/modernizing my very old V1 script, a plugin for my Always-running-script.
There is also @TheArkive's ConstScanner, when I need exhaustive info. :)
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

04 Feb 2022, 14:35

neogna2 wrote:
04 Feb 2022, 05:39
I noticed that jeeswg's list of windows messages has some items that are not in Ziggle, but don't know relevant that is.
I'm aware of that topic.
I will be restricting constants to only those are available in Windows headers..
..except for a few of our own constants line AHK_NOTIFY := 0x404
neogna2 wrote:
04 Feb 2022, 05:39
One use case is to start Ziggle with a seach term from a CLI parameter. The function Ziggle() itself has no parameter for a search string but we can either edit one in or make another helper script set the Ziggle GUI's search from a parameter like this

Code: Select all

if A_Args.Has(1)
    ControlSetText(A_Args[1], "Edit1", "Ziggle ahk_class AutoHotkeyGUI")
:)
All the UI functions I'm posting are being called from one single always-running-script.
2 hotkeys for each, one for loading smaller UI and the other one for a larger ui, That is, when Rows, Cols parameters are there.
I will try to add an another one, too.
User avatar
TheArkive
Posts: 1030
Joined: 05 Aug 2016, 08:06
Location: The Construct
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

05 Feb 2022, 04:46

SKAN wrote:
04 Feb 2022, 14:25
There is also @TheArkive's ConstScanner, when I need exhaustive info. :)

Hehe, yah exhaustive is what I'm going for.

I have made it down to "Title Callable UI" in the Technologies list in the TOC on this MS page.

I hope to have a ziggle format list in the next few days/weeks.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

05 Feb 2022, 07:19

TheArkive wrote:
05 Feb 2022, 04:46
Hehe, yah exhaustive is what I'm going for.
:)
I have made it down to "Title Callable UI" in the Technologies list in the TOC on this MS page.
:thumbup:
I hope to have a ziggle format list in the next few days/weeks.
Super! :thumbup:
 
Zig seems to use .7E float-format, which destroys precision for a value like:

Code: Select all

; d3d10.h -> line:361
#define D3D10_FTOI_INSTRUCTION_MAX_INPUT	( 2147483647.999f )
It is being converted to integer 2.147484E+09 (2147484000).
https://github.com/marlersoft/zigwin32/blob/4961bbf99adae3f1d1e9c1aacbb8004291425c66/win32/graphics/direct3d10.zig#L80

Same with MagnumDB
https://www.magnumdb.com/search?q=D3D10_FTOI_INSTRUCTION_MAX_INPUT

I feel .15G would be the way to go.

Code: Select all

MsgBox  Format("{:.7E}",  2147483647.999)
 . "`n" Format("{:.15G}", 2147483647.999)
User avatar
TheArkive
Posts: 1030
Joined: 05 Aug 2016, 08:06
Location: The Construct
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

05 Feb 2022, 08:06

SKAN wrote:
05 Feb 2022, 07:19
Zig seems to use .7E float-format, which destroys precision for a value like:

Code: Select all

; d3d10.h -> line:361
#define D3D10_FTOI_INSTRUCTION_MAX_INPUT	( 2147483647.999f )
It is being converted to integer 2.147484E+09 (2147484000).
https://github.com/marlersoft/zigwin32/blob/4961bbf99adae3f1d1e9c1aacbb8004291425c66/win32/graphics/direct3d10.zig#L80

Same with MagnumDB
https://www.magnumdb.com/search?q=D3D10_FTOI_INSTRUCTION_MAX_INPUT

I feel .15G would be the way to go.

Code: Select all

MsgBox  Format("{:.7E}",  2147483647.999)
 . "`n" Format("{:.15G}", 2147483647.999)
Duely noted! So far any floats are simply converted to ahk float by dropping the trailing "f" and performing Float(value). I didn't think to check accuracy for floats since they were (technically) directly copied, so thanks for the reminder.

I just checked and there is indeed an accuracy issue with my simple approach regarding floats. I feel like the data for floats should be pruned of trailing "f" and stored as text and then users can decide how to convert/use the data from the ziggle list, or would that mess up how Ziggle works?

Omitting the trailing "f" is usually all that is needed to make it compatible with the Float() and/or Format() function.

What do you think?
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

05 Feb 2022, 08:24

TheArkive wrote:
05 Feb 2022, 08:06
What do you think?
In Ziggy(), if a user searches for the float value 0.25, it wouldn't match the following record:

Code: Select all

2.5e-01    D2D1_DEFAULT_FLATTENING_TOLERANCE
When/If, it becomes a fact, that all floats were formatted using .15G, then I could convert the user input to same .15G format and then search.
User avatar
TheArkive
Posts: 1030
Joined: 05 Aug 2016, 08:06
Location: The Construct
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

05 Feb 2022, 08:27

SKAN wrote:
05 Feb 2022, 08:24
When/If, it becomes a fact, that all floats were formatted using .15G, then I could convert the user input to same .15G format and then search.

Ok gotcha. I'll make sure the Ziggle() floats are recorded as .15G format.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

05 Feb 2022, 08:55

Also, this is why I would prefer .15G for float conversion:

Code: Select all

MsgBox Float(2/1.25) "`n"
     . Format("{:.15G}", 2/1.25)
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

05 Feb 2022, 16:28

@TheArkive

One feature of .15G is that, it converts float (for eg. AUDIO_MIN_FRAMERATE) 10.0 to integer 10 :)
That's perfectly alright for Ziggle(). Let user type a number in any format: Hex, Integer, float, e-notation...
IsNumber() will be enough. Search can be done in .15G format.
Edit: IsNumber() isn't enough. IsFloat() is required. This doesn't work as expected: MsgBox Format("{:.15g}", 0x8000000000000000)

My silly parser only picks 312 entries from /um/ and /shared/ folders of SDK. :roll:.

Code: Select all

10	AUDIO_MIN_FRAMERATE
384000	AUDIO_MAX_FRAMERATE
8	CVIEWIDLEMINUTESDEFAULT
0.25	D2D1_DEFAULT_FLATTENING_TOLERANCE
80	D2D1_SCENE_REFERRED_SDR_WHITE_LEVEL
1	D3D10_DEFAULT_BLEND_FACTOR_ALPHA
1	D3D10_DEFAULT_BLEND_FACTOR_BLUE
1	D3D10_DEFAULT_BLEND_FACTOR_GREEN
1	D3D10_DEFAULT_BLEND_FACTOR_RED
0	D3D10_DEFAULT_BORDER_COLOR_COMPONENT
0	D3D10_DEFAULT_DEPTH_BIAS_CLAMP
16	D3D10_DEFAULT_MAX_ANISOTROPY
0	D3D10_DEFAULT_MIP_LOD_BIAS
0	D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS
0	D3D10_DEFAULT_VIEWPORT_MAX_DEPTH
0	D3D10_DEFAULT_VIEWPORT_MIN_DEPTH
0.6	D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP
3.402823466E+38	D3D10_FLOAT32_MAX
0.6	D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP
2.4	D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR
1	D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR
0.055	D3D10_FLOAT_TO_SRGB_OFFSET
12.92	D3D10_FLOAT_TO_SRGB_SCALE_1
1.055	D3D10_FLOAT_TO_SRGB_SCALE_2
0.0031308	D3D10_FLOAT_TO_SRGB_THRESHOLD
2147483647.999	D3D10_FTOI_INSTRUCTION_MAX_INPUT
-2147483648.999	D3D10_FTOI_INSTRUCTION_MIN_INPUT
4294967295.999	D3D10_FTOU_INSTRUCTION_MAX_INPUT
0	D3D10_FTOU_INSTRUCTION_MIN_INPUT
1	D3D10_LINEAR_GAMMA
1	D3D10_MAX_BORDER_COLOR_COMPONENT
1	D3D10_MAX_DEPTH
3.402823466E+34	D3D10_MAX_POSITION_VALUE
0	D3D10_MIN_BORDER_COLOR_COMPONENT
0	D3D10_MIN_DEPTH
15.99	D3D10_MIP_LOD_BIAS_MAX
-16	D3D10_MIP_LOD_BIAS_MIN
1.4	D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH
0	D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.5	D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT
2.2	D3D10_SRGB_GAMMA
12.92	D3D10_SRGB_TO_FLOAT_DENOMINATOR_1
1.055	D3D10_SRGB_TO_FLOAT_DENOMINATOR_2
2.4	D3D10_SRGB_TO_FLOAT_EXPONENT
0.055	D3D10_SRGB_TO_FLOAT_OFFSET
0.04045	D3D10_SRGB_TO_FLOAT_THRESHOLD
0.5	D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP
1.050005	D3D_SPEC_VERSION
0.6	D3D10_1_FLOAT16_FUSED_TOLERANCE_IN_ULP
0.6	D3D10_1_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP
1	D3D11_DEFAULT_BLEND_FACTOR_ALPHA
1	D3D11_DEFAULT_BLEND_FACTOR_BLUE
1	D3D11_DEFAULT_BLEND_FACTOR_GREEN
1	D3D11_DEFAULT_BLEND_FACTOR_RED
0	D3D11_DEFAULT_BORDER_COLOR_COMPONENT
0	D3D11_DEFAULT_DEPTH_BIAS_CLAMP
0	D3D11_DEFAULT_MIP_LOD_BIAS
0	D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS
0	D3D11_DEFAULT_VIEWPORT_MAX_DEPTH
0	D3D11_DEFAULT_VIEWPORT_MIN_DEPTH
0.6	D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP
3.402823466E+38	D3D11_FLOAT32_MAX
0.6	D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP
2.4	D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR
1	D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR
0.055	D3D11_FLOAT_TO_SRGB_OFFSET
12.92	D3D11_FLOAT_TO_SRGB_SCALE_1
1.055	D3D11_FLOAT_TO_SRGB_SCALE_2
0.0031308	D3D11_FLOAT_TO_SRGB_THRESHOLD
2147483647.999	D3D11_FTOI_INSTRUCTION_MAX_INPUT
-2147483648.999	D3D11_FTOI_INSTRUCTION_MIN_INPUT
4294967295.999	D3D11_FTOU_INSTRUCTION_MAX_INPUT
0	D3D11_FTOU_INSTRUCTION_MIN_INPUT
1	D3D11_HS_MAXTESSFACTOR_LOWER_BOUND
64	D3D11_HS_MAXTESSFACTOR_UPPER_BOUND
1	D3D11_LINEAR_GAMMA
1	D3D11_MAX_BORDER_COLOR_COMPONENT
1	D3D11_MAX_DEPTH
3.402823466E+34	D3D11_MAX_POSITION_VALUE
0	D3D11_MIN_BORDER_COLOR_COMPONENT
0	D3D11_MIN_DEPTH
15.99	D3D11_MIP_LOD_BIAS_MAX
-16	D3D11_MIP_LOD_BIAS_MIN
1.4	D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH
0	D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.5	D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.25	D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM
1.07	D3D11_SPEC_VERSION
2.2	D3D11_SRGB_GAMMA
12.92	D3D11_SRGB_TO_FLOAT_DENOMINATOR_1
1.055	D3D11_SRGB_TO_FLOAT_DENOMINATOR_2
2.4	D3D11_SRGB_TO_FLOAT_EXPONENT
0.055	D3D11_SRGB_TO_FLOAT_OFFSET
0.04045	D3D11_SRGB_TO_FLOAT_THRESHOLD
0.5	D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP
1	D3D12_DEFAULT_BLEND_FACTOR_ALPHA
1	D3D12_DEFAULT_BLEND_FACTOR_BLUE
1	D3D12_DEFAULT_BLEND_FACTOR_GREEN
1	D3D12_DEFAULT_BLEND_FACTOR_RED
0	D3D12_DEFAULT_BORDER_COLOR_COMPONENT
0	D3D12_DEFAULT_DEPTH_BIAS_CLAMP
0	D3D12_DEFAULT_MIP_LOD_BIAS
0	D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS
0	D3D12_DEFAULT_VIEWPORT_MAX_DEPTH
0	D3D12_DEFAULT_VIEWPORT_MIN_DEPTH
0.6	D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP
3.402823466E+38	D3D12_FLOAT32_MAX
0.6	D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP
2.4	D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR
1	D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR
0.055	D3D12_FLOAT_TO_SRGB_OFFSET
12.92	D3D12_FLOAT_TO_SRGB_SCALE_1
1.055	D3D12_FLOAT_TO_SRGB_SCALE_2
0.0031308	D3D12_FLOAT_TO_SRGB_THRESHOLD
2147483647.999	D3D12_FTOI_INSTRUCTION_MAX_INPUT
-2147483648.999	D3D12_FTOI_INSTRUCTION_MIN_INPUT
4294967295.999	D3D12_FTOU_INSTRUCTION_MAX_INPUT
0	D3D12_FTOU_INSTRUCTION_MIN_INPUT
1	D3D12_HS_MAXTESSFACTOR_LOWER_BOUND
64	D3D12_HS_MAXTESSFACTOR_UPPER_BOUND
1	D3D12_LINEAR_GAMMA
1	D3D12_MAX_BORDER_COLOR_COMPONENT
1	D3D12_MAX_DEPTH
3.402823466E+34	D3D12_MAX_POSITION_VALUE
0	D3D12_MIN_BORDER_COLOR_COMPONENT
0	D3D12_MIN_DEPTH
15.99	D3D12_MIP_LOD_BIAS_MAX
-16	D3D12_MIP_LOD_BIAS_MIN
1.4	D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH
0	D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.5	D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.25	D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM
1.16	D3D12_SPEC_VERSION
2.2	D3D12_SRGB_GAMMA
12.92	D3D12_SRGB_TO_FLOAT_DENOMINATOR_1
1.055	D3D12_SRGB_TO_FLOAT_DENOMINATOR_2
2.4	D3D12_SRGB_TO_FLOAT_EXPONENT
0.055	D3D12_SRGB_TO_FLOAT_OFFSET
0.04045	D3D12_SRGB_TO_FLOAT_THRESHOLD
0.5	D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP
8	DD_ROP_SPACE
0	DSFXCHORUS_WETDRYMIX_MIN
100	DSFXCHORUS_WETDRYMIX_MAX
0	DSFXCHORUS_DEPTH_MIN
100	DSFXCHORUS_DEPTH_MAX
-99	DSFXCHORUS_FEEDBACK_MIN
99	DSFXCHORUS_FEEDBACK_MAX
0	DSFXCHORUS_FREQUENCY_MIN
10	DSFXCHORUS_FREQUENCY_MAX
0	DSFXCHORUS_DELAY_MIN
20	DSFXCHORUS_DELAY_MAX
0	DSFXFLANGER_WETDRYMIX_MIN
100	DSFXFLANGER_WETDRYMIX_MAX
0	DSFXFLANGER_FREQUENCY_MIN
10	DSFXFLANGER_FREQUENCY_MAX
0	DSFXFLANGER_DEPTH_MIN
100	DSFXFLANGER_DEPTH_MAX
-99	DSFXFLANGER_FEEDBACK_MIN
99	DSFXFLANGER_FEEDBACK_MAX
0	DSFXFLANGER_DELAY_MIN
4	DSFXFLANGER_DELAY_MAX
0	DSFXECHO_WETDRYMIX_MIN
100	DSFXECHO_WETDRYMIX_MAX
0	DSFXECHO_FEEDBACK_MIN
100	DSFXECHO_FEEDBACK_MAX
1	DSFXECHO_LEFTDELAY_MIN
2000	DSFXECHO_LEFTDELAY_MAX
1	DSFXECHO_RIGHTDELAY_MIN
2000	DSFXECHO_RIGHTDELAY_MAX
-60	DSFXDISTORTION_GAIN_MIN
0	DSFXDISTORTION_GAIN_MAX
0	DSFXDISTORTION_EDGE_MIN
100	DSFXDISTORTION_EDGE_MAX
100	DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN
8000	DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX
100	DSFXDISTORTION_POSTEQBANDWIDTH_MIN
8000	DSFXDISTORTION_POSTEQBANDWIDTH_MAX
100	DSFXDISTORTION_PRELOWPASSCUTOFF_MIN
8000	DSFXDISTORTION_PRELOWPASSCUTOFF_MAX
-60	DSFXCOMPRESSOR_GAIN_MIN
60	DSFXCOMPRESSOR_GAIN_MAX
0.01	DSFXCOMPRESSOR_ATTACK_MIN
500	DSFXCOMPRESSOR_ATTACK_MAX
50	DSFXCOMPRESSOR_RELEASE_MIN
3000	DSFXCOMPRESSOR_RELEASE_MAX
-60	DSFXCOMPRESSOR_THRESHOLD_MIN
0	DSFXCOMPRESSOR_THRESHOLD_MAX
1	DSFXCOMPRESSOR_RATIO_MIN
100	DSFXCOMPRESSOR_RATIO_MAX
0	DSFXCOMPRESSOR_PREDELAY_MIN
4	DSFXCOMPRESSOR_PREDELAY_MAX
80	DSFXPARAMEQ_CENTER_MIN
16000	DSFXPARAMEQ_CENTER_MAX
1	DSFXPARAMEQ_BANDWIDTH_MIN
36	DSFXPARAMEQ_BANDWIDTH_MAX
-15	DSFXPARAMEQ_GAIN_MIN
15	DSFXPARAMEQ_GAIN_MAX
0	DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN
10	DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX
0	DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT
0.1	DSFX_I3DL2REVERB_DECAYTIME_MIN
20	DSFX_I3DL2REVERB_DECAYTIME_MAX
1.49	DSFX_I3DL2REVERB_DECAYTIME_DEFAULT
0.1	DSFX_I3DL2REVERB_DECAYHFRATIO_MIN
2	DSFX_I3DL2REVERB_DECAYHFRATIO_MAX
0.83	DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT
0	DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN
0.3	DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX
0.007	DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT
0	DSFX_I3DL2REVERB_REVERBDELAY_MIN
0.1	DSFX_I3DL2REVERB_REVERBDELAY_MAX
0.011	DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT
0	DSFX_I3DL2REVERB_DIFFUSION_MIN
100	DSFX_I3DL2REVERB_DIFFUSION_MAX
100	DSFX_I3DL2REVERB_DIFFUSION_DEFAULT
0	DSFX_I3DL2REVERB_DENSITY_MIN
100	DSFX_I3DL2REVERB_DENSITY_MAX
100	DSFX_I3DL2REVERB_DENSITY_DEFAULT
20	DSFX_I3DL2REVERB_HFREFERENCE_MIN
20000	DSFX_I3DL2REVERB_HFREFERENCE_MAX
5000	DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT
-96	DSFX_WAVESREVERB_INGAIN_MIN
0	DSFX_WAVESREVERB_INGAIN_MAX
0	DSFX_WAVESREVERB_INGAIN_DEFAULT
-96	DSFX_WAVESREVERB_REVERBMIX_MIN
0	DSFX_WAVESREVERB_REVERBMIX_MAX
0	DSFX_WAVESREVERB_REVERBMIX_DEFAULT
0.001	DSFX_WAVESREVERB_REVERBTIME_MIN
3000	DSFX_WAVESREVERB_REVERBTIME_MAX
1000	DSFX_WAVESREVERB_REVERBTIME_DEFAULT
0.001	DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN
0.999	DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX
0.001	DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT
1	DS3D_DEFAULTDISTANCEFACTOR
0	DS3D_MINROLLOFFFACTOR
10	DS3D_MAXROLLOFFFACTOR
1	DS3D_DEFAULTROLLOFFFACTOR
0	DS3D_MINDOPPLERFACTOR
10	DS3D_MAXDOPPLERFACTOR
1	DS3D_DEFAULTDOPPLERFACTOR
1	DS3D_DEFAULTMINDISTANCE
1000000000	DS3D_DEFAULTMAXDISTANCE
1E+150	GLU_TESS_MAX_COORD
12	HRTF_MAX_GAIN_LIMIT
-96	HRTF_MIN_GAIN_LIMIT
0.05	HRTF_MIN_UNITY_GAIN_DISTANCE
1	HRTF_DEFAULT_UNITY_GAIN_DISTANCE
-123456789	U_NO_NUMERIC_VALUE
8	U_UNICODE_VERSION
-123456789	U_NO_NUMERIC_VALUE
-0.00123456777	UPLRULES_NO_UNIQUE_VALUE
1	IMAPI2FS_FullVersion_STR
1	IMAPI2FS_FullVersion_WSTR
4.71428631292525	KS_47NABTS_SCALER
1999999.5	DISPID_STYLESHEETSCOLLECTION_NAMED_MAX
2000000.5	DISPID_STYLESHEETSCOLLECTION_ORDINAL_BASE
10	VER_DDK_PRODUCTVERSION_STR
0	PHOTO_GAINCONTROL_NONE
1	PHOTO_GAINCONTROL_LOWGAINUP
2	PHOTO_GAINCONTROL_HIGHGAINUP
3	PHOTO_GAINCONTROL_LOWGAINDOWN
4	PHOTO_GAINCONTROL_HIGHGAINDOWN
3.8	SQL_SPEC_STRING
-1	AMF_AUTOMATICGAIN
2	WEBAUTHN_ATTESTATION_VER_TPM_2_0
256	CREDUI_MAX_PASSWORD_LENGTH
2.5	szOID_DS
64	CRYPT_X942_PUB_INFO_BYTE_LENGTH
0.001	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_DELTA
0.9	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MIN
0.999	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MAX
0.001	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_LEARNING_RATE
0.99	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_EXPO_SMOOTH_ALPHA
3.141592654	X3DAUDIO_PI
6.283185307	X3DAUDIO_2PI
343.5	X3DAUDIO_SPEED_OF_SOUND
16777216	XAUDIO2_MAX_VOLUME_LEVEL
0.0009765625	XAUDIO2_MIN_FREQ_RATIO
1024	XAUDIO2_MAX_FREQ_RATIO
2	XAUDIO2_DEFAULT_FREQ_RATIO
1.5	XAUDIO2_MAX_FILTER_ONEOVERQ
1	XAUDIO2_MAX_FILTER_FREQUENCY
1	XAUDIO2_DEFAULT_FILTER_FREQUENCY
1	XAUDIO2_DEFAULT_FILTER_ONEOVERQ
10	XAUDIO2_QUANTUM_MS
0	XAUDIO2FX_REVERB_MIN_WET_DRY_MIX
20	XAUDIO2FX_REVERB_MIN_ROOM_FILTER_FREQ
-100	XAUDIO2FX_REVERB_MIN_ROOM_FILTER_MAIN
-100	XAUDIO2FX_REVERB_MIN_ROOM_FILTER_HF
-100	XAUDIO2FX_REVERB_MIN_REFLECTIONS_GAIN
-100	XAUDIO2FX_REVERB_MIN_REVERB_GAIN
0.1	XAUDIO2FX_REVERB_MIN_DECAY_TIME
0	XAUDIO2FX_REVERB_MIN_DENSITY
0	XAUDIO2FX_REVERB_MIN_ROOM_SIZE
100	XAUDIO2FX_REVERB_MAX_WET_DRY_MIX
20000	XAUDIO2FX_REVERB_MAX_ROOM_FILTER_FREQ
0	XAUDIO2FX_REVERB_MAX_ROOM_FILTER_MAIN
0	XAUDIO2FX_REVERB_MAX_ROOM_FILTER_HF
20	XAUDIO2FX_REVERB_MAX_REFLECTIONS_GAIN
20	XAUDIO2FX_REVERB_MAX_REVERB_GAIN
100	XAUDIO2FX_REVERB_MAX_DENSITY
100	XAUDIO2FX_REVERB_MAX_ROOM_SIZE
100	XAUDIO2FX_REVERB_DEFAULT_WET_DRY_MIX
5000	XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_FREQ
0	XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_MAIN
0	XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_HF
0	XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_GAIN
0	XAUDIO2FX_REVERB_DEFAULT_REVERB_GAIN
1	XAUDIO2FX_REVERB_DEFAULT_DECAY_TIME
100	XAUDIO2FX_REVERB_DEFAULT_DENSITY
100	XAUDIO2FX_REVERB_DEFAULT_ROOM_SIZE
User avatar
TheArkive
Posts: 1030
Joined: 05 Aug 2016, 08:06
Location: The Construct
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

06 Feb 2022, 03:57

SKAN wrote:
05 Feb 2022, 16:28
@TheArkive

One feature of .15G is that, it converts float (for eg. AUDIO_MIN_FRAMERATE) 10.0 to integer 10 :)
That's perfectly alright for Ziggle(). Let user type a number in any format: Hex, Integer, float, e-notation...
IsNumber() will be enough. Search can be done in .15G format.
Edit: IsNumber() isn't enough. IsFloat() is required. This doesn't work as expected: MsgBox Format("{:.15g}", 0x8000000000000000)

That result makes some sense to me actually. Since AHK won't print UInt64 integers over (and including) 0x8000000000000000 as positive then any such value will be negative. I'm guessing the .15G also converts the number into scientific notation.

I think it makes sense to only use .15G format on floats. Is that what you are heading towards?

SKAN wrote:
05 Feb 2022, 16:28
My silly parser only picks 312 entries from /um/ and /shared/ folders of SDK. :roll:.

Code: Select all

10	AUDIO_MIN_FRAMERATE
384000	AUDIO_MAX_FRAMERATE
8	CVIEWIDLEMINUTESDEFAULT
0.25	D2D1_DEFAULT_FLATTENING_TOLERANCE
80	D2D1_SCENE_REFERRED_SDR_WHITE_LEVEL
1	D3D10_DEFAULT_BLEND_FACTOR_ALPHA
1	D3D10_DEFAULT_BLEND_FACTOR_BLUE
1	D3D10_DEFAULT_BLEND_FACTOR_GREEN
1	D3D10_DEFAULT_BLEND_FACTOR_RED
0	D3D10_DEFAULT_BORDER_COLOR_COMPONENT
0	D3D10_DEFAULT_DEPTH_BIAS_CLAMP
16	D3D10_DEFAULT_MAX_ANISOTROPY
0	D3D10_DEFAULT_MIP_LOD_BIAS
0	D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS
0	D3D10_DEFAULT_VIEWPORT_MAX_DEPTH
0	D3D10_DEFAULT_VIEWPORT_MIN_DEPTH
0.6	D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP
3.402823466E+38	D3D10_FLOAT32_MAX
0.6	D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP
2.4	D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR
1	D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR
0.055	D3D10_FLOAT_TO_SRGB_OFFSET
12.92	D3D10_FLOAT_TO_SRGB_SCALE_1
1.055	D3D10_FLOAT_TO_SRGB_SCALE_2
0.0031308	D3D10_FLOAT_TO_SRGB_THRESHOLD
2147483647.999	D3D10_FTOI_INSTRUCTION_MAX_INPUT
-2147483648.999	D3D10_FTOI_INSTRUCTION_MIN_INPUT
4294967295.999	D3D10_FTOU_INSTRUCTION_MAX_INPUT
0	D3D10_FTOU_INSTRUCTION_MIN_INPUT
1	D3D10_LINEAR_GAMMA
1	D3D10_MAX_BORDER_COLOR_COMPONENT
1	D3D10_MAX_DEPTH
3.402823466E+34	D3D10_MAX_POSITION_VALUE
0	D3D10_MIN_BORDER_COLOR_COMPONENT
0	D3D10_MIN_DEPTH
15.99	D3D10_MIP_LOD_BIAS_MAX
-16	D3D10_MIP_LOD_BIAS_MIN
1.4	D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH
0	D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.5	D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT
2.2	D3D10_SRGB_GAMMA
12.92	D3D10_SRGB_TO_FLOAT_DENOMINATOR_1
1.055	D3D10_SRGB_TO_FLOAT_DENOMINATOR_2
2.4	D3D10_SRGB_TO_FLOAT_EXPONENT
0.055	D3D10_SRGB_TO_FLOAT_OFFSET
0.04045	D3D10_SRGB_TO_FLOAT_THRESHOLD
0.5	D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP
1.050005	D3D_SPEC_VERSION
0.6	D3D10_1_FLOAT16_FUSED_TOLERANCE_IN_ULP
0.6	D3D10_1_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP
1	D3D11_DEFAULT_BLEND_FACTOR_ALPHA
1	D3D11_DEFAULT_BLEND_FACTOR_BLUE
1	D3D11_DEFAULT_BLEND_FACTOR_GREEN
1	D3D11_DEFAULT_BLEND_FACTOR_RED
0	D3D11_DEFAULT_BORDER_COLOR_COMPONENT
0	D3D11_DEFAULT_DEPTH_BIAS_CLAMP
0	D3D11_DEFAULT_MIP_LOD_BIAS
0	D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS
0	D3D11_DEFAULT_VIEWPORT_MAX_DEPTH
0	D3D11_DEFAULT_VIEWPORT_MIN_DEPTH
0.6	D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP
3.402823466E+38	D3D11_FLOAT32_MAX
0.6	D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP
2.4	D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR
1	D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR
0.055	D3D11_FLOAT_TO_SRGB_OFFSET
12.92	D3D11_FLOAT_TO_SRGB_SCALE_1
1.055	D3D11_FLOAT_TO_SRGB_SCALE_2
0.0031308	D3D11_FLOAT_TO_SRGB_THRESHOLD
2147483647.999	D3D11_FTOI_INSTRUCTION_MAX_INPUT
-2147483648.999	D3D11_FTOI_INSTRUCTION_MIN_INPUT
4294967295.999	D3D11_FTOU_INSTRUCTION_MAX_INPUT
0	D3D11_FTOU_INSTRUCTION_MIN_INPUT
1	D3D11_HS_MAXTESSFACTOR_LOWER_BOUND
64	D3D11_HS_MAXTESSFACTOR_UPPER_BOUND
1	D3D11_LINEAR_GAMMA
1	D3D11_MAX_BORDER_COLOR_COMPONENT
1	D3D11_MAX_DEPTH
3.402823466E+34	D3D11_MAX_POSITION_VALUE
0	D3D11_MIN_BORDER_COLOR_COMPONENT
0	D3D11_MIN_DEPTH
15.99	D3D11_MIP_LOD_BIAS_MAX
-16	D3D11_MIP_LOD_BIAS_MIN
1.4	D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH
0	D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.5	D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.25	D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM
1.07	D3D11_SPEC_VERSION
2.2	D3D11_SRGB_GAMMA
12.92	D3D11_SRGB_TO_FLOAT_DENOMINATOR_1
1.055	D3D11_SRGB_TO_FLOAT_DENOMINATOR_2
2.4	D3D11_SRGB_TO_FLOAT_EXPONENT
0.055	D3D11_SRGB_TO_FLOAT_OFFSET
0.04045	D3D11_SRGB_TO_FLOAT_THRESHOLD
0.5	D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP
1	D3D12_DEFAULT_BLEND_FACTOR_ALPHA
1	D3D12_DEFAULT_BLEND_FACTOR_BLUE
1	D3D12_DEFAULT_BLEND_FACTOR_GREEN
1	D3D12_DEFAULT_BLEND_FACTOR_RED
0	D3D12_DEFAULT_BORDER_COLOR_COMPONENT
0	D3D12_DEFAULT_DEPTH_BIAS_CLAMP
0	D3D12_DEFAULT_MIP_LOD_BIAS
0	D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS
0	D3D12_DEFAULT_VIEWPORT_MAX_DEPTH
0	D3D12_DEFAULT_VIEWPORT_MIN_DEPTH
0.6	D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP
3.402823466E+38	D3D12_FLOAT32_MAX
0.6	D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP
2.4	D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR
1	D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR
0.055	D3D12_FLOAT_TO_SRGB_OFFSET
12.92	D3D12_FLOAT_TO_SRGB_SCALE_1
1.055	D3D12_FLOAT_TO_SRGB_SCALE_2
0.0031308	D3D12_FLOAT_TO_SRGB_THRESHOLD
2147483647.999	D3D12_FTOI_INSTRUCTION_MAX_INPUT
-2147483648.999	D3D12_FTOI_INSTRUCTION_MIN_INPUT
4294967295.999	D3D12_FTOU_INSTRUCTION_MAX_INPUT
0	D3D12_FTOU_INSTRUCTION_MIN_INPUT
1	D3D12_HS_MAXTESSFACTOR_LOWER_BOUND
64	D3D12_HS_MAXTESSFACTOR_UPPER_BOUND
1	D3D12_LINEAR_GAMMA
1	D3D12_MAX_BORDER_COLOR_COMPONENT
1	D3D12_MAX_DEPTH
3.402823466E+34	D3D12_MAX_POSITION_VALUE
0	D3D12_MIN_BORDER_COLOR_COMPONENT
0	D3D12_MIN_DEPTH
15.99	D3D12_MIP_LOD_BIAS_MAX
-16	D3D12_MIP_LOD_BIAS_MIN
1.4	D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH
0	D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.5	D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT
0.25	D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM
1.16	D3D12_SPEC_VERSION
2.2	D3D12_SRGB_GAMMA
12.92	D3D12_SRGB_TO_FLOAT_DENOMINATOR_1
1.055	D3D12_SRGB_TO_FLOAT_DENOMINATOR_2
2.4	D3D12_SRGB_TO_FLOAT_EXPONENT
0.055	D3D12_SRGB_TO_FLOAT_OFFSET
0.04045	D3D12_SRGB_TO_FLOAT_THRESHOLD
0.5	D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP
8	DD_ROP_SPACE
0	DSFXCHORUS_WETDRYMIX_MIN
100	DSFXCHORUS_WETDRYMIX_MAX
0	DSFXCHORUS_DEPTH_MIN
100	DSFXCHORUS_DEPTH_MAX
-99	DSFXCHORUS_FEEDBACK_MIN
99	DSFXCHORUS_FEEDBACK_MAX
0	DSFXCHORUS_FREQUENCY_MIN
10	DSFXCHORUS_FREQUENCY_MAX
0	DSFXCHORUS_DELAY_MIN
20	DSFXCHORUS_DELAY_MAX
0	DSFXFLANGER_WETDRYMIX_MIN
100	DSFXFLANGER_WETDRYMIX_MAX
0	DSFXFLANGER_FREQUENCY_MIN
10	DSFXFLANGER_FREQUENCY_MAX
0	DSFXFLANGER_DEPTH_MIN
100	DSFXFLANGER_DEPTH_MAX
-99	DSFXFLANGER_FEEDBACK_MIN
99	DSFXFLANGER_FEEDBACK_MAX
0	DSFXFLANGER_DELAY_MIN
4	DSFXFLANGER_DELAY_MAX
0	DSFXECHO_WETDRYMIX_MIN
100	DSFXECHO_WETDRYMIX_MAX
0	DSFXECHO_FEEDBACK_MIN
100	DSFXECHO_FEEDBACK_MAX
1	DSFXECHO_LEFTDELAY_MIN
2000	DSFXECHO_LEFTDELAY_MAX
1	DSFXECHO_RIGHTDELAY_MIN
2000	DSFXECHO_RIGHTDELAY_MAX
-60	DSFXDISTORTION_GAIN_MIN
0	DSFXDISTORTION_GAIN_MAX
0	DSFXDISTORTION_EDGE_MIN
100	DSFXDISTORTION_EDGE_MAX
100	DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN
8000	DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX
100	DSFXDISTORTION_POSTEQBANDWIDTH_MIN
8000	DSFXDISTORTION_POSTEQBANDWIDTH_MAX
100	DSFXDISTORTION_PRELOWPASSCUTOFF_MIN
8000	DSFXDISTORTION_PRELOWPASSCUTOFF_MAX
-60	DSFXCOMPRESSOR_GAIN_MIN
60	DSFXCOMPRESSOR_GAIN_MAX
0.01	DSFXCOMPRESSOR_ATTACK_MIN
500	DSFXCOMPRESSOR_ATTACK_MAX
50	DSFXCOMPRESSOR_RELEASE_MIN
3000	DSFXCOMPRESSOR_RELEASE_MAX
-60	DSFXCOMPRESSOR_THRESHOLD_MIN
0	DSFXCOMPRESSOR_THRESHOLD_MAX
1	DSFXCOMPRESSOR_RATIO_MIN
100	DSFXCOMPRESSOR_RATIO_MAX
0	DSFXCOMPRESSOR_PREDELAY_MIN
4	DSFXCOMPRESSOR_PREDELAY_MAX
80	DSFXPARAMEQ_CENTER_MIN
16000	DSFXPARAMEQ_CENTER_MAX
1	DSFXPARAMEQ_BANDWIDTH_MIN
36	DSFXPARAMEQ_BANDWIDTH_MAX
-15	DSFXPARAMEQ_GAIN_MIN
15	DSFXPARAMEQ_GAIN_MAX
0	DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN
10	DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX
0	DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT
0.1	DSFX_I3DL2REVERB_DECAYTIME_MIN
20	DSFX_I3DL2REVERB_DECAYTIME_MAX
1.49	DSFX_I3DL2REVERB_DECAYTIME_DEFAULT
0.1	DSFX_I3DL2REVERB_DECAYHFRATIO_MIN
2	DSFX_I3DL2REVERB_DECAYHFRATIO_MAX
0.83	DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT
0	DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN
0.3	DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX
0.007	DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT
0	DSFX_I3DL2REVERB_REVERBDELAY_MIN
0.1	DSFX_I3DL2REVERB_REVERBDELAY_MAX
0.011	DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT
0	DSFX_I3DL2REVERB_DIFFUSION_MIN
100	DSFX_I3DL2REVERB_DIFFUSION_MAX
100	DSFX_I3DL2REVERB_DIFFUSION_DEFAULT
0	DSFX_I3DL2REVERB_DENSITY_MIN
100	DSFX_I3DL2REVERB_DENSITY_MAX
100	DSFX_I3DL2REVERB_DENSITY_DEFAULT
20	DSFX_I3DL2REVERB_HFREFERENCE_MIN
20000	DSFX_I3DL2REVERB_HFREFERENCE_MAX
5000	DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT
-96	DSFX_WAVESREVERB_INGAIN_MIN
0	DSFX_WAVESREVERB_INGAIN_MAX
0	DSFX_WAVESREVERB_INGAIN_DEFAULT
-96	DSFX_WAVESREVERB_REVERBMIX_MIN
0	DSFX_WAVESREVERB_REVERBMIX_MAX
0	DSFX_WAVESREVERB_REVERBMIX_DEFAULT
0.001	DSFX_WAVESREVERB_REVERBTIME_MIN
3000	DSFX_WAVESREVERB_REVERBTIME_MAX
1000	DSFX_WAVESREVERB_REVERBTIME_DEFAULT
0.001	DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN
0.999	DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX
0.001	DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT
1	DS3D_DEFAULTDISTANCEFACTOR
0	DS3D_MINROLLOFFFACTOR
10	DS3D_MAXROLLOFFFACTOR
1	DS3D_DEFAULTROLLOFFFACTOR
0	DS3D_MINDOPPLERFACTOR
10	DS3D_MAXDOPPLERFACTOR
1	DS3D_DEFAULTDOPPLERFACTOR
1	DS3D_DEFAULTMINDISTANCE
1000000000	DS3D_DEFAULTMAXDISTANCE
1E+150	GLU_TESS_MAX_COORD
12	HRTF_MAX_GAIN_LIMIT
-96	HRTF_MIN_GAIN_LIMIT
0.05	HRTF_MIN_UNITY_GAIN_DISTANCE
1	HRTF_DEFAULT_UNITY_GAIN_DISTANCE
-123456789	U_NO_NUMERIC_VALUE
8	U_UNICODE_VERSION
-123456789	U_NO_NUMERIC_VALUE
-0.00123456777	UPLRULES_NO_UNIQUE_VALUE
1	IMAPI2FS_FullVersion_STR
1	IMAPI2FS_FullVersion_WSTR
4.71428631292525	KS_47NABTS_SCALER
1999999.5	DISPID_STYLESHEETSCOLLECTION_NAMED_MAX
2000000.5	DISPID_STYLESHEETSCOLLECTION_ORDINAL_BASE
10	VER_DDK_PRODUCTVERSION_STR
0	PHOTO_GAINCONTROL_NONE
1	PHOTO_GAINCONTROL_LOWGAINUP
2	PHOTO_GAINCONTROL_HIGHGAINUP
3	PHOTO_GAINCONTROL_LOWGAINDOWN
4	PHOTO_GAINCONTROL_HIGHGAINDOWN
3.8	SQL_SPEC_STRING
-1	AMF_AUTOMATICGAIN
2	WEBAUTHN_ATTESTATION_VER_TPM_2_0
256	CREDUI_MAX_PASSWORD_LENGTH
2.5	szOID_DS
64	CRYPT_X942_PUB_INFO_BYTE_LENGTH
0.001	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_DELTA
0.9	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MIN
0.999	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MAX
0.001	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_LEARNING_RATE
0.99	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_EXPO_SMOOTH_ALPHA
3.141592654	X3DAUDIO_PI
6.283185307	X3DAUDIO_2PI
343.5	X3DAUDIO_SPEED_OF_SOUND
16777216	XAUDIO2_MAX_VOLUME_LEVEL
0.0009765625	XAUDIO2_MIN_FREQ_RATIO
1024	XAUDIO2_MAX_FREQ_RATIO
2	XAUDIO2_DEFAULT_FREQ_RATIO
1.5	XAUDIO2_MAX_FILTER_ONEOVERQ
1	XAUDIO2_MAX_FILTER_FREQUENCY
1	XAUDIO2_DEFAULT_FILTER_FREQUENCY
1	XAUDIO2_DEFAULT_FILTER_ONEOVERQ
10	XAUDIO2_QUANTUM_MS
0	XAUDIO2FX_REVERB_MIN_WET_DRY_MIX
20	XAUDIO2FX_REVERB_MIN_ROOM_FILTER_FREQ
-100	XAUDIO2FX_REVERB_MIN_ROOM_FILTER_MAIN
-100	XAUDIO2FX_REVERB_MIN_ROOM_FILTER_HF
-100	XAUDIO2FX_REVERB_MIN_REFLECTIONS_GAIN
-100	XAUDIO2FX_REVERB_MIN_REVERB_GAIN
0.1	XAUDIO2FX_REVERB_MIN_DECAY_TIME
0	XAUDIO2FX_REVERB_MIN_DENSITY
0	XAUDIO2FX_REVERB_MIN_ROOM_SIZE
100	XAUDIO2FX_REVERB_MAX_WET_DRY_MIX
20000	XAUDIO2FX_REVERB_MAX_ROOM_FILTER_FREQ
0	XAUDIO2FX_REVERB_MAX_ROOM_FILTER_MAIN
0	XAUDIO2FX_REVERB_MAX_ROOM_FILTER_HF
20	XAUDIO2FX_REVERB_MAX_REFLECTIONS_GAIN
20	XAUDIO2FX_REVERB_MAX_REVERB_GAIN
100	XAUDIO2FX_REVERB_MAX_DENSITY
100	XAUDIO2FX_REVERB_MAX_ROOM_SIZE
100	XAUDIO2FX_REVERB_DEFAULT_WET_DRY_MIX
5000	XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_FREQ
0	XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_MAIN
0	XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_HF
0	XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_GAIN
0	XAUDIO2FX_REVERB_DEFAULT_REVERB_GAIN
1	XAUDIO2FX_REVERB_DEFAULT_DECAY_TIME
100	XAUDIO2FX_REVERB_DEFAULT_DENSITY
100	XAUDIO2FX_REVERB_DEFAULT_ROOM_SIZE

So you have your own parser to extract directly from headers? I feel your pain :P

The entire time I have developed mine I shift from adding new constants/apis to modifying the parsing mechanism constantly. It's kind of maddening.

Is your parser in Ziggle (which appears to be coded in C??) or posted anywhere else? I'm curious to see how you do your parsing.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

06 Feb 2022, 05:25

TheArkive wrote:
06 Feb 2022, 03:57
That result makes some sense to me actually. Since AHK won't print UInt64 integers over (and including) 0x8000000000000000 as positive then any such value will be negative. I'm guessing the .15G also converts the number into scientific notation.
 
Yes. .G will print whichever is shorter.
I think it makes sense to only use .15G format on floats. Is that what you are heading towards?
 
Yes.
 
So you have your own parser to extract directly from headers? I feel your pain :P
I had included 1160 missing constants taken from MagnumDB.
I now plan to pick those from SDK intead.
I'm no more comfortable with MagnumDB.

1215 QS_ALLEVENTS
Error: https://www.magnumdb.com/search?q=QS_ALLEVENTS
MSDN: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-msgwaitformultipleobjects
https://github.com/marlersoft/zigwin32/blob/a74c9dae6a1ccd361eb9a1d146a09c08d22f02b0/win32/ui/windows_and_messaging.zig#L3595
The entire time I have developed mine I shift from adding new constants/apis to modifying the parsing mechanism constantly. It's kind of maddening.
 
:D :D
Is your parser in Ziggle (which appears to be coded in C??) or posted anywhere else? I'm curious to see how you do your parsing.
 
I'm not sure of what you're asking.
I parse out Zig headers using ah2.
If you asking for the parser script, I will post it.. but it is very verbose and a whopping 200+ lines.
User avatar
TheArkive
Posts: 1030
Joined: 05 Aug 2016, 08:06
Location: The Construct
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

06 Feb 2022, 10:56

SKAN wrote:
06 Feb 2022, 05:25
I'm not sure of what you're asking.
I parse out Zig headers using ah2.
If you asking for the parser script, I will post it.. but it is very verbose and a whopping 200+ lines.

Ah ok. I thought you were parsing win32/Win10 sdk headers.

I'm actually not familiar with Zig stuff. I briefly skimmed through the github repo, and linked repos. I'll read more carefully so I don't ask too many questions already answered :P

And, you call only 200 lines verbose? Hehe, I guess in your code style that is verbose for a single function :P I guess I don't need to see the parser until I finally understand how zig headers are structured.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

06 Feb 2022, 12:58

TheArkive wrote:
06 Feb 2022, 10:56
Ah ok. I thought you were parsing win32/Win10 sdk headers.
Not a real parser.. I don't have enough RegEx skills to do that.
I wrote a silly script to dump anything possible from that headers to only to replace
I already wrote:1160 missing constants taken from MagnumDB.
Values from MagnumDB isn't reliable.
TheArkive wrote:
06 Feb 2022, 10:56
And, you call only 200 lines verbose? Hehe, I guess in your code style that is verbose for a single function :P
Unlike Windows SDK (1000's of people would have worked on it over years.),
Zig headers are machine generated. Everything is in order, and yet I couldn't see the whole picture at once.
So I had to keep adding/tweaking If/else conditions until I had the perfect results.
Usually, I would re-write it, just not this time. I will admit it.. It is boring as this project is consuming all my available time. :(
User avatar
TheArkive
Posts: 1030
Joined: 05 Aug 2016, 08:06
Location: The Construct
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

06 Feb 2022, 16:39

SKAN wrote:
06 Feb 2022, 12:58
Not a real parser.. I don't have enough RegEx skills to do that.
I wrote a silly script to dump anything possible from that headers to only to replace

I had to start from a low level of RegEx knowledge also. The main issue holding me back was doing too much in one regex statement, in combo with being too specific :facepalm: And also not using enough loops to catch multiple instances of something to handle it in one go.

It took me a while to "zoom out" my mind's eye to see the Regex possibilities. I can't say my RegEx level is "masterful", but definitely much improved.

If you ever want to throw a haystack my way, I'd be happy to analyze and give my opinion.

SKAN wrote:
06 Feb 2022, 12:58
Values from MagnumDB isn't reliable.

Too bad :( it seems like a fairly decent database. Is anything there actually inaccurate? Or just some stuff missing that shouldn't be (like old GDI/+ stuff)?

SKAN wrote:
06 Feb 2022, 12:58
Unlike Windows SDK (1000's of people would have worked on it over years.),

LOL you're telling me. The amount of variation in the code is astounding. Makes the regex, or other parsing logic, difficult to organize.

SKAN wrote:
06 Feb 2022, 12:58
Zig headers are machine generated. Everything is in order, and yet I couldn't see the whole picture at once.
So I had to keep adding/tweaking If/else conditions until I had the perfect results.
Usually, I would re-write it, just not this time. I will admit it.. It is boring as this project is consuming all my available time. :(

Yah, I've been chipping away at ConstScanner lately for a few solid weeks. It's kind of my main project lately. And I know what you mean. It does soak up a TON of time. I have to keep rescaning most of what I have already scanned because of logic changes in the parser :P
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

06 Feb 2022, 17:05

TheArkive wrote:
06 Feb 2022, 16:39
SKAN wrote:
06 Feb 2022, 12:58
Values from MagnumDB isn't reliable.

Too bad :( it seems like a fairly decent database. Is anything there actually inaccurate? Or just some stuff missing that shouldn't be (like old GDI/+ stuff)?
 
This kind of error don't exist in zig headers. All values are pre-evaluated.
 
TheArkive wrote:
06 Feb 2022, 16:39
Yah, I've been chipping away at ConstScanner lately for a few solid weeks. It's kind of my main project lately. And I know what you mean. It does soak up a TON of time. I have to keep rescaning most of what I have already scanned because of logic changes in the parser :P
 
Glad to know at least one person knows what I'm going through. :thumbup:
User avatar
TheArkive
Posts: 1030
Joined: 05 Aug 2016, 08:06
Location: The Construct
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

06 Feb 2022, 17:16

Ah, wrong int for QS_ALLEVENTS in magnumdb, got it :thumbsup: ... sorry I missed that last time.

Glad to know at least one person knows what I'm going through. :thumbup:

:thumbsup:

This kind of error don't exist in zig headers. All values are pre-evaluated.

I might have to give the zig headers a shot, or add support in ConstScanner. It sounds a lot less insane.
User avatar
TheArkive
Posts: 1030
Joined: 05 Aug 2016, 08:06
Location: The Construct
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

06 Feb 2022, 19:28

@SKAN

I found something interesting. I have the same value for QS_ALLEVENTS as magnumdb, and I found out why. You may already know this, but here's what I have found.

Straight from the Win10 SDK headers:
Windows Version Constants (WINVER)

Code: Select all

// Win 10 build 10.0.19041.0 -- winuser.h -- line 6992

#if (_WIN32_WINNT >= 0x602) // final value:  0x1CBF -> 7359
                            // Windows 8
#define QS_INPUT  (QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER)

#else
#if (_WIN32_WINNT >= 0x0501) // final value:  0x4BF -> 1215
                             // Windows XP
#define QS_INPUT   (QS_MOUSE | QS_KEY | QS_RAWINPUT)

The value recorded on magnumdb is for Win8+. The MS docs site simply lists the minimum supported client / server values.

I noticed this MS page deals with signaling objects. Do you have any snippit code for AHK (v1 or v2) that demonstrates the usage of 1215 as the working value for QS_ALLEVENTS? And if so, are you running WinXP or Win Server 2003? Or other Win OS?

Funny timing here. I was about to clarify my current "context" for constants that I am currently working on. So here it is:

Code: Select all

Windows 10 build 10.0.19041.0 (WIN64 AMD64 UNICODE)

The bit in parenthesis may seem redundant to specify but those parts relate to predefined constants that direct my ConstScanner to actually read the headers properly, like a compiler (almost - but it does throw #error when encountered). This is helpful for getting a proper set of constants targeted at a specific windows version.

With the framework I have made I should be able to generate constants for any windows version. But I still need to refine my regex (a long process) so that I can finally get to the point where I can set ConstScanner to just "rescan everything" (every API profile I have defined - aka groups of headers) according to a windows version.

EDIT: I also have to figure out how to extract some of the "hidden" UUIDs/GUIDs/CLSIDs/IIDs in uuid.lib (for "completeness"). Not sure how I'm gonna figure that out yet.

Once I get to this point, it will be easier for me to get away from Win 10 values, if values earlier than Win10 is what you need.



So from what I can see, magnumdb is actually hosting constant values for Windows build 22000 (Win 11 if I'm not mistaken).

I'm afraid I don't have an easy means of helping test object signaling on Win 10 currently to see if 7359 QS_ALLEVENTS works as it should on my Win10 machine. If you have an v1 or v2 code I'll be able to use it to test on my machine. I'm very interested to find out this answer just so I can make sure my efforts are not in vain :P

Maybe there is another value on magnumdb in a simpler API that appears to be wrong that can also be tested?
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

07 Feb 2022, 02:25

TheArkive wrote:
06 Feb 2022, 19:28
@SKAN

I found something interesting. I have the same value for QS_ALLEVENTS as magnumdb, and I found out why. You may already know this.
I didn't know.
Things are so hectic that I employ "need to know basis" for self. :P

Code: Select all

#if (_WIN32_WINNT >= 0x602)
#define QS_INPUT           (QS_MOUSE         | \
                            QS_KEY           | \
                            QS_RAWINPUT      | \
                            QS_TOUCH         | \
                            QS_POINTER)

#else
#if (_WIN32_WINNT >= 0x0501)
#define QS_INPUT           (QS_MOUSE         | \
                            QS_KEY           | \
                            QS_RAWINPUT)
#else
#define QS_INPUT           (QS_MOUSE         | \
                            QS_KEY)
#endif // (_WIN32_WINNT >= 0x0501)
#endif
My silly parser evaluates 3 times (sequentially) and ends up with 0xBF.
autohotkey.com/r/?p=443098
Not a problem for me as I need only constants missing in zig headers.
I should be more careful now.
The value recorded on magnumdb is for Win8+. The MS docs site simply lists the minimum supported client / server values.
IMO: If Ziggy/ConstScanner is meant for AHK V2 users, then we should consider Win7 as minimum supported client.
Seems our folks do use this: http://autohotkey.com/r/?p=37054
I noticed this MS page deals with signaling objects. Do you have any snippit code for AHK (v1 or v2) that demonstrates the usage of 1215 as the working value for QS_ALLEVENTS? And if so, are you running WinXP or Win Server 2003? Or other Win OS?
Normally, this where I would immediately test.. but it will take sometime for me to regain normalcy. :)
Funny timing here. I was about to clarify my current "context" for constants that I am currently working on. So here it is:

Code: Select all

Windows 10 build 10.0.19041.0 (WIN64 AMD64 UNICODE)

The bit in parenthesis may seem redundant to specify but those parts relate to predefined constants that direct my ConstScanner to actually read the headers properly, like a compiler (almost - but it does throw #error when encountered). This is helpful for getting a proper set of constants targeted at a specific windows version.

With the framework I have made I should be able to generate constants for any windows version. But I still need to refine my regex (a long process) so that I can finally get to the point where I can set ConstScanner to just "rescan everything" (every API profile I have defined - aka groups of headers) according to a windows version.
:thumbup:
EDIT: I also have to figure out how to extract some of the "hidden" UUIDs/GUIDs/CLSIDs/IIDs in uuid.lib (for "completeness"). Not sure how I'm gonna figure that out yet.
I had tried, will search for the file. All/most of then have a _ prefix, what would that mean?
Maybe there is another value on magnumdb in a simpler API that appears to be wrong that can also be tested?
I will let you know as soon as I find a numerical one.
Ziggy considers text values as filepaths, i.e quote them if it contains spaces.
There is actually a constant with 14 spaces which shows as blank in MagnumDB.
User avatar
TheArkive
Posts: 1030
Joined: 05 Aug 2016, 08:06
Location: The Construct
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

07 Feb 2022, 07:10

SKAN wrote:
07 Feb 2022, 02:25
IMO: If Ziggy/ConstScanner is meant for AHK V2 users, then we should consider Win7 as minimum supported client.
Seems our folks do use this: http://autohotkey.com/r/?p=37054

That makes sense. I'll continue on the track I'm on for now, and I will let you know when I am ready to dump constants for Win7.

As for your link to what our folks use, that was posted before the first official release of Win 10 (according to this Wikipedia page). It certainly makes sense that most people would have been using Windows XP / Vista / 7 constant values at the time of posting. I recall lots of universal dissatisfaction for Win 8 at the time :P

SKAN wrote:
07 Feb 2022, 02:25
Normally, this where I would immediately test.. but it will take sometime for me to regain normalcy. :)

:lol: Excessive RegEx and parsing text will kind of warp reality a bit.

SKAN wrote:
07 Feb 2022, 02:25
I had tried, will search for the file. All/most of then have a _ prefix, what would that mean?

You searched for uuid.lib? I have it in the Win 10 SDK. I can post it if you want.

I'm trying to find a pattern that indicates a UUID, but so far I am unsuccessful. I haven't noticed any specific underscore _ pattern yet other than IID_* or CLSID_*, etc.

Even though the uuid.lib is clearly binary, I can of course still see the names of what seems to be all the vars. I'm still testing patterns to find something that makes sense.

SKAN wrote:
07 Feb 2022, 02:25
I will let you know as soon as I find a numerical one.
Ziggy considers text values as filepaths, i.e quote them if it contains spaces.
There is actually a constant with 14 spaces which shows as blank in MagnumDB.

I'm interested to see what else you find :thumbsup:

Return to “Scripts and Functions (v2)”

Who is online

Users browsing this forum: Bing [Bot], johnlee, tyoul, vmech and 49 guests