So, guess what I did this week...

Not about OpenMW? Just about Morrowind in general? Have some random babble? Kindly direct it here.
Locked
User avatar
lgromanowski
Site Admin
Posts: 1193
Joined: 05 Aug 2011, 22:21
Location: Wroclaw, Poland
Contact:

So, guess what I did this week...

Post by lgromanowski » 22 Aug 2011, 19:56

Lordrea wrote: I've been playing with different technologies each week for the past month. I've brushed on Ogre, Qt, .NET aspects, and so on.

This last week I decided to see how far I could get in making a copy of the Construction Set, which required an interface for ESM/ESP files. So the majority of my free time this week went into writing a library for that.

The result is below. Only 20% of record types in ESM/ESP files are mapped, so the "OpenCS" only works with TES3, GMST, Global variables, Magic Effects, races, factions, classes, skills, sounds, and (somewhat) scripts.

Image

It's not a fully active project. The community already has Enchanted Editor, and as far as I can tell, no one needs a new construction set (at least not until OpenMW is complete). Though demand could change this.

Figured it may be fun for some of you other OpenMWers to see. :P
raevol wrote: Very nice! Very ambitious too, haha.
Lordrea wrote:
raevol wrote:Very nice! Very ambitious too, haha.
It's far less ambitious than OpenMW, actually. All that an OpenCS would need to do is parse the ESM/ESP files, and feed them to carefully designed UI widgets - which is very easy with Qt. There's no gameplay calculation, or anything. Just a glorified file I/O project. 20% of record read/parse/display/edit support in 4 days means that in less than a month, a public beta could be released.
raevol wrote: Wait, but so will it have the ability to modify levels and such? Or is it all just... values?
Lordrea wrote:
raevol wrote:Wait, but so will it have the ability to modify levels and such? Or is it all just... values?
What do you mean by levels? Cells? I'd like to do something like that, but I'm not entirely sure about Qt/Ogre integration.
Zini wrote:
It's not a fully active project. The community already has Enchanted Editor, and as far as I can tell, no one needs a new construction set (at least not until OpenMW is complete)
Haven't tried Enchanted Editor myself, but it doesn't look too great, it seems not to be under development any longer and as far as I can tell it is Windows only.

The TES-CS is Windows only too (not to mention that it is a huge pile of barely functioning crap). So actually a new CS would be very useful. Once OpenMW is going beyond the limits of original Morrowind, we absolutely need a new CS, because plugins, that use new features (e.g. an improved Morrowind scripting language) can't use the original CS anymore.
Lordrea wrote:
Zini wrote:
It's not a fully active project. The community already has Enchanted Editor, and as far as I can tell, no one needs a new construction set (at least not until OpenMW is complete)
Haven't tried Enchanted Editor myself, but it doesn't look too great, it seems not to be under development any longer and as far as I can tell it is Windows only.

The TES-CS is Windows only too (not to mention that it is a huge pile of barely functioning crap). So actually a new CS would be very useful. Once OpenMW is going beyond the limits of original Morrowind, we absolutely need a new CS, because plugins, that use new features (e.g. an improved Morrowind scripting language) can't use the original CS anymore.
True. And on that note, I propose that when we get that far, that we switch from esm/esp, to esmx/espx, which, honestly, should just be glorified XML files. How sweet would it be to go from:

Code: Select all

TES3 UNKN FLAG HEDR SIZE VERS TYPE Bethesda Softworks.............. The main data file for Morrowind................................................................................................................................................................................................................................ RECS
to:

Code: Select all

<TES3>
   <version>1.2</version>
   <type>ESM</type>
   <author>Bethesda Softworks</author>
   <description>The main data file for Morrowind.</description>
</TES3>
Zini wrote: Sounds reasonable. At least we could stop to worry about corrupted binary files. But please don't call them esmx/espx. Sounds too much like docx and co. That is not something an open source project should be associated with.
Lordrea wrote:
Zini wrote:Sounds reasonable. At least we could stop to worry about corrupted binary files. But please don't call them esmx/espx. Sounds too much like docx and co. That is not something an open source project should be associated with.
"X" for extended has been around long before Office 2007. I suppose oesm and oesp could work, but that reminds me of Sun's horridly named OSUM social network, at least more so than esmx/espx remind me of Office 2007.

Either way, that's probably a solution to be discussed on another, on-topic thread.
pogzy wrote: Impressive, do you think a tool that could be more useful than TESC and enchanted editor is a reachable target?

Do you have an idea of "must have functionalities" for this type of tool to be very attractive for modders so they get sticked to OpenMW?

I'm asking these questions because I've never write any mod.
Zini wrote: Well, all the features of the TES-CS plus some performance improvements minus all the bugs would be a good start. Sounds like a lot of work though.
Lordrea wrote:
pogzy wrote:Impressive, do you think a tool that could be more useful than TESC and enchanted editor is a reachable target?

Do you have an idea of "must have functionalities" for this type of tool to be very attractive for modders so they get sticked to OpenMW?

I'm asking these questions because I've never write any mod.
I think that it is a reachable target, yes. I'm not entirely sure of what additions modders would want, but once the project has matured to the point of being somewhat useful I will post on the official forums asking for feedback/suggestions/requests.

Really, as long as it doesn't crash as much as the standard CS, and if I can somehow work in a graphical representation (possibly through OGRE) for moving around/placing objects in a cell, people should be very happy.
Zini wrote: It's not exactly about the crashes (though they are nasty too). There are tons of other bugs (drag-locks for example, that can completely screw up your work). But the most serious problem is, that the CS can create broken plugins. The build-in script compiler generates broken code on a regular basis. It is possible to create a binary corrupted plugin by pasting text into the script editor. And terrain editing can lead to a broken plugin too (the last two problems aren't easily reproducible, but we had each more than once at the Redemption project).

Also, when we are coming to real improvements beyond bugfixing, a more convenient way to access IDs is needed. Some kind of palette maybe.
pogzy wrote: Do you plan to share sources on sourceforge (will you put it open source so we can contribute to it)? If so, when this could be done?

Which languages/technical libraries will you use once fixed?

May be it could be a part project of OpenMW. It could be fine if they mature each one their way but stay close together. What is your vision on this point?
Vance987 wrote: A bug free, user friendly CS would be exellent to co-exist with open mw. And using ogre would be awesome for seeing the world inside the CS. It would be necessary with the new scripts that come with open mw. I wish Nicolay could share his ideas though.
sir_herrbatka wrote: he actualy did :)

But only on the mailing list ;)
Lordrea wrote: I have this thing about submitting code that isn't ready. I've already done two revisions of the ESM/ESP loader, and I know that will have to be redone soon (right now it supports only one data file at a time).

Right now it is using Qt for the UI framework, and it will be using Boost for various tidbits. If someone really wants a copy of the source as it is, just send me a PM. I'd be happy to discuss it over IM.

Currently the "OpenCS" will:
  • Open an esm or esp file.
  • Populate the 'warnings' dialog box with load issues (at this point, any records that are not mapped - which are a lot).
  • Look somewhat pretty.
  • Display a shell for class editing.
It's nowhere near ready. I do want to tidy up a few things (fix the plugin information window size, get the classes window working, and add offset/file/line information to the warnings dialog) before I release the source openly, at which point I will discuss it on these forums to make sure it's all going well. I then might post it on the official Morrowind forums for feedback and general discussion/requests/contributions.

Obligatory screenshots:
pvdk wrote: Ah great work! I thought of making something like this too, but you beat me to it :)

About the Qt/Ogre integration: there are some widgets for that:

http://qt-apps.org/content/show.php/QtO ... tent=92912

And

http://www.ogre3d.org/wiki/index.php/QtOgre

Looks awesome already, keep up the good work and I'll be able to make the debug mod on my Linux machine.

pvdk

EDIT: Why do you need the Boost libs?
fallenwizard wrote:
Lordrea wrote:
Zini wrote:Sounds reasonable. At least we could stop to worry about corrupted binary files. But please don't call them esmx/espx. Sounds too much like docx and co. That is not something an open source project should be associated with.
"X" for extended has been around long before Office 2007. I suppose oesm and oesp could work, but that reminds me of Sun's horridly named OSUM social network, at least more so than esmx/espx remind me of Office 2007.

Either way, that's probably a solution to be discussed on another, on-topic thread.
Maybe you can use owp (OpenMW plugin) and owm (OpenMW master).
Sounds less horrible to me.

And wow: Your new editor looks neat. I am sure I will use it when OpenMW will be released.
nicolay wrote: Ah, I'm late to the game (sorry about that), but this stuff looks great. Hope you are still working on it Lordrea!

I have some thoughts about an editor, whether we need one etc: In short, I think it's a great idea. Not only would it be the perfect companion to OpenMW, but it would be an Incredibly Cool (TM) project in its own right, for all the vanilla Morrowind users.

It would be open source, it would run on all platforms (as Qt already does that for us), we could avoid all the bugs and improve it to no end. As you already said, making a simple value-editor is already much easier than making OpenMW.

The 3D editing stuff (if we want it at a later point) would be harder - but in my experience doing the hard stuff becomes much easier once you've gotten all the easy stuff out of the way! There might be some other open source projects we could build on here too.

Not to mention all the cool stuff you could do with an editor once you have one. OpenMW + an editor could slowly move from being a Morrowind emulator and onto being a generic RPG creation engine. Or the editor can be made into generic world editor for other games. The possibilities are endless.
Sslaxx wrote:
Lordrea wrote:
raevol wrote:Wait, but so will it have the ability to modify levels and such? Or is it all just... values?
What do you mean by levels? Cells? I'd like to do something like that, but I'm not entirely sure about Qt/Ogre integration.
If you haven't already done so, ask PolyVox on the OGRE forums about it.
best regards,
Lukasz

Locked