121 Commits

Author SHA1 Message Date
willemsteller
4b580ef5ad Added part dragging 2018-05-02 09:47:53 +02:00
andreja6
5232d5e97f No longer exit on audio failure 2018-05-01 23:56:32 -07:00
andreja6
011d817321 Merge pull request #18 from andreja6/datamodel-V1
Finished Datamodel v1
2018-05-01 21:44:04 -07:00
andreja6
60c7a386f0 Changed how selection boxes work 2018-05-01 21:43:18 -07:00
andreja6
3ee06b6c62 Made guiroot a child of datamodel 2018-05-01 21:00:46 -07:00
andreja6
57b407c894 Made timer and score a part of Workspace 2018-05-01 20:10:52 -07:00
andreja6
9999eb62e4 Changed how render works 2018-05-01 19:58:58 -07:00
andreja6
930aee06dc Finished new datamodel
Not very efficient, but its somewhere
2018-05-01 15:02:04 -07:00
andreja6
e6ca1cd502 changed AudioPlayer::PlaySound() to AudioPlayer::playSound() 2018-05-01 12:14:54 -07:00
andreja6
c875454b40 Created bare workspace and datamodel classes 2018-05-01 11:47:23 -07:00
andreja6
388962a5e7 Finished base for new datamodel 2018-05-01 11:33:24 -07:00
andreja6
9986f2ee5f Made class name getter, can not be set outside of class 2018-04-30 21:43:02 -07:00
andreja6
529821ab9f Made size getters and setters 2018-04-30 18:05:14 -07:00
andreja6
d72d09f95d Merge pull request #17 from Zmxhawrhbg/master
add a build instructions page
2018-04-30 11:31:01 -07:00
zmxhawrhbg
d810c213f6 remove linkes 2018-04-30 11:27:53 -07:00
zmxhawrhbg
ce66ec6f5d do some stuff to the file
now it can properly exist
2018-04-30 08:23:18 -07:00
zmxhawrhbg
faaa59f58b add some sort of building instructions 2018-04-30 08:12:30 -07:00
andreja6
8dff73d5f5 added test squares to resize and arrows 2018-04-30 01:07:23 -07:00
andreja6
4bdb1d6939 Changed how panning works 2018-04-29 23:55:53 -07:00
andreja6
f0f16a3a69 Tried changing how window starts 2018-04-29 20:00:00 -07:00
andreja6
09c6a73e80 Made rotation closer to real 2018-04-29 18:58:22 -07:00
andreja6
3108021007 Made part selection better 2018-04-29 18:33:13 -07:00
andreja6
fa3a0f9aa4 Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-04-29 16:31:14 -07:00
MusicalProgrammer
f45e8afb37 Quick part selection fix
A Part in front of the camera can now be selected if other parts are behind it.
2018-04-29 18:49:57 -04:00
andreja6
739f116895 Added rotate sound
Next required thing: Collision check
2018-04-29 12:00:30 -07:00
andreja6
f281103ca1 Rotation and Selection 2018-04-29 11:40:35 -07:00
andreja6
b7d14dcf2a Added part selection 2018-04-29 01:54:02 -07:00
andreja6
5659a1e13c Changed README.md 2018-04-28 23:26:17 -07:00
andreja6
fb48c4d85d Changed how camera pan works 2018-04-28 23:22:54 -07:00
andreja6
ce3ca419e8 Merge pull request #16 from andreja6/duplicate-button
Duplicate button
2018-04-28 20:18:05 -07:00
andreja6
c3b9e1f6c8 Removed unnecessary code 2018-04-28 20:16:48 -07:00
andreja6
9ba0db1ab9 semi-working pan right 2018-04-28 20:09:51 -07:00
andreja6
70d9aded42 Attempted pan left, what
Camera makes no sence
2018-04-28 19:57:51 -07:00
andreja6
a99f58b62f "Delete" key also deletes 2018-04-27 15:27:02 -07:00
andreja6
fcb1ad05fd Changed how boxes are rendered
PhysicalInstance now has a getBox() method that returns a Box the same way it would have been rendered, also added is a getCFrameRenderBased() which returns the CFrame that would have been used in the render pass
2018-04-27 15:05:51 -07:00
DarkKnight64
50f8c7ec10 create README 2018-04-27 20:28:40 +01:00
andreja6
4094631f30 Made most fake buttons actual buttons 2018-04-27 12:19:49 -07:00
andreja6
1cae1135b9 Merge pull request #15 from andreja6/sound
Added sound and sound effects
2018-04-27 09:19:54 -07:00
andreja6
f78ca49ec0 Added try/catch 2018-04-27 09:18:48 -07:00
andreja6
e9c7607a4b Added init check 2018-04-27 00:04:04 -07:00
andreja6
6d49e266dd Made AudioPlayer's play and init method static 2018-04-26 21:41:07 -07:00
andreja6
78cdb01ef1 changed how bitrate is set 2018-04-26 21:28:22 -07:00
andreja6
1ed434c858 removed useless arial fonts 2018-04-26 20:11:36 -07:00
andreja6
f4acbaacdc Added camera click 2018-04-26 20:07:19 -07:00
andreja6
e777f3ccc4 Added sound system
Added delete sound
2018-04-26 20:01:37 -07:00
andreja6
9e61c9e4d2 Fixed bad operator 2018-04-26 13:36:57 -07:00
andreja6
3fb730ceba Merge pull request #14 from andreja6/raycasting-part-selection
Added delete functionality
2018-04-26 13:35:15 -07:00
andreja6
811ac871a3 Added delete functionality 2018-04-26 11:57:04 -07:00
andreja6
54ed0299c0 Merge pull request #13 from andreja6/bevels
Bevels
2018-04-26 11:18:28 -07:00
andreja6
09fcd72e43 Changed shade mode 2018-04-26 11:17:54 -07:00
andreja6
0371836dc8 Attempted to make bevel code 2018-04-26 11:15:41 -07:00
andreja6
74e423e9f8 Added code to unlock mouse on message box 2018-04-25 21:32:28 -07:00
andreja6
9868937c08 Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-04-25 14:39:04 -07:00
andreja6
5c500859a3 Removed dialog test on 'U' 2018-04-25 14:38:55 -07:00
andreja6
1274a8deca Merge pull request #12 from andreja6/buttons
Added button listeners, added some buttons, Made window use HWND rather than SDL
2018-04-25 14:36:03 -07:00
andreja6
4bbd82b715 Merge pull request #11 from andreja6/window
Now uses HWND rather than an SDL Window
2018-04-25 14:35:21 -07:00
andreja6
827e610b8c Added selected in button class
Basically active, it will probably be renamed
2018-04-25 14:34:27 -07:00
andreja6
10f3a25c54 Changed how selection boxes are rendered 2018-04-25 14:17:33 -07:00
andreja6
e650d4afbc Removed useless images 2018-04-25 05:58:33 -07:00
andreja6
d738a804e6 Changed some images, Added camera button listeners 2018-04-24 22:00:46 -07:00
andreja6
1f7c5b28f8 Test of forward button 2018-04-24 20:24:34 -07:00
andreja6
a9d533e447 YAY 2018-04-24 19:35:53 -07:00
andreja6
a9f91c8a9e Changed how window works
Controls now work
2018-04-24 19:17:49 -07:00
andreja6
04f1ac813e Controller still broken but window size works 2018-04-24 19:02:48 -07:00
andreja6
2b2672b9fd Now resizes with hwnd
but controls are dead asgassdsad
2018-04-24 18:23:07 -07:00
andreja6
d0bba08f3a Controlls dont work 2018-04-24 18:11:29 -07:00
andreja6
3f222b75d8 Tried adding dialog and main window 2018-04-24 18:01:26 -07:00
andreja6
560245e005 Im not sure what changed 2018-04-24 17:20:04 -07:00
andreja6
cbd680a6ac Changed the way blocks are rendered 2018-04-24 17:13:04 -07:00
andreja6
f6b301a836 Added click listener to TextButton 2018-04-24 12:44:24 -07:00
andreja6
d1a1ebd016 Added mouse click functions to image button
Added destructor for images
Deleting listener now on exit
2018-04-24 12:39:53 -07:00
andreja6
9ffe37c21a Fixed issue with disabled images 2018-04-24 00:59:03 -07:00
andreja6
30aa99ff0b Changed how the scale disabled icon looks 2018-04-24 00:35:57 -07:00
andreja6
3ee0075f1d Added scale tool image 2018-04-24 00:34:34 -07:00
andreja6
05da8e2270 Added "disabled" bool to button
Changed null check
2018-04-23 23:40:58 -07:00
andreja6
68ac692314 Added final GUI components 2018-04-23 23:25:06 -07:00
andreja6
a4176510b9 Changed class organization 2018-04-23 22:05:41 -07:00
andreja6
55e890bdc1 Made BaseButton class
Buttons now children of BaseButton
Buttons now render over and down modes
Text buttons now exist
Buttons render differently
2018-04-23 22:02:12 -07:00
andreja6
98d3358fd5 Added resize, cursor, and arrows mode
Added selection box rendering
Added arrow rendering
added resize rendering
2018-04-23 20:09:01 -07:00
andreja6
68edb442d3 Mouse now stays where you left it 2018-04-23 17:53:41 -07:00
andreja6
20e8c63d5c Changed how the camera works
Added arrow key controlled camera
Removed WASD camera movement
FPS is now locked to 30 Frames P/S
Mouse wheel now moves the camera
2018-04-23 17:51:03 -07:00
andreja6
5d8e4bc040 Merge pull request #10 from andreja6/HWND
Hwnd
2018-04-23 14:09:23 -07:00
andreja6
71cf1e39f3 Delete stdafx.h 2018-04-23 21:09:05 +00:00
andreja6
21be7a4c73 Delete Work.cpp 2018-04-23 21:08:08 +00:00
andreja6
e7df4b26f0 Merge pull request #8 from andreja6/dialogui
Added test dialog
2018-04-23 14:04:41 -07:00
andreja6
11788fa37c Changed the way controllerflags are rendered, they work now 2018-04-23 11:35:02 -07:00
andreja6
e29ad28a06 Test of hover text 2018-04-22 23:32:36 -07:00
andreja6
9d30c2aed7 Tried doing stuff with fonts 2018-04-22 22:52:50 -07:00
andreja6
c62df67db2 Changed default DataModel name to "undefined" 2018-04-22 21:09:43 -07:00
andreja6
c9e997c794 Added mouse cursors 2018-04-22 20:44:29 -07:00
andreja6
8a6d7d0d8d added new line 2018-04-22 19:57:12 -07:00
andreja6
6cea4397f2 Changed window to SDL, can now access bare HWND component 2018-04-22 19:51:14 -07:00
andreja6
f0fffa71d4 Tried something 2018-04-22 15:05:45 -07:00
andreja6
49c117d5d7 Removed MFC 2018-04-22 12:32:37 -07:00
andreja6
19913cb665 Added base class for button listening
Fixed a few memory leaks
2018-04-20 18:55:55 -07:00
andreja6
810488e20c Added test dialog 2018-04-20 06:59:37 -07:00
andreja6
a91bc4c5b5 Reverted to old sln 2018-04-19 22:26:57 -07:00
andreja6
45e28f96dc Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-04-19 21:57:29 -07:00
andreja6
b521f1c86f Fixed solution 2018-04-19 21:57:26 -07:00
andreja6
1d4082bdd0 Merge pull request #7 from andreja6/guiinstance
Fixed names
2018-04-19 21:45:04 -07:00
andreja6
df6cee3e11 Fixed names 2018-04-19 21:44:30 -07:00
andreja6
15e1868fc2 Merge pull request #6 from andreja6/guiinstance
Merge Guiinstance
2018-04-19 21:42:11 -07:00
andreja6
113115b6df Changed the way releases compile 2018-04-19 21:41:03 -07:00
andreja6
2445d076a1 Reset Solution 2018-04-19 21:36:31 -07:00
andreja6
8fc8549a6c Added deprication notice to debug mode 2018-04-19 20:42:11 -07:00
andreja6
bb3aac25c5 put drawButton in its class, and not in main loop 2018-04-19 20:30:30 -07:00
andreja6
09fa95d4a0 Added dialog 2018-04-19 19:40:15 -07:00
andreja6
acd87e351b Made test work on offset 2018-04-19 18:17:19 -07:00
andreja6
8d53e8ff0f Removed useless debug comments and code 2018-04-19 18:07:48 -07:00
andreja6
b900e918b4 Converted most menu buttons to TextButton, No longer hard coded
Removed useless values
MUCH faster now!
2018-04-19 18:03:12 -07:00
andreja6
067a744cda Changed className TextButtonInstance to TextButton to match naming convention 2018-04-19 17:19:02 -07:00
andreja6
3e4c128347 Added bare bones TextButton rendering
(Yes, it took that many lines of code)
2018-04-19 17:18:26 -07:00
andreja6
acbe509c05 Fixed errors
Changed bit depth
2018-04-19 00:15:16 -07:00
andreja6
1bb0c6eb6f Removed broken image 2018-04-18 23:56:10 -07:00
andreja6
8889494848 Removed unneded font 2018-04-18 23:55:21 -07:00
andreja6
8a780d6f0b Added some images 2018-04-18 23:53:32 -07:00
andreja6
0a2b508290 Added down state
-Added mouse down state
-Commented out useless function
-Added temporary default value to ovr_id
-Added temporary images go_dn and go_dn_id
-Removed debug spacing increase and decrease key press code (causes crashes by design and was useless)
2018-04-18 22:50:31 -07:00
andreja6
33e3aeb16e Commented out useless function 2018-04-18 20:42:15 -07:00
andreja6
4526fa68df Added mouseover testing, will be moved to instances 2018-04-18 20:39:36 -07:00
andreja6
acfd499cfb GO BUTTON TEXTURE!
YES!
2018-04-18 19:56:48 -07:00
andreja6
b12c753179 Added visible and float booleans 2018-04-13 20:09:20 -07:00
64 changed files with 2997 additions and 830 deletions

112
AudioPlayer.cpp Normal file
View File

@@ -0,0 +1,112 @@
#include "AudioPlayer.h"
#include "SDL.h"
#include "SDL_audio.h"
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#define NUM_SOUNDS 10
static SDL_AudioSpec fmt;
static bool initiated = false;
AudioPlayer::AudioPlayer(void)
{
}
AudioPlayer::~AudioPlayer(void)
{
SDL_CloseAudio();
}
void AudioPlayer::init()
{
initiated = true;
extern void mixaudio(void *unused, Uint8 *stream, int len);
fmt.freq = 22050;
fmt.format = AUDIO_S16;
fmt.channels = 2;
fmt.samples = 1024; /* A good value for games */
fmt.callback = mixaudio;
fmt.userdata = NULL;
/* Open the audio device and start playing sound! */
if ( SDL_OpenAudio(&fmt, NULL) < 0 ) {
fprintf(stderr, "Unable to open audio: %s\n", SDL_GetError());
}
SDL_PauseAudio(0);
}
static struct sample {
Uint8 *data;
Uint32 dpos;
Uint32 dlen;
} sounds[NUM_SOUNDS];
void mixaudio(void *unused, Uint8 *stream, int len)
{
int i;
Uint32 amount;
for ( i=0; i<NUM_SOUNDS; ++i ) {
amount = (sounds[i].dlen-sounds[i].dpos);
if ( amount > (Uint32)len ) {
amount = len;
}
SDL_MixAudio(stream, &sounds[i].data[sounds[i].dpos], amount, SDL_MIX_MAXVOLUME);
sounds[i].dpos += amount;
}
}
void AudioPlayer::playSound(std::string fileString)
{
if(initiated)
{
char *file = new char[fileString.length() + 1];
strcpy(file, fileString.c_str());
int index;
SDL_AudioSpec wave;
Uint8 *data;
Uint32 dlen;
SDL_AudioCVT cvt;
/* Look for an empty (or finished) sound slot */
for ( index=0; index<NUM_SOUNDS; ++index ) {
if ( sounds[index].dpos == sounds[index].dlen ) {
break;
}
}
if ( index == NUM_SOUNDS )
return;
/* Load the sound file and convert it to 16-bit stereo at 22kHz */
if ( SDL_LoadWAV(file, &wave, &data, &dlen) == NULL ) {
fprintf(stderr, "Couldn't load %s: %s\n", file, SDL_GetError());
return;
}
SDL_BuildAudioCVT(&cvt, wave.format, wave.channels, wave.freq,
AUDIO_S16, 2, fmt.freq);
cvt.buf = (Uint8*)malloc(dlen*cvt.len_mult);
memcpy(cvt.buf, data, dlen);
cvt.len = dlen;
SDL_ConvertAudio(&cvt);
SDL_FreeWAV(data);
/* Put the sound data in the slot (it starts playing immediately) */
if ( sounds[index].data ) {
free(sounds[index].data);
}
SDL_LockAudio();
sounds[index].data = cvt.buf;
sounds[index].dlen = cvt.len_cvt;
sounds[index].dpos = 0;
SDL_UnlockAudio();
delete [] file;
}
else
{
OutputDebugString("Audio player not initialized, sound will not play\r\n");
}
}

11
AudioPlayer.h Normal file
View File

@@ -0,0 +1,11 @@
#include <G3DAll.h>
#pragma once
class AudioPlayer
{
public:
AudioPlayer(void);
~AudioPlayer(void);
static void playSound(std::string);
static void init();
};

51
BaseButtonInstance.cpp Normal file
View File

@@ -0,0 +1,51 @@
#include "BaseButtonInstance.h"
bool floatBottom = false;
bool floatRight = false;
bool floatCenter = false;
bool disabled = false;
bool selected = false;
ButtonListener* listener = NULL;
BaseButtonInstance::BaseButtonInstance(void)
{
listener = NULL;
}
BaseButtonInstance::~BaseButtonInstance(void)
{
delete listener;
}
void BaseButtonInstance::setButtonListener(ButtonListener* buttonListener)
{
listener = buttonListener;
}
void BaseButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown){}
bool BaseButtonInstance::mouseInButton(float mousex, float mousey, RenderDevice* rd){return false;}
void BaseButtonInstance::onMouseClick()
{
if(listener != NULL)
{
listener->onButton1MouseClick(this);
}
}
bool BaseButtonInstance::mouseInArea(float point1x, float point1y, float point2x, float point2y, float mousex, float mousey)
{
if(mousex >= point1x && mousey >= point1y)
{
if(mousex < point2x && mousey < point2y)
{
return true;
}
}
return false;
}

23
BaseButtonInstance.h Normal file
View File

@@ -0,0 +1,23 @@
#pragma once
#include "instance.h"
#pragma once
#include "ButtonListener.h"
class ButtonListener;
class BaseButtonInstance : public Instance
{
public:
BaseButtonInstance(void);
virtual ~BaseButtonInstance(void);
virtual void drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown);
virtual bool mouseInButton(float, float, RenderDevice* rd);
virtual void onMouseClick();
void setButtonListener(ButtonListener*);
bool floatBottom;
bool floatRight;
bool floatCenter;
bool disabled;
bool selected;
protected:
bool mouseInArea(float, float, float, float, float, float);
class ButtonListener* listener;
};

15
ButtonListener.cpp Normal file
View File

@@ -0,0 +1,15 @@
#include "ButtonListener.h"
ButtonListener::ButtonListener(void)
{
}
ButtonListener::~ButtonListener(void)
{
}
void ButtonListener::onButton1MouseClick(BaseButtonInstance* button)
{
}

18
ButtonListener.h Normal file
View File

@@ -0,0 +1,18 @@
#pragma once
#include "BaseButtonInstance.h"
class BaseButtonInstance;
class ButtonListener
{
public:
ButtonListener(void);
~ButtonListener(void);
virtual void onButton1MouseClick(BaseButtonInstance*);
//virtual void onMouseOver(); //TODO
//virtual void onMouseOut(); //TODO
//virtual void onButton1MouseDown(); //TODO
//virtual void onButton1MouseUp(); //TODO
//virtual void onButton2MouseClick(); //TODO
//virtual void onButton2MouseDown(); //TODO
//virtual void onButton2MouseUp(); //TODO
//What to do now...
};

27
DataModelInstance.cpp Normal file
View File

@@ -0,0 +1,27 @@
#include "DataModelInstance.h"
WorkspaceInstance* workspace;
Instance* guiRoot;
DataModelInstance::DataModelInstance(void)
{
workspace = new WorkspaceInstance();
guiRoot = new Instance();
children.push_back(workspace);
className = "dataModel";
}
DataModelInstance::~DataModelInstance(void)
{
}
WorkspaceInstance* DataModelInstance::getWorkspace()
{
return workspace;
}
Instance* DataModelInstance::getGuiRoot()
{
return guiRoot;
}

13
DataModelInstance.h Normal file
View File

@@ -0,0 +1,13 @@
#pragma once
#include "instance.h"
#include "WorkspaceInstance.h"
class DataModelInstance :
public Instance
{
public:
DataModelInstance(void);
~DataModelInstance(void);
WorkspaceInstance* getWorkspace();
Instance* getGuiRoot();
};

Binary file not shown.

View File

@@ -52,33 +52,15 @@ END
// Dialog // Dialog
// //
IDD_TOOLBOX DIALOGEX 0, 0, 368, 77 IDD_TOOLBOX DIALOGEX 0, 0, 398, 64
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
FONT 8, "MS Shell Dlg", 0, 0, 0x0 FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN BEGIN
CONTROL "",IDC_AXBROWSER1,"{A8F8E829-06DA-11D2-8D70-00A0C98B28E2}",WS_TABSTOP,7,7,354,63 CONTROL "",IDC_TOOLBOX_BROWSER,
"{A8F8E829-06DA-11D2-8D70-00A0C98B28E2}",WS_TABSTOP,0,0,398,64
END END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
IDD_TOOLBOX, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 361
TOPMARGIN, 7
BOTTOMMARGIN, 70
END
END
#endif // APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Dialog Info // Dialog Info
@@ -86,12 +68,12 @@ END
IDD_TOOLBOX DLGINIT IDD_TOOLBOX DLGINIT
BEGIN BEGIN
IDC_AXBROWSER1, 0x376, 76, 0 IDC_TOOLBOX_BROWSER, 0x376, 76, 0
0x0000, 0x0000, 0xb293, 0x0000, 0x0048, 0x0000, 0x0003, 0x0008, 0xf20b, 0x0000, 0x0000, 0xb293, 0x0000, 0x0048, 0x0000, 0x0003, 0x0008, 0xf20b,
0x4757, 0x0020, 0x0000, 0x005f, 0x0065, 0x0078, 0x0074, 0x0065, 0x006e, 0x4757, 0x0020, 0x0000, 0x005f, 0x0065, 0x0078, 0x0074, 0x0065, 0x006e,
0x0074, 0x0078, 0x36e1, 0x0000, 0x0003, 0x0008, 0xf20a, 0x4757, 0xffe0, 0x0074, 0x0078, 0x3db4, 0x0000, 0x0003, 0x0008, 0xf20a, 0x4757, 0xffe0,
0xffff, 0x005f, 0x0065, 0x0078, 0x0074, 0x0065, 0x006e, 0x0074, 0x0079, 0xffff, 0x005f, 0x0065, 0x0078, 0x0074, 0x0065, 0x006e, 0x0074, 0x0079,
0x0a8b, 0x0000, 0x0ac0, 0x0000,
0 0
END END
@@ -141,6 +123,15 @@ BEGIN
END END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1 ICON "icon1.ico"
#endif // English (Canada) resources #endif // English (Canada) resources
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

View File

@@ -1,105 +1,105 @@
# Microsoft Developer Studio Project File - Name="G3DTest" - Package Owner=<4> # Microsoft Developer Studio Project File - Name="G3DTest" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00 # Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT ** # ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101 # TARGTYPE "Win32 (x86) Application" 0x0101
CFG=G3DTest - Win32 Debug CFG=G3DTest - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run !MESSAGE use the Export Makefile command and run
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "G3DTest.mak". !MESSAGE NMAKE /f "G3DTest.mak".
!MESSAGE !MESSAGE
!MESSAGE You can specify a configuration when running NMAKE !MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "G3DTest.mak" CFG="G3DTest - Win32 Debug" !MESSAGE NMAKE /f "G3DTest.mak" CFG="G3DTest - Win32 Debug"
!MESSAGE !MESSAGE
!MESSAGE Possible choices for configuration are: !MESSAGE Possible choices for configuration are:
!MESSAGE !MESSAGE
!MESSAGE "G3DTest - Win32 Release" (based on "Win32 (x86) Application") !MESSAGE "G3DTest - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "G3DTest - Win32 Debug" (based on "Win32 (x86) Application") !MESSAGE "G3DTest - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE !MESSAGE
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "" # PROP Scc_ProjName ""
# PROP Scc_LocalPath "" # PROP Scc_LocalPath ""
CPP=cl.exe CPP=cl.exe
MTL=midl.exe MTL=midl.exe
RSC=rc.exe RSC=rc.exe
!IF "$(CFG)" == "G3DTest - Win32 Release" !IF "$(CFG)" == "G3DTest - Win32 Release"
# PROP BASE Use_MFC 0 # PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0 # PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release" # PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release" # PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir "" # PROP BASE Target_Dir ""
# PROP Use_MFC 0 # PROP Use_MFC 0
# PROP Use_Debug_Libraries 0 # PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release" # PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release" # PROP Intermediate_Dir "Release"
# PROP Target_Dir "" # PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x1009 /d "NDEBUG" # ADD BASE RSC /l 0x1009 /d "NDEBUG"
# ADD RSC /l 0x1009 /d "NDEBUG" # ADD RSC /l 0x1009 /d "NDEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
!ELSEIF "$(CFG)" == "G3DTest - Win32 Debug" !ELSEIF "$(CFG)" == "G3DTest - Win32 Debug"
# PROP BASE Use_MFC 0 # PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1 # PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug" # PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug" # PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir "" # PROP BASE Target_Dir ""
# PROP Use_MFC 0 # PROP Use_MFC 0
# PROP Use_Debug_Libraries 1 # PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug" # PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug" # PROP Intermediate_Dir "Debug"
# PROP Target_Dir "" # PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x1009 /d "_DEBUG" # ADD BASE RSC /l 0x1009 /d "_DEBUG"
# ADD RSC /l 0x1009 /d "_DEBUG" # ADD RSC /l 0x1009 /d "_DEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
!ENDIF !ENDIF
# Begin Target # Begin Target
# Name "G3DTest - Win32 Release" # Name "G3DTest - Win32 Release"
# Name "G3DTest - Win32 Debug" # Name "G3DTest - Win32 Debug"
# Begin Group "Source Files" # Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File # Begin Source File
SOURCE=.\main.cpp SOURCE=.\main.cpp
# End Source File # End Source File
# End Group # End Group
# Begin Group "Header Files" # Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl" # PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group # End Group
# Begin Group "Resource Files" # Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group # End Group
# End Target # End Target
# End Project # End Project

View File

@@ -1,29 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00 Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
############################################################################### ###############################################################################
Project: "G3DTest"=.\G3DTest.dsp - Package Owner=<4> Project: "G3DTest"=.\G3DTest.dsp - Package Owner=<4>
Package=<5> Package=<5>
{{{ {{{
}}} }}}
Package=<4> Package=<4>
{{{ {{{
}}} }}}
############################################################################### ###############################################################################
Global: Global:
Package=<5> Package=<5>
{{{ {{{
}}} }}}
Package=<3> Package=<3>
{{{ {{{
}}} }}}
############################################################################### ###############################################################################

View File

@@ -1,32 +1,32 @@
<html> <html>
<body> <body>
<pre> <pre>
<h1>Build Log</h1> <h1>Build Log</h1>
<h3> <h3>
--------------------Configuration: G3DTest - Win32 Debug-------------------- --------------------Configuration: G3DTest - Win32 Debug--------------------
</h3> </h3>
<h3>Command Lines</h3> <h3>Command Lines</h3>
Creating temporary file "C:\Users\Andreja\AppData\Local\Temp\RSPFD70.tmp" with contents Creating temporary file "C:\Users\Andreja\AppData\Local\Temp\RSPFD70.tmp" with contents
[ [
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fp"Debug/G3DTest.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c /nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fp"Debug/G3DTest.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
"C:\USERS\ANDREJA\G3D\G3DTest\main.cpp" "C:\USERS\ANDREJA\G3D\G3DTest\main.cpp"
] ]
Creating command line "cl.exe @C:\Users\Andreja\AppData\Local\Temp\RSPFD70.tmp" Creating command line "cl.exe @C:\Users\Andreja\AppData\Local\Temp\RSPFD70.tmp"
Creating temporary file "C:\Users\Andreja\AppData\Local\Temp\RSPFD71.tmp" with contents Creating temporary file "C:\Users\Andreja\AppData\Local\Temp\RSPFD71.tmp" with contents
[ [
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/G3DTest.pdb" /debug /machine:I386 /out:"Debug/G3DTest.exe" /pdbtype:sept kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/G3DTest.pdb" /debug /machine:I386 /out:"Debug/G3DTest.exe" /pdbtype:sept
.\Debug\main.obj .\Debug\main.obj
] ]
Creating command line "link.exe @C:\Users\Andreja\AppData\Local\Temp\RSPFD71.tmp" Creating command line "link.exe @C:\Users\Andreja\AppData\Local\Temp\RSPFD71.tmp"
<h3>Output Window</h3> <h3>Output Window</h3>
Compiling... Compiling...
main.cpp main.cpp
Linking... Linking...
<h3>Results</h3> <h3>Results</h3>
G3DTest.exe - 0 error(s), 0 warning(s) G3DTest.exe - 0 error(s), 0 warning(s)
</pre> </pre>
</body> </body>
</html> </html>

View File

@@ -1,20 +1,20 @@
 
Microsoft Visual Studio Solution File, Format Version 9.00 Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005 # Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "G3DTest", "G3DTest.vcproj", "{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "G3DTest", "G3DTest.vcproj", "{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32 Release|Win32 = Release|Win32
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Debug|Win32.ActiveCfg = Debug|Win32 {6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Debug|Win32.ActiveCfg = Debug|Win32
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Debug|Win32.Build.0 = Debug|Win32 {6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Debug|Win32.Build.0 = Debug|Win32
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Release|Win32.ActiveCfg = Release|Win32 {6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Release|Win32.ActiveCfg = Release|Win32
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Release|Win32.Build.0 = Release|Win32 {6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

Binary file not shown.

View File

@@ -1,303 +1,363 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="8.00" Version="8.00"
Name="G3DTest" Name="G3DTest"
ProjectGUID="{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}" ProjectGUID="{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}"
RootNamespace="G3DTest" RootNamespace="G3DTest"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory=".\Release" OutputDirectory=".\Release"
IntermediateDirectory=".\Release" IntermediateDirectory=".\Release"
ConfigurationType="1" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false" ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2" CharacterSet="2"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG" PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true" MkTypLibCompatible="true"
SuppressStartupBanner="true" SuppressStartupBanner="true"
TargetEnvironment="1" TargetEnvironment="1"
TypeLibraryName=".\Release/G3DTest.tlb" TypeLibraryName=".\Release/G3DTest.tlb"
HeaderFileName="" HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="2"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\Release/G3DTest.pch" PrecompiledHeaderFile=".\Release/G3DTest.pch"
AssemblerListingLocation=".\Release/" AssemblerListingLocation=".\Release/"
ObjectFile=".\Release/" ObjectFile=".\Release/"
ProgramDataBaseFileName=".\Release/" ProgramDataBaseFileName=".\Release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true" SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG" PreprocessorDefinitions="NDEBUG"
Culture="4105" Culture="4105"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
OutputFile=".\Release/G3DTest.exe" OutputFile="./G3DTest.exe"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="true" SuppressStartupBanner="true"
ProgramDatabaseFile=".\Release/G3DTest.pdb" ProgramDatabaseFile=".\Release/G3DTest.pdb"
SubSystem="2" SubSystem="2"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true" SuppressStartupBanner="true"
OutputFile=".\Release/G3DTest.bsc" OutputFile=".\Release/G3DTest.bsc"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCWebDeploymentTool" Name="VCWebDeploymentTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory=".\Debug" OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug" IntermediateDirectory=".\Debug"
ConfigurationType="1" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false" ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2" CharacterSet="2"
ManagedExtensions="0" ManagedExtensions="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG" PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true" MkTypLibCompatible="true"
SuppressStartupBanner="true" SuppressStartupBanner="true"
TargetEnvironment="1" TargetEnvironment="1"
TypeLibraryName=".\Debug/G3DTest.tlb" TypeLibraryName=".\Debug/G3DTest.tlb"
HeaderFileName="" HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
MinimalRebuild="false" MinimalRebuild="false"
BasicRuntimeChecks="0" BasicRuntimeChecks="0"
RuntimeLibrary="2" RuntimeLibrary="2"
PrecompiledHeaderFile=".\Debug/G3DTest.pch" PrecompiledHeaderFile=".\Debug/G3DTest.pch"
AssemblerListingLocation=".\Debug/" AssemblerListingLocation=".\Debug/"
ObjectFile=".\Debug/" ObjectFile=".\Debug/"
ProgramDataBaseFileName=".\Debug/" ProgramDataBaseFileName=".\Debug/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true" SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG" PreprocessorDefinitions="_DEBUG"
Culture="4105" Culture="4105"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
OutputFile=".\Debug/G3DTest.exe" OutputFile="./G3DTest-Debug.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true" SuppressStartupBanner="true"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/G3DTest.pdb" ProgramDatabaseFile=".\Debug/G3DTest.pdb"
SubSystem="2" SubSystem="2"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true" SuppressStartupBanner="true"
OutputFile=".\Debug/G3DTest.bsc" OutputFile=".\Debug/G3DTest.bsc"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCWebDeploymentTool" Name="VCWebDeploymentTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
<AssemblyReference <AssemblyReference
RelativePath="System.dll" RelativePath="System.dll"
AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/> />
<AssemblyReference <AssemblyReference
RelativePath="System.Data.dll" RelativePath="System.Data.dll"
AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86" AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
/> />
<AssemblyReference <AssemblyReference
RelativePath="System.Drawing.dll" RelativePath="System.Drawing.dll"
AssemblyName="System.Drawing, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" AssemblyName="System.Drawing, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
/> />
<AssemblyReference <AssemblyReference
RelativePath="System.Windows.Forms.dll" RelativePath="System.Windows.Forms.dll"
AssemblyName="System.Windows.Forms, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" AssemblyName="System.Windows.Forms, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/> />
<AssemblyReference <AssemblyReference
RelativePath="System.XML.dll" RelativePath="System.XML.dll"
AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/> />
</References> </References>
<Files> <Files>
<Filter <Filter
Name="Source Files" Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
> >
<File <File
RelativePath=".\Dialogs.rc" RelativePath=".\AudioPlayer.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Instance.cpp" RelativePath=".\ButtonListener.cpp"
> >
</File> </File>
<File <File
RelativePath="main.cpp" RelativePath=".\Dialogs.rc"
> >
<FileConfiguration </File>
Name="Release|Win32" <File
> RelativePath="main.cpp"
<Tool >
Name="VCCLCompilerTool" <FileConfiguration
PreprocessorDefinitions="" Name="Release|Win32"
/> >
</FileConfiguration> <Tool
<FileConfiguration Name="VCCLCompilerTool"
Name="Debug|Win32" PreprocessorDefinitions=""
> />
<Tool </FileConfiguration>
Name="VCCLCompilerTool" <FileConfiguration
PreprocessorDefinitions="" Name="Debug|Win32"
/> >
</FileConfiguration> <Tool
</File> Name="VCCLCompilerTool"
<File PreprocessorDefinitions=""
RelativePath=".\PhysicalInstance.cpp" />
> </FileConfiguration>
</File> </File>
<File <Filter
RelativePath=".\TextButtonInstance.cpp" Name="Instances"
> >
</File> <File
</Filter> RelativePath=".\BaseButtonInstance.cpp"
<Filter >
Name="Header Files" </File>
Filter="h;hpp;hxx;hm;inl" <File
> RelativePath=".\DataModelInstance.cpp"
<File >
RelativePath=".\Instance.h" </File>
> <File
</File> RelativePath=".\ImageButtonInstance.cpp"
<File >
RelativePath=".\PhysicalInstance.h" </File>
> <File
</File> RelativePath=".\Instance.cpp"
<File >
RelativePath=".\resource.h" </File>
> <File
</File> RelativePath=".\PhysicalInstance.cpp"
<File >
RelativePath=".\TextButtonInstance.h" </File>
> <File
</File> RelativePath=".\TextButtonInstance.cpp"
</Filter> >
<Filter </File>
Name="Resource Files" <File
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" RelativePath=".\WorkspaceInstance.cpp"
> >
</Filter> </File>
</Files> </Filter>
<Globals> </Filter>
<Global <Filter
Name="RESOURCE_FILE" Name="Header Files"
Value="Dialogs.rc" Filter="h;hpp;hxx;hm;inl"
/> >
</Globals> <File
</VisualStudioProject> RelativePath=".\AudioPlayer.h"
>
</File>
<File
RelativePath=".\ButtonListener.h"
>
</File>
<File
RelativePath=".\resource.h"
>
</File>
<Filter
Name="Instances"
>
<File
RelativePath=".\BaseButtonInstance.h"
>
</File>
<File
RelativePath=".\DataModelInstance.h"
>
</File>
<File
RelativePath=".\ImageButtonInstance.h"
>
</File>
<File
RelativePath=".\Instance.h"
>
</File>
<File
RelativePath=".\PhysicalInstance.h"
>
</File>
<File
RelativePath=".\TextButtonInstance.h"
>
</File>
<File
RelativePath=".\WorkspaceInstance.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
<File
RelativePath=".\icon1.ico"
>
</File>
</Filter>
</Files>
<Globals>
<Global
Name="RESOURCE_FILE"
Value="Dialogs.rc"
/>
</Globals>
</VisualStudioProject>

144
ImageButtonInstance.cpp Normal file
View File

@@ -0,0 +1,144 @@
#include "ImageButtonInstance.h"
G3D::TextureRef image = NULL;
int openGLID = 0;
G3D::TextureRef image_ovr = NULL;
int openGLID_ovr = 0;
G3D::TextureRef image_dn = NULL;
int openGLID_dn = 0;
G3D::TextureRef image_ds = NULL;
int openGLID_ds = 0;
Vector2 size;
Vector2 position;
ImageButtonInstance::ImageButtonInstance(G3D::TextureRef newImage, G3D::TextureRef overImage = NULL, G3D::TextureRef downImage = NULL, G3D::TextureRef disableImage = NULL)
{
image = newImage;
openGLID = image->getOpenGLID();
image_ovr = overImage;
if(!image_ovr.isNull())
openGLID_ovr = image_ovr->getOpenGLID();
image_dn = downImage;
if(!image_dn.isNull())
openGLID_dn = image_dn->getOpenGLID();
image_ds = disableImage;
if(!image_ds.isNull())
openGLID_ds = image_ds->getOpenGLID();
Vector2 size = Vector2(0,0);
Vector2 position = Vector2(0,0);
floatCenter = false;
floatBottom = false;
floatRight = false;
disabled = false;
className = "ImageButton";
}
ImageButtonInstance::~ImageButtonInstance(void)
{
//Delete everything on destruction
image.~ReferenceCountedPointer();
delete image.getPointer();
image_ovr.~ReferenceCountedPointer();
delete image_ovr.getPointer();
image_ds.~ReferenceCountedPointer();
delete image_ds.getPointer();
image_dn.~ReferenceCountedPointer();
delete image_dn.getPointer();
image = NULL;
image_ovr = NULL;
image_ds = NULL;
image_dn = NULL;
delete listener;
listener = NULL;
selected = false;
}
bool ImageButtonInstance::mouseInButton(float mousex, float mousey, RenderDevice* rd)
{
Vector2 positionRelative = position;
if(floatRight && floatBottom)
{
positionRelative = Vector2(rd->getWidth() + position.x, rd->getHeight() + position.y);
}
else if(floatBottom)
{
positionRelative = Vector2(position.x, rd->getHeight() + position.y);
}
else if(floatRight)
{
positionRelative = Vector2(rd->getWidth() + position.x, position.y);
}
if(mousex >= positionRelative.x && mousey >= positionRelative.y)
{
if(mousex < positionRelative.x + size.x && mousey < positionRelative.y + size.y)
{
return true;
}
}
return false;
}
void ImageButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown)
{
bool drawDisabledBox = false;
Vector2 positionRelative = position;
if(floatRight && floatBottom)
{
positionRelative = Vector2(rd->getWidth() + position.x, rd->getHeight() + position.y);
}
else if(floatBottom)
{
positionRelative = Vector2(position.x, rd->getHeight() + position.y);
}
else if(floatRight)
{
positionRelative = Vector2(rd->getWidth() + position.x, position.y);
}
int renderimage = openGLID;
if(selected == true && !image_dn.isNull())
{
renderimage = openGLID_dn;
}
else if(disabled)
{
if(!image_ds.isNull())
renderimage = openGLID_ds;
else
drawDisabledBox = true;
}
else if(mouseInArea(positionRelative.x, positionRelative.y, positionRelative.x + size.x, positionRelative.y + size.y, mousePos.x, mousePos.y))
{
if(mouseDown && !image_dn.isNull())
{
renderimage = openGLID_dn;
}
else if(!image_ovr.isNull())
{
renderimage = openGLID_ovr;
}
}
rd->pushState();
rd->beforePrimitive();
glEnable( GL_TEXTURE_2D );
glEnable(GL_BLEND);// you enable blending function
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBindTexture( GL_TEXTURE_2D, renderimage);
glBegin( GL_QUADS );
glTexCoord2d(0.0,0.0);
glVertex2f( positionRelative.x, positionRelative.y );
glTexCoord2d( 1.0,0.0 );
glVertex2f( positionRelative.x + size.x, positionRelative.y );
glTexCoord2d( 1.0,1.0 );
glVertex2f( positionRelative.x + size.x, positionRelative.y + size.y );
glTexCoord2d( 0.0,1.0 );
glVertex2f( positionRelative.x, positionRelative.y + size.y );
glEnd();
glDisable( GL_TEXTURE_2D );
rd->afterPrimitive();
rd->popState();
if(drawDisabledBox)
{
Draw::box(Box(Vector3(positionRelative.x, positionRelative.y, 0), Vector3(positionRelative.x+size.x, positionRelative.y+size.y, 0)), rd, Color4(0.7F,0.7F,0.7F,0.3F), Color4::clear());
}
}

24
ImageButtonInstance.h Normal file
View File

@@ -0,0 +1,24 @@
#pragma once
#include "BaseButtonInstance.h"
class ImageButtonInstance : public BaseButtonInstance
{
public:
//ImageButtonInstance(G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef,G3D::TextureRef);
ImageButtonInstance(G3D::TextureRef,G3D::TextureRef,G3D::TextureRef,G3D::TextureRef);
~ImageButtonInstance(void);
void drawObj(RenderDevice*, Vector2, bool);
Vector2 size;
Vector2 position;
G3D::TextureRef image;
int openGLID;
G3D::TextureRef image_ovr;
int openGLID_ovr;
G3D::TextureRef image_dn;
int openGLID_dn;
G3D::TextureRef image_ds;
int openGLID_ds;
bool mouseInButton(float, float, RenderDevice*);
};

View File

@@ -1,21 +1,105 @@
#define WINVER 0x0400
#include <G3DAll.h> #include <G3DAll.h>
#include "Instance.h" #include "Instance.h"
std::string name; std::string name;
Instance* parent; Instance* parent = NULL;
static std::string className = "Instance"; std::vector<Instance* > children;
static std::string className = "BaseInstance";
Instance::Instance(void) Instance::Instance(void)
{ {
parent = NULL;
name = "Default Game Instance"; name = "Default Game Instance";
className = "Part"; className = "BaseInstance";
}
void Instance::render(RenderDevice* rd)
{
for(size_t i = 0; i < children.size(); i++)
{
children.at(i)->render(rd);
}
} }
Instance::~Instance(void) Instance::~Instance(void)
{ {
name = "Default Game Instance"; for(size_t i = 0; i < children.size(); i++)
{
delete children.at(i);
}
} }
std::string Instance::getClassName()
{
return className;
}
std::vector<Instance* > Instance::getChildren()
{
return children;
}
std::vector<Instance* > Instance::getAllChildren()
{
if(!children.empty())
{
std::vector<Instance* > totalchildren = children;
for(size_t i = 0; i < children.size(); i++)
{
std::vector<Instance* > subchildren = children.at(i)->getAllChildren();
if(!subchildren.empty())
totalchildren.insert(totalchildren.end(), subchildren.begin(), subchildren.end());
}
return totalchildren;
}
return children;
}
void Instance::setParent(Instance* newParent)
{
if(parent != NULL)
{
parent->removeChild(this);
}
parent = newParent;
if(newParent != NULL)
{
newParent->addChild(this);
}
}
Instance* Instance::getParent()
{
return parent;
}
void Instance::addChild(Instance* newChild)
{
children.push_back(newChild);
}
void Instance::removeChild(Instance* oldChild)
{
for(size_t i = 0; i < children.size(); i++)
{
if(children.at(i) == oldChild)
{
children.erase(children.begin() + i);
}
}
}
Instance* Instance::findFirstChild(std::string name)
{
Instance* child = NULL;
for(size_t i = 0; i < children.size(); i++)
{
if(children.at(i)->name == name)
{
child = children.at(i);
break;
}
}
return child;
}

View File

@@ -5,8 +5,19 @@ class Instance
{ {
public: public:
Instance(void); Instance(void);
~Instance(void); virtual ~Instance(void);
std::string name; std::string name;
Instance* parent; // Another pointer. virtual void render(RenderDevice*);
std::vector<Instance*> children; // All children.
std::string getClassName();
Instance* findFirstChild(std::string);
std::vector<Instance* > getChildren();
std::vector<Instance* > getAllChildren();
void setParent(Instance*);
void addChild(Instance*);
void removeChild(Instance*);
Instance* getParent();
protected:
std::string className; std::string className;
Instance* parent; // Another pointer.
}; };

View File

@@ -1,12 +1,15 @@
#include "PhysicalInstance.h" #include "PhysicalInstance.h"
bool canCollide = true; bool canCollide = true;
bool anchored = false; bool anchored = false;
Vector3 size; Vector3 size;
Vector3 position; Vector3 position;
Vector3 velocity; Vector3 velocity;
Vector3 rotVelocity; Vector3 rotVelocity;
CoordinateFrame cFrame;
Color3 color; Color3 color;
bool changed = true;
Box itemBox = Box();
PhysicalInstance::PhysicalInstance(void) PhysicalInstance::PhysicalInstance(void)
{ {
@@ -16,13 +19,97 @@ PhysicalInstance::PhysicalInstance(void)
anchored = true; anchored = true;
size = Vector3(2,1,4); size = Vector3(2,1,4);
position = Vector3(0,0,0); position = Vector3(0,0,0);
cFrame = CoordinateFrame(position);
color = Color3::gray(); color = Color3::gray();
velocity = Vector3(0,0,0); velocity = Vector3(0,0,0);
rotVelocity = Vector3(0,0,0); rotVelocity = Vector3(0,0,0);
} }
void PhysicalInstance::setSize(Vector3 newSize)
{
int minsize = 1;
int maxsize = 512;
changed = true;
int sizex = (int)newSize.x;
if(sizex <= 0)
sizex = 1;
if(sizex > 512)
sizex = 512;
int sizey = (int)newSize.y;
if(sizey <= 0)
sizey = 1;
if(sizey > 512)
sizey = 512;
int sizez = (int)newSize.z;
if(sizez <= 0)
sizez = 1;
if(sizez > 512)
sizez = 512;
size = Vector3(sizex, sizey, sizez);
}
Vector3 PhysicalInstance::getSize()
{
return size;
}
Vector3 PhysicalInstance::getPosition()
{
return position;
}
void PhysicalInstance::setPosition(Vector3 pos)
{
position = pos;
cFrame = CoordinateFrame(pos);
changed = true;
}
CoordinateFrame PhysicalInstance::getCFrame()
{
return cFrame;
}
void PhysicalInstance::setCFrame(CoordinateFrame coordinateFrame)
{
cFrame = coordinateFrame;
position = coordinateFrame.translation;
changed = true;
}
CoordinateFrame PhysicalInstance::getCFrameRenderBased()
{
return CoordinateFrame(getCFrame().rotation,Vector3(getCFrame().translation.x/2, getCFrame().translation.y/2, getCFrame().translation.z/2));
}
Box PhysicalInstance::getBox()
{
if(changed)
{
Box box = Box(Vector3(0+size.x/4, 0+size.y/4, 0+size.z/4) ,Vector3(0-size.x/4,0-size.y/4,0-size.z/4));
CoordinateFrame c = getCFrameRenderBased();
itemBox = c.toWorldSpace(box);
}
return itemBox;
}
void PhysicalInstance::render(RenderDevice* rd)
{
Draw::box(getBox(), rd, color, Color4::clear());
if(!children.empty())
{
for(size_t i = 0; i < children.size(); i++)
{
children.at(i)->render(rd);
}
}
}
PhysicalInstance::~PhysicalInstance(void) PhysicalInstance::~PhysicalInstance(void)
{ {
} }

View File

@@ -7,9 +7,20 @@ class PhysicalInstance :
public: public:
PhysicalInstance(void); PhysicalInstance(void);
~PhysicalInstance(void); ~PhysicalInstance(void);
Vector3 size; virtual void render(RenderDevice*);
Vector3 position;
Vector3 velocity; Vector3 velocity;
Vector3 rotvelocity; Vector3 rotvelocity;
CoordinateFrame cFrame;
Color3 color; Color3 color;
Vector3 getPosition();
void setPosition(Vector3);
CoordinateFrame getCFrame();
void setCFrame(CoordinateFrame);
Box getBox();
CoordinateFrame getCFrameRenderBased();
Vector3 getSize();
void setSize(Vector3);
private:
Vector3 position;
Vector3 size;
}; };

14
README.md Normal file
View File

@@ -0,0 +1,14 @@
# G3D-Fun
Despite its name, this is actually a recreation of ROBLOX as it was in 2005. Early development. Uses roughly time-accurate development tools.
# COMPILE WITH
Graphics3D 6.10 (Released July 21, 2006)
SDL 1.2.7 (1.2.9 could work as well)
Visual Studio 2005 Professional or Visual Studio 2005 Express with Platform SDK
# NOTE
Please know that there currently is no documentation and minimal commenting. As such, it may be confusing to follow the code.
Code for this project is written quickly at random intervals, where each individual thinks of a solution to a problem and adds it.

View File

@@ -16,9 +16,10 @@ Color4 boxColorDn;
Color4 boxOutlineColorDn; Color4 boxOutlineColorDn;
bool centeredWithinBox; bool centeredWithinBox;
std::string title; std::string title;
G3D::GFontRef font; G3D::GFontRef* font;
int textSize; int textSize;
bool visible;
TextButtonInstance::TextButtonInstance(void) TextButtonInstance::TextButtonInstance(void)
{ {
@@ -31,10 +32,90 @@ TextButtonInstance::TextButtonInstance(void)
textOutlineColor = Color4(0, 0, 0, 0); textOutlineColor = Color4(0, 0, 0, 0);
boxColor = Color4(0.6F,0.6F,0.6F,0.4F); boxColor = Color4(0.6F,0.6F,0.6F,0.4F);
boxOutlineColor = Color4(0, 0, 0, 0); boxOutlineColor = Color4(0, 0, 0, 0);
setAllColorsSame();
textSize = 12; textSize = 12;
floatBottom = false;
floatRight = false;
floatCenter = false;
visible = true;
className = "TextButton";
disabled = false;
}
bool TextButtonInstance::mouseInButton(float mousex, float mousey, RenderDevice* rd)
{
Vector3 point1;
Vector3 point2;
if(floatBottom)
{
point1 = Vector3(boxBegin.x, rd->getHeight() + boxBegin.y,0);
point2 = Vector3(boxEnd.x, rd->getHeight() + boxEnd.y,0);
}
else
{
point1 = Vector3(boxBegin.x, boxBegin.y,0);
point2 = Vector3(boxEnd.x, boxEnd.y,0);
}
if(mousex >= point1.x && mousey >= point1.y)
{
if(mousex < point2.x && mousey < point2.y)
{
return true;
}
}
return false;
}
void TextButtonInstance::setAllColorsSame()
{
textColorOvr = textColor;
textOutlineColorOvr = textOutlineColor;
boxColorOvr = boxColor;
boxOutlineColorOvr = boxOutlineColor;
textColorDn = textColor;
textOutlineColorDn = textOutlineColor;
boxColorDn = boxColor;
boxOutlineColorDn = boxOutlineColor;
} }
TextButtonInstance::~TextButtonInstance(void) TextButtonInstance::~TextButtonInstance(void)
{ {
} }
void TextButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown)
{
Vector3 point1;
Vector3 point2;
if(floatBottom)
{
point1 = Vector3(boxBegin.x, rd->getHeight() + boxBegin.y,0);
point2 = Vector3(boxEnd.x, rd->getHeight() + boxEnd.y,0);
}
else
{
point1 = Vector3(boxBegin.x, boxBegin.y,0);
point2 = Vector3(boxEnd.x, boxEnd.y,0);
}
Vector2 RelativeTo = Vector2(point1.x + fontLocationRelativeTo.x, point1.y + fontLocationRelativeTo.y);
if(mouseInArea(point1.x, point1.y, point2.x, point2.y, mousePos.x, mousePos.y) && mouseDown)
{
Draw::box(Box(point1, point2), rd, boxColorDn, boxOutlineColorDn);
font->draw2D(rd, title, RelativeTo, textSize, textColorDn, textOutlineColorDn);
}
else if(mouseInArea(point1.x, point1.y, point2.x, point2.y, mousePos.x, mousePos.y))
{
Draw::box(Box(point1, point2), rd, boxColorOvr, boxOutlineColorOvr);
font->draw2D(rd, title, RelativeTo, textSize, textColorOvr, textOutlineColorOvr);
}
else
{
Draw::box(Box(point1, point2), rd, boxColor, boxOutlineColor);
font->draw2D(rd, title, RelativeTo, textSize, textColor, textOutlineColor);
}
}
void doNullCheck()
{
}

View File

@@ -1,12 +1,11 @@
#pragma once #pragma once
#include "instance.h" #include "BaseButtonInstance.h"
class TextButtonInstance : public BaseButtonInstance
class TextButtonInstance :
public Instance
{ {
public: public:
TextButtonInstance(void); TextButtonInstance(void);
~TextButtonInstance(void); ~TextButtonInstance(void);
void setAllColorsSame();
Vector2 boxBegin; Vector2 boxBegin;
Vector2 boxEnd; Vector2 boxEnd;
Vector2 fontLocationRelativeTo; Vector2 fontLocationRelativeTo;
@@ -25,4 +24,8 @@ public:
bool centeredWithinBox; bool centeredWithinBox;
std::string title; std::string title;
G3D::GFontRef font; G3D::GFontRef font;
}; bool visible;
int textSize;
void drawObj(RenderDevice*, Vector2, bool);
bool mouseInButton(float, float, RenderDevice*);
};

14
WorkspaceInstance.cpp Normal file
View File

@@ -0,0 +1,14 @@
#include "WorkspaceInstance.h"
float timer = 60.0F;
int score = 0;
WorkspaceInstance::WorkspaceInstance(void)
{
className = "Workspace";
timer = 60.0F;
score = 0;
}
WorkspaceInstance::~WorkspaceInstance(void)
{
}

12
WorkspaceInstance.h Normal file
View File

@@ -0,0 +1,12 @@
#pragma once
#include "instance.h"
class WorkspaceInstance :
public Instance
{
public:
float timer;
int score;
WorkspaceInstance(void);
~WorkspaceInstance(void);
};

75
building.md Normal file
View File

@@ -0,0 +1,75 @@
# Building Setup
##### G3D is super delicate, meaning that you have to go about building in a special way
#### Skip to steps 7-13 if you have already built this program
1. Install Visual Studio 2005. Google where to find it. Make note of which version you downloaded.
2. Download and install G3D from [this link here](https://sourceforge.net/projects/g3d/files/g3d-cpp/6.10/g3d-6_10_win32.exe/download).
3. Make sure G3D is included under your build directories by going under Tools -> Options -> Projects and Solutions -> VC++ Directories and check and see if:
* `g3d-6_10\bin` is under executable files
* `g3d-6_10\include` is under include files
* `g3d-6_10\bin` is under executable files
* `g3d-6_10\win32-vc8-lib` is under library files
* Ex: `C:\libraries\g3d-6_10\bin`
4. Download SDL version 1.2.7 from [this link](http://www.libsdl.org/release/SDL-devel-1.2.7-VC6.zip)
5. Extract the file to a folder on your computer. Keep note of this folder.
6. Include the extracted files by going to Tools -> Options -> Projects and Solutions -> VC++ Directories and adding the following links:
* Include files - extractpath\`include`
* Library files - extractpath\`lib`
* Ex: `C:\libraries\SDL-1.2.7\bin`
#### Steps 7-11 are optional if you are using Visual Studio Professional. Check the Error stuff section if it doesn't work, most reference steps from here.
7. Download and install the [platform SDK](https://www.microsoft.com/en-us/download/details.aspx?id=6510).
8. Put the platform SDK into your directories (Tools -> Options -> Projects and Solutions -> VC++ Directories) by replacing all mentions of $(VCInstallDir)PlatformSDK with the actual path.
Ex: `$(VCInstallDir)PlatformSDK\include` -> `C:\Program Files\Microsoft Platform SDK\Include`
9. Right click Source files -> Dialogs.rc -> View Code
10. Edit line 10 to say
```cpp
#include "WinResrc.h"
#define IDC_STATIC -1
```
instead of
```cpp
#include "afxres.h"
```
11. Right click the project -> Properties -> Configuration Properties -> Linker -> Input, and add `AdvAPI32.lib` under Additional Dependencies.
### Continue back here if you're skipping steps 7-11
12. Right click the project -> Properties -> Configuration Properties -> Linker -> General, and make sure Additional Library Directories is blank.
13. Try building using Build -> Build G3DTest.
## Error stuff
```c:\libraries\g3d-6_10\include\G3D/platform.h(235) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory``` > Download and install platform SDK (lines 7-8)
```G3D-debug.lib(RegistryUtil.obj) : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "public: static bool __cdecl G3D::RegistryUtil::keyExists(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?keyExists@RegistryUtil@G3D@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)``` > Add AdvAPI32.lib under Additional Dependencies (step 11)
```.\Dialogs.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.``` > Perform steps 9-10
Enjoy!
please report unfriendliness of this page

BIN
content/cursor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

BIN
content/cursor2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
content/font/comics.fnt Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 971 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

BIN
content/sounds/SWITCH3.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
content/sounds/pageturn.wav Normal file

Binary file not shown.

BIN
content/sounds/switch.wav Normal file

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

1878
main.cpp

File diff suppressed because it is too large Load Diff

View File

@@ -2,18 +2,18 @@
// Microsoft Visual C++ generated include file. // Microsoft Visual C++ generated include file.
// Used by Dialogs.rc // Used by Dialogs.rc
// //
#define IDD_TOOLBOX 101
#define IDD_ABOUT_DIALOG 102 #define IDD_ABOUT_DIALOG 102
#define IDC_AXBROWSER1 1001 #define IDD_TOOLBOX 103
#define IDC_BUTTON1 1002 #define IDI_ICON1 106
#define IDC_TOOLBOX_BROWSER 1001
// Next default values for new objects // Next default values for new objects
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 106 #define _APS_NEXT_RESOURCE_VALUE 107
#define _APS_NEXT_COMMAND_VALUE 40004 #define _APS_NEXT_COMMAND_VALUE 40004
#define _APS_NEXT_CONTROL_VALUE 1003 #define _APS_NEXT_CONTROL_VALUE 1002
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_SYMED_VALUE 101
#endif #endif
#endif #endif