Tamás Bálint Misius
3388094110
Fix failing to change the favourite status of a save crashing the game
...
I have no idea where the code that used to handle PreviewModelException went but it's pointless anyway; out the window it goes.
2023-08-29 17:10:18 +02:00
Tamás Bálint Misius
9ea09d129d
Enter stamp placement mode when dnd'ing a stamp
...
That is, an .stm file. Do this rather than open it as a save, as is done with .cps files.
2023-08-29 15:17:43 +02:00
Tamás Bálint Misius
f0a447bcd5
Fix empty stamp browser crashing upon an attempt to change pages
2023-08-28 20:27:38 +02:00
Tamás Bálint Misius
98cf5b302d
Emscripten: Immediately mark presentable if no url is specified
...
Also log failed requests.
2023-08-23 15:33:16 +02:00
Tamás Bálint Misius
7365d7e11c
Emscripten: Add Platform::MarkPresentable
...
So the website knows when to swap the thumbnail with the canvas of the TPT instance
2023-08-23 00:42:34 +02:00
Tamás Bálint Misius
6ceb51b408
Handle ptsave urls with GameController
2023-08-22 23:51:17 +02:00
Tamás Bálint Misius
3ab697d05f
More boolean.to_string() fixes in meson.builds
2023-08-22 00:26:34 +02:00
Tamás Bálint Misius
bbefc9970f
Rename tpt.getscript and give it a completion callback
...
Also reinstate the confirm prompt. Effectively a continuation of b972fe46d2e4.
2023-08-22 00:26:34 +02:00
Tamás Bálint Misius
7cb0ac96c9
Emscripten: Enable modularity
...
This allows multiple instances of the game to be loaded in a single page.
Also stop emitting htmls as a build artifact and require presence of #PowderSessionInfo.
2023-08-22 00:26:34 +02:00
Tamás Bálint Misius
25b15208cf
Emscripten: Disable a few options
...
Namely broken window frame options and pointless data folder options.
2023-08-22 00:26:33 +02:00
Tamás Bálint Misius
3d4ce09a80
Emscripten: Fix a crash from SDL2 by disabling asserts
...
Clearly not ideal.
2023-08-22 00:26:33 +02:00
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
845e195ba5
Emscripten: Sync session with the website one
...
Also fix a cursed length-related problem with passing strings from JS to C++.
2023-08-22 00:26:33 +02:00
Tamás Bálint Misius
f7bca3b1b1
Emscripten: Attempt to scroll canvas into view
2023-08-22 00:26:33 +02:00
Tamás Bálint Misius
cfd2baa064
Emscripten: Fix dead requests having their status updated
2023-08-22 00:26:33 +02:00
Tamás Bálint Misius
648bc08377
Emscripten: Implement more CRT stuff
...
Namely:
- Platform::OpenURI
- Platform::DoRestart
- Platform::ExecutableName
2023-08-22 00:26:33 +02:00
Tamás Bálint Misius
fd50f2dc9a
Emscripten: Use custom user agent
2023-08-22 00:26:32 +02:00
Tamás Bálint Misius
58229f49b2
Emscripten: Support persistent storage
2023-08-22 00:26:32 +02:00
Tamás Bálint Misius
82bd834e05
Emscripten: Add RequestManager
2023-08-22 00:26:32 +02:00
Tamás Bálint Misius
a860cbeabf
Use name-value pairs for HTTP post data and headers
...
And fuse them only if needed (e.g. in Libcurl.cpp). Also finally stop specifying the filename for a form item with the : separator hack.
2023-08-22 00:26:32 +02:00
Tamás Bálint Misius
5c816fe1ee
Emscripten: Cosmetics
2023-08-22 00:26:32 +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
9f71eb9d77
Emscripten: Add compatible main loop
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
Tamás Bálint Misius
1094cc9dc9
Emscripten: Remove blocking prompt functions
2023-08-22 00:26:31 +02:00
Tamás Bálint Misius
96dea30480
Emscripten: Remove all other blocking prompt calls
2023-08-22 00:26:31 +02:00
Tamás Bálint Misius
4f31f85b6b
Emscripten: Remove direct blocking prompt calls from Lua
...
Notable changes:
- tpt.{input,throw_error,message_box,confirm} have been superseded by ui.begin{Input,ThrowError,MessageBox,Confirm}, each with an extra callback argument and no blocking behaviour, but otherwise the same semantics as their predecessors.
- The "script not responding" error doesn't wait for user confirmation anymore, it fires without asking. Future exercise: maybe let the user configure the timeout.
- Remove the confirmPrompt argument of tpt.getscript; this also means it unconditionally fails if the destination file exists.
2023-08-22 00:26:31 +02:00
Tamás Bálint Misius
67e41b6705
Emscripten: Add target, update tpt-libs
...
The code itself is nowhere near being usable in a browser though.
2023-08-22 00:26:31 +02:00
jacob1
7bb2eb9d4d
Update streamline description so that it's more helpful and matches intended description from dd8902b2c33c
2023-08-20 00:29:04 -04:00
Tamás Bálint Misius
98b42d9e71
Prefer luajit's bit module over ours
2023-08-08 08:11:00 +02:00
jacob1
8855a26667
Kill stickman/figh immediately if health goes below zero, fixes #929
2023-08-07 21:39:18 -04:00
Tamás Bálint Misius
2c56adde5a
Work around some input method bug on windows
...
At least this fixes Hangul input for me. I'm sure nobody else had any problems with it and I'm sure everyone will start having problems with it now :)
2023-08-01 18:41:34 +02:00
Tamás Bálint Misius
a5e179e530
Fix some signed integer UB in RNG and related code
2023-07-20 21:38:30 +02:00
Tamás Bálint Misius
26a17c4e1f
Fix crash in math.random if a max size interval is specified
2023-07-20 21:33:43 +02:00
Tamás Bálint Misius
53d573ad3c
Fix crash if a save thumbnail is missing from the server
...
Which basically never happens. Except when the server runs out of space :) See 0f418ec195
for a similar fix.
2023-07-19 11:06:13 +02:00
Tamás Bálint Misius
2c04cf510a
Fix sim.neighbours yielding the center particle
...
The wiki says it shouldn't. Broken in 6a6b14f871
.
2023-07-01 16:13:06 +02:00
Tamás Bálint Misius
90004242d6
Fix crash when overwriting a local save
2023-06-24 07:13:43 +02:00
Tamás Bálint Misius
5b708219c0
Fix logouts not actually destroying sessions
2023-06-23 22:00:54 +02:00
Tamás Bálint Misius
56004348c3
Fix negative-size rects being returned by Rect::operator &
...
Which make some sense in theory but they're prone to mishandling on usage sites, such as RasterDrawMethodsImpl.h:171.
2023-06-22 21:39:09 +02:00
Tamás Bálint Misius
2bc2acc00e
Fix ExecVoteRequest sending AuthHeaders multiple times
...
Doesn't seem to affect libcurl, somehow.
2023-06-18 20:47:57 +02:00
Tamás Bálint Misius
0f418ec195
Fix crash if an avatar is missing from the server
...
Which basically never happens.
2023-06-18 15:37:32 +02:00
Tamás Bálint Misius
5b610f0b0e
Make OptionsView somewhat more manageable
2023-06-11 21:04:24 +02:00
Tamás Bálint Misius
958ab1df96
Make Grave (the key under Esc) exiting the console optional
...
Also fix perfectCirclePressure copypasta.
2023-06-11 20:09:01 +02:00
Tamás Bálint Misius
d296cf5d77
Enable SECURE_CIPHERS_ONLY with mbedTLS
2023-06-11 20:09:00 +02:00
Tamás Bálint Misius
ced2700c34
Wire up SECURE_CIPHERS_ONLY
...
This has been in the codebase for ages but apparently never enabled or wired up at all. Defaults to false for now.
2023-06-11 20:09:00 +02:00
Tamás Bálint Misius
0b0f40ec94
Eliminate a GameSave copy in Simulation::Load
2023-06-11 20:09:00 +02:00
Tamás Bálint Misius
f805b15ee5
Don't show a blue screen when the window is already closing
2023-06-11 20:09:00 +02:00
Tamás Bálint Misius
04455ada1c
Use clip rects to draw progress bar content
2023-06-11 20:09:00 +02:00
Tamás Bálint Misius
5e15d02eb8
Stop using 32-bit time in SaveInfo
2023-06-11 20:08:58 +02:00
Tamás Bálint Misius
daabe6a116
Use unique_ptr to hold on to SDL_GetPrefPath's result
2023-06-11 07:22:04 +02:00
Tamás Bálint Misius
3991bb0906
Complain on windows if the active code page is not UTF-8
...
See 18084d5aa0
, where we enable requesting this on startup but it may fail on older versions of windows.
2023-06-11 07:13:03 +02:00
Tamás Bálint Misius
ced60439ae
Fix mingw builds
...
My local mingw handled the previous commit fine, it's just the ghactions 8.1.0 one that didn't. We should update to windows-2022 which brings 11.2.0.
2023-06-10 19:52:55 +02:00
Tamás Bálint Misius
c73fa1bcdd
Prevent almost all HTTP requests from blocking
...
The ones that remain blocking are the ones that run on different threads; see Task, yet another big mess to clean up.
2023-06-10 19:19:53 +02:00
Tamás Bálint Misius
c2f8a7df25
Fix crash on exit when multiple windows are open
...
Controllers would delete their Views even if they failed to pop them from the window stack.
Have I mentioned that I really hate our MVC?
2023-06-10 18:56:05 +02:00
Tamás Bálint Misius
eea0c54a36
Fix pastes not being centred on the cursor
...
This commit hopefully concludes hammering at old pasting code.
2023-06-08 12:21:23 +02:00
Tamás Bálint Misius
6fb893a8de
Fix random particles disappearing when pasting
...
Because apparently GameSaves can have type = 0 particles.
Also possibly fix other odd phenomena. Background: I moved all spawnability checks to the previous loop over particles in 2e2c3181b5
and removed all of them from this loop. It turns out that I should have at least left the type == 0 check alone, because that's what ultimately prevented particles from being added to the simulation.
2023-06-02 09:16:41 +02:00
Tamás Bálint Misius
28a701a756
Enable out of bounds pasting in GameView
2023-06-02 08:10:57 +02:00
Tamás Bálint Misius
a205612802
Fix crash upon an out of bounds Simulation::Load
...
Also fix out of bounds signs being allowed to load and a potential out of bounds operator[] on Sign::text.
2023-06-02 07:06:40 +02:00
Tamás Bálint Misius
1a69bbfb51
Add hflip and rotation parameters to sim.loadStamp
2023-06-02 06:44:23 +02:00
Tamás Bálint Misius
7b894a693e
Get rid of pointless virtual dtors in Request derivatives
2023-05-30 15:32:42 +02:00
Tamás Bálint Misius
0cc179ae4e
Factor RequestManager threading into Libcurl impl
...
Because that's the only impl that needs it and is likely to ever need it. I hope I don't have to factor it back out for Android.
2023-05-30 15:32:42 +02:00
Tamás Bálint Misius
7cd88a094c
Enable non-multipart POST requests
2023-05-30 15:32:41 +02:00
Tamás Bálint Misius
6179071351
Pass particle coordinates to Simulation::Save
...
Both Save and Load were recently migrated to block coordinates, see 7ef02a6c0b
. The expected behaviour for Save is to extend the particle-oriented rect it gets to the smallest enclosing block-oriented rect and save all blocks inside that rect, but exclude the particles that fall outside the original rect. Using block coordinates made this exclusion impossible.
2023-05-30 15:18:54 +02:00
Tamás Bálint Misius
9884b4108e
Tame variable scopes in Air.cpp
2023-05-28 00:17:58 +02:00
JasonS05
86fb18aa08
Fix some air simulation asymmetries ( #897 )
2023-05-28 00:14:46 +02:00
Tamás Bálint Misius
f23a3dd2f8
Fix unknown HTTP response body size being reported as 0 in some cases
...
Namely, when libcurl dies or when progress is checked before the request is started, although this should never happen.
2023-05-27 20:22:13 +02:00
Tamás Bálint Misius
16e1ca74f2
Mark Platform::WinNarrow/WinWiden as to-be-eventually-deprecated
2023-05-27 20:07:52 +02:00
Tamás Bálint Misius
920f7646e4
Fix more reflection issues
...
Since b393050e55
, surface normals were calculated incorrectly because blocking cells were detected as blocking only if they were within the heading of the scout process (see that commit for terminology). This had been true even before that commit but it had had less visible effects because both processes would traverse their neighbours in the same order, which the initial heading approximation code (direction_to_map, removed in this commit) had worked better with.
This commit fixes this by separating information about blocking entirely from information about current heading, as it should be. This fixes a few prism-type saves such as id:1188302, but is also not entirely backwards-compatible, for all saves that are considered broken as far as normal calculation code is concerned (e.g. the surfaces are not long enough or are wobbly) will now be broken differently from before. This affects for example many coalescing laser-type saves such as id:482187 that rely on very specific arrangements of very few particles of reflective material behaving as perfect 45deg mirrors.
2023-05-17 17:21:41 +02:00
Tamás Bálint Misius
c0a2370c77
Fix paste previews being positioned incorrectly
...
Recent changes made to multiple instances of paste placement code caused inconsistencies between what paste previews suggested would happen and what actually happened during pasting. Relevant code factored out.
2023-05-14 20:44:13 +02:00
Tamás Bálint Misius
18084d5aa0
Request UTF-8 code page at startup on windows
...
This makes the *A Win32 API variants work correctly with UTF-8 parameters, which is nice because standard C/C++ facilities use those (because microsoft's libc is a steaming pile of microsoft code). OF COURSE this only works on win10 1903 and above. See https://learn.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page
2023-05-13 14:54:50 +02:00
Tamás Bálint Misius
7ef02a6c0b
Remove return value from Simulation::Load
...
Not useful anymore, it can only fail if the GameSave passed in is nullptr, which this commit guards against.
Also make Simulation::Load and Simulation::Save take block-oriented positions and rects.
2023-05-13 13:21:05 +02:00
Tamás Bálint Misius
ee87f0a0a7
Fix vote bars in previews touching the enclosing rects
2023-05-13 13:21:05 +02:00
Tamás Bálint Misius
a9d231587c
Show save button thumbnail in the preview if it's available
...
This is good enough for now but also more limited than I'd like because if the thumbnail arrives (gets rendered or downloaded) later than the preview is opened, it's never shown.
2023-05-13 13:21:05 +02:00
Tamás Bálint Misius
843f414291
Fix scary mutant spiders (many-headed stickmen)
...
They would sometimes show up in intentionally or otherwise corrupted saves.
2023-05-13 13:20:58 +02:00
Tamás Bálint Misius
d8acdfb576
Fix various warnings that had piled up
2023-05-12 19:25:41 +02:00
Tamás Bálint Misius
9bd8bd2274
Fix some deprecation warnings
...
Namely:
- [[deprecated("Use Mat2")]]
- [[deprecated("Use Vec2")]]
- [[deprecated("Use Mat2::operator*(Vec2)")]]
- [[deprecated("Use Vec2<float>::operator*(float)")]]
- [[deprecated("Use Vec2::operator+")]]
- [[deprecated("Use Vec2::operator-")]]
- [[deprecated("Use Vec2::Zero")]]
- [[deprecated("Use Mat2::Identity")]]
2023-05-12 18:53:48 +02:00
Tamás Bálint Misius
c8bc8a7285
Fix some deprecation warnings ( #920 )
...
Namely:
- [[deprecated("Use PlaneAdapter<std::vector>")]]
- [[deprecated("Use operator[](Vec2)")]]
2023-05-12 09:00:06 +02:00
Tamás Bálint Misius
0f95ce82f8
Sanitize GameSave/SaveInfo/SaveFile ownership
2023-05-11 12:40:23 +02:00
Tamás Bálint Misius
5c5354655c
Fix progress bars drawing their borders in the wrong place
...
Same problem as with textboxes solved in 3eb3481fda
.
2023-05-09 22:54:57 +02:00
Tamás Bálint Misius
0e3968af0b
Add fs.isLink
2023-05-09 22:31:12 +02:00
mniip
65cf8021c9
Reorganize the constructors of non-owning PlaneAdapter
2023-05-04 19:41:47 +02:00
Victoria Hoyle
29655db976
Update IntroText.h
...
Name change here as well
2023-05-03 23:34:53 -04:00
Tamás Bálint Misius
3eb3481fda
Fix local save browser crashing in some cases
...
This also fixes local save thumbnails being resized such that they are just short of filling the space they are supposed to.
Also fix textboxes drawing their borders in the wrong place.
2023-05-01 22:32:31 +02:00
Tamás Bálint Misius
60a7ce1aae
Use _rgb literals where possible
2023-04-30 14:22:56 +02:00
Tamás Bálint Misius
410dc71f42
Fix some deprecation warnings
...
Namely:
- [[deprecated("Use DrawPixel/BlendPixel")]]
- [[deprecated("Use DrawLine/BlendLine")]]
- [[deprecated("Use DrawRect/BlendRect")]]
- [[deprecated("Use DrawFilledRect/BlendFilledRect")]]
2023-04-30 14:06:54 +02:00
Tamás Bálint Misius
9fbb780728
Fix some deprecation warnings
...
Namely:
- [[deprecated("Use BlendChar")]]
- [[deprecated("Use AddChar")]]
- [[deprecated("Use XorPixel")]]
- [[deprecated("Use AddPixel")]]
- [[deprecated("Use XorLine")]]
- [[deprecated("Use XorDottedRect")]]
- [[deprecated("Use XorImage")]]
- [[deprecated("Use BlendEllipse")]]
- [[deprecated("Use BlendFilledEllipse")]]
- [[deprecated("Use DrawFilledRect (beware off by 1)")]]
2023-04-30 11:27:58 +02:00
Tamás Bálint Misius
f5cbc30d85
Fix some deprecation warnings
...
Namely:
- [[deprecated("Use BlendTextOutline")]]
- [[deprecated("Use BlendText")]]
- [[deprecated("Use BlendImage")]]
- [[deprecated("Use BlendImage")]]
- [[deprecated("Use TextSize().X - 1 (yes this is very bad code eww)")]]
2023-04-29 15:50:34 +02:00
Tamás Bálint Misius
2960e0f58f
Fix some deprecation warnings
...
Namely:
- [[deprecated("Use operator+(Vec2)")]]
- [[deprecated("Use operator-(Vec2)")]]
- [[deprecated("Use video")]]
- [[deprecated("Use persistentVideo")]]
- [[deprecated("Use wrapVideo")]]
2023-04-29 14:44:27 +02:00
Tamás Bálint Misius
8f10210c77
Fix various unintended layout changes since 97.0
...
Also fix a few unused variable warnings.
2023-04-29 13:18:32 +02:00
jacob1
ad1420152c
Fix delete key not functioning correctly in textboxes when text is selected
2023-04-25 00:30:07 -04:00
jacob1
8b7a96b5ef
Fix RIME's description (it is formed through deposition, not sublimation)
2023-04-23 22:52:29 -04:00
catsoften
8d88394e38
Add RGBA.Pack(), Simplify ui::Colour/RGBA conversions
2023-04-16 22:13:39 +02:00
catsoften
561fc17431
Simplify conversion from temperature to color in OptionsView
2023-04-16 22:13:39 +02:00
catsoften
a715f5d71a
Use RGB for constants and gradients, other misc changes
2023-04-16 22:13:39 +02:00
catsoften
bc085705a8
Remove deprecated PIXPACK/RGB/R/G/B functions
2023-04-16 22:13:39 +02:00
Tamás Bálint Misius
5fc8770ee2
Fix pmap usage in Simulation::flood_water
...
flood_water would occasionally corrupt pmap by moving the pmap entry at i's location even if the entry itself didn't refer to i. pmap updates are tricky, they are best handled by Simulation::move.
2023-04-16 11:05:42 +02:00
Tamás Bálint Misius
54d08f3496
Protect new math.random against division by 0
2023-04-15 23:22:20 +02:00
Tamás Bálint Misius
34e4d90dac
Properly seed rng at load time for saves that don't carry rng state
...
Also save rngState as a user object rather than two separate i64s.
2023-04-15 23:04:58 +02:00
Tamás Bálint Misius
a8604ef579
Add ensureDeterminism to saves
2023-04-15 22:19:54 +02:00