Jump to content

Isaac

Member
  • Posts

    192
  • Joined

  • Last visited

    Never

Everything posted by Isaac

  1. Quote: Originally written by KernelKnowledge12: Isaac did not plan to be a main developer, and will most likely help more when the graphics code gets ported. Actually I no longer have any plans to help any more (though that does not entirely rule out it occuring). I've become too much of a contributor to Battle for Wesnoth, and uninterested in BoA, to do much with its editor.
  2. 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).
  3. Quote: Originally written by DreamGuy: and the menus are a pain to scroll through. Choosing among a large number of things with a mouse is always annoying, although menus are particularly bad. I'd like to be able to type the name instead (I'm a keyboard person).
  4. 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.
  5. 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 Any advice?
  6. 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;} And I got: Code: A's do thingB's do thinghello But wait... 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;//... crashes the program. 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).
  7. Quote: It is true that polymorphism is not inheritance, but polymorphism is needed in virtual inheritance, which is what we are trying to implement. What do you mean, "virtual inheritance"? Like 'class derived : virtual base'? If so, I don't know a lot about that, or what difference it makes. If you mean virtual functions, those shouldn't be a problem. 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. I don't dislike it as advertising. It would probably be useful to look at something like that, since I don't even know quite what is legal to do with templates in C++, and learning just that wouldn't be all that useful by itself either.
  8. 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? As these basic data have a common character that is loaded from and saved to .bas file, we will probably make a superclass on these classes to handle streaming on them. If we make a superclass, these data objects cannot be declared as global (static) variables because of inheritance. They should be generated by new operator dynamically. This means we must access them through pointers. 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. Really? I thought whatever you're talking about was handled fine, and the main problem with static variables was the order they get initialized in relation to each other. Sure, statically declared variables can't have their type determined polymorphically, but so what? You don't want to determine their type at runtime do you? Polymorphism != inheritance. (If you're still right, could you give me an example of the problem occuring?) 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...
  9. 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.
  10. 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.
  11. 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. Yes, and you can put it there since you have the most bug-fixed version. Make sure it's clear what license it has. 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. Do that too. 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/ Okay, thanks, I'll look into that.
  12. 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. Okay, I'll PM you what I think you mean (I've made a SourceForge account). 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.) Hmm, oh well, I obviously use MacOSX, and I don't know how to use CVS, but I can probably figure it out....
  13. 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. Uhhh... I need to create an account on SourceForge? (well, obviously yes... anything else?)
  14. 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?
  15. Are you sure you've done this? Quote: you need to move the editor application (.exe file) itself into the "Data" folder And if so, you should also make sure you haven't accidentally removed any of the data files.
  16. 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 don't expect to do a lot with this; I'm more expecting others to start it and me to contribute some if I can. 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!
  17. Quote: I'm beginning to think we should use OpenGL for the bulk of image handling. I agree. I have experience with it, and, well, it's cross-platform and can already do anything we want, besides being fast. It was a little hard for me to learn, but it's easy to use for simple 2D tasks. There are also lots of C++ layers that have been made for it, but using those would probably be overkill. 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. Plain OpenGL doesn't do ANY image loading - it gets to be cross-platform by not doing anything platform-specific. And its native graphics format has the image's pixels arranged in a different order than either Cocoa (MacOSX) or SDL, the two libraries I've used for the purpose, deliver images in, so there has to be a function to re-order the pixel data. 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. This could be a bug in the original BoA Source code I doubt it. That is a normal way to define what is inside a rect. 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 cleaner While the comments may say that, my understanding of the code is contradictory to that. In load_campaign() in the Mac editor, it checks whether it is a "windows scenario" and if so, ports it, and when saving, if it is a "windows scenario", ports it again before saving. I believe the type of a scenario, Windows or Mac, is determined upon creation. Quote: Also we might want to expand it so we can add on a script editor to the actual editor. Yes, extensibility is key. We want to get it usable quickly without hindering the addition of more advanced features. 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....
  18. 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 ? I tried to make it so that it was exactly the same as in the game when you had maximum light (and when wouldn't you, if you're trying to see?) If it does not, I need details. Quote: Oh, I forgot about sound. wxWidget doesn't support 'snd ' resource When would the editor want to use sounds? Hmm, the current editor does for buttons and stuff. But we don't need to use 'snd ' resources for that, even if we want to keep it. Quote: 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. I can give a little help, probably mostly with improving my code. I did a number of bad things with it, trying to make it the same style as the old code, and just doing generally stupid things (putting 2 in a variable declared as Boolean, for example). 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? Best to ask Jeff... he should know what his license means... Quote: On a side note, I just found out about this library a week ago, and IMHO it's brilliant: Phoenix I agree. It is unbelievable what can be done with C++ templates. Not terribly relevant to the issue at hand, though. Quote: Does SourceForge accept the Editor's license ? I think it would: it seems to be an open-source license. Quote: I feel Copy/Paste function is definitely needed, too. And also Undo. Yes. Especially Undo. (but that's just because I've wanted Undo more than copy/paste.) Quote: But I think I should finish Windows port of Isaac's 3D editor first. Yes, of course.
  19. Quote: Originally written by KernelKnowledge12: See how you like wxWidgets . It's extremely powerful and over 12 years in the making. Probably a good idea, although I haven't looked at it much. 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. There are two things to consider: 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.... )
  20. 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?
  21. New (and hopefully better) screenshots uploaded! And good luck, Notus, in bringing this editor to the other half of our community.
  22. 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. I agree -- in fact, I would go further than that. How would one go about attacking oneself in a normal manner? It seems like it would be different, and therefore do a different amount of damage ... unless there is some kind of recursive portal involved that allows one to attack forward and the weapon is reflected or teleported back to that character, or some equally weird situation. 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. Normal weapons never do more than 1-8/level (which are e.g. Blessed Greatswords). 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.
  23. 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.
  24. Quote: Originally written by Notus: Currently working on code reorganization and preparing for the Windows port. Great! Reorganizing the code could be a significant improvement. Hopefully you can manage the porting. 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.
  25. Here it is. 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
×
×
  • Create New...