Commit Graph

357 Commits

Author SHA1 Message Date
StapleButter
4db1a51fa4 add Platform thread/semaphore support, using SDL 2017-09-19 15:39:41 +02:00
StapleButter
62405cde0a change final framebuffer format (again. sorry.) to xRGB, more compatible 2017-09-19 15:39:00 +02:00
StapleButter
8d79355f2e libui: add cairo bitmap code (preliminary). fix bug where putting a draw area directly in the window caused it to be tiny. 2017-09-19 02:22:07 +02:00
StapleButter
5979ab2eb2 libui: fix bug with filepicker filters under GTK. add skeleton for bitmaps. add the right cmake shit. 2017-09-19 00:36:25 +02:00
StapleButter
f30e19a2ec touchscreen input 2017-09-17 23:36:28 +02:00
StapleButter
8e7d46e717 * attempt at keyboard input, via raw scancodes
* load config, etc
* some things are nicer, too
2017-09-17 23:25:32 +02:00
StapleButter
66106a8829 sound 2017-09-14 17:06:41 +02:00
StapleButter
d463f8252d * build settings for Release
* fix off-by-one error in bitmap drawing
2017-09-14 02:30:11 +02:00
StapleButter
ba113d0ca9 actually run the emulator 2017-09-14 00:56:52 +02:00
StapleButter
f18690487c start working on API to draw bitmaps
lay out emu thread
2017-09-14 00:30:12 +02:00
StapleButter
62a26977c7 libui: primp file picker dialogs
* support for filters, for Windows (tested) and GTK (theoretical)
* add extra parameter for setting the start directory, but not supported yet
2017-09-11 15:56:52 +02:00
StapleButter
08ed0f3229 are you dense, TortoiseGit 2017-09-09 03:28:56 +02:00
StapleButter
dbcec7efb4 actually take it somewhere 2017-09-09 03:23:02 +02:00
StapleButter
70e4841d31 another UI attempt, I guess.
sorry.
2017-09-09 02:30:51 +02:00
StapleButter
81747d6c34 readme update 2017-08-29 18:17:44 +02:00
StapleButter
c9ac08aa5b 3D: blend translucent pixels with bottom pixels when needed.
fixes antialiasing within shadows, under translucent polygons, etc
2017-08-28 22:19:49 +02:00
StapleButter
183b8b58e0 3D: move shadow mask rendering to separate function, optimize it (it doesn't need to interpolate all vertex attributes) 2017-08-28 20:27:56 +02:00
StapleButter
ee6daa0e62 fix antialiasing along Y-major edges 2017-08-28 18:48:06 +02:00
StapleButter
2e23ae54b2 3D:
* more accurate polygon edges (still not perfect. heh)
* antialiasing (doesn't always work)
2017-08-28 18:37:07 +02:00
StapleButter
d656e6e7ff 3D: faster and more accurate interpolation 2017-08-17 23:34:37 +02:00
StapleButter
bc1385e905 3D: revise fog calculation to match hardware (emulate precision loss and overflow with big shifts) 2017-08-16 22:20:53 +02:00
StapleButter
0106406aff * allow 128KB firmwares (DSi/3DS dumps)
* document firmware sizes better
2017-08-05 19:13:55 +02:00
StapleButter
4a899ebe3f 3D: fix culling. fixes #86. watch out for any missing polygons elsewhere. 2017-07-24 01:06:08 +02:00
StapleButter
51d29c8804 dgfhtrydthg 2017-07-23 18:43:22 +02:00
StapleButter
82e42c5be7 2D: mosaic
sprites might be mosaiced wrong, esp. rotscaled ones. blrgdfgdf
2017-07-23 18:36:00 +02:00
StapleButter
e6f5507c9e add some more GPU IO 2017-07-23 15:31:09 +02:00
StapleButter
f869975a51 implement 8bit writes to DISPCNT/BGCNT/BGPOS
fixes #98
2017-07-23 01:39:21 +02:00
StapleButter
0df3a29374 * FPS counter displays target framerate
* fix potential hang and out-of-bounds drawing when VCount is modified during drawing
2017-07-21 10:19:56 +02:00
StapleButter
cfb9e20fe1 * bump version number
* BLDALPHA is readable
2017-07-16 03:47:44 +02:00
StapleButter
08bdef481f add setting for whether to bind the wifi socket to any address or to loopback only 2017-07-16 00:57:26 +02:00
StapleButter
bb963c35a4 while we're at it: emulate div/sqrt timings 2017-07-15 19:46:27 +02:00
StapleButter
0d58fcb5d6 add basic response for Pokémon IR transceiver (SPI command 08). lets your pokémon gain EXP. 2017-07-15 19:34:35 +02:00
StapleButter
cb0e026ec1 implement transfer delays for both SPI busses
also make microphone input return 0x800
2017-07-15 19:29:10 +02:00
StapleButter
6b6389fbb4 separate polygonID attributes for opaque and translucent pixels.
rendering translucent pixels preserves opaque polygonID and edge flags for edgemarking.

fixes edgemarking malfunctions, like #80 or black dots in Pokémon games
2017-07-15 15:24:25 +02:00
StapleButter
d978603852 3D: fix Z calculation in Z-buffering mode (should use original W, not normalized one). fixes horrendous Z-fighting in Pokémon games. 2017-07-14 18:35:34 +02:00
StapleButter
cd6ecfc21f apply the interpolation fix to Z interpolation.
more accurate conversion of Z values.

but this doesn't fix the horrendous Z-fighting in Pokémon B/W because of course it doesn't >_<
2017-07-14 04:49:29 +02:00
StapleButter
e1926d6e97 2D: fix blending against the 3D layer or bitmap sprites (when those are second target)
fixes #68
2017-07-14 00:32:25 +02:00
StapleButter
04172f47de fix potential overflow in fog density calculation 2017-07-14 00:12:35 +02:00
StapleButter
a1401e724c * actually fix linear interpolation when y0>y1
* change the backfacing attribute bit, so that it doesn't mess with edgemarking
2017-07-13 23:09:42 +02:00
StapleButter
800540b710 attempt to fix interpolation when y0>y1 2017-07-10 13:31:05 +02:00
StapleButter
8f031f698b normalize W values in both directions (0123-0157 -> 1230-1570) 2017-07-06 18:54:51 +02:00
StapleButter
3aa83ae641 3D:
* undo 'winding sorting' hypothesis
* special depth test rules: 'less than' function becomes 'less or equal' when rendering front-facing polygon pixels against back-facing opaque pixels
2017-07-06 18:38:13 +02:00
StapleButter
b29b128a1b 2D: fix rotscaled bitmap sprites (dumb bug of the year).
fixes #41 and #34
2017-07-06 12:17:45 +02:00
StapleButter
dc32613028 3D: opaque polygons are sorted by winding order
the Sands of Destruction character menu relies on this, it mixes and matches polygon windings to thwart Y-sorting
2017-07-06 02:02:30 +02:00
StapleButter
d357b1c2ac apparently they suck at keeping their SDL distributions up to date 2017-07-05 21:37:28 +02:00
StapleButter
4a992dbfd7 ... maybe it's better this way????? 2017-07-05 21:29:30 +02:00
StapleButter
599103486c cmake: attempt to add C++11 support. 2017-07-05 21:17:15 +02:00
StapleButter
93ab7064b2 2D: implement large BG, fix non-large bitmap BG. fixes #61 2017-07-05 19:31:13 +02:00
StapleButter
678ae00e0a support 16-bit reads to the div/sqrt registers 2017-07-05 18:46:19 +02:00
StapleButter
d5376b4184 3D: Y-sorting 2017-07-05 18:38:10 +02:00