Hi all,
Patch 4 Beta 4 was released onto DBDN today and pending findings will be the final version before official release.
Here is a list of whats changed and what's been fixed. This list is not necessarily complete and may change before the public version.
Patch 4
GENERAL
* Fixed bug that caused TYPES and ARRAY TYPES in functions to fail to compile and corrupt variable registers
* Fixed a bug in the executable runner that did not like more than one DBPro program running
* Fixed a bug that causes some models (bird.x) to crash on loading due to multi-material usage
* SET WINDOW ON and SET DISPLAY MODE no longer crashes when new objects are created before or after
* OBJECT IN SCREEN command no longer reports a visible object if it is behind the camera
* SET MATRIX command help now correctly describes a value of one to set the wireframe mode
* Material Colours are now retained during single mesh splitting with all diff/emm/spe/amb retained
* Objects now load even if no texture files are used internally and multi-material meshes are used
* Normal data is correctly transformed when making new meshes from existing limbs and objects
* Fixed transparency effect in the SET MATRIX command so it no longer ghosts, just produces black trasparency
* Matrix now renders correctly when viewed through a reflective surface (SET REFLECTION SHADING ON)
* Reflection Effect now adds clipping improving its flexibility to now be inserted efficiently inside geometry
* Image texture handling when texturing a matrix no longer tries to stretch an ill-fitting image twice
* INTERSECT OBJECT now works properly again and even takes into account the animating limbs of the object
* Reflection Effect further has a blue fill for areas that are not rendered, allowing reverse-sides to be determined
* Main Bounds Radius for visibility culling now adjusts to maximum scale of the object
* Object draw order after the basic overlay phases are now controlled by texture/image index (image 1 draws first, etc)
* Computing the object bound is now more sophisticated in that it uses more code reuse and produces an accurate sphere
* Box Collision in all-object check now handles multiple entity collisions correctly producing better sliding data
* Camera Angle now updated when free flight rotation commands used
* Camera FOV now no longer affects locked objects restoring the fix made in Patch 3
* Shadow creation is now aware of maximum vertex index size on the graphics card avoiding a crash
* Restored transparency mode for matrices so they use the alpha required by PNG and alpha-based images
* Added new transparency mode (2=drawn at ghost layer/1=draw at normal later/0=no transparency)
* Animated models now update their shadows correctly, even bone based animations
* Amended a bug fix from previous beta. Now animated bone animations do not additionally take the frame matrix adjustment
* Both DrawObject and UpdateShadow no longer use Combined if the mesh uses a bone animation system (which has it already)
* Refined box collision to work, while retain better sphere collision on complex models such as bone based models
* Fixed Patch4 problem that caused the BOX GRADIENT command now to fill its colours in correctly
* All registry commands now manipulate LOCAL_MACHINE settings (rather than mixed local machine and current user)
* Bone animation loads in even when single mesh uses multi-material components
Beta4
* Due to new trasparency system and stencil system, particle phase muved before ghost object draw (fixes particle Z issue)
* Ghosting of matrix entities when transparency used now fixed to work just like object transparency
* Ambient Light of Matrix entities correctly adjustable now
* Ambient levels of loaded models now reset to full R,G,B,A for DBV1 compatibility (specific support to follow)
* Specular Effects disabled including specular components of all materials (specific support to follow)
* OBJECT SIZE X,Y,Z now takes into account the scale of the object
* Bone animation models now start correctly on their first frame rather than reset to the matrix identity
* FADE OBJECT works once more, and handles ambient and direct light factors when working out the final visual fade level
* Material Ambience now copied from Material Diffuse for loaded models (for DBV1 and Patch 3.1 compatibility)
* LOCK and UNLOCK now only perform their code only if the lock flag is properly set rather than absolute called each time
* AnimationOptions in the X file format can now determine whether position animation is spline or linear interpolated
* Keyframes are now sorted by time to avoid the animation-skip artifact when data in the original file is not sorted
* Normals are now updated when bone animations are performed on meshes, giving better lighting on respective models
* Brand new mutlmaterial handling code added for bone models, allowing full support for C4D X file exports (so far)
* Models with unusually large animation areas are now culled correctly by pre-calculating largest culling sphere
* Particles once again use the colour fading system that ties with particle lifespans and gives particles colour
* Fixed a long term bug that caused fogged ghosted objects to use the fog color twice (bright ghosts), fog override fixed
* Fixed long terms bugs that caused fogged matrices and particles to be colored twice causing too much brightness
* Fixed important clean-up system for executables prematurely terminated so DBPData folders are not clogging temp folder
* Make and Modify Memblock Mesh now works for meshes that have an index data buffer and also multiple FVF types
* Bug introduced by 3DCP model resurfaced when using APPEND in addition to LOAD, now fixed and bounds recalculated also
* Improved bone animation code to factor in all the skin weights of the bone animation for greater accuracy
* CHANGE MESH now works with meshes by creating a basic solid white texture with the brand new mesh
* GF3 revealed bug that meant VBs where not created big enough to hold all vertex data
* GF3 revealed bug that caused the stencil buffer to retain corrupt stencil data, fixed by forcing a clear operation
* Removed overriding influence of returning double integers from a VAL expression. Compiler enhancement planned to replace.
BUG FIXES THAT AFFECT PATCH 3 MIGRATION
* OBJECT COLLISION and OBJECT HIT now return the ID of the object struck when the second parameter is zero
* LOAD OBJECT for bone based models how retain the root translation data (can now be offcenter) - adjust with OFFSET LIMB
* LOAD OBJECT for limb based models loads the limbs in hierarchial order when indexing so limb values may differ
* OBJECT SPEED, FRAME and INTERPOLATION now return floats rather than integers which may affect code using these commands
* Render State management has been improved so that lighting settings of one object does not affect subsequent objects
* COLOR OBJECT does a complete wipe of the base texture now rather than fill only the diffuse element of the object
* MATRIX TEXTURE TILES are now rotated 180 degrees so that they face the correct orientation in relation to the defaults
* Bug when glue object to model limbs caused a position scaling error, now fixed (revealed in old face demo)
* Bug that reversed the Parent and Child parameters of the LINK LIMB command are now fixed
* Fixed a long standing vertex shader bug which prevented the forth float to be used in the shader in SET V.S VECTOR
* The BOX primitive is created differently so to invert it you must scale 100,-100,100 and not -100,-100,-100
* Specular lighting has been enabled in anticipation of new commands that will control it, so lighting is slightly different
* Deleting cameras no longer causes a resource leak such as that resulting from The Labs demo program
* Particles are now rendered between the solid and ghost layers, which means particles can sometimes seem dimmer now
* SYNC OFF (as well as the default sync state) is now processor friendly with a Sleep(1) during idle processes (
"Gentlemen, we are about to short-circuit the Universe!"
DB Team / Atari ST / DarkForge / Retro Gaming