Commit Graph

901 Commits

Author SHA1 Message Date
Hajime Hoshi
05dd36ec7b examples/fullscreen: enable to test on mobile browsers
Closes #2060
2022-08-07 19:31:56 +09:00
mattn
2bacecca24
fix typos (#2227) 2022-08-03 22:40:39 +09:00
mattn
3cd0daac67
go generate ./... with Go 1.19 (#2228) 2022-08-03 20:48:02 +09:00
Hajime Hoshi
e41a8be9e4 add tools.go 2022-07-30 02:16:53 +09:00
divVerent
21207f827c
do not require installing file2byteslice to update go generate'd files. (#2221)
The tool is already referenced in go.mod, so it is trivial to just go run it -
that way, go generate can use it without the user explicitly installing it first.
2022-07-29 20:43:23 +09:00
Hajime Hoshi
ca8c36499d ebiten: recommend errors.Is instead of comparing the returned value directly
Closes #2152
2022-07-24 23:25:48 +09:00
Hajime Hoshi
0f52381580 ebiten: rename TPS functions
* SetMaxTPS() -> SetTPS()
* MaxTPS() -> TPS()
* CurrentTPS() -> ActualTPS()
* CurrentFPS() -> ActualFPS()

Closes #2071
2022-07-17 11:30:12 +09:00
Hajime Hoshi
36b7b85477 examples: change the name convention: Num -> Count 2022-07-13 02:02:48 +09:00
Hajime Hoshi
5f17264c74 ebiten: rename Gamepad(Axis|Button)Num -> Gamepad(Axis|Button)Count 2022-07-13 01:27:14 +09:00
Hajime Hoshi
bd72ca971e examples/shader: bug fix: the CRT example crashed 2022-07-09 22:29:59 +09:00
Hajime Hoshi
be356390e0 examples/gamepad: add vibrations 2022-07-09 16:58:54 +09:00
Hajime Hoshi
75e84f6eda audio/mp3, audio/vorbis, audio/wav: add DecodeWithoutResampling
Updates #2055
2022-07-01 01:46:37 +09:00
Hajime Hoshi
4836266c2b examples/tiles: improve readability by calculating tileXNum on the fly 2022-06-10 23:54:45 +09:00
Hajime Hoshi
2c4ac5625b examples/flappy: add GoMain when Windows+Cgo
This is a hack to compile the example with -buildmode=c-archive (.a).

Updates #2084
2022-05-02 22:46:26 +09:00
Hajime Hoshi
b1bcbbeeea ebiten: add comments at DrawTriangles 2022-04-26 23:23:31 +09:00
Julian Merkle
d68f770561
examples/stars: refactor (#2070)
Minor adjustments because of:

* Function abs(int) is unused.
* Color fields are assigned without explicit names
* Color variable shadows the color package name
2022-04-13 18:42:04 +09:00
Hajime Hoshi
8f524b5c23 examples/vibrate: refactoring 2022-04-12 00:11:11 +09:00
Hajime Hoshi
55447679ee examples/vibrate: bug fix: touches didn't work correctly 2022-04-12 00:05:55 +09:00
Hajime Hoshi
699b58c02b examples/flappy: bug fix: touches didn't work
Closes #2067
2022-04-11 10:44:41 +09:00
Hajime Hoshi
b53f93c614 examples/windowclosing: update the message 2022-04-11 01:10:48 +09:00
Hajime Hoshi
e4d6381452 examples/fullscreen: forbid quiting on browsers 2022-04-10 20:04:52 +09:00
Hajime Hoshi
535e64f2bf examples/audioinfiniteloop, examples/audiopanning: avoid resamplings 2022-04-10 19:41:44 +09:00
Hajime Hoshi
a65631bccc examples/spriteshd: remove a call of SetWindowSize 2022-04-10 19:15:39 +09:00
Hajime Hoshi
648c8ed1f9 examples/flappy: use DecodeWithSampleRate instead of Decode 2022-04-10 14:55:48 +09:00
Hajime Hoshi
9b7328442b examples/minify: reorder renderings 2022-04-09 23:27:58 +09:00
Hajime Hoshi
d6fe8ed694 examples/fullscreen: handle F key to enter fullscreen
On browsers, fullscreen requires an explicit user input.
2022-04-09 16:23:23 +09:00
Hajime Hoshi
063960c9bd examples/font: simplify the logic 2022-04-09 16:08:20 +09:00
Hajime Hoshi
d58ef294b2 examples/text: add leading space characters 2022-04-04 00:18:35 +09:00
Hajime Hoshi
7a33837ed7 audio: change the type of SetBufferSize to time.Duration
Updates #2026
2022-03-25 20:47:01 +09:00
Hajime Hoshi
08783542eb audio: add Player.SetBufferSize
This change also adds examples/realtimepcm.

Closes #2026
2022-03-25 19:27:25 +09:00
Bertrand Jung
2453f8f0df
examples/shader: add CRT shader example (#2012)
Closes #2008
2022-03-10 00:02:07 +09:00
divVerent
99aef33970
examples/blur: fix the blur filter example to be a real box blur. (#2000)
Also add a note that this is not how games should implement a blur if avoidable.

Krita's blur and the original blur:
https://rm.cloudns.org/img/uploaded/29c0418f25bf56b802f746d2f269e215.png
The original image and the new blur (Krita's): 
https://rm.cloudns.org/img/uploaded/bd04828baf6c01fcf7301a6672a4c406.png

Note how Ebiten's blur has almost no vertical component.

Note how after the change it looks basically like Krita's.
2022-02-24 03:15:52 +09:00
Hajime Hoshi
2c2c4bc428 ebiten: add WindowResizingModeType and its constants and functions
This allows a new state to disallow resizing the window but allow
making the window fullscreen on macOS by a user.

This change adds the new type WindowResizingModeType. There are
these constants of this type:

 * WindowResizingModeDisabled
 * WindowResizingModeOnlyFullscreenEnabled
 * WindowResizingModeEnabled

Closes #1819
2022-02-11 04:59:04 +09:00
Hajime Hoshi
35b9dd0846 internal/ui: give up SetWindowAspectRatioFixed
Unfortunately, it is almost impossible to provide a consistent behavior
to keep the aspect ratio of the window on Windows. Instead of having an
incomplete API, let's remove this.

Closes #1988
2022-02-10 18:35:00 +09:00
Hajime Hoshi
891ca2a08d ebiten: add IsWindowAspectRatioFixed
This also updates examples/windowsize.

Closes #1804
2022-02-09 20:06:18 +09:00
Hajime Hoshi
7482cae978 internal/ui: bug fix: the aspect ratio must be updated whenever the window size is forcibly updated
This also adds a new flag -aspectratiofixed to examples/windowsize

Updates #1804
2022-02-09 19:56:50 +09:00
Hajime Hoshi
fb3a022327 ebiten: use the DB's name for GamepadName
Updates #1949
2022-01-25 21:14:03 +09:00
Hajime Hoshi
210036a5a5 examples/gamepad: do not get an SDL ID from a disconnected gamepad
The result of ebiten.GamepadSDLID should not be reliable for a
disconnected gamepad.
2022-01-22 21:27:58 +09:00
Elias Daler
12c144070f
internal/uidriver/glfw: fix window float enable/disable (#1962)
Closes #1960
2022-01-17 00:28:25 +09:00
Hajime Hoshi
e687865c8c ebiten: add ColorM.ScaleWithColor
Updates #1944
2022-01-10 17:36:46 +09:00
Hajime Hoshi
245cbc2f4d examples/vibrate: bug fix: compile error
Updates #1452
2022-01-10 16:19:33 +09:00
Hajime Hoshi
3b0ce21a56 Revert "internal/graphicsdriver: bug fix: render semi-transparent vectors correctly"
This reverts commit 202f642395.

Reason: TestImageEvenOdd failed

Updates #1933
2022-01-06 03:19:46 +09:00
Hajime Hoshi
202f642395 internal/graphicsdriver: bug fix: render semi-transparent vectors correctly
Closes #1933
2022-01-06 03:00:25 +09:00
Hajime Hoshi
583c2cf17e examples/resources: reorder items 2021-12-31 05:30:37 +09:00
Jacob Salmela
e77985139b
examples/resources: bug fix: add a missing item Spritesheet_png (#1924)
the Spritesheet_png was not included with go generate so this adds that in

Signed-off-by: Jacob Salmela <me@jacobsalmela.com>
2021-12-31 05:28:41 +09:00
Hajime Hoshi
13c2d38b97 examples/flappy: add main_cbackend.go 2021-12-30 03:02:11 +09:00
ebiiim
4d988b2457
examples/airship: chore: fix typo (#1907) 2021-12-20 21:54:24 +09:00
Hajime Hoshi
12b5a6c3d6 examples: update README 2021-12-13 11:55:08 +09:00
Hajime Hoshi
39ef252c2e
ebiten: Add VibrationOptions to specify intensity (#1891)
Updates #1452
2021-12-04 22:14:02 +09:00
Hajime Hoshi
b4f87f9651 internal/uidriver/mobile: Implement Vibrate for Android
This change also adds AndroidManifest.xml for the example. This is
used for `gomobile install` command.

Updates #1452
2021-11-19 01:49:22 +09:00
Hajime Hoshi
732b125349 text: Add AppendGlyphs and Glyphs
Closes #1767
Closes #1871
2021-11-12 02:31:53 +09:00
wasedaigo
851733397e
examples/audioinfiniteloop: Use const to represent bytePerSample (#1867)
Co-authored-by: wasedaigo <daigo@odencat.com>
2021-11-08 15:52:53 +09:00
Hajime Hoshi
2aa232878d ebiten: Add VibrateGamepad and implement this on browsers
Updates #1452
2021-10-25 02:30:42 +09:00
Hajime Hoshi
7c6f2fd799 ebiten: Vibrate takes time durations instead of the options
Android and browsers can specify only a time duration for vibration.

VibrateOptions is renamed to GamepadVibrateOptions for gamepads.

Updates #1452
2021-10-24 05:02:49 +09:00
Hajime Hoshi
b8a5ea7bd6 ebiten: Add Vibrate and VibrateOptions, and implement this on browsers
Updates #1452
2021-10-24 01:05:33 +09:00
r3vit
57c45a13e4
Remove dot imports from tests - Remove dot imports (#1837)
Closes #1824
2021-10-02 19:58:48 +09:00
Hajime Hoshi
3c8c17eace examples/isometric: Recreate the offscreen when the screen size changes 2021-10-02 13:00:33 +09:00
Hajime Hoshi
0f363615b7 examples/isometric: Update the comment 2021-10-02 12:57:33 +09:00
Hajime Hoshi
291f5b89b8 examples/isometrics: Use an offscreen for a better result 2021-10-02 12:53:49 +09:00
Hajime Hoshi
84f2571ee1 examples/isometric: Refactoring 2021-10-02 09:28:18 +09:00
Hajime Hoshi
b78aef480e examples/isometric: Refactoring 2021-10-01 11:51:25 +09:00
Hajime Hoshi
2f33366f5f examples/isometric: Simplify the logic 2021-10-01 11:42:31 +09:00
Hajime Hoshi
f3318a2cec examples/isometric: Do not create an ebiten.Image every frame 2021-10-01 11:36:38 +09:00
Hajime Hoshi
234a3d8d2a examples/isometric: Remove unused variables 2021-10-01 11:15:52 +09:00
Trevor Slocum
1019e15ccd
Add isometric demo (#1823)
Based on a prototype by Justin Cichra (@jrcichra).

Closes #1112
2021-10-01 11:10:48 +09:00
Hajime Hoshi
52d917eff0 go generate 2021-09-25 03:45:17 +09:00
Hajime Hoshi
0d673a68ab examples/blocks/blocks: Support standard gamepad axes 2021-09-24 23:35:01 +09:00
Hajime Hoshi
159bc8dda1 examples/stars: Reduce the window size 2021-09-24 01:55:18 +09:00
Hajime Hoshi
2b6debf960 examples/windowsize: Bug fix: Wrong comment 2021-09-23 21:40:10 +09:00
Hajime Hoshi
f00bdc99f7 examples: Change the sample rate to 48000
Closes #1649
2021-09-23 01:36:00 +09:00
Hajime Hoshi
07c8cb0e23 examples: Misspelling (//go:generated -> //go:generate) 2021-09-20 15:23:43 +09:00
Hajime Hoshi
537bdb29f8 examples: Update comments 2021-09-20 15:16:09 +09:00
Hajime Hoshi
39dc58658f examples/windowsize: Add -autorestore
Closes #1610
2021-09-19 17:50:55 +09:00
Hajime Hoshi
69300f0c4e examples/windowsize: Rename -screentransparent -> -transparent 2021-09-19 17:49:03 +09:00
Hajime Hoshi
42cd923418 ebiten: Add FillRule
Closes #1715
2021-09-19 17:17:00 +09:00
Hajime Hoshi
4509f2aee4 text: Add FaceWithLineHeight
Closes #1760
2021-09-12 22:56:14 +09:00
Hajime Hoshi
82c41cea39 examples/gamepad: Fix the layout 2021-09-12 21:09:13 +09:00
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