Isaac
-
Posts
192 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
Blogs
Posts posted by Isaac
-
-
On the enter-combat-end-combat bug (which incidentally prevents ending combat at all sometimes with low amounts of space), a simple (though perhaps not complete, still pretty good) fix would be to not move the party at all if when they end combat they are in a normal party order (i.e. player 1 is next to player 2, 2 is next to 3, etc., except of course dead characters don't need to be anywhere).
-
Quote:Originally written by DreamGuy:
and the menus are a pain to scroll through. -
Well I've gotten Boost installed ( help I used).
The interfaces you've been proposing look good to me, though I couldn't say how useful they would be in practice without knowing what the rest of the interface will be.
-
Argh.
I've been trying to install the Boost libraries.
When it gets to compiling "xml_grammar", it eats the rest of my ~1.8 GB disk space, presumably for virtual memory, and never finishes compiling it. When I restart my computer, I can repeat the process -- not much fun.
These are the shell commands I entered trying to follow some advice ( Boost-getting started , Boost Wiki-MacOSX build help ):
Code:cd /Users/isaac/Applications/Programming/boost_1_32_0env PYTHON_ROOT=/System/Library/Frameworks/Python.framework/Versions/2.3 PYTHON_VERSION=2.3 /Users/isaac/Applications/Programming/boost-jam-3.1.10-1-macosxppc/bjam "-sTOOLS=darwin" install
-
Well, I tested your example or "virtual inheritance", only by doing everything in static objects' constructors. I can't see how there could be anything wrong with this thing.
Code:#include <iostream>class base {public: virtual void do_thing() = 0;};class derived_A : public base {public: virtual void do_thing() { std::cout << "A's do thing" << std::endl; }};class derived_B : public base {public: virtual void do_thing() { std::cout << "B's do thing" << std::endl; }};derived_A a;derived_B b;struct some_global { some_global() { base* p = NULL; p = &a; p->do_thing(); p = &b; p->do_thing(); }} g;int main (int argc, char *argv[]){ std::cout << "hello" << std::endl; return 0;}
Code:A's do thingB's do thinghello
Code://...extern derived_A a;extern derived_B b;struct some_global { some_global() { base* p = NULL; p = &a; p->do_thing(); p = &b; p->do_thing(); }} g;derived_A a;derived_B b;//...
So as far as I can tell, it should be fine as long as we avoid using it before it's constructed. Which we'd have to do the equivalent of anyway if we didn't declare it statically.
EDIT: KernelKnowledge, could you remove that really long comment from your code, or break it into multiple lines? It's stretching the page.
EDIT 2: Don't forget, references allow polymorphism just like pointers. (probably obvious, but... just mentioning it)
EDIT 3: Or is this a compiler-dependent thing? I'm using GCC (because XCode uses that).
-
Quote:It is true that polymorphism is not inheritance, but polymorphism is needed in virtual inheritance, which is what we are trying to implement.Quote:What's even more amazing is that the MPL is only a very small part of what can be done with templates. Read the book "C++ Template Metaprogramming" by David Abrahams and Aleksey Gurtovoy (I am currently reading this).
Note: If that last part is considered advertising, I apologize. -
Quote:Originally written by Notus:
Quote:Is this really neccessary with the use of inheritance? Can't we use inheritance without changing the global variables to pointers, or am I missing something?
The initialization of static variables occurs on early phase of loading of an execute file. But in that phase, inheritance chain and RTTI are not established yet. Thus a static object that has inheritance aren't initialized properly.
Also, if the STL is amazing, then boost::mpl is at least doubly amazing. Templates look almost simple at first, but it turns out that many recent programming paradigms and other things can be implemented with them... -
I found a cross-platform C++ library that uses OpenGL: http://plib.sourceforge.net/ . I'm not sure how good it would be to use, but the abilities that it claims to have seem good.
-
I support the modularization such as the "GUI/kernel split". I want it to be easy to, for example, write a keyboard-driven interface.
I don't understand what this "for_each" would actually be supposed to do, but I don't see anything wrong with having a common base class like that. I just don't see anything you could want to do with it that couldn't be achieved better by, say, templates.
-
Quote:Originally written by Notus:
Isaac,
Can we support your 3D BoA Editor on SourceForge?
I'm now coding another bug fix, v1.0.2b4, patch for "Outdoor: drawing mode failure after moving section" bug.Quote:May I issue the Windows port of your 3D BoA Editor to SourceForge?
It entered to debug phase finally. Though there are still a several bugs I know (and maybe tons of bugs I don't know), I hope I can start beta test on next weekend.Quote:PS
MacOSX and Xcode are CVS savvy.
Setup guidance
Version Control with CVS on Mac OS X
http://developer.apple.com/internet/opensource/cvsoverview.html
Introduction to Xcode Source Control Management
http://developer.apple.com/documentation/DeveloperTools/Conceptual/Xcode_SCM/Int roduction.html
Client for MacOS
MacCVS
http://cvsgui.sourceforge.net/download.html
MacCVSClient
http://www.heilancoo.net/MacCVSClient/ -
Quote:Originally written by KernelKnowledge12:
You'll have to tell me the UNIX username (not the publicly shown one) you choose, then I'll give you developer access to the files.Quote:Also to get/change/commit the code you'll have to get a cvs client (if you don't have one already). If you don't know how to use cvs, well, this'll be a problem, as cvs is very hard to learn, but its not impossible. Since I used windows, I could get Tortoise CVS which is much easier to use than regular CVS, though it doesn't take advantage of advanced features. Don't know what clients there are for OS X, but the information is all on SourceForge.net. Also you can look up "The CVS Book." (Its free and online.) -
Quote:Originally written by KernelKnowledge12:
Isaac: I still need your SourceForge.net user name (UNIX username) so I can give you developer access to the project. If you want to give it to me, email it or pm it. -
Riposte only works VERY rarely, no matter how much skill you have in it. Like maybe 1% of the time. Such a hard-to-get special skill being nearly useless and not visibly increasing anything as your skill with it increases must be a bug. (of course I used the character editor to test this.)
EDIT: maybe I'm out of date... what exactly is this a list of? and what happened to the bug that shooting friendly people didn't make them hostile?
-
Are you sure you've done this?
Quote:you need to move the editor application (.exe file) itself into the "Data" folder -
Quote:Originally written by KernelKnowledge12:
as of now, I do not know if the other two lead developers of this project (Isaac and Notus) are even aware of this project's acceptance. I'd like to wait for them before doing anything significant (including asking for help).
I think the most productive thing to do at this point is get on with it - you seem to know what you're doing, and waiting for other people who may not have a lot of time will not help. I hope you know where to start, and good luck! -
Quote:I'm beginning to think we should use OpenGL for the bulk of image handling.
The task of drawing the lines for border rectangles might be made simpler or more possible by using OpenGL's depth buffer, although it wouldn't make as much of a difference as it could because the graphics are flat.Quote:Since it's cross-platform it might support PICT files, eliminating the first problem without any coding neccessary.Quote:Quote:
Also wxRect::Inside() returns true when given point is on whole boundary. PtInRect() (in both platform) returns true when given point hits top or left boundary, but it returns false when it hits bottom or right boundary.Quote:Quote:
Most of published and under-development scenarios use custom graphics for floor, terrain, creatures, items and introduction pictures. These graphics needs conversion to be ported to another platform. This conversion involves data format, file format and file name (resource ID) changes. It can be automated by a custom utility. If this utility also supports endian conversion on data (.bas) file, there is no need to implement the "flip blah" function to the editor.
The resource conversion utility is a good idea, but there is only one type of .bas file (at least according to the Jeff's comments.) This file type is stored in Big-Endian. The windows editor (and I'm assuming the windows BoA) loads the .bas file and converts the Big-Endian to Little-Endian through the flip functions. They are needed in the windows editor, and there is no way (that I can see) to take them out, although they can be made a little cleanerQuote:Also we might want to expand it so we can add on a script editor to the actual editor.
A good human interface design is an important thing (technically, it's the only reason we aren't editing the file's data directly ). We should probably have some reasonably detailed idea of what we're actually trying to make, although the more flexible the code is, the less is necessary to figure out in advance. One idea I had was a selection of the most recent things (floor, monster, item, terrain) that can be chosen from to place more of. The main view should be the same shape as the game's view, at least in 3D. We shouldn't restrict ourselves to too small a window. Just a few comments.... -
Quote:This is either a bug and/or a forgotten feature.
Lighting in realistic mode does not match the game lighting. Also, could we have a time control so that we can get a look at the different light levels ?Quote:Oh, I forgot about sound. wxWidget doesn't support 'snd ' resourceQuote:For liscensing issues, the GPL should be more than adequate, although before we start any coding, or even start a project on sourceforge, we should ask Jeff for express permission. Before this though, we should probably find out exactly how many people are willing to help.Quote:I looked over the BoA Editor liscense, and would a remake of the Editor constitute a "Contribution"? Also, why does the last part, entitled "YOU MAY NOT:" seem to contradict the other parts?Quote:On a side note, I just found out about this library a week ago, and IMHO it's brilliant:
PhoenixQuote:Does SourceForge accept the Editor's license ?Quote:I feel Copy/Paste function is definitely needed, too. And also Undo.Quote:But I think I should finish Windows port of Isaac's 3D editor first. -
Quote:Originally written by KernelKnowledge12:
See how you like wxWidgets . It's extremely powerful and over 12 years in the making.Quote:First I think we see if we can get inheritance on our side, but, yes, there are several ways the classes in the original source code can be bettered.
1) More people know C than C++. The more people who can understand/modify the code, the better.
2) C++ is better than C for many things.
I think that using Sourceforge would probably be a good idea. What we're doing now is not good. It is too much of a bother for me to update my version when other people make improvements. And if there is more involvement than a single person, we will need a better system for dealing with modifications than uploading modified source files.
If we rewrite it completely, I think we can choose our own open-source license, although I'm not sure we'd want one different from the original's. I believe the current editor's license is not GPL-compatible. (I'm not sure of any of this though because I'm not a lawyer.... ) -
Could it be an endianness bug: Do you know whether the relevant scenarios were created on a different platform from the one being used to import with, or anything like that?
-
New (and hopefully better) screenshots uploaded!
And good luck, Notus, in bringing this editor to the other half of our community.
-
Quote:Originally written by Garrison:
It will be very hard to simulate exactly how damage a PC could do to itself, but I don't think anyone would care.
EDIT:Quote:Originally written by General Leon:
Bruisers should have higher-damage weapons, something arond 1-10/level, whereas magi should have weaker ones, somewhere around 1-5/level.
Sometimes I equip my mages with greatswords because I have extra ones and why not.
I don't think that is a good sort of assumption to make if you care much about correctness. -
If you use erase_char, remember to use it every time the party enters town after the char is erased. You will probably need a Stuff Done Flag (SDF) for this.
-
Quote:Originally written by Notus:
Currently working on code reorganization and preparing for the Windows port.
I've uploaded the fix as 1.0.1. Serves me right for ignoring the warnings just because there were too many already. Another 'bug' I happened to find was that using option-click to center on a place made the editor think it needed saving. Some code changes could fix that, but a good, comprehensive fix for that sort of thing would require significant code changes. handle_ter_spot_press() could set whether it needs saving directly, or return whether it needs saving, but that risks true modifications being missed. A better, more 'object-oriented' design would have modification methods for the terrain, etc., which would record that a modification has happened. -
Besides editing in 3D, you can:
- conveniently switch views by typing tab and option-tab
- view it like it is in game, with lighting and line of sight included, or a more convenient 3D editing view
- option-click to center on a location (especially useful when zoomed out)
- change outdoor dimensions
- et cetera... see the readme, there are lots of improvements
There are possibly some unresolved bugs, but I don't think they are there anymore (I never experienced them, so I can't be sure). I know porting it to the PC is greatly desired, but I have heard that there are technical difficulties. Just saying this so the thread doesn't get flooded with "pleeease make a PC version" or similar comments ... anyone who wants to attempt porting it is certainly welcome to do so. Also, I don't know why it doesn't work for Classic Macs but you who use one should definitely upgrade to OS X: it's a much better OS.
Of course, I don't think any of the responses are likely to be particularly useful, so feel free to say what you want.
Happy Holidays,
Isaac
BoA Editor Remake - Info
in Blades of Avernum Editor
Posted
Isaac did not plan to be a main developer, and will most likely help more when the graphics code gets ported.