blender/source/gameengine/BlenderRoutines
Peter Schlaile a0390e5cc3 == Core ==
This adds fractional FPS support to blender and should finally
make NTSC work correctly.

NTSC has an FPS of 30.0/1.001 which is approximately 29.97 FPS.
Therefore, it is not enough to simply make frs_sec a float, since
you can't represent this accurately enough. 
I added a seperate variable frs_sec_base and FPS is now 
frs_sec / frs_sec_base.

I changed all the places, where frs_sec was used to my best knowledge.

For convenience sake, I added several macros, that should make life
easier in the future:

FRA2TIME(a) : convert frame number to a double precision time in seconds
TIME2FRA(a) : the same in the opposite direction
FPS         : return current FPS as a double precision number 
              (last resort)

This closes bug #6715 
Standard framerates not supported / breaks sync -- 23.967 29.967 etc.

https://projects.blender.org/tracker/?func=detail&aid=6715&group_id=9&atid=125

Please give this heavy testing with NTSC files, quicktime in/export
and the python interface.
Errors are most probably only spotted on longer timelines, so that is
also important.

The patch was tested by Troy Sobotka and me, so it most probably should
work out of the box, but wider testing is important, since errors are
very subtle.

Enjoy!
2007-10-21 15:42:08 +00:00
..
BL_KetsjiEmbedStart.cpp == Core == 2007-10-21 15:42:08 +00:00
CMakeLists.txt updated CMake files for game engine for Bullet 2.x upgrade 2006-11-21 06:37:01 +00:00
KX_BlenderCanvas.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_BlenderCanvas.h added a buch of 2003-01-07 00:18:59 +00:00
KX_BlenderGL.cpp Warning fixes for previous Image commit, also fixed verse_image.c 2006-12-20 18:29:23 +00:00
KX_BlenderGL.h Added custom vertex/edge/face data for meshes: 2006-11-20 04:28:02 +00:00
KX_BlenderInputDevice.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_BlenderInputDevice.h Mouse Wheel Support for the Game Engine. 2004-05-02 23:45:03 +00:00
KX_BlenderKeyboardDevice.cpp Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_BlenderKeyboardDevice.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_BlenderMouseDevice.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_BlenderMouseDevice.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_BlenderPolyMaterial.cpp Added custom vertex/edge/face data for meshes: 2006-11-20 04:28:02 +00:00
KX_BlenderPolyMaterial.h Added custom vertex/edge/face data for meshes: 2006-11-20 04:28:02 +00:00
KX_BlenderRenderTools.cpp GE Patch by Hamed Zaghaghi - Adding Motion Blur to the Game Engine. 2007-09-29 18:51:01 +00:00
KX_BlenderRenderTools.h GE Patch by Hamed Zaghaghi - Adding Motion Blur to the Game Engine. 2007-09-29 18:51:01 +00:00
KX_BlenderSystem.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_BlenderSystem.h Remove unused reference to "blendertimer.h" 2003-03-24 16:38:32 +00:00
Makefile Changes for OSX compiling with Makefiles; 2004-05-01 16:52:29 +00:00
SConscript This commit fixes up a bunch of svn properties to hopefully make things a little nicer for everyone. 2007-08-28 10:07:08 +00:00