PMG

Форумы по созданию игр
Текущее время: 21 июл 2026 22:00

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 156 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 11  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 02 окт 2006 23:01 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 29 апр 2006 21:28
Сообщения: 404
Цитата:
Линки может быть и прямые только версии урезанные. Полная версия MS Visual 2005 Express весит 400 метров.

Чё ты мне гониш я тебе по отдельности кидаю на VC++ express на VC#Express а ты мне про 400 метров если мне надо тока VC++ зачем мне качать 370 метров левых(VC#,MSDN,и прочая лабуда). ;/

_________________
С уважением,Блинов Андрей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 окт 2006 23:02 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 29 апр 2006 21:28
Сообщения: 404
Цитата:
Скорее всего на год!!!

:o Год после года несмотрения в код даже свой собственный код может показатся жутко запутанным.

_________________
С уважением,Блинов Андрей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 окт 2006 18:54 
Цитата:
:o Год после года несмотрения в код даже свой собственный код может показатся жутко запутанным.

С поступлением в Институт у меня совсем мало свободного времени. Поэтому и решил приостановить проект.


Последний раз редактировалось Tiger 09 окт 2006 19:35, всего редактировалось 1 раз.

Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 окт 2006 19:30 
Старый движок я удалил и начал писать новый.
С написанием нового движка у меня возникла проблема. В оконном режиме движок работает нормально, а в полноэкранном режиме появляется сообщение об ошибке. MagicWolf вы можете мне помочь разобраться в чём причина.
Вот код нового движка:
Game.cpp-главный файл движка
Код:
#include "xmain.h"
#include "xdirect3d.h"

////////////////////////////////////////////////////////////////////////

int Init_Game()
{
   Init_Direct3D();

   return 0;
}

////////////////////////////////////////////////////////////////////////

int Game_Main()
{
   Draw_Direct3D();

   return 0;
}

////////////////////////////////////////////////////////////////////////

int Shutdown_Game()
{
   Shutdown_Direct3D();

   return 0;
}

////////////////////////////////////////////////////////////////////////

xmain.cpp-Win32 API
Код:
#include "xfiles.h"
#include "xdirect3d.h"
#include "xmain.h"

HWND main_window_handle;
HINSTANCE main_instance;
HWND hwnd;

int Init_Game();
int Game_Main();
int Shutdown_Game();
////////////////////////////////////////////////////////////////////////

LRESULT CALLBACK WindowProc(HWND hwnd,
                      UINT msg,
                            WPARAM wparam,
                            LPARAM lparam)
{
switch(msg)
   {   
   case WM_CREATE:
        {
      return(0);
      }

   case WM_DESTROY:
      {      
      PostQuitMessage(0);
      return(0);
      }
    }

return (DefWindowProc(hwnd, msg, wparam, lparam));
   
}

////////////////////////////////////////////////////////////////////////

int WINAPI WinMain(   HINSTANCE hinstance,
               HINSTANCE hprevinstance,
               LPSTR lpcmdline,
               int ncmdshow)
{
Read_File("setup.log");
MSG  msg;
WNDCLASSEX winclass;

winclass.cbSize       =sizeof(WNDCLASSEX);
winclass.style        =CS_HREDRAW | CS_VREDRAW;
winclass.lpfnWndProc  =WindowProc;
winclass.cbClsExtra   =0;
winclass.cbWndExtra   =0;
winclass.hInstance    =hinstance;
winclass.hIcon        =LoadIcon(0,IDI_APPLICATION);
winclass.hCursor      =LoadCursor(0,IDC_ARROW);
winclass.hbrBackground=NULL;
winclass.lpszMenuName =NULL;
winclass.lpszClassName="Windows Class";
winclass.hIconSm      =NULL;

main_instance=hinstance;

RegisterClassEx(&winclass);

if(app==0)
{
hwnd=CreateWindowEx(NULL,"Windows Class","3D Packman",
                  WS_POPUP | WS_VISIBLE,0,0,
               screen_width,screen_height,
               NULL,NULL,hinstance,NULL);
}

if(app==1)
{
hwnd=CreateWindowEx(NULL,"Windows Class","3D Packman",
                  WS_SYSMENU | WS_CAPTION | WS_VISIBLE,0,0,
               screen_width,screen_height,
               NULL,NULL,hinstance,NULL);
}

main_window_handle=hwnd;

Init_Game();
ShowWindow(hwnd,SW_SHOWDEFAULT);
UpdateWindow(hwnd);

ZeroMemory(&msg,sizeof(msg));
while(msg.message!=WM_QUIT)
   {
   if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
      {
        if (msg.message == WM_QUIT)
           break;
   
      TranslateMessage(&msg);

      DispatchMessage(&msg);
      }
    Game_Main();
   }
Shutdown_Game();
UnregisterClass("Windows Class",winclass.hInstance);

return 0;
}

////////////////////////////////////////////////////////////////////////

xmain.h-заголовочный файл Win32 API
Код:
#include <windows.h>
#include <windowsx.h>

extern HWND main_window_handle;
extern HINSTANCE main_instance;
extern HWND hwnd;

LRESULT CALLBACK WindowProc(HWND hwnd,
                      UINT msg,
                            WPARAM wparam,
                            LPARAM lparam);
int WINAPI WinMain(   HINSTANCE hinstance,
               HINSTANCE hprevinstance,
               LPSTR lpcmdline,
               int ncmdshow);

xdirect3d.cpp-функции direct3d
Код:
#include "xfiles.h"
#include "xmain.h"
#include "xdirect3d.h"

LPDIRECT3D9           direct3d=NULL;
LPDIRECT3DDEVICE9     device  =NULL;
D3DCAPS9              caps;
////////////////////////////////////////////////////////////////////////

int Init_Direct3D()
{
direct3d=Direct3DCreate9(D3D_SDK_VERSION);

//direct3d->GetDeviceCaps(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,&caps);

D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp,sizeof(d3dpp));
d3dpp.BackBufferWidth            =640;
d3dpp.BackBufferHeight           =480;
d3dpp.BackBufferFormat           =D3DFMT_A8R8G8B8;
d3dpp.BackBufferCount            =1;
d3dpp.MultiSampleType            =D3DMULTISAMPLE_NONE;
d3dpp.MultiSampleQuality         =0;
d3dpp.SwapEffect                 =D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow              =hwnd;
d3dpp.Windowed                   =app;
d3dpp.SwapEffect                 =D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat           =D3DFMT_UNKNOWN;
d3dpp.EnableAutoDepthStencil     =true;
d3dpp.AutoDepthStencilFormat     =D3DFMT_D24S8;
d3dpp.Flags                      = 0;
d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
d3dpp.PresentationInterval       = D3DPRESENT_INTERVAL_IMMEDIATE;

direct3d->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hwnd,
                     D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                  &d3dpp,&device);

   return 0;

}

////////////////////////////////////////////////////////////////////////

int Draw_Direct3D()
{

   device->Clear(0,0,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(0,0,255),1.0f,0);

   device->BeginScene();

   device->EndScene();

   device->Present(0,0,0,0);

   return 0;

}

////////////////////////////////////////////////////////////////////////

int Shutdown_Direct3D()
{
   if(direct3d)
      direct3d->Release();

   if(direct3d)
      device->Release();

   return 0;

}

////////////////////////////////////////////////////////////////////////

direct3d.h-заголовочный файл direct3d
Код:
#pragma comment(lib,"d3d9.lib")
#include <d3d9.h>

extern LPDIRECT3D9           direct3d;
extern LPDIRECT3DDEVICE9     device;
extern D3DCAPS9              caps;

int Init_Direct3D();
int Draw_Direct3D();
int Shutdown_Direct3D();

xfiles.cpp-функции для работы с файлами
Код:
#include "xfiles.h"

int screen_width;
int screen_height;
int app;
char width[30];
char height[30];
char app1[30];
FILE*cfPtr;
////////////////////////////////////////////////////////////////////////

int Read_File(char*filename)
{

cfPtr=fopen(filename,"r");
fscanf(cfPtr,"%13s%d\n",width,&screen_width);
fscanf(cfPtr,"%14s%d\n",height,&screen_height);
fscanf(cfPtr,"%9s%d\n",app1,&app);
fclose(cfPtr);

return 0;

}

////////////////////////////////////////////////////////////////////////

xfiles.h-заголовочный файл
Код:
#include <stdio.h>

extern int screen_width;
extern int screen_height;
extern int app;

extern FILE*cfPtr;

int Read_File(char*filename);

Буду рад любой помощи!!! =)


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 окт 2006 10:13 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
В чем проблема? Какая ошибка. И выложи куда-нибудь архив с текстом и проектом, чтобы не мучаться и создавать все самому.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 окт 2006 16:58 
Цитата:
В чем проблема?

Проблема в том что призапуске приложения в полноэкраном режиме происходит ошибка. Зато в оконном режиме оно работает нормально.
Цитата:
Какая ошибка.

При запуске приложения в полноэкраном режиме появляется окно в котором сказано: 3D Packman.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извенения за неудобства. После чего предлагается отослать отчёт об ошибке в Microsoft.
Цитата:
И выложи куда-нибудь архив с текстом и проектом, чтобы не мучаться и создавать все самому.

http://rapidshare.de/files/36207397/3D_Packman.rar.html

P.S. Уважаемый MagicWolf каким компилятором вы пользуетесь?


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 окт 2006 22:17 
Спасибо за помошь MagicWolf!!! Ошибку я нашёл и исправил.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 окт 2006 09:22 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Я пользуюсь Visual C++. Для поиска таких ошибок в этом компиляторе, обычно компилируешь прогу в Debug, потом жмешь F5 и компилятор выдает тебе строчку где ошибка.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 окт 2006 12:25 
Цитата:
Я пользуюсь Visual C++.

Я имел ввиду какая версия? У меня например MS Visual 2005 Express.
Цитата:
Для поиска таких ошибок в этом компиляторе, обычно компилируешь прогу в Debug, потом жмешь F5 и компилятор выдает тебе строчку где ошибка.

Он выдаёт строчку где произошёл сбой, а не строчку где ошибка.
Лутче конечно самому написать обработку ошибок и исключений.

Уважаемый MagicWolf не подскажите как написать обработку ошибок в игровом движке? Как сохранить эту информацию в файле Error.log. Какая
вообше информация должна сохраняться в этом файле?


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 окт 2006 14:03 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Ни когда не писал обработчик исключений - не было необходимости. Версии VC разные - 6,7.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 окт 2006 19:04 
Цитата:
Ни когда не писал обработчик исключений - не было необходимости.

Может вы знаете как обрабатывать ошибки в движке?
Цитата:
Версии VC разные - 6,7.

Восьмой версии у вас случайно нет?


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 окт 2006 09:06 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Есть, и она на DVD - 2 гига.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 окт 2006 14:21 
Цитата:
Есть, и она на DVD - 2 гига.

Можете выслать наложенным платежом по почте?


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 окт 2006 15:55 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Могу конечно. Куда слать, напиши на e-mail, только это не быстро :(. могу еще книги выслать ...

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 окт 2006 15:15 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 29 апр 2006 21:28
Сообщения: 404
MagicWolf,А сколько это будет стоять =)? И я хочу!

_________________
С уважением,Блинов Андрей.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 156 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 11  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB