Ну вот и снова я... За неделю успел сделать совсем немного, а именно: простенькая система управления приложением + ещё более простая система для работы с окошком... Всего на это (большей частью на отладку) потратил около 3 часов... (слава моим кривым рукам)
Пример кода на движке (ну это просто точка входа):
Code
//--#-------------------------------------------------------------------- // File: Main.cpp // Description: Just a main enter point //--#-------------------------------------------------------------------- #include <WTFE_headers\Application.h> // Application holder class header #include <WTFE_headers\Core.h> // Waterfall engine core module
#include <WTF_headers\Application.h> // Application class header
// Main game enter point class WTF_Main { public:
static int Main () { try { // Creating application WTF_Application app; WTFE_AppControl appControl(&app);
// Running application if (!appControl.Start ()) throw 0; } catch (...) { LogErrorMessage ("Some error occured!\nAnd game will close now..."); return 0; } return 0; } };
// Registering main function WTFE_ApplicationHolder application_inst (&WTF_Main::Main);
Что мы тут видим (немного поясню код, хотя я думаю, что по комментариям в коде всё и так понятно):
Решил сделать mmorpg, но в одиночку сделать её очень сложно.Поэтому решил сделать(это как???) команду. Начал делать сам, что-то где-то получается, но освоить один всё я не смогу!Хотел выложить фотки того, что уже сделал, но что-то не получается.
Девочка ты в каком классе??? Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
Сообщение отредактировал ezhickovich - Суббота, 05 Марта 2011, 20:20
С чего вы взяли, что для учёбы нужна книжка??? Единственное для чего она нужна, ну это разве что анатомия, да и то - никогда не заменит рисование с натуры... Самый верный путь (жирно сказано, но настаивать не буду) это рисовать то, что видишь вокруг: предметы, людей, животных, ещё чёнить... Для этого не нужна никакая книжка... Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
// Returns console handle HWND GetConsoleHandle () { HWND conHwnd = NULL; // Console handle const short BUFSIZE = 1024; // Buffer size char oldWindowTitle[BUFSIZE]; // Old console window title char newWindowTitle[BUFSIZE]; // New console window title
GetConsoleTitleA (oldWindowTitle, BUFSIZE); // Getting window title sprintf (newWindowTitle, "%d/%d", // Generating new title GetTickCount(), GetCurrentProcessId());
SetConsoleTitleA (newWindowTitle); // Setting new window title Sleep(40); // Waiting for some time conHwnd = FindWindowA (NULL, newWindowTitle); // Searching for window SetConsoleTitleA (oldWindowTitle); // Setting old window title
// Setting render context if (!wglMakeCurrent (hDC, hGLRC)) { MessageBox (NULL, L"Failed to set render context!", L"Fuuuuck!", MB_OK | MB_ICONERROR); return false; }
return true; }
// Creates GL rendering context bool KillGLContext () { bool result = true; // By default it all will be ok
// If GL render context was created if (hGLRC) { // Releasing render and device contexts if (!wglMakeCurrent (NULL, NULL)) { MessageBox (NULL, L"Failed to release render and device contexts!", L"Fuuuuck!", MB_OK | MB_ICONERROR); result = false; } // Deleting render context if (!wglDeleteContext (hGLRC)) { MessageBox (NULL, L"Failed to delete render context!", L"Fuuuuck!", MB_OK | MB_ICONERROR); result = false; } hGLRC = NULL; // Setting pointer to zero }
// Releasing device context if (hDC && !ReleaseDC (hWND, hDC)) { MessageBox (NULL, L"Failed to release device context!", L"Fuuuuck!", MB_OK | MB_ICONERROR); result = false; hDC = NULL; }
Выложи скриншоты, скачивать кота в мешке не охота... А так, могу быть тестером + если вдруг понравится - напишу отзыв... Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
А ты не думал, что если бы была необходимость - они бы сами её сделали??? Зачем тут нужен ты? Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
По скорости работы скомпилированных прог, не уступает Си.
Знаешь ли на Си можно написать так, что по скорости будет медленнее VB... =/ (а про твой любимый PB и куры говорили) Тут большую роль играют навыки самого программиста, который "у руля"...
Приведи мне тесты на которых измеряли время (ведь именно это ты подразумевал под скоростью) выполнения... Меня интересует код на Си и на PB... Также экзешники приложений, конфигурации систем, а для чистоты тестирование должно проводится на разных платформах и конфигурациях... И что самое главное - КАКОЙ КОМПИЛЯТОР СИ ИСПОЛЬЗОВАЛСЯ!!! (Это очень-очень важно) Если отсутствует хотя бы один из пунктов, результаты теста нельзя считать действительными!!!
Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
но думаешь под конец тебе скажут спасибо за такой движок?
Я хоть где-то это сказал? Мне не нужны благодарности, я его собираюсь делать только ради собственного удовлетворения и от нечего делать... Ну неужели это не ясно из первого поста... =/ Ладно, это совершенно не важно... Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
Вот поэтому он и должен быть без программирования.
Ты не думал, что я ХОЧУ ИЗОБРЕСТИ ВЕЛОСИПЕД? И как ты представляешь себе движок без программирования? Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
Сообщение отредактировал ezhickovich - Понедельник, 28 Февраля 2011, 21:49
Как-то не лежит душа в этом направлении... По крайней мере сейчас в этом нет необходимости... (ну в этом я точно уверен) Если закончу этот - можно будет подумать и о софтваре... (возможно несколько предвзято, однако я не хочу сейчас возиться с софтваром) Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!