Skip to content

ReyEngine v0.4.3-beta

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Sep 12:50
· 194 commits to main since this release

A release about the things you look at and the things you grab. New icon art for both viewports, a transform gizmo that is solid and stops growing in your face, markers that hide behind the wall they are behind — and the two windows that bring content in got the work they needed: Add Mesh can finally be used on a real map, and the Workshop has a shelf of your own.

Added

  • A Workshop shelf of your own. Import one or more legacy .troybin effects, or pick the particles out of any custom materials.bin or skin .bin, and keep them beside Riot's catalogue. Deletable, and they survive a patch — the catalogue next to them is rebuilt from nothing whenever Riot's wads change, which is exactly why yours cannot live in it. Entries point at your files rather than copying them, so editing the source and reopening the Workshop shows the edited effect, and a file that has moved says so instead of quietly disappearing.
  • Meshes on that shelf too. Shelve geometry out of a .mapgeo, .fbx, .glb, .gltf, .obj, .scb, .sco or .skn and add it to the map later. "Add mesh to map" opens Add Mesh on that file with that mesh ticked, because the material question is not optional and that window is where it is asked properly.
  • .skn is a mesh you can import. A champion's SimpleSkin comes in as plain geometry with its skeleton dropped — a map has no skeleton to bind it to. Each submesh arrives separately, so Aatrox's wings, body, sword and shoulder are four pickable pieces with four material cards.
  • Point-light range. A wire ball at each dynamic point light showing how far it actually reaches — the global radius multiplier folded in, so it is the range the map is lit with and not the raw number in the file. Overlays ▸ Point-light range.
  • Painted viewport icons. Particles, mobs and props, reflection probes, sounds and lights, in both the OpenGL and D3D11 viewports.

Improved

  • Add Mesh works on a real map. A shipping mapgeo is a library, not a model — base_srx offers 600 pieces across 186 materials — and every row used to arrive ticked with no way to filter, so "Add To Map" meant "append the whole source map". There is a search box now (over mesh and material name), select all / none over whatever the search leaves, nothing ticked when the import is clearly a library, and a material card only for the materials your selection actually uses.
  • The original material really comes across. Copying it was offered only when a .materials.bin happened to sit next to the mapgeo, which is never true for one extracted out of a wad; the bin is pickable now, and each material is checked against it so the option appears exactly when it will work. The copy brings its textures with it — without them the material landed structurally perfect and drew untextured, which is what "the material did not come across" looks like from the outside.
  • The transform gizmo is solid, and stays the same size on screen. It was a wireframe scribble that grew without limit as you flew in, until the arrows covered the thing you were placing. Both viewports now draw filled arrows, rings and boxes at a fixed pixel length.
  • Markers are hidden by what is in front of them. They used to be drawn with no depth test at all, so a particle under the terrain showed anyway and a busy map read as a cloud of icons belonging to nothing visible. Overlays ▸ Icons through geometry brings the old behaviour back when you want it. The gizmo is always on top either way.
  • Icons no longer grow without limit as the camera closes in; they are capped at a fraction of the viewport height, which means the same thing on a high-DPI display.
  • Particle list items can be duplicated and removed from their own row, and the emitter fields the editor could not read before now say what they are.

Fixed

  • The NavGrid overlay never drew in the D3D11 viewport. Nothing about it was broken: its upload was written inside the bucket grid's change guard, so it was only ever published when the bucket grid changed identity. Switching the overlay on never reached D3D11 at all. The face-edit selection sat in the same block with the same fault.
  • The debug views work in D3D11. They are if (mode == N) branches inside our own shader in OpenGL, and D3D11 draws with Riot's compiled shaders, which have none — so the modes had nowhere to live rather than a wire missing. All thirteen now render through a generated shader that replaces Riot's for the pass.
  • Every icon in the OpenGL viewport was drawn upside down, and had been since they were introduced. It went unnoticed because every glyph drawn in code was vertically symmetric; painted art made it obvious immediately.
  • A mesh lifted out of a mapgeo is placed where the gizmo is. Each piece used to be measured and positioned as the whole mesh it came from — up to 1,850 units away from where you put it.

Known limits

  • Basic and Riot Approx look identical on most maps, and that is correct. Riot Approx is Basic plus rim, matcap, emissive and specular, each gated per material — and only 2.3% of 9,253 shipped map materials enable any of them (0 of 92 on Map453). Load Map22 and look at an ocean-blend surface to see the difference.
  • In D3D11 those two modes are identical always: both draw Riot's own shader, so there is no approximation to differ from.
  • The depthBiasFactors emitter field is still parked. It is narrowed to one hypothesis — D3D rasterizer bias — and the files cannot settle it.