Commit Graph

216 Commits

Author SHA1 Message Date
Tamás Bálint Misius
dca5e25b3b
Implement vsync fps limit outside emscripten 2023-08-22 00:26:33 +02:00
Tamás Bálint Misius
bfe7d765c4
Emscripten: Disable hopefully all ways to quit
Also fix FPS going nuts when recreating the window by setting it again every time.
2023-08-22 00:26:33 +02:00
Tamás Bálint Misius
c725894abd
Emscripten: Add "vsync" FPS limit mode
Would be really useful for native versions too, but it's more complicated to pull off. For now, vsync on native is the same as tpt.setfpscap(2).
2023-08-22 00:26:32 +02:00
Tamás Bálint Misius
bef2fb01d0
Emscripten: Pivot EngineProcess
... such that it ends with a sleep and delegates looping to its caller.
2023-08-22 00:26:32 +02:00
mniip
9b9b0b794a Remove Graphics::vid, Graphics::textwidthx, Graphics::textsize 2023-04-12 19:21:37 +02:00
Tamás Bálint Misius
159d0eb4b7
Group platform files into their own directory 2023-01-27 17:31:40 +01:00
Tamás Bálint Misius
694bc8eb0f
Fix exit behaviour
We can't rely on atexit, handlers registered with it are in a hard to establish ordering relationship with destructors of static and thread-local objects.
2023-01-27 14:55:58 +01:00
Tamás Bálint Misius
11945ba620
Factor out game stuff from PowderToySDL.cpp 2023-01-27 09:29:19 +01:00
Tamás Bálint Misius
4f0c365e05
Preprocessor purge round 19: Split and minimize usage of Config.h
Also mostly banish it from other headers, and shuffle standard header includes to minimize cross-contamination between headers.
2023-01-27 09:27:32 +01:00
Tamás Bálint Misius
6ea66f02de
Include "1" in the list of "true-strings" on the command line 2023-01-27 09:27:32 +01:00
Tamás Bálint Misius
3cb6b26d1d
Migrate Singletons to ExplicitSingleton 2023-01-27 09:27:30 +01:00
Tamás Bálint Misius
36d6f1d67e
Preprocessor purge round 18: difficult parts of WIN, LIN, MACOSX, AND 2023-01-27 09:26:41 +01:00
Tamás Bálint Misius
49102e395c
Move platform-specific code out of entrypoint TUs 2023-01-27 09:26:41 +01:00
Tamás Bálint Misius
afda2826bf
Refactor preferences 2023-01-27 09:26:41 +01:00
Tamás Bálint Misius
f7478422a4
Preprocessor purge round 16: DEBUG 2023-01-27 09:26:40 +01:00
Tamás Bálint Misius
91a9973bfd
Refactor HTTP
Request ownership is no longer flaky. Requests are now owned by the code that makes requests, and Requests and the RequestManager co-own RequestHandles. RequestManager disowns a RequestHandle if it's done with it or if Request code reports that it's no longer needed.

All libcurl code has been moved to RequestManager. This is nice because once NOHTTP is removed, we can add any number of RequestManager implementations, for example one for Android.

Client outliving RequestManager is still a problem, this will have to be addressed later.
2023-01-27 09:26:40 +01:00
Tamás Bálint Misius
29d4d4e91c
Preprocessor purge round 13: X86 2023-01-27 09:26:40 +01:00
Tamás Bálint Misius
1efafb8d30
Preprocessor purge round 8: trivial binary macros 2023-01-27 09:26:38 +01:00
Tamás Bálint Misius
9542f98b82
Preprocessor purge round 7: Config.template.h 2023-01-27 09:26:38 +01:00
Tamás Bálint Misius
b2b06bf009
Preprocessor purge round 3: spaghetti headers 2023-01-27 09:26:38 +01:00
jacob1
4c74d25840
Fix graphical artifacts sometimes showing up with ptsave startup arg 2023-01-26 22:40:58 -05:00
Tamás Bálint Misius
c6d6a7d0bf
Cap FPS in a more stable way
Time-related variables are now on the nanosecond scale. See #886.
2023-01-05 18:25:41 +01:00
Tamás Bálint Misius
55524bc27a
Fix proxy, cafile, capath command line options
Broken by edab57887d.
2023-01-02 18:48:02 +01:00
Tamás Bálint Misius
edab57887d
Redo command line parsing 2022-12-31 10:48:44 +01:00
Tamás Bálint Misius
1da7438e39
Add ability to disable blue screens
This will let us produce crash dumps on user machines.
2022-12-30 08:21:12 +01:00
Tamás Bálint Misius
2bcf32e2cf
Stop relying on _DEBUG 2022-12-30 08:12:12 +01:00
Tamás Bálint Misius
dd7178dbc8
Stop setting window icons on windows
Also fix font editor builds on windows and add more font editor builds to the ghactions workflow.

Funny, we don't really need resource.h anymore. The resource compiler does, but we don't.
2022-12-18 19:32:12 +01:00
Tamás Bálint Misius
e5c88f154a
Unify icons 2022-12-18 15:00:08 +01:00
Tamás Bálint Misius
59f89f9a46
Let mods customize app constants
Mainly via meson_options.txt.
2022-12-17 19:45:01 +01:00
Tamás Bálint Misius
59354731df
Remove all PTI code, use libpng to load avatars and thumbnails
Also write PNGs with libpng, and BMPs with SDL, and have the renderer only generate a large PNG thumbnail, and disable HTTP/2 multiplexing for now so we don't get banned when loading avatars.

simon pls reply to the stupid emails already.
2022-10-23 20:21:05 +02:00
Tamás Bálint Misius
f18bd6553f
Remove long defunct OpenGL code paths 2022-10-11 20:11:14 +02:00
Tamás Bálint Misius
304cc3a47b
Move Read/WriteFile from Client to Platform 2022-10-05 19:55:04 +02:00
Tamás Bálint Misius
09c2704928
Add CAFile and CAPath config options, use mbedtls in static builds
This is how we'll handle systems where the cert bundle and cert directory is stored where mbedtls doesn't expect it.

Also update tpt-libs to get new curl and mbedtls.
2022-09-25 06:13:35 +02:00
Tamás Bálint Misius
a674498a96
Clean up Client::DoInstallation
Also Factor out app constants that mods might change into Meson options and clean up format::URLEncode in the process, convert app and document icon data in arrays to actual images, actualize AppStream data for possible future packaging, add alternative command line format for opening filesystem saves and ptsave URLs, fix a memory leak in Platform::GetCwd, and add format::URLDecode.
2022-09-08 06:54:35 +02:00
Tamás Bálint Misius
04e899e824
Use std::vector<char> consistently for file operations
This made it possible to get rid of two GameSave constructors.

Also clean up Client::LoadSaveFile, Client::ReadFile, and Client::WriteFile in the process, and remove unused SaveRenderer::Render
2022-09-08 06:45:25 +02:00
Tamás Bálint Misius
23a368dbf0
Clean up DirectionSelector and surrounding code
I really should have done this before merging it >_>

Also fix a few warnings.
2022-08-23 13:47:45 +02:00
Tamás Bálint Misius
289c2c4528
Fix handling of malformed scale: and proxy: arguments 2022-06-13 13:40:41 +02:00
Tamás Bálint Misius
6fe82d7221
Update tpt-libs, use SDL2main the way it's meant to be
Also fix the first mouse click not being detected on windows with sdl 2.0.20. Apparenlty, we need SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH set to 1 for it to be detected.
2022-04-10 10:39:23 +02:00
Tamás Bálint Misius
76b89f8da1
Handle SDL_CreateWindow failure slightly better
Might explain weird breakage we experience on chromebooks. Difficult to say as we don't have access to chromebooks.
2022-03-26 17:43:43 +01:00
Tamás Bálint Misius
816b9eda3d
Disable text input as startup
We're not handling any keyboard input at that point anyway.
2021-09-05 19:30:55 +02:00
jacob1
46d7682ed9
Regenerate window when changing sdl settings if "old fullscreen" is enabled 2021-09-03 00:06:15 -04:00
jacob1
54a2abce3b
Default drawfrequency to 0, because of frame drop issues
Very apparent when using LIGH, which only stays on screen for one frame. Sometimes LIGH rendering is skipped entirely.
2021-07-11 18:04:51 -04:00
jacob1
b3aa6252ce
Add button in options menu to migrate to shared data directory a18855301306
Summary of migrated files will be shown to user in a popup, and a log file with every moved file will be left in the original directory
stamps, saves, scripts, screenshots, and powder.pref will be migrated. Recordings are not.
2021-06-27 18:25:59 -04:00
jacob1
d1016cf58d
move Platform.cpp to common/, seems to fit in a little better there 2021-06-26 00:58:37 -04:00
jacob1
6e0ace2e4d
Add / move some filesystem methods to Platform.cpp 2021-06-26 00:58:37 -04:00
jacob1
9775527123
Misc compile fix for the unsupported opengl configuration 2021-06-08 23:11:24 -04:00
jacob1
fca0c62cd7
Remove "Auto Draw Rate" option, there is no reason to turn this off
It can still be turned off or adjusted via Lua, though
2021-05-10 00:07:52 -04:00
Tamás Bálint Misius
dfc8dc80bd
Write prefs every time they change (fixes #770) 2021-04-18 12:23:31 +02:00
Tamás Bálint Misius
2a23a38120
Normalise GetPrefs 2021-04-18 12:23:31 +02:00
Tamás Bálint Misius
b98c9c8a2e
Fix crash on exit when using nvidia-460 + SDL with EGL support 2021-04-06 20:03:48 +02:00