RString XmlFileUtil::GetXML( const XNode *pNode ) { RageFileObjMem f; int iTabBase = 0; InitEntities(); GetXMLInternal( pNode, f, true, iTabBase ); return f.GetString(); }
int main(int argc, char** argv) { int error = Init(); if (error) { return error; } InitEntities(); int running = 1, test_collision = 0; float time = SDL_GetTicks() / 1000.f; while (running) { float ntime = SDL_GetTicks() / 1000.f; float delta = ntime - time; time = ntime; ECS_UpdateEntities(entities, ENTITY_COUNT, delta); if(test_collision) ECS_CalculateCollision(entities, ENTITY_COUNT); SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); SDL_RenderClear(renderer); ECS_RenderEntities(entities, ENTITY_COUNT, entities + ENTITY_CAMERA, renderer); SDL_RenderPresent(renderer); SDL_Event event; while (SDL_PollEvent(&event)) { switch (event.type) { case SDL_QUIT: running = 0; break; case SDL_WINDOWEVENT: if(event.window.event == SDL_WINDOWEVENT_RESIZED || event.window.event == SDL_WINDOWEVENT_SIZE_CHANGED) { ECS_SetComponentCamera(entities + ENTITY_CAMERA, event.window.data1, event.window.data2); } break; case SDL_KEYUP: if(event.key.keysym.scancode == SDL_SCANCODE_C) { test_collision = test_collision ? 0:1; } break; default: break; } } } Quit(); return 0; }
bool XmlFileUtil::SaveToFile( const XNode *pNode, RageFileBasic &f, const RString &sStylesheet, bool bWriteTabs ) { f.PutLine( "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" ); if( !sStylesheet.empty() ) f.PutLine( "<?xml-stylesheet type=\"text/xsl\" href=\"" + sStylesheet + "\"?>" ); int iTabBase = 0; InitEntities(); if( !GetXMLInternal(pNode, f, bWriteTabs, iTabBase) ) return false; f.PutLine( "" ); if( f.Flush() == -1 ) return false; return true; }
int main(int argc, char** argv) { //int result; OS_Init(); LoggerCreate(TRUE,"log.txt",LOGGER_APPEND,LOGGER_LEVEL_ALL,LOGGER_FORMAT_C); LoggerInfo("Initializing game"); if(SDL_Init(SDL_INIT_EVERYTHING)) GameCrash("Initialized SDL failed"); LoggerInfo("SDL initialized"); MathInit(); RM_InitResourceManager(); PMD_Init(); RE_InitWindow(WINDOW_WIDTH,WINDOW_HEIGHT); IN_InitInput(); InitEntities(); InitAttributes(); GameMainLoop(); GameClose(); return 0; }
bool XmlFileUtil::GetXML( const XNode *pNode, RageFileBasic &f, bool bWriteTabs ) { int iTabBase = 0; InitEntities(); return GetXMLInternal( pNode, f, bWriteTabs, iTabBase ); }
void XmlFileUtil::Load( XNode *pNode, const RString &sXml, RString &sErrorOut ) { InitEntities(); LoadInternal( pNode, sXml, sErrorOut, 0 ); }
int main() { // Create the main rendering window App.Create(sf::VideoMode(640,480,32), "SFML Graphics"); UIState uistate; uistate.renderer = &App; InitEntities(); PhysicsSub physSub(&App, &entitysystem); RenderingSystem renderSys(&App, &entitysystem); ControllerSystem controller(&App, &entitysystem); ProjectileSystem projSys(&App, &entitysystem); bool inventory = false; int invX; int invY; std::vector<Entity*> players; entitysystem.getEntities<CompPlayer>(players); Entity* player = players[0]; // Start game loop while (App.IsOpen()) { // Process events sf::Event Event; while (App.PollEvent(Event)) { uistate.uiEvents(Event); // Close window : exit if (Event.Type == sf::Event::Closed) App.Close(); if(Event.Type == sf::Event::MouseButtonPressed && Event.MouseButton.Button == sf::Mouse::Right) { inventory = !inventory; if(inventory) invX = sf::Mouse::GetPosition(App).x; invY = sf::Mouse::GetPosition(App).y; } if(Event.Type == sf::Event::MouseButtonPressed && Event.MouseButton.Button == sf::Mouse::Left) makeProjectile(); } controller.Tick(Clock.GetElapsedTime().AsSeconds()); physSub.Tick(Clock.GetElapsedTime().AsSeconds()); projSys.Tick(Clock.GetElapsedTime().AsSeconds()); // Clear the screen with red color App.Clear(sf::Color::Black); uistate.imgui_prepare(); if(widget::button(uistate, GEN_ID, sf::Vector2f(100, 30), sf::Vector2f(520, 10), "button", 24)) entitysystem.deleteEntity(player); if(inventory) if(widget::button(uistate, GEN_ID, sf::Vector2f(100, 30), sf::Vector2f(invX, invY), "inventory", 20)) player = makePlayer(); uistate.imgui_finish(); renderSys.Tick(Clock.GetElapsedTime().AsSeconds()); // Display window contents on screen App.Display(); Clock.Restart(); } return EXIT_SUCCESS; }