summaryrefslogtreecommitdiff
path: root/3dc/win95/VRAMTIME.C
diff options
context:
space:
mode:
authorRebellion Developments <rebellion@nomail>2000-03-16 11:25:00 +0100
committerPatryk Obara <dreamer.tan@gmail.com>2019-08-19 05:45:17 +0200
commit218ca90543758a20ac326e444ca0643174ca7384 (patch)
tree16bfe3e5307f9f515489000f28728224291a0e3b /3dc/win95/VRAMTIME.C
Import Aliens vs Predator - Gold (Build 116)
Source code release, imported from: https://www.gamefront.com/games/aliens-vs-predator-3/file/avp-gold-complete-source-code All text files were converted to Unix format.
Diffstat (limited to '3dc/win95/VRAMTIME.C')
-rw-r--r--3dc/win95/VRAMTIME.C33
1 files changed, 33 insertions, 0 deletions
diff --git a/3dc/win95/VRAMTIME.C b/3dc/win95/VRAMTIME.C
new file mode 100644
index 0000000..a4fae03
--- /dev/null
+++ b/3dc/win95/VRAMTIME.C
@@ -0,0 +1,33 @@
+#include <windows.h>
+
+#include "vramtime.h"
+
+static DWORD transition_times_matrix[][VWS_MAXSTATES] =
+{
+/* from DDRELEASE */
+ { 0, 20, 0, 100, 100 },
+/* from D3DTEXRELEASE */
+ { 20, 0, 100, 100, 100 },
+/* from DDCREATE */
+ { 0, 100, 0, 20, 100 },
+/* from D3DTEXCREATE */
+ { 20, 100, 20, 20, 100 },
+/* from UNKNOWN */
+ { 100, 100, 100, 100, 100 }
+};
+
+
+void WaitForVRamReady(VRAM_WAIT_STATE vws)
+{
+ static DWORD old_time = 0;
+ static VRAM_WAIT_STATE old_vws = VWS_UNKNOWN;
+
+ DWORD new_time;
+
+ if (0==old_time) old_time = timeGetTime();
+
+ do new_time = timeGetTime(); while (new_time - old_time < transition_times_matrix[old_vws][vws]);
+
+ old_time = new_time;
+ old_vws = vws;
+}