Quote:
Originally posted by Electroman
I've made the Ideas Page aswell now. All thats left is the editing pages....
Are you sure we need them...we might as well just use CPanel...or what do you think?
Quote:
Originally posted by Electroman
I've made the Ideas Page aswell now. All thats left is the editing pages....
Are you sure we need them...we might as well just use CPanel...or what do you think?
For things like changing a todo to a progress item it will be easier using a simple page becuase there isn't really easy options in the CPanel for that.
Yeah VarChar(20) will be fine.Quote:
Posted by NoteMe
Yeah I was thinking abou that too..but I ditched the idea becuase we are only two persons and probably always will remember what ideas we have written our self, and the rest will be the other person...:D but ok...I can add one..:D
Varchar (20) ???
Yeah...but you have all ready...at least more or less done that...havn't you???Quote:
Originally posted by Electroman
For things like changing a todo to a progress item it will be easier using a simple page becuase there isn't really easy options in the CPanel for that.
Quote:
Originally posted by Electroman
Yeah VarChar(20) will be fine.
Forgot to say that, but I added that years ago...:d
Yeah I noticed but I think you hadn't when I posted it ;).Quote:
Posted by NoteMe
Forgot to say that, but I added that years ago...:d
I think it's just about finished now. Yeah i have done that todo to progress thing. Tested it too :D.
I started to try and read some of the articles for a little bit :)
I have printed out a couple of more of them. But my black ink is out now..:D..better try to find the new catridge I have somewhere...:D
BTW did you see my reply in the PHP section...was that an answer?
ØØ
Name:Tiki traveling
Thanx, yeah I saw the reply and have added it to the progress section now ;)
Soz I'd forgot about the name, what about Tiki's Garden ?
Don't like the ' in the name if we are going to use the name as folder and maybe even file names, but we can maybe agree to use Tiki for that, and the whole project is called Tiki's Garden or something. What do you think?
K then, so the Project is Called Tiki's Garden but for filenames we use Tikis Garden (or TikisGarden for internet things cos FireFox won't like spaces ;))Quote:
Posted by NoteMe
Don't like the ' in the name if we are going to use the name as folder and maybe even file names, but we can maybe agree to use Tiki for that, and the whole project is called Tiki's Garden or something. What do you think?
That seem ok to you?
Yeah it does...I am in. But most of the files won't have anything with the name Tiki's Garden anyway...
:cool:
I have now done the pages to add News Items, Todo Tasks, and Article Links.
I guess its time to think about planning or at least read some of those articles ;).
Yeah planning and reading. I found a tutorial on how to make an optimized window for game programing in the DX9 book I have, it was in apendix A. Not sure if it was sooooo incredible, but I can try to look through it, and see what it is all about?
BTW what IDE are we going to use?
Maybe we can start with a vague iteration plan. Don't have to be sooo 100% detailed. But we can see what that should be done for every iteration. What do you say?
VC++.NET 2003 when it arrives, expected before the end of this month. At the moment I can use VC++.NET (V7.0) if needed.Quote:
Posted by NoteMe
BTW what IDE are we going to use?
Yeah I've never made an iteration plan before though :(.Quote:
Posted by NoteMe
Maybe we can start with a vague iteration plan. Don't have to be sooo 100% detailed. But we can see what that should be done for every iteration. What do you say?
OK, first we set up everything that we want to add like:
- A window
- Enumeration ??
- A tearin
- An algorithm for better visualisation
- Space partitioning
and so on, then we say what should be made first, and what we have to implement to get it "wolring" but not be finished. Then we can add texture in an other iteration, and a skybox, a render queue or maybe that should be in the first iteration. And so on...
What more should we add?
How about this for the first iteration:
(Note: the Demo project and the Engine will need to be built at the same time but they should be clearly seperated into different files. The Engine will no dought be more than just one file but the point is that they won't hold any of the stuff to do with only the demo project)
- Dx Initialisation (Not sure how much of this will be the engine and how much the demo project that uses it)
- SkyBox
- I simple Lighting system (Possibly, might be better in the second iteration)
- terrain will be fixed with no ROAMing.
- Terrain will be partitioned into segments
Feel free to add some stuff cos I'm sure there was some thinsg I was thinking of but have forgot :rolleyes:.
No way that is iteration 1....:D:
OK lets elaborate about this for a while...:D
What about:
v 0.1:
- Enumeration (of what the engine does, not what the demo uses)
- Load terain from file
- Display terrain (Simple now LOD, or what it was called, no ROAM etc)
Demo v0.1:
- Start the engine
- Get a simple small terain up and running
- Move in the terrain
v 0.2
- Rendering queue
- ROAM (or something else)
v 0.3
- Quad three
v 0.4
- textures (1-3 layers)
- light ? VS/PS?
- fixing the enumeration to this
- fixing the rendering queue to add textures
v 0.5:
- Skybox
- Clouds
v 0.6
- Weather
- Wather?
Nice to have:
- Objects (trees, plants)
- Moving objects (man walking)
k that looks better than what I had. So for the Enumeration and Initialisation what will the engine be responsable for? The demo project will need to use Dx as well so it might be best if the demo sets up the stuff then passes a pointer to our engine. Or our engine sets the stuff up then returns a pointer?
It depends..like...ehh...I think it is in the UnReal engine there the Engine does all the enumeration. And it even have a "pop up box" in the beginning og all the games that uses it by default, where you can set the screen resolution and stuff...do you want that to happen in our project, or do you wan the demo app to deside the resolution and bit depth?
Thats a good idea. Mind I'm not sure because were not making a graphics engine for the rest of the program to use (or are we) so the games that use it might want different options. We could do it by functions and our engine enumerates everything and passes it back via a function? The Window thing might not be a bad Idea though.
What diffrent options??? I guess that if we are going to use VS and PS we still need to enumerate that, because the demo project might not need it, and then they are not testing for it...do you get my point about the engine at least test what it is using?
I'm not totally sure I must say but when we do some class diagrams I would expect it will become clearer.
As long as the enigne and the demo project are keeps seprate and we can distribute the enigne with out the demo project then i'm happy. Ofcourse if we do show anyone it then the demo project would go so they can see what to do ;).
BTW we need to come up with a word to use instead of Demo project. Because it will be any program that uses our engine too.
Yeah maybe it gets clearer then...at least there is no problem in wrapping up a total enumeration class, and a DEMO app can just ask that app for everything it needs, or something like that...
Not sure what a good name in stead of demo would be....I will sleep on that one...;)
Thats something I hadn't thought of before if we make an intermediate set of classes at aren't part of the engine but we have coded and the user can just edit them if there project is a bit different in some way.
That was not what I ment...but that is also an idea...I was more talking about wrapping up a enumeration class and use it in the window skeleton, so the DEMO app could use it to get all kinds of information about the GPU.
I've been reading some of those articles you put links to and they are really good some of them. The one about Fog (the bottom one) I really liked, It made me think that we could use fog clusters and a skybox together to give a nice effect. It would ofcourse be something not added till a later version though :).
So you think we can do both now...:D...would be nice if it could work...lets add it to the Nice to have list...
So have youread in the book yet....I got today too...I picked it up on my way to work..:D
Well I was thiniking of distance fog but if we use Volumetric Fog then we could have fog that its on the gound and use it depending on the weather.
Hav eyou read much of the book yet, I've only read the first 7 pages at the moment but am reading it at the moment.
I havn't had time at all to read...I have just been looking throught the chapters, and seen that he is using a rendering queue, a quad three, skybox, and random terrain generation...:D
Coding standards.
Code:if (foo)
{
DoStuff();
}
//Gloabal variable
g_CApp;
//Pointer
pCApp;
//Global pointer
g_pCApp;
Code:// None of that lower case first letter cr*p :)
int Bob;
int JillIsMyName;
// Pointers
int* pFoo;
int* g_pFoo;
// Functions
DoStuff();
Code:// Comment.
// Followed by a space then the text? What you think?
Quote:
Originally posted by Electroman
Code:// Comment.
// Followed by a space then the text? What you think?
I can deal with that...but do you like the comments over the line of code like over the function or to the right of it?
Correct the comments here as you like them:
Code://-------------------------------------------------------------------------
// Name: Create()
// Desc: static msg handler which passes messages to the application class
// in the fake.cpp file
//-------------------------------------------------------------------------
HRESULT CApp::Create(HINSTANCE hThisInst)
{
HWND hwnd;
/* Step 1: Define a window class. */
WNDCLASS wcl;
wcl.hInstance = hThisInst; /* handle to this instance */
wcl.lpszClassName = _T("Crusher") ; /* window class name */
wcl.lpfnWndProc = WndProc; /* window function */
wcl.style = 0; /* default style */
wcl.hIcon = LoadIcon(hThisInst, MAKEINTRESOURCE(IDI_ICON1)); /* icon style */
wcl.hCursor = LoadCursor( hThisInst, MAKEINTRESOURCE(IDC_HULLA)) ; /* cursor style */
wcl.lpszMenuName = NULL; /* no menu */
wcl.cbClsExtra = 0; /* no extra */
wcl.cbWndExtra = 0; /* information needed */
And what about a "header" in every file...so we can keep track of changes...something like this?
Code://**************************************************************
//CAPP.cpp class
//Last modified 20.05.04 04:03
//Version 0.1
//Makes a optimised window for game programming
//***************************************************************
I would go for somethign like this (but feel free to say if you don't like because I'm ok with most ways):
[/B][/QUOTE]Code://-------------------------------------------------------------------------
// Name: Create()
// Desc: static msg handler which passes messages to the application class
// in the fake.cpp file
//-------------------------------------------------------------------------
HRESULT CApp::Create(HINSTANCE hThisInst)
{
HWND hwnd;
// Step 1: Define a window class...
WNDCLASS wcl;
wcl.hInstance = hThisInst; // Handle to this instance
wcl.lpszClassName = _T("Crusher") ; // Window class name
wcl.lpfnWndProc = WndProc; // Window function
wcl.style = 0; // Default style
wcl.hIcon = LoadIcon(hThisInst, MAKEINTRESOURCE(IDI_ICON1)); // Icon style
wcl.hCursor = LoadCursor( hThisInst, MAKEINTRESOURCE(IDC_HULLA)); // Cursor style
wcl.lpszMenuName = NULL; // No menu
wcl.cbClsExtra = 0; // No extra
wcl.cbWndExtra = 0; // Information needed
// For other stuff I do:
// This Explains the next line or two...
Foo();
Bar();
// This is a general statement!
[/B][/QUOTE]Quote:
Originally posted by Electroman
I would go for somethign like this (but feel free to say if you don't like because I'm ok with most ways):
Code://-------------------------------------------------------------------------
// Name: Create()
// Desc: static msg handler which passes messages to the application class
// in the fake.cpp file
//-------------------------------------------------------------------------
HRESULT CApp::Create(HINSTANCE hThisInst)
{
HWND hwnd;
// Step 1: Define a window class...
WNDCLASS wcl;
wcl.hInstance = hThisInst; // Handle to this instance
wcl.lpszClassName = _T("Crusher") ; // Window class name
wcl.lpfnWndProc = WndProc; // Window function
wcl.style = 0; // Default style
wcl.hIcon = LoadIcon(hThisInst, MAKEINTRESOURCE(IDI_ICON1)); // Icon style
wcl.hCursor = LoadCursor( hThisInst, MAKEINTRESOURCE(IDC_HULLA)); // Cursor style
wcl.lpszMenuName = NULL; // No menu
wcl.cbClsExtra = 0; // No extra
wcl.cbWndExtra = 0; // Information needed
// For other stuff I do:
// This Explains the next line or two...
Foo();
Bar();
// This is a general statement!
OK I am in on that one...but I don't usually like that long comments in front of the function...like a line for the name...thats bull ****..:D
Like this? :)
Code:/*********************************************************\
|* CAPP.cpp class *|
|* Last modified 20.05.04 04:03 *|
|* Version 0.1 *|
|* Makes a optimised window for game programming *|
|* *|
\*********************************************************/
What you mean like the thing that tells you the PreState and PostState?Quote:
Originally posted by NoteMe
OK I am in on that one...but I don't usually like that long comments in front of the function...like a line for the name...thats bull ****..:D
I mean this:Quote:
Originally posted by Electroman
What you mean like the thing that tells you the PreState and PostState?
Code://-------------------------------------------------------------------------
// Name: Create()
// Desc: static msg handler which passes messages to the application class
// in the fake.cpp file
//-------------------------------------------------------------------------
could have been written:
Code:// Static msg handler which passes messages to the application class in the fake.cpp file
Quote:
Originally posted by Electroman
Like this? :)
Code:/*********************************************************\
|* CAPP.cpp class *|
|* Last modified 20.05.04 04:03 *|
|* Version 0.1 *|
|* Makes a optimised window for game programming *|
|* *|
\*********************************************************/
There we go with the whistels and bells again...:D..ok...you can have it like that...D:
Alright yeah thats fine :)Quote:
Posted by NoteMe
I mean this:
Code://-------------------------------------------------------------------------
// Name: Create()
// Desc: static msg handler which passes messages to the application class
// in the fake.cpp file
//-------------------------------------------------------------------------
could have been written:
Code:// Static msg handler which passes messages to the application class in the fake.cpp file
Woohoo :D:D I get my Bells & whistles ;)Quote:
Posted by NoteMe
There we go with the whistels and bells again...:D..ok...you can have it like that...D:
Might be an idea to add who last updated the file maybe too? Or if we put that next to the functions we have edited maybe ?
I hadn't paid any attention to the contents of the box ;).
Better to put the name at the top...that way you don't have to look through the whole file..or what do you think?
Well if we put the name of the last person who edited the file in the top bit but next to every function we should put the name of who lat edited it. Because if we both work on the same file but different functions the bit at the top won't be as much help ;).
Code:// If statements testing Bools:
// Use...
if (bActive)
{
DoStuff();
}
// Not...
if (bActive == true)
{
DoStuff();
}
Quote:
Originally posted by Electroman
Well if we put the name of the last person who edited the file in the top bit but next to every function we should put the name of who lat edited it. Because if we both work on the same file but different functions the bit at the top won't be as much help ;).
Code:// If statements testing Bools:
// Use...
if (bActive)
{
DoStuff();
}
// Not...
if (bActive == true)
{
DoStuff();
}
I strongly not recomend to work on the same file at the sime time, but if you want to add it to every function I can do that....I am not so FUSSED about it anyway...:D
And yes the first code snippet is faster then the second one.
and I did read something about
++i
is faster then i++ too
but you will only notice that if you use it on objects and stuff, and I guess we won't do much of that...
BTW I have some fancy articles in some of my books about floating points aritmetics (SP?) too...will write about it an other time when we need it. Converting from float to int ans so on can be done pretty fast. And I think I have some code for
1/sqrt too...;)
Edit this code, and put the name where you want it...I didn't get it 100% where you wanted it...
Code:// Constructor
CApp::CApp()
{
g_pCApp = this;
m_bActive = FALSE;
m_strWindowTitle = _T("Tiki's Garden v 0.1");
m_dwWidth = 640;
m_dwHeight = 480;
}
Not really meaning if we work on a file at the same time. Say I work on a file and create functions A(), B(), C() & D(). You then work on the file at a later date and alter functions A() & B() but don't touch C() or D(). Then it would be better if we can tell who last messed ;) with the functions.
But if you agree then thats sll good :D
And ALWAYS use
Code:#ifndef APP_H
#define APP_H
#endif
Yeah ?Code:// Constructor
CApp::CApp()
/************************\
|* Edited By NoteMe *|
|* At: 20-05-2004 *|
\************************/
{
g_pCApp = this;
m_bActive = FALSE;
m_strWindowTitle = _T("Tiki's Garden v 0.1");
m_dwWidth = 640;
m_dwHeight = 480;
}
Good point, definitlyQuote:
Posted by NoteMe
And ALWAYS use
Code:#ifndef APP_H
#define APP_H
#endif
Maybe not the fancy box though ?Quote:
Originally posted by Electroman
Yeah ?Code:// Constructor
CApp::CApp()
/************************\
|* Edited By NoteMe *|
|* At: 20-05-2004 *|
\************************/
{
g_pCApp = this;
m_bActive = FALSE;
m_strWindowTitle = _T("Tiki's Garden v 0.1");
m_dwWidth = 640;
m_dwHeight = 480;
}
No way.....:D:D:D the function name is going to dissapear....
Did you see the one up there /\ about maybe not the fancy box?
Ow yeah I don't really want to use those Dx Classes that the Dx samples use to manage the window. I preffer the stuff in the Article: Getting Rid of the Windows Message Pump & Solving the ALT-TAB Problem. What you think?
Or we could put the box above the Function name then?Quote:
Posted by NoteMe
No way.....:D:D:D the function name is going to dissapear....
Do you know how to add an icon and a cursor to the project...guess I have to make a resource file...bt do you know how?
Quote:
Originally posted by Electroman
Did you see the one up there /\ about maybe not the fancy box?
I can go with that...
Quote:
Originally posted by Electroman
Ow yeah I don't really want to use those Dx Classes that the Dx samples use to manage the window. I preffer the stuff in the Article: Getting Rid of the Windows Message Pump & Solving the ALT-TAB Problem. What you think?
I am totaly in....
So is it:Code:// Option A...
// Constructor
/************************\
|* Edited By NoteMe *|
|* At: 20-05-2004 *|
\************************/
CApp::CApp()
{
g_pCApp = this;
m_bActive = FALSE;
m_strWindowTitle = _T("Tiki's Garden v 0.1");
m_dwWidth = 640;
m_dwHeight = 480;
}
// Or
// Option B...
// Constructor
CApp::CApp()
// Edited By NoteMe At: 20-05-2004
{
g_pCApp = this;
m_bActive = FALSE;
m_strWindowTitle = _T("Tiki's Garden v 0.1");
m_dwWidth = 640;
m_dwHeight = 480;
}
Haven't got a clue, haven't used C++ that much yet, only played around with consoles remember, but I can learn fast ;).Quote:
Posted by NoteMe
Do you know how to add an icon and a cursor to the project...guess I have to make a resource file...bt do you know how?