Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Removed vert and frag files from manifest These can be implemented in code * Fixed versioneer for the src layout * Ignore the working directory * Refactored main and fixed logging Refactored the main script. Almost all logging messages should now go via the logging module. Python stdout and stderr now go to the logging module. The above two mean that print, warnings, errors and qt messages get logged to the console and saved to the log file with the format specified by the user. * Refactored setup.py * Switched to versioneer versioneer-518 was a stop-gap until versioneer supported the 518 system. * Refactored logging basicConfig does everything that I was doing manually * Refactored main script The main script is now a bit more defensive. It tries to log the errors via the logging module. If that fails it manually prints to the console and saves to a file. * Refactored * Removed sys.exit on error It seems that PyInstaller catches python exceptions and displays its own error dialog. This will be useful for users who have not extracted the package correctly. * Enable the console on windows * Modified the paths The old default path structure was a bit confusing on windows. All user files are now stored in subdirectories of one directory which should make finding the data easier. It should also minimise conflicting file paths. * Moved the console logic into main These two functions had overlapping behaviour so it made sense to merge them. Streamlined the logging setup * Removed the plugin job thread This is no longer used * Added diagnostic output for plugins * Added readable str and repr for Requirement * Added build script * Added missing files to the pyinstaller hook * Fixed some promise issues Some promises were failing silently. This should make it clearer when a promise function crashes. * Fixed mirrored texture * Replaced time.sleep with QTimer time.sleep blocks the thread (in this case the main thread) until it is finished which delays the application opening. QTimer does not block the main thread. * Added an option to suppress errors with DisplayException * Improved error handling Only suppress errors that subclass Exception. Log exceptions displayed with DisplayException. Enclosed all slots in RPC in exception dialogs. Set a limit of 20 attempts to spawn the broker process. * Reformatted * Set up the translator for the broker This is used in the traceback dialog. * Don't paint if the context is not correct If the paint call is run manually the context may be None or a different context which usually leads to an access violation and crash. * Fixed pip command * Fixed upload glob * Hopefully fix fpm issue * Only remove keys if they have been added In some cases something happens that means the key is not in the set. Only remove it if it is present. * Fix dtype error * Added selection plugin init This is required to import the plugin and errors occur without it * Bumped qt version * Fixed int size error correctly The previous fix fixed the issue on mac but broke it on windows. This changes the various int and long terms which have varying definitions depending on the platform to the fixed width types. This should fix the issue and make the code clearer to read. * Refactored invoke to work on any thread Invoke can now call a function on any Qt thread. It still defaults to the main thread. Refactored a little. * Moved resource pack opengl initialisation to the main thread The Qt library warns of issues if the context is used across threads. Moved the opengl initialisation to the main thread via invoke. * Ensure the RenderResourcePackContainer exists on the main thread * Refactored level geometry Creation and deletion of VBOs is now done on the main thread. Some more work needs to be done to make sure the GPU data is unloaded automatically. * Exit broker don't crash If a broker process was spawned but one already existed this would display a popup to the user. Switched to sys.exit to just exit out of the application. * Fixed SharedVBOManager on the main thread If this was called from the main thread during another call it would not restore the original context. This should now restore the original context once it is finished. * Fixed some rendering issue on MacOS For some reason bindAttributeLocation is required on MacOS otherwise the attributes are not assigned correctly. Use GLSL 150 which is the shader version for OpenGL 3.2 which is the version we are targeting. 130 did not work on MacOS. * Initialise OpenGL state per model * Fixed rendering artifacts Sort chunks from furthest to nearest so that transparent elements are drawn in the correct order * Reformatted * Fixed layout warning * Include all OpenGL modules On my linux install EGL is required which is not included. * Partially fixed camera issues Wayland does not support setPos which makes the camera uncontrollable. This doesn't fix all the problems in wayland but it does make it usable. * Made glob path more specific * Added clearer installer file names * Try to fix upload paths * Upload to pypi Added a section in the build script to upload to pypi Skip if ubuntu because this fails uploading to pypi * Added python prefix
- Loading branch information