X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMain.cc;h=2df3f1e93da9e96cf114f998df45b5e063c7d03e;hp=051b22c5a4998e71a5ecb61468227f4fafbe3cec;hb=6b0a0d0efafe34d48ab344fca3b479553bd4e62c;hpb=351a86a5275f355b55f3827175a72853995f2aaa diff --git a/src/Main.cc b/src/Main.cc index 051b22c..2df3f1e 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -10,53 +10,50 @@ **************************************************************************/ #include // atexit, getenv +#include #include #include #include #include // access -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include -#include "ErrorHandler.hh" #include "GameLayer.hh" #include "Main.hh" #include "TitleLayer.hh" -#if HAVE_CONFIG_H -#include "config.h" -#endif #include "version.h" -Main::Main(Mf::Settings& settings, Mf::Video& video) : - Mf::View(settings, video) +Main::Main(moof::settings& settings, moof::video& video) : + moof::view(settings, video) { - Mf::Dispatch& dispatch = Mf::Dispatch::global(); - mNewContextDispatch = dispatch.addTarget("video.newcontext", + moof::dispatcher& dispatcher = moof::dispatcher::global(); + mNewContextDispatch = dispatcher.add_target("video.newcontext", boost::bind(&Main::setupGL)); setupGL(); } -void Main::update(Mf::Scalar t, Mf::Scalar dt) +void Main::update(moof::scalar t, moof::scalar dt) { if (children().size() == 0) { - //Mf::logWarning("main view has no children"); + //moof::log_warning("main view has no children"); //stop(); //return; - addChild(TitleLayer::alloc()); + add_child(TitleLayer::alloc()); } - Mf::View::update(t, dt); + moof::view::update(t, dt); } -void Main::draw(Mf::Scalar alpha) const +void Main::draw(moof::scalar alpha) const { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); @@ -66,24 +63,24 @@ void Main::draw(Mf::Scalar alpha) const glMatrixMode(GL_MODELVIEW); glLoadIdentity(); - Mf::View::draw(alpha); + moof::view::draw(alpha); } -bool Main::handleEvent(const Mf::Event& event) +bool Main::handle_event(const moof::event& event) { - if (Mf::View::handleEvent(event)) return true; + if (moof::view::handle_event(event)) return true; switch (event.type) { case SDL_KEYUP: if (event.key.keysym.sym == SDLK_f) { - video().toggleFull(); + video().toggle_fullscreen(); } else if (event.key.keysym.sym == SDLK_l) { - video().toggleCursorGrab(); - video().toggleCursorVisible(); + video().toggle_cursor_captured(); + video().toggle_cursor_visible(); } break; @@ -128,7 +125,7 @@ std::string Main::getConfigPath() // 4. YOINKRC (environment) std::string path("yoinkrc"); - Mf::Resource::getPath(path); + moof::resource::find(path); #if !defined(_WIN32) path += ":/etc/yoinkrc"; @@ -164,8 +161,8 @@ void Main::setupGL() //glMatrixMode(GL_PROJECTION); //glLoadIdentity(); - //Mf::Scalar ratio = Mf::core.getVideo()->getWidth() / - //Mf::core.getVideo()->getHeight(); + //moof::scalar ratio = moof::core.getVideo()->width() / + //moof::core.getVideo()->height(); //gluPerspective(60.0, ratio, 1.0, 250.0); //glMatrixMode(GL_MODELVIEW); @@ -245,6 +242,10 @@ void Main::printInfo(int argc, char* argv[]) << "-" #endif << "gtk " +#ifndef USE_HOTLOADING + << "-" +#endif + << "hotloading " #ifndef PROFILING_ENABLED << "-" #endif @@ -276,25 +277,129 @@ void goodbye() } -#include +#include + +#include + +class MyAsset +{ +public: + MyAsset(const std::string& path) + { + moof::log_info("MyAsset loading:", path); + + char buffer[1024]; + + std::ifstream stream(path.c_str()); + stream.getline(buffer, sizeof(buffer)); + str = buffer; + stream.close(); + + cool(); + } + + void cool() + { + moof::log_info("MyAsset COOL:", str); + } + + void groovy() + { + moof::log_info("MyAsset GROOVY!!!!", str); + } + + std::string str; +}; + +typedef moof::resource_handle MyAsset_handle; + +class AnotherAsset +{ +public: + AnotherAsset(const std::string& path, double d = 5.0) + { + moof::log_info("AnotherAsset loading:", path); + dude = d; + } + + + void cool() + { + moof::log_info("AnotherAsset cool", dude); + } + + void groovy() + { + moof::log_info("AnotherAsset GROOVY!!!!", dude); + } + + double dude; +}; + int main(int argc, char* argv[]) { - Mf::ResolverTask task("4950", "compy", SOCK_DGRAM); + moof::resource::register_type("mine"); + //moof::resource::add_type("k"); + + //{ + //moof::resource_ptr myAsset = moof::resource::load(assetName, + //"prefix", "mine"); + + //MyAsset_handle aCopy = myAsset; + + //MyAsset_handle copy2 = moof::resource::load(assetName, "asdfas", "mine"); + + ////if (myAsset->check()) myAsset->get()->cool(); + //myAsset->get()->cool(); + ////myAsset->get()->groovy(); + + //aCopy.get()->cool(); + //copy2.get()->cool(); + + //log_info("rsrc ptr:", moof::resource::load(assetName, "", "mine")); + //} + //log_info("rsrc ptr:", moof::resource::load(assetName, "", "k")); + //moof::resource::load(assetName, "", "mine")->get()->cool(); + + ////if (myAsset) myAsset.get()->cool(); + ////else moof::log_error("asset not obtained..."); + + MyAsset_handle myAsset = moof::resource::load("/home/chaz/meh.mine"); + MyAsset* asset = myAsset.get(); + if (asset) asset->cool(); + else moof::log_warning("no asset obtained!!"); + + moof::timer reloadTimer( + boost::bind(&moof::resource::reload_as_needed), + SCALAR(2.0), + moof::timer::repeat); + + //for (;;) + //{ + //myAsset.get()->cool(); + //moof::resource::reload_as_needed(); + //sleep(1); + //} + + //return 0; + + moof::resolver_task task("4950", "lappy"); task.run(); int i = task.wait(); - Mf::logWarning << "task ended with code: " << i << std::endl; + moof::log_warning("task ended with code:", i); - std::vector::const_iterator it; + std::vector::const_iterator it; for (it = task.addresses().begin(); it != task.addresses().end(); ++it) { - Mf::SocketAddress addr = *it; + moof::socket::address addr = *it; - Mf::logInfo << "address: " << addr.name() << ":" << addr.port() - << " (" << addr.type() << ")" << std::endl; + moof::log_info("address:", addr, "(", addr.type(), ")"); } + //ASSERT(5 == 8 && "uh oh that's not right"); + std::vector hi; for (int a = 0; a < 4000; a++) @@ -302,39 +407,48 @@ int main(int argc, char* argv[]) hi.push_back(a); } - Mf::logInfo << "array size: " << hi.size() << std::endl; - Mf::Packet packet; + moof::log_info("array size:", hi.size()); + moof::packet packet; packet << hi; - Mf::SocketAddress addr("4950", "155.98.111.159", SOCK_DGRAM); - //Mf::SocketAddress addr = Mf::SocketAddress::broadcast("4950"); - //Mf::SocketAddress addr("4950", "155.98.109.255", SOCK_DGRAM); - //Mf::logInfo << "local addr: " << addr.name() << std::endl; - //for (it = task.addresses().begin(); it != task.addresses().end(); ++it) //{ - int bcast = 0; - - //Mf::SocketAddress addr = *it; - Mf::Socket sock(addr); + //moof::socket sock(*it); + moof::socket sock(moof::socket::address::broadcast("4950")); + //moof::socket sock("4950", "lappy", SOCK_DGRAM); + sock.set(SO_BROADCAST, 1); sock.connect(); - sock.get(SO_BROADCAST, bcast); - Mf::logInfo << "bcast: " << bcast << std::endl; + //if (sock.isConnected()) + //{ + moof::packet pack; + pack << "hello world"; + sock.write(pack); + //sock.write(pack, sock.address()); + moof::log_info("sent", pack.size(), "bytes"); - sock.set(SO_BROADCAST, 1); - - sock.get(SO_BROADCAST, bcast); - Mf::logInfo << "bcast: " << bcast << std::endl; + const char* data = pack.bytes(); + for (unsigned i = 0; i < pack.size(); ++i) + { + moof::log_warning("meh:", data[i]); + } - Mf::logInfo << "sending packet of size: " << packet.size() << std::endl; - //sock.write(packet); - sock.write(&bcast, sizeof(bcast)); + char data2[56]; + pack.read(data2, 13); + for (int i = 0; i < 13; ++i) + { + moof::log_warning("meh:", data2[i]); + } + //} + //else + //{ + //moof::log_error("NOT CONNECTED"); + //} //} - return 0; - + //return 0; + if (argc > 1) { @@ -354,31 +468,33 @@ int main(int argc, char* argv[]) hello(); atexit(goodbye); - Mf::Resource::addSearchPaths(Main::getSearchPath()); + moof::resource::add_search_paths(Main::getSearchPath()); - Mf::Settings settings(argc, argv, Main::getConfigPath()); + moof::settings settings(argc, argv, Main::getConfigPath()); - Mf::Log::Level logLevel = Mf::Log::INFO; + enum moof::log::level logLevel = moof::log::info; settings.get("loglevel", logLevel); - Mf::Log::setLevel(logLevel); + moof::log::level(logLevel); try { - Mf::Video::Attributes attributes(settings); - attributes.caption = PACKAGE_STRING; - attributes.icon = Mf::Resource::getPath(PACKAGE".png"); + std::string iconPath(PACKAGE".png"); + moof::resource::find(iconPath); + moof::image icon(iconPath); + icon.set_as_icon(); - Mf::Video video(attributes); + class moof::video::attributes attributes(settings); + moof::video video(PACKAGE_STRING, attributes); Main mainView(settings, video); mainView.run(); return 0; } - catch (const Mf::Error& error) + catch (const std::exception& e) { - Mf::ModalDialog dialog(Mf::ModalDialog::CRITICAL, - PACKAGE_STRING, "Unhandled Exception", - getErrorString(error)); + moof::modal_dialog dialog(moof::modal_dialog::error, + PACKAGE_STRING, "Unhandled Exception", + e.what()); dialog.run(); return 1;