BoA Editor Remake

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).

Pages

AuthorTopic: BoA Editor Remake
...b10010b...
Member # 869
Profile Homepage #25
HDs are HDs everywhere, I'm afraid. Anything with lots of moving parts will sometimes break.

--------------------
The Empire Always Loses: This Time For Sure!
Posts: 9973 | Registered: Saturday, March 30 2002 08:00
Shock Trooper
Member # 4557
Profile #26
quote:
Originally written by Notus:

[QUOTE]
Not only the selection phase, the paste phase also needs some consideration. On the paste phase, the pasted object is appeared in "floating" state on the screen until the position is determined. If the height information is included in the selected object, we should implement an user interface to adjust height too.

The "floating" state is needed, but by using Jeff's code this could get complicated. We should think of height in pasting later. Putting paste functions that copy just the terrain should be our first priority. Then we should try and put a paste function that copies the height. What we can do afterwards is place a "Paste Special" menu item to handle any other type of pasting.

quote:

Copy/Paste function may bring another copyright problem, but the community will reach to some consensus.

This'll only make it easier to violate copyright. Seeing as how the community seems ready to rip violaters limb from limb, I doubt the copy/paste function will really affect the desire to copy someone else's work.

If anyone has any comments on this please post them.

EDIT:

Concerning the "floating" terrain, perahaps we should implement a layering system. This wouldn't have to much to do with actual terrain design, except that people could work on several pieces of terrain without having to actually change the terrain.

[ Wednesday, February 16, 2005 12:09: Message edited by: KernelKnowledge12 ]
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Warrior
Member # 5289
Profile #27
Social role of Copy/Paste
As the next step of Copy/Paste, I considered "clip file". "Clip file" is a file data whose content is selected on the Copy procedure. After copying a part of the edit screen, save the copied data to "clip file" instead of pasting it. This "clip file" is used to exchange "landscape parts".

These small landscape parts are uploaded to a sever like the louvre, and everyone can use it by the courtesy of the original creator.

This story will be the positive reason to support Copy/Paste.

Floating paste
Floating paste is realized on the graphic system buffer.
a) We need a buffer between the graphic system and the actual objects to maintain the scroll (redraw) speed.
During the development of Win 3D editor, I tried to convert global (static) definition of the basic data to pointer expression of the objects, such as

- original
outdoor_record_type current_terrain;
current_terrain.height[]

- pointer expression
outdoor_record_type* current_terrain;
current_terrain->height[]

This conversion reduced scroll (redraw) speed to half.
The reason is as follows.
- Compiler generates indirect access to the memory on the pointer expression, and direct access on the original expression. Indirect access is much slower than direct access.
- 300-400 lines of these expression exists on "Graphics.cpp". Moreover, most of them are in loop.

To maintain the scroll speed, we should keep direct access to the data memory in the graphic system. But static expression of the data extremely limits the object function, as it doesn't allow even inheritance. Thus we need a data buffer between data objects and the graphic system.

b) "Floating paste" is a visual effect. The actual objects is not changed until the position is determined by user. Thus it is proper to implement using graphic system buffer.

No Data Padding
Previously, I promised to investigate on the existence of padding on recorded data (.bas file). Next is the result.

a) Manual calculation
Calculate bytes size of each data structure (class) manually using Excel, assuming no padding between members of structure. The result was as follows.

scenario_data_type 7480
outdoor_record_type 12892
town_record_type 16346
big_tr_type 20480
ave_tr_type 11520
tiny_tr_type 5120

b) sizeof operator
The figures returned by sizeof operator to above structures perfectly correspond to above figures on Xcode, MSVC++.NET2003 and DevC++

c) Actual file size
The .bas file size made by the original BoA Editor (Win v1.0.3, Mac v1.1) is 48238 bytes, for one outdoor sector and one average size town. This figure matches next sum of above sizes.
scenario_data_type + outdoor_record_type + town_record_type + ave_tr_type

From these facts, I conclude there is no padding within the recorded data. And we can safely use sizeof operator on these structures as the recorded data size on these compilers (IDE). But I don't recommend to use sizeof operator. Use above constant instead. Constant is compiler independent.

[EDIT]
My Email is recovered. So I could send reply via Email, but the discussion on Copy/Paste should be open. And the information on data padding may be useful for other developers.

[ Thursday, February 17, 2005 02:45: Message edited by: Notus ]

--------------------
Project: BoA Editor Remake on SourceForge.net
supports "3D BoA Editor" (Mac and Win), and creates advanced BoA Editor.
Posts: 107 | Registered: Tuesday, December 14 2004 08:00
Shock Trooper
Member # 4557
Profile #28
quote:
Originally written by Notus:


As the next step of Copy/Paste, I considered "clip file". "Clip file" is a file data whose content is selected on the Copy procedure. After copying a part of the edit screen, save the copied data to "clip file" instead of pasting it. This "clip file" is used to exchange "landscape parts".

These small landscape parts are uploaded to a sever like the louvre, and everyone can use it by the courtesy of the original creator.

Well, this is just brilliant! I never even considered this! Perhaps we can extend this (if we make this) to make the editor behave as a link to a database full of maps/custom graphics/scripts etc.

quote:
Originally written by Notus:


Floating paste is realized on the graphic system buffer.
a) We need a buffer between the graphic system and the actual objects to maintain the scroll (redraw) speed.
During the development of Win 3D editor, I tried to convert global (static) definition of the basic data to pointer expression of the objects

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?

quote:
Originally written by Notus:


Thus we need a data buffer between data objects and the graphic system.

I am a little confused by this notion. What exactly would the buffer do?

quote:

From these facts, I conclude there is no padding within the recorded data. And we can safely use sizeof operator on these structures as the recorded data size on these compilers (IDE). But I don't recommend to use sizeof operator. Use above constant instead. Constant is compiler independent.

I think I may be able to automate the constant size, using my class_base class. I developed it enough so that it automatically creates the default constructor, copy constructor, get/set functions, assignment operator and i/o routines given a class' "schematic". (The schematic is just a type sequence such as boost::vector< int, int, bool ... >.) I know this does not have too much to do with the application design, but it will make development much faster and easier. Look at the boa_primitives.hpp file in the CVS to see how its implemented.

I'll put a static const size_t that tells the size of class that ignores any evident inheritance.

Note:

I was thinking about wxDev-Cpp, and I'm not too sure we should use it, since:

a) It is based off of Dev-C++, not an actual plugin, although it says it is.

b) It uses a slightly older version of Dev-C++.

c) We don't really need it, since we should be able to do the code itself.

Do you have any opinions on this matter?
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Warrior
Member # 5289
Profile #29
Clip file
Even the clip file should include custom graphics, custom terrain script, custom item script, etc. Thumbnail and creator's name, comment also are desirable. Graphics need to be converted according to the platform. To solve these subjects, fair amount of effort will be needed, but it will be fruitful. Clip file implementation will provide the basis of unification on graphics editor and script editor as you suggested. It's the final goal.
But now, we should concentrate on graphics editor. Go step by step.

Basic data classes
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.

Graphic system buffer
Graphic system buffer holds all of basic data to draw current view (window). If a town is the top window, it holds such as,

scenario.start_in_what_town

town.wall_1_sheet
town.wall_2_sheet
town.ter_scripts[]
town.start_locs[]
...
t_d.floor[][]
t_d.terrain[][]
t_d.height[][]
t_d.lighting[][]

maybe 40kbytes or so.
The contents of graphic system buffer should be swapped when another town/outdoor window takes the top view, or on update event to redraw another town/outdoor.
It takes only several msec to swap the contents of graphic system buffer.

GUI builder
quote:
I was thinking about wxDev-Cpp, and I'm not too sure we should use it, since:
I found wxglade as a candidate but not examined so much yet.

[ Friday, February 18, 2005 02:44: Message edited by: Notus ]

--------------------
Project: BoA Editor Remake on SourceForge.net
supports "3D BoA Editor" (Mac and Win), and creates advanced BoA Editor.
Posts: 107 | Registered: Tuesday, December 14 2004 08:00
Shock Trooper
Member # 4557
Profile #30
quote:
Originally written by Notus:


Even the clip file should include custom graphics, custom terrain script, custom item script, etc. Thumbnail and creator's name, comment also are desirable. Graphics need to be converted according to the platform.

If we do this, maybe we should create a sort of package manager, similar to that featured in Dev-C++.

quote:
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.

Would implementing the wxWidget's App class speed thinks up to any extent? (The globals would be encapsulated in the app class.)

quote:

Graphic system buffer
Graphic system buffer holds all of basic data to draw current view (window). If a town is the top window, it holds such as,

scenario.start_in_what_town

maybe 40kbytes or so.

As I recall, the code loads images into memory temporarily to draw them. It then releases them. Would it speed things up to load these files at runtime, and hold these (by pointers or other means) in the definition types (creature_record_type, item_record_type, etc.)?

Other than this, should we get started on the buffer class?

quote:

I found wxglade as a candidate but not examined so much yet.

I looked at it. Its a standalone metaprogram that is capable of generating C++ code based on a form design. It should work fine.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Warrior
Member # 4202
Profile Homepage #31
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...

[ Friday, February 18, 2005 12:47: Message edited by: Isaac ]

--------------------
Creator of the 3D Blades of Avernum Editor for Mac. Get it at Ingenious Isaac's Illusion, my web page. Better yet, get Battle for Wesnoth, a wonderful free TBS game.
Posts: 192 | Registered: Sunday, April 4 2004 08:00
Shock Trooper
Member # 4557
Profile #32
quote:
Originally written by Isaac:

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.
It is true that polymorphism is not inheritance, but polymorphism is needed in virtual inheritance, which is what we are trying to implement.

quote:
Originally written by Notus:

[b]
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.
[/b]

Is this something that can be controlled by the compiler?

Just had a thought on globals. We could create a struct such as game_struct, which would have as data members all globals, and all global functions as member functions (everything would be public). The game_struct would be declared in the main(...) function, and all code in the main function would call functions through this object. Doing this in the current code would be a waste of time, but for future reference would this at all work, or would the invisible this pointer that is passed to the internal functions of the struct slow things down?

quote:
[b]
Also, if the STL is amazing, then boost::mpl is at least doubly amazing.
[/b]

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.

[ Friday, February 18, 2005 14:24: Message edited by: KernelKnowledge12 ]
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Warrior
Member # 4202
Profile Homepage #33
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.

--------------------
Creator of the 3D Blades of Avernum Editor for Mac. Get it at Ingenious Isaac's Illusion, my web page. Better yet, get Battle for Wesnoth, a wonderful free TBS game.
Posts: 192 | Registered: Sunday, April 4 2004 08:00
Shock Trooper
Member # 4557
Profile #34
quote:
Originally written by Isaac:

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.
Here's an example of virtual inheritance (although you probably have the idea already):
class base {
virtual void do_thing() = 0;
};

class derived_A : public base {
virtual void do_thing() { cout << "A's do thing" << endl; }
};

class derived_B : public base {
virtual void do_thing() { cout << "B's do thing" << endl; }
};

int main(...) {
base* p = NULL;
derived_A a;
derived_B b;
p = &a;
p->do_thing();
p = &b;
p->do_thing();
return 0;
}
The output from this should be:
A's do thing
B's do thing

This is dependent on the RTTI (Run-Time Type Information) of a program, which Notus says (and he's probably right) is created after the globals are loaded.

quote:
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.
Template metaprogramming is amazingly simple to write. (Reading it however will warp your brain, as it did mine :P .) The main thing you'll want to keep in mind is what Koenig calls the Fundamental Theorem of Software Engineering:

"We can solve any problem by introducing an extra level of indirection."
- Butler Lampson

This is applicable in all programming, but especially so in template metaprogramming, since the majority of the latter is run at compile-time.

Boost has a quick start tutorial which should be pretty self-explanatory, and if you have any questions I'd be more than willing to answer (assuming I know the answer).

EDIT:

Was messing with some code, and I ran into an error I cannot explain in my class_base class. It worked fine, and then I had to reinstall my compiler (keep in mind my code was never changed). Now I get an error equivalent to the following:

class A {
public:
void do_thing(){};
};

class B : protected A {
public:
using A::do_thing;
};

int main(...) {
B b;
b.do_thing() // --> error, function is not available in this context. Because B derives from A using protected,
// do_thing is protected, but since there is a using A::do_thing in a public spot, it should be (and was) considered public
}
Something happened to my compiler (Dev-C++) when I reinstalled it that causes this annoying, incorrect and limiting error. Does anyone know how I could remedy this problem?

[ Saturday, February 19, 2005 15:33: Message edited by: KernelKnowledge12 ]
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Warrior
Member # 4202
Profile Homepage #35
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.
#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:
A's do thing
B's do thing
hello
But wait...
//...
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).

[ Saturday, February 19, 2005 01:52: Message edited by: Isaac ]

--------------------
Creator of the 3D Blades of Avernum Editor for Mac. Get it at Ingenious Isaac's Illusion, my web page. Better yet, get Battle for Wesnoth, a wonderful free TBS game.
Posts: 192 | Registered: Sunday, April 4 2004 08:00
Warrior
Member # 5289
Profile #36
initialization of global (static) objects
More precisely, the initialization fails on next condition.
a) The given class derives from a base class.
b) The base class has "virtual" function.
If we cannot use "virtual" function, there is no meaning to use inheritance in these basic data objects.

Not only the problem on initialization, next behavior also causes problems.
In this condition, sizeof( 'given class' ) increases by 4 bytes, the pointer to vtable, in most compiler. Xcode, VC++, DevC++ are not exception. Moreover, &'object' points this hidden pointer, not the first member of the class.
This behavior affects the file loader/saver directly because it uses sizeof operator as the data size, and address of the object as buffer for read/write.

It may be solved by forcing compiler to use static binding in all cases. But this setting may be incompatible to application framework.

Modularization
One of the reason we feel the editor code is cluttered is that each module is not established well. Especially, global variables have double meaning, data holding object and interface of each module. The global variables I counted up before as the graphic system buffer, are actually a part of the "interface" of the graphic system.
I propose to determine the interface of each module according to current editor's code. Of course, no need to copy current code as it is, where we can apply improvement.

[ Saturday, February 19, 2005 04:53: Message edited by: Notus ]

--------------------
Project: BoA Editor Remake on SourceForge.net
supports "3D BoA Editor" (Mac and Win), and creates advanced BoA Editor.
Posts: 107 | Registered: Tuesday, December 14 2004 08:00
Shock Trooper
Member # 4557
Profile #37
quote:
Originally written by Isaac:


EDIT: KernelKnowledge, could you remove that really long comment from your code, or break it into multiple lines? It's stretching the page.

Oops, . . . sorry bout that.

quote:
I propose to determine the interface of each module according to current editor's code. Of course, no need to copy current code as it is, where we can apply improvement.
Does this mean we're now reorganizing the code?

EDIT:

Just remembered something. wxWidgets used to have its app class be a global when the IMPLEMENT_APP(...) macro is invoked. They changed this for the exact reason outlined by Notus. While the error does not usually occur, its much safer and cleaner to just do it another way.

[ Saturday, February 19, 2005 16:23: Message edited by: KernelKnowledge12 ]
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Warrior
Member # 5289
Profile #38
quote:
Does this mean we're now reorganizing the code?
Partially. Only module name (function) and its interface.
Determine module function - module name, and its interface. If you list up module name, I'll list up their interface from current editor code.
When the list is accomplished, discuss on interface.

wxGlade is not bad, but not so good. It worked both on Mac and Win, but I cannot figure out how to put other controls on notebook view.

--------------------
Project: BoA Editor Remake on SourceForge.net
supports "3D BoA Editor" (Mac and Win), and creates advanced BoA Editor.
Posts: 107 | Registered: Tuesday, December 14 2004 08:00
Shock Trooper
Member # 4557
Profile #39
When you say module, do you mean function? If so, we can use global.h to create the list on SourceForge (forums), so we all (developers) can go in and edit it.

The list would be somewhat as follows:

Function Name:
var name
var name
.
.
.

Another function:
.
.
.

If I misinterpreted, please elaborate.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Warrior
Member # 5289
Profile #40
Sorry for confused term.
Module is like "Edit screen drawer (2D/3D)" "Menu command handler", "Outdoor resize command" "Scenario loader/saver"

Next picture is prototype layout for Floor/Terrain/Item Creature Palette (Mac version). Drawn using "Interface Builder" on Xcode, not wxGlade.

IMAGE(http://homepage2.nifty.com/Notus/palette.jpg)

IMAGE(http://homepage2.nifty.com/Notus/palette2.jpg)

[ Sunday, February 20, 2005 06:43: Message edited by: Notus ]

--------------------
Project: BoA Editor Remake on SourceForge.net
supports "3D BoA Editor" (Mac and Win), and creates advanced BoA Editor.
Posts: 107 | Registered: Tuesday, December 14 2004 08:00
Warrior
Member # 4202
Profile Homepage #41
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):
cd /Users/isaac/Applications/Programming/boost_1_32_0
env 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?

--------------------
Creator of the 3D Blades of Avernum Editor for Mac. Get it at Ingenious Isaac's Illusion, my web page. Better yet, get Battle for Wesnoth, a wonderful free TBS game.
Posts: 192 | Registered: Sunday, April 4 2004 08:00
Off With Their Heads
Member # 4045
Profile Homepage #42
This looks really good. Will we be able to have more than one palette open at once (terrains in one palette, a second palette with floors selected, a third right underneath them that has items)?

And what is this "registered" business? Sorry if it's explained in the discussion above, but I can't seem to find it.

I really like the way this looks, though.

Speaking of which, now that my scenario is released, I'm going to get to work on the web site.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Warrior
Member # 5289
Profile #43
Isaac,
boost package is distributed on FINK, but over CVS.

http://fink.sourceforge.net/pdb/package.php/boost1.32

"xml_grammar" compilation problem may be irrelevant with phyton.

Kelandon,

quote:
Will we be able to have more than one palette open at once (terrains in one palette, a second palette with floors selected, a third right underneath them that has items)?
In this design, only one palette is displayed at once and the contents is switched by the top tab, as I felt screen is filled with palettes. But if it is better to display all palettes at once, I'll try to reduce the palette window size.

"registered" is added to reduce items displayed on the icon display area. Ordinarily, entire items are displayed on this area, but when "registered only" is checked, only selected items that are registered on the registered item list are displayed on it.

--------------------
Project: BoA Editor Remake on SourceForge.net
supports "3D BoA Editor" (Mac and Win), and creates advanced BoA Editor.
Posts: 107 | Registered: Tuesday, December 14 2004 08:00
Shock Trooper
Member # 4557
Profile #44
quote:
Originally written by Isaac:


I've been trying to install the Boost libraries.

You should ask the people at Boost through the Boost-Users mailing list. They should be able to solve your problem.

quote:

Module is like "Edit screen drawer (2D/3D)" "Menu command handler", "Outdoor resize command" "Scenario loader/saver"

Ahh. This makes more sense. Here are a few I can think of:

* New Town
* New Scenario (this might be part of the loader/saver)
* Tool palette
* Import Town/Outdoor
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #45
We should be able to adjust the palette window size using the box in the lower right-hand corner. It's there; I hope it's operational.

At any rate, some of us have differently sized monitors; I happen to have a largish one, so it works for me to have a lot on the screen at once. I think we should be able to create as many windows of palettes as we feel like, each with switching tabs, and adjust the sizes ourselves.

I don't know if that adds to the technical difficulty of programming, though.

And what makes an item "registered"?

EDIT: Also, for the life of me, I can't figure out how to send something to Sourceforge that actually shows up as the home page for the project. Can someone tell me what to enter in my "Connect to" field?

[ Sunday, February 20, 2005 15:53: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Shock Trooper
Member # 4557
Profile #46
quote:
Originally written by Kelandon:


I don't know if that adds to the technical difficulty of programming, though.

It shouldn't. This type of functionality is handled by the framework's code. We shouldn't have to do any real programming.

quote:

EDIT: Also, for the life of me, I can't figure out how to send something to Sourceforge that actually shows up as the home page for the project. Can someone tell me what to enter in my "Connect to" field?

This might help.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #47
Thank you. I'll get to work immediately.

Er, what was I supposed to add, other than the home page and a few screenshots?

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Shock Trooper
Member # 4557
Profile #48
Umm, I think that was it.

Anyway you can always add to it later.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #49
Okay, done. What do you think? What should I add?

EDIT: For the sake of ease of reference, the Sourceforge page is here and my additions are on the Screenshots page and here.

[ Sunday, February 20, 2005 18:33: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00

Pages