Compare commits

...
254 Commits
Author SHA1 Message Date
Mike Rodriguez d7244969b2 Merge pull request #487 from LizardByte/sunshine
ci: workflow updates
2026-06-22 15:00:18 -07:00
dependabot[bot] 7b33f5e4d2 build(deps): bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group (#10)
build(deps): bump actions/checkout in the github-actions group

Bumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 6.0.3 to 7.0.0
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 10:53:54 -04:00
dependabot[bot] de6ba98ee5 build(deps): bump actions/checkout from 6.0.2 to 6.0.3 in the github-actions group (#9)
build(deps): bump actions/checkout in the github-actions group

Bumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-03 18:50:43 -04:00
David Lane a35fcb8176 chore: Add JetBrains Rider .idea to .gitignore (#7) 2026-05-23 10:17:12 -04:00
David Lane 38c3ec449d chore: migrate wdf to git submodule (#6) 2026-05-23 10:04:17 -04:00
David Lane a9f6065a23 ci: Pin CI runner to windows-2022 (#5) 2026-05-22 22:33:23 -04:00
dependabot[bot] 8a13aa2424 build(deps): bump microsoft/setup-msbuild from 2.0.0 to 3.0.0 (#4)
Bumps [microsoft/setup-msbuild](https://github.com/microsoft/setup-msbuild) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/microsoft/setup-msbuild/releases)
- [Commits](https://github.com/microsoft/setup-msbuild/compare/6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce...30375c66a4eea26614e0d39710365f22f8b0af57)

---
updated-dependencies:
- dependency-name: microsoft/setup-msbuild
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-22 22:02:55 -04:00
dependabot[bot] 534d4bcdc8 build(deps): bump the github-actions group with 2 updates (#3)
Bumps the github-actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/checkout` from 4.3.1 to 6.0.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/34e114876b0b11c390a56381ad16ebd13914f8d5...de0fac2e4500dabe0009e67214ff5f5447ce83dd)

Updates `actions/upload-artifact` from 4.6.2 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/ea165f8d65b6e75b540449e92b4886f43607fa02...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-22 22:02:14 -04:00
David Lane ce081a3e10 chore: Add Dependabot configuration for updates
Configure Dependabot for GitHub Actions and Git Submodules with scheduled updates.
2026-05-22 21:59:26 -04:00
LizardByte-bot 7d0a0cec4f chore: update GitHub Actions to use commit hashes (#2) 2026-05-22 21:52:15 -04:00
David Lane 8e85cf2a0c ci: Update workflow for concurrency and branch settings (#1) 2026-05-22 21:48:16 -04:00
Mike Rodriguez a660c72e7c Merge pull request #482 from AndreTheAss/codex/fix-multi-monitor-swapchain-449
Fix multi-monitor swapchain threading for issue #449
2026-05-18 15:49:41 -07:00
Mike Rodriguez 17eed4381b Add related software section to README
Added a section to the README for related software tools with descriptions and links.
2026-05-18 15:44:30 -07:00
andre fc499471c1 Fix multi-monitor swapchain threading for issue #449 2026-04-11 17:57:27 +02:00
Mike Rodriguez 052f0aa300 Fix HDR bit depth for Virtual-Display-Driver 2026-04-07 14:52:31 -07:00
Mike Rodriguez 537b13e300 Merge pull request #473 from clickwithclark/patch-1
docs: Add detailed warning about GPU/chipset driver update conflicts
2026-03-17 19:08:51 -07:00
Clark 4efda4e043 docs: Add detailed warning about GPU/chipset driver update conflicts
Expands on the existing driver update safety warning with:
- Step-by-step prevention instructions
- Detailed Safe Mode recovery steps
- Technical explanation of why this happens
- Real-world system examples

Addresses issue #440
2026-02-13 08:21:55 -04:00
Mike Rodriguez 22e3abfc8e Merge branch 'doc/vdd-driver-update-warning' 2026-02-03 08:34:37 -08:00
Mike Rodriguez 2c33d31caa docs: thank ye4241 for WinGet submission 2026-02-03 08:31:02 -08:00
Mike Rodriguez f2bfc1788d docs: add winget install command 2026-02-03 08:30:15 -08:00
Mike Rodriguez a8cf262b51 Merge pull request #469 from VirtualDrivers/doc/vdd-driver-update-warning
docs: add warning for GPU/chipset driver updates
2026-02-03 07:43:06 -08:00
Mike Rodriguez 7968d8b91d docs: add warning for GPU/chipset driver updates 2026-02-03 07:41:22 -08:00
Mike Rodriguez 36b3485ac0 Merge pull request #464 from fanfan42/fanfan1
Correct README and race condition on silent-install.ps1
2026-01-25 11:32:09 -08:00
François Brunhes aka Fanfan e1dd124574 Correct README and race condition on silent-install.ps1 2026-01-24 19:16:59 +01:00
Mike Rodriguez 2b6c91a00f Revert "initial shader work"
This reverts commit 6cead7c2d9.
2026-01-19 05:03:33 -08:00
Joakim Sandström 6cead7c2d9 initial shader work
all code is remarked
2026-01-18 19:47:58 +01:00
Mike Rodriguez 0d59195756 Improve UMDF include path selection and build config
Enhanced the CI workflow to dynamically select the best available UMDF WDF header version on the runner and pass the UMDF version minor to msbuild. Updated MttVDD.vcxproj to include multiple possible UMDF include paths, improving compatibility with different Windows SDK layouts and ensuring the correct headers are used during builds.
2026-01-08 19:13:15 -08:00
Mike Rodriguez 8a83f4fc0d Remove legacy build workflows and update CI
Deleted the 'build-and-sign-sequential.yml' and 'build-installer.yml' workflows, consolidating build logic. Updated 'ci-validation.yml' to 'Build Virtual Display Driver', now building both x64 and ARM64 VDD in matrix jobs and uploading artifacts, streamlining CI for pull requests and manual runs.
2026-01-08 18:16:32 -08:00
Mike Rodriguez 2fa9d67a65 Remove WDF include directory from project file
Eliminated the reference to the Windows-Driver-Frameworks UMDF 2.15 include directory from all build configurations in MttVDD.vcxproj. This streamlines the include paths and may reflect a change in dependency management or project requirements.
2026-01-08 17:57:44 -08:00
Mike Rodriguez 09d5e393f1 Add IddCx header location debug step to CI workflows
Introduces a PowerShell step in both build-and-sign-sequential and ci-validation workflows to output and verify the location of the IddCx header in the Windows SDK. This aids in diagnosing SDK path issues during CI runs.
2026-01-08 17:28:15 -08:00
Mike Rodriguez 54ee545b43 Update IddCx include path and header casing
Changed the include directive from 'iddcx.h' to 'IddCx.h' in Driver.h to match correct casing. Updated MttVDD.vcxproj to add the Windows SDK IddCx include directory, ensuring the correct versioned path is used for IddCx headers.
2026-01-08 17:24:53 -08:00
Mike Rodriguez eaf7e2163f Add Windows Driver Kit installation to CI workflows
Both build-and-sign-sequential.yml and ci-validation.yml now install the Windows Driver Kit using Chocolatey to provide IddCx headers required for the build process.
2026-01-08 17:12:31 -08:00
Mike Rodriguez c622700ff4 Add UMDF 2.15 WDF headers and improve Windows SDK detection
Added Windows Driver Frameworks (WDF) UMDF 2.15 public headers to ThirdParty/Windows-Driver-Frameworks. Updated GitHub Actions workflows to robustly detect and set Windows SDK paths and versions, and to pass these as MSBuild parameters for driver builds. This improves build reliability and ensures correct SDK usage in CI environments.
2026-01-08 17:05:32 -08:00
Mike Rodriguez 12ceed1b3f Vendor UMDF header and update CI workflows
Added Windows Driver Frameworks UMDF header (wudfwdm.h) under ThirdParty to ensure CI builds work on runners missing Windows Kits/WDK. Removed PowerShell logic from CI workflows that attempted to locate or install UMDF headers, and updated MSBuild invocations to no longer depend on custom environment variables for SDK paths.
2026-01-08 16:34:39 -08:00
Mike Rodriguez ea8c879e5c Improve WDK header detection in CI workflows
Update PowerShell logic in build-and-sign-sequential.yml and ci-validation.yml to handle both flat and versioned WDK header layouts. This ensures compatibility with different runner environments by checking for headers in both possible locations.
2026-01-08 16:22:52 -08:00
Mike Rodriguez fe157ea685 Improve UMDF header detection in CI workflows
Refactored PowerShell logic in build-and-sign-sequential.yml and ci-validation.yml to robustly detect and install UMDF headers (wudfwdm.h). Now attempts installation via winget if headers are missing, improving reliability on runners without preinstalled SDK/WDK.
2026-01-08 16:16:45 -08:00
Mike Rodriguez e3924aeb5e Detect and use correct Windows SDK version in CI builds
Added steps to both build-and-sign-sequential.yml and ci-validation.yml workflows to dynamically detect the installed Windows Kits version and set the appropriate MSBuild properties for WindowsSdkDir and WindowsTargetPlatformVersion. This ensures the correct SDK is used for driver builds, improving reliability across environments. Also simplified the SignPath submission step condition.
2026-01-08 16:09:11 -08:00
Mike Rodriguez 0a31eaaacf Refactor and add CI workflows for build and validation
Refactored the build-and-sign-sequential workflow to simplify Windows SDK/WDK installation, update MSBuild setup, and improve installer build steps. Added new workflows: build-installer.yml for building the installer independently, and ci-validation.yml for fast CI validation on PRs and pushes. These changes streamline CI processes and separate installer and validation logic for better maintainability.
2026-01-08 15:55:18 -08:00
Mike Rodriguez 38b6e5117b Update build-and-sign-sequential.yml 2026-01-08 14:17:18 -08:00
Mike Rodriguez 642ee285ff Improve Windows Kits detection and project includes
Added automatic detection of Windows Kits version and SDK directory in the build workflow, passing them to msbuild for driver builds. Removed manual inclusion of wudfwdm.h from the project files to rely on SDK headers, streamlining build configuration and reducing local dependencies.
2026-01-08 14:01:46 -08:00
Mike Rodriguez 7290cd6d87 README: add recent changelog (last 5 feature updates) 2026-01-08 12:59:01 -08:00
Mike Rodriguez fea4d9e4e5 Adapter selection: use explicit DEVPKEY_Device_Luid definition 2026-01-08 12:43:45 -08:00
Mike Rodriguez 13d382731d Build: use C++17 in Release configs 2026-01-08 12:43:09 -08:00
Mike Rodriguez b654504edf Link setupapi.lib (required for PCI bus LUID resolution) 2026-01-08 12:36:47 -08:00
Mike Rodriguez cac37672da Adapter selection: allow LUID resolution by PCI bus 2026-01-08 12:30:17 -08:00
Mike Rodriguez 498c37b30d Fix newline at EOF in Community Scripts README 2026-01-08 12:11:53 -08:00
Joakim Sandström 4bdebe23f2 Merge pull request #442 from Efreak/master
Format community scripts readme to add links and make it readable in github.
2025-11-26 23:18:52 +01:00
efreak 472b2f2a32 Add links to the scripts
Links are referenced at bottom to keep raw text readable.
2025-11-17 14:31:31 -08:00
efreak 3e8d2115c0 Make a table for scripts for readability
On github website, single line-breaks are ignored, causing the list to turn into a paragraph.
This makes it more readable both in the browser and as raw text by aligning the descriptions and making it a table in the browser.
2025-11-17 14:17:26 -08:00
Mike Rodriguez 63f9285461 Revert "Merge pull request #413 from zjoasan/zjoasan-adapteroption-patch1"
This reverts commit 05ae18d104, reversing
changes made to 06b2dbd7d4.
2025-11-09 05:00:51 -08:00
Mike Rodriguez b642ef64d8 Merge pull request #430 from Harinath1314-tech/master
Add VDD Toggle Utility - Batch script for easy enable/disable
2025-10-29 11:27:52 -07:00
Mike Rodriguez 7267835157 Merge pull request #426 from fanfan42/fanfan1
Change devcon to nefcon for silent install community script
2025-10-29 11:26:39 -07:00
Mike Rodriguez 05ae18d104 Merge pull request #413 from zjoasan/zjoasan-adapteroption-patch1
DeviceID, pcislot friendly name
2025-10-29 11:25:54 -07:00
Harinath1314-tech fd8700f636 Create README.md
Add VDD Toggle Utility - Batch script for toggling Virtual Display Driver
2025-10-28 12:53:00 +05:30
François Brunhes aka Fanfan 88916eca0a Change devcon to nefcon for silent install community script 2025-10-17 21:25:14 +02:00
Mike Rodriguez 06b2dbd7d4 Merge pull request #419 from fanfan42/fanfan1
The silent install script is really silent
2025-09-27 15:39:50 -07:00
François Brunhes aka Fanfan 830de3f2aa The silent install script is really silent 2025-09-27 23:32:50 +02:00
Joakim Sandström 7233822630 Update README.md
Added some links to Wiki and Community scripts, and referring to default location for vdd_settings.xml
2025-09-27 17:48:36 +02:00
Mike Rodriguez bccc901b1b Merge pull request #410 from goodusername123/README-table
README.md: Replace table image with actual table
2025-09-08 22:33:29 -07:00
Joakim Sandström 2a18a0b594 DeviceID, pcislot friendly anme
This is untested but "should work" logical code for a first implementation of "dual identical adapter cards"
2025-09-08 19:32:35 +02:00
goodusername123 7becdd43c0 README.md: Replace table image with real table 2025-08-27 04:27:29 -05:00
Mike Rodriguez 3917232ae1 Update build-and-sign-sequential.yml 2025-08-17 17:24:23 -07:00
Mike Rodriguez b5383e859d Update build-and-sign-sequential.yml 2025-08-17 16:59:29 -07:00
Mike Rodriguez 93c6fff4f5 Update build-and-sign-sequential.yml 2025-08-17 16:47:25 -07:00
Mike Rodriguez 74477f745d Update build-and-sign-sequential.yml 2025-08-17 16:10:22 -07:00
Mike Rodriguez d0f8a028c6 Update build-and-sign-sequential.yml 2025-08-17 15:58:21 -07:00
Mike Rodriguez c585ee93cf Build Sequential 2025-08-17 15:49:59 -07:00
Mike Rodriguez b9acacd40c Update build-and-sign-sequential.yml 2025-08-17 15:24:18 -07:00
Mike Rodriguez 0cccd7a14d YML Additions 2025-08-17 14:53:21 -07:00
Mike Rodriguez 89b7b4477d Update build-and-sign-sequential.yml 2025-08-17 14:46:07 -07:00
Mike Rodriguez a01ecfd460 Update build-and-sign-sequential.yml 2025-08-17 14:22:35 -07:00
Mike Rodriguez 587f99c8c3 Update build-and-sign-sequential.yml 2025-08-17 14:01:26 -07:00
Mike Rodriguez dd198e508e Update build-and-sign-sequential.yml 2025-08-17 13:54:05 -07:00
Mike Rodriguez 4b6ba2246e Update version.xml 2025-08-17 08:52:01 -07:00
Mike Rodriguez c928fa9251 Added GettIddCx Source 2025-08-17 04:46:18 -07:00
Mike Rodriguez d5a4466425 Update vdd_settings.xml 2025-08-17 04:44:54 -07:00
Mike Rodriguez a602844e89 Added version.xml for app integration. 2025-08-16 03:02:16 -07:00
Mike Rodriguez 92203a544c EDID Integration
🔌 EDID Profile Integration

  - Automatic Monitor Configuration: Loads settings from monitor_profile.xml
  - Priority System: Manual settings override EDID when needed
  - Graceful Fallback: Uses manual config if EDID loading fails

  🌈 HDR10 Support

  - SMPTE ST.2086 Compliance: Industry-standard HDR metadata
  - Color Primaries: RGB chromaticity coordinates + white point
  - Luminance Management: Min/max mastering + content light levels

  🎨 Advanced Color Processing

  - Multi Color Space: sRGB, DCI-P3, Rec.2020, Adobe RGB support
  - Gamma Correction: Customizable gamma curves with 3x4 matrix transforms
  - FP16 Pipeline: High-precision color calculations

  📺 Intelligent Mode Management

  - EDID Mode Generation: Automatic resolution extraction from profiles
  - Advanced Filtering: Refresh rate, resolution, and aspect ratio constraints
  - Mode Optimization: Duplicate removal and performance tuning

  🛡️ Production Quality

  - Comprehensive Validation: 4-test diagnostic suite with real-time monitoring
  - Configuration Sanitization: Automatic correction of invalid settings
  - Emergency Fallback: sRGB/D65 defaults for system stability
  - Performance Monitoring: 10ms threshold tracking for optimal performance

  🔧 File Structure

  C:\VirtualDisplayDriver\
  ├── vdd_settings.xml          (Required - Main configuration)
  └── EDID\monitor_profile.xml  (Optional - EDID profile data)

  🙏 Acknowledgments

  - MikeTheTech - For implementing this comprehensive EDID integration into the driver codebase.
  - Jocke - For developing the EDID parser that generates the monitor profile data used by this system.
2025-08-14 15:36:09 -07:00
Mike Rodriguez 61ae3fbd07 Merge pull request #400 from tanakamasayuki/patch-1
Update URL
2025-08-13 23:06:49 -07:00
Mike Rodriguez 3750c5ed4f Performance Optimization
Thread Management

  - Added: Explicit thread completion waiting in IndirectDeviceContext::AssignSwapChain()
  - Fixed: SwapChainProcessor destructor race conditions
  - Improved: Thread lifecycle logging and diagnostics

  Resource Management

  - Changed: Device cache from std::map<LUID, std::weak_ptr<Direct3DDevice>> to std::map<LUID,
  std::shared_ptr<Direct3DDevice>>
  - Added: Comprehensive LUID-based logging for device cache operations
  - Optimized: Cleanup frequency reduced from every assignment to every 10th assignment

  Error Handling

  - Implemented: 5-attempt retry limit with exponential backoff for DXGI_ERROR_ACCESS_LOST
  - Added: Device integrity validation before swap chain operations
  - Enhanced: Error logging with detailed HRESULT codes and context
2025-08-13 08:49:45 -07:00
TANAKA Masayuki 506791639d Update URL
https://github.com/VirtualDisplay/
404
2025-08-06 13:36:55 +09:00
Mike Rodriguez 14d1e344d7 Update README.md 2025-07-28 20:57:28 -07:00
Mike Rodriguez d437ebc9b4 Merge pull request #391 from VirtualDrivers/PS-Get_Disp_Num-update
Added a pause for VDC execution
2025-07-23 08:16:43 -07:00
Joakim Sandström 5aa453b3c0 Added a pause for VDC execution
Documented the script a bit, removed non essential header and added "Press any key..."-pause for VDC execution, . 
Now you get a clear screen, example 8:
 \\.\DISPLAY8 
Press any key to continue ...
2025-07-18 11:36:56 +02:00
Mike Rodriguez 0a095d4b76 Delete .github/workflows/build-fix.ps1 2025-07-14 16:50:28 -07:00
Mike Rodriguez 8e874f0bed Delete .github/workflows/compile.yml 2025-07-14 16:50:02 -07:00
Mike Rodriguez 33ea391a91 Delete .github/workflows/build-and-sign-all.yml 2025-07-14 16:49:47 -07:00
Mike Rodriguez 5b9822bc0b Delete .github/workflows/SubmitAllToSignPath 2025-07-14 16:49:36 -07:00
Mike Rodriguez 8c9b0f8c9a Delete .github/workflows/Submit-To-SignPath.yml 2025-07-14 16:49:24 -07:00
Mike Rodriguez 0969263ba1 Update build-and-sign-sequential.yml 2025-07-14 16:15:06 -07:00
Mike Rodriguez d4964dbcfd Add files via upload 2025-07-14 15:48:17 -07:00
Mike Rodriguez 25eb449ee6 Update build-and-sign-all.yml 2025-07-14 15:36:00 -07:00
Mike Rodriguez 05f279346f Update build-and-sign-all.yml 2025-07-14 15:07:17 -07:00
Mike Rodriguez 9e8f62ab3c Update build-and-sign-all.yml 2025-07-14 14:43:19 -07:00
Mike Rodriguez ac0c52e8a5 Update build-and-sign-all.yml 2025-07-14 14:12:43 -07:00
Mike Rodriguez 0f2c9106be Update build-and-sign-all.yml 2025-07-14 14:05:33 -07:00
Mike Rodriguez 724bec4115 Update build-and-sign-all.yml 2025-07-14 13:52:06 -07:00
Mike Rodriguez 8e76e9dc14 Update build-and-sign-all.yml 2025-07-14 13:41:58 -07:00
Mike Rodriguez b8a6fe0fb8 Add files via upload 2025-07-14 13:34:59 -07:00
Mike Rodriguez 3650e70d02 Merge pull request #379 from PanicTitan/master
New script to manager the virtual driver in cli
2025-06-17 05:11:12 -07:00
Mike Rodriguez 24c740857a Merge pull request #367 from zjoasan/patch-1
Update scripts README.md
2025-06-17 05:10:50 -07:00
PanicTitan e851bf9a3b Create virtual-driver-manager.ps1
A script to install, uninstall, enable, disable, toggle, and check the status of the driver. Based on current Community Scripts with Silent options and json outs for use in other programs,
2025-06-17 00:47:56 -03:00
Mike Rodriguez b49fc4017e Remove VAD workflows temporarily. 2025-05-15 23:27:04 -07:00
Mike Rodriguez 1dde89134f Worflows 2025-05-15 23:14:50 -07:00
Mike Rodriguez c53bd3f66b Update VAD-compile-and-sign.yml 2025-05-15 22:22:44 -07:00
Mike Rodriguez 8ea77f7f06 Update VAD-compile-and-sign.yml 2025-05-15 22:02:26 -07:00
Mike Rodriguez 646c2d833f Update VAD-compile-and-sign.yml 2025-05-15 21:38:26 -07:00
Mike Rodriguez e19d8a82b9 Oops 2025-05-15 21:21:17 -07:00
Mike Rodriguez d4f2eba005 .CAT signing adjustments. 2025-05-15 21:01:02 -07:00
Mike Rodriguez 54d3113196 Fixed $packageDir 2025-05-15 19:54:44 -07:00
Mike Rodriguez 03b08e474f Ignore restart required. 2025-05-15 19:34:58 -07:00
Mike Rodriguez 9eeb8fec55 Added VAD for building. 2025-05-15 18:46:51 -07:00
Mike Rodriguez 56a78f9214 Update README.md 2025-05-08 02:35:22 -07:00
Mike Rodriguez dd1fa14bc9 Update README.md 2025-05-08 02:31:51 -07:00
Mike Rodriguez 36461d5022 Update README.md 2025-05-08 02:30:15 -07:00
Mike Rodriguez d7a0d3ec33 Update workflow. 2025-05-08 02:11:45 -07:00
Mike Rodriguez 0b8f896008 Workflow update/test. 2025-05-08 01:24:27 -07:00
Joakim Sandström aaa12df16d Update README.md
Added a short description for most scripts.
2025-05-06 11:57:41 +02:00
Mike Rodriguez cae46b429d Update MttVDD.vcxproj 2025-05-02 23:56:31 -07:00
Mike Rodriguez 1995e6de2b Revert "Test"
This reverts commit c6b1e893ec.
2025-05-02 23:42:58 -07:00
Mike Rodriguez c6b1e893ec Test 2025-05-02 23:41:42 -07:00
Mike Rodriguez 3a1871fd23 Merge pull request #352 from lvde0/silent-install-script
Add silent-install script
2025-05-01 05:36:40 -07:00
lvde0 3f6e54631b Add silent-install script 2025-04-24 10:29:37 +02:00
Mike Rodriguez 96c662be6c Update README.md 2025-03-26 11:29:42 -07:00
Mike Rodriguez 3a20ccb5e2 Update compile.yml 2025-03-22 11:26:27 -07:00
Mike Rodriguez 5d2892ab0b Merge pull request #326 from VirtualDisplay/itsmikethetech-patch-6
Update compile.yml
2025-03-22 11:15:06 -07:00
Mike Rodriguez e87194f972 Update compile.yml 2025-03-22 11:12:07 -07:00
Bud 0505e34539 Update README.md 2025-03-15 05:17:56 +00:00
Bud 9fb159bb53 Oops
Fixed
2025-03-14 02:33:48 +00:00
Bud f0bdbfd4a0 Added workflow for signing installer too
Sign Installer with seperate policy slug

If this isnt allowed, then Mike this is on you. You told me to do the same repo before....
2025-03-14 02:32:45 +00:00
Bud 94b35105e4 Create Question.yml 2025-02-27 20:06:30 +00:00
Bud 322e36a613 Create HelpWanted.yml 2025-02-27 20:03:06 +00:00
Bud 80b461b02f Update bug_report.yml
Added driver version 
Added device specs, optional
2025-02-27 19:55:43 +00:00
bud3699 00e43b5d1f restructure of xml 2025-02-27 17:01:46 +00:00
bud3699 e3f58b629a Added support for changing colour format
- Added support for changing colour format in xml
Supported formats:
		RGB
		YCbCr444
		YCbCr422
		YCbCr420

- XML Grouped
2025-02-27 16:59:52 +00:00
bud3699 e4bc40252a Xor Support level added
THIS SHOULD NOT BE CHANGED UNLESS YOU KNOW WHAT YOU'RE DOING
2025-02-27 14:46:32 +00:00
bud3699 976dd165f6 Configurable Cursor Support
- This commit is for the people who need more advanced cursor configuration support
2025-02-27 14:14:52 +00:00
bud3699 5281cef87f Give option to dis-allow logs through the pipe 2025-02-27 13:22:12 +00:00
bud3699 3a500d8773 Remove duplicate includes 2025-02-27 13:13:16 +00:00
Mike Rodriguez 888f3ae2d2 Merge pull request #298 from VirtualDisplay/itsmikethetech-patch-5
Update README.md
2025-02-20 01:48:26 -08:00
Mike Rodriguez 3565152e07 Update README.md 2025-02-20 01:48:03 -08:00
Mike Rodriguez cd1445427b Update README.md 2025-02-20 01:44:02 -08:00
Mike Rodriguez 64602d2aaa Update readme, added dev credits and icons. (#297)
* Update readme, added dev credits and icons.
2025-02-20 09:37:37 +00:00
Kyle Yee ef87af27dc Fixed typo in README Instructions (#296) 2025-02-20 09:36:31 +00:00
Mike Rodriguez 888387fc72 Merge pull request #282 from VirtualDisplay/itsmikethetech-patch-2
Fixed star history chart.
2025-02-01 07:13:39 -08:00
Mike Rodriguez 15d229200b Merge pull request #283 from jotopo/feature/update-community-scripts
Update the community scripts.
2025-02-01 07:13:21 -08:00
Thijs 0318e5399a Update the community scripts.
- FIX: selecting display
- FEAT: add params with validations where necessary.
- FEAT: add dependency checking
2025-02-01 16:08:54 +01:00
Mike Rodriguez 74ca716296 Update README.md 2025-02-01 06:14:58 -08:00
Mike Rodriguez 44e199935b Merge pull request #281 from zjoasan/master
Module_install.bat and get_disp_num.p1 (DISPLAY#)
2025-02-01 03:53:41 -08:00
Joakim Sandström 69359ec35c Module_install.bat and get_disp_num.p1 (DISPLAY#)
Since dep_fix.ps1 seem less then reliable, I've created a bat file that installs the needed powershell modules. It needs admin privs. to install to all users on the machine. I'm planning on running this .bat during the installer in case the user choose to install the scripts.

The get_disp_num.ps1 is for those users depending on \\\\.\\DISPLAY number to get the right display for their scripting needs in their "automation"
2025-02-01 12:04:17 +01:00
BudandMike Rodriguez c87b0c4f89 Update for renamed repo. (#247)
Co-authored-by: Mike Rodriguez <contact@mikethetech.com>
2025-01-05 18:07:49 +00:00
Mike Rodriguez dcb511f188 Cleanup 2025-01-05 02:20:28 -08:00
Bud 52bbd2d97c Update bug_report.yml
- Removed log only for beta
2025-01-04 00:17:16 +00:00
Nevryk SandBud 8644ed559d Add Note About Microsoft Visual C++ Redistributable Requirement to README (#237)
Added note for Visual C++ redistributable dependency. This caused a "vcruntime140.dll" error on launch of the vdd companion.

---------

Co-authored-by: Bud
2025-01-03 00:18:30 +00:00
Bud 9ac6074136 Update README.md 2024-12-24 17:51:19 +00:00
Bud b07c8cc80c Merge pull request #228 from VirtualDisplay/bud3699-patch-1
Update README.md
2024-12-24 17:50:32 +00:00
Bud cb98721da4 Update README.md 2024-12-24 17:50:07 +00:00
Bud 3e65bc8749 23H2, ITS 23H2!!!
1.10 	0x1A00 	Add HDR10 and SDR Wide Color Gamut (WCG) support - Windows 11 23H2
2024-12-22 17:11:54 +00:00
Bud 8de4f3b000 Update Submit-To-SignPath.yml 2024-12-20 00:09:37 +00:00
Bud 79810cb48d allow arm64 2024-12-19 16:16:15 +00:00
Bud a3564fbf01 Action Tweak
Action tweak
2024-12-19 13:21:28 +00:00
Bud 6c125361ac Action tweak 2024-12-19 13:19:06 +00:00
Mike Rodriguez 266b4a01c3 Merge pull request #217 from zjoasan/patch-1
Update toggle-VDD.ps1
2024-12-17 06:54:32 -08:00
Bud 0d36d2a655 workflow on pr
Added trigger workflow on pr creation to make sure no conflicting code
2024-12-17 14:54:23 +00:00
Bud 5dc87774c5 Fixed Error checking in yml
Sometimes installing dependencies dont work for some reason 🤷🏻‍♂️
2024-12-17 14:18:55 +00:00
Bud 68b92409a6 Moved rest of signpath to variables 2024-12-17 14:08:44 +00:00
Joakim Sandström 80861064e8 Update toggle-VDD.ps1
Supporting old and new driver
2024-12-17 14:50:26 +01:00
Joakim Sandström 2fd04a231b Update toggle-VDD.ps1
Changed the Friendlyname of the driver, script was OLD
2024-12-17 13:52:26 +01:00
Mike Rodriguez 1ef82c3e6a Update Submit-To-SignPath.yml 2024-12-17 04:23:22 -08:00
Bud 3895ea6b4b Upload signpath signed to github artifacts 2024-12-15 16:18:40 +00:00
Bud 13bb8cc323 json release param 2024-12-15 11:00:48 +00:00
Bud f9f95e319c Changed names to make it easier 2024-12-15 10:23:06 +00:00
Bud 22535e68de Uploaded manual workflow dispatching to signpath 2024-12-15 10:22:02 +00:00
Bud fc73feaa47 Update compile.yml 2024-12-14 10:30:46 +00:00
Bud 698c735bdf Fixed Silly mistake on action workflow 2024-12-14 10:29:10 +00:00
Bud 9cb856f645 Removed Debug 2024-12-14 09:45:15 +00:00
Bud cdc9ed24d3 Build workflow (W/o signpath)
- Without sign path to make sure build works
- Workflow on dispatch ( save on vm time)
2024-12-13 21:59:23 +00:00
Mike Rodriguez 9f90a294ee Create LICENSE 2024-12-09 23:41:29 -08:00
Bud 2f3f3c044c Update README.md 2024-12-04 23:10:15 +00:00
Bud 63c3899826 Added global refreshrates
XML function will be re-written soon

left 30hz in each one just to make it easier if users want to add per resolution
2024-12-03 21:40:00 +00:00
Bud a28ec0eb51 Pipe function Update 2024-12-03 12:54:21 +00:00
Bud d03bf38ff6 LUID with log text (In case multiple gpus) 2024-12-02 09:47:57 +00:00
Bud 4bc7e80234 Update README.md 2024-12-01 01:29:58 +00:00
Bud 25a53cab3a Update README.md 2024-12-01 01:28:44 +00:00
Mike Rodriguez 88d36bc1b5 Removed script. 2024-11-23 20:26:16 -08:00
Mike Rodriguez 68712353e3 Updated Display Preview build to reduce size and dependencies. 2024-11-23 20:14:02 -08:00
Mike Rodriguez ec5c792903 Removed requirement for FFMPEG dependency. 2024-11-23 20:07:56 -08:00
Mike Rodriguez 5573a5f24f Maintain screen aspect ratios. 2024-11-23 19:39:09 -08:00
Mike Rodriguez 73007aefab Removed Dist. 2024-11-23 16:40:24 -08:00
Mike Rodriguez df6395d96a Delete DisplayPreview.7z 2024-11-23 16:39:57 -08:00
Mike Rodriguez 9d64535682 Update README.md 2024-11-23 16:36:15 -08:00
Mike Rodriguez 3d025bbe3e Create README.md 2024-11-23 16:34:37 -08:00
Mike Rodriguez 4f391cde0a Added Display Preview (Early Beta) 2024-11-23 16:32:03 -08:00
Bud 532d16317f Pipe Update + Options fix
- Added pipe settings for setting gpu & setting display count
- Fixed sdr10bit toggle in pipe
- Took option.txt out of loop
- If options.txt is empty then fallback on driver to prevent error
2024-11-02 15:23:16 +00:00
Bud 8d28e02634 Update README.md 2024-10-27 09:09:04 +00:00
Bud 15c7136651 Updated Pipe
- Pipe updated for new options
- Explained why I left logging disabled even if logs are disabled (Its to delete the log folder if logs are live disabled via the pipe)
2024-10-27 08:26:42 +00:00
Bud 39ecdb0385 Moved log query out of logging function
- Removed log query inside of logging function to prevent unnecessary function calls. This will mean you NEED to restart adapter in order for logs to enable however this is done in favour of performance

- Support for live changing moved to companion app only due to above reasons
2024-10-27 06:37:17 +00:00
Bud 978d62abe8 Wide colour space
Ensure driver sets both IDDCX_TARGET_CAPS_HIGH_COLOR_SPACE and IDDCX_TARGET_CAPS_WIDE_COLOR_SPACE. Supporting high colour space requires handling gamut functionality and appropriate transfer curves for displays.

(Aka having High caps colour space means we already have support for wide colour space and high colour space is not a replacement for wide colour space therefore we should also set wide colour space)
2024-10-26 10:04:14 +01:00
Bud 6da06791a5 Added cea extension override
- When enabled this will force the custom edid to be 256 bytes enabling cea-extension features built into the hardcoded edid block.

For example: When emulating an old display (for example: Acer FP751 analogue display 128 bytes) it will force the display to have a cea extension to keep the HDR Feature (256 bytes)

Note: As of now, this will remove any other cea extensions from edids which are 256 bytes in size. This should only be used to force HDR Capability onto virtual monitors
2024-10-25 07:42:47 +01:00
Bud ce6e51fa54 Added support to prevent spoof
- Added support to prevent manufacturer spoofing (This may help in some cases)
2024-10-25 06:30:04 +01:00
Mike Rodriguez 6655bcffc0 Delete .github/CONTRIBUTORS.yml 2024-10-20 00:29:17 -07:00
Mike Rodriguez fc54221dd3 Create CONTRIBUTORS.yml 2024-10-20 00:27:09 -07:00
Bud 22d12a29fc - added log iddcx version to pipe 2024-10-20 05:01:52 +01:00
Bud 2b2794611a - Added default
- Just prevents the pipe from messing up xml when changing values
2024-10-20 04:42:27 +01:00
Bud d65a9cda83 Transitioned code base to VirtualDisplayDriver from sample
- Moving away from being a sample
2024-10-20 04:08:00 +01:00
Bud cf9d5e9a06 Added SDR10 Warning
- When both SDR10-bit and HDRPlus are enabled, there’s a conflict because the display system cannot simultaneously handle both high dynamic range 12-bit and standard dynamic range 10-bit settings. This results in the system defaulting to HDR10-bit, the closest compatible setting, to maintain some level of HDR capability without completely reverting to SDR. It’s a compromise to ensure compatibility and functionality.
2024-10-20 03:56:24 +01:00
Bud e8a25180d6 Added defaults
This should never matter, but just in case
2024-10-20 03:20:14 +01:00
Bud 08ecea131d - Added SDR 10 bit support
- Added SDR 10 bit support to allow for 10 bit without HDR
- Adjusted code to use queries instead of if statements
2024-10-20 03:14:30 +01:00
Bud 47bc4acf91 - Query Optimisations
- Added query optimisations
- Switched to maps for queries
2024-10-20 02:57:21 +01:00
Bud e65c36ec5f - Pipe Update + Optimisations
- Updated Pipe to have PING Function which returns PONG to buffer
- Added new Send To Pipe Function
- Optimised toggling between HDR+ and hdr
2024-10-20 00:55:42 +01:00
Bud d27adb9539 Capital B because it’s been annoying me :) 2024-10-18 13:55:42 +01:00
Bud c38f348740 Pipe Controls updated
- Added dedicated reload driver function with hpipe
- Added HDR+ Toggle to pipe
- Added Custom Edid toggle to pipe
- Added hardware Cursor toggle to pipe

- Added logging unknown command is false pipe command is retrieved to provide mode log support
2024-10-17 18:28:07 +01:00
Bud 72cc4d23d2 Added Direct3D Feature levels
- Added feature levels to improve compatibility to prevent it from choosing highest available feature set
- Added TESTING into log function for temp testing or function which should not be called for user environment
2024-10-17 18:02:58 +01:00
Mike Rodriguez be01feae42 Update README.md 2024-10-16 00:47:51 -07:00
Mike Rodriguez ecef4b9c22 Update README.md 2024-10-16 00:46:43 -07:00
Mike Rodriguez 31dfd6d41d Update README.md 2024-10-16 00:46:02 -07:00
Mike Rodriguez e0a8343b77 Update README.md 2024-10-16 00:45:31 -07:00
Mike Rodriguez d01f5f7734 Update README.md 2024-10-16 00:43:40 -07:00
Bud 4723b29257 Toggle for hardware cursor 2024-10-16 08:26:54 +01:00
Bud f96c5940fc Update README.md 2024-10-16 08:08:38 +01:00
Bud 2a8081d6d4 Added ARM64 Support
- Properly added ARM64 Support
2024-10-16 01:02:37 +01:00
Bud c89559acf7 Added floating point refresh rates
Added floating point refresh rates
(Easier for users than fractional)
Added floating point refresh rates for HDR too (Second target modes
2024-10-16 00:10:47 +01:00
Bud 2d3749635b Custom Edid Support
- Added custom edid support
- Toggle edid in xml or master in registry
- Live edid modification to easily identify emulated displays
- Checksum checks to make sure data isn't corrupt
- Converted edid to static vector instead to allow custom edid
2024-10-15 22:43:23 +01:00
Bud 2bfbb0e043 HDR+ Toggle
- Added support for HDR10+ support toggle in xml (12 bit depth)
- Added xml as resource file (Easier to edit)
2024-10-15 20:49:54 +01:00
Bud 76f6893d69 Update README.md 2024-10-15 18:59:20 +01:00
Bud 82ee302db4 HWCursor + others
- Changed EndPointDiagnostics to Virtual display driver
- Remove re-initialise of confpath
- Added hardware Cursor
- Changed path to VirtualDisplayDriver from IddSampleDriver
- Removed broken log logging in old directory
2024-10-15 18:32:46 +01:00
Mike Rodriguez c4045b7c79 Update README.md 2024-10-09 20:19:37 -07:00
Bud 9abbcd1270 Merge pull request #165 from zjoasan/namechange
Renaming
2024-10-10 03:17:13 +01:00
Bud e889902057 Removed old windows 10 build (In favour of universal)
RIP Non-HDR build
2024-10-10 03:15:21 +01:00
Bud 4c31aae067 Changed wording to avoid confusion README.md 2024-10-09 07:10:46 +01:00
Bud 97f06feb43 Update README.md
Clearer warning to download correct version
2024-10-09 05:15:47 +01:00
Bud a918f82607 Post build options for nonhdr 2024-10-09 02:54:52 +01:00
Joakim Sandström 54380dddee enhancement in label for feature request.
Update feature_request.yml
squashed and merge
2024-10-09 02:42:28 +01:00
Bud 354dde53f6 Updated Bug report 2024-10-08 17:03:36 +01:00
Mike Rodriguez 796d737969 Merge pull request #169 from zjoasan/isstempl
Fresh templates, bug and feature request
2024-10-08 00:42:52 -07:00
Mike Rodriguez ba44d43e6e Merge pull request #167 from zjoasan/scripts
Updated Scripts
2024-10-08 00:42:17 -07:00
Mike Rodriguez f476bedae9 Delete Community Scripts/README.md 2024-10-08 00:42:06 -07:00
Mike Rodriguez be5d4044e5 Delete AUTHORS.md 2024-10-08 00:37:26 -07:00
Mike Rodriguez db81ae9a5a Create AUTHORS.md 2024-10-08 00:37:12 -07:00
Mike Rodriguez b564dfdda2 Delete .github/AUTHORS.md 2024-10-08 00:36:55 -07:00
Mike Rodriguez 3c82dc1d84 Create AUTHORS.md 2024-10-08 00:35:50 -07:00
Mike Rodriguez 9630f90bba Create README.md 2024-10-08 00:26:17 -07:00
Mike Rodriguez e79a2fff9f Rename readme.md to README.md 2024-10-08 00:25:20 -07:00
Mike Rodriguez fcacb8fe40 Create README.md 2024-10-08 00:24:39 -07:00
Mike Rodriguez 5a04c82cbd Transition to Universal Driver in source. Clean-up of unused content. 2024-10-08 00:16:58 -07:00
Bud 116e72c0a9 Updated Post Build Options 2024-10-08 02:57:43 +01:00
Joakim Sandström 7b8b0daee2 Fresh templates, bug and feature request
Based on the github(beta) form-templates, mught add a free type later
2024-10-07 18:59:43 +02:00
Joakim Sandström 2b9e65edaf Create README.md
For users
2024-10-07 01:38:37 +02:00
Joakim Sandström 2290b1368b Fixed debug compile error
FileDigest and PreproccessorDefinaitionsw
2024-10-07 01:14:00 +02:00
Joakim Sandström f0f70d12c8 Compiled now
Had to change the path variable to a wide (L)
2024-10-07 00:46:26 +02:00
Joakim Sandström bd5992a49c Forgot inf rename, and build trial of non-hdr
Still not building due to Adapteroption::load in driver.cpp and adapteroption.h.

Feel not as vital as hdr, so PR non building.
2024-10-06 23:48:49 +02:00
Joakim Sandström c2622b1208 Renameing and buildt 2024-10-06 23:28:59 +02:00
Mike Rodriguez 52d9d7ad2e Update README.md
New beta release.
2024-10-06 05:21:22 -07:00
Joakim Sandström a92c69c37f A few scripts
Don't remember if this is for which manufacture name theses were, but if you know powershell you can easily changge the lnx000 to mttvdd or vice versa (this info is from memory, been awhile since i did the scripts)
2024-10-06 04:06:13 +02:00
338 changed files with 26493 additions and 11034 deletions

No files matched your search

+120
View File
@@ -0,0 +1,120 @@
name: Help Request
description: Request help with an issue.
title: "[Help]: "
labels: ["help wanted", "triage"]
assignees: ["zjoasan", "bud3699", "itsmikethetech"]
body:
- type: markdown
attributes:
value: |
Thanks for reaching out! Please provide as much detail as possible to help us assist you.
- type: dropdown
id: OS
attributes:
label: Which OS?
description: What version of Windows are you using?
options:
- Win11 Pro
- Win11 Home
- Win10 Pro
- Win10 Home
- Other..
default: 0
validations:
required: true
- type: dropdown
id: Version
attributes:
label: Which release?
description: What version of Windows are you running?
options:
- 24H2
- 23H2
- 22H2
- 21H2
- 1809
- 1607
- 1507
- Other..
default: 0
validations:
required: true
- type: markdown
attributes:
value: |
If you need help finding your Windows version, go to Settings -> System -> About.
- type: input
id: driver-version
attributes:
label: Driver Version
description: What driver version are you using?
placeholder: Enter driver version here.
validations:
required: true
- type: textarea
id: device-specs
attributes:
label: Device Specifications
description: Provide details about your hardware. This is to help us indentify whether its a potential hardware incompatibility. This isnt needed but helps.
placeholder: |
CPU: Example CPU
GPU: Example GPU
RAM: Example Ram
MOBO: Example Motherboard
validations:
required: false
- type: textarea
id: issue-info
attributes:
label: What issue are you experiencing or what do you need help with?
description: Describe the issue you need help with.
placeholder: |
Provide a clear and concise description of the help you need.
validations:
required: true
- type: textarea
id: troubleshooting-steps
attributes:
label: Troubleshooting steps taken
description: What have you tried so far to fix the issue?
placeholder: |
List steps you've taken to resolve/assist the problem.
validations:
required: false
- type: textarea
id: expected-outcome
attributes:
label: Expected outcome
description: What were you expecting/want to happen?
placeholder: |
Describe the behavior you expected/want.
validations:
required: false
- type: textarea
id: additional-info
attributes:
label: Additional information
description: Any extra details that might help us assist you.
placeholder: |
Provide any relevant logs, screenshots, or error messages.
validations:
required: false
- type: input
id: contact
attributes:
label: Contact Details
description: How can we reach you if we need more information?
placeholder: ex. email@example.com
validations:
required: false
+44
View File
@@ -0,0 +1,44 @@
name: Question
description: Ask a general question.
title: "[Question]: "
labels: ["question", "triage"]
assignees: ["zjoasan", "bud3699", "itsmikethetech"]
body:
- type: markdown
attributes:
value: |
Thanks for reaching out! Please provide as much detail as possible to help us understand your question.
- type: textarea
id: question-info
attributes:
label: What is your question?
description: Provide details about your question.
placeholder: |
Describe your question clearly so we can assist you effectively.
validations:
required: true
- type: textarea
id: additional-info
attributes:
label: Additional information
description: Any extra details that might help us answer your question.
placeholder: |
Provide any relevant context, screenshots, or references.
validations:
required: false
- type: input
id: contact
attributes:
label: Contact Details
description: How can we reach you if we need more information?
placeholder: ex. email@example.com
validations:
required: false
+124
View File
@@ -0,0 +1,124 @@
name: Bug Report
description: File a bug report.
title: "[Bug]: "
labels: ["bug", "triage"]
assignees: ["zjoasan", "bud3699", "itsmikethetech"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: dropdown
id: OS
attributes:
label: Which OS?
description: What version of Windows are you running?
options:
- Win11 Pro
- Win11 Home
- Win10 Pro
- Win10 Home
- Other..
default: 0
validations:
required: true
- type: dropdown
id: Version
attributes:
label: Which release?
description: What version of Windows are you running?
options:
- 24H2
- 23H2
- 22H2
- 21H2
- 1809
- 1607
- 1507
- Other..
default: 0
validations:
required: true
- type: markdown
attributes:
value: |
If you struggle finding Windows edition and version, go to Settings -> System -> About. Under Windows specifications.
- type: input
id: driver-version
attributes:
label: Driver Version
description: What driver version are you using?
placeholder: Enter driver version here.
validations:
required: true
- type: textarea
id: device-specs
attributes:
label: Device Specifications
description: Provide details about your hardware. This is to help us indentify whether its a potential hardware issue.
placeholder: |
CPU: Example CPU
GPU: Example GPU
RAM: Example Ram
MOBO: Example Motherboard
validations:
required: false
- type: textarea
id: bug-info
attributes:
label: Describe the bug
description: Free text description.
placeholder: |
Tell us what you see!
A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: reproduce-info
attributes:
label: Steps to reproduce
description: And if you can, how to reproduce
placeholder: |
Tell us how to reproduce!
1. Go to '...'
2. Click on '....'
3. Observe issue.
validations:
required: false
- type: textarea
id: expected-info
attributes:
label: Expected behavior
description: Please inform us about expected behavior.
placeholder: |
Description of behavior!
When I clicked...
validations:
required: false
- type: textarea
id: log-file
attributes:
label: Log File
description: Please attach the log file to help us diagnose the issue. You can drag and drop the file here or click to upload. The log can be retrieved by enabling the log file in the XML, then restarting the driver.
placeholder: Drag and drop the log file here or click to upload.
validations:
required: false
- type: input
id: contact
attributes:
label: Contact Details
description: How can we get in touch with you if we need more info?
placeholder: ex. email@example.com
validations:
required: false
@@ -0,0 +1,38 @@
name: Feature Request
description: Request a new Feature.
title: "[Feature]: "
labels: ["remove", "customize", "companion", "enhancement", "newcode"]
assignees: ["zjoasan", "bud3699", "itsmikethetech"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request report!
- type: textarea
id: frprob
attributes:
label: Is the feature related to a "problem"?
description: Describe the problem, in detail.
placeholder: Tell us how to reproduce
value: "When start X I wish to.."
validations:
required: true
- type: textarea
id: your-solution
attributes:
label: Your suggestion
description: Describe what would solve your problem, as detailed as possible.
placeholder: Tell us how to progress!
value: "Disable a specific VD via hotkey"
validations:
required: true
- type: input
id: contact
attributes:
label: Contact Details
description: How can we get in touch with you if we need more info?
placeholder: ex. email@example.com
validations:
required: false
+26
View File
@@ -0,0 +1,26 @@
---
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
rebase-strategy: disabled
schedule:
interval: "cron"
cronjob: "0 2 * * *"
timezone: "America/New_York"
open-pull-requests-limit: 10
groups:
github-actions:
applies-to: version-updates
patterns:
- "actions/*"
- "github/*"
- package-ecosystem: "gitsubmodule"
directory: "/"
rebase-strategy: disabled
schedule:
interval: "cron"
cronjob: "30 2 * * *"
timezone: "America/New_York"
open-pull-requests-limit: 10
+150
View File
@@ -0,0 +1,150 @@
---
name: Build Virtual Display Driver
on:
pull_request:
push:
branches: [ main, master ]
paths-ignore:
- '**.md'
- 'docs/**'
- 'LICENSE*'
workflow_dispatch:
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
env:
BUILD_CONFIGURATION: Release
VDD_SOLUTION: Virtual Display Driver (HDR)/MttVDD.sln
permissions:
contents: read
jobs:
build:
# The WDK driver build is validated against VS 2022; windows-latest is moving to VS 2026.
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
platform: [x64, ARM64]
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: true
- name: Setup MSBuild
uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0
- name: Install Windows Driver Kit (IddCx headers)
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
choco install windowsdriverkit11 -y --no-progress
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
- name: Detect Windows SDK (windows.h)
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
$kitsRoot = $null
try {
$kitsRoot = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Kits\Installed Roots" -Name "KitsRoot10" -ErrorAction Stop).KitsRoot10
} catch {
$kitsRoot = Join-Path ${env:ProgramFiles(x86)} "Windows Kits\10\"
}
if (-not $kitsRoot -or -not (Test-Path $kitsRoot)) {
throw "Windows Kits root not found: $kitsRoot"
}
$includeRoot = Join-Path $kitsRoot "Include"
if (-not (Test-Path $includeRoot)) {
throw "Windows Kits Include directory not found: $includeRoot"
}
$best =
Get-ChildItem -Path $includeRoot -Directory -ErrorAction SilentlyContinue |
Where-Object { $_.Name -match '^\d+\.\d+\.\d+\.\d+$' } |
Where-Object { Test-Path (Join-Path $_.FullName "um\Windows.h") } |
Sort-Object -Property Name -Descending |
Select-Object -First 1
if (-not $best) {
throw "Could not find an SDK version directory containing um\\Windows.h under: $includeRoot"
}
$sdkVersion = $best.Name
Write-Output "Using WindowsSdkDir: $kitsRoot"
Write-Output "Using WindowsTargetPlatformVersion: $sdkVersion"
"WINDOWS_SDK_DIR=$kitsRoot" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"WINDOWS_TARGET_PLATFORM_VERSION=$sdkVersion" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Build VDD (${{ matrix.platform }})
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
$sln = "${{ env.VDD_SOLUTION }}"
if (-not (Test-Path $sln)) { throw "VDD solution file not found at: $sln" }
# Pick an available UMDF WDF header version on the runner.
# Kits can be laid out either versioned:
# Include\<sdk>\wdf\umdf\2.xx
# or unversioned:
# Include\wdf\umdf\2.xx
$umdfRoots = @(
(Join-Path $env:WINDOWS_SDK_DIR ("Include\" + $env:WINDOWS_TARGET_PLATFORM_VERSION + "\wdf\umdf")),
(Join-Path $env:WINDOWS_SDK_DIR "Include\wdf\umdf")
) | Where-Object { Test-Path $_ }
if (-not $umdfRoots -or $umdfRoots.Count -eq 0) {
throw "UMDF WDF include root not found under $env:WINDOWS_SDK_DIR (tried versioned + unversioned layouts)"
}
$umdfBest =
$umdfRoots |
ForEach-Object { Get-ChildItem -Path $_ -Directory -ErrorAction SilentlyContinue } |
Where-Object { $_.Name -match '^\d+\.\d+$' } |
Sort-Object -Property Name -Descending |
Select-Object -First 1
if (-not $umdfBest) { throw "No UMDF version directories found under: $($umdfRoots -join ', ')" }
$umdfMinor = ($umdfBest.Name -split '\.')[1]
Write-Output "Using UMDF version: $($umdfBest.Name) (minor=$umdfMinor) from $($umdfBest.FullName)"
msbuild $sln `
/m `
/t:Build `
/p:Configuration="${{ env.BUILD_CONFIGURATION }}" `
/p:Platform="${{ matrix.platform }}" `
/p:WindowsSdkDir="$env:WINDOWS_SDK_DIR" `
/p:WindowsTargetPlatformVersion="$env:WINDOWS_TARGET_PLATFORM_VERSION" `
/p:UMDF_VERSION_MINOR="$umdfMinor" `
/p:EnableInfVerif=false `
/p:RunApiValidator=false `
/verbosity:minimal
- name: Collect outputs
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
$outDir = "Virtual Display Driver (HDR)\${{ matrix.platform }}\${{ env.BUILD_CONFIGURATION }}\MttVDD"
if (-not (Test-Path $outDir)) { throw "Build output directory not found: $outDir" }
$dest = "artifacts\VDD\${{ matrix.platform }}"
New-Item -ItemType Directory -Path $dest -Force | Out-Null
Copy-Item "$outDir\*" -Destination $dest -Recurse -Force
- name: Upload artifacts
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: VDD-${{ matrix.platform }}-${{ env.BUILD_CONFIGURATION }}
path: artifacts/VDD/${{ matrix.platform }}/
if-no-files-found: error
+6
View File
@@ -240,3 +240,9 @@ ModelManifest.xml
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
**/.claude/settings.local.json
CLAUDE.md
+3
View File
@@ -0,0 +1,3 @@
[submodule "ThirdParty/Windows-Driver-Frameworks"]
path = ThirdParty/Windows-Driver-Frameworks
url = https://github.com/microsoft/Windows-Driver-Frameworks.git
+104 -2
View File
@@ -3,10 +3,26 @@
#include <wrl/client.h> // For ComPtr
#include <dxgi.h> // For IDXGIAdapter, IDXGIFactory1
#include <algorithm> // For sort
#include <setupapi.h>
#include <devguid.h>
#include <devpropdef.h>
#include <devpkey.h>
#include <cstdint>
#include <optional>
#include <string>
#include <vector>
#include <fstream>
using namespace std;
using namespace Microsoft::WRL;
// DEVPKEY_Device_Luid: {60b193cb-5276-4d0f-96fc-f173ab17af69}, 2
// Define it ourselves to avoid SDK/WDK header differences where DEVPKEY_Device_Luid may not be declared.
static const DEVPROPKEY DEVPKEY_Device_Luid_Custom = {
{ 0x60b193cb, 0x5276, 0x4d0f, { 0x96, 0xfc, 0xf1, 0x73, 0xab, 0xad, 0x3e, 0xc6 } },
2
};
// Structure to vector gpus
struct GPUInfo {
wstring name; // GPU name
@@ -49,6 +65,68 @@ vector<GPUInfo> getAvailableGPUs() {
return gpus;
}
// Resolve an adapter LUID from a PCI bus number by enumerating display devices (SetupAPI).
// Returns nullopt if no match is found or if the system doesn't expose the LUID property.
inline std::optional<LUID> ResolveAdapterLuidFromPciBus(uint32_t targetBusIndex) {
HDEVINFO devInfo = SetupDiGetClassDevsW(&GUID_DEVCLASS_DISPLAY, nullptr, nullptr, DIGCF_PRESENT);
if (devInfo == INVALID_HANDLE_VALUE) {
return std::nullopt;
}
SP_DEVINFO_DATA devData = {};
devData.cbSize = sizeof(devData);
std::optional<LUID> result = std::nullopt;
for (DWORD i = 0; SetupDiEnumDeviceInfo(devInfo, i, &devData); ++i) {
DWORD currentBus = 0;
if (!SetupDiGetDeviceRegistryPropertyW(
devInfo,
&devData,
SPDRP_BUSNUMBER,
nullptr,
reinterpret_cast<PBYTE>(&currentBus),
sizeof(currentBus),
nullptr)) {
continue;
}
if (static_cast<uint32_t>(currentBus) != targetBusIndex) {
continue;
}
// DEVPKEY_Device_Luid is exposed as a UINT64 on Windows; convert into LUID.
DEVPROPTYPE propType = 0;
ULONG propSize = 0;
ULONGLONG luid64 = 0;
if (!SetupDiGetDevicePropertyW(
devInfo,
&devData,
&DEVPKEY_Device_Luid_Custom,
&propType,
reinterpret_cast<PBYTE>(&luid64),
sizeof(luid64),
&propSize,
0)) {
continue;
}
if (propType != DEVPROP_TYPE_UINT64 || propSize != sizeof(luid64)) {
continue;
}
LUID luid{};
luid.LowPart = static_cast<DWORD>(luid64 & 0xFFFFFFFFull);
luid.HighPart = static_cast<LONG>((luid64 >> 32) & 0xFFFFFFFFull);
result = luid;
break;
}
SetupDiDestroyDeviceInfoList(devInfo);
return result;
}
class AdapterOption {
public:
bool hasTargetAdapter{}; // Indicates if a target adapter is selected
@@ -110,8 +188,32 @@ public:
}
private:
// Find and set the adapter by its name
bool findAndSetAdapter(const wstring& adapterName) {
// Find and set the adapter by name, optionally using "name,bus" where bus is the PCI bus number.
bool findAndSetAdapter(const wstring& adapterSpec) {
// If user provides "name,bus", use bus to resolve LUID (more deterministic on multi-GPU setups).
const size_t comma = adapterSpec.find(L',');
if (comma != wstring::npos) {
const wstring namePart = adapterSpec.substr(0, comma);
wstring busPart = adapterSpec.substr(comma + 1);
// Trim whitespace in bus part
busPart.erase(remove_if(busPart.begin(), busPart.end(), iswspace), busPart.end());
wchar_t* end = nullptr;
const unsigned long busUl = wcstoul(busPart.c_str(), &end, 10);
const bool parsedOk = (end != nullptr) && (*end == L'\0') && (end != busPart.c_str());
if (parsedOk && busUl <= 0xFFFFFFFFul) {
if (auto luidOpt = ResolveAdapterLuidFromPciBus(static_cast<uint32_t>(busUl)); luidOpt.has_value()) {
adapterLuid = luidOpt.value();
hasTargetAdapter = true;
return true;
}
}
// Fall through to name matching using the name portion.
return findAndSetAdapter(namePart);
}
const wstring& adapterName = adapterSpec;
auto gpus = getAvailableGPUs();
// Iterate through all available GPUs
+1
View File
@@ -0,0 +1 @@
Required include(s). Plans to combine it into the driver to reduce includes.
@@ -1,44 +0,0 @@
{
"FolderOrderSettings": [
{"name":"Animation Curves","order":12,"path":"folders/Animation Curves.yy",},
{"name":"Extensions","order":14,"path":"folders/Extensions.yy",},
{"name":"Fonts","order":7,"path":"folders/Fonts.yy",},
{"name":"libxprocess","order":1,"path":"folders/Fonts/libxprocess.yy",},
{"name":"Notes","order":13,"path":"folders/Notes.yy",},
{"name":"Objects","order":9,"path":"folders/Objects.yy",},
{"name":"libxprocess","order":6,"path":"folders/Objects/libxprocess.yy",},
{"name":"Particle Systems","order":15,"path":"folders/Particle Systems.yy",},
{"name":"Paths","order":4,"path":"folders/Paths.yy",},
{"name":"Rooms","order":10,"path":"folders/Rooms.yy",},
{"name":"Scripts","order":5,"path":"folders/Scripts.yy",},
{"name":"Sequences","order":11,"path":"folders/Sequences.yy",},
{"name":"Shaders","order":6,"path":"folders/Shaders.yy",},
{"name":"Sounds","order":3,"path":"folders/Sounds.yy",},
{"name":"Sprites","order":1,"path":"folders/Sprites.yy",},
{"name":"Tile Sets","order":2,"path":"folders/Tile Sets.yy",},
{"name":"Timelines","order":8,"path":"folders/Timelines.yy",},
],
"ResourceOrderSettings": [
{"name":"in3h","order":13,"path":"sprites/in3h/in3h.yy",},
{"name":"btn_install3","order":2,"path":"objects/btn_install3/btn_install3.yy",},
{"name":"in4h","order":12,"path":"sprites/in4h/in4h.yy",},
{"name":"Sprite2","order":1,"path":"sprites/Sprite2/Sprite2.yy",},
{"name":"btn_install2","order":1,"path":"objects/btn_install2/btn_install2.yy",},
{"name":"button11","order":5,"path":"sprites/button11/button11.yy",},
{"name":"in4","order":6,"path":"sprites/in4/in4.yy",},
{"name":"button10","order":4,"path":"sprites/button10/button10.yy",},
{"name":"x","order":10,"path":"sprites/x/x.yy",},
{"name":"in2","order":8,"path":"sprites/in2/in2.yy",},
{"name":"libfiledialogs","order":2,"path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"button10un","order":3,"path":"sprites/button10un/button10un.yy",},
{"name":"in3","order":7,"path":"sprites/in3/in3.yy",},
{"name":"button11un","order":2,"path":"sprites/button11un/button11un.yy",},
{"name":"libfilesystem","order":1,"path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"in1","order":9,"path":"sprites/in1/in1.yy",},
{"name":"btn_10","order":4,"path":"objects/btn_10/btn_10.yy",},
{"name":"btn_11","order":5,"path":"objects/btn_11/btn_11.yy",},
{"name":"in2h","order":14,"path":"sprites/in2h/in2h.yy",},
{"name":"in1h","order":11,"path":"sprites/in1h/in1h.yy",},
{"name":"btn_install4","order":3,"path":"objects/btn_install4/btn_install4.yy",},
],
}
@@ -1,76 +0,0 @@
{
"resourceType": "GMProject",
"resourceVersion": "1.7",
"name": "VirtualDisplayDriverInstallerGMS2",
"AudioGroups": [
{"resourceType":"GMAudioGroup","resourceVersion":"1.3","name":"audiogroup_default","targets":-1,},
],
"configs": {
"children": [],
"name": "Default",
},
"defaultScriptType": 2,
"Folders": [
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Animation Curves","folderPath":"folders/Animation Curves.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Extensions","folderPath":"folders/Extensions.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Fonts","folderPath":"folders/Fonts.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"libxprocess","folderPath":"folders/Fonts/libxprocess.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Notes","folderPath":"folders/Notes.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Objects","folderPath":"folders/Objects.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"libxprocess","folderPath":"folders/Objects/libxprocess.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Particle Systems","folderPath":"folders/Particle Systems.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Paths","folderPath":"folders/Paths.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Rooms","folderPath":"folders/Rooms.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Scripts","folderPath":"folders/Scripts.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Sequences","folderPath":"folders/Sequences.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Shaders","folderPath":"folders/Shaders.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Sounds","folderPath":"folders/Sounds.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Sprites","folderPath":"folders/Sprites.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Tile Sets","folderPath":"folders/Tile Sets.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Timelines","folderPath":"folders/Timelines.yy",},
],
"IncludedFiles": [
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"test.bat","CopyToMask":-1,"filePath":"datafiles",},
],
"isEcma": false,
"LibraryEmitters": [],
"MetaData": {
"IDEVersion": "2023.11.1.129",
},
"resources": [
{"id":{"name":"in3h","path":"sprites/in3h/in3h.yy",},},
{"id":{"name":"fnt_example","path":"fonts/fnt_example/fnt_example.yy",},},
{"id":{"name":"btn_install3","path":"objects/btn_install3/btn_install3.yy",},},
{"id":{"name":"in4h","path":"sprites/in4h/in4h.yy",},},
{"id":{"name":"spr_UI","path":"sprites/spr_UI/spr_UI.yy",},},
{"id":{"name":"Sprite2","path":"sprites/Sprite2/Sprite2.yy",},},
{"id":{"name":"btn_install2","path":"objects/btn_install2/btn_install2.yy",},},
{"id":{"name":"button11","path":"sprites/button11/button11.yy",},},
{"id":{"name":"in4","path":"sprites/in4/in4.yy",},},
{"id":{"name":"btn_install1","path":"objects/btn_install1/btn_install1.yy",},},
{"id":{"name":"button10","path":"sprites/button10/button10.yy",},},
{"id":{"name":"x","path":"sprites/x/x.yy",},},
{"id":{"name":"in2","path":"sprites/in2/in2.yy",},},
{"id":{"name":"libxprocess","path":"extensions/libxprocess/libxprocess.yy",},},
{"id":{"name":"libfiledialogs","path":"extensions/libfiledialogs/libfiledialogs.yy",},},
{"id":{"name":"button10un","path":"sprites/button10un/button10un.yy",},},
{"id":{"name":"in3","path":"sprites/in3/in3.yy",},},
{"id":{"name":"button11un","path":"sprites/button11un/button11un.yy",},},
{"id":{"name":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},},
{"id":{"name":"in1","path":"sprites/in1/in1.yy",},},
{"id":{"name":"btn_10","path":"objects/btn_10/btn_10.yy",},},
{"id":{"name":"btn_11","path":"objects/btn_11/btn_11.yy",},},
{"id":{"name":"in2h","path":"sprites/in2h/in2h.yy",},},
{"id":{"name":"in1h","path":"sprites/in1h/in1h.yy",},},
{"id":{"name":"btn_install4","path":"objects/btn_install4/btn_install4.yy",},},
{"id":{"name":"obj_example","path":"objects/obj_example/obj_example.yy",},},
{"id":{"name":"Main","path":"rooms/Main/Main.yy",},},
],
"RoomOrderNodes": [
{"roomId":{"name":"Main","path":"rooms/Main/Main.yy",},},
],
"templateType": "game",
"TextureGroups": [
{"resourceType":"GMTextureGroup","resourceVersion":"1.3","name":"Default","autocrop":true,"border":2,"compressFormat":"bz2","directory":"","groupParent":null,"isScaled":true,"loadType":"default","mipsToGenerate":0,"targets":-1,},
],
}
@@ -1 +0,0 @@
mkdir C:\IddSampleDriver
@@ -1,138 +0,0 @@
#define _DialogInitialize
EnvironmentSetVariable("IMGUI_DIALOG_PARENT", string(int64(window_handle())));
if (os_type != os_linux) {
EnvironmentSetVariable("IMGUI_FONT_PATH", working_directory + string_lower("Fonts"));
_IfdLoadFonts();
} else {
EnvironmentSetVariable("IMGUI_FONT_PATH", program_directory + "assets/" + string_lower("Fonts"));
pid = ProcessExecute("uname -m");
res = ExecutedProcessReadFromStandardOutput(pid);
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
res = string_replace(string_replace(res, "\n", ""), "\r", "");
if (res == "x86_64" || res == "amd64") res = ".so";
else if (res == "aarch64" || res == "arm64") res = "_arm64.so";
else if (res == "armv7l" || res == "armhf") res = "_arm.so";
directory_create(game_save_id);
file_copy(program_directory + "assets/libfiledialogs" + res, game_save_id + "filedialogs.AppImage");
pid = ProcessExecute(@'chmod +x "' + game_save_id + @'filedialogs.AppImage"');
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
}
#define ShowMessage
if (os_type != os_linux) {
_ShowMessage(string(argument0));
return 1;
} else {
pid = ProcessExecute(@'"' + game_save_id + @'filedialogs.AppImage" --show-message "' + string(argument0) + @'" 2> /dev/null');
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
}
return 1;
#define ShowQuestion
if (os_type != os_linux) {
res = _ShowQuestion(string(argument0));
} else {
pid = ProcessExecute(@'"' + game_save_id + @'filedialogs.AppImage" --show-question "' + string(argument0) + @'" 2> /dev/null');
res = ExecutedProcessReadFromStandardOutput(pid);
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
res = string_replace(string_replace(res, "\n", ""), "\r", "");
}
return ((EnvironmentGetVariable("IMGUI_YES") != "") ? (res == EnvironmentGetVariable("IMGUI_YES")) : (res == "Yes"));
#define ShowQuestionExt
if (os_type != os_linux) {
res = _ShowQuestionExt(string(argument0));
} else {
pid = ProcessExecute(@'"' + game_save_id + @'filedialogs.AppImage" --show-question-ext "' + string(argument0) + @'" 2> /dev/null');
res = ExecutedProcessReadFromStandardOutput(pid);
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
res = string_replace(string_replace(res, "\n", ""), "\r", "");
}
if ((EnvironmentGetVariable("IMGUI_YES") != "") ? (res == EnvironmentGetVariable("IMGUI_YES")) : (res == "Yes")) {
return 1;
} else if ((EnvironmentGetVariable("IMGUI_NO") != "") ? (res == EnvironmentGetVariable("IMGUI_NO")) : (res == "No")) {
return 0;
}
return -1;
#define GetString
if (os_type != os_linux) {
res = _GetString(string(argument0), string(argument1));
} else {
pid = ProcessExecute(@'"' + game_save_id + @'filedialogs.AppImage" --get-string "' + string(argument0) + @'" "' + string(argument1) + @'" 2> /dev/null');
res = ExecutedProcessReadFromStandardOutput(pid);
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
res = string_replace(string_replace(res, "\n", ""), "\r", "");
}
return res;
#define GetNumber
if (os_type != os_linux) {
res = _GetNumber(string(argument0), real(argument1));
} else {
pid = ProcessExecute(@'"' + game_save_id + @'filedialogs.AppImage" --get-number "' + string(argument0) + @'" "' + string(argument1) + @'" 2> /dev/null');
res = ExecutedProcessReadFromStandardOutput(pid);
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
res = string_replace(string_replace(res, "\n", ""), "\r", "");
}
return real(res);
#define GetOpenFileName
if (os_type != os_linux) {
res = _GetOpenFileName(string(argument0), string(argument1), string(argument2), string(argument3));
} else {
pid = ProcessExecute(@'"' + game_save_id + @'filedialogs.AppImage" --get-open-filename-ext "' + string(argument0) + @'" "' + string(argument1) + @'" "' + string(argument2) + @'" "' + string(argument3) + @'" 2> /dev/null');
res = ExecutedProcessReadFromStandardOutput(pid);
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
res = string_replace_all(string_replace(string_replace(res, "\n", ""), "\r", ""), "\a", "");
}
if (res == "(null)") res = "";
return res;
#define GetOpenFileNames
if (os_type != os_linux) {
res = _GetOpenFileNames(string(argument0), string(argument1), string(argument2), string(argument3));
} else {
pid = ProcessExecute(@'"' + game_save_id + @'filedialogs.AppImage" --get-open-filenames-ext "' + string(argument0) + @'" "' + string(argument1) + @'" "' + string(argument2) + @'" "' + string(argument3) + @'" 2> /dev/null');
res = ExecutedProcessReadFromStandardOutput(pid);
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
res = string_replace_all(string_replace_all(res, "\r", ""), "\a", "");
if (string_length(res)) res = string_copy(res, 0, string_length(res) - 1);
}
if (res == "(null)") res = "";
return res;
#define GetSaveFileName
if (os_type != os_linux) {
res = _GetSaveFileName(string(argument0), string(argument1), string(argument2), string(argument3));
} else {
pid = ProcessExecute(@'"' + game_save_id + @'filedialogs.AppImage" --get-save-filename-ext "' + string(argument0) + @'" "' + string(argument1) + @'" "' + string(argument2) + @'" "' + string(argument3) + @'" 2> /dev/null');
res = ExecutedProcessReadFromStandardOutput(pid);
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
res = string_replace_all(string_replace(string_replace(res, "\n", ""), "\r", ""), "\a", "");
}
if (res == "(null)") res = "";
return res;
#define GetDirectory
if (os_type != os_linux) {
res = _GetDirectory(string(argument0), string(argument1));
} else {
pid = ProcessExecute(@'"' + game_save_id + @'filedialogs.AppImage" --get-directory-alt "' + string(argument0) + @'" "' + string(argument1) + @'" 2> /dev/null');
res = ExecutedProcessReadFromStandardOutput(pid);
FreeExecutedProcessStandardOutput(pid);
FreeExecutedProcessStandardInput(pid);
res = string_replace_all(string_replace(string_replace(res, "\n", ""), "\r", ""), "\a", "");
}
if (res == "(null)") res = "";
return res;
@@ -1,173 +0,0 @@
{
"resourceType": "GMExtension",
"resourceVersion": "1.2",
"name": "libfiledialogs",
"androidactivityinject": "",
"androidclassname": "",
"androidcodeinjection": "",
"androidinject": "",
"androidmanifestinject": "",
"androidPermissions": [],
"androidProps": false,
"androidsourcedir": "",
"author": "",
"classname": "",
"copyToTargets": 194,
"date": "2022-04-28T20:04:41.2874079-07:00",
"description": "",
"exportToGame": true,
"extensionVersion": "0.0.1",
"files": [
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"libfiledialogs.dll","constants":[],"copyToTargets":194,"filename":"libfiledialogs.dll","final":"","functions":[
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_GetOpenFileName","argCount":0,"args":[
1,
1,
1,
1,
],"documentation":"","externalName":"get_open_filename_ext","help":"_GetOpenFileName(lpFilter,lpFileName,lpDirName,lpTitle)","hidden":true,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_GetOpenFileNames","argCount":0,"args":[
1,
1,
1,
1,
],"documentation":"","externalName":"get_open_filenames_ext","help":"_GetOpenFileNames(lpFilter,lpFileName,lpDirName,lpTitle)","hidden":true,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_GetSaveFileName","argCount":0,"args":[
1,
1,
1,
1,
],"documentation":"","externalName":"get_save_filename_ext","help":"_GetSaveFileName(lpFilter,lpFileName,lpDirName,lpTitle)","hidden":true,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_GetDirectory","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"get_directory_alt","help":"_GetDirectory(lpCapt,lpRoot)","hidden":true,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_IfdLoadFonts","argCount":0,"args":[],"documentation":"","externalName":"ifd_load_fonts","help":"_IfdLoadFonts()","hidden":true,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_ShowMessage","argCount":0,"args":[
1,
],"documentation":"","externalName":"show_message","help":"_ShowMessage(lpMsgStr)","hidden":true,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_ShowQuestion","argCount":0,"args":[
1,
],"documentation":"","externalName":"show_question","help":"_ShowQuestion(lpMsgStr)","hidden":true,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_ShowQuestionExt","argCount":0,"args":[
1,
],"documentation":"","externalName":"show_question_ext","help":"_ShowQuestionExt(lpMsgStr)","hidden":true,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_GetString","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"get_string","help":"_GetString(lpMsgStr,lpDefStr)","hidden":true,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_GetNumber","argCount":0,"args":[
1,
2,
],"documentation":"","externalName":"get_number","help":"_GetNumber(lpMsgStr,nDefNum)","hidden":true,"kind":1,"returnType":2,},
],"init":"","kind":1,"order":[
{"name":"_GetOpenFileName","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"_GetOpenFileNames","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"_GetSaveFileName","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"_GetDirectory","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"_IfdLoadFonts","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"_ShowMessage","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"_ShowQuestion","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"_ShowQuestionExt","path":"extensions/libfiledialogs/libfiledialogs.yy",},
],"origname":"","ProxyFiles":[
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libfiledialogs.dylib","TargetMask":1,},
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libfiledialogs.so","TargetMask":7,},
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libfiledialogs_arm.so","TargetMask":7,},
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libfiledialogs_arm64.so","TargetMask":7,},
],"uncompress":false,"usesRunnerInterface":false,},
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"sdl2.dll","constants":[],"copyToTargets":64,"filename":"sdl2.dll","final":"","functions":[],"init":"","kind":1,"order":[],"origname":"","ProxyFiles":[],"uncompress":false,"usesRunnerInterface":false,},
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"libfiledialogs.zip","constants":[],"copyToTargets":0,"filename":"libfiledialogs.zip","final":"","functions":[],"init":"","kind":4,"order":[],"origname":"","ProxyFiles":[],"uncompress":false,"usesRunnerInterface":false,},
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"libfiledialogs.gml","constants":[],"copyToTargets":-1,"filename":"libfiledialogs.gml","final":"","functions":[
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"GetOpenFileName","argCount":0,"args":[
1,
1,
1,
1,
],"documentation":"","externalName":"GetOpenFileName","help":"GetOpenFileName(lpFilter,lpFileName,lpDirName,lpTitle)","hidden":false,"kind":2,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"GetOpenFileNames","argCount":0,"args":[
1,
1,
1,
1,
],"documentation":"","externalName":"GetOpenFileNames","help":"GetOpenFileNames(lpFilter,lpFileName,lpDirName,lpTitle)","hidden":false,"kind":2,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"GetSaveFileName","argCount":0,"args":[
1,
1,
1,
1,
],"documentation":"","externalName":"GetSaveFileName","help":"GetSaveFileName(lpFilter,lpFileName,lpDirName,lpTitle)","hidden":false,"kind":2,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"GetDirectory","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"GetDirectory","help":"GetDirectory(lpCapt,lpRoot)","hidden":false,"kind":2,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ShowMessage","argCount":0,"args":[
1,
],"documentation":"","externalName":"ShowMessage","help":"ShowMessage(lpMsgStr)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ShowQuestion","argCount":0,"args":[
1,
],"documentation":"","externalName":"ShowQuestion","help":"ShowQuestion(lpMsgStr)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ShowQuestionExt","argCount":0,"args":[
1,
],"documentation":"","externalName":"ShowQuestionExt","help":"ShowQuestionExt(lpMsgStr)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"_DialogInitialize","argCount":0,"args":[],"documentation":"","externalName":"_DialogInitialize","help":"_DialogInitialize()","hidden":true,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"GetString","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"GetString","help":"GetString(lpMsgStr,lpDefStr)","hidden":false,"kind":2,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"GetNumber","argCount":0,"args":[
1,
2,
],"documentation":"","externalName":"GetNumber","help":"GetNumber(lpMsgStr,nDefNum)","hidden":false,"kind":2,"returnType":2,},
],"init":"_DialogInitialize","kind":2,"order":[
{"name":"GetOpenFileName","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"GetOpenFileNames","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"GetSaveFileName","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"GetDirectory","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"ShowMessage","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"ShowQuestion","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"ShowQuestionExt","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"GetString","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"GetNumber","path":"extensions/libfiledialogs/libfiledialogs.yy",},
{"name":"_DialogInitialize","path":"extensions/libfiledialogs/libfiledialogs.yy",},
],"origname":"","ProxyFiles":[],"uncompress":false,"usesRunnerInterface":false,},
],
"gradleinject": "",
"hasConvertedCodeInjection": true,
"helpfile": "",
"HTML5CodeInjection": "",
"html5Props": false,
"IncludedResources": [],
"installdir": "",
"iosCocoaPodDependencies": "",
"iosCocoaPods": "",
"ioscodeinjection": "",
"iosdelegatename": "",
"iosplistinject": "",
"iosProps": false,
"iosSystemFrameworkEntries": [],
"iosThirdPartyFrameworkEntries": [],
"license": "",
"maccompilerflags": "",
"maclinkerflags": "",
"macsourcedir": "",
"options": [],
"optionsFile": "options.json",
"packageId": "",
"parent": {
"name": "Extensions",
"path": "folders/Extensions.yy",
},
"productId": "",
"sourcedir": "",
"supportedTargets": -1,
"tvosclassname": null,
"tvosCocoaPodDependencies": "",
"tvosCocoaPods": "",
"tvoscodeinjection": "",
"tvosdelegatename": null,
"tvosmaccompilerflags": "",
"tvosmaclinkerflags": "",
"tvosplistinject": "",
"tvosProps": false,
"tvosSystemFrameworkEntries": [],
"tvosThirdPartyFrameworkEntries": [],
}
@@ -1,29 +0,0 @@
#define generate_working_directory
// generate_working_directory() - Call this Function at Game Start
// Sets directory_get_current_working() to Ubuntu (Linux) Assets SubFolder
// Sets directory_get_current_working() to Mac App Bundle Resources Folder
if (os_type == os_linux) { return directory_set_current_working(directory_get_current_working() + "/assets/"); }
if (os_type != os_macosx) { return true; }
success = false;
exe_pname = executable_get_directory(); // = "/Path/To/YourAppBundle.app/Contents/MacOS/";
macos_dname = filename_dir(exe_pname); // = "/Path/To/YourAppBundle.app/Contents/MacOS";
macos_bname = filename_name(macos_dname); // = "MacOS";
contents_dname = filename_dir(macos_dname); // = "/Path/To/YourAppBundle.app/Contents";
contents_bname = filename_name(contents_dname); // = "Contents";
app_dname = filename_dir(contents_dname); // = "/Path/To/YourAppBundle.app";
app_ename = filename_ext(app_dname); // = ".app";
contents_pname = filename_path(macos_dname); // = "/Path/To/YourAppBundle.app/Contents/";
resources_pname = contents_pname + "Resources/"; // = "/Path/To/YourAppBundle.app/Contents/Resources/";
// if running from the IDE change working directory to:
if (directory_exists(filename_path(parameter_string(1)))) {
success = directory_set_current_working(filename_path(parameter_string(1)));
} // if "/Path/To/YourAppBundle.app/Contents/MacOS/YourExe" and "/Path/To/YourAppBundle.app/Contents/Resources/" exists
else if (macos_bname == "MacOS" && contents_bname == "Contents" && app_ename == ".app" && directory_exists(resources_pname)) {
// set working directory to "/Path/To/YourAppBundle.app/Contents/Resources/" and allow loading normal included files
success = directory_set_current_working(resources_pname);
}
return success;
@@ -1,514 +0,0 @@
{
"resourceType": "GMExtension",
"resourceVersion": "1.2",
"name": "libfilesystem",
"androidactivityinject": "",
"androidclassname": "",
"androidcodeinjection": "",
"androidinject": "",
"androidmanifestinject": "",
"androidPermissions": [],
"androidProps": false,
"androidsourcedir": "",
"author": "",
"classname": "",
"copyToTargets": 202375362,
"date": "2020-05-31T05:57:01",
"description": "",
"exportToGame": true,
"extensionVersion": "1.0.0",
"files": [
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"libfilesystem.dll","constants":[
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"working_directory","hidden":false,"value":"directory_get_current_working()",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"program_directory","hidden":false,"value":"executable_get_directory()",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"temp_directory","hidden":false,"value":"directory_get_temporary_path()",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"program_filename","hidden":false,"value":"executable_get_filename()",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"program_pathname","hidden":false,"value":"executable_get_pathname()",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"FD_RDONLY","hidden":false,"value":"0",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"FD_WRONLY","hidden":false,"value":"1",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"FD_RDWR","hidden":false,"value":"2",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"FD_APPEND","hidden":false,"value":"3",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"FD_RDAP","hidden":false,"value":"4",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"DC_ATOZ","hidden":false,"value":"0",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"DC_ZTOA","hidden":false,"value":"1",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"DC_AOTON","hidden":false,"value":"2",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"DC_ANTOO","hidden":false,"value":"3",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"DC_MOTON","hidden":false,"value":"4",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"DC_MNTOO","hidden":false,"value":"5",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"DC_COTON","hidden":false,"value":"6",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"DC_CNTOO","hidden":false,"value":"7",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"DC_RAND","hidden":false,"value":"8",},
],"copyToTargets":202375362,"filename":"libfilesystem.dll","final":"","functions":[
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_copy","argCount":2,"args":[
1,
1,
],"documentation":"","externalName":"file_copy","help":"file_copy(fname,newname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_rename","argCount":2,"args":[
1,
1,
],"documentation":"","externalName":"file_rename","help":"file_rename(oldname,newname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_exists","argCount":1,"args":[
1,
],"documentation":"","externalName":"file_exists","help":"file_exists(fname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_delete","argCount":1,"args":[
1,
],"documentation":"","externalName":"file_delete","help":"file_delete(fname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_create","argCount":1,"args":[
1,
],"documentation":"","externalName":"directory_create","help":"directory_create(dname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_copy","argCount":2,"args":[
1,
1,
],"documentation":"","externalName":"directory_copy","help":"directory_copy(dname,newname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_rename","argCount":2,"args":[
1,
1,
],"documentation":"","externalName":"directory_rename","help":"directory_rename(oldname,newname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_exists","argCount":1,"args":[
1,
],"documentation":"","externalName":"directory_exists","help":"directory_exists(dname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_destroy","argCount":1,"args":[
1,
],"documentation":"","externalName":"directory_destroy","help":"directory_destroy(dname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"filename_absolute","argCount":1,"args":[
1,
],"documentation":"","externalName":"filename_absolute","help":"filename_absolute(fname)","hidden":false,"kind":12,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"environment_get_variable","argCount":1,"args":[
1,
],"documentation":"","externalName":"environment_get_variable","help":"environment_get_variable(name)","hidden":false,"kind":12,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"environment_set_variable","argCount":2,"args":[
1,
1,
],"documentation":"","externalName":"environment_set_variable","help":"environment_set_variable(name,value)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_get_current_working","argCount":0,"args":[],"documentation":"","externalName":"directory_get_current_working","help":"directory_get_current_working()","hidden":false,"kind":12,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_set_current_working","argCount":1,"args":[
1,
],"documentation":"","externalName":"directory_set_current_working","help":"directory_set_current_working(dname)","hidden":false,"kind":12,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"executable_get_directory","argCount":-1,"args":[],"documentation":"","externalName":"executable_get_directory","help":"executable_get_directory()","hidden":false,"kind":12,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"executable_get_filename","argCount":-1,"args":[],"documentation":"","externalName":"executable_get_filename","help":"executable_get_filename()","hidden":false,"kind":12,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"executable_get_pathname","argCount":-1,"args":[],"documentation":"","externalName":"executable_get_pathname","help":"executable_get_pathname()","hidden":false,"kind":12,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_size","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_size","help":"file_size(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_size","argCount":0,"args":[
1,
],"documentation":"","externalName":"directory_size","help":"directory_size(dname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"filename_canonical","argCount":0,"args":[
1,
],"documentation":"","externalName":"filename_canonical","help":"filename_canonical(fname)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"environment_expand_variables","argCount":0,"args":[
1,
],"documentation":"","externalName":"environment_expand_variables","help":"environment_expand_variables(str)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_first","argCount":0,"args":[
1,
1,
2,
2,
],"documentation":"","externalName":"directory_contents_first","help":"directory_contents_first(dname,pattern,includedirs,recursive)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_next","argCount":0,"args":[],"documentation":"","externalName":"directory_contents_next","help":"directory_contents_next()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_close","argCount":0,"args":[],"documentation":"","externalName":"directory_contents_close","help":"directory_contents_close()","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_open","argCount":0,"args":[
1,
2,
],"documentation":"","externalName":"file_bin_open","help":"file_bin_open(fname,mode)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_rewrite","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_rewrite","help":"file_bin_rewrite(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_close","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_close","help":"file_bin_close(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_size","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_size","help":"file_bin_size(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_position","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_position","help":"file_bin_position(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_seek","argCount":0,"args":[
2,
2,
],"documentation":"","externalName":"file_bin_seek","help":"file_bin_seek(fd,pos)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_read_byte","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_read_byte","help":"file_bin_read_byte(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_write_byte","argCount":0,"args":[
2,
2,
],"documentation":"","externalName":"file_bin_write_byte","help":"file_bin_write_byte(fd,byte)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_open_read","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_text_open_read","help":"file_text_open_read(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_open_write","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_text_open_write","help":"file_text_open_write(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_open_append","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_text_open_append","help":"file_text_open_append(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_write_real","argCount":0,"args":[
2,
2,
],"documentation":"","externalName":"file_text_write_real","help":"file_text_write_real(fd,val)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_write_string","argCount":0,"args":[
2,
1,
],"documentation":"","externalName":"file_text_write_string","help":"file_text_write_string(fd,str)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_writeln","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_writeln","help":"file_text_writeln(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_eoln","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_eoln","help":"file_text_eoln(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_eof","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_eof","help":"file_text_eof(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_read_real","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_read_real","help":"file_text_read_real(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_read_string","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_read_string","help":"file_text_read_string(fd)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_readln","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_readln","help":"file_text_readln(fd)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_read_all","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_read_all","help":"file_text_read_all(fd)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_open_from_string","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_text_open_from_string","help":"file_text_open_from_string(str)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_close","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_close","help":"file_text_close(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"environment_unset_variable","argCount":0,"args":[
1,
],"documentation":"","externalName":"environment_unset_variable","help":"environment_unset_variable(name)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_hardlinks","argCount":0,"args":[
2,
1,
2,
],"documentation":"","externalName":"file_bin_hardlinks","help":"file_bin_hardlinks(fd,dnames,recursive)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_get_order","argCount":0,"args":[],"documentation":"","externalName":"directory_contents_get_order","help":"directory_contents_get_order()","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_set_order","argCount":0,"args":[
2,
],"documentation":"","externalName":"directory_contents_set_order","help":"directory_contents_set_order(order)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_get_temporary_path","argCount":0,"args":[],"documentation":"","externalName":"directory_get_temporary_path","help":"directory_get_temporary_path()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_accessed_year","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_accessed_year","help":"file_datetime_accessed_year(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_accessed_month","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_accessed_month","help":"file_datetime_accessed_month(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_accessed_day","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_accessed_day","help":"file_datetime_accessed_day(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_accessed_hour","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_accessed_hour","help":"file_datetime_accessed_hour(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_accessed_minute","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_accessed_minute","help":"file_datetime_accessed_minute(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_accessed_second","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_accessed_second","help":"file_datetime_accessed_second(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_modified_year","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_modified_year","help":"file_datetime_modified_year(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_modified_month","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_modified_month","help":"file_datetime_modified_month(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_modified_day","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_modified_day","help":"file_datetime_modified_day(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_modified_hour","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_modified_hour","help":"file_datetime_modified_hour(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_modified_minute","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_modified_minute","help":"file_datetime_modified_minute(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_modified_second","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_modified_second","help":"file_datetime_modified_second(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_created_year","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_created_year","help":"file_datetime_created_year(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_created_month","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_created_month","help":"file_datetime_created_month(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_created_day","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_created_day","help":"file_datetime_created_day(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_created_hour","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_created_hour","help":"file_datetime_created_hour(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_created_minute","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_created_minute","help":"file_datetime_created_minute(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_datetime_created_second","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_datetime_created_second","help":"file_datetime_created_second(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_accessed_year","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_accessed_year","help":"file_bin_datetime_accessed_year(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_accessed_month","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_accessed_month","help":"file_bin_datetime_accessed_month(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_accessed_day","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_accessed_day","help":"file_bin_datetime_accessed_day(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_accessed_hour","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_accessed_hour","help":"file_bin_datetime_accessed_hour(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_accessed_minute","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_accessed_minute","help":"file_bin_datetime_accessed_minute(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_accessed_second","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_accessed_second","help":"file_bin_datetime_accessed_second(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_modified_year","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_modified_year","help":"file_bin_datetime_modified_year(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_modified_month","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_modified_month","help":"file_bin_datetime_modified_month(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_modified_day","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_modified_day","help":"file_bin_datetime_modified_day(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_modified_hour","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_modified_hour","help":"file_bin_datetime_modified_hour(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_modified_minute","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_modified_minute","help":"file_bin_datetime_modified_minute(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_modified_second","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_modified_second","help":"file_bin_datetime_modified_second(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_created_year","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_created_year","help":"file_bin_datetime_created_year(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_created_month","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_created_month","help":"file_bin_datetime_created_month(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_created_day","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_created_day","help":"file_bin_datetime_created_day(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_created_hour","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_created_hour","help":"file_bin_datetime_created_hour(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_created_minute","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_created_minute","help":"file_bin_datetime_created_minute(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_datetime_created_second","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_datetime_created_second","help":"file_bin_datetime_created_second(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_get_maxfiles","argCount":0,"args":[],"documentation":"","externalName":"directory_contents_get_maxfiles","help":"directory_contents_get_maxfiles()","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_set_maxfiles","argCount":0,"args":[
2,
],"documentation":"","externalName":"directory_contents_set_maxfiles","help":"directory_contents_set_maxfiles(maxfiles)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_get_cntfiles","argCount":0,"args":[],"documentation":"","externalName":"directory_contents_get_cntfiles","help":"directory_contents_get_cntfiles()","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"symlink_create","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"symlink_create","help":"symlink_create(fname,newname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"symlink_copy","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"symlink_copy","help":"symlink_copy(fname,newname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"symlink_exists","argCount":0,"args":[
1,
],"documentation":"","externalName":"symlink_exists","help":"symlink_exists(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"hardlink_create","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"hardlink_create","help":"hardlink_create(fname,newname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_numblinks","argCount":0,"args":[
1,
],"documentation":"","externalName":"file_numblinks","help":"file_numblinks(fname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_bin_numblinks","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_bin_numblinks","help":"file_bin_numblinks(fd)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"filename_equivalent","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"filename_equivalent","help":"filename_equivalent(fname1,fname2)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"environment_get_variable_exists","argCount":0,"args":[
1,
],"documentation":"","externalName":"environment_get_variable_exists","help":"environment_get_variable_exists(name)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_first_async","argCount":0,"args":[
1,
1,
2,
2,
],"documentation":"","externalName":"directory_contents_first_async","help":"directory_contents_first_async(dname,pattern,includedirs,recursive)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_get_completion_status","argCount":0,"args":[],"documentation":"","externalName":"directory_contents_get_completion_status","help":"directory_contents_get_completion_status()","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_set_completion_status","argCount":0,"args":[
2,
],"documentation":"","externalName":"directory_contents_set_completion_status","help":"directory_contents_set_completion_status(complete)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_contents_get_length","argCount":0,"args":[],"documentation":"","externalName":"directory_contents_get_length","help":"directory_contents_get_length()","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_get_desktop_path","argCount":0,"args":[],"documentation":"","externalName":"directory_get_desktop_path","help":"directory_get_desktop_path()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_get_documents_path","argCount":0,"args":[],"documentation":"","externalName":"directory_get_documents_path","help":"directory_get_documents_path()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_get_downloads_path","argCount":0,"args":[],"documentation":"","externalName":"directory_get_downloads_path","help":"directory_get_downloads_path()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_get_music_path","argCount":0,"args":[],"documentation":"","externalName":"directory_get_music_path","help":"directory_get_music_path()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_get_pictures_path","argCount":0,"args":[],"documentation":"","externalName":"directory_get_pictures_path","help":"directory_get_pictures_path()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"directory_get_videos_path","argCount":0,"args":[],"documentation":"","externalName":"directory_get_videos_path","help":"directory_get_videos_path()","hidden":false,"kind":1,"returnType":1,},
],"init":"","kind":1,"order":[
{"name":"file_copy","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_rename","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_exists","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_delete","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_size","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_numblinks","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"hardlink_create","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_create","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_copy","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_rename","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_exists","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_destroy","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_size","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"symlink_create","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"symlink_copy","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"symlink_exists","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"filename_absolute","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"filename_canonical","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"filename_equivalent","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"environment_get_variable","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"environment_get_variable_exists","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"environment_set_variable","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"environment_unset_variable","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"environment_expand_variables","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_get_current_working","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_set_current_working","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_get_temporary_path","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"executable_get_directory","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"executable_get_filename","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"executable_get_pathname","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_first","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_first_async","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_next","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_close","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_get_length","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_get_order","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_set_order","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_get_cntfiles","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_get_maxfiles","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_set_maxfiles","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_get_completion_status","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_contents_set_completion_status","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_open","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_numblinks","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_hardlinks","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_rewrite","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_close","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_size","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_position","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_seek","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_read_byte","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_write_byte","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_open_read","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_open_write","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_open_append","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_write_real","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_write_string","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_writeln","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_eoln","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_eof","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_read_real","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_read_string","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_readln","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_read_all","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_open_from_string","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_text_close","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_accessed_year","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_accessed_month","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_accessed_day","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_accessed_hour","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_accessed_minute","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_accessed_second","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_modified_year","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_modified_month","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_modified_day","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_modified_hour","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_modified_minute","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_modified_second","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_created_year","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_created_month","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_created_day","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_created_hour","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_created_minute","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_datetime_created_second","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_accessed_year","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_accessed_month","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_accessed_day","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_accessed_hour","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_accessed_minute","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_accessed_second","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_modified_year","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_modified_month","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_modified_day","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_modified_hour","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_modified_minute","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_modified_second","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_created_year","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_created_month","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_created_day","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_created_hour","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_created_minute","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"file_bin_datetime_created_second","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_get_desktop_path","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_get_documents_path","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_get_downloads_path","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_get_music_path","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_get_pictures_path","path":"extensions/libfilesystem/libfilesystem.yy",},
{"name":"directory_get_videos_path","path":"extensions/libfilesystem/libfilesystem.yy",},
],"origname":"extensions\\libfilesystem.dll","ProxyFiles":[
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libfilesystem.dylib","TargetMask":1,},
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libfilesystem_arm.so","TargetMask":7,},
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libfilesystem_arm64.so","TargetMask":7,},
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libfilesystem.so","TargetMask":7,},
],"uncompress":false,"usesRunnerInterface":false,},
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"libfilesystem.zip","constants":[],"copyToTargets":0,"filename":"libfilesystem.zip","final":"","functions":[],"init":"","kind":4,"order":[],"origname":"extensions\\libfilesystem.zip","ProxyFiles":[],"uncompress":false,"usesRunnerInterface":false,},
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"libfilesystem.gml","constants":[],"copyToTargets":194,"filename":"libfilesystem.gml","final":"","functions":[
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"generate_working_directory","argCount":0,"args":[],"documentation":"","externalName":"generate_working_directory","help":"","hidden":false,"kind":2,"returnType":1,},
],"init":"generate_working_directory","kind":2,"order":[
{"name":"generate_working_directory","path":"extensions/libfilesystem/libfilesystem.yy",},
],"origname":"","ProxyFiles":[],"uncompress":false,"usesRunnerInterface":false,},
],
"gradleinject": "",
"hasConvertedCodeInjection": true,
"helpfile": "",
"HTML5CodeInjection": "",
"html5Props": false,
"IncludedResources": [],
"installdir": "",
"iosCocoaPodDependencies": "",
"iosCocoaPods": "",
"ioscodeinjection": "",
"iosdelegatename": "",
"iosplistinject": "",
"iosProps": false,
"iosSystemFrameworkEntries": [],
"iosThirdPartyFrameworkEntries": [],
"license": "Free to use, also for commercial games.",
"maccompilerflags": "",
"maclinkerflags": "",
"macsourcedir": "",
"options": [],
"optionsFile": "options.json",
"packageId": "",
"parent": {
"name": "Extensions",
"path": "folders/Extensions.yy",
},
"productId": "ACBD3CFF4E539AD869A0E8E3B4B022DD",
"sourcedir": "",
"supportedTargets": 202375362,
"tvosclassname": "",
"tvosCocoaPodDependencies": "",
"tvosCocoaPods": "",
"tvoscodeinjection": "",
"tvosdelegatename": "",
"tvosmaccompilerflags": "",
"tvosmaclinkerflags": "",
"tvosplistinject": "",
"tvosProps": false,
"tvosSystemFrameworkEntries": [],
"tvosThirdPartyFrameworkEntries": [],
}
@@ -1,63 +0,0 @@
#define libxprocess_init
globalvar fd_stdin, fd_stdout, pid_stdin, pid_stdout, fd_enable;
fd_stdin = -1;
fd_stdout = -1;
fd_enable = false;
#define execute_shell
prog = argument0; arg = argument1;
prog = string_replace_all(prog, @'\', @'\\');
prog = string_replace_all(prog, @'"', @'\"');
if (os_type == os_windows &&
(string_lower(filename_name(prog)) == "cmd" ||
string_lower(filename_name(prog)) == "cmd.exe"))
{ prog = "cmd.exe"; arg = "/c " + arg; }
prog = @'"' + prog + @'"';
pid = ProcessExecuteAsync(prog + " " + arg);
if (!fd_enable) {
FreeExecutedProcessStandardInput(pid);
FreeExecutedProcessStandardOutput(pid);
}
return pid;
#define execute_program
prog = argument0; arg = argument1; wait = argument2;
pid = execute_shell(prog, arg);
while (!CompletionStatusFromExecutedProcess(pid) && wait) { }
return pid;
#define file_text_enable_stddesc
enable = argument0;
fd_enable = enable;
#define file_text_open_write_stdin
pid = argument0;
if (fd_enable) {
fd_stdin += 1; pid_stdin[fd_stdin] = pid;
return pid_stdin[fd_stdin];
}
return -1;
#define file_text_write_string_stdin
file = argument0; str = argument1;
return ExecutedProcessWriteToStandardInput(file, str);
#define file_text_close_stdin
file = argument0;
return FreeExecutedProcessStandardInput(file);
#define file_text_open_read_stdout
pid = argument0;
if (fd_enable) {
fd_stdout += 1; pid_stdout[fd_stdout] = pid;
return pid_stdout[fd_stdout];
}
return -1;
#define file_text_read_string_stdout
file = argument0;
return ExecutedProcessReadFromStandardOutput(file);
#define file_text_close_stdout
file = argument0;
return FreeExecutedProcessStandardOutput(file);
@@ -1,291 +0,0 @@
{
"resourceType": "GMExtension",
"resourceVersion": "1.2",
"name": "libxprocess",
"androidactivityinject": "",
"androidclassname": "",
"androidcodeinjection": "",
"androidinject": "",
"androidmanifestinject": "",
"androidPermissions": [],
"androidProps": false,
"androidsourcedir": "",
"author": "",
"classname": "",
"copyToTargets": 194,
"date": "2021-06-09T03:32:23.3229009-07:00",
"description": "",
"exportToGame": true,
"extensionVersion": "0.0.1",
"files": [
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"libxprocess.dll","constants":[
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"KINFO_EXEP","hidden":false,"value":"0x1000",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"KINFO_CWDP","hidden":false,"value":"0x2000",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"KINFO_PPID","hidden":false,"value":"0x0100",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"KINFO_CPID","hidden":false,"value":"0x0200",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"KINFO_ARGV","hidden":false,"value":"0x0010",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"KINFO_ENVV","hidden":false,"value":"0x0020",},
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"KINFO_OWID","hidden":false,"value":"0x0001",},
],"copyToTargets":194,"filename":"libxprocess.dll","final":"","functions":[
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcessExecute","argCount":0,"args":[
1,
],"documentation":"","externalName":"ProcessExecute","help":"ProcessExecute(command)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcessExecuteAsync","argCount":0,"args":[
1,
],"documentation":"","externalName":"ProcessExecuteAsync","help":"ProcessExecuteAsync(command)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"CompletionStatusFromExecutedProcess","argCount":0,"args":[
2,
],"documentation":"","externalName":"CompletionStatusFromExecutedProcess","help":"CompletionStatusFromExecutedProcess(procIndex)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ExecutedProcessWriteToStandardInput","argCount":0,"args":[
2,
1,
],"documentation":"","externalName":"ExecutedProcessWriteToStandardInput","help":"ExecutedProcessWriteToStandardInput(procId,input)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ExecutedProcessReadFromStandardOutput","argCount":0,"args":[
2,
],"documentation":"","externalName":"ExecutedProcessReadFromStandardOutput","help":"ExecutedProcessReadFromStandardOutput(procId)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcIdExists","argCount":0,"args":[
2,
],"documentation":"","externalName":"ProcIdExists","help":"ProcIdExists(procId)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcIdKill","argCount":0,"args":[
2,
],"documentation":"","externalName":"ProcIdKill","help":"ProcIdKill(procId)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcListCreate","argCount":0,"args":[],"documentation":"","externalName":"ProcListCreate","help":"ProcListCreate()","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcessId","argCount":0,"args":[
2,
2,
],"documentation":"","externalName":"ProcessId","help":"ProcessId(procList,i)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcessIdLength","argCount":0,"args":[
2,
],"documentation":"","externalName":"ProcessIdLength","help":"ProcessIdLength(procList)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"FreeProcInfo","argCount":0,"args":[
2,
],"documentation":"","externalName":"FreeProcInfo","help":"FreeProcInfo(procInfo)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"FreeProcList","argCount":0,"args":[
2,
],"documentation":"","externalName":"FreeProcList","help":"FreeProcList(procList)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ExecutableImageFilePath","argCount":0,"args":[
2,
],"documentation":"","externalName":"ExecutableImageFilePath","help":"ExecutableImageFilePath(procInfo)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"CurrentWorkingDirectory","argCount":0,"args":[
2,
],"documentation":"","externalName":"CurrentWorkingDirectory","help":"CurrentWorkingDirectory(procInfo)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ParentProcessId","argCount":0,"args":[
2,
],"documentation":"","externalName":"ParentProcessId","help":"ParentProcessId(procInfo)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ChildProcessId","argCount":0,"args":[
2,
2,
],"documentation":"","externalName":"ChildProcessId","help":"ChildProcessId(procInfo,i)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ChildProcessIdLength","argCount":0,"args":[
2,
],"documentation":"","externalName":"ChildProcessIdLength","help":"ChildProcessIdLength(procInfo)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"CommandLine","argCount":0,"args":[
2,
2,
],"documentation":"","externalName":"CommandLine","help":"CommandLine(procInfo,i)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"CommandLineLength","argCount":0,"args":[
2,
],"documentation":"","externalName":"CommandLineLength","help":"CommandLineLength(procInfo)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"Environment","argCount":0,"args":[
2,
2,
],"documentation":"","externalName":"Environment","help":"Environment(procInfo,i)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"EnvironmentLength","argCount":0,"args":[
2,
],"documentation":"","externalName":"EnvironmentLength","help":"EnvironmentLength(procInfo)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"OwnedWindowId","argCount":0,"args":[
2,
2,
],"documentation":"","externalName":"OwnedWindowId","help":"OwnedWindowId(procInfo,i)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"OwnedWindowIdLength","argCount":0,"args":[
2,
],"documentation":"","externalName":"OwnedWindowIdLength","help":"OwnedWindowIdLength(procInfo)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"WindowIdExists","argCount":0,"args":[
1,
],"documentation":"","externalName":"WindowIdExists","help":"WindowIdExists(winId)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"WindowIdKill","argCount":0,"args":[
1,
],"documentation":"","externalName":"WindowIdKill","help":"WindowIdKill(winId)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcIdFromSelf","argCount":0,"args":[],"documentation":"","externalName":"ProcIdFromSelf","help":"ProcIdFromSelf()","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ParentProcIdFromSelf","argCount":0,"args":[],"documentation":"","externalName":"ParentProcIdFromSelf","help":"ParentProcIdFromSelf()","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ExecutableFromSelf","argCount":0,"args":[],"documentation":"","externalName":"ExecutableFromSelf","help":"ExectuableFromSelf()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"DirectoryGetCurrentWorking","argCount":0,"args":[],"documentation":"","externalName":"DirectoryGetCurrentWorking","help":"DirectoryGetCurrentWorking()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"DirectorySetCurrentWorking","argCount":0,"args":[
1,
],"documentation":"","externalName":"DirectorySetCurrentWorking","help":"DirectorySetCurrentWorking(dname)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"EnvironmentGetVariable","argCount":0,"args":[
1,
],"documentation":"","externalName":"EnvironmentGetVariable","help":"EnvironmentGetVariable(name)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"EnvironmentSetVariable","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"EnvironmentSetVariable","help":"EnvironmentSetVariable(name,value)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"EnvironmentUnsetVariable","argCount":0,"args":[
1,
],"documentation":"","externalName":"EnvironmentUnsetVariable","help":"EnvironmentUnsetVariable(name)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"FreeExecutedProcessStandardInput","argCount":0,"args":[
2,
],"documentation":"","externalName":"FreeExecutedProcessStandardInput","help":"FreeExecutedProcessStandardInput(procIndex)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"FreeExecutedProcessStandardOutput","argCount":0,"args":[
2,
],"documentation":"","externalName":"FreeExecutedProcessStandardOutput","help":"FreeExecutedProcessStandardOutput(procIndex)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcInfoFromProcId","argCount":0,"args":[
2,
],"documentation":"","externalName":"ProcInfoFromProcId","help":"ProcInfoFromProcId(procId)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ExeFromProcId","argCount":0,"args":[
2,
],"documentation":"","externalName":"ExeFromProcId","help":"ExeFromProcId(procId)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"CwdFromProcId","argCount":0,"args":[
2,
],"documentation":"","externalName":"CwdFromProcId","help":"CwdFromProcId(procId)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"DirectoryGetTemporaryPath","argCount":0,"args":[],"documentation":"","externalName":"DirectoryGetTemporaryPath","help":"DirectoryGetTemporaryPath()","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"WindowIdFromNativeWindow","argCount":0,"args":[
1,
],"documentation":"","externalName":"WindowIdFromNativeWindow","help":"WindowIdFromNativeWindow(window)","hidden":false,"kind":1,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"EnvironmentGetVariableExists","argCount":0,"args":[
1,
],"documentation":"","externalName":"EnvironmentGetVariableExists","help":"","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"ProcInfoFromProcIdEx","argCount":0,"args":[
2,
2,
],"documentation":"","externalName":"ProcInfoFromProcIdEx","help":"ProcInfoFromProcIdEx(procId,kInfoFlags)","hidden":false,"kind":1,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"SetBufferLimitForStandardOutput","argCount":0,"args":[
2,
],"documentation":"","externalName":"SetBufferLimitForStandardOutput","help":"SetBufferLimitForStandardOutput(limit)","hidden":false,"kind":1,"returnType":2,},
],"init":"","kind":1,"order":[
{"name":"ProcessExecute","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ProcessExecuteAsync","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"CompletionStatusFromExecutedProcess","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ExecutedProcessWriteToStandardInput","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ExecutedProcessReadFromStandardOutput","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ProcIdExists","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ProcIdKill","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ProcListCreate","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ProcessId","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ProcessIdLength","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"FreeProcInfo","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"FreeProcList","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ExecutableImageFilePath","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"CurrentWorkingDirectory","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ParentProcessId","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ChildProcessId","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ChildProcessIdLength","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"CommandLine","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"CommandLineLength","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"Environment","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"EnvironmentLength","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"OwnedWindowId","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"OwnedWindowIdLength","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"WindowIdExists","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"WindowIdKill","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ProcIdFromSelf","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ParentProcIdFromSelf","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ExecutableFromSelf","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"DirectoryGetCurrentWorking","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"DirectorySetCurrentWorking","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"EnvironmentGetVariable","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"EnvironmentGetVariableExists","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"EnvironmentSetVariable","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"EnvironmentUnsetVariable","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"DirectoryGetTemporaryPath","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"FreeExecutedProcessStandardInput","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"FreeExecutedProcessStandardOutput","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ProcInfoFromProcId","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ProcInfoFromProcIdEx","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"ExeFromProcId","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"CwdFromProcId","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"WindowIdFromNativeWindow","path":"extensions/libxprocess/libxprocess.yy",},
],"origname":"","ProxyFiles":[
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libxprocess.dylib","TargetMask":1,},
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libxprocess_arm.so","TargetMask":7,},
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libxprocess_arm64.so","TargetMask":7,},
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"libxprocess.so","TargetMask":7,},
],"uncompress":false,"usesRunnerInterface":false,},
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"libxprocess.zip","constants":[],"copyToTargets":0,"filename":"libxprocess.zip","final":"","functions":[],"init":"","kind":4,"order":[],"origname":"","ProxyFiles":[],"uncompress":false,"usesRunnerInterface":false,},
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"libxprocess.gml","constants":[],"copyToTargets":194,"filename":"libxprocess.gml","final":"","functions":[
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"libxprocess_init","argCount":0,"args":[],"documentation":"","externalName":"libxprocess_init","help":"libxprocess_init()","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"execute_shell","argCount":0,"args":[
1,
1,
],"documentation":"","externalName":"execute_shell","help":"execute_shell(prog,arg)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"execute_program","argCount":0,"args":[
1,
1,
2,
],"documentation":"","externalName":"execute_program","help":"execute_program(prog,arg,wait)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_enable_stddesc","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_enable_stddesc","help":"file_text_enable_stddesc(enable)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_open_write_stdin","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_open_write_stdin(pid)","help":"file_text_open_write_stdin(pid)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_write_string_stdin","argCount":0,"args":[
2,
1,
],"documentation":"","externalName":"file_text_write_string_stdin(file,","help":"file_text_write_string_stdin(file,str)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_close_stdin","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_close_stdin(file)","help":"file_text_close_stdin(file)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_open_read_stdout","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_open_read_stdout","help":"file_text_open_read_stdout(pid)","hidden":false,"kind":2,"returnType":2,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_read_string_stdout","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_read_string_stdout","help":"file_text_read_string_stdout(file)","hidden":false,"kind":2,"returnType":1,},
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_text_close_stdout","argCount":0,"args":[
2,
],"documentation":"","externalName":"file_text_close_stdout","help":"file_text_close_stdout(file)","hidden":false,"kind":2,"returnType":2,},
],"init":"libxprocess_init","kind":2,"order":[
{"name":"libxprocess_init","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"execute_shell","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"execute_program","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"file_text_enable_stddesc","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"file_text_open_write_stdin","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"file_text_write_string_stdin","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"file_text_close_stdin","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"file_text_open_read_stdout","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"file_text_read_string_stdout","path":"extensions/libxprocess/libxprocess.yy",},
{"name":"file_text_close_stdout","path":"extensions/libxprocess/libxprocess.yy",},
],"origname":"","ProxyFiles":[],"uncompress":false,"usesRunnerInterface":false,},
],
"gradleinject": "",
"hasConvertedCodeInjection": true,
"helpfile": "",
"HTML5CodeInjection": "",
"html5Props": false,
"IncludedResources": [],
"installdir": "",
"iosCocoaPodDependencies": "",
"iosCocoaPods": "",
"ioscodeinjection": "",
"iosdelegatename": "",
"iosplistinject": "",
"iosProps": false,
"iosSystemFrameworkEntries": [],
"iosThirdPartyFrameworkEntries": [],
"license": "",
"maccompilerflags": "",
"maclinkerflags": "",
"macsourcedir": "",
"options": [],
"optionsFile": "options.json",
"packageId": "",
"parent": {
"name": "Extensions",
"path": "folders/Extensions.yy",
},
"productId": "",
"sourcedir": "",
"supportedTargets": -1,
"tvosclassname": null,
"tvosCocoaPodDependencies": "",
"tvosCocoaPods": "",
"tvoscodeinjection": "",
"tvosdelegatename": null,
"tvosmaccompilerflags": "",
"tvosmaclinkerflags": "",
"tvosplistinject": "",
"tvosProps": false,
"tvosSystemFrameworkEntries": [],
"tvosThirdPartyFrameworkEntries": [],
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

@@ -1,209 +0,0 @@
{
"hinting": 0,
"glyphOperations": 0,
"interpreter": 0,
"pointRounding": 0,
"fontName": "Arial",
"styleName": "Regular",
"size": 12.0,
"bold": false,
"italic": false,
"charset": 0,
"AntiAlias": 1,
"first": 0,
"last": 0,
"sampleText": "abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: ▯ (9647)",
"includeTTF": false,
"TTFName": "",
"textureGroupId": {
"name": "Default",
"path": "texturegroups/Default",
},
"ascenderOffset": 0,
"glyphs": {
"32": {"x":2,"y":2,"w":4,"h":18,"character":32,"shift":4,"offset":0,},
"33": {"x":165,"y":42,"w":3,"h":18,"character":33,"shift":4,"offset":1,},
"34": {"x":158,"y":42,"w":5,"h":18,"character":34,"shift":6,"offset":0,},
"35": {"x":147,"y":42,"w":9,"h":18,"character":35,"shift":9,"offset":0,},
"36": {"x":136,"y":42,"w":9,"h":18,"character":36,"shift":9,"offset":0,},
"37": {"x":120,"y":42,"w":14,"h":18,"character":37,"shift":14,"offset":0,},
"38": {"x":107,"y":42,"w":11,"h":18,"character":38,"shift":11,"offset":0,},
"39": {"x":102,"y":42,"w":3,"h":18,"character":39,"shift":3,"offset":0,},
"40": {"x":95,"y":42,"w":5,"h":18,"character":40,"shift":5,"offset":0,},
"41": {"x":88,"y":42,"w":5,"h":18,"character":41,"shift":5,"offset":0,},
"42": {"x":170,"y":42,"w":6,"h":18,"character":42,"shift":6,"offset":0,},
"43": {"x":77,"y":42,"w":9,"h":18,"character":43,"shift":9,"offset":0,},
"44": {"x":61,"y":42,"w":3,"h":18,"character":44,"shift":4,"offset":1,},
"45": {"x":54,"y":42,"w":5,"h":18,"character":45,"shift":5,"offset":0,},
"46": {"x":49,"y":42,"w":3,"h":18,"character":46,"shift":4,"offset":1,},
"47": {"x":42,"y":42,"w":5,"h":18,"character":47,"shift":4,"offset":0,},
"48": {"x":31,"y":42,"w":9,"h":18,"character":48,"shift":9,"offset":0,},
"49": {"x":24,"y":42,"w":5,"h":18,"character":49,"shift":9,"offset":1,},
"50": {"x":13,"y":42,"w":9,"h":18,"character":50,"shift":9,"offset":0,},
"51": {"x":2,"y":42,"w":9,"h":18,"character":51,"shift":9,"offset":0,},
"52": {"x":240,"y":22,"w":9,"h":18,"character":52,"shift":9,"offset":0,},
"53": {"x":66,"y":42,"w":9,"h":18,"character":53,"shift":9,"offset":0,},
"54": {"x":178,"y":42,"w":9,"h":18,"character":54,"shift":9,"offset":0,},
"55": {"x":189,"y":42,"w":9,"h":18,"character":55,"shift":9,"offset":0,},
"56": {"x":200,"y":42,"w":9,"h":18,"character":56,"shift":9,"offset":0,},
"57": {"x":186,"y":62,"w":9,"h":18,"character":57,"shift":9,"offset":0,},
"58": {"x":181,"y":62,"w":3,"h":18,"character":58,"shift":4,"offset":1,},
"59": {"x":176,"y":62,"w":3,"h":18,"character":59,"shift":4,"offset":1,},
"60": {"x":165,"y":62,"w":9,"h":18,"character":60,"shift":9,"offset":0,},
"61": {"x":154,"y":62,"w":9,"h":18,"character":61,"shift":9,"offset":0,},
"62": {"x":143,"y":62,"w":9,"h":18,"character":62,"shift":9,"offset":0,},
"63": {"x":132,"y":62,"w":9,"h":18,"character":63,"shift":9,"offset":0,},
"64": {"x":114,"y":62,"w":16,"h":18,"character":64,"shift":16,"offset":0,},
"65": {"x":100,"y":62,"w":12,"h":18,"character":65,"shift":11,"offset":-1,},
"66": {"x":89,"y":62,"w":9,"h":18,"character":66,"shift":11,"offset":1,},
"67": {"x":76,"y":62,"w":11,"h":18,"character":67,"shift":12,"offset":0,},
"68": {"x":64,"y":62,"w":10,"h":18,"character":68,"shift":12,"offset":1,},
"69": {"x":53,"y":62,"w":9,"h":18,"character":69,"shift":11,"offset":1,},
"70": {"x":42,"y":62,"w":9,"h":18,"character":70,"shift":10,"offset":1,},
"71": {"x":28,"y":62,"w":12,"h":18,"character":71,"shift":12,"offset":0,},
"72": {"x":16,"y":62,"w":10,"h":18,"character":72,"shift":12,"offset":1,},
"73": {"x":11,"y":62,"w":3,"h":18,"character":73,"shift":4,"offset":1,},
"74": {"x":2,"y":62,"w":7,"h":18,"character":74,"shift":8,"offset":0,},
"75": {"x":235,"y":42,"w":10,"h":18,"character":75,"shift":11,"offset":1,},
"76": {"x":225,"y":42,"w":8,"h":18,"character":76,"shift":9,"offset":1,},
"77": {"x":211,"y":42,"w":12,"h":18,"character":77,"shift":13,"offset":1,},
"78": {"x":228,"y":22,"w":10,"h":18,"character":78,"shift":12,"offset":1,},
"79": {"x":214,"y":22,"w":12,"h":18,"character":79,"shift":12,"offset":0,},
"80": {"x":203,"y":22,"w":9,"h":18,"character":80,"shift":11,"offset":1,},
"81": {"x":232,"y":2,"w":12,"h":18,"character":81,"shift":12,"offset":0,},
"82": {"x":213,"y":2,"w":11,"h":18,"character":82,"shift":12,"offset":1,},
"83": {"x":201,"y":2,"w":10,"h":18,"character":83,"shift":11,"offset":0,},
"84": {"x":189,"y":2,"w":10,"h":18,"character":84,"shift":10,"offset":0,},
"85": {"x":177,"y":2,"w":10,"h":18,"character":85,"shift":12,"offset":1,},
"86": {"x":164,"y":2,"w":11,"h":18,"character":86,"shift":11,"offset":0,},
"87": {"x":147,"y":2,"w":15,"h":18,"character":87,"shift":15,"offset":0,},
"88": {"x":134,"y":2,"w":11,"h":18,"character":88,"shift":11,"offset":0,},
"89": {"x":121,"y":2,"w":11,"h":18,"character":89,"shift":11,"offset":0,},
"90": {"x":109,"y":2,"w":10,"h":18,"character":90,"shift":10,"offset":0,},
"91": {"x":226,"y":2,"w":4,"h":18,"character":91,"shift":4,"offset":1,},
"92": {"x":102,"y":2,"w":5,"h":18,"character":92,"shift":4,"offset":0,},
"93": {"x":89,"y":2,"w":4,"h":18,"character":93,"shift":4,"offset":0,},
"94": {"x":79,"y":2,"w":8,"h":18,"character":94,"shift":8,"offset":0,},
"95": {"x":66,"y":2,"w":11,"h":18,"character":95,"shift":9,"offset":-1,},
"96": {"x":60,"y":2,"w":4,"h":18,"character":96,"shift":5,"offset":0,},
"97": {"x":49,"y":2,"w":9,"h":18,"character":97,"shift":9,"offset":0,},
"98": {"x":39,"y":2,"w":8,"h":18,"character":98,"shift":9,"offset":1,},
"99": {"x":29,"y":2,"w":8,"h":18,"character":99,"shift":8,"offset":0,},
"100": {"x":19,"y":2,"w":8,"h":18,"character":100,"shift":9,"offset":0,},
"101": {"x":8,"y":2,"w":9,"h":18,"character":101,"shift":9,"offset":0,},
"102": {"x":95,"y":2,"w":5,"h":18,"character":102,"shift":4,"offset":0,},
"103": {"x":2,"y":22,"w":8,"h":18,"character":103,"shift":9,"offset":0,},
"104": {"x":97,"y":22,"w":7,"h":18,"character":104,"shift":9,"offset":1,},
"105": {"x":12,"y":22,"w":2,"h":18,"character":105,"shift":4,"offset":1,},
"106": {"x":187,"y":22,"w":4,"h":18,"character":106,"shift":4,"offset":-1,},
"107": {"x":178,"y":22,"w":7,"h":18,"character":107,"shift":8,"offset":1,},
"108": {"x":174,"y":22,"w":2,"h":18,"character":108,"shift":4,"offset":1,},
"109": {"x":160,"y":22,"w":12,"h":18,"character":109,"shift":13,"offset":1,},
"110": {"x":151,"y":22,"w":7,"h":18,"character":110,"shift":9,"offset":1,},
"111": {"x":140,"y":22,"w":9,"h":18,"character":111,"shift":9,"offset":0,},
"112": {"x":130,"y":22,"w":8,"h":18,"character":112,"shift":9,"offset":1,},
"113": {"x":120,"y":22,"w":8,"h":18,"character":113,"shift":9,"offset":0,},
"114": {"x":113,"y":22,"w":5,"h":18,"character":114,"shift":5,"offset":1,},
"115": {"x":193,"y":22,"w":8,"h":18,"character":115,"shift":8,"offset":0,},
"116": {"x":106,"y":22,"w":5,"h":18,"character":116,"shift":4,"offset":0,},
"117": {"x":88,"y":22,"w":7,"h":18,"character":117,"shift":9,"offset":1,},
"118": {"x":78,"y":22,"w":8,"h":18,"character":118,"shift":8,"offset":0,},
"119": {"x":64,"y":22,"w":12,"h":18,"character":119,"shift":12,"offset":0,},
"120": {"x":54,"y":22,"w":8,"h":18,"character":120,"shift":8,"offset":0,},
"121": {"x":44,"y":22,"w":8,"h":18,"character":121,"shift":8,"offset":0,},
"122": {"x":34,"y":22,"w":8,"h":18,"character":122,"shift":8,"offset":0,},
"123": {"x":27,"y":22,"w":5,"h":18,"character":123,"shift":5,"offset":0,},
"124": {"x":23,"y":22,"w":2,"h":18,"character":124,"shift":4,"offset":1,},
"125": {"x":16,"y":22,"w":5,"h":18,"character":125,"shift":5,"offset":0,},
"126": {"x":197,"y":62,"w":9,"h":18,"character":126,"shift":9,"offset":0,},
"9647": {"x":208,"y":62,"w":6,"h":18,"character":9647,"shift":8,"offset":1,},
},
"kerningPairs": [
{"first":32,"second":65,"amount":-1,},
{"first":32,"second":902,"amount":-1,},
{"first":32,"second":913,"amount":-1,},
{"first":32,"second":916,"amount":-1,},
{"first":32,"second":923,"amount":-1,},
{"first":49,"second":49,"amount":-1,},
{"first":65,"second":32,"amount":-1,},
{"first":65,"second":84,"amount":-1,},
{"first":65,"second":86,"amount":-1,},
{"first":65,"second":89,"amount":-1,},
{"first":65,"second":160,"amount":-1,},
{"first":65,"second":8217,"amount":-1,},
{"first":70,"second":44,"amount":-1,},
{"first":70,"second":46,"amount":-1,},
{"first":70,"second":65,"amount":-1,},
{"first":76,"second":84,"amount":-1,},
{"first":76,"second":86,"amount":-1,},
{"first":76,"second":87,"amount":-1,},
{"first":76,"second":89,"amount":-1,},
{"first":76,"second":8217,"amount":-1,},
{"first":80,"second":44,"amount":-1,},
{"first":80,"second":46,"amount":-1,},
{"first":80,"second":65,"amount":-1,},
{"first":84,"second":44,"amount":-1,},
{"first":84,"second":45,"amount":-1,},
{"first":84,"second":46,"amount":-1,},
{"first":84,"second":58,"amount":-1,},
{"first":84,"second":59,"amount":-1,},
{"first":84,"second":65,"amount":-1,},
{"first":84,"second":97,"amount":-1,},
{"first":84,"second":99,"amount":-1,},
{"first":84,"second":101,"amount":-1,},
{"first":84,"second":111,"amount":-1,},
{"first":84,"second":115,"amount":-1,},
{"first":84,"second":119,"amount":-1,},
{"first":84,"second":121,"amount":-1,},
{"first":84,"second":173,"amount":-1,},
{"first":84,"second":894,"amount":-1,},
{"first":86,"second":44,"amount":-1,},
{"first":86,"second":45,"amount":-1,},
{"first":86,"second":46,"amount":-1,},
{"first":86,"second":65,"amount":-1,},
{"first":86,"second":97,"amount":-1,},
{"first":86,"second":101,"amount":-1,},
{"first":86,"second":111,"amount":-1,},
{"first":86,"second":173,"amount":-1,},
{"first":87,"second":44,"amount":-1,},
{"first":87,"second":46,"amount":-1,},
{"first":89,"second":44,"amount":-1,},
{"first":89,"second":45,"amount":-1,},
{"first":89,"second":46,"amount":-1,},
{"first":89,"second":58,"amount":-1,},
{"first":89,"second":59,"amount":-1,},
{"first":89,"second":65,"amount":-1,},
{"first":89,"second":97,"amount":-1,},
{"first":89,"second":101,"amount":-1,},
{"first":89,"second":111,"amount":-1,},
{"first":89,"second":112,"amount":-1,},
{"first":89,"second":113,"amount":-1,},
{"first":89,"second":117,"amount":-1,},
{"first":89,"second":118,"amount":-1,},
{"first":89,"second":173,"amount":-1,},
{"first":89,"second":894,"amount":-1,},
{"first":114,"second":44,"amount":-1,},
{"first":114,"second":46,"amount":-1,},
{"first":118,"second":44,"amount":-1,},
{"first":118,"second":46,"amount":-1,},
{"first":119,"second":44,"amount":-1,},
{"first":119,"second":46,"amount":-1,},
{"first":121,"second":44,"amount":-1,},
{"first":121,"second":46,"amount":-1,},
],
"ranges": [
{"lower":32,"upper":127,},
{"lower":9647,"upper":9647,},
],
"regenerateBitmap": false,
"canGenerateBitmap": true,
"maintainGms1Font": false,
"parent": {
"name": "libxproc",
"path": "folders/Fonts/libxproc.yy",
},
"resourceVersion": "1.0",
"name": "fnt_example",
"tags": [],
"resourceType": "GMFont",
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

@@ -1,141 +0,0 @@
{
"resourceType": "GMFont",
"resourceVersion": "1.0",
"name": "fnt_example",
"AntiAlias": 1,
"applyKerning": 0,
"ascender": 0,
"ascenderOffset": 0,
"bold": true,
"canGenerateBitmap": true,
"charset": 0,
"first": 0,
"fontName": "Courier New",
"glyphOperations": 0,
"glyphs": {
"32": {"character":32,"h":27,"offset":0,"shift":14,"w":14,"x":2,"y":2,},
"33": {"character":33,"h":27,"offset":5,"shift":14,"w":5,"x":234,"y":89,},
"34": {"character":34,"h":27,"offset":3,"shift":14,"w":9,"x":223,"y":89,},
"35": {"character":35,"h":27,"offset":1,"shift":14,"w":12,"x":209,"y":89,},
"36": {"character":36,"h":27,"offset":1,"shift":14,"w":12,"x":195,"y":89,},
"37": {"character":37,"h":27,"offset":1,"shift":14,"w":12,"x":181,"y":89,},
"38": {"character":38,"h":27,"offset":2,"shift":14,"w":12,"x":167,"y":89,},
"39": {"character":39,"h":27,"offset":5,"shift":14,"w":4,"x":161,"y":89,},
"40": {"character":40,"h":27,"offset":6,"shift":14,"w":6,"x":153,"y":89,},
"41": {"character":41,"h":27,"offset":2,"shift":14,"w":7,"x":144,"y":89,},
"42": {"character":42,"h":27,"offset":1,"shift":14,"w":12,"x":241,"y":89,},
"43": {"character":43,"h":27,"offset":0,"shift":14,"w":14,"x":128,"y":89,},
"44": {"character":44,"h":27,"offset":4,"shift":14,"w":6,"x":106,"y":89,},
"45": {"character":45,"h":27,"offset":2,"shift":14,"w":11,"x":93,"y":89,},
"46": {"character":46,"h":27,"offset":5,"shift":14,"w":5,"x":86,"y":89,},
"47": {"character":47,"h":27,"offset":1,"shift":14,"w":12,"x":72,"y":89,},
"48": {"character":48,"h":27,"offset":1,"shift":14,"w":12,"x":58,"y":89,},
"49": {"character":49,"h":27,"offset":1,"shift":14,"w":12,"x":44,"y":89,},
"50": {"character":50,"h":27,"offset":1,"shift":14,"w":12,"x":30,"y":89,},
"51": {"character":51,"h":27,"offset":1,"shift":14,"w":12,"x":16,"y":89,},
"52": {"character":52,"h":27,"offset":1,"shift":14,"w":12,"x":2,"y":89,},
"53": {"character":53,"h":27,"offset":1,"shift":14,"w":12,"x":114,"y":89,},
"54": {"character":54,"h":27,"offset":2,"shift":14,"w":11,"x":2,"y":118,},
"55": {"character":55,"h":27,"offset":1,"shift":14,"w":12,"x":15,"y":118,},
"56": {"character":56,"h":27,"offset":1,"shift":14,"w":12,"x":29,"y":118,},
"57": {"character":57,"h":27,"offset":2,"shift":14,"w":12,"x":93,"y":147,},
"58": {"character":58,"h":27,"offset":5,"shift":14,"w":5,"x":86,"y":147,},
"59": {"character":59,"h":27,"offset":4,"shift":14,"w":7,"x":77,"y":147,},
"60": {"character":60,"h":27,"offset":-1,"shift":14,"w":15,"x":60,"y":147,},
"61": {"character":61,"h":27,"offset":0,"shift":14,"w":14,"x":44,"y":147,},
"62": {"character":62,"h":27,"offset":0,"shift":14,"w":15,"x":27,"y":147,},
"63": {"character":63,"h":27,"offset":2,"shift":14,"w":11,"x":14,"y":147,},
"64": {"character":64,"h":27,"offset":2,"shift":14,"w":10,"x":2,"y":147,},
"65": {"character":65,"h":27,"offset":-1,"shift":14,"w":16,"x":237,"y":118,},
"66": {"character":66,"h":27,"offset":0,"shift":14,"w":14,"x":221,"y":118,},
"67": {"character":67,"h":27,"offset":0,"shift":14,"w":14,"x":205,"y":118,},
"68": {"character":68,"h":27,"offset":0,"shift":14,"w":14,"x":189,"y":118,},
"69": {"character":69,"h":27,"offset":0,"shift":14,"w":14,"x":173,"y":118,},
"70": {"character":70,"h":27,"offset":1,"shift":14,"w":14,"x":157,"y":118,},
"71": {"character":71,"h":27,"offset":0,"shift":14,"w":15,"x":140,"y":118,},
"72": {"character":72,"h":27,"offset":0,"shift":14,"w":14,"x":124,"y":118,},
"73": {"character":73,"h":27,"offset":1,"shift":14,"w":12,"x":110,"y":118,},
"74": {"character":74,"h":27,"offset":1,"shift":14,"w":14,"x":94,"y":118,},
"75": {"character":75,"h":27,"offset":0,"shift":14,"w":15,"x":77,"y":118,},
"76": {"character":76,"h":27,"offset":0,"shift":14,"w":14,"x":61,"y":118,},
"77": {"character":77,"h":27,"offset":-1,"shift":14,"w":16,"x":43,"y":118,},
"78": {"character":78,"h":27,"offset":-1,"shift":14,"w":16,"x":237,"y":60,},
"79": {"character":79,"h":27,"offset":0,"shift":14,"w":14,"x":221,"y":60,},
"80": {"character":80,"h":27,"offset":1,"shift":14,"w":13,"x":206,"y":60,},
"81": {"character":81,"h":27,"offset":0,"shift":14,"w":14,"x":93,"y":31,},
"82": {"character":82,"h":27,"offset":0,"shift":14,"w":15,"x":67,"y":31,},
"83": {"character":83,"h":27,"offset":1,"shift":14,"w":12,"x":53,"y":31,},
"84": {"character":84,"h":27,"offset":0,"shift":14,"w":14,"x":37,"y":31,},
"85": {"character":85,"h":27,"offset":0,"shift":14,"w":15,"x":20,"y":31,},
"86": {"character":86,"h":27,"offset":-1,"shift":14,"w":16,"x":2,"y":31,},
"87": {"character":87,"h":27,"offset":-1,"shift":14,"w":16,"x":223,"y":2,},
"88": {"character":88,"h":27,"offset":0,"shift":14,"w":15,"x":206,"y":2,},
"89": {"character":89,"h":27,"offset":0,"shift":14,"w":14,"x":190,"y":2,},
"90": {"character":90,"h":27,"offset":1,"shift":14,"w":12,"x":176,"y":2,},
"91": {"character":91,"h":27,"offset":5,"shift":14,"w":7,"x":84,"y":31,},
"92": {"character":92,"h":27,"offset":2,"shift":14,"w":11,"x":163,"y":2,},
"93": {"character":93,"h":27,"offset":2,"shift":14,"w":7,"x":139,"y":2,},
"94": {"character":94,"h":27,"offset":1,"shift":14,"w":12,"x":125,"y":2,},
"95": {"character":95,"h":27,"offset":-1,"shift":14,"w":17,"x":106,"y":2,},
"96": {"character":96,"h":27,"offset":4,"shift":14,"w":6,"x":98,"y":2,},
"97": {"character":97,"h":27,"offset":1,"shift":14,"w":13,"x":83,"y":2,},
"98": {"character":98,"h":27,"offset":-1,"shift":14,"w":15,"x":66,"y":2,},
"99": {"character":99,"h":27,"offset":1,"shift":14,"w":13,"x":51,"y":2,},
"100": {"character":100,"h":27,"offset":0,"shift":14,"w":15,"x":34,"y":2,},
"101": {"character":101,"h":27,"offset":0,"shift":14,"w":14,"x":18,"y":2,},
"102": {"character":102,"h":27,"offset":1,"shift":14,"w":13,"x":148,"y":2,},
"103": {"character":103,"h":27,"offset":0,"shift":14,"w":15,"x":109,"y":31,},
"104": {"character":104,"h":27,"offset":0,"shift":14,"w":15,"x":18,"y":60,},
"105": {"character":105,"h":27,"offset":1,"shift":14,"w":12,"x":126,"y":31,},
"106": {"character":106,"h":27,"offset":2,"shift":14,"w":10,"x":180,"y":60,},
"107": {"character":107,"h":27,"offset":0,"shift":14,"w":14,"x":164,"y":60,},
"108": {"character":108,"h":27,"offset":1,"shift":14,"w":12,"x":150,"y":60,},
"109": {"character":109,"h":27,"offset":-1,"shift":14,"w":17,"x":131,"y":60,},
"110": {"character":110,"h":27,"offset":0,"shift":14,"w":14,"x":115,"y":60,},
"111": {"character":111,"h":27,"offset":1,"shift":14,"w":13,"x":100,"y":60,},
"112": {"character":112,"h":27,"offset":-1,"shift":14,"w":15,"x":83,"y":60,},
"113": {"character":113,"h":27,"offset":0,"shift":14,"w":15,"x":66,"y":60,},
"114": {"character":114,"h":27,"offset":1,"shift":14,"w":13,"x":51,"y":60,},
"115": {"character":115,"h":27,"offset":1,"shift":14,"w":12,"x":192,"y":60,},
"116": {"character":116,"h":27,"offset":1,"shift":14,"w":14,"x":35,"y":60,},
"117": {"character":117,"h":27,"offset":0,"shift":14,"w":14,"x":2,"y":60,},
"118": {"character":118,"h":27,"offset":0,"shift":14,"w":15,"x":227,"y":31,},
"119": {"character":119,"h":27,"offset":-1,"shift":14,"w":16,"x":209,"y":31,},
"120": {"character":120,"h":27,"offset":0,"shift":14,"w":14,"x":193,"y":31,},
"121": {"character":121,"h":27,"offset":0,"shift":14,"w":14,"x":177,"y":31,},
"122": {"character":122,"h":27,"offset":2,"shift":14,"w":11,"x":164,"y":31,},
"123": {"character":123,"h":27,"offset":4,"shift":14,"w":7,"x":155,"y":31,},
"124": {"character":124,"h":27,"offset":6,"shift":14,"w":3,"x":150,"y":31,},
"125": {"character":125,"h":27,"offset":3,"shift":14,"w":8,"x":140,"y":31,},
"126": {"character":126,"h":27,"offset":1,"shift":14,"w":12,"x":107,"y":147,},
"9647": {"character":9647,"h":27,"offset":2,"shift":12,"w":8,"x":121,"y":147,},
},
"hinting": 0,
"includeTTF": false,
"interpreter": 0,
"italic": false,
"kerningPairs": [],
"last": 0,
"lineHeight": 0,
"maintainGms1Font": false,
"parent": {
"name": "libxprocess",
"path": "folders/Fonts/libxprocess.yy",
},
"pointRounding": 0,
"ranges": [
{"lower":32,"upper":127,},
{"lower":9647,"upper":9647,},
],
"regenerateBitmap": false,
"sampleText": "abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: ▯ (9647)",
"sdfSpread": 8,
"size": 18.0,
"styleName": "Bold",
"textureGroupId": {
"name": "Default",
"path": "texturegroups/Default",
},
"TTFName": "",
"usesSDF": false,
}
@@ -1,38 +0,0 @@
/// @DnDAction : YoYo Games.Drawing.Draw_Self
/// @DnDVersion : 1
/// @DnDHash : 7F85223A
draw_self();
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 1FE2A5C6
/// @DnDArgument : "var" "global.version"
/// @DnDArgument : "value" "11"
if(global.version == 11)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 77D7D836
/// @DnDParent : 1FE2A5C6
/// @DnDArgument : "spriteind" "button10un"
/// @DnDSaveInfo : "spriteind" "button10un"
sprite_index = button10un;
image_index = 0;
}
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 450B2AFB
/// @DnDArgument : "var" "global.version"
/// @DnDArgument : "value" "10"
if(global.version == 10)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 43E432DB
/// @DnDParent : 450B2AFB
/// @DnDArgument : "spriteind" "button10"
/// @DnDSaveInfo : "spriteind" "button10"
sprite_index = button10;
image_index = 0;
}
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="5c89dd54-74d3-4866-9b5a-f8c9b83c1071" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[104.25, 16]" /><Node hash="7F85223A" left="215" top="94" width="200" height="35" /><Node hash="1FE2A5C6" left="199" top="139" width="232" height="155" /><Node hash="77D7D836" left="315" top="304" width="250" height="95" /><Node hash="450B2AFB" left="199" top="409" width="232" height="155" /><Node hash="43E432DB" left="315" top="574" width="250" height="95" /></Layout></Layouts>
@@ -1,6 +0,0 @@
/// @DnDAction : YoYo Games.Common.Set_Global
/// @DnDVersion : 1
/// @DnDHash : 57D9B66C
/// @DnDArgument : "value" "10"
/// @DnDArgument : "var" "global.version"
global.version = 10;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="baa3398b-3f6d-4f18-a5b6-c411b41b1de2" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[9.5, -65.57001]" /><Node hash="57D9B66C" left="125" top="109" width="254" height="95" /></Layout></Layouts>
@@ -1,37 +0,0 @@
{
"resourceType": "GMObject",
"resourceVersion": "1.0",
"name": "btn_10",
"eventList": [
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":7,"eventType":6,"isDnD":true,},
],
"managed": true,
"overriddenProperties": [],
"parent": {
"name": "Objects",
"path": "folders/Objects.yy",
},
"parentObjectId": null,
"persistent": false,
"physicsAngularDamping": 0.1,
"physicsDensity": 0.5,
"physicsFriction": 0.2,
"physicsGroup": 1,
"physicsKinematic": false,
"physicsLinearDamping": 0.1,
"physicsObject": false,
"physicsRestitution": 0.1,
"physicsSensor": false,
"physicsShape": 1,
"physicsShapePoints": [],
"physicsStartAwake": true,
"properties": [],
"solid": false,
"spriteId": {
"name": "button10un",
"path": "sprites/button10un/button10un.yy",
},
"spriteMaskId": null,
"visible": true,
}
@@ -1,38 +0,0 @@
/// @DnDAction : YoYo Games.Drawing.Draw_Self
/// @DnDVersion : 1
/// @DnDHash : 7F85223A
draw_self();
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 1FE2A5C6
/// @DnDArgument : "var" "global.version"
/// @DnDArgument : "value" "11"
if(global.version == 11)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 77D7D836
/// @DnDParent : 1FE2A5C6
/// @DnDArgument : "spriteind" "button11"
/// @DnDSaveInfo : "spriteind" "button11"
sprite_index = button11;
image_index = 0;
}
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 450B2AFB
/// @DnDArgument : "var" "global.version"
/// @DnDArgument : "value" "10"
if(global.version == 10)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 43E432DB
/// @DnDParent : 450B2AFB
/// @DnDArgument : "spriteind" "button11un"
/// @DnDSaveInfo : "spriteind" "button11un"
sprite_index = button11un;
image_index = 0;
}
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="0c8f5a9a-cf73-4564-9673-ad4b7ec0f3e4" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-124.25, 300]" /><Node hash="7F85223A" left="-100" top="0" width="200" height="35" /><Node hash="1FE2A5C6" left="-116" top="45" width="232" height="155" /><Node hash="77D7D836" left="0" top="210" width="250" height="95" /><Node hash="450B2AFB" left="-116" top="315" width="232" height="155" /><Node hash="43E432DB" left="0" top="480" width="250" height="95" /></Layout></Layouts>
@@ -1,6 +0,0 @@
/// @DnDAction : YoYo Games.Common.Set_Global
/// @DnDVersion : 1
/// @DnDHash : 57D9B66C
/// @DnDArgument : "value" "11"
/// @DnDArgument : "var" "global.version"
global.version = 11;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="bb32407f-b330-43ee-b50e-63fddb1a7565" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-151.25, 0]" /><Node hash="57D9B66C" left="-127" top="0" width="254" height="95" /></Layout></Layouts>
@@ -1,37 +0,0 @@
{
"resourceType": "GMObject",
"resourceVersion": "1.0",
"name": "btn_11",
"eventList": [
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":7,"eventType":6,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":true,},
],
"managed": true,
"overriddenProperties": [],
"parent": {
"name": "Objects",
"path": "folders/Objects.yy",
},
"parentObjectId": null,
"persistent": false,
"physicsAngularDamping": 0.1,
"physicsDensity": 0.5,
"physicsFriction": 0.2,
"physicsGroup": 1,
"physicsKinematic": false,
"physicsLinearDamping": 0.1,
"physicsObject": false,
"physicsRestitution": 0.1,
"physicsSensor": false,
"physicsShape": 1,
"physicsShapePoints": [],
"physicsStartAwake": true,
"properties": [],
"solid": false,
"spriteId": {
"name": "button11",
"path": "sprites/button11/button11.yy",
},
"spriteMaskId": null,
"visible": true,
}
@@ -1,5 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 0DEF5523
/// @DnDArgument : "var" "hovering"
hovering = 0;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="b89b8cbf-7215-4c20-a1d3-d9d64d2217e5" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-242.5, -174.57]" /><Node hash="0DEF5523" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,37 +0,0 @@
/// @DnDAction : YoYo Games.Drawing.Draw_Self
/// @DnDVersion : 1
/// @DnDHash : 550693C8
draw_self();
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 3AC69C32
/// @DnDArgument : "var" "hovering"
/// @DnDArgument : "value" "1"
if(hovering == 1)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 6BB05B1E
/// @DnDParent : 3AC69C32
/// @DnDArgument : "spriteind" "in1h"
/// @DnDSaveInfo : "spriteind" "in1h"
sprite_index = in1h;
image_index = 0;
}
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 4B40F444
/// @DnDArgument : "var" "hovering"
if(hovering == 0)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 40B0587C
/// @DnDParent : 4B40F444
/// @DnDArgument : "spriteind" "in1"
/// @DnDSaveInfo : "spriteind" "in1"
sprite_index = in1;
image_index = 0;
}
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="5f78dfde-c725-43b6-9f5b-08303e4f8ed4" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-18.75, 266]" /><Node hash="550693C8" left="92" top="139" width="200" height="35" /><Node hash="3AC69C32" left="76" top="184" width="232" height="155" /><Node hash="6BB05B1E" left="192" top="349" width="250" height="95" /><Node hash="4B40F444" left="76" top="454" width="232" height="155" /><Node hash="40B0587C" left="192" top="619" width="250" height="95" /></Layout></Layouts>
@@ -1,6 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 3B93EAF4
/// @DnDArgument : "expr" "1"
/// @DnDArgument : "var" "hovering"
hovering = 1;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="dafeedf7-0200-402f-8b39-2282402d7831" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-60.5, -83.57001]" /><Node hash="3B93EAF4" left="66" top="91" width="232" height="95" /></Layout></Layouts>
@@ -1,5 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 3B93EAF4
/// @DnDArgument : "var" "hovering"
hovering = 0;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="9ecfb15c-0942-4e67-80d4-ab5f4c9021cb" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="3B93EAF4" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,5 +0,0 @@
/// @DnDAction : YoYo Games.Common.Execute_Code
/// @DnDVersion : 1
/// @DnDHash : 3AF51F79
/// @DnDArgument : "code" "ProcessExecuteAsync(working_directory + "test.bat");"
ProcessExecuteAsync(working_directory + "test.bat");
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="6318e8e8-d1fb-4536-bbed-492bf970b645" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[509, -83.57001]" /><Node hash="3AF51F79" left="72" top="91" width="760" height="465" /></Layout></Layouts>
@@ -1,40 +0,0 @@
{
"resourceType": "GMObject",
"resourceVersion": "1.0",
"name": "btn_install1",
"eventList": [
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":10,"eventType":6,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":11,"eventType":6,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":7,"eventType":6,"isDnD":true,},
],
"managed": true,
"overriddenProperties": [],
"parent": {
"name": "Objects",
"path": "folders/Objects.yy",
},
"parentObjectId": null,
"persistent": false,
"physicsAngularDamping": 0.1,
"physicsDensity": 0.5,
"physicsFriction": 0.2,
"physicsGroup": 1,
"physicsKinematic": false,
"physicsLinearDamping": 0.1,
"physicsObject": false,
"physicsRestitution": 0.1,
"physicsSensor": false,
"physicsShape": 1,
"physicsShapePoints": [],
"physicsStartAwake": true,
"properties": [],
"solid": false,
"spriteId": {
"name": "in1",
"path": "sprites/in1/in1.yy",
},
"spriteMaskId": null,
"visible": true,
}
@@ -1,5 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 0DEF5523
/// @DnDArgument : "var" "hovering"
hovering = 0;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="e6d3d2fc-80e9-4ea7-9722-5a38d890ccab" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="0DEF5523" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,37 +0,0 @@
/// @DnDAction : YoYo Games.Drawing.Draw_Self
/// @DnDVersion : 1
/// @DnDHash : 550693C8
draw_self();
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 3AC69C32
/// @DnDArgument : "var" "hovering"
/// @DnDArgument : "value" "1"
if(hovering == 1)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 6BB05B1E
/// @DnDParent : 3AC69C32
/// @DnDArgument : "spriteind" "in2h"
/// @DnDSaveInfo : "spriteind" "in2h"
sprite_index = in2h;
image_index = 0;
}
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 4B40F444
/// @DnDArgument : "var" "hovering"
if(hovering == 0)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 40B0587C
/// @DnDParent : 4B40F444
/// @DnDArgument : "spriteind" "in2"
/// @DnDSaveInfo : "spriteind" "in2"
sprite_index = in2;
image_index = 0;
}
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="1bc1c1e8-d168-42a4-bea9-22d5bdac8298" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-124.25, 200]" /><Node hash="550693C8" left="-100" top="0" width="200" height="35" /><Node hash="3AC69C32" left="-116" top="45" width="232" height="155" /><Node hash="6BB05B1E" left="0" top="210" width="250" height="95" /><Node hash="4B40F444" left="-116" top="315" width="232" height="155" /><Node hash="40B0587C" left="0" top="480" width="250" height="95" /></Layout></Layouts>
@@ -1,6 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 3B93EAF4
/// @DnDArgument : "expr" "1"
/// @DnDArgument : "var" "hovering"
hovering = 1;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="6fe35f3d-f375-417a-beeb-8465532d47ae" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="3B93EAF4" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,5 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 3B93EAF4
/// @DnDArgument : "var" "hovering"
hovering = 0;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="427c7bf0-b813-4883-ae8c-d2a0172cabd4" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="3B93EAF4" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,39 +0,0 @@
{
"resourceType": "GMObject",
"resourceVersion": "1.0",
"name": "btn_install2",
"eventList": [
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":10,"eventType":6,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":11,"eventType":6,"isDnD":true,},
],
"managed": true,
"overriddenProperties": [],
"parent": {
"name": "Objects",
"path": "folders/Objects.yy",
},
"parentObjectId": null,
"persistent": false,
"physicsAngularDamping": 0.1,
"physicsDensity": 0.5,
"physicsFriction": 0.2,
"physicsGroup": 1,
"physicsKinematic": false,
"physicsLinearDamping": 0.1,
"physicsObject": false,
"physicsRestitution": 0.1,
"physicsSensor": false,
"physicsShape": 1,
"physicsShapePoints": [],
"physicsStartAwake": true,
"properties": [],
"solid": false,
"spriteId": {
"name": "in2",
"path": "sprites/in2/in2.yy",
},
"spriteMaskId": null,
"visible": true,
}
@@ -1,5 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 0DEF5523
/// @DnDArgument : "var" "hovering"
hovering = 0;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="a43c327c-e993-4f95-bb5a-2510677f759e" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="0DEF5523" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,37 +0,0 @@
/// @DnDAction : YoYo Games.Drawing.Draw_Self
/// @DnDVersion : 1
/// @DnDHash : 550693C8
draw_self();
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 3AC69C32
/// @DnDArgument : "var" "hovering"
/// @DnDArgument : "value" "1"
if(hovering == 1)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 6BB05B1E
/// @DnDParent : 3AC69C32
/// @DnDArgument : "spriteind" "in3h"
/// @DnDSaveInfo : "spriteind" "in3h"
sprite_index = in3h;
image_index = 0;
}
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 4B40F444
/// @DnDArgument : "var" "hovering"
if(hovering == 0)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 40B0587C
/// @DnDParent : 4B40F444
/// @DnDArgument : "spriteind" "in3"
/// @DnDSaveInfo : "spriteind" "in3"
sprite_index = in3;
image_index = 0;
}
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="f455e91b-59d4-407c-9104-7fca4c32d4e0" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-124.25, 300]" /><Node hash="550693C8" left="-100" top="0" width="200" height="35" /><Node hash="3AC69C32" left="-116" top="45" width="232" height="155" /><Node hash="6BB05B1E" left="0" top="210" width="250" height="95" /><Node hash="4B40F444" left="-116" top="315" width="232" height="155" /><Node hash="40B0587C" left="0" top="480" width="250" height="95" /></Layout></Layouts>
@@ -1,6 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 3B93EAF4
/// @DnDArgument : "expr" "1"
/// @DnDArgument : "var" "hovering"
hovering = 1;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="60487ea9-867e-48ba-8f1f-999f166147fb" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="3B93EAF4" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,5 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 3B93EAF4
/// @DnDArgument : "var" "hovering"
hovering = 0;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="2dafeda8-3b52-418b-b728-1c82bc3362c0" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="3B93EAF4" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,39 +0,0 @@
{
"resourceType": "GMObject",
"resourceVersion": "1.0",
"name": "btn_install3",
"eventList": [
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":11,"eventType":6,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":10,"eventType":6,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":true,},
],
"managed": true,
"overriddenProperties": [],
"parent": {
"name": "Objects",
"path": "folders/Objects.yy",
},
"parentObjectId": null,
"persistent": false,
"physicsAngularDamping": 0.1,
"physicsDensity": 0.5,
"physicsFriction": 0.2,
"physicsGroup": 1,
"physicsKinematic": false,
"physicsLinearDamping": 0.1,
"physicsObject": false,
"physicsRestitution": 0.1,
"physicsSensor": false,
"physicsShape": 1,
"physicsShapePoints": [],
"physicsStartAwake": true,
"properties": [],
"solid": false,
"spriteId": {
"name": "in3",
"path": "sprites/in3/in3.yy",
},
"spriteMaskId": null,
"visible": true,
}
@@ -1,5 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 0DEF5523
/// @DnDArgument : "var" "hovering"
hovering = 0;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="a253bf1d-d109-42d7-920c-f46c0c70998a" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="0DEF5523" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,37 +0,0 @@
/// @DnDAction : YoYo Games.Drawing.Draw_Self
/// @DnDVersion : 1
/// @DnDHash : 550693C8
draw_self();
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 3AC69C32
/// @DnDArgument : "var" "hovering"
/// @DnDArgument : "value" "1"
if(hovering == 1)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 6BB05B1E
/// @DnDParent : 3AC69C32
/// @DnDArgument : "spriteind" "in4h"
/// @DnDSaveInfo : "spriteind" "in4h"
sprite_index = in4h;
image_index = 0;
}
/// @DnDAction : YoYo Games.Common.If_Variable
/// @DnDVersion : 1
/// @DnDHash : 4B40F444
/// @DnDArgument : "var" "hovering"
if(hovering == 0)
{
/// @DnDAction : YoYo Games.Instances.Set_Sprite
/// @DnDVersion : 1
/// @DnDHash : 40B0587C
/// @DnDParent : 4B40F444
/// @DnDArgument : "spriteind" "in4"
/// @DnDSaveInfo : "spriteind" "in4"
sprite_index = in4;
image_index = 0;
}
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="99214902-e543-4e9e-b502-36d492943315" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-124.25, 500]" /><Node hash="550693C8" left="-100" top="0" width="200" height="35" /><Node hash="3AC69C32" left="-116" top="45" width="232" height="155" /><Node hash="6BB05B1E" left="0" top="210" width="250" height="95" /><Node hash="4B40F444" left="-116" top="315" width="232" height="155" /><Node hash="40B0587C" left="0" top="480" width="250" height="95" /></Layout></Layouts>
@@ -1,6 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 3B93EAF4
/// @DnDArgument : "expr" "1"
/// @DnDArgument : "var" "hovering"
hovering = 1;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="bcc01014-0ad9-4317-960c-b6c5e6594699" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="3B93EAF4" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,5 +0,0 @@
/// @DnDAction : YoYo Games.Common.Variable
/// @DnDVersion : 1
/// @DnDHash : 3B93EAF4
/// @DnDArgument : "var" "hovering"
hovering = 0;
@@ -1 +0,0 @@
<Layouts><Layout layout_name="DnDWorkspace" layout_guid="90625fe5-cfa1-40c3-a6e4-c504fd5fee61" toolbox_size="25%" toolbox_anchor="Last" story_size="150px"><Workspace zoom="1" pan="[-140.25, 0]" /><Node hash="3B93EAF4" left="-116" top="0" width="232" height="95" /></Layout></Layouts>
@@ -1,39 +0,0 @@
{
"resourceType": "GMObject",
"resourceVersion": "1.0",
"name": "btn_install4",
"eventList": [
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":10,"eventType":6,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":11,"eventType":6,"isDnD":true,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":true,},
],
"managed": true,
"overriddenProperties": [],
"parent": {
"name": "Objects",
"path": "folders/Objects.yy",
},
"parentObjectId": null,
"persistent": false,
"physicsAngularDamping": 0.1,
"physicsDensity": 0.5,
"physicsFriction": 0.2,
"physicsGroup": 1,
"physicsKinematic": false,
"physicsLinearDamping": 0.1,
"physicsObject": false,
"physicsRestitution": 0.1,
"physicsSensor": false,
"physicsShape": 1,
"physicsShapePoints": [],
"physicsStartAwake": true,
"properties": [],
"solid": false,
"spriteId": {
"name": "in4",
"path": "sprites/in4/in4.yy",
},
"spriteMaskId": null,
"visible": true,
}
@@ -1,31 +0,0 @@
{
"resourceType": "GMObject",
"resourceVersion": "1.0",
"name": "obj_example",
"eventList": [],
"managed": true,
"overriddenProperties": [],
"parent": {
"name": "libxprocess",
"path": "folders/Objects/libxprocess.yy",
},
"parentObjectId": null,
"persistent": false,
"physicsAngularDamping": 0.1,
"physicsDensity": 0.5,
"physicsFriction": 0.2,
"physicsGroup": 1,
"physicsKinematic": false,
"physicsLinearDamping": 0.1,
"physicsObject": false,
"physicsRestitution": 0.1,
"physicsSensor": false,
"physicsShape": 1,
"physicsShapePoints": [],
"physicsStartAwake": true,
"properties": [],
"solid": false,
"spriteId": null,
"spriteMaskId": null,
"visible": true,
}
@@ -1,79 +0,0 @@
{
"resourceType": "GMAndroidOptions",
"resourceVersion": "1.0",
"name": "Android",
"option_android_application_tag_inject": "",
"option_android_arch_arm64": true,
"option_android_arch_armv7": false,
"option_android_arch_x86_64": false,
"option_android_attribute_allow_backup": false,
"option_android_build_tools": "",
"option_android_compile_sdk": "",
"option_android_device_support": 0,
"option_android_display_name": "Created with GameMaker",
"option_android_facebook_app_display_name": "",
"option_android_facebook_id": "",
"option_android_gamepad_support": true,
"option_android_google_apk_expansion": false,
"option_android_google_cloud_saving": false,
"option_android_google_dynamic_asset_delivery": false,
"option_android_google_licensing_public_key": "",
"option_android_google_services_app_id": "",
"option_android_icon_adaptive_generate": false,
"option_android_icon_adaptive_hdpi": "${base_options_dir}/android/icons_adaptive/hdpi.png",
"option_android_icon_adaptive_ldpi": "${base_options_dir}/android/icons_adaptive/ldpi.png",
"option_android_icon_adaptive_mdpi": "${base_options_dir}/android/icons_adaptive/mdpi.png",
"option_android_icon_adaptive_xhdpi": "${base_options_dir}/android/icons_adaptive/xhdpi.png",
"option_android_icon_adaptive_xxhdpi": "${base_options_dir}/android/icons_adaptive/xxhdpi.png",
"option_android_icon_adaptive_xxxhdpi": "${base_options_dir}/android/icons_adaptive/xxxhdpi.png",
"option_android_icon_adaptivebg_hdpi": "${base_options_dir}/android/icons_adaptivebg/hdpi.png",
"option_android_icon_adaptivebg_ldpi": "${base_options_dir}/android/icons_adaptivebg/ldpi.png",
"option_android_icon_adaptivebg_mdpi": "${base_options_dir}/android/icons_adaptivebg/mdpi.png",
"option_android_icon_adaptivebg_xhdpi": "${base_options_dir}/android/icons_adaptivebg/xhdpi.png",
"option_android_icon_adaptivebg_xxhdpi": "${base_options_dir}/android/icons_adaptivebg/xxhdpi.png",
"option_android_icon_adaptivebg_xxxhdpi": "${base_options_dir}/android/icons_adaptivebg/xxxhdpi.png",
"option_android_icon_hdpi": "${base_options_dir}/android/icons/hdpi.png",
"option_android_icon_ldpi": "${base_options_dir}/android/icons/ldpi.png",
"option_android_icon_mdpi": "${base_options_dir}/android/icons/mdpi.png",
"option_android_icon_xhdpi": "${base_options_dir}/android/icons/xhdpi.png",
"option_android_icon_xxhdpi": "${base_options_dir}/android/icons/xxhdpi.png",
"option_android_icon_xxxhdpi": "${base_options_dir}/android/icons/xxxhdpi.png",
"option_android_install_location": 0,
"option_android_interpolate_pixels": false,
"option_android_launchscreen_fill": 0,
"option_android_lint": false,
"option_android_logcat": "yoyo:V DEBUG:V AndroidRuntime:V",
"option_android_minimum_sdk": "",
"option_android_orient_landscape": true,
"option_android_orient_landscape_flipped": true,
"option_android_orient_portrait": true,
"option_android_orient_portrait_flipped": true,
"option_android_package_company": "company",
"option_android_package_domain": "com",
"option_android_package_product": "game",
"option_android_permission_bluetooth": true,
"option_android_permission_internet": true,
"option_android_permission_network_state": false,
"option_android_permission_read_phone_state": false,
"option_android_permission_record_audio": false,
"option_android_permission_write_external_storage": false,
"option_android_proguard_minifying": false,
"option_android_proguard_shrinking": false,
"option_android_scale": 0,
"option_android_screen_depth": 0,
"option_android_sleep_margin": 4,
"option_android_splash_screens_landscape": "${base_options_dir}/android/splash/landscape.png",
"option_android_splash_screens_portrait": "${base_options_dir}/android/splash/portrait.png",
"option_android_splash_time": 0,
"option_android_splashscreen_background_colour": 255,
"option_android_support_lib": "",
"option_android_sync_amazon": false,
"option_android_target_sdk": "",
"option_android_texture_page": "2048x2048",
"option_android_tools_from_version": false,
"option_android_tv_banner": "${base_options_dir}/android/tv_banner.png",
"option_android_tv_isgame": true,
"option_android_tv_supports_leanback": true,
"option_android_use_facebook": false,
"option_android_version": "1.0.0.0",
}
@@ -1,5 +0,0 @@
{
"resourceType": "GMExtensionConfigSet",
"configurables": null,
"resourceVersion": "1.0"
}
@@ -1,5 +0,0 @@
{
"resourceType": "GMExtensionConfigSet",
"configurables": null,
"resourceVersion": "1.0"
}
@@ -1,5 +0,0 @@
{
"resourceType": "GMExtensionConfigSet",
"configurables": null,
"resourceVersion": "1.0"
}
@@ -1,5 +0,0 @@
{
"resourceType": "GMExtensionConfigSet",
"configurables": null,
"resourceVersion": "1.0"
}
@@ -1,5 +0,0 @@
{
"resourceType": "GMExtensionConfigSet",
"configurables": null,
"resourceVersion": "1.0"
}
@@ -1,33 +0,0 @@
{
"resourceType": "GMHtml5Options",
"resourceVersion": "1.0",
"name": "HTML5",
"option_html5_allow_fullscreen": true,
"option_html5_browser_title": "Created with GameMaker",
"option_html5_centregame": false,
"option_html5_display_cursor": true,
"option_html5_facebook_app_display_name": "",
"option_html5_facebook_id": "",
"option_html5_flurry_enable": false,
"option_html5_flurry_id": "",
"option_html5_foldername": "html5game",
"option_html5_google_analytics_enable": false,
"option_html5_google_tracking_id": "",
"option_html5_icon": "${base_options_dir}/html5/fav.ico",
"option_html5_index": "",
"option_html5_interpolate_pixels": true,
"option_html5_jsprepend": "",
"option_html5_loadingbar": "",
"option_html5_localrunalert": true,
"option_html5_outputdebugtoconsole": true,
"option_html5_outputname": "index.html",
"option_html5_scale": 0,
"option_html5_splash_png": "${base_options_dir}/html5/splash.png",
"option_html5_texture_page": "2048x2048",
"option_html5_use_facebook": false,
"option_html5_usebuiltinfont": true,
"option_html5_usebuiltinparticles": true,
"option_html5_usesplash": false,
"option_html5_version": "1.0.0.0",
"option_html5_webgl": 2,
}
@@ -1,48 +0,0 @@
{
"resourceType": "GMiOSOptions",
"resourceVersion": "1.3",
"name": "iOS",
"option_ios_build_number": 0,
"option_ios_bundle_name": "com.company.game",
"option_ios_cocoapods_checkbox": true,
"option_ios_defer_home_indicator": false,
"option_ios_devices": 2,
"option_ios_display_name": "Created with GameMaker",
"option_ios_enable_broadcast": false,
"option_ios_half_ipad1_textures": false,
"option_ios_icon_ipad_app_152": "${base_options_dir}/ios/icons/app/ipad_152.png",
"option_ios_icon_ipad_app_76": "${base_options_dir}/ios/icons/app/ipad_76.png",
"option_ios_icon_ipad_notification_20": "${base_options_dir}/ios/icons/notification/ipad_20.png",
"option_ios_icon_ipad_notification_40": "${base_options_dir}/ios/icons/notification/ipad_40.png",
"option_ios_icon_ipad_pro_app_167": "${base_options_dir}/ios/icons/app/ipad_pro_167.png",
"option_ios_icon_ipad_settings_29": "${base_options_dir}/ios/icons/settings/ipad_29.png",
"option_ios_icon_ipad_settings_58": "${base_options_dir}/ios/icons/settings/ipad_58.png",
"option_ios_icon_ipad_spotlight_40": "${base_options_dir}/ios/icons/spotlight/ipad_40.png",
"option_ios_icon_ipad_spotlight_80": "${base_options_dir}/ios/icons/spotlight/ipad_80.png",
"option_ios_icon_iphone_app_120": "${base_options_dir}/ios/icons/app/iphone_120.png",
"option_ios_icon_iphone_app_180": "${base_options_dir}/ios/icons/app/iphone_180.png",
"option_ios_icon_iphone_notification_40": "${base_options_dir}/ios/icons/notification/iphone_40.png",
"option_ios_icon_iphone_notification_60": "${base_options_dir}/ios/icons/notification/iphone_60.png",
"option_ios_icon_iphone_settings_58": "${base_options_dir}/ios/icons/settings/iphone_58.png",
"option_ios_icon_iphone_settings_87": "${base_options_dir}/ios/icons/settings/iphone_87.png",
"option_ios_icon_iphone_spotlight_120": "${base_options_dir}/ios/icons/spotlight/iphone_120.png",
"option_ios_icon_iphone_spotlight_80": "${base_options_dir}/ios/icons/spotlight/iphone_80.png",
"option_ios_icon_itunes_artwork_1024": "${base_options_dir}/ios/icons/itunes/itunes_1024.png",
"option_ios_interpolate_pixels": false,
"option_ios_launchscreen_fill": 0,
"option_ios_launchscreen_image": "${base_options_dir}/ios/splash/launchscreen.png",
"option_ios_launchscreen_image_landscape": "${base_options_dir}/ios/splash/launchscreen-landscape.png",
"option_ios_min_version": "10.0",
"option_ios_orientation_landscape": true,
"option_ios_orientation_landscape_flipped": true,
"option_ios_orientation_portrait": true,
"option_ios_orientation_portrait_flipped": true,
"option_ios_output_dir": "~/gamemakerstudio2",
"option_ios_podfile_lock_path": "${options_dir}/ios/Podfile.lock",
"option_ios_podfile_path": "${options_dir}/ios/Podfile",
"option_ios_scale": 0,
"option_ios_splashscreen_background_colour": 255,
"option_ios_team_id": "",
"option_ios_texture_page": "2048x2048",
"option_ios_version": "1.0.0.0",
}
@@ -1,24 +0,0 @@
{
"resourceType": "GMLinuxOptions",
"resourceVersion": "1.0",
"name": "Linux",
"option_linux_allow_fullscreen": false,
"option_linux_disable_sandbox": false,
"option_linux_display_cursor": true,
"option_linux_display_name": "Created with GameMaker",
"option_linux_display_splash": false,
"option_linux_enable_steam": false,
"option_linux_homepage": "http://www.yoyogames.com",
"option_linux_icon": "${base_options_dir}/linux/icons/64.png",
"option_linux_interpolate_pixels": true,
"option_linux_long_desc": "",
"option_linux_maintainer_email": "",
"option_linux_resize_window": false,
"option_linux_scale": 0,
"option_linux_short_desc": "",
"option_linux_splash_screen": "${base_options_dir}/linux/splash/splash.png",
"option_linux_start_fullscreen": false,
"option_linux_sync": false,
"option_linux_texture_page": "2048x2048",
"option_linux_version": "1.0.0.0",
}
Loaded 100 of 338 files, more files were not shown because too many files have changed in this diff. Show more