Opensource TESAnnwyn, a possible plugin for the Editor

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
User avatar
psi29a
Posts: 5361
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Opensource TESAnnwyn, a possible plugin for the Editor

Post by psi29a »

BrotherBrick wrote: I know what mean with work, I have pauses when compiling or running
simulations during the day which gives me a little down time.

That is awesome of you to provide a Linux binary to use. No worries
about the source, yet... :P I'll not be harpy about it considering
I'm also 'unreleased' at the moment.

Ah, I see what you mean about TES3 only supporting 16-bit anyway, so
being preciser is overkill. OpenMW for now tries to keep to the
original (where it makes sense) when it comes to handling Morrowind
assets. However it doesn't mean that the engine can't handle
extensions/plugins after 1.0 release. Zini (benevolent dictator) has
said as much since his Ultima total conversion project now on OpenMW
now because of impossible to work around bugs in Morrowind engine
itself.

I hope you do not mind, but I've been posting our conversation (sans
real names) on the OpenMW forums.
http://forum.openmw.org/viewtopic.php?f=2&t=1055

There much more excitement on IRC about this possiblity since the
Editor development has gotten underway and the TESAnnwyn made our
example/demo suite possible. You did most of the gruntwork there, so
we'll be putting you in our thanks part of the Readme. :)

If you are interested in the project, feel free to join in. :) We
could use your hard earned expertise.

Any luck on that linux binary release? :D

Here is an example of what the combination of my tool, yours (via
wine) and OpenMW:
https://dl.dropbox.com/u/23495823/OpenM ... hot000.png
https://dl.dropbox.com/u/23495823/OpenM ... hot001.png
Lightwave wrote: Here ya go. I've compiled it with -O3 optimization, the binary is about 40K bigger than lower optimizations but it runs nearly 20% faster. It should run rings around the performance of the Windoze one. :)

We have a Mac in the office here, he's on holiday atm but I'm sure I could get this compiled for the Mac too once he's back, the code is very platform independent and only uses zlib as a 3rd party library (not relevant for Morrowind, but is included for Oblivion/Fallout3/Skyrim).

Any probs, let me know. Was a little surprised to see my wall of text also on the forum, lol, but I don't mind, so long as it doesn't send people to sleep. ;)

Cheers,
Attachments
tesannwyn_32.bin
TESAnnywn 32-bit Linux binary
(127.43 KiB) Downloaded 238 times
User avatar
Zedd
Posts: 288
Joined: 05 Sep 2012, 12:08

Re: Opensource TESAnnwyn, a possible plugin for the Editor

Post by Zedd »

wauw, this brings... possibilities
User avatar
psi29a
Posts: 5361
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Opensource TESAnnwyn, a possible plugin for the Editor

Post by psi29a »

BrotherBrick wrote: Very cool, thank you! Is there any performance to gain out of 64-bit version?

zlib dependency is nothing in the grand scheme of things, we'll likely
be using it and/or lzo when we go to supporting other formats. Matter
of fact, it is natively supported by Ogre3d, so... ;)
Lightwave wrote:Attached is a 64-bit x86_64 binary if you wanted to try it. I only have access to one 64-bit installation in work, but it doesn't have 32-bit libraries on it so I cannot compare performance. On Athlon64 chips I noticed a 10% increase in performance running 64-bit versions of code compared to 32-bit on equivalent hardware, so it's an improvement, not massive. Unsure how Intel chips compare.

TESAnnwyn is pretty slick on Linux though, I'm using a budget 6 year old PC in work with an Athlon64 X2 5000+ (2.6GHz core):

1. Exporting the entire Morrowind.esm (Vvardenfell) heightmap to a BMP/RAW takes 1.1 secs.
2. Importing the heightmap to a new ESP takes 2.6 secs.
3. Exporting the Vvardenfell heightmap, including the vertext colour map and texture placement maps takes 3.3 secs.
4. Re-importing the heightmap, vertext colour and texture placement maps (giving a perfect copy of Vvardenfell landscape) is 8.7 secs.

Most of that is disk writing time (to cope with monumental size landscapes as TESAnnwyn barely uses any memory, writing cells to disk instead. It's a bit slower but can cope with anything size-wise, your disk space is the limit (and the game engine usually falls long before that). :)

Btw, all the programs I developed for TES were coded in vi on Linux, sharing the data directory with a Windows PC). TESfaith and TES4qLOD already come with the source (I put them under GNU). TESPort, TEStroi, TESAnnwyn, TES4Scale (the latter unreleased) don't come with source as I never considered them in a finished enough state, and TESAnnwyn really needs one biiiig tidy up. ;)
Attachments
tesannwyn_64.bin
TESAnnywn 64-bit Linux binary
(107.63 KiB) Downloaded 235 times
User avatar
psi29a
Posts: 5361
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Opensource TESAnnwyn, a possible plugin for the Editor

Post by psi29a »

Lightwave wrote: Looks like "-O2" and "-O3" optimizations can cause TESAnnwyn to segfault, so I've attached the 32-bit and 64-bit executable without optimization, better that it works reliably. ;) I'll track down the cause eventually, probably a pointer overrun or something that doesn't rear its head until the code is tightly aligned, performance has never bothered me enough to compile in extra optimization. TESAnnwyn is several times slower on Windows 7 though and I really don't know why, maybe Win7 doesn't like console programs writing lots of files, or binaries compiled with an older (circa 2000) 32-bit C compiler. XP was relatively OK though AFAIR.

I also use Eclipse in work, but just for checking and comparing CVS projects rather than as a development IDE. So most life also revolves around vi, sed, awk and egrep/fgrep. But Emacs, lol, well that's just dire indoctrination. ;)

With code releases it's hard to be a perfectionist really, everyone has different styles and not everyone will be pleased. But my TESAnnwyn binary is always called 'r' (faster to type) and the main project file is 'r.c' (faster to type), all the other C files are a #include (so it compiles monolithically rather as separate modules), so you can probably understand that I need to structure it a bit better. ;-D

Keep up the good work. :)
tesannwyn_x86_32.bin
32-bit linux tesannwyn
(102.34 KiB) Downloaded 241 times
User avatar
psi29a
Posts: 5361
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Opensource TESAnnwyn, a possible plugin for the Editor

Post by psi29a »

Apparently I can only upload/post one attachment per post.

Here is 64-bit version:
tesannwyn_x86_64.bin
linux 64-bit tesannwyn
(106.13 KiB) Downloaded 292 times
User avatar
ElderTroll
Posts: 499
Joined: 25 Jan 2012, 07:01

Re: Opensource TESAnnwyn, a possible plugin for the Editor

Post by ElderTroll »

Great work brotherbrick! Is the source now available or is he still cleaning it up?
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: Opensource TESAnnwyn, a possible plugin for the Editor

Post by Greendogo »

Sweetness! Man, this + 6 months of creativity, work and a smattering of released tools would have made Hircine's job a lot easier and probably more fun.
Post Reply