ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/cf.schmorp.de/dclient/src/frontend/client/main.cpp
Revision: 1.12
Committed: Mon Feb 7 19:18:45 2011 UTC (15 years, 8 months ago) by sf-pippijn
Branch: MAIN
CVS Tags: HEAD
Changes since 1.11: +1 -1 lines
Log Message:
inventory_widget: don't fault on pgdn with only one item

by Jonathan Neuschäfer <j.neuschaefer@gmx.net>

File Contents

# User Rev Content
1 sf-pippijn 1.1 #include "autoconf.h"
2    
3     #include "dclient/input_handler.h"
4     #include "dclient/query_handler.h"
5     #include "dclient/renderer.h"
6     #include "dclient/widgets.h"
7 sf-pippijn 1.2 #include "dclient/widgets/inventory.h"
8 sf-pippijn 1.1
9 sf-pippijn 1.8 #include "deliantra/client.h"
10 sf-pippijn 1.1 #include "deliantra/command_parser.h"
11 sf-pippijn 1.5 #include "deliantra/communicator.h"
12 sf-pippijn 1.1 #include "deliantra/handshake_handler.h"
13 sf-pippijn 1.2 #include "deliantra/inventory_manager.h"
14 sf-pippijn 1.1 #include "deliantra/message_logger.h"
15    
16     #include "deliantra/data/item.h"
17    
18 sf-pippijn 1.5 #include <ndk/application.hh>
19 sf-pippijn 1.1
20 sf-pippijn 1.3 #include <csignal>
21 sf-pippijn 1.1 #include <cstring>
22     #include <iomanip>
23     #include <memory>
24    
25     static void
26     start_game ( std::string const &server
27     , std::string const &port
28     , std::string const &user
29     , std::string const &pass
30     )
31     {
32 sf-pippijn 1.6 if (!ev_default_loop (EVBACKEND_SELECT))
33 sf-pippijn 1.12 throw std::runtime_error ("unable to initialise event loop");
34 sf-pippijn 1.5
35 sf-pippijn 1.1 // ncurses
36 sf-pippijn 1.4 std::auto_ptr<ndk::application> app (ndk::app = new ndk::application);
37     app->init_palette ();
38 sf-pippijn 1.1
39     // deliantra
40 sf-pippijn 1.5 communicator comm (server, port);
41 sf-pippijn 1.1 command_parser cmdp;
42 sf-pippijn 1.8 client cli (comm, cmdp);
43 sf-pippijn 1.1 handshake_handler hh (comm);
44     message_logger logger;
45 sf-pippijn 1.2 inventory_manager invman;
46 sf-pippijn 1.1
47 sf-pippijn 1.8 cmdp.add_command_handler (hh);
48     cmdp.add_command_handler (invman);
49     cmdp.add_command_handler (logger);
50    
51     // link deliantra stuff together
52     comm.set_packet_handler (cli);
53    
54 sf-pippijn 1.1 // dclient
55     widgets ui;
56     renderer rend (ui);
57 sf-pippijn 1.5 input_handler input (comm, ui);
58 sf-pippijn 1.1 query_handler qh (comm, ui, user, pass);
59    
60 sf-pippijn 1.8 // link dclient stuff together
61 sf-pippijn 1.2 invman.set_inventory_view (*ui.inventory);
62     invman.set_container_view (*ui.container);
63 sf-pippijn 1.1 cmdp.add_command_handler (qh);
64     cmdp.add_command_handler (rend);
65    
66     // run the event loop
67 sf-pippijn 1.7 ev_run (EV_DEFAULT_UC_ 0);
68 sf-pippijn 1.1 }
69    
70 sf-pippijn 1.10 #include "../main.h"