Okay guys, new versions of both 32 and 64 bit builds of EDGE available:
https://devbuilds.drdteam.org/3dge/
Lots of changes here, mostly in the utility code. Modders will be happy because
some of the archaic utility code that was replaced -- grAb now functions as it
should across all PNG images no matter if they are HUD, Entity, etc etc. FINALLY,
right?? =)
This has a lot to do with us ripping out EDGE's reliance on external libraries
to do its image decoding - with us transitioning to a far smaller, more modern,
and safer image header, we not only got a lot of the image problems worked out
from old bugs, but we now support a LOT more image types than we did previously:
IMAGES.DDF
In addition to PNG and JPEG, we also now support
BMP, PSD, GIF, HDR, PIC, PNM, and animated GIFS.
So needless to say, image code has improved by a ton! Most of all, the best part about
this is that EDGE figures all of this out automatically. So entering these into IMAGES.DDF is a
little different, though there is still a need to define PNG specifically if grAb structs are used.
The old way would have been:
Code: Select all
[gfx:EDGETTL]
IMAGE_DATA = LUMP:TYPE:"JPEG001";
Where 'TYPE' would have to EXPLICITLY be defined as JPEG or otherwise -- not so anymore.
We have introduced a new 'TYPE', called
'EXT', which leaves the image format open for EDGE
to do automatic interpretations - as long as the format is any of the listed above, you would
just use :EXT: and let EDGE sort out the rest. I have kept the old JPEG/JPG handles for backward
compatibility concerns.
PNG will still have to be explicitly defined if you are using PNGs with grAb structs! That part is not
altered, but for normal PNG images - 'EXT' is sufficient. EXT is a catch-all kind of thing so it will
definitely be much easier than having to remember format definitions all of the time.
COAL
Another big introduction is the REMOVAL of setting camera bobbing in DDF. The new way, now, is a COAL
function (which you can see in coal_hud.ec as per the new builds) which can set it:
cam.set_vert_bob(1.0)
cam.set_roll_bob(0)
Putting both of those values in COAL to 0 will disable bobbing completely. But, we now introduced camera
rolling! It can either be called by itself, or referenced in other PLAYER modules inside of coal_hud.ec. So, for
instance, if you are wanting to do QUAKE-style strafe rolling with the camera, you would use this new function
that we have also written:
player.get_side_move() [in the API, it is called function get_side_move() : float = native]
That is basically a float, either 1 or 0. So say, you set up a function that activates when player.get_side_move
in conjunction with the math.floor stuff (for x, y, and x). You can call it to basically roll the camera side to side,
exactly like QUAKE does (and very similar to Nash's ACS script) by writing a new function for it. Most of you who
have done math in COAL know this already, but it's a welcoming addition and just a step forward for us to have total
control over camera movements.
OTHER
Other improvements we have made is in the shader code, sceensize adjustment (changing resolutions works again, but
changing from window -> fullscreen or back again does cause a bit of a delay). We have also re-introduced fixed
code for ACTION3 and ACTION4.
There are other things we are quickly implementing (OpenAL replacing SDL2 for audio support, which will bring other
benefits like reverbs/echos, etc), Terrains.ddf for customization of terrain sounds/actions, and Wolf3D/ROTT native
support. We are also looking into improving Multiplayer and hoping to eventually get online play working. We are also
planning on retiring glBSP for ZDBSP, which is proven for EDGE to both increase framerates in larger levels, and eliminates
rendering gaps/errors on surfaces. Oh, and audio module support (dreamcast EDGE has this already) - so you could use
MOD, IT, XM, and all those kinds of things for music playback if desired.
There's a few more things that have been added, but I can't remember.
@Ceejay: We are working on your autoaiming code, don't worry! But at least you'll be happy to know grAb has been fixed now,
even for Crosshairs/et all.
Try it out and get back to me! We are very close to releasing the first full EDGE release in a few years, so we want to make sure
new features work great, old bugs are fixed, and overall stability is solid. Please don't hesitate to let us know of any concerns or
bugs/issues!