➟ Go back to May 2008.
➟ Proceed to July 2008.
The applying ATC speed restriction (fed by .Limit commands) and the brake behavior have been further modified to better reflect the behavior of BVE. Furthermore, the AI will now ignore signals and speed restrictions when ATC is activated and solely obey to the ATC speed restriction instead.
ATC now incorporates the previous train to calculate the speed reduction curve for approaching this train, thus making ATC feature-complete. The AI will now manually switch between ATS and ATC if the train cannot do this automatically.
The Track.Pattern command is now available, making the ATS-P security system feature-complete.
Stations without stop points defined were not handled correctly on startup and in the renderer, resulting in a crash in the worst case. This has been corrected now.
The sound manager has been modified to stop playing sounds at a certain distance from the sound source. This is useful when having many sound sources, but when only a certain amount can be played simultaneously due to performance reasons.
The Track.Doppler command is now available, making all sound related goals for version 0.5 implemented. Performance needs still to be improved, but this will be done in future versions.
The functionality to pause the game has been implemented. Furthermore, a simple route selection dialog similar to BVE 4 has been added. This makes all goals for version 0.5 accomplished.
Initial support for full screen is available. Furthermore, the interface strings currently in use have been outsourced into a configuration file. For the security system lamps, both Japanese and English versions are available at this time. Version 0.5.0.0 has been released today.
A quick-fix temporary solution for French AZERTY, Italian QWERTY and German QWERTZ keyboards has been added for which the brake keys did not previously work. There are for now some alternative keys available to access the brakes more conveniently on those keyboards. Furthermore, when having outsourced the messages into an external text file, the overrun and underrun messages were accidentally flipped, which has been corrected now. A bugfix version 0.5.0.1 has been made available.
A new ATS-P brake curve has been created which is far more realistic in shape than the previous implementation.
A few bugfixes have been released as version 0.5.0.3, correcting the previously wrong behavior of the Track.Change command, the fog color and the inability to correctly close the game while paused, as well as introducing a more realistic ATS-P brake curve.
Work on the BVE 4 panel2.cfg parser has been started. The daylight panel background image can be shown, but due to the complexity of the poorly documented coordinate system, the panel is currently misaligned. Furthermore, mipmapping is now available at adds greatly to overall visual quality, but cannot currently be configured or turned off altogether. Also, I did not notice any improvements in frame rates as a result of using mipmaps yet.
The panel background image can be shown correctly aligned now (hopefully). Due to the different nature of BVE and openBVE regarding panels (2D versus 3D), differences in perspective are unavoidable.
The daylight version of the pilot lamp and of the needle can be shown for BVE 4 panels. Most of the subjects have been implemented, too. The Compatibility section for BVE 4 panels documents the availability of all of the commands during the development phase.
The daylight version of the digital number indicator is available for BVE 4 panels. Furthermore, the vertical center and origin of the panel can be marginally acceptably reproduced with some perspective inaccuracies. Also, some more subjects are supported.
The daylight version of the digital gauge is available for BVE 4 panels. This makes all control types implemented, although without the ATS plugin functionality, many lamps etc. do not work yet.
The internals have been modified to allow every polygon to have a daytime and a nighttime texture, and it is also possible to blend between them. All the nighttime images for the BVE 4 panel are now loaded, too. As the Track.Brightness command is not yet implemented, BVE 4 panels will currently only show the daytime images. Furthermore, I have made an initial attempt of depth sorting transparent polygons, which is necessary for full alpha transparency to work correctly, but the algorithm currently used fails in some common cases and is far from being suitable to use.
The texture manager has been adapted to distinguish between textures that use no transparency, screendoor transparency or full alpha transparency, while the renderer takes these three kinds correctly into account. Polygons using screendoor transparency (via a transparent color) are now considered opaque faces in the renderer and are not drawn last any longer. This leaves actual transparent polygons to be depth-sorted (PNG files or translucent solid color polygons as used in BVE from time to time) and drawn last. As the number of transparent polygons is greatly reduced from the renderer's point of view, the not yet good depth-sorting will usually suffice to deal with the transparency used in existing BVE routes, e.g. in the form of light cones, glass etc.
The renderer now additionally separates opaque and transparent world polygons from overlay polygons, which are used by the panel to draw it last. This helps in making the day/night transition work and more importantly, to allow for rain or snow, as such world objects were previously able to be drawn in front of the panel, which is now resolved.
The renderer is capable of blending between daytime and nighttime textures for any polygon used in the game, and can also apply a faux transition (to pure black) for textures not having a nighttime equivalent, same for solid color polygons. The Track.Brightness command is now available and works on a per-car basis, affecting both the panel and the exterior (as both are the same internally anyway).
A first part of the sound.cfg can be parsed, taking the run, flange and motors sounds into account.
Most of the sound.cfg can now be parsed, including the new sounds that have been added with BVE 4, but excluding the ATS DLL related sounds.
Originally, I wanted to add support for BVE 4 signals today, but two things prevented me from doing that: The undocumented behavior of the .Section command, and the fact that all objects used for BVE 4 signals are in .X file format. I have therefore begun adding support for the uncompressed textual version of the .X format, but due to the parsing complexity of the format, I have only achieved loading the Mesh container so far (equivalents in CSV are AddVertex and AddFace).
The MeshTextureCoords container is now available for textual X files (equivalent in CSV is SetTextureCoordinates). This now provides the most rudimentary X file support necessary for processing most BVE 4 signals.
The Signal.Load command is now supported. The Track.SigF command is partially supported, but does not yet incorporate the Track.Section command (which is not yet implemented).
The default signal objects for Track.SigF are now implemented (available via Track.SigF 3, Track.SigF 4, Track.SigF 5 and Track.SigF 6). Furthermore, the file structure for the compatibility signals has been simplified.
I started decoupling signals from sections in order to unify normal signals and repeating signals and to allow for the Track.SigF and Track.Section commands used by BVE 4 to work correctly.
Sections and signals are now separated in the train and track managers, but there are still enough changes to make to the route parser, rendering the program currently unable to compile until the changes are completed, which might not happen even today.
Signals can be displayed again, but are not working yet, nor are sections really, nor transponders. Had I known what the Track.Section command really does, I wouldn't have to rewrite the signalling now. My fault... although a few days of delay in development should be acceptable.
Signalling is now working again, with signals and sections functionally separated. Futhermore, a parsing error with BVE-4-style CSV routes has been fixed where previously Set suffixes used in some commands did not work in conjunction with the With statement.
Transponders are also working again now, making the separation of signals and sections finally complete. As for lighting, the global ambient and global diffuse models are available now via the appropriate commands in the route file.
Additive and glow blending modes have been added to the renderer, and each polygon can be configured to use them in addition to the use of emissive colors. Changes have been made to the CSV/B3D object parser to select these features on a per-polygon basis via the new SetEmissiveColor and SetBlendingMode commands. This allows for a series of new effects developers can use in the future for lighting and free use of glow.
I have begun to split the compatibility signals into three layers. The unlit signal background image (blending mode: normal), the lights (blending mode: additive) and the glow (blending mode: glow). This saves both hard disk space and more importantly texture memory as the lights and glow are combined with the background of the signal in the rendering stage, instead of using a series of precomposed images.
The compatibility objects for the signals have now been added lights and glow, thus signal glow is available for those objects, but not yet for custom BVE 4 signals. The glow is illustrated on this page on the forum.
BVE 4 signal glow can now also be displayed, but not really in any way similar to BVE due to the undocumented behavior of the glow object file handling.
➟ Go back to May 2008.
➟ Proceed to July 2008.
|
|