68 Commits

Author SHA1 Message Date
DramaticShape a8c2d8ce5b menu fix, sky rendering, pokedex size 2026-08-02 13:10:20 -04:00
DramaticShape 395f51d268 fixed dll paths for vr 2026-08-02 12:29:14 -04:00
DramaticShape 1fa29a831f update sky rendering, select button changes views 2026-08-02 12:16:03 -04:00
DramaticShape 44f729e8c2 battle effect fixes 2026-08-02 11:26:54 -04:00
DramaticShape f1063abd0f add vr 2026-08-02 02:42:31 -04:00
DramaticShape 3f7210bfcd mobile spin fix 2026-08-02 01:20:39 -04:00
DramaticShape 9ef8644bff add first person mode 2026-08-02 01:16:42 -04:00
DramaticShape e6d4059c38 fix water again on android 2026-08-02 00:53:38 -04:00
DramaticShape a7c9541ac4 pokecenter machines, water occlusion 2026-08-02 00:01:39 -04:00
DramaticShape 91cc2d6f51 bills, pewter gym, register, celadon mansion, tables, garbage cans 2026-08-01 23:48:23 -04:00
DramaticShape 47363b8d23 iterate version 2026-08-01 16:41:03 -04:00
DramaticShape 752653e243 update oak's pc 2026-08-01 16:20:04 -04:00
DramaticShape 6887f5d951 updates to oak's lab 2026-08-01 16:03:32 -04:00
DramaticShape a140980b1d seal transparent back sprites 2026-08-01 15:19:26 -04:00
DramaticShape 980383bb92 update battle water 2026-08-01 00:28:54 -04:00
DramaticShape 22b58e27a4 fix android water shading 2026-08-01 00:13:01 -04:00
DramaticShape 98f7419b72 fix water for android glsl shaders 2026-07-31 23:39:05 -04:00
DramaticShape 8f38aeb36e water updates 2026-07-31 23:05:54 -04:00
DramaticShape 9a9441899a first pass at water 2026-07-31 22:54:16 -04:00
DramaticShape 775757b2d6 account for dpi issues on updated 3d battles 2026-07-31 13:51:54 -04:00
DramaticShape 4da8e5dc3e add day/night filter to 2d 2026-07-30 22:36:59 -04:00
DramaticShape d9a000d7ad add back sprite option for 3d battles 2026-07-30 21:52:54 -04:00
DramaticShape f12b564dcd moved route 1 battle location again, added transparency to bottom battle menu 2026-07-30 21:34:25 -04:00
DramaticShape eabc8af716 android fix for day night cycle issue 2026-07-30 00:04:52 -04:00
DramaticShape 14f844ad8e fix issue with fight transition in oak's lab 2026-07-29 23:13:36 -04:00
DramaticShape 284172db7b add clock sync option 2026-07-29 22:50:54 -04:00
DramaticShape 6d27d91411 fix glinting on windows and striping 2026-07-29 22:43:20 -04:00
DramaticShape 9c263f0937 glass masking 2026-07-29 22:23:21 -04:00
DramaticShape 7e3245a9ef more shadow fixes, fix tree borders 2026-07-29 22:23:08 -04:00
DramaticShape 18857e039a fixed disconnected shadows 2026-07-29 21:51:42 -04:00
DramaticShape f841378330 add day night cycle 2026-07-29 21:42:34 -04:00
DramaticShape 6d7a93dbad remove voxel grid from overworld sprites 2026-07-29 20:09:18 -04:00
DramaticShape e14953c78a mitigate diagonal shadow artifacts 2026-07-29 20:06:18 -04:00
DramaticShape 8dc046f72e add skybox 2026-07-29 19:53:12 -04:00
DramaticShape c3ba10e17a added battle transition into overworld 2026-07-29 19:09:48 -04:00
DramaticShape 41a86b5fb2 second pass at indigo plateau 2026-07-29 19:03:11 -04:00
DramaticShape 9a34ba9c77 force 3d battle ui, initial victory road updates 2026-07-29 18:45:00 -04:00
DramaticShape 8e7a80055d fix couch man 2026-07-29 17:36:03 -04:00
DramaticShape 60d5362c89 fix couch man 2026-07-29 15:44:52 -04:00
DramaticShape 3c1781f6b1 fix vertical line in battle sprites 2026-07-29 15:35:28 -04:00
DramaticShape d8d1d7e336 fix white screen flash on shake on versions > 1.3.0 2026-07-28 16:10:58 -04:00
DramaticShape 2e0ae37bcd fixed full screen flashing in battles 2026-07-28 15:22:13 -04:00
DramaticShape 2447046aee set FULL tilt to 35 2026-07-28 14:00:03 -04:00
DramaticShape 5781c28b60 added FULL menu option for voxel mod 2026-07-28 13:37:19 -04:00
DramaticShape 6280cdffe7 Added overworld battles 2026-07-28 13:01:38 -04:00
DramaticShape 6d7e1c51ae gym entrance mat lies flat; fence posts never ride a support
The mat inside every gym door ($06 over $16, 28 placements and nowhere
else) is drawn from straight above, but $06 had been swept into the wall
band -- so the mat's top half stood as a 16px box in the doorway, and the
cell rule could not save it because a pin outranks the cell. Both halves
are now pinned ground.

And the `post` pool no longer takes the support lift. A post stands IN
the ground by definition rather than on top of something, but its cell is
blocked like any other post, so the blocked-cell test that separates
furniture-top props from floor seats cannot tell it apart. Pinning the
cliff slope chain gave posts along a cliff edge an authored box to their
south and hoisted them onto the clifftop.
2026-07-27 11:08:59 -04:00
DramaticShape 56a32f1c43 console class: a machine on furniture, without the furniture's edging
The Poke Mart register shares its two tiles with the counter, which draws
a full-height black rule down each outer edge. Black always survives the
shade flood, so the billboard pool extruded those rules too and the
machine stood flanked by a pair of tall black slabs.

A white column separates them from the register body, so they are their
own connected components -- which is exactly what `cutout`'s one-object
contract drops. `cutout` is a single voxel though, and a register wants
body, so this adds `console`: the billboard treatment at ten voxels with
that same contract. It cannot be the default for the thick pools,
because a cluster there may legitimately hold several objects (two
stools side by side, a leaf beside a vase).
2026-07-27 10:49:43 -04:00
DramaticShape d229622b09 conditional pins must not mark the shared class shape authored
A `when_above` match returned shapes.classes[class] after setting
.authored on it -- but those canonical shapes are SHARED, and
shapes.classes.wall is the very object rule 4 hands every unauthored
solid tile. Marking it authored made all of them return early from
TileShape.at, skipping the cell rules, so walkable floors stopped
flattening: the gate houses came out as a checkerboard of raised blocks
with the room's floor standing 16px.

Conditional pins now resolve to their own authored shape per class,
built alongside the canonical ones and kept apart from them.
2026-07-27 10:35:06 -04:00
DramaticShape 326c595336 characters are flat sprite cards; drop the voxelized sprite path
Every figure is now its current 2D frame on one flat quad, the shader's
alpha discard cutting the silhouette. It still faces south and leans by
the camera's pitch, so it reads face-on at every tilt as before.

Removes the contoured slab and the carved visual-hull models --
lib/VoxelModels.lua, tools/build_voxels.py and ~70 generated files under
assets/voxels/ (2 MB). A sprite is a drawing, not an object seen from one
side: Gen 1's overworld figures are 16x16 icons with a fixed front-on
reading, and solidifying one invents a body the artist never drew. Those
files were also the one place this mod carried a description of the ROM
art, since a carve records a sprite's silhouette pixel for pixel.

The card needs no pixel access, and the solid draw, the sun pass and the
player's occlusion silhouette now share one mesh -- which the inverted
depth test the silhouette uses requires, since self-overlap would repaint
the figure on open ground. overrides/voxels/<name>.lua still wins where a
mod ships one.
2026-07-27 10:31:22 -04:00
DramaticShape 2ff518a6d1 stop a second tower stamping behind the Pokemon Tower
The tower's twelve ROUTE_10 rows are `gabled_block_6x6` tile for tile --
the artist drew the top of the tower as an ordinary six-cell block -- so
that template matched at (24,132) and stood a whole second building
behind it. Templates were matched and stamped independently, with
nothing stopping two grids claiming one drawing.

Placement is now first-claim-wins: a template never stamps into cells
another already claimed, which makes the list order the priority order.
The tower's own two templates move to the front so they take those
cells first.

Also corrects the split: the Route 10 half is TWELVE rows, not eight --
the 64px purple roof band plus two window courses -- so topRows and the
claimOnly twin now carry all of it, and the model is the complete
twenty-row drawing (96px facade under a real 64px roof). Both templates
verified to place exactly once world-wide.

The mound probe gains a MOUND_LEVEL knob; the low rungs are where this
was visible.
2026-07-27 04:52:52 -04:00