Showing posts from May, 2016

C++ riddle

This time small C++ riddle which took me some time to figure out :) Background: My editor currently use sockets connection to pass data between Qt UI and "Editor module" in engine. Inside editor module this happen on two threads: Processing events on editor module side Receive data and send result of events back to UI.  Code of two main function execute on them can found bellow: Processing events (Show/hide) EError CAppEditor::processEditorEvents( void ) { if (!m_eventsToProcess) { return EErrors::Succeeded_NothingToDo; } SEvent * events = wrAtomic::exchange(&m_eventsToProcess, (SEvent*)nullptr); if (events != nullptr && events->next != nullptr) { SEvent * rEvents = nullptr; while(events != nullptr) { SEvent* tmp = events; events = events->next; tmp->next = rEvents; rEvents = tmp; } events = rEvents; } while(e

My little monster

This story started long ago while I was still student at University of Technology in Wrocław. It was probably year 2006 but I'm not sure right now. With time passing by all previous years slowly starting blending together but well I'm already at this age where this is pardonable. On one of C++ courses we got exercise to do program of our choice to show that we learned language. I decided that isometric game in SDL software mode will be great idea. And so I started working on it. What a great joy I had when everything finally started working together and I was able to send it to person conducting classes. I got passing marks and this was end of story.  Well at least for a lot of project this would be truth but in this cases there is a lot more. Some time passed and with friend we decided to make casual game. Code from course project was really useful but software rendering were too slow so I switched whole stuff on OpenGL and some time later we finished  "Pirate Cr