forked from enigma-dev/enigma-dev
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update local repo #1
Open
HitCoder9768
wants to merge
694
commits into
HitCoder9768:master
Choose a base branch
from
enigma-dev:master
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Look for opening parenthesis of a type cast on the right side of the type, and treat constructors as a cast. Locals will now be correctly picked up and have the correct access when passed as arguments to constructors.
Ensure that string construction is logically equivalent when compared to string literals.
Capture the mouse on mouse down events and release it on mouse up events. This allows the game to detect mouse release outside the game window if the initial mouse press was done inside the game window.
This allows the game to receive mouse release events from outside the game window when the mouse was initially pressed inside the game window.
Combine KDialog and Zenity based on Desktop Environment. Use KDialog on KDE desktop environments, and use Zenity for GTK+ on non-KDE desktop environments. Combines the two widgets systems using a common interface, CommandLineWidgetEngine.
The function needs to offset the button index by one because mb_none is 0, like the other mouse functions.
Static link the library using pkg-config and make font_add definition match its declaration.
Use De Morgan's law to handle virtual key release when leaving its rectangle or releasing the mouse button.
Check if not dirty and return rather than checking if dirty and indenting a block of code. This will make future changes clearer and easier to digest.
Switch fonts over to AssetArray * Update freetype extension * Refactor away the font glyph range count and glyphs counts * Add OffsetVector to AssetArray (#1839) * Rename Font to SpriteFont, fonts to sprite_fonts; remove bool font::destroyed (#1841) * Comment out font_exists check in GM test GMKs for now
* Make SDL and Win32 quit use the existing game exit code * Provide an overload for game_end which does not change the game exit code * Allow extensions, such as GTest, to effect the exit code * Change GTest to set the game return exit code to 43 for an expects/soft assert failure * Fix GTest extension Makefile for Windows so that it links the dll
Bring back the explicit xvfb screen size that a131434 removed.
Update all of the regular CI tests to assert the test harness game return code.
…1831) Fixes the window_set_sizeable(), update window_set_fullscreen(), and a few new functions (window_set_min/max_width/height()).
You can't minimized the game via alt+tab if both fullscreen and stayontop.
I also intend to rewrite `fileio.cpp` for Win32 that doesn't use POSIX API calls and supports UTF-8, in a different PR.
Previously, execute_program would crash if you dragged the window by the title bar or clicked the close button over an over while a program is running with the wait argument true, and the game would also crash with execute_shell_for_output whenever trying to close a NULL handle, due to trying to run a nonexistent file or invalid command.
The old bitmap reader was difficult to reuse or extend. This new approach trades the single-copy reader approach for the ability to pass in arbitrary blocks of memory to decode. We could technically accomplish the same thing by just using a stringstream under the hood, but I'm not in the mood. Also plugs in actual bitmap headers instead of trying to do everything in terms of hard-coded offsets in the file. This is in the interest of extending the reader with support for compression schemes (eg, RLE).
Add extension to output executable if it isn't already present. This prevents issues with the compiler toolchain (namely, MinGW) doing so for us, making it impossible to add resources or launch the game.
Someone left it point to their personal dropbox, then eventually deleted it. Also, DRY
MSVC on a floured french pita lightly drizzled in el chupacabra sauce. Hurry up and act now while supplies last.
* Sort headers efficiently * Fix memory leak on reference-counted COM interfaces by using ComPtr * Fix memory leak in `sound_effect_set` by using stack-allocated vector for effect description arrays * Implement all sound effect parameter functions using a generic templated helper
* Use nearest neighbor to set alpha of removed color from images like GM8.1 * Give each sprite frame its own bottom-left transparency pixel like GM8.1 * Use removed color instead of black in transparent areas like GM8.1 * Ensure isolated pixels are always visible like GM8.1
Removes unused POSIX headers which aren't present on Windows.
dead files no longer needed
* emake doesn't show error finding input file bug fix
Co-authored-by: saifkandil <saifsaalaheldeen2002@gmail.com>
* fix graphics system build failed
* fix default font * gmsux --------- Co-authored-by: Goombert <robertbcolton@gmail.com>
* add short json support * logic is done * bug fixes * fix crash on passing paramenters * enhance code complexity, few bug fixes * bug fixes * update documentation * fix typo * fix json crash when passing array of objects * update documentation * add unit tests * fix naming * bug fixes, add more tests, and improve SOG * bug fixes, more tests * add space removal system * add space removal system * bug fixes, more tests * bug fixes * finalizing tests, bug fixes * more tests * fix double quotes read/write * bug fixes * update adding missing keys call for better readability * add tests for JSON readers and parsers * fix short JSON tests name * last commit * add deleted files * readd deleted files * few improvements * improve tests --------- Co-authored-by: saifkandil <saifsaalaheldeen2002@gmail.com>
* implemented json_encode() Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com> * fixed json_encode and fixed tests Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com> * ignore this Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com> * bug fixes Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com> * bug fixes Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com> --------- Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com>
* moving to std::sstream instead of std::string --------- Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com>
… files (#2355) Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com>
* add instance_create_depth * fix instance_copy init order * Update ENIGMAsystem/SHELL/Universal_System/Instances/instance_create.h * declare instance_create_depth
* fixed json extension conversion to ds map and improved naming of some files Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com> * fix #2354 Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com> --------- Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com>
) Closes #1881. This is the second part of my first PR #2343. This PR is part of the ``Google Summer of Code 2023`` program. I will be updating my Logs inside my [domain](https://k0t0z.github.io). #### Note: ✔️ means that SOG/unit tests for the corresponding function are provided. --------------------------------------------------------------------------------------------------- ✅ [Leaderboards API](https://github.com/YoYoGames/GMEXT-Steamworks/wiki/Leaderboards) - ✅ steam_create_leaderboard(); - ✅ steam_upload_score(); - ✅ steam_upload_score_ext(); - ⬜ steam_upload_score_buffer(); - ⬜ steam_upload_score_buffer_ext(); - ✅ steam_download_scores(); - ✅ steam_download_scores_around_user(); - ✅ steam_download_friends_scores(); - ⬜ ``LeaderboardEntry`` data type - ✅ ``LeaderboardDisplayType`` constant - ✅ ``LeaderboardSortOrder`` constant --------------------------------------------------------------------------------------------------- ✅ [Social API](https://github.com/YoYoGames/GMEXT-Steamworks/wiki/Social) - ✅ steam_set_rich_presence(); - ✅ steam_set_clear_presence(); - ✅ steam_user_set_played_with(); - ⬜ steam_get_friends_game_info(); - ✅ steam_get_user_avatar(); - ✅ steam_image_get_size(); - ✅ steam_image_get_rgba(); - ✅ steam_image_get_bgra(); - ✅ steam_image_get_argb(); - ✅ steam_image_create_sprite(); --------------------------------------------------------------------------------------------------- ⬜ [Cloud API](https://github.com/YoYoGames/GMEXT-Steamworks/wiki/Cloud) - ⬜ steam_is_cloud_enabled_for_app(); - ⬜ steam_is_cloud_enabled_for_account(); - ⬜ steam_get_quota_total(); - ⬜ steam_get_quota_free(); - ⬜ steam_file_exists(); - ⬜ steam_file_size(); - ⬜ steam_file_persisted(); - ⬜ steam_file_write(); - ⬜ steam_file_write_file(); - ⬜ steam_file_read(); - ⬜ steam_file_share(); - ⬜ steam_file_delete(); --------------------------------------------------------------------------------------------------- ## Must Be Done Before Merging: ✅ Adding support for other platforms in the Makefile file. ✅ Switching the ``Default`` property in the Steamworks & Json extensions YAML file to ``false``. ✅ Switching the ``cxxflags`` property in ``Compilers/Linux/gcc.ey`` to ``-fdiagnostics-color=always``. ⬜ Reviewing all error messages and documentation in newly added files. ✅ Adding the license to all newly added files. ✅ Providing installation instructions for all platforms. ✅ Modifying the extension to call ``steam_init();`` automatically when enabled. ✅ Match all naming conventions with GMS's Steamworks extension. ⬜ Testing the APIs with the latest version of Steamworks SDK, Steam, OS version, etc. ⬜ Must test all EDL scripts in the example game provided. ⬜ Providing SOG/unit tests for all functions written (this need to be studied carefully as in order to test the C++ wrapper tester must have steam installed and running or I may use mocks). ✅ Clearing garbage files. ✅ ``DEBUG_MESSAGE()`` must exist only in APIs files. Try to remove it from wrapper files. Try to make the wrapper independent on ENIGMA. ✅ Fix example game background design. ⬜ Update the example game to match the latest version of [GMS Steamworks extension](https://marketplace.yoyogames.com/assets/10709/steamworks-ext). :white_check_mark: The compiler must write a file next to the exe. :white_large_square: Review includes. :white_check_mark: Commit the example game again and remove it from ``.gitignore`` file. :white_large_square: The extension and the example must be compatible with GameMaker. :white_large_square: Set the title for Steamworks demo to ``Created with ENIGMA``. :white_large_square: Monitor GMS's terminal behavior. --------------------------------------------------------------------------------------------------- ## Dependencies: - [Social API](https://github.com/YoYoGames/GMEXT-Steamworks/wiki/Social) depends on this #2309 (#2361). --------------------------------------------------------------------------------------------------- ## Good to have: :white_large_square: Test the changes with [RGM](https://github.com/enigma-dev/RadialGM). :white_large_square: Solve all build warnings. --------- Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com> Co-authored-by: saifkandil <saifsaalaheldeen2002@gmail.com> Co-authored-by: = <=> Co-authored-by: --replace-all <--replace-all> Co-authored-by: Robert Colton <robertbcolton@gmail.com>
Fixes #2370. Previously the userId of the steam users was shown as it is in integer form. Since this is not desirable, this PR converts the integer into a **hexadecimal number** , prepends it with `@i64@` and appends it with `$i64$` before getting output on the leaderboard. changed lines 53/54 in the [file](https://github.com/enigma-dev/enigma-dev/blob/3918af3dc40734465b355a7d52cb9f9f93f5a8d6/ENIGMAsystem/SHELL/Universal_System/Extensions/Steamworks/gameclient/utils/gc_leaderboards_score_downloaded_cookies.cpp#L53) to handle hex conversion.
The next PR after #2350 and #2343. This PR contains the following changes: 1. Update SDK from v1.57 to v1.58a. 2. Improved the Shell Makefile (the part related to the Steamworks extension). - Moved building the fake API process inside a separate Makefile specific to the fake API. 3. Cleaned some comments including flushing the Steamworks Makefile. 4. Fixed the README.md file. 5. Improved documentation. 6. Created a separate Makefile for the fake Steamworks API. 7. Added v1.58a official headers. 8. Fixed .gitignore file. --------- Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.