Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2011, 23:58   #1
ALKOrobot
Форумчанин
 
Регистрация: 17.02.2010
Сообщений: 109
По умолчанию вопрос по hge движку..

при компиляции второго примера (в папке tutorial02) сперва выбило ошибку, мол не установлен hge.dll.
Я переместил данный файл в каталог с проэктом.
После чего журнал компиляции пишет мне вот что:
Код:
"hge_tut02.exe": Загружено: "C:\Users\ALKO\Desktop\hge\hge181\tutorials\tutorial02\Debug\hge_tut02.exe", Символы загружены.
"hge_tut02.exe": Загружено: "C:\Windows\System32\ntdll.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\kernel32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\KernelBase.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Users\ALKO\Desktop\hge\hge181\tutorials\tutorial02\hge.dll", Двоичный код не был построен с отладочной информацией.
"hge_tut02.exe": Загружено: "C:\Windows\System32\advapi32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\msvcrt.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\sechost.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\rpcrt4.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\d3d8.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\user32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\gdi32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\lpk.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\usp10.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\version.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\d3d8thk.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\dwmapi.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\shell32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\shlwapi.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\winmm.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\imm32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\msctf.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\ProgramData\VKSaver\vksaver3.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Program Files\Yandex\Punto Switcher\pshook.dll", Двоичный код не был построен с отладочной информацией.
"hge_tut02.exe": Загружено: "C:\Windows\System32\imagehlp.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\ole32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\cryptbase.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\clbcatq.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\oleaut32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\aticfx32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\atiu9pag.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\atiumdag.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\atiumdva.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Выгружено: "C:\Windows\System32\atiumdva.dll"
ALKOrobot вне форума Ответить с цитированием
Старый 18.09.2011, 23:58   #2
ALKOrobot
Форумчанин
 
Регистрация: 17.02.2010
Сообщений: 109
По умолчанию

продолжение записи журнала
Код:
"hge_tut02.exe": Выгружено: "C:\Windows\System32\atiumdag.dll"
"hge_tut02.exe": Загружено: "C:\Windows\System32\atiumdag.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\atiumdva.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Выгружено: "C:\Windows\System32\atiumdva.dll"
"hge_tut02.exe": Выгружено: "C:\Windows\System32\atiumdag.dll"
"hge_tut02.exe": Выгружено: "C:\Windows\System32\aticfx32.dll"
"hge_tut02.exe": Загружено: "C:\Windows\System32\aticfx32.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\atiumdag.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\atiumdva.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Выгружено: "C:\Windows\System32\atiumdva.dll"
"hge_tut02.exe": Выгружено: "C:\Windows\System32\atiumdag.dll"
"hge_tut02.exe": Загружено: "C:\Windows\System32\atiumdag.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Загружено: "C:\Windows\System32\atiumdva.dll", Невозможно найти или открыть файл PDB
"hge_tut02.exe": Выгружено: "C:\Windows\System32\atiumdva.dll"
"hge_tut02.exe": Выгружено: "C:\Windows\System32\atiumdag.dll"
"hge_tut02.exe": Выгружено: "C:\Windows\System32\aticfx32.dll"
Поток 'Поток Win32' (0x14fc) завершился с кодом 0 (0x0).
Поток 'Поток Win32' (0xbd4) завершился с кодом 0 (0x0).
Программа "[3460] hge_tut02.exe: Машинный код" завершилась с кодом 0 (0x0).
ALKOrobot вне форума Ответить с цитированием
Старый 19.09.2011, 00:00   #3
ALKOrobot
Форумчанин
 
Регистрация: 17.02.2010
Сообщений: 109
По умолчанию

а вот и сам вопрос: как корректно скомпилировать?
(компилятор Visual Studio 2010 ultimate)
ALKOrobot вне форума Ответить с цитированием
Старый 19.09.2011, 12:30   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

он корректно собрался
p51x вне форума Ответить с цитированием
Старый 19.09.2011, 14:07   #5
ALKOrobot
Форумчанин
 
Регистрация: 17.02.2010
Сообщений: 109
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
он корректно собрался
но почему же тогда не появляется окно с отображением результата работы самого движка?
ALKOrobot вне форума Ответить с цитированием
Старый 19.09.2011, 19:30   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Пример собрался, запустился и завершился нормально. Почему ничего не показал или вы не увидели надо смотреть код примера.
p51x вне форума Ответить с цитированием
Старый 20.09.2011, 19:15   #7
ALKOrobot
Форумчанин
 
Регистрация: 17.02.2010
Сообщений: 109
По умолчанию

вот он пример
Код:
/*
** Haaf's Game Engine 1.8
** Copyright (C) 2003-2007, Relish Games
** hge.relishgames.com
**
** hge_tut02 - Using input, sound and rendering
*/


// Copy the files "particles.png" and "menu.wav"
// from the folder "precompiled" to the folder with
// executable file. Also copy hge.dll and bass.dll
// to the same folder.


#include "..\..\include\hge.h"

HGE *hge=0;

// Quad is the basic primitive in HGE
// used for rendering graphics.
// Quad contains 4 vertices, numbered
// 0 to 3 clockwise.
hgeQuad quad;

// Handle for a sound effect
HEFFECT snd;

// Some "gameplay" variables and constants
float x=100.0f, y=100.0f;
float dx=0.0f, dy=0.0f;

const float speed=90;
const float friction=0.98f;

// This function plays collision sound with
// parameters based on sprite position and speed
void boom() {
	int pan=int((x-400)/4);
	float pitch=(dx*dx+dy*dy)*0.0005f+0.2f;
	hge->Effect_PlayEx(snd,100,pan,pitch);
}

bool FrameFunc()
{
	// Get the time elapsed since last call of FrameFunc().
	// This will help us to synchronize on different
	// machines and video modes.
	float dt=hge->Timer_GetDelta();

	// Process keys
	if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;
	if (hge->Input_GetKeyState(HGEK_LEFT)) dx-=speed*dt;
	if (hge->Input_GetKeyState(HGEK_RIGHT)) dx+=speed*dt;
	if (hge->Input_GetKeyState(HGEK_UP)) dy-=speed*dt;
	if (hge->Input_GetKeyState(HGEK_DOWN)) dy+=speed*dt;

	// Do some movement calculations and collision detection	
	dx*=friction; dy*=friction; x+=dx; y+=dy;
	if(x>784) {x=784-(x-784);dx=-dx;boom();}
	if(x<16) {x=16+16-x;dx=-dx;boom();}
	if(y>584) {y=584-(y-584);dy=-dy;boom();}
	if(y<16) {y=16+16-y;dy=-dy;boom();}

	// Set up quad's screen coordinates
	quad.v[0].x=x-16; quad.v[0].y=y-16;
	quad.v[1].x=x+16; quad.v[1].y=y-16;
	quad.v[2].x=x+16; quad.v[2].y=y+16;
	quad.v[3].x=x-16; quad.v[3].y=y+16;

	// Continue execution
	return false;
}

// This function will be called by HGE when
// the application window should be redrawn.
// Put your rendering code here.
bool RenderFunc()
{
	// Begin rendering quads.
	// This function must be called
	// before any actual rendering.
	hge->Gfx_BeginScene();

	// Clear screen with black color
	hge->Gfx_Clear(0);

	// Render quads here. This time just
	// one of them will serve our needs.
	hge->Gfx_RenderQuad(&quad);

	// End rendering and update the screen
	hge->Gfx_EndScene();

	// RenderFunc should always return false
	return false;
}


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
	// Get HGE interface
	hge = hgeCreate(HGE_VERSION);

	// Set up log file, frame function, render function and window title
	hge->System_SetState(HGE_LOGFILE, "hge_tut02.log");
	hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);
	hge->System_SetState(HGE_RENDERFUNC, RenderFunc);
	hge->System_SetState(HGE_TITLE, "HGE Tutorial 02 - Using input, sound and rendering");

	// Set up video mode
	hge->System_SetState(HGE_WINDOWED, true);
	hge->System_SetState(HGE_SCREENWIDTH, 800);
	hge->System_SetState(HGE_SCREENHEIGHT, 600);
	hge->System_SetState(HGE_SCREENBPP, 32);

	if(hge->System_Initiate())
	{
		// Load sound and texture
		snd=hge->Effect_Load("menu.wav");
		quad.tex=hge->Texture_Load("particles.png");
		if(!snd || !quad.tex)
		{
			// If one of the data files is not found, display
			// an error message and shutdown.
			MessageBox(NULL, "Can't load MENU.WAV or PARTICLES.PNG", "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
			hge->System_Shutdown();
			hge->Release();
			return 0;
		}

		// Set up quad which we will use for rendering sprite
		quad.blend=BLEND_ALPHAADD | BLEND_COLORMUL | BLEND_ZWRITE;

		for(int i=0;i<4;i++)
		{
			// Set up z-coordinate of vertices
			quad.v[i].z=0.5f;
			// Set up color. The format of DWORD col is 0xAARRGGBB
			quad.v[i].col=0xFFFFA000;
		}

		// Set up quad's texture coordinates.
		// 0,0 means top left corner and 1,1 -
		// bottom right corner of the texture.
		quad.v[0].tx=96.0/128.0; quad.v[0].ty=64.0/128.0; 
		quad.v[1].tx=128.0/128.0; quad.v[1].ty=64.0/128.0; 
		quad.v[2].tx=128.0/128.0; quad.v[2].ty=96.0/128.0; 
		quad.v[3].tx=96.0/128.0; quad.v[3].ty=96.0/128.0; 

		// Let's rock now!
		hge->System_Start();

		// Free loaded texture and sound
		hge->Texture_Free(quad.tex);
		hge->Effect_Free(snd);
	}
	else MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_SYSTEMMODAL);

	// Clean up and shutdown
	hge->System_Shutdown();
	hge->Release();
	return 0;
}
ALKOrobot вне форума Ответить с цитированием
Старый 24.09.2011, 03:12   #8
ALKOrobot
Форумчанин
 
Регистрация: 17.02.2010
Сообщений: 109
По умолчанию

она компилируется, но окно мельком появляется на пару милисекунд затем исчезает со звуком, который винда любит издавать при ошибке (к примеру не может найти dll), но сообщения об ошибке ни где не вылазит.
ALKOrobot вне форума Ответить с цитированием
Старый 25.09.2011, 12:03   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

ну поставьте задержку перед ретурном и посмотрите пишет что или нет...
p51x вне форума Ответить с цитированием
Старый 27.09.2011, 01:54   #10
ALKOrobot
Форумчанин
 
Регистрация: 17.02.2010
Сообщений: 109
По умолчанию

это я в первую очередь ставил.
Пишет то же самое, только строку дописывает после нажатия ANY кнопки.
Цитата:
Поток 'Поток Win32' (0x14fc) завершился с кодом 0 (0x0).
Поток 'Поток Win32' (0xbd4) завершился с кодом 0 (0x0).
Программа "[3460] hge_tut02.exe: Машинный код" завершилась с кодом 0 (0x0).
ALKOrobot вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HGE проблема с спрайтами... VintProg Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 31.08.2011 06:51
Подключение webbrowser к движку grafgrial Общие вопросы Delphi 2 13.01.2011 21:53
HGE к дельфи... VintProg Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 18.12.2010 18:07
hge и C++ Olejik Общие вопросы C/C++ 2 09.07.2010 19:50
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10