--- deliantra/Deliantra-Client/bin/cfplus 2006/07/23 08:58:44 1.99 +++ deliantra/Deliantra-Client/bin/cfplus 2006/07/23 16:11:12 1.100 @@ -38,6 +38,7 @@ use CFClient::OpenGL (); use CFClient::Protocol; use CFClient::UI; +use CFClient::Pod; use CFClient::BindingEditor; use CFClient::MapWidget; @@ -132,7 +133,7 @@ our $PICKUP_CFG; sub status { - $STATUSBOX->add (CFClient::UI::Label::escape $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]); + $STATUSBOX->add (CFClient::asxml $_[0], pri => -10, group => "status", timeout => 10, fg => [1, 1, 0, 1]); } sub debug { @@ -1488,7 +1489,7 @@ text_h => [sub { my ($text) = @_; $text =~ s/\s+/ /g; - $s[-1]{text} .= CFClient::UI::Label::escape $text; + $s[-1]{text} .= CFClient::asxml $text; }, "dtext"], start_h => [sub { my ($tag, $attr) = @_; @@ -1585,8 +1586,10 @@ return; } - my $pom = CFClient::load_pod CFClient::find_rcfile "pod/$pod.pod", - doc_viewer => 1, sub { CFClient::pod_to_pango_list $_[0] }; + my $pom = CFClient::Pod::load CFClient::find_rcfile "pod/$pod.pod", + doc_viewer => 1, sub { CFClient::Pod::as_paragraphs $_[0] }; + + #use Data::Dumper; warn Dumper $pom;#d# $viewer->clear; @@ -1595,7 +1598,7 @@ # (new CFClient::UI::Label text => "üüüü", can_hover => 1, can_events => 1, tooltip => "??"), # ]);#d# - $viewer->add_paragraph ([1, 1, 1, 1], $_->[1], $_->[0]) + $viewer->add_paragraph ([1, 1, 1, 1], [$_->{text}, @{ $_->{obj} || [] }], $_->{indent}) for @$pom; $viewer->set_offset (0); @@ -1871,60 +1874,6 @@ $CAN_REFRESH = 0; $LAST_REFRESH = $NOW; -0 && do { - # some weird model-drawing code, just a joke right now - use CFClient::OpenGL; - - $demo{t}{eye_auv} ||= new_from_file CFClient::Texture "eye2.png" or die; - $demo{t}{body_auv} ||= new_from_file CFClient::Texture "body_auv3.png" or die; - $demo{r} ||= do { - my $mod = Compress::LZF::sthaw do { local $/; open my $fh, "<:raw:perlio", "dread.lz3"; <$fh> }; - $mod->{v} = pack "f*", @{$mod->{v}}; - $_ = [scalar @$_, pack "S!*", @$_] - for values %{$mod->{g}}; - $mod - }; - - my $r = $demo{r} or die; - - glDepthMask 1; - glClear GL_DEPTH_BUFFER_BIT; - glEnable GL_TEXTURE_2D; - glEnable GL_DEPTH_TEST; - glEnable GL_CULL_FACE; - glShadeModel $::FAST ? GL_FLAT : GL_SMOOTH; - - glMatrixMode GL_PROJECTION; - glLoadIdentity; - glFrustum -1 * ($::WIDTH / $::HEIGHT), 1 * ($::WIDTH / $::HEIGHT), 1, -1, 1, 10000; - #glOrtho 0, $::WIDTH, 0, $::HEIGHT, -10000, 10000; - glMatrixMode GL_MODELVIEW; - glLoadIdentity; - - glPushMatrix; - glTranslate 0, 0, -800; - glScale 1, -1, 1; - glRotate $NOW * 1000 % 36000 / 5, 0, 1, 0; - glRotate $NOW * 1000 % 36000 / 6, 1, 0, 0; - glRotate $NOW * 1000 % 36000 / 7, 0, 0, 1; - glScale 50, 50, 50; - - glInterleavedArrays GL_T2F_N3F_V3F, 0, $r->{v}; - while (my ($k, $v) = each %{$r->{g}}) { - glBindTexture GL_TEXTURE_2D, ($demo{t}{$k}{name} or die); - glDrawElements GL_TRIANGLES, $v->[0], GL_UNSIGNED_SHORT, $v->[1]; - } - - glPopMatrix; - - glShadeModel GL_FLAT; - glDisable GL_DEPTH_TEST; - glDisable GL_TEXTURE_2D; - glDepthMask 0; - - $WANT_REFRESH++; -}; - CFClient::SDL_GL_SwapBuffers; }