- Don't assume reg key exists
- Make rotation independent of computer speed

svn path=/trunk/; revision=53415
This commit is contained in:
Rafal Harabien 2011-08-24 12:33:45 +00:00
parent 6005c9f9ca
commit d9f67312a2
2 changed files with 19 additions and 17 deletions

View file

@ -200,6 +200,9 @@ GLvoid ReSizeGLScene(GLsizei Width, GLsizei Height)
// Handles Rendering // Handles Rendering
GLvoid DrawGLScene(GLvoid) GLvoid DrawGLScene(GLvoid)
{ {
// Save ticks count of previous frame here
static DWORD dwTicks = 0;
// Clear The Screen And The Depth Buffer // Clear The Screen And The Depth Buffer
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
@ -235,7 +238,9 @@ GLvoid DrawGLScene(GLvoid)
glColor3f(0.0f, 0.0f, 1.0f); glColor3f(0.0f, 0.0f, 1.0f);
// Increase The Rotation Variable // Increase The Rotation Variable
rot += 0.1f; if(dwTicks)
rot += (GetTickCount() - dwTicks) / 20.0f;
dwTicks = GetTickCount();
} }
LRESULT CALLBACK LRESULT CALLBACK

View file

@ -22,32 +22,29 @@
#include "3dtext.h" #include "3dtext.h"
TCHAR m_Text[MAX_PATH]; TCHAR m_Text[MAX_PATH] = _T("ReactOS Rocks!");
VOID LoadSettings(VOID) VOID LoadSettings(VOID)
{ {
HKEY hkey; HKEY hkey;
DWORD len = MAX_PATH * sizeof(TCHAR); DWORD len = MAX_PATH * sizeof(TCHAR);
RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\ScreenSavers\\Text3D"), 0, if (RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\ScreenSavers\\Text3D"), 0,
_T(""), 0, KEY_READ, NULL, &hkey, NULL); _T(""), 0, KEY_READ, NULL, &hkey, NULL) == ERROR_SUCCESS)
if (RegQueryValueEx(hkey, _T("DisplayString"), NULL, NULL, (LPBYTE)m_Text, &len) != ERROR_SUCCESS)
{ {
_tcscpy(m_Text, _TEXT("ReactOS Rocks!")); RegQueryValueEx(hkey, _T("DisplayString"), NULL, NULL, (LPBYTE)m_Text, &len);
}
RegCloseKey(hkey); RegCloseKey(hkey);
} }
}
VOID SaveSettings(VOID) VOID SaveSettings(VOID)
{ {
HKEY hkey; HKEY hkey;
RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\ScreenSavers\\Text3D"), 0, if (RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\ScreenSavers\\Text3D"), 0,
_T(""), 0, KEY_WRITE, NULL, &hkey, NULL); _T(""), 0, KEY_WRITE, NULL, &hkey, NULL) == ERROR_SUCCESS)
{
RegSetValueEx(hkey, _T("DisplayString"), 0, REG_SZ, (LPBYTE)m_Text, (_tcslen(m_Text) + 1) * sizeof(TCHAR)); RegSetValueEx(hkey, _T("DisplayString"), 0, REG_SZ, (LPBYTE)m_Text, (_tcslen(m_Text) + 1) * sizeof(TCHAR));
RegCloseKey(hkey); RegCloseKey(hkey);
} }
}