Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/PresentationFS18/src/external/cpptcl/changes_orxonox.diff @ 12015

Last change on this file since 12015 was 8351, checked in by rgrieder, 14 years ago

Merged kicklib2 branch back to trunk (includes former branches ois_update, mac_osx and kicklib).

Notes for updating

Linux:
You don't need an extra package for CEGUILua and Tolua, it's already shipped with CEGUI.
However you do need to make sure that the OgreRenderer is installed too with CEGUI 0.7 (may be a separate package).
Also, Orxonox now recognises if you install the CgProgramManager (a separate package available on newer Ubuntu on Debian systems).

Windows:
Download the new dependency packages versioned 6.0 and use these. If you have problems with that or if you don't like the in game console problem mentioned below, you can download the new 4.3 version of the packages (only available for Visual Studio 2005/2008).

Key new features:

  • *Support for Mac OS X*
  • Visual Studio 2010 support
  • Bullet library update to 2.77
  • OIS library update to 1.3
  • Support for CEGUI 0.7 —> Support for Arch Linux and even SuSE
  • Improved install target
  • Compiles now with GCC 4.6
  • Ogre Cg Shader plugin activated for Linux if available
  • And of course lots of bug fixes

There are also some regressions:

  • No support for CEGUI 0.5, Ogre 1.4 and boost 1.35 - 1.39 any more
  • In game console is not working in main menu for CEGUI 0.7
  • Tolua (just the C lib, not the application) and CEGUILua libraries are no longer in our repository. —> You will need to get these as well when compiling Orxonox
  • And of course lots of new bugs we don't yet know about
  • Property svn:eol-style set to native
File size: 2.8 KB
  • cpptcl.cc

     
    1616using namespace Tcl;
    1717using namespace Tcl::details;
    1818using namespace std;
    19 using namespace boost;
     19// boost::shared_ptr conflicts with the new std::shared_ptr
     20//using namespace boost;
    2021
    2122
    2223result::result(Tcl_Interp *interp) : interp_(interp) {}
     
    166167{
    167168
    168169// map of polymorphic callbacks
    169 typedef map<string, shared_ptr<callback_base> > callback_interp_map;
     170typedef map<string, boost::shared_ptr<callback_base> > callback_interp_map;
    170171typedef map<Tcl_Interp *, callback_interp_map> callback_map;
    171172
    172173callback_map callbacks;
     
    179180policies_map call_policies;
    180181
    181182// map of object handlers
    182 typedef map<string, shared_ptr<class_handler_base> > class_interp_map;
     183typedef map<string, boost::shared_ptr<class_handler_base> > class_interp_map;
    183184typedef map<Tcl_Interp *, class_interp_map> class_handlers_map;
    184185
    185186class_handlers_map class_handlers;
     
    320321
    321322          post_process_policies(interp, pol, objv, false);
    322323     }
    323      catch (exception const &e)
     324     catch (std::exception const &e)
    324325     {
    325326          Tcl_SetResult(interp, const_cast<char*>(e.what()), TCL_VOLATILE);
    326327          return TCL_ERROR;
     
    363364
    364365          post_process_policies(interp, pol, objv, true);
    365366     }
    366      catch (exception const &e)
     367     catch (std::exception const &e)
    367368     {
    368369          Tcl_SetResult(interp, const_cast<char*>(e.what()), TCL_VOLATILE);
    369370          return TCL_ERROR;
     
    430431               Tcl_GetString(Tcl_GetObjResult(interp)),
    431432               object_handler, static_cast<ClientData>(chb), 0);
    432433     }
    433      catch (exception const &e)
     434     catch (std::exception const &e)
    434435     {
    435436          Tcl_SetResult(interp, const_cast<char*>(e.what()), TCL_VOLATILE);
    436437          return TCL_ERROR;
     
    490491}
    491492
    492493void class_handler_base::register_method(string const &name,
    493      shared_ptr<object_cmd_base> ocb, policies const &p)
     494     boost::shared_ptr<object_cmd_base> ocb, policies const &p)
    494495{
    495496     methods_[name] = ocb;
    496497     policies_[name] = p;
     
    989990}
    990991
    991992void interpreter::add_function(string const &name,
    992      shared_ptr<callback_base> cb, policies const &p)
     993     boost::shared_ptr<callback_base> cb, policies const &p)
    993994{
    994995     Tcl_CreateObjCommand(interp_, name.c_str(),
    995996          callback_handler, 0, 0);
     
    9991000}
    10001001
    10011002void interpreter::add_class(string const &name,
    1002      shared_ptr<class_handler_base> chb)
     1003     boost::shared_ptr<class_handler_base> chb)
    10031004{
    10041005     class_handlers[interp_][name] = chb;
    10051006}
    10061007
    10071008void interpreter::add_constructor(string const &name,
    1008      shared_ptr<class_handler_base> chb, shared_ptr<callback_base> cb,
     1009     boost::shared_ptr<class_handler_base> chb, boost::shared_ptr<callback_base> cb,
    10091010     policies const &p)
    10101011{
    10111012     Tcl_CreateObjCommand(interp_, name.c_str(),
Note: See TracBrowser for help on using the repository browser.