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
Off With Their Heads
Member # 4045
Profile Homepage #125
SDFs don't give me too much trouble. I organize them into groups by their first coordinate thusly:

Town-specific SDFs (usually for one-time messages) get the town number. So in town 5, I use (5,0), (5,1), etc. If I need more than thirty, I add 100, because I'm not likely to make a scen with more than 100 towns, so that town 5 would then also get (105,0), (105,1), and so on.

Outdoor section-specific SDFs get 200 + x of section times 10 + y of section. So section (3,4) would get (234,0), (234,1), etc. If the outdoors were large, I might have to modify this system, but I haven't yet.

Scenario-wide SDFs (and there are only a few of these) get 250. If the outdoors were large, they'd get 290 or something. Thus in Bahs the major scenario-wide SDFs are (250,0), (250,1), etc.

With this sort of organizational system and the notes that I take (which you can see because I leave those files in my scenario downloads), SDFs are not much of a problem for me.

EDIT: As far as doing things over and over, the only thing that comes to mind is creating one-shot code. I copy and paste this all the time:

if (get_flag(1,0) == 0) {
set_flag(1,0,1);
// do something, usually a message_dialog
}


[ Tuesday, May 24, 2005 11:39: 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 #126
I was thinking about making a tool that worked kind of like C++'s precompiler. It would lessen the need for a large amounts of notes, but it would create a dependence upon the utility. Good idea?
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #127
Oh! I just had a thought! I finally see how a useful scripting utility could work!

It would basically be a text editor with modifications. It could use color-coded text, first of all, different colors for different kinds of calls or for strings or that sort of thing.

It would also have a list of calls off to the side that would look sort of like this:

void block_entry(short do_blockage)
short get_ran(short num_dice,short min,short max)
short is_combat()

They could be dragged into the script so that dragging block_entry would put in the script:

block_entry()

Clicking a call in the list would bring up the Appendices entry for that call.

Additionally, it would have a built-in script-checker, maybe based on Alint, which is really good but just has no GUI to speak of.

Wow. With that scripting utility, the custom objects utility, and a redone editor, making scenarios would be vastly easier than it was when BoA first came out.

EDIT: I have no idea how C++'s precompiler works, so a brief description may be in order.

[ Tuesday, May 24, 2005 11:40: 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 #128
The scripting editor would work like Dev-C++'s gui, though without the constant parsing it does. There won't be a drag and drop interface, but there will be a code completion utility. For example, you'd start writing a call to a function, and underneath it the function's declaration (in a yellow box) is shown, such as:

block_en
void block_entry( short do_blockage )

This is how it is done in VC++ and Dev-C++.

As for C++'s precompiler, here are a few simple examples:

if you wrote:
#define SOME_GUY_DEAD_SDF get_flag(10,1)everytime you wrote SOME_GUY_DEAD_SDF, the precompiler would replace it with get_flag(10,1).

if you wrote:
#define CHECK_SET_SDF( x, y, action) if (get_flag(x,y) == 0) { \
set_flag(x,y,1); \
action; \
}
, then this,
CHECK_SET_SDF( 1, 20, (
do_something(...);
) )
would become this:

if (get_flag(1,20) == 0) {
set_flag(1,20,1);
do_something(...);;
}
Also, you can say something like:

#ifndef DOING_THIS_PART
do this code
#else
do this code
#endif
for version compatibility. For advanced uses of the precompiler, look here.

All scripts using the precompiler would have to be run through the precompiler before it could be used in the game.

[ Tuesday, May 24, 2005 16:52: Message edited by: KernelKnowledge12 ]
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Shock Trooper
Member # 4557
Profile #129
Its been a while since I've given an update, and soon I won't be able to devote much time to this project, as I have up 'till now, so I thought I'd give one. Due to several odd problems, of which I can't seem to find work arounds, I thought it best to switch from wxWidgets to NGL. This should make things easier, and allow for a better interface. Because of this change, the program's alpha release won't be for quite a while. Also, since I'll only be able to work on the project for a few hours a week, progress will be slow.

To show that progress has been made, I put up a screenshot on sourceforge of what the editor looks like currently (using wxWidgets), here.
The screenshot is of a partially working 2D view. The code for drawing the 2D view is fine, and the problems are due to the loading of textures, but NGL should help in this area.

Also, if anyone believes they can help and is willing to help, please say so here on these forums (or fora as I believe the correct term was pointed out to be), or email me through sourceforge.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #130
*poke*

Wondering where this is these days. Badly wishing for the palettes. Update on progress?

--------------------
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 #131
Well, after working on the GUI aspect of the remake, certain, more baneful parts of BoA's design started to show, and I quickly developed an intense migraine, so I started working on the actual editing part of the, umm, editor. This is essentially going to be (at first) in the form of a command line application that allows for directly editing/browsing a .BAS file. It will also contain a scripting engine to automate editing scenarios. While this probably won't be too much use to most people, it'll be the "shell" component of the remake. I've got the basic design down, and since this is a command line application, it shouldn't take too long to get a compiled version.

Also, I've recently revamped the BoALib part of the entire project. It's cleaner and better geared towards C++ rather than C.

As for the bug I described awhile earlier, I found a way around it that should be enough, though it may annoy some Windows users.

Questions/Remarks/Suggestions are welcome.

[ Monday, July 18, 2005 02:34: Message edited by: KernelKnowledge12 ]
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Infiltrator
Member # 4637
Profile Homepage #132
It's looking great. The greater area view, all towns and outdoors in a tree at one side, the palletes... Keep up the good work! You're making it all easier for everyone to create their scenarios. Thanks!

--------------------
Visit the Blades of Avernum Center
and the Beta Testing Center

--------------
"Beware lest anyone cheat you through philosophy and empty deceit, according to the tradition of men, according to the basic principles of the world, and not according to Christ." Colossians 2:6-9
Posts: 483 | Registered: Tuesday, June 29 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #133
This sounds really good, or at least it sounds as though it will be really good when the first release comes out. My main question is how close we are to that.

--------------------
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 #134
Not too sure how I can answer that. Here's essentially what's left to do before an alpha release:
Finish the editing part of the editor (about 45% - 55% done)
Technical Details:Add bas_file "registers"Put in inline "accessors"Create grammar that creates bytecodeCreate main application loop and releaseChange the graphic sheet handling part of the GUI code to accomodate both BoA's style and OpenGL's styleLink the editing part of the remake to the GUI, i.e. add menu items, a text box console, toolbox, etc.The good thing about the program I'm working on right now is that it should allow for a quick change from alpha release (of the remake) to beta release, since many editing features can be scripted. For example, it should be possible to turn Khoth's Wall Drawing Tool into a script, and therefore avoid going through the trouble of adding it directly to the code.
As for when this should be completed, I can't say. I hope this helps.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Infiltrator
Member # 4637
Profile Homepage #135
quote:
Originally written by KernelKnowledge12:

The good thing about the program I'm working on right now is that it should allow for a quick change from alpha release (of the remake) to beta release, since many editing features can be scripted. For example, it should be possible to turn Khoth's Wall Drawing Tool into a script, and therefore avoid going through the trouble of adding it directly to the code.

Is that scripting accessible to other programmers? And non-programmers? Anyway, that sounds really interesting. It makes me imagine your editor remake as a customizable editor, where the scripts would be the plugins. Of course, I may have understood wrong. :)

What's still left to do until alpha release sounds complicated to a non-programmer like me, but keep up the good work. We're looking forward for the alpha release.

--------------------
Visit the Blades of Avernum Center
and the Beta Testing Center

--------------
"Beware lest anyone cheat you through philosophy and empty deceit, according to the tradition of men, according to the basic principles of the world, and not according to Christ." Colossians 2:6-9
Posts: 483 | Registered: Tuesday, June 29 2004 07:00
Shock Trooper
Member # 4557
Profile #136
quote:
Originally written by Overwhelming:

Is that scripting accessible to other programmers? And non-programmers? Anyway, that sounds really interesting. It makes me imagine your editor remake as a customizable editor, where the scripts would be the plugins.
This is the basic idea, except there will be no way to add menu items, buttons etc. to the actual GUI through scripting. People can write scripts and run them through the editor as if they were running a program through the command line.

A script will essentially be a C source file since C is what Avernum Script is based on. There will be a main function that can take any amount of arguments, which, when the script is invoked, will be treated as command line arguments. People can use every part of C except: pointers, references (everything is passed by reference), structs, and dynamic arrays (with the exception of strings). There is one global variable, the .BAS file. Of the supported primitive types, there will be the following:

bool,
int,
location,
rect,
town,
item,
creature,
field,
terrain_script,
outdoor,
wandering,
boat,
horse,
storage_shortcut,
string,
terrain

Details on these primitives and other elements of scripting will be supplied in the documentation.

EDIT:
quote:

everything is passed by reference
Nevermind about this. Variables can be passed by reference if specified.

[ Monday, July 18, 2005 19:17: Message edited by: KernelKnowledge12 ]
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #137
I wish there was something I could do to help, but I doubt there is. I don't know the first thing about C code, and while I've been meaning to learn, I don't have any books or anything, and I'm guessing that what you're doing is a bit too advanced for a beginner anyway.

I'd love to help with any beta testing when the time comes, though, and I can point out some bugs/issues with the current 3D Editor.

[ Monday, July 18, 2005 19:47: 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 #138
quote:
Originally written by Kelandon:

I wish there was something I could do to help, but I doubt there is. I don't know the first thing about C code, and while I've been meaning to learn, I don't have any books or anything, and I'm guessing that what you're doing is a bit too advanced for a beginner anyway.
The scripting engine I'm creating right now that will allow for editing a .BAS file through scripting will use C, so if you plan to use this feature you'll have to learn.

Here's a very good tutorial on C/C++ that should be as good as any book:

http://www.cplusplus.com/doc/tutorial/index.html

Also, if you have any questions, I'd be happy to answer.

EDIT:

Oh, please list all the bugs/issues with the current editor that you notice. There's a chance I can fix them all at once.

[ Tuesday, July 19, 2005 09:44: Message edited by: KernelKnowledge12 ]
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #139
Somehow I never noticed the last response in this thread. Okay, here goes the bugs/annoyances I have with the current 3D Editor:

1. BUG: Realistic mode on the edge of outdoor sections sometimes misbehaves. You can see through walls (and they are shown in cutaway mode), as you can see here: screenshot.

Compare this with what you see one step further north: screenshot.

2. BUG: Realistic mode on the edge of an outdoor section also sometimes blocks off areas of screen for no particular reason. This is inconsistent, but here's one example: screenshot.

Here's the same spot in regular 3D mode: screenshot.

3. BUG: The 3D editing screen isn't exactly the same size as the BoA playing screen. Here's one spot in 3D editing mode: screenshot. I've made all the visible terrain cave floor, and everything around it is green grass.

Here's the same spot in the game: screenshot. You can see corners of green grass.

4. ANNOYANCE: The default terrain script name is "dummy." When you place a terrain script, it should just pop up the dialog box asking for a name (and the box should be blank or "dummy" highlighted, so that you can just start typing the name without having to delete something). In fact, you could leave the default as "dummy" if you could change all the boxes to pop up with highlighted text instead of having to move to the end of the box and delete everything.

5. ANNOYANCE: The default state to call when placing a special rectangle is 0 and increments by 1 with each rectangle that is placed, although one will probably not ever place a special rectangle that calls state 0. The starting number should be 10. (I can just type in a "1," but I have no doubt that this has confused some newbies who don't know that they're supposed to start with 10.)

6. ANNOYANCE: I'd like to be able to edit the adjacent outdoor section's terrain when it's on the screen. This seems hard to do with the current editor setup, though.

7. BUG: The calls te_ed_icon_adjust and fl_ed_icon_adjust don't display in 2D mode in the editor, but they do display in the automap in the game.

These are the ones that come to mind immediately. They are all really little things that don't bother me much, but if you can fix any of them, I'd appreciate it (and I'm sure all other BoA designers would, too).

[ Wednesday, August 10, 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 #140
Hmmm, I didn't think there'd be this many. It would probably better to enter them in the bug tracker at the sourceforge site. It would be easier for me to manage them.

I'm pretty close to finishing the scripting engine for editing, but if I can't get it to compile by tomorrow, I'll start working on fixing these bugs.

If there are any other bugs/suggestions please say so.

[ Wednesday, August 10, 2005 17:08: Message edited by: KernelKnowledge12 ]
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #141
I think I just put in the four actual bugs. The minor annoyances aren't a big deal, though, so I left them out.

[ Wednesday, August 10, 2005 18:10: 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 #142
Well the annoyances should go in either the support requests or the feature requests. If you really don't feel them to be important, you don't have to enter them, but I'll still try to address them.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #143
Time for a progress update? I think so!

--------------------
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 #144
I haven't worked on this in a few weeks, and I probably won't for a while longer due to a broken laptop, college applications, AP, etc.

As for the current status of the effort,

- the BoALib CVS module works and should allow for much easier development in creating any tool for editing. It parses scenario data scripts, and can load/save .BAS files, using a few calls. If anyone wants to use it, ask and I can give a few technical details regarding its use.

- the current 3D Editor code in the CVS module (NOT the source files in the file releases) uses BoALib, and essentially works just the same as the original 3D editor, without import features. The plan is to alter the API dependent features to use wxWidgets and OpenGL, and then release the resulting program as the official, non-beta 3D Editor.

All other questions/comments/suggestions are welcome.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Master
Member # 5977
Profile Homepage #145
quote:
Originally written by Kelandon:

Somehow I never noticed the last response in this thread. Okay, here goes the bugs/annoyances I have with the current 3D Editor:

1. BUG: Realistic mode on the edge of outdoor sections sometimes misbehaves. You can see through walls (and they are shown in cutaway mode), as you can see here: screenshot.

Compare this with what you see one step further north: screenshot.

I experienced this too, but not only in outdoors. Also in towns I experience this. I can't show a screenshot, because I don't have website, but what the editor does, is that it sometimes doesn't draw walls. This giving a blank spot which you can't see through. Its not something majot, but it really can get me irritated if it happens on a really important spot. What you mentioned, kelandon, happens when you have a cliff or walls in outdoors at the border of two outdoor sections. Still it shouldn't happen, but the reason for this, is simply that when you work on one outdoor section, you don't work on the other, meaning that the editor will just draw the other section as if you simply are not working in it. This also means it will draw the walls in the mode of very low, like you showed in the screenshots.

Something I also noticed, is that the editor ussually makes places much darker than they are in the game. Mainly walls are sometimes totally black in the editor, but in the game I can still see textures on the same walls.

[ Friday, October 14, 2005 22:38: Message edited by: Thralni, emperor of Riverrod ]

--------------------
Play and rate my scenarios:

Where the rivers meet
View my upcoming scenario: The Nephil Search: Escape.

Give us your drek!
Posts: 3029 | Registered: Saturday, June 18 2005 07:00
Shock Trooper
Member # 4557
Profile #146
quote:
Originally written by Thralni, emperor of Riverrod:

I experienced this too, but not only in outdoors. Also in towns I experience this. I can't show a screenshot, because I don't have website, but what the editor does, is that it sometimes doesn't draw walls. This giving a blank spot which you can't see through. Its not something majot, but it really can get me irritated if it happens on a really important spot. What you mentioned, kelandon, happens when you have a cliff or walls in outdoors at the border of two outdoor sections. Still it shouldn't happen, but the reason for this, is simply that when you work on one outdoor section, you don't work on the other, meaning that the editor will just draw the other section as if you simply are not working in it. This also means it will draw the walls in the mode of very low, like you showed in the screenshots.
Finding the causes to these bugs may take a while due to the way the 3D code is written. Unfortunately, it was written that way because the rest of the editor was written that way. Until serious modularization of code, and separation of concepts, so-to-speak, is done, smaller bugs like this will be somewhat hard to trace.

[quote]
Something I also noticed, is that the editor ussually makes places much darker than they are in the game. Mainly walls are sometimes totally black in the editor, but in the game I can still see textures on the same walls.
[/quote]This doesn't make too much sense. The editor is supposed to show places fully lit. Ah well, something else to look into, I guess.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #147
*poke*

Any progress made lately? Any progress coming soon?

--------------------
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 #148
quote:
Originally written by Kelandon:

Any progress made lately? Any progress coming soon?
Not really. I've just started working on it again.
Posts: 264 | Registered: Wednesday, June 16 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #149
*poke*

Time for a status report? I think so!

--------------------
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