OpenEQ Design
I've started designing the backend of OpenEQ from scratch.
What I have is available at http://home.archshadow.com/~daeken/openeq/src/ in all it's splendour and glory (haha, yea right) Here's a quick explanation of the purpose of each file: archive.hpp -- API for Archived file loaders. fileloader.hpp -- API for 3d file loaders. 3d.hpp -- 3d content structures. wld.hpp -- Structure for a WLD loader built on top of FileLoader. I'll work more on it tomorrow. Please post your comments on it, as a single person designing something this large is a baaaaaaaaad idea :) Happy Hacking, Lord Daeken M. BlackBlade (Cody Brocious) |
I assume they are still to be made into linux sources?
|
Quote:
|
You say you are redoing openeq from scratch, will the source be windows compatible as you go along or will we have to port them into windows?
|
Quote:
|
Just tried to compile in MSVC++ Pro 2003 and got massive errors in GL.h for some reason. Will investigate.
|
Quote:
Let me know how it works :) |
I did one better, daeken. I just bypassed MSVC++ all together and went for MinGW.
First problem I ran into was a the obvious network protocol include. I threw this into globala.hpp: Code:
#ifdef WIN32 I had to severely modify the libs in the Makefile Code:
APP=openeq I downloaded and installed zlib, SDL, and pthreads by hand. MinGW might come with zlib, but I don't think so. I saw libz32.a in the MinGW\lib directory, but I didn't chance it. The last thing I had trouble with is a conflict with 'Polygon'. Because I can't remember any easier way to fix this, and my editor has a 'Replace all in files' feature, I simply changed Polygon in the source to OEQPolygon. It apparently conflicts with WINGDIAPI. Now my only hang-up is: Quote:
I'll keep ya'll posted on what I find. -- Xorith |
Alright.
I've tried everything. I've tried Code:
int WinMain Code:
#include <windows.h> I've tried including various libraries... I've tried the -mwindows and -mconsole flags... It hates me, and I'm tired. :P -- Xorith |
For a windows app you need to replace
int main(int argc, char** argv) with int WINAPI WinMain(HINSTANCE, HINSTANCE, int, LPSTR) { } assuming you don't actually care what the parameters are. (And it's c++ so you can leave them out) |
Well, the code uses argc and argv... So using your example, how do I tell the code what file to open?
|
I ported this today to windows.
It took quite a few minor changes to make it work but nothing difficult. I just hardcoded argc and argv for testing but it would take much to split the command line. Once a version which is working a bit more fully is done I'll do a windows port and merge it back into the main source. I used the visual c++ express beta which is freely available and worked very well indeed for this, |
Hats off to you daek, you've come a long way
Im proud of you! |
Quote:
I hope you get a chance to play with OpenEQ when we get a little bit more functional hehe |
I'd love too. You're being smart and making sure to put the importance on good design concepts, that will really bite you in the butt later on if you neglect the overall design. theres nothing as expensive to fix as a bad design/architecture. Keep it straightforward and simple, and make sure you develop a good modular OO codebase and it'll save you a TON of time later on in terms of maintainability.
Another thing is your asking questions rather than assuming you know the right answers, thats the hallmark of an intelligent man. |
All times are GMT -4. The time now is 01:48 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.