Working version of Bad Apple using the Ebitengine in golang.
21
go.mod
Normal file
@@ -0,0 +1,21 @@
|
||||
module gitea.ligthert.net/golang/bad-apple
|
||||
|
||||
go 1.25.5
|
||||
|
||||
require github.com/hajimehoshi/ebiten/v2 v2.9.6
|
||||
|
||||
require (
|
||||
github.com/ebitengine/gomobile v0.0.0-20250923094054-ea854a63cce1 // indirect
|
||||
github.com/ebitengine/hideconsole v1.0.0 // indirect
|
||||
github.com/ebitengine/oto/v3 v3.4.0 // indirect
|
||||
github.com/ebitengine/purego v0.9.0 // indirect
|
||||
github.com/hajimehoshi/ebiten v1.12.13 // indirect
|
||||
github.com/hajimehoshi/go-mp3 v0.3.4 // indirect
|
||||
github.com/hajimehoshi/oto v0.6.8 // indirect
|
||||
github.com/jezek/xgb v1.1.1 // indirect
|
||||
golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 // indirect
|
||||
golang.org/x/image v0.31.0 // indirect
|
||||
golang.org/x/mobile v0.0.0-20210208171126-f462b3930c8f // indirect
|
||||
golang.org/x/sync v0.17.0 // indirect
|
||||
golang.org/x/sys v0.36.0 // indirect
|
||||
)
|
||||
82
go.sum
Normal file
@@ -0,0 +1,82 @@
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/ebitengine/gomobile v0.0.0-20250923094054-ea854a63cce1 h1:+kz5iTT3L7uU+VhlMfTb8hHcxLO3TlaELlX8wa4XjA0=
|
||||
github.com/ebitengine/gomobile v0.0.0-20250923094054-ea854a63cce1/go.mod h1:lKJoeixeJwnFmYsBny4vvCJGVFc3aYDalhuDsfZzWHI=
|
||||
github.com/ebitengine/hideconsole v1.0.0 h1:5J4U0kXF+pv/DhiXt5/lTz0eO5ogJ1iXb8Yj1yReDqE=
|
||||
github.com/ebitengine/hideconsole v1.0.0/go.mod h1:hTTBTvVYWKBuxPr7peweneWdkUwEuHuB3C1R/ielR1A=
|
||||
github.com/ebitengine/oto/v3 v3.4.0 h1:br0PgASsEWaoWn38b2Goe7m1GKFYfNgnsjSd5Gg+/bQ=
|
||||
github.com/ebitengine/oto/v3 v3.4.0/go.mod h1:IOleLVD0m+CMak3mRVwsYY8vTctQgOM0iiL6S7Ar7eI=
|
||||
github.com/ebitengine/purego v0.9.0 h1:mh0zpKBIXDceC63hpvPuGLiJ8ZAa3DfrFTudmfi8A4k=
|
||||
github.com/ebitengine/purego v0.9.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200707082815-5321531c36a2/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||
github.com/hajimehoshi/bitmapfont v1.3.0/go.mod h1:/Qb7yVjHYNUV4JdqNkPs6BSZwLjKqkZOMIp6jZD0KgE=
|
||||
github.com/hajimehoshi/ebiten v1.12.13 h1:0WbqwT1dxV0bSVKeSVSscLSM+MsKOw+B0sZSYeAFWek=
|
||||
github.com/hajimehoshi/ebiten v1.12.13/go.mod h1:wMKaKkTVgE/9ryRIxghOmQ1u0ZqjtDs5HUvTNHwCdjs=
|
||||
github.com/hajimehoshi/ebiten/v2 v2.9.6 h1:uP41hMkfcbfEfgiTlpzhgnTHGAAfbM/v/pNOZkelI78=
|
||||
github.com/hajimehoshi/ebiten/v2 v2.9.6/go.mod h1:DAt4tnkYYpCvu3x9i1X/nK/vOruNXIlYq/tBXxnhrXM=
|
||||
github.com/hajimehoshi/file2byteslice v0.0.0-20200812174855-0e5e8a80490e/go.mod h1:CqqAHp7Dk/AqQiwuhV1yT2334qbA/tFWQW0MD2dGqUE=
|
||||
github.com/hajimehoshi/go-mp3 v0.3.1/go.mod h1:qMJj/CSDxx6CGHiZeCgbiq2DSUkbK0UbtXShQcnfyMM=
|
||||
github.com/hajimehoshi/go-mp3 v0.3.4 h1:NUP7pBYH8OguP4diaTZ9wJbUbk3tC0KlfzsEpWmYj68=
|
||||
github.com/hajimehoshi/go-mp3 v0.3.4/go.mod h1:fRtZraRFcWb0pu7ok0LqyFhCUrPeMsGRSVop0eemFmo=
|
||||
github.com/hajimehoshi/oto v0.6.1/go.mod h1:0QXGEkbuJRohbJaxr7ZQSxnju7hEhseiPx2hrh6raOI=
|
||||
github.com/hajimehoshi/oto v0.6.8 h1:yRb3EJQ4lAkBgZYheqmdH6Lr77RV9nSWFsK/jwWdTNY=
|
||||
github.com/hajimehoshi/oto v0.6.8/go.mod h1:0QXGEkbuJRohbJaxr7ZQSxnju7hEhseiPx2hrh6raOI=
|
||||
github.com/hajimehoshi/oto/v2 v2.3.1/go.mod h1:seWLbgHH7AyUMYKfKYT9pg7PhUu9/SisyJvNTT+ASQo=
|
||||
github.com/jakecoffman/cp v1.0.0/go.mod h1:JjY/Fp6d8E1CHnu74gWNnU0+b9VzEdUVPoJxg2PsTQg=
|
||||
github.com/jezek/xgb v1.1.1 h1:bE/r8ZZtSv7l9gk6nU0mYx51aXrvnyb44892TwSaqS4=
|
||||
github.com/jezek/xgb v1.1.1/go.mod h1:nrhwO0FX/enq75I7Y7G8iN1ubpSGZEiA3v9e9GyRFlk=
|
||||
github.com/jfreymuth/oggvorbis v1.0.1/go.mod h1:NqS+K+UXKje0FUYUPosyQ+XTVvjmVjps1aEZH1sumIk=
|
||||
github.com/jfreymuth/vorbis v1.0.0/go.mod h1:8zy3lUAm9K/rJJk223RKy6vjCZTWC61NA2QD06bfOE0=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 h1:estk1glOnSVeJ9tdEZZc5mAMDZk5lNJNyJ6DvrBkTEU=
|
||||
golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190703141733-d6a02ce849c9/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200801110659-972c09e46d76/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.31.0 h1:mLChjE2MV6g1S7oqbXC0/UcKijjm5fnJLUYKIYrLESA=
|
||||
golang.org/x/image v0.31.0/go.mod h1:R9ec5Lcp96v9FTF+ajwaH3uGxPH4fKfHHAVbUILxghA=
|
||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||
golang.org/x/mobile v0.0.0-20190415191353-3e0bab5405d6/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mobile v0.0.0-20210208171126-f462b3930c8f h1:aEcjdTsycgPqO/caTgnxfR9xwWOltP/21vtJyFztEy0=
|
||||
golang.org/x/mobile v0.0.0-20210208171126-f462b3930c8f/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4=
|
||||
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
|
||||
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20220712014510-0a85c31ab51e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
|
||||
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20200918232735-d647fc253266/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
125
main.go
Normal file
@@ -0,0 +1,125 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"embed"
|
||||
"fmt"
|
||||
_ "image/jpeg"
|
||||
"io"
|
||||
"io/fs"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
"github.com/hajimehoshi/ebiten/v2/audio"
|
||||
"github.com/hajimehoshi/ebiten/v2/audio/mp3"
|
||||
"github.com/hajimehoshi/ebiten/v2/ebitenutil"
|
||||
)
|
||||
|
||||
var (
|
||||
// TODO: Make this redundant
|
||||
//go:embed src/frames/output_*.jpg
|
||||
assetsFS embed.FS
|
||||
|
||||
sampleRate = 44100
|
||||
bps = 32
|
||||
brate = 128
|
||||
)
|
||||
|
||||
type Game struct {
|
||||
count int
|
||||
frame *ebiten.Image
|
||||
files []fs.DirEntry
|
||||
audioContext *audio.Context
|
||||
player *audio.Player
|
||||
started bool
|
||||
}
|
||||
|
||||
func (g *Game) Update() error {
|
||||
|
||||
var err error
|
||||
|
||||
g.frame, _, err = ebitenutil.NewImageFromFile("src/frames/" + g.files[g.count].Name())
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
ebitenutil.DebugPrint(g.frame, "src/frames/"+g.files[g.count].Name())
|
||||
|
||||
// Up by one
|
||||
if g.count != 6571 {
|
||||
g.count++
|
||||
} else {
|
||||
return ebiten.Termination
|
||||
}
|
||||
|
||||
// Play Audio
|
||||
if !g.started {
|
||||
g.player.SetVolume(0.7)
|
||||
g.player.Play()
|
||||
g.started = true
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g *Game) Draw(screen *ebiten.Image) {
|
||||
op := &ebiten.DrawImageOptions{}
|
||||
screen.DrawImage(g.frame, op)
|
||||
}
|
||||
|
||||
func (g *Game) Layout(outsideWidth, outsideHeight int) (screenWidth, screenHeight int) {
|
||||
return 480, 360
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
files, err := assetsFS.ReadDir("src/frames")
|
||||
if err != nil {
|
||||
fmt.Println("Error reading embedded directory:", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Do all the audio things. This isn't working...
|
||||
// Create audio context
|
||||
ctx := audio.NewContext(sampleRate)
|
||||
|
||||
// Open MP3 file
|
||||
f, err := os.Open("src/bad-apple-audio.mp3")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
//defer f.Close()
|
||||
|
||||
// Decode MP3
|
||||
stream, err := mp3.DecodeWithSampleRate(sampleRate, f)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Create player
|
||||
player, err := audio.NewPlayer(ctx, io.NopCloser(stream))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
ebiten.SetWindowSize(640, 480)
|
||||
ebiten.SetWindowTitle("Ebitengine: Bad Apple")
|
||||
|
||||
game := &Game{
|
||||
count: 0,
|
||||
files: files,
|
||||
player: player,
|
||||
audioContext: ctx,
|
||||
}
|
||||
|
||||
// Ensure that the image doesn't go twice as fast as it should've.
|
||||
ebiten.SetTPS(30)
|
||||
|
||||
// Play the thing
|
||||
if err := ebiten.RunGame(game); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
fmt.Println("Now go to bed, you are tired...")
|
||||
|
||||
}
|
||||
BIN
src/frames/output_0001.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0002.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0003.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0004.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0005.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0006.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0007.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0008.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0009.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0010.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0011.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0012.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0013.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0014.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0015.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0016.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0017.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0018.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0019.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0020.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0021.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0022.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0023.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0024.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0025.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0026.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0027.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0028.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0029.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0030.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0031.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0032.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0033.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0034.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0035.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0036.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0037.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0038.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0039.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0040.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0041.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0042.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0043.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/frames/output_0044.jpg
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/frames/output_0045.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
src/frames/output_0046.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
src/frames/output_0047.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0048.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0049.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0050.jpg
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
src/frames/output_0051.jpg
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
src/frames/output_0052.jpg
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
src/frames/output_0053.jpg
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
src/frames/output_0054.jpg
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
src/frames/output_0055.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
src/frames/output_0056.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0057.jpg
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/frames/output_0058.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0059.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0060.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0061.jpg
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/frames/output_0062.jpg
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/frames/output_0063.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0064.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0065.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0066.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0067.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0068.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0069.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0070.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0071.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0072.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0073.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0074.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
src/frames/output_0075.jpg
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
src/frames/output_0076.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
src/frames/output_0077.jpg
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
src/frames/output_0078.jpg
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
src/frames/output_0079.jpg
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
src/frames/output_0080.jpg
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
src/frames/output_0081.jpg
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
src/frames/output_0082.jpg
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
src/frames/output_0083.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0084.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0085.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0086.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0087.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0088.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0089.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0090.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0091.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0092.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0093.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/frames/output_0094.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0095.jpg
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/frames/output_0096.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
src/frames/output_0097.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |