TheSpydog
c2ef78d136
Add validation check that all work group dimension counts are >= 1 ( #34 )
...
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: MoonsideGames/MoonWorks#34
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-11-14 18:21:03 +00:00
TheSpydog
5533eeb2fd
Fix bad pointer arithmetic in SetBufferData ( #33 )
...
Fixes a bug where SetBufferData was writing garbage to the buffer if `startElement` was non-zero.
Rather than fixing the pointer addition (it should have been `ptr + startElement`) I opted to remove it and instead pass the index explicitly when grabbing the address of the array element. I think that's a little easier to understand, and it's slightly safer too -- if you pass a startElement beyond the array bounds it will now throw an IndexOutOfRangeException instead of silently reading from outside the array bounds.
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: MoonsideGames/MoonWorks#33
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-11-12 03:42:35 +00:00
TheSpydog
02b0c12ad8
Bunch of Refresh API changes, plus more validation ( #31 )
...
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-11-09 18:49:53 +00:00
TheSpydog
1b38f8606b
Added more graphics validation, misc api tweaks ( #30 )
...
* Refactored render pass attachment validation to avoid copy-pasting the asserts
* Added validation for texture usage flags and null textures/samplers
* Added an exception for when GraphicsPipeline/ComputePipeline creation fails
* Changed TextureSamplerBinding so that it holds references to the Texture and Sampler classes, rather than just their handles
* Removed the CommandBuffer.BindVertex/FragmentSamplers overloads that took a length parameter
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: MoonsideGames/MoonWorks#30
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-11-08 19:29:05 +00:00
cosmonaut
bd98ae8441
fix validation error when TextBatch is empty
2022-10-24 17:22:24 -07:00
cosmonaut
59190e619d
fix Mouse.Wheel calculation
2022-10-21 11:39:06 -07:00
cosmonaut
ea86212199
add AudioDevice.MasteringVolume property
2022-10-20 15:00:25 -07:00
cosmonaut
66c6ceec04
hide main window until Game.Run is called
2022-09-30 13:03:05 -07:00
cosmonaut
dfddc24d0e
add PresentMode to WindowCreateInfo
2022-09-30 13:02:51 -07:00
cosmonaut
b66e077376
GraphicsDevice throw if backend invalid
2022-09-29 19:21:47 -07:00
cosmonaut
07c0b1b9a2
Window API revision + Framerate limiter ( #27 )
...
- add `Backend` enum
- `GraphicsDevice` can now take a preferred backend at creation
- add `GraphicsDevice.ClaimWindow`
- add `GraphicsDevice.UnclaimWindow`
- add `GraphicsDevice.SetPresentMode`
- add `Window.Claimed`
- add `Window.SwapchainFormat`
- fix certain odd behaviors in multi-window scenarios
- rename `FramerateSettings` to `FrameLimiterSettings`
- add `Game.SetFrameLimiter`
Reviewed-on: MoonsideGames/MoonWorks#27
2022-09-29 22:22:50 +00:00
TheSpydog
3ffdf8a929
Specify readonly access when creating ShaderModule stream ( #26 )
...
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: MoonsideGames/MoonWorks#26
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-09-28 23:52:29 +00:00
cosmonaut
bace9f570d
add Fix64.Step
2022-09-22 20:17:13 -07:00
cosmonaut
32f80282a0
clean up Video.cs
2022-09-21 15:16:34 -07:00
cosmonaut
23252a149f
ignore currently loaded video on VideoPlayer.Load
2022-09-20 11:31:27 -07:00
cosmonaut
80f19e4521
Refresh 1.7.0
2022-09-13 13:58:09 -07:00
cosmonaut
d5a7daa524
add graphics state validation in debug mode
2022-09-07 13:07:17 -07:00
cosmonaut
5c080a4c42
add another DepthStencilAttachment constructor
2022-09-07 12:38:05 -07:00
TheSpydog
eb8c350a47
Fix debug assertion in AudioDevice constructor ( #25 )
...
Let's try this again...
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: MoonsideGames/MoonWorks#25
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-08-30 17:09:32 +00:00
cosmonaut
0933b8e70f
reset static audio on free + rework filter API
2022-08-29 22:45:28 -07:00
cosmonaut
1af16231ce
Refresh 1.6.0
2022-08-25 12:32:49 -07:00
cosmonaut
0c6bb538fb
fix depth-only render pass invocation + throw instead of return
2022-08-22 19:30:44 -07:00
TheSpydog
ebfd4fd457
Ignore dllmap logic when running under NativeAOT ( #23 )
...
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: MoonsideGames/MoonWorks#23
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-08-22 16:43:19 +00:00
cosmonaut
b380707462
Video Optimization ( #22 )
...
- Videos are now shoved into memory when created to avoid disk latency issues
- Added VideoPlayer class to avoid redundant texture creation on videos
- Most Video functions are now on VideoPlayer
Reviewed-on: MoonsideGames/MoonWorks#22
2022-08-18 20:45:34 +00:00
cosmonaut
491eafac76
fix default Video playback speed being 0
2022-08-18 00:57:22 -07:00
cosmonaut
0dddf2a0af
fix default pitch
2022-08-17 18:45:35 -07:00
cosmonaut
15aefc2212
add MoonWorks.Math.Easing
2022-08-16 18:24:46 -07:00
cosmonaut
a427b79510
add Fix64-int arithmetic
2022-08-16 18:24:34 -07:00
TheSpydog
49f852a822
Combine all dependencies into the main csproj ( #21 )
...
This removes the need for per-library dllmap logic and simplifies the build process.
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: MoonsideGames/MoonWorks#21
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-08-14 20:44:55 +00:00
cosmonaut
c649b24dad
Game.Timestep is now public
2022-08-11 21:55:12 -07:00
cosmonaut
f06ad263b7
add Fixed.Vector2.Lerp
2022-08-09 17:14:38 -07:00
cosmonaut
28e3479444
remove decimal cast from Fix64.Atan2
2022-08-05 16:56:26 -07:00
cosmonaut
72ad850ab4
fix unnecessary double cast
2022-08-03 16:34:15 -07:00
cosmonaut
9cd6e6cc7b
add Vector2.Rotate methods
2022-08-03 16:15:47 -07:00
cosmonaut
9c8ec7ad5a
ButtonState now has a public constructor
2022-08-03 10:13:20 -07:00
cosmonaut
1e6455d070
fix StreamingSoundOgg seek
2022-08-02 14:15:16 -07:00
cosmonaut
efb9893aef
Theora video support + audio improvements ( #20 )
...
- `SoundInstance.Play` no longer takes a loop parameter
- `SoundInstance.Stop` is split into `Stop` and `StopImmediate` instead of taking an immediate parameter
- Added `StreamingSoundSeekable` to better support streaming audio that does not support seek
- `StreamingSound` no longer has a Loop property, but `StreamingSoundSeekable` does
- abstract `StreamingSound.AddBuffer` renamed to `FillBuffer`
- `FillBuffer` is now provided with a native buffer to avoid an extra data copy
- `StreamingSound` buffer implementation optimized to avoid repeated alloc/frees
- added `Video` class which can load and play Theora (.ogv) streaming video/audio
Reviewed-on: MoonsideGames/MoonWorks#20
2022-08-02 21:04:12 +00:00
cosmonaut
5a5fbc0c77
handle OS window size changes
2022-07-28 16:06:50 -07:00
cosmonaut
40a2b31e90
add StartMaximized flag to WindowCreateInfo
2022-07-28 16:06:37 -07:00
cosmonaut
424f410688
add SystemResizable flag to WindowCreateInfo
2022-07-26 19:08:21 -07:00
cosmonaut
f6fc80804e
improve gamepad init and support hotplugging
2022-07-13 11:53:09 -07:00
cosmonaut
646e5e9283
empty virtual button
2022-07-12 17:57:37 -07:00
cosmonaut
ab619192a6
combine button states
2022-07-12 17:57:27 -07:00
cosmonaut
d07a722fb1
VirtualButton system
2022-07-12 16:09:23 -07:00
cosmonaut
3543f074f4
fix erroneous Normalize
2022-07-12 16:06:13 -07:00
cosmonaut
d3e124cea1
reset AnyPressedButton at start of Update
2022-07-08 16:52:37 -07:00
cosmonaut
1cf3a13541
Inputs.AnyPressed implementation
2022-07-08 16:47:12 -07:00
cosmonaut
db5ca97726
Packer.TextBounds
2022-06-30 16:24:28 -07:00
cosmonaut
d190df55b2
update wellspring
2022-06-30 13:25:52 -07:00
cosmonaut
1aa522ffa1
avoid TextBatch.Draw smashing the stack with big strings
2022-06-30 13:24:51 -07:00
cosmonaut
a9b3b53ce9
add optional Destroy method to Game
2022-06-23 23:59:23 -07:00
cosmonaut
d32bbcd537
radian and degree conversions on Fix64
2022-06-21 11:20:32 -07:00
cosmonaut
b23792acd0
remove empty struct constructors for language compatibility
2022-06-20 13:04:44 -07:00
cosmonaut
2f5d25b458
Fix64 random fix
2022-06-16 00:51:02 -07:00
cosmonaut
ba662d7c3e
add Fix64 random range
2022-06-14 18:25:37 -07:00
cosmonaut
c1085db9c5
add store ops to depth stencil attach info struct
2022-06-08 17:15:14 -07:00
cosmonaut
bb0b6daa91
Fix64.Fractional
2022-06-07 17:01:44 -07:00
cosmonaut
13519c3150
fix stencil clear
2022-06-06 18:44:03 -07:00
cosmonaut
6ab7a2f722
read ShaderModules from stream
2022-06-06 10:42:05 -07:00
cosmonaut
436affe5de
remove some unnecessary qualifiers
2022-06-05 12:29:35 -07:00
darkerbit
ff544140e0
add file drop API
2022-06-05 12:27:46 -07:00
cosmonaut
26e7e5c809
move mouse wheel reset to sensible location
2022-06-04 15:51:19 -07:00
cosmonaut
d2a51ce524
decouple fixed timestep from draw, add frame cap
2022-06-04 15:48:55 -07:00
cosmonaut
5a9709c843
revert Game and GameState change
2022-06-01 18:31:22 -07:00
cosmonaut
0e8188682e
game state now changes on next update
2022-05-23 19:12:27 -07:00
cosmonaut
9862bfd0a0
TextureSamplerBinding now stores IntPtrs
2022-05-23 19:12:17 -07:00
cosmonaut
4756fe2b14
add SetMasteringVolume method to AudioDevice
2022-05-23 19:11:48 -07:00
cosmonaut
e5c72c6f46
add lerp to Fix64
2022-05-18 18:28:53 -07:00
cosmonaut
318ca22021
add default case for clarity
2022-05-15 12:16:41 -07:00
cosmonaut
547f7a388e
add Fix64 random methods
2022-05-15 12:16:41 -07:00
cosmonaut
dd3fb75905
fix DDS mip level loader
2022-05-14 10:31:56 -07:00
cosmonaut
2bd88e1dc1
add a few useful functions
2022-05-13 16:26:26 -07:00
cosmonaut
66d363459b
improve DDS format support
2022-05-12 11:21:07 -07:00
cosmonaut
b22d3bed30
add DDS and BC7 support
2022-05-11 21:22:20 -07:00
cosmonaut
0d93207ae9
Fixed Point Math ( #19 )
...
Reviewed-on: MoonsideGames/MoonWorks#19
2022-05-11 17:34:09 +00:00
cosmonaut
a0082bcec6
change Marshal.SizeOf to sizeof
2022-04-27 14:14:15 -07:00
cosmonaut
810f270a41
blittable button identifiers
2022-04-27 11:37:35 -07:00
cosmonaut
27e0404ec0
expose Line properties + no-ID retrieve
2022-04-21 16:04:40 -07:00
cosmonaut
be4b5cf2c7
fix audio not being disposed in correct order
2022-04-20 14:57:24 -07:00
cosmonaut
83eb268a4a
add audio Seek functionality
2022-04-20 14:29:46 -07:00
cosmonaut
985e096a7b
add Update and Remove to SpatialHash2D
2022-04-20 10:57:16 -07:00
cosmonaut
dccd81e029
change collision API to support multi shapes
2022-04-18 11:33:40 -07:00
cosmonaut
65568ea234
Font rendering update
2022-04-13 15:10:23 -07:00
cosmonaut
61a6d0bdc0
Font Rendering ( #18 )
...
Adds a font rendering system based on Wellspring.
Reviewed-on: MoonsideGames/MoonWorks#18
2022-04-13 03:06:14 +00:00
cosmonaut
72c9dd4bda
close vorbis stream before freeing data
2022-04-08 00:17:58 -07:00
cosmonaut
412f0ca179
game state system
2022-04-08 00:03:42 -07:00
cosmonaut
b252d0eb92
forgot that C# arrays are not just memory
2022-04-07 15:11:14 -07:00
cosmonaut
ba66ed4225
stream ogg from memory instead of disk
2022-04-07 14:19:43 -07:00
cosmonaut
5e2b8de2d3
Spatial Hash Retrieve returns collision groups
2022-04-06 20:25:46 -07:00
cosmonaut
35ded250ed
some more collision fast paths
2022-04-05 17:31:27 -07:00
cosmonaut
f8146b799a
store rectangle properties as ints
2022-04-05 16:35:55 -07:00
cosmonaut
4b4abaab01
fix AABB2D transform method
2022-04-05 16:06:34 -07:00
cosmonaut
6a1fa004d6
set loop on play instead of construct
2022-04-05 16:05:42 -07:00
cosmonaut
b1b6b84809
WAV static sounds + static sound instance pool
2022-04-04 23:33:36 -07:00
cosmonaut
08a3c01f66
add Vector2.Angle
2022-03-31 15:31:53 -07:00
cosmonaut
ec5160c060
add int variant to MathHelper.Approach
2022-03-31 14:51:18 -07:00
cosmonaut
c96c7a0d90
MathHelper.Approach should not return delta
2022-03-29 00:11:50 -07:00
cosmonaut
f0d3dfccf9
add collision mask system to spatial hash
2022-03-25 15:11:38 -07:00
cosmonaut
9f4b69e6aa
keyboard uses Button instead of ButtonState
2022-03-24 16:41:00 -07:00
cosmonaut
80c34c6b16
Collision API ( #17 )
2022-03-24 06:07:34 +00:00