(Huge change: NO_MIDI is now a define, simply because that makes it easier for me to resolve merge conflicts if I can see the original code and the new code. Also means that people who REALLY miss MIDI can compile & fix it themselves :P)
* Objects!
* Gone is the arcane, difficult-to-remember list of random flags. Say hello to MF_DONTENCOREMAP!
* Alternatively, if the object has a skincolour applied to it, it isn't encoremapped either. (Useful for ghosts, for example.)
* Sectors!
* The autodetecting of sneaker and spring panels is now much more intelligent, and only avoids remapping the plane(s) the effect is availible upon.
* Sector special group 2 no. 15 is now "Invert Encore Remap". It inverts the above detection.
* Linedefs!
* The "Transfer Line" linedef flag can now also be used to deny Encore remappings on linedef textures.
* Right now it applies to every pixel drawn specifically belonging to that linedef, but if people decide it needs changing, we CAN make it apply to midtextures only (like linedef types 900-910).
* Palette remaps.
* Branding.
TODO:
* Doesn't work in GL. (Mostly.) I have SOME ideas on how to tackle this, but...
* Transmaps are broken in Encore for some reason.
* I tried to make in-level colormaps shimmy over, but it didn't quite work, so I commented it out and only semi-fixed it.
Additionally, place some optimisations in both software and OpenGL; in particular one has been added for when all of back and front sector (floor and ceiling) is sky: since everything is "open" anyway, we can simply the usual checks involved.
Thankfully it was really just a copy+paste of the code I already tinkered with for the normal ceiling sky based thok barriers, but tweaked for floors instead
(I suspect polyobject planes don't actually need the minx/maxx hacks anymore, but I haven't the time to test that tonight nor is this branch really suited for it anyway)
* Thok barriers with slopes now render fine in software
* The solid "sky walls" between different-height thok barriers adjacent to each other are gone. Forever.
Skewing direction is decided per in-level wall by the Lower Unpegged flag on in-level linedefs themselves, since they already decide the stuff for FOF wall pegging as it is. That is unless Transfer Line is involved which moves everything to the control sector linedefs instead...
This fixes the grid floors in TD's Lava Mountain freezing the game if they go off the bottom of the screen far enough (they have ACWRFL1A as the wall texture, which is a single patch texture with holes)
Multi-patch texture support for transparency AND translucency
Fixes the transparent bits of the multi-patch glass texture in THZ1 turning cyan when linedef types 900-908 are applied for translucency
See merge request !56
*Added FLIPX/FLIPY support for multi-patch textures and single-patch textures without holes
*Added FLIPY support for single-patch textures with holes; I'll sort FLIPX support out later
FOF wall slope skewing
FOF walls now can optionally skew with respect to slopes (software mode only currently):
* Upper Unpegged on the CONTROL linedef enables wall skewing
* Lower Unpegged on the IN-LEVEL linedefs ^1 determine which slope to skew with respect to (off = top slope, on = bottom slope)
* If Transfer Line is used however, Lower Unpegged on the control sector's linedefs does the above's job instead
^1 (this is because they already control pegging of individual FOF walls as it is, so this is for convenience and my sanity that they also deal with skewing)
See merge request !39
Skewing direction is decided per in-level wall by the Lower Unpegged flag on in-level linedefs themselves, since they already decide the stuff for FOF wall pegging as it is. That is unless Transfer Line is involved which moves everything to the control sector linedefs instead...