Commit Graph

974 Commits

Author SHA1 Message Date
Hajime Hoshi
ea12ede127 ebiten: Add StandardGamepadButtonValue
Closes #1721
2021-09-12 21:00:48 +09:00
Trevor Slocum
ffe9a6f72d
Minor style fixes (early returns) (#1792) 2021-09-04 00:22:37 +09:00
Hajime Hoshi
d967f0a591 examples/sprites: Make the window resizable 2021-08-08 15:31:49 +09:00
Hajime Hoshi
14f0fbf844 examples/windowsize: Reset TPS when resetting the Vsync mode 2021-08-05 03:01:11 +09:00
Hajime Hoshi
852c787743 examples/flappy: Bug fix: an audio context was created multiple times
Closes #1739
2021-08-04 14:54:06 +09:00
Hajime Hoshi
656d9dccc0 text: Add DrawWithOptions
Closes #1461
2021-07-27 17:36:21 +09:00
Hajime Hoshi
1706d9436a ebiten: Add FPSModeType, FPSMode, SetFPSMode, and ScheduleFrame
This change adds these APIs:

  * type FPSModeType
  * func FPSMode
  * func SetFPSMode
  * func ScheduleFrame

and deprecates these APIs:

  * func SetVsyncEnabled
  * func IsVsyncEnabled

Closes #1556
2021-07-24 16:09:13 +09:00
Hajime Hoshi
c28bcc26fc internal/clock: Rename UncappedTPS -> SyncWithFPS
Closes #1726
2021-07-22 22:46:24 +09:00
Hajime Hoshi
92bc5c1908 audio: Add (*Context).NewPlayer and (*Context).NewPlayerFromBytes
Closes #1708
2021-07-22 16:41:04 +09:00
Hajime Hoshi
1dc8002689 examples: Reduce global variables
Closes #1669
2021-07-22 01:38:55 +09:00
Hajime Hoshi
c54418c3e4 examples/flappy: Use A/B buttons for the standard gamepad layout
Also this change limits the available keys.
2021-07-20 20:53:19 +09:00
Hajime Hoshi
984275d0a0 examples/blocks: Skip the gamepad configuration if a standard layout is available 2021-07-20 03:48:01 +09:00
Hajime Hoshi
d32b58d050 examples/blocks/blocks: Unify the terms 'abstract' and 'virtual' 2021-07-20 03:02:37 +09:00
Hajime Hoshi
f192971080 ebiten: Rename HasGamepadStandardLayoutMapping -> IsStandardGamepadLayoutAvailable
Updates #1557
2021-07-20 02:46:12 +09:00
Hajime Hoshi
51f83b1527 inpututil: Add APIs for the standard gamepad layout
This change adds these APIs to inpututil:

  * IsStandardGamepadButtonJustPressed
  * IsStandardGamepadButtonJustReleased
  * StandardGamepadButtonPressDuration

Closes #1557
2021-07-20 02:37:12 +09:00
Hajime Hoshi
aa694be6f6 ebiten: Add the standard gamepad layout
This change introduces the standard gamepad layout. This changes adds
these APIs:

  * func HasGamepadStandardLayoutMapping
  * func IsGamepadStandardButtonPressed
  * func GamepadStandardAxisValue
  * type StandardGamepadButton
  * type StandardGamepadAxis

The standard gamepad layout is based on the web standard. See
https://www.w3.org/TR/gamepad/#remapping.

On desktops, the SDL's gamecontrllerdb.txt is used. If the gamepad is
listed in the text file, the mapping works. GLFW's mapping featrue is
not used.

On browsers, the property of a gamepad 'mapping' is used. When the
mapping value is 'standard', the gamepad is recognized to have the
standard mapping.

On mobiles, the implementation is still WIP.

Updates #1557
2021-07-20 01:32:28 +09:00
Hajime Hoshi
6b949cede8 examples/gamepad: Always show signs for axis values 2021-07-19 02:19:42 +09:00
Hajime Hoshi
700052519c examples: Use GamepadAxisValue
Updates #1719
2021-07-19 01:31:20 +09:00
Hajime Hoshi
af150ad67b examples/gamepad: Show SDL ID on the terminal 2021-07-18 15:41:20 +09:00
Hajime Hoshi
a9241a45c6 vector: Add Dir
Updates #844
2021-07-17 16:42:14 +09:00
Hajime Hoshi
70ef5e7d5b vector: Add Arc
Updates #844
2021-07-17 01:34:06 +09:00
Hajime Hoshi
873bb35587 vector: Add ArcTo
Updates #844
2021-07-16 22:52:32 +09:00
Hajime Hoshi
cea0aa72cb vector: Rename AppendVerticesAndIndices to AppendVerticesAndIndicesForFilling
Updates #844
2021-07-16 17:20:09 +09:00
Hajime Hoshi
5c4885c988 inpututil: Add AppendJustConnectedTouchIDs
Closes #1705
2021-07-10 23:30:04 +09:00
Hajime Hoshi
e8ea4046cb inpututil: Add AppendJustConnectedGamepadIDs
Updates #1705
2021-07-10 22:32:19 +09:00
Hajime Hoshi
a79c287bb7 inpututil: Add AppendPressedKeys
Updates #1705
2021-07-10 22:18:15 +09:00
Hajime Hoshi
30e3047d29 examples/typewriter: Fix comments 2021-07-10 04:38:26 +09:00
Hajime Hoshi
431cd33839 ebiten: Add AppendInputChars, AppendGamepadIDs, and AppendTouchIDs
These functions reduce unnecessary allocations of arrays.

Closes #1692
2021-07-10 03:03:24 +09:00
Hajime Hoshi
b466a0cbd7 ebiten: Add EvenOdd to DrawTrianglesOptions and DrawShaderTrianglesOptions
Updates #844
Closes #1684
2021-07-05 03:35:55 +09:00
Hajime Hoshi
8ff42f55a1 internal/graphicsdriver/opengl: Give up restorign on browsers
Using restorable images is expensive as this sometimes requires to
load pixels from GPU. On browsers, just reloading the application
should be fine when the context lost happens.

Closes #1603
2021-06-26 16:54:21 +09:00
Hiroki KUMAZAKI
eb5fde74af
examples: Add an example "stars" (#1679) 2021-06-24 22:50:47 +09:00
Hajime Hoshi
a615be69c7 examples: Add //go:build 2021-06-24 21:49:37 +09:00
Hajime Hoshi
bd13e96727 examples/noise: Show FPS 2021-06-24 12:06:59 +09:00
Hajime Hoshi
49c3c30c79 ebiten: Add IsWindowBeingClosed / SetWindowClosingHandled / IsWindowClosingHandled
IsWindowBeingClosed reports whether the window is being closed by
the user.

SetWindowClosingHandled sets whether the window closing is handled
or not. If the state is true, the window is not closed immediately
by the user and the game can handle the closing state. In this case,
the Update function should return an error in order to end the game.

This change also adds examples/windowclosing.

Closes #1574
2021-06-14 02:29:11 +09:00
Hajime Hoshi
b54ad73a2b Add go:build comments with go1.17beta1 fmt 2021-06-11 01:11:46 +09:00
Hajime Hoshi
95a98950b8 examples/resources: Unify jab.wav to 48000 Hz
Updates #1649
2021-05-25 22:32:50 +09:00
Hajime Hoshi
ac526b1b83 examples/wav: Use 48000 Hz
Updates #1649
2021-05-25 22:09:48 +09:00
Hajime Hoshi
0247261d34 examples/flappy: Change the sample rate to 48000 2021-05-23 22:04:41 +09:00
Hajime Hoshi
7f67fb7b90 examples/flappy: Accept gamepads 2021-05-23 19:44:03 +09:00
Hajime Hoshi
44e96f2377 examples/resources/images: Add a license about alert.png 2021-05-04 18:17:17 +09:00
Hajime Hoshi
e1d0b902e1 examples/audio: Add buttons 2021-05-04 02:02:17 +09:00
Tom Lister
bea5ab3335
internal/uidriver/glfw: Native macOS implementation for setting cursor shape (#1624)
Updates #1624
2021-05-02 14:50:50 +09:00
Hajime Hoshi
34be0371be examples/windowsize: Bug fix: Suppress calling SetWindowPosition if the position is not updated
This is a temoprary fix for the issue that the window size unexpectedly
shrunk on Linux.

Updates #1607
Closes #1605
2021-04-20 20:48:46 +09:00
Hajime Hoshi
7f8c3a13b3 examples/audiopanning: Bug fix: Align the buffer size
Closes #1598
2021-04-20 02:47:14 +09:00
Hajime Hoshi
5b96439fed Revert "examples/audiopanning: Bug fix: Out of range at reading bytes"
This reverts commit b1545b115c.

Reason: Calling UnreadByte twice is illegal

Updates #1598
2021-04-20 00:20:21 +09:00
Hajime Hoshi
b1545b115c examples/audiopanning: Bug fix: Out of range at reading bytes
Closes #1598
2021-04-19 22:06:00 +09:00
Hajime Hoshi
2f451e6014 examples/windowsize: Enable to specify either maxwindowsize or minwindowsize 2021-04-18 23:21:34 +09:00
Hajime Hoshi
45642668f7 examples/cursor: Change the background colors
On Windows, cursor colors are determined based on the background
color, and if the background color is gray, the cursor might be
invisible. This change adjust the color so that the cursor should
be visible in any cases.

Closes #1583
2021-04-18 19:34:53 +09:00
Hajime Hoshi
81ef20ddd0 examples: Use the new keys
Updates #1394
2021-04-18 01:13:20 +09:00
Hajime Hoshi
1b70901659 examples/windowsize: Swap arrow keys for resizing 2021-04-18 01:07:09 +09:00
Hajime Hoshi
ed4dded094 examples/hsv, examples/hue: Use wider screens 2021-04-17 22:10:14 +09:00
Hajime Hoshi
c950e03fb1 examples/blocks/blocks: Use gamepads to go back to the title 2021-04-17 21:55:58 +09:00
Hajime Hoshi
c8ed6ec12e examples/keyboard/keyboard: go generate 2021-04-17 19:30:04 +09:00
Hajime Hoshi
9b6ba5ed2c ebiten: Add {Set,}WindowSizeLimits
Closes #1385
2021-04-17 03:58:06 +09:00
Hajime Hoshi
d00d0c8556 ebiten: Add CursorShape/SetCursorShape/CursorShapeType
This change adds APIs to enable to use system cursor shapes other
than the default shape (an arrow).

This change doesn't add these cursors since they seem a little
different on macOS from the other platforms.

 * GLFW_HRESIZE_CURSOR
 * GLFW_VRESIZE_CURSOR

Closes #995
2021-04-16 01:09:19 +09:00
Hajime Hoshi
3043c6cb8e examples/windowsize: Enable to switch CursorMode 2021-04-11 03:33:02 +09:00
Hajime Hoshi
d46b0c5b49 examples/shader: Use const
Closes #1192
2021-04-09 02:02:03 +09:00
Hajime Hoshi
0300be7d9e examples/keyboard: Use inpututil functions in Update rather than Draw
This is not a strict rule, but it is preferrable to use input functions
in Update rather than Draw.
2021-04-07 01:54:53 +09:00
Hajime Hoshi
0fcf5c8470 inpututil: Add PressedKeys
Closes #770
2021-04-07 01:50:39 +09:00
Huw Griffiths
e1e213cc10
Add a new Touch example (#1547) 2021-03-24 22:27:12 +09:00
Hajime Hoshi
2c0108e178 examples/tiles: Misspelling 2021-03-09 03:23:53 +09:00
Hajime Hoshi
a13930650d examples/audiopanning: Bug fix: Fix several issues
* The stream was not looped.
 * The shown position was wrong.

Closes #1502
2021-02-22 02:00:52 +09:00
Hajime Hoshi
311d53ce2e examples/audio: Enable to touch 2021-02-21 19:20:24 +09:00
Hajime Hoshi
6f462e824f examples/audio: Use the same audio file for Ogg and MP3
This also changes the sample rate to 32000 for some special
environments.
2021-02-21 17:57:06 +09:00
Hajime Hoshi
d999b4dc8e internal/uidriver/glfw: Bug fix: Enable to specify ebiten.Image to SetWindowIcon
Closes #1468
2021-02-07 21:18:30 +09:00
Chris S. Kim
3d5733f693
examples/keyboard: Minor typo fix (#1436) 2020-12-15 11:55:17 +09:00
Hajime Hoshi
ede16afd30 examples/shader: Add a new example 'texel' 2020-12-09 23:33:59 +09:00
Hajime Hoshi
ed028110cf ebiten: Allow rendering on a sub-image by scissor test
Fixes #1255
2020-11-08 00:58:44 +09:00
Hajime Hoshi
61a8f2c69c examples/rotate: Update the resolution 2020-11-05 00:37:24 +09:00
Hajime Hoshi
552fbb7ed9 examples/contextlost: Enable to build on non-JS environments 2020-11-05 00:36:07 +09:00
Hajime Hoshi
fa53160e18 mipmap: Stop using negative mipmaps
Negative mipmaps tend to allocate extremely big images.

Instead, encourage to use images with explicit padding when enlarging
the image.

Fixes #1400
2020-10-31 02:52:40 +09:00
Hajime Hoshi
19d6f8d20a examples: Update resolutions
Fixes #1408
2020-10-31 02:06:45 +09:00
Hajime Hoshi
fd41042dcb examples/airship: Update the resolution
Updates #1408
2020-10-31 01:56:58 +09:00
Hajime Hoshi
e7d080ca4a mipmap: Bug fix: Too big scale tried to allocate too big images
Fixes #1399
2020-10-21 11:28:05 +09:00
Hajime Hoshi
75158feccf examples/shader: Add build tags for the generated files 2020-10-17 22:38:45 +09:00
Hajime Hoshi
fe6a2daef4 graphicsdriver/metal: Bug fix: Had to set the vsync state again at resetting
Fixes #1364
2020-10-14 01:58:56 +09:00
Hajime Hoshi
dfeb48b154 examples/windowsize: Fix the message 2020-10-10 23:00:49 +09:00
Hajime Hoshi
10f394f72b examples/wav: Play SE immediately 2020-10-10 05:03:51 +09:00
Hajime Hoshi
b1c67c7661 ebiten: Introduce type TouchID
Fixes #604
2020-10-10 03:57:47 +09:00
Hajime Hoshi
809b7a3afa ebiten: Introduce type GamepadID
Updates #604
2020-10-08 01:57:08 +09:00
Hajime Hoshi
bb20e62435 examples/gamepad: Bug fix: Misuse of indices and gamepad IDs 2020-10-08 01:13:51 +09:00
Hajime Hoshi
f1f7b350de audio, audio/mp3, audio/vorbis, audio/wav: Remove Close functions
Fixes #859
2020-10-07 23:39:58 +09:00
Hajime Hoshi
7a0e31a23a Clean up the 'js' build tags
Updates #1129
2020-10-07 01:33:10 +09:00
Hajime Hoshi
47065f5f2c Remove supporting jsgo
Updates #1129
2020-10-07 00:46:07 +09:00
Hajime Hoshi
41cf90a321 ebiten: Change the default value of IsRunningOnUnfocused to be true
Fixes #1180
2020-10-07 00:30:49 +09:00
Hajime Hoshi
c777dc6938 examples/contextlost: Bug fix: Compile error 2020-10-06 01:34:07 +09:00
Hajime Hoshi
1b816eb249 ebiten: Remove the error returning value from NewImageFromImage
Updates #1380
2020-10-06 01:03:33 +09:00
Hajime Hoshi
c6053bcf14 ebiten: Remove the error returning value from NewImage
Updates #1380
2020-10-06 00:48:56 +09:00
Hajime Hoshi
54da0d9763 ebiten: Remove the returning value from (*Image).DrawImage
Updates #1380
2020-10-06 00:21:17 +09:00
Hajime Hoshi
944a19c6f7 audio: Remove the error returning value from NewContext
Updates #1380
2020-10-05 02:25:13 +09:00
Hajime Hoshi
29b4087ebf audio: Remove the error returning value from NewPlayerFromBytes
Updates #1380
2020-10-05 02:18:27 +09:00
Hajime Hoshi
448a863eb1 ebiten: Remove FilterDefault
Fixes #503
2020-10-05 01:48:47 +09:00
Hajime Hoshi
fe97e7b0a5 ebiten: Remove the filter argument from NewImage and NewImageFromImage
Updates #503
2020-10-05 01:40:44 +09:00
Hajime Hoshi
8f00c8fbf5 ebiten: Remove the argument from Update
Fixes #1260
2020-10-04 19:33:10 +09:00
Hajime Hoshi
e90b5ff277 Update import paths in the documents 2020-10-04 05:07:08 +09:00
Hajime Hoshi
1d4ff9a906 ebiten: Remove the deprecated functions and constants
Updates #1127
2020-10-04 04:47:24 +09:00
Hajime Hoshi
bf515bb594 Update version to v2.0.0-alpha 2020-10-04 04:30:40 +09:00
Hajime Hoshi
eb38324021 examples: Use golang.org/x/image/font/opentype
Fixes #484
2020-10-03 23:14:09 +09:00
Hajime Hoshi
43734dc1a2 examples/resources/fonts: Remove Arcade_n.ttf 2020-10-03 20:40:33 +09:00
Hajime Hoshi
92c0d8da7e Revert "examples/font: Use golang.org/x/image/font/opentype"
This reverts commit 7b3294064d.

Reason: #1377
2020-10-03 20:25:57 +09:00
Hajime Hoshi
990ba69d7a Revert "examples/2048: Use golang.org/x/image/font/opentype"
This reverts commit aa9f7f7c19.

Reason: #1377
2020-10-03 20:25:45 +09:00
Hajime Hoshi
041377a9a2 Revert "examples/fullscreen: Use golang.org/x/image/font/opentype"
This reverts commit b264a421ae.

Reason: #1377
2020-10-03 20:25:02 +09:00
Hajime Hoshi
42fe708263 Revert "examples/text: Use golang.org/x/image/font/opentype"
This reverts commit 013a42ddb8.

Reason: #1377
2020-10-03 20:24:05 +09:00
Hajime Hoshi
584916c694 examples/keyboard: Use golang.org/x/image/font/opentype
Updates #484
2020-10-03 15:32:10 +09:00
Hajime Hoshi
3f1d0788f5 examples: Use golang.org/x/image/font/opentype
Updates #484
2020-10-03 15:25:39 +09:00
Hajime Hoshi
c9af0e9bd4 examples/blocks: Use golang.org/x/image/font/opentype
This change also adds a new font "Press Start 2P".

Updates #484
2020-09-29 22:02:48 +09:00
Hajime Hoshi
b264a421ae examples/fullscreen: Use golang.org/x/image/font/opentype
Updates #484
2020-09-28 02:26:32 +09:00
Hajime Hoshi
013a42ddb8 examples/text: Use golang.org/x/image/font/opentype
Updates #484
2020-09-28 02:25:01 +09:00
Hajime Hoshi
aa9f7f7c19 examples/2048: Use golang.org/x/image/font/opentype
Updates #484
2020-09-28 02:23:17 +09:00
Hajime Hoshi
7b3294064d examples/font: Use golang.org/x/image/font/opentype
Updates #484
2020-09-28 02:20:14 +09:00
Hajime Hoshi
8cb037e902 examples/gamepad: Sort gamepad ids when showing the states 2020-09-21 17:30:28 +09:00
Hajime Hoshi
9ac7a16333 examples/camera: Add limitations to the zoom factor 2020-09-21 01:13:00 +09:00
Hajime Hoshi
8803138464 examples/airship: Bug fix: Avoid too big scaling
Fixes #1353
2020-09-21 00:43:13 +09:00
Hajime Hoshi
9906e4b882 go generate 2020-09-20 23:28:17 +09:00
Hajime Hoshi
e406ebb1aa ebiten: Rename imageSrcTextureRegion -> imageSrcRegionOnTexture
Updates #1325
2020-09-19 19:36:53 +09:00
Hajime Hoshi
9f7d6962ff ebiten: Rename shader functions to get colors from textures
Updates #1325
2020-09-19 19:01:05 +09:00
Hajime Hoshi
850303b770 ebiten: Change the type of Uniforms to map[string]interface{}
Fixes #1324
2020-09-06 21:02:30 +09:00
Hajime Hoshi
d2cfed7558 examples/shader: Remove an unused variable
Updates #1328
2020-09-01 23:50:19 +09:00
Hajime Hoshi
dd7b0d81ae ebiten: Rename shader builtin functions
* imageSrcTextureSourceRegion -> imageSrcTextureRegion
 * image[N]TextureAt -> imageSrc[N]At
 * image[N]TextureBoundsAt -> imageSrc[N]BoundsAt

Updates #1325
2020-09-01 21:31:50 +09:00
Hajime Hoshi
77fa0cb9ef ui: Add SetInitFocused
Fixes #769
2020-08-23 02:19:09 +09:00
Tom Lister
65d5b64d29
ebiten: Rename SetClearingScreenSkipped/IsClearingScreenSkipped functions (#1317)
Fixes #1315
2020-08-20 17:12:22 +09:00
Hajime Hoshi
3060ad96f1 examples/contextlost: Fix comments 2020-08-20 00:45:59 +09:00
Hajime Hoshi
6718cd32a6 examples/contextlost: Skip Draw when the context lost happens
Updates #1314
2020-08-19 21:15:49 +09:00
Hajime Hoshi
7ec63acd1d ebiten: Bug fix: Set the state of being volatile on SetClearingScreenSkipped
Fixes #1309
2020-08-19 01:23:30 +09:00
Hajime Hoshi
2acb604260 examples/contextlost: Bug fix: Failed to compile with Go 1.12 2020-08-16 23:05:33 +09:00
Hajime Hoshi
05a1c2faa1 examples/shader: Always use 1 for an alpha
This is necessary to keep the color pre-multiplied
2020-08-16 02:34:21 +09:00
Hajime Hoshi
06ed4f5444 shader: Implement len function
Fixes #1279
2020-08-16 02:07:39 +09:00
Hajime Hoshi
a1d278b097 examples/shader: Add water.go
Updates #1284
2020-08-15 21:36:13 +09:00
Hajime Hoshi
d90edf5826 examples/windowsize: Add an option to skip clearing the screen
Updates #1132
2020-08-15 03:14:38 +09:00
Hajime Hoshi
d73472f4f2 Use the library style of file2byteslice 2020-08-14 00:50:09 +09:00
Hajime Hoshi
a1c7c18788 examples/shader: Regenerate files with the latest file2byteslice 2020-08-13 03:03:27 +09:00
Magnus
95022ff1a5
examples/shader: dissolve shader (#1291)
Updates #1284
2020-08-12 00:43:07 +09:00
Hajime Hoshi
08270ee729 shader: Enable to parse ... in an array type 2020-08-11 23:51:22 +09:00
Hajime Hoshi
70acb9c1f6 shader: Rename shader bultin functions
Renamed image0TextureSize to imageSrcTextureSize, and removed the
other texture-size functions.

As texture-coordinates are always in image0's texture texels,
calculations with texels are always done with image0's texture texels.
Then, other texture-size functions are useless. To avoid confusion,
let's remove the functions and leave the necessary funciton.
2020-08-11 05:02:22 +09:00
Hajime Hoshi
b95195ab71 examples/shader: Fix some API usages 2020-08-11 04:25:20 +09:00
Hajime Hoshi
69f87d5fd1 ebiten: Add new shader builtin functions: image[N]TextureBoundAt
Fixes #1287
2020-08-11 03:24:54 +09:00
Hajime Hoshi
bc930ed0ec Revert "examples/shader: Rename ScreenSize -> ImageSize"
This reverts commit 3893f9cdbe.

Reason: The screen size and the image size can be different.
2020-08-11 02:16:16 +09:00
Hajime Hoshi
68ca0c634e ebiten: Rename builtin shader functions
* textureDstSize -> imageDstTextureSize
 * texture[N]Size -> image[N]TextureSize
 * texture[N]At -> image[N]TextureAt

Updates #1287
2020-08-11 02:07:53 +09:00
Hajime Hoshi
3893f9cdbe examples/shader: Rename ScreenSize -> ImageSize 2020-08-11 01:52:16 +09:00
Hajime Hoshi
8bfe406470 examples/shader: Make the chromatic berration example more readable 2020-08-10 21:58:49 +09:00
Hajime Hoshi
8aa90e60d2 examples/shader: Regenerate bytes 2020-08-10 21:52:58 +09:00
Hajime Hoshi
f282a57a69 Revert "examples/shader: Merge generate.go and main.go"
This reverts commit fec9cae66a.

Reason: go generate failed without the build tag
2020-08-10 21:52:18 +09:00
Hajime Hoshi
fec9cae66a examples/shader: Merge generate.go and main.go 2020-08-10 21:12:34 +09:00
Tom Lister
6e5a9a4534
examples/shader: Add the chromatic aberration example (#1288)
Updates #1284
2020-08-10 21:08:53 +09:00
Hajime Hoshi
8dec91db43 examples/shader: Add the radial blur example
Updates #1284
2020-08-10 05:16:44 +09:00
Ishmeet
c352e69689
examples: Add a snake game (#1276) 2020-08-01 02:00:45 +09:00
Hajime Hoshi
0b3f846b47 examples/text: Update the title 2020-07-30 03:11:06 +09:00
Hajime Hoshi
481c160c2a text: Replace MeasureString with BoundString
Fixes #1272
2020-07-30 00:51:10 +09:00
Hajime Hoshi
2fb5108bbe shader: Rename viewportSize to textureDstSize
Updates #1239
2020-07-26 00:03:55 +09:00
Hajime Hoshi
c6282e1cfc examples/polygons: Bug fix: Inserted an experimental code 2020-07-25 23:30:01 +09:00
Hajime Hoshi
2bdbcd724d ebiten: Rename Draw*WithShader -> Draw*Shader
Updates #1168
2020-07-25 23:15:11 +09:00
Hajime Hoshi
a159f55520 examples/airship: Bug fix: z could be a too small number
Fixes #1256
2020-07-21 00:34:06 +09:00
Hajime Hoshi
c567a7b507 ebiten: Add DrawRectangleWithShader
Updates #1168
2020-07-20 22:48:22 +09:00
Hajime Hoshi
1217db3b1e ebiten: Remove user-defined vertex shaders
Fixes #1253
2020-07-20 10:07:55 +09:00
Hajime Hoshi
a3f62559c6 examples/shader: Add lighting example
Fixes #1234
2020-07-19 15:42:35 +09:00
Hajime Hoshi
e0d5763a60 shader: Use the fixed number of images for shaders
This changes uses arrays rather than slices in order to avoid heap
allocations.

Updates #1193
2020-07-18 18:27:47 +09:00
Hajime Hoshi
7f70797a6d ebiten: Rename DrawTriaglesWithShaderOptions.Textures to Images 2020-07-15 03:49:05 +09:00
Hajime Hoshi
d217bc6033 ebiten: Sparate textures from uniforms at DrawTrianglesWithShader
Updates #1193
Updates #1239
2020-07-09 01:59:21 +09:00
Hajime Hoshi
4021c24534 shader: Separate uniform variables and texture variabls
Textures cannot be treated as a regular variable, then they should
be treated differently from other uniform variables.

Add a new function texture0At replacing texture2D.

Updates #1239
2020-07-08 01:12:07 +09:00
Hajime Hoshi
f7757ae025 ebiten: Add AddressUnsafe
Fixes #1219
2020-07-03 00:33:07 +09:00
Hajime Hoshi
dcba380827 examples/audiopanning: Remove intro loop 2020-07-01 23:14:45 +09:00
Gabriel Ochsenhofer
9942d5bac2
example: Stereo audio panning example (#1227)
This example simulates an audio source (sprite) and an audio listener (camera).
The panning is relative to the sprite's position.

Fixes #1224
2020-07-01 23:03:47 +09:00
Hajime Hoshi
5d092ae022 examples/raycasting: Adjust the position of the message 2020-07-01 01:52:49 +09:00
João Wiciuk
c57e569aea
examples/raycasting: Fixed duplicated points, plotting ray count (#1225) 2020-07-01 01:47:42 +09:00
Hajime Hoshi
aee5d6d708 examples/sprites, examples/spriteshd: Misspelling 2020-06-28 22:22:52 +09:00
Hajime Hoshi
ebb3bcfeb5 examples/shader: Refactoring 2020-06-24 02:47:51 +09:00
Hajime Hoshi
545342262f examples/shader: Show an image 2020-06-24 01:41:27 +09:00
Hajime Hoshi
1f9cc53ce4 examples/keyboard/keyboard: Use RunGame
Updates #1111
2020-06-22 03:44:40 +09:00
Hajime Hoshi
841085863b examples/shader: Embed the shader file 2020-06-22 01:07:00 +09:00
Hajime Hoshi
d0df5950b5 examples/shader: Add mouse cursor 2020-06-22 00:47:53 +09:00
Hajime Hoshi
40e581c19f shader: Allow to mix an int and a float in a binary expression
Updates #1190
2020-06-21 03:34:55 +09:00
Hajime Hoshi
1785b6a670 examples/moire: Add a smaller scale, and remove AdjustTexel function from shaders
This can reproduce the bug reported at #669.

Apparently, the fix (8827520d4a) is
no longer required after 3550abef7a.
That's pretty odd, but examples/moire proves this fact.

Updates #669
Updates #759
2020-06-15 00:29:34 +09:00
Hajime Hoshi
d98713728a uidriver/glfw: Bug fix: SetVsyncEnabled(false) did not work before the main loop
Fixes #1197
2020-06-14 11:50:58 +09:00
Hajime Hoshi
f39c591252 shader: Enable more Go syntax 2020-06-11 01:13:03 +09:00
Hajime Hoshi
b64dc627e9 shader: Add a builtin function viewportSize 2020-06-10 23:07:57 +09:00
datosh
f3d0a71eba
Example for an orthogonal 2D camera (#1188) 2020-06-10 23:01:25 +09:00
loig
63677e0e50
examples: Use RunGame (#1183)
Fixes #1111
2020-06-07 21:36:46 +09:00
loig
e117086ca1
examples/wheel: Use RunGame (#1182)
Updates #1111
2020-06-07 19:23:25 +09:00
Hajime Hoshi
ba36d5a8e9 shader: Reland: Add a predefined uniform variable: __viewportSize 2020-06-07 00:14:09 +09:00
Hajime Hoshi
fe308f1971 Revert "shader: Add a predefined uniform variable: Internal_ViewportSize"
This reverts commit 6f411842f0.

Reason: Test failures on internal/restorable
2020-06-05 04:36:09 +09:00
Hajime Hoshi
6f411842f0 shader: Add a predefined uniform variable: Internal_ViewportSize 2020-06-05 03:00:43 +09:00
Hajime Hoshi
d0aa18ddb9 Add shader public APIs experimentally
Updates #1168
2020-06-04 01:40:50 +09:00
Hajime Hoshi
1da6dbcb29 examples: Use RunGame
Updates #1111
2020-05-30 21:47:36 +09:00
Hajime Hoshi
bab3288a37 examples: Use RunGame
Updates #1111
2020-05-30 21:20:26 +09:00
Hajime Hoshi
47f415fe5a examples/raycasting: Use RunGame
Updates #1111
2020-05-24 00:12:44 +09:00
Hajime Hoshi
0bbf0d5291 examples: Use RunGame
Updates #1111
2020-05-23 23:36:53 +09:00
Hajime Hoshi
837f767f45 examples: Use RunGame
Updates #1111
2020-05-15 03:55:28 +09:00
Hajime Hoshi
dc3ed76e3e examples: Use RunGame
Updates #1111
2020-05-12 02:35:26 +09:00
Hajime Hoshi
b71fa0b59b examples: Use RunGame
Updates #1111
2020-05-10 05:40:50 +09:00
Hajime Hoshi
a1e65a5e90 examples/hue: Use RunGame
Updates #1111
2020-05-10 05:29:18 +09:00
Hajime Hoshi
ce965077d8 examples/hsv: Use Game interface and RunGame
Updates #1111
2020-05-07 16:55:42 +09:00
Hajime Hoshi
9c1b99bd26
examples/audioinfiniteloop: Fix a wrong comment 2020-04-22 21:57:15 +09:00
Hajime Hoshi
29ef737413 examples/gamepad: Use RunGame
Updates #1111
2020-04-20 01:36:12 +09:00
Hajime Hoshi
ff271493e2 examples/fullscreen: Use RunGame
Updates #1111
2020-04-20 01:10:05 +09:00
Hajime Hoshi
de8707f6a1 examples/highdpi: Use RunGame
Updates #1111
2020-04-12 20:49:52 +09:00
Hajime Hoshi
6529629d29 examples: Use RunGame
Updates #1111
2020-04-12 20:30:51 +09:00
Hajime Hoshi
e16a4cd85c examples: Use RunGame
Updates #1111
2020-04-12 19:03:04 +09:00
Hajime Hoshi
cd4a0ba489 examples/rotate: Use RunGame
Updates #1111
2020-04-12 18:05:35 +09:00
Hajime Hoshi
9302160486 examples/flappy: Use RunGame
Updates #1111
2020-04-01 15:59:49 +09:00
Hajime Hoshi
01a1334639 examples/blocks: Use RunGame
Updates #1111
2020-04-01 15:57:49 +09:00
Hajime Hoshi
a70d6a314e examples/2048: Use RunGame
Updates #1111
2020-04-01 15:51:54 +09:00
Hajime Hoshi
7ac6b0bfa3 Update dependencies 2020-03-31 03:32:38 +09:00
Hajime Hoshi
161d8aae8f ui: Forbid RestoreWindow when the window is not maximized nor minimized
Fixes #1124
2020-03-31 02:48:22 +09:00
Hajime Hoshi
b470dace1a examples/windowsize: Bug fix: Nothing was rendered with -legacy mode 2020-03-31 02:22:21 +09:00
Hajime Hoshi
f01f5045ba examples/mascot: Use RunGame
Updates #1111
2020-03-31 01:06:47 +09:00
Hajime Hoshi
569f684d9b examples/windowsize: Improve messages 2020-03-29 02:36:14 +09:00
Hajime Hoshi
b7d555e724 examples/blocks: Bug fix: ESC key caused crashing 2020-03-29 02:35:58 +09:00
Hajime Hoshi
231edfbd3f example/contextlost: Bug fix: Compilie error on Go 1.14, Should use WebGL2 2020-03-29 02:03:14 +09:00
Hajime Hoshi
4fe5acd711 ui: Panic on MaximizeWindow when the window is not resizable
On Windows, the window could be maximized even when the window was
not resizable. This behavior is confusing. Forbid it so that the
behavior will be clearer.
2020-03-28 22:08:48 +09:00
Hajime Hoshi
7b5fb0a0d0 ui: Bug fix: The window was not shown on the secondary monitor on launching
This change changes the behavior of WindowPosition /
SetWindowPosition. The window position is now a relative position
and the origin position is the left-upper of the current monitor.

Fixes #1115
2020-03-28 19:51:47 +09:00
Hajime Hoshi
eb5f5485b3 examples/mascot: Add comments 2020-03-28 16:40:00 +09:00
Hajime Hoshi
e9508f8fbd examples/windowsize: Bug fix: Key I was assigned for multiple purposes 2020-03-28 15:29:02 +09:00
Hajime Hoshi
844dbc4a9b examples/windowsize: Better instruction message 2020-03-28 15:27:31 +09:00
Hajime Hoshi
237498e51f
ui: Add an optional function Draw function to Game interface (#1107)
This change adds an optional function Draw to the Game interface.
With Draw function, the game logic and rendering are separate.
There are some benefits:

  * The API is clearer and easier to understand.
  * When TPS < FPS, smoother rendering can be performed without
    changing the game logic depending on TPS.
  * Porting to XNA, which has separate functions Update and Draw,
    would be a little easier.

Draw is optional due to backward compatibility. Game interface was
already used before v1.11.x in mobile packages, and adding a
function would break existing code unfortunately. Then, we adopted
switching the behavior based on whether Draw is implemented or not
by type assertions.

IsDrawingSkipped will always return false when Draw is implemented.

Fixes #1104
2020-03-24 12:01:37 +09:00
Hajime Hoshi
37a8ae06c5 example/mascot: Use vx16 instead of dir 2020-03-22 17:31:46 +09:00
Hajime Hoshi
77b7e961ff example/mascot: Remove unused variable 'state' 2020-03-22 16:48:55 +09:00
Hajime Hoshi
4eedeb6ab7 example: Add mascot
This change also revert ScreenSizeInFullscree from the deprecated
state.

Fixes #1108
2020-03-22 16:30:48 +09:00
Hajime Hoshi
f317f3b5fd ui: Add fuctions to maximize or minimize the window
This change adds these functions:

  * MaximizeWindow
  * IsWindowMaximized
  * MinimizeWIndow
  * IsWindowMinimized
  * RestoreWindow

Fixes #994
2020-03-21 22:13:58 +09:00
Hajime Hoshi
978ee26898 ui: Add function aliases *OnUnfocused for *InBackground
Now a window can be floating with SetWindowFloating, the functions
that have suffix 'IsBackground' seems misleading. However, we
cannot rename them due to backward compatibility. Then, let's add
aliases and revisit them when updating the major version of Ebiten.

Fixes #1102
2020-03-21 00:42:00 +09:00
Hajime Hoshi
56358fd0c4 ui: Rename IsForeground -> IsFocused
Updates #1102
2020-03-21 00:12:47 +09:00
Hajime Hoshi
4ef3b3e804 ui: Add SetWindowFloating / IsWindowFloating
Fixes #880
2020-03-20 22:16:27 +09:00
Hajime Hoshi
f272da2980 examples/platformer: Add jumps
Fixes #1062
2020-03-19 02:11:03 +09:00
Hajime Hoshi
c6559f4f8e examples/platformer: Adjust screen size 2020-03-19 01:26:34 +09:00
Hajime Hoshi
1fdab58ff5 vector: Add FillOptions 2020-03-16 23:49:55 +09:00
Hajime Hoshi
099ce1b3b4 Revert "ui: Add SetInitFocused"
This reverts commit bb04fc8a29.

Reason: glfw.Focused / glfw.FocusOnShow did not work

Updates #769
2020-02-10 01:10:40 +09:00
Hajime Hoshi
bb04fc8a29 ui: Add SetInitFocused
Updates #769
2020-02-09 23:45:59 +09:00
Hajime Hoshi
67b166f732 examples/rotate: Revert resizeable window
This was accidentally introduced at 9ed8279fc8.
2020-02-06 03:05:31 +09:00
Hajime Hoshi
d6d17a7e85 uidriver/js: Implement GamepadSDLID
Fixes #1053
2020-02-05 00:00:00 +09:00
Sam Oen
69dc54232c
examples/raycasting: fix bug, swap height and width (#1067) 2020-02-01 17:28:23 +09:00
Hajime Hoshi
db40554715 examples/windowsize: Add usage of IsForeground
Updates #1037
2020-01-21 23:34:03 +09:00
Hajime Hoshi
bfa7e42368 docs: Use pkg.go.dev instead of godoc.org (Go files) 2020-01-19 04:52:12 +09:00
Hajime Hoshi
31482ebbbd docs: Use pkg.go.dev instead of godoc.org 2020-01-19 04:47:48 +09:00
dericmiller
7ee8d1aa5f examples/life: Fix initial world randomization (#1045)
Because golang executes the init function after establishing
the variables in the var block, the random number seed wasn't
initializing until after the initial world state had gotten
established (leading to an identical game of Life on every run).
To fix this, we establish an empty world in the var block,
and then populate it in the init function after the random
number generator has been seeded.
2020-01-06 13:09:51 +09:00
Hajime Hoshi
e725c7ee78 vector: Rename functions
Updates #844
2019-12-30 16:14:49 +09:00
Hajime Hoshi
17e16e5759 examples/vector: Add FPS 2019-12-29 23:02:28 +09:00
Hajime Hoshi
cee11bd822 vector: Add BezierCurveTo
Updates #844
2019-12-29 00:06:55 +09:00
Hajime Hoshi
6edb586f52 example/vector: Add the logo
There is a known issue in the logo rendering.
2019-12-28 18:12:27 +09:00
Hajime Hoshi
f1a788801c examples/vector: Add letters 2019-12-28 15:20:05 +09:00
Hajime Hoshi
d39dbc6a88 vector: Add QuadraticCurve
Updates #741
2019-12-28 14:58:29 +09:00
Hajime Hoshi
18b267fd4f vector: Add Fill by triangulation
Updates #845
2019-12-28 02:51:09 +09:00
Hajime Hoshi
9ed8279fc8 driver: Add interface Window 2019-12-25 00:24:21 +09:00
Hajime Hoshi
f8d47e5c6a examples/moire: Make the window resizable 2019-12-23 04:45:49 +09:00
Hajime Hoshi
049aa552d4 ui: Add SetWindowResizable
This change also fixes example/windowsize.

Fixes #320
2019-12-22 19:26:04 +09:00
Hajime Hoshi
4aa80de34d examples/windowsize: Bug fix: screenScale can be 0 on browsers 2019-12-22 19:20:31 +09:00
Hajime Hoshi
7d56e4335e ui: Add RunGame, WindowSize and SetWindowSize
This change introduces the new APIs RunGame, WindowSize and
SetWindowSize. These new APIs hides the notion of 'scale', and is
more flexible with the outside size change. This means that we can
introduce a resizable window.

This change also adds -legacy flag to examples/windowsize. If the
flag is off, the new APIs are used.

This change deprecates these functions since the notion of 'scale'
is deprecated:

  * ScreenScale
  * ScreenSizeInFullscreen
  * SetScreenScale
  * SetScreenSize

Fixes #943, #571
Updates #320
2019-12-22 03:35:31 +09:00
Hajime Hoshi
aad5db8939 examples/windowsize: Change the delta of moving the window 2019-12-21 17:08:04 +09:00
Hajime Hoshi
bda11b0e17 driver: Add UI.SetWindowSize and UIContext.Layout
This is a preparation to introduce RunGame function.

Updates # 943 (Fix this line before committing)
2019-12-15 02:29:43 +09:00
Hajime Hoshi
0ec447e0d0 ui: Add SetScreenTransparent / IsScreenTransparent
Fixes #1001
2019-12-01 03:31:32 +09:00
Hajime Hoshi
d78b4d7ffd examples/windowsize: Add messages about moving the window 2019-11-30 23:59:45 +09:00
Hajime Hoshi
9b2f864fc8 ui: Add SetWindowPosition(x, y int)
Fixes #936
2019-11-30 23:22:39 +09:00