CUB3D
f03093528c
core: Add shared object cache and saving on exit
...
On the desktop player, shared objects will now be flushed on quit.
Attempting to retrieve an existing shared object will now return a
reference to the existing one.
2020-06-24 01:46:42 +01:00
CUB3D
f2a5f4fd8e
chore: Fix clippy lints and format
2020-06-24 01:46:07 +01:00
CUB3D
8822f03fba
desktop: Scope storage to the specific swf being executed
2020-06-24 01:46:07 +01:00
CUB3D
4e286b43ae
chore: Format
2020-06-24 01:46:06 +01:00
CUB3D
c630e93c87
desktop: Add a disk based implementation of StorageBackend
2020-06-24 01:43:25 +01:00
Genna Wingert
8cb1ad7757
desktop: Use compressed favicon.ico
2020-06-09 10:26:06 -07:00
Genna Wingert
9e38c4188b
Add window icon stored as embedded RGBA data.
...
Add embedded binary icon on Windows only.
2020-06-09 10:26:06 -07:00
Genna Wingert
b63ab89dc2
desktop: Do not show Windows console window when running Ruffle (merge #691 )
...
No longer show a command line window when opening a file with ruffle via a file association (open with).
Co-authored-by: Genna Wingert <wingertge@gmail.com>
2020-06-08 12:32:58 -07:00
Mike Welsh
f034471e2e
desktop: Set viewport dimensions based on physical size
...
When creating the viewport on desktop, the window DPI was not taken
into account, which may result in a blank screen until resized
(reported in #548 ). The window dimensions are now converted to
physical coordinates before passing them to the renderer.
2020-05-12 00:24:38 -07:00
Nathan Adams
84b274618e
render: Made wgpu renderer agnostic to if it's going to a window, prep for output-to-buffer
2020-05-11 01:09:07 -07:00
Nathan Adams
47a44a5fe8
desktop: Prime window with known width/height of the movie
2020-05-04 16:07:38 -07:00
Nathan Adams
51d9f3ef36
core: Change Player::new to take in a SwfMovie, not &[u8]
2020-05-04 16:07:38 -07:00
Mike Welsh
f09bd8c079
core: Clean up tick/render loop
...
Don't call `render` from `Player::tick`; instead, require the
frontends to explicitly call `render` when they wish to redraw.
The frontend can query `Player::needs_render` to see if the stage
is dirty and needs a redraw. Update desktop and web to use this
new method.
This fits better with the newer winit event loop model, which
requires explicitly calling `request_redraw`, and should avoid
spurious renders.
2020-05-02 04:25:21 -07:00
Mike Welsh
beb0eba3a3
chore: WGPURenderBackend -> WgpuRenderBackend
2020-04-30 20:00:07 -07:00
Nathan Adams
c2290ed5ef
render: Remove dependency on winit from wgpu renderer
2020-04-30 08:48:33 +02:00
Nathan Adams
f0445d94b8
render: Add wgpu-rs based renderer, used by desktop
2020-04-30 08:48:33 +02:00
Mike Welsh
6fb0046bd3
render: Move Glium renderer to separate subcrate
2020-04-29 23:26:41 -07:00
Mike Welsh
5315d059b9
desktop: Fetch from local filesystem for now
2020-02-24 01:49:28 -08:00
David Wendt
88b10f21c4
Implement an async executor for desktop so that these methods don't immediately panic.
2020-02-22 00:02:46 -05:00
David Wendt
55149b7b7e
Reference count the Player and provide a weak reference in UpdateContext.
...
This allows the formation of `'static` futures that can still interact with a player. Async code will need to upgrade the weak reference in order to be able to interact with the player.
2020-02-21 23:44:06 -05:00
Mike Welsh
432c605987
chore: Bump glutin/glium/winit to latest versions
...
Closes #371 , #376 .
2020-02-14 13:23:27 -08:00
Nathan Adams
f747caf30c
desktop: Add swf filename to window title ( closes #318 )
2020-01-17 13:54:25 -08:00
Mike Welsh
87158647d1
core: Implement keyPress button events
2019-12-24 03:06:03 -08:00
Nathan Adams
9000451d58
core: Implemented Mouse.show() & Mouse.hide()
2019-12-22 14:33:46 -08:00
Nathan Adams
3fd79a6982
chore: Rename GliumInputBackend -> WinitInputBackend
2019-12-21 19:08:06 -08:00
Nathan Adams
856a2f2910
desktop: Implemented glium based input handler for Key.isDown
2019-12-21 19:08:06 -08:00
Nathan Adams
eedc4bbe24
core: Added Input backend, currently unimplemented, for polling user input
2019-12-21 19:08:06 -08:00
Mike Welsh
1a1cdfa757
desktop: Allow audio creation to fail
...
Switch to NullAudioBackend if CpalAudioBackend fails to initialize.
(This happens on my laptop which doesn't have an audio device!)
2019-11-30 20:08:34 -08:00
Mike Welsh
07cc28dc9d
desktop: Resize window to match movie dimensions
2019-11-18 18:33:54 -05:00
Mike Welsh
70a3096dbb
desktop: Use ControlFlow::WaitUntil in winit 0.20
...
Fix frame timing with to prevent busy-waiting with the new control
flow behavior in winit 0.20.
2019-11-18 18:33:54 -05:00
Mike Welsh
09b6c086d6
chore: Squelch unneeded_filed_pattern warning
2019-11-17 17:36:21 -05:00
Mike Welsh
97edbc98df
core: Bump winit, glutin, glium versions
2019-11-11 14:06:41 -05:00
Mike Welsh
35be57553e
desktop: Improve animation sync
...
The timing on desktop was causing the movie to run too slow,
causing it to get out of sync. Now it should run at the correct
speed.
2019-10-28 21:05:18 -07:00
Mike Welsh
9c8721c127
core: Drop rodio and use only cpal for audio backend
...
Drop the rodio dependency and directly use cpal for the audio
backend. Use the sample crate for audio mixing and resampling.
2019-09-19 00:47:05 -07:00
Mike Welsh
82c1116c42
chore: cargo fmt
2019-09-16 20:37:11 -07:00
David Wendt
65586cbcf5
Allow SWFs to open websites from the desktop
2019-09-16 20:04:30 -07:00
David Wendt
0f9db1744b
Add a backend for controlling the enclosing web browser.
2019-09-16 20:04:30 -07:00
Mike Welsh
28f0ce3c83
Mask work
2019-09-09 20:42:08 -05:00
Mike Welsh
9cbeacd7b2
core: Transform mouse coordinates from viewport to stage
2019-08-19 22:27:38 -07:00
Mike Welsh
637588fae5
core: Store view matrix in player
...
Player is now in charge of scaling/cropping/translating the content
to fit the viewport size supplied by the frontend.
Added backend::render::Letterbox, which stores the margin sizes
for letter/pillarboxing.
2019-08-19 22:27:38 -07:00
Mike Welsh
0143d9716e
core: Button work
2019-08-19 22:27:38 -07:00
Mike Welsh
9d962fd634
core: Improve button support
2019-08-19 22:27:38 -07:00
Mike Welsh
ce606cece8
core: Re-enable AVM1
2019-08-19 22:27:37 -07:00
Mike Welsh
4666d211a7
core: Add dyn to fix Rust 1.37 warnings
...
Omitting dyn on trait objects now emits a warning, so add missing
dyn where necessary.
2019-08-15 13:54:20 -07:00
Mike Welsh
2bfc8767d0
desktop: Add letterbox to viewport
...
Add getters to Player to allow access to the type Renderer.
Letter/pillarboxes added as window resized.
2019-08-11 18:07:02 -07:00
Mike Welsh
af2287a658
desktop: Add letterbox to viewport
...
Add getters to Player to allow access to the type Renderer.
Letter/pillarboxes added as window resized.
2019-08-10 10:18:32 -07:00
Mike Welsh
24fc403e06
core: Make player generic over backend
2019-08-09 22:34:15 -07:00
Mike Welsh
3edc3c3d3e
web: Disable auto-play, add click-to-play
2019-08-09 14:50:20 -07:00
Mike Welsh
ce5faefe1f
Work
2019-08-08 15:57:10 -07:00
Mike Welsh
62ae3b0c46
Rename project
2019-05-08 09:46:19 -07:00