ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/bin/pclient
(Generate patch)

Comparing deliantra/Deliantra-Client/bin/pclient (file contents):
Revision 1.231 by root, Sun May 21 00:02:02 2006 UTC vs.
Revision 1.232 by root, Sun May 21 00:35:00 2006 UTC

1019 $fps = $fps * 0.95 + 1 / (($NOW - $LAST_REFRESH) || 0.1) * 0.05; 1019 $fps = $fps * 0.95 + 1 / (($NOW - $LAST_REFRESH) || 0.1) * 0.05;
1020 debug sprintf "%3.2f", $fps; 1020 debug sprintf "%3.2f", $fps;
1021 1021
1022 $CFClient::UI::ROOT->draw; 1022 $CFClient::UI::ROOT->draw;
1023 1023
1024 $WANT_REFRESH = 0;
1025 $CAN_REFRESH = 0;
1026 $LAST_REFRESH = $NOW;
1027
10240 && do { 10280 && do {
1025 # some weird model-drawing code, just a joke right now 1029 # some weird model-drawing code, just a joke right now
1026 use CFClient::OpenGL; 1030 use CFClient::OpenGL;
1027 1031
1028 $demo{t}{eye_auv} ||= new_from_file CFClient::Texture "eye2.png" or die; 1032 $demo{t}{eye_auv} ||= new_from_file CFClient::Texture "eye2.png" or die;
1040 glDepthMask 1; 1044 glDepthMask 1;
1041 glClear GL_DEPTH_BUFFER_BIT; 1045 glClear GL_DEPTH_BUFFER_BIT;
1042 glEnable GL_TEXTURE_2D; 1046 glEnable GL_TEXTURE_2D;
1043 glEnable GL_DEPTH_TEST; 1047 glEnable GL_DEPTH_TEST;
1044 glDisable GL_CULL_FACE; 1048 glDisable GL_CULL_FACE;
1045 glShadeModel GL_SMOOTH; 1049 glShadeModel $::FAST ? GL_FLAT : GL_SMOOTH;
1046 1050
1047 glMatrixMode GL_PROJECTION; 1051 glMatrixMode GL_PROJECTION;
1048 glLoadIdentity; 1052 glLoadIdentity;
1053 #glFrustum -100, 100, 100, -100, 1, 1000;
1049 glOrtho 0, $::WIDTH, 0, $::HEIGHT, -10000, 10000; 1054 glOrtho 0, $::WIDTH, 0, $::HEIGHT, -10000, 10000;
1050 glMatrixMode GL_MODELVIEW; 1055 glMatrixMode GL_MODELVIEW;
1051 glLoadIdentity; 1056 glLoadIdentity;
1052 1057
1053 glPushMatrix; 1058 glPushMatrix;
1054 glTranslate $::WIDTH * 0.5, $::HEIGHT * 0.5; 1059 glTranslate $::WIDTH * 0.5, $::HEIGHT * 0.5, -100;
1055 glRotate $NOW * 1000 % 36000 / 20, 0, 1, 0; 1060 glRotate $NOW * 1000 % 36000 / 20, 0, 1, 0;
1056 glScale 50, 50, 50; 1061 glScale 50, 50, 50;
1057 1062
1058 glInterleavedArrays GL_T2F_N3F_V3F, 0, $r->{v}; 1063 glInterleavedArrays GL_T2F_N3F_V3F, 0, $r->{v};
1059 while (my ($k, $v) = each %{$r->{g}}) { 1064 while (my ($k, $v) = each %{$r->{g}}) {
1060 glBindTexture GL_TEXTURE_2D, ($demo{t}{$k}{name} or die); 1065 glBindTexture GL_TEXTURE_2D, ($demo{t}{$k}{name} or die);
1061 glDrawElements GL_TRIANGLES, $v->[0], GL_UNSIGNED_SHORT, $v->[1]; 1066 glDrawElements GL_TRIANGLES, $v->[0], GL_UNSIGNED_SHORT, $v->[1];
1062 } 1067 }
1068
1063 glPopMatrix; 1069 glPopMatrix;
1064 1070
1065 glShadeModel GL_FLAT; 1071 glShadeModel GL_FLAT;
1066 glDisable GL_DEPTH_TEST; 1072 glDisable GL_DEPTH_TEST;
1067 glDisable GL_TEXTURE_2D; 1073 glDisable GL_TEXTURE_2D;
1069 1075
1070 $WANT_REFRESH++; 1076 $WANT_REFRESH++;
1071}; 1077};
1072 1078
1073 CFClient::SDL_GL_SwapBuffers; 1079 CFClient::SDL_GL_SwapBuffers;
1074
1075 $WANT_REFRESH = 0;
1076 $CAN_REFRESH = 0;
1077 $LAST_REFRESH = $NOW;
1078} 1080}
1079 1081
1080my $refresh_watcher = Event->timer (after => 0, hard => 1, interval => 1 / $MAX_FPS, cb => sub { 1082my $refresh_watcher = Event->timer (after => 0, hard => 1, interval => 1 / $MAX_FPS, cb => sub {
1081 $NOW = time; 1083 $NOW = time;
1082 1084

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines