Skip to content
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

Updating fork to keep up to date with master branch #1

Merged
merged 146 commits into from
Feb 3, 2021

Conversation

van0014
Copy link
Owner

@van0014 van0014 commented Feb 3, 2021

No description provided.

fundies and others added 30 commits February 25, 2020 19:59
Enables the same set of default extensions (+GTest) in simple tests as in lgm
Extends the inheritance tests with more events.
Help printing was being suppressed. Additionally, it was a bit stale.
This PR brings the CI up to c++17 but it comes with some good and bad

Good:
* Brings the ci up to gcc-9 and in turn c++17
* Removes our dep on boost filesystem
* Fixed small bug in regression script that caused it to fail when deps changed between commits

Bad:
* "windows.h" has a conflict with std::byte so anywhere it's included I had to wrap it in a macro to fix the conflict.
* Ubuntu's ppa for newest gcc don't have multilib gccs so I had to disable our 64->32bit builds but this is a very uncommon scenario.
* Our current JDI isn't c++17 compliant but only clang on osx seems to care and that job was already broken.

Note: emake still depends on boost options but that can be addressed in a separate PR
* Change emake plugin proto compile method to take a const reference and copy the game into project rather than transfer ownership which caused double delete.
* Use reference capture in proto compile RPC method instead of value capture and copying/casting.
* Update GRPC server to use standard filesystem rather than the Boost one.
it was a one-liner change fundies told me to do a while back.
Correct fundies typo (9eefc9a) on proto rules and restore the comment Rusky (eabb1b4) originally added there.
Add the underscore we forgot in #1905 to OBJ_DIR in the default makefile so all of the top-level makefiles are consistent with respect to OBJ_DIR usage.

Note: SHELL makefiles still use the old OBJDIR without underscore because fundies did not touch those. However, they could be cleaned up at a later time by also using shared makefiles in a similar fashion.
Stop forcing C++11 and allow C++17 and newer. Also add more badaids around `std::byte` and `windows.h` conflict.
Well, for the first time in the roughly 10 years the ENIGMA game engine has been around, you can now natively set a PNG icon for your game that will show in the title bar, task manager, system monitor, and Alt+Tab process swapper. No thanks to those fat lards Josh, Robert, and fundies. No offense, I love you guys, but I couldn't take it any longer so I decided to step in and add Linux icon support. The Win32 and SDL equivalents have also been added in this pr.

Includes the following functions:

    window_get_icon_index() returns the sprite index of the current icon

    window_get_icon_subimg() returns the sprite subimg of the current icon

    void window_set_icon(ind, subimg) sets the icon to use for the game from the given sprite resource
    Screenshot_20200221_180626
    As a small side note - this pull request also allows capturing SDL's window handle on linux for widget use. Although I still haven't fixed the SDL bug where the game doesn't respond and then segfaults, if you click the close button in the main game window's title bar over and over while a dialog is open. Not many people will do that so it's not a huge bug.
* fix asan vertex leaks
* fix opengl1
* fix dx
this is to prevent it from returning a valid sprite index when no sprite window icon was previously set
* actually disable grpc when no grpc
* fix grpc hang
…se (#1912)

allow making prepending size optional relative to use case
The RGM build will be included as a template from the RadialGM repository. This should cut down on breakages due to changes in ENIGMA.
The previous method made the window change position to weird places on some lesser used WM's such as Budgie. This implementation should be less WM-dependent and a more universally correct approach.
Includes a small tweak to fix the build on some FreeBSD systems, as well.
He forgot to actually check the condition in a few places.
Co-authored-by: Greg Williamson <[email protected]>
Include correct INI header.
* Links compiler to emake instead of loading functions at runtime
* Replaces shared makefile system with a library (Engine just `#includes` shared cpps now)
* Move duplicate `darray` to shared (until we remove it permanently)
* Fixes main makefile to depend on files instead of phony targets so things get rebuilt when dep changes
Refactor how window_handle is implemented to extend support to SDL.

---

This gives extensions (i.e. *.dll, *.dylib, *.so, etc.) and shell scripts (i.e. execute_shell_for_output, execute_shell, execute_program, etc.) access to window handle on all platforms except Android. Android threw errors for unknown types being used for the android window and surface, which is odd because I'm using the exact types specified by SDL docs; i guess i need to include a proper header but I don't know what that is and I've already tried the header I thought i needed but it didn't work out. so anyway, I commented out android's window handle code as a placeholder file for whenever we do add it correctly. As for the other platforms, this pr also makes the window handle more universal, expecting to use the same variable names for the window handle, and related platform-specific things such as an HINSTANCE for Windows (enigma::hInstance), and a X Window System Display * for Linux (engima::x11::disp), and these variable names are shared across the original platforms as well as their SDL equivalents. So, please do not change these variable namess one place, without changing them everywhere else they are used in the engine.

A follow up pr will need to implement external_call/define/free() on all non-Windows platforms, as well as fix the currently broken Windows implementation; this pr is in preparation for that. Also this pull request statically links SDL on all platforms.
RobertBColton and others added 28 commits August 23, 2020 17:27
fixes cross compile
* Add EventData::value_names_for_type, fix HumanName
Add layers to the room proto with basic fields for name/id/depth/visibility.
Push the pixels after the texture is in the vector with a valid id.
Update azure-pipelines.yml
This rounding probably should be done only when actually rendering the glyph, but for now, this improves the appearance of fonts across the board.
* use dynamically allocated white texture array

* Update DX11d3d.cpp
Avoid RawImage leaving scope before its data can be used.
* Fix the order of the left/right mouse release events.
Fix the other two custom ENIGMA sprite functions too.
* Adds standard API for all readers/writers in libEGM
Don't resize surface textures to a power of two. Also corrects an old off-by-one in a5bcd1b for the next largest power of two function that was permeating the engine.
* Combine appveyor jobs
* fix return type in libegm
Upload the matrices during state flush preventing stale batches from rendering with more recent state.
* Puts SOG in line with other formats so RGM can open and save them. Also removes emakes dep on enigma_struct
also fixes sdl fgets impl
Use a map to translate SDL buttons to GML constants, and add debug mode bounds checking.
* revert ci-hack
@van0014 van0014 marked this pull request as ready for review February 3, 2021 21:18
@van0014 van0014 merged commit c30bc9b into van0014:master Feb 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants