Page 1 of 1

ExultStudio Creation

Posted: Thu Mar 14, 2002 5:10 pm
by Valliant Dragon
Well, I finally got ExultStudio working (had to edit the .glade file. Yuck)

Since then, Ive been working on a new city. I call it Giridion, and it's in the little lake-thingy by Minoc/Yew. New NPCs? Yup. Working? Yup.

I have screenshots at a zip file on my site. It's @

http://www.ultimadragon.0catch.com/GiridionScreenys.zip

I'm going to put a page up for it, once I get MS Word working again (if it ain't one thing broke, it's another)

Thanks,
Valliant Dragon



Who says ya cant do much in ExultStudio? Har har.

Oh and btw,

Posted: Thu Mar 14, 2002 5:13 pm
by Valliant Dragon
A few questions:

1:) What file(s) would I have to grab to distribute my city?

It has new NPCs and an edited map, but no shape changes (you
developers know what I mean :) )

2:) How do I go about making new dialogue?

New NPCs usually require something to say, no?

3:) Can I add new, custom portraits for my NPCs? If so, how would I
set my NPCs to them using ExultStudio?

Thanks,
Valliant Dragon



Never said building cities was easy, but Rome wasn't burned down in a day.

Re: Oh and btw,

Posted: Thu Mar 14, 2002 5:26 pm
by SB-X
1:) I don't think EA would care about your "add-on", but I've seen suraimu and Artaxerxes discuss the IPS patching system for distributing language translations. Maybe that can be used here.
2:) The Usecode my friend.
3:) In the Files list, select Shape Files->faces.vga. In Exult double-click the NPC to edit. Now from the right view pane of Exult Studio drag one of those faces to the face view on the NPC editor dialog. Use expack and the Photoshop/GIMP shape plugin to edit the faces.vga file.

Re: Oh and btw,

Posted: Thu Mar 14, 2002 5:29 pm
by SB-X
Hmm, now that I think about it, I may not have fully understood what you meant in question 1. The impression I got was "what do I do to distribute these things without getting into trouble". Tell me if I'm wrong. :-)

Re: Oh and btw,

Posted: Thu Mar 14, 2002 5:30 pm
by Valliant Dragon
Okay,

This would come up with my new NPCs right?
If not that could be a problem, there's only so many blank spaces in that vga file.

Thanks,
Valliant Dragon

Oh and,

TELL ME HOW TO MAKE NEW DIALOGUE FOO!

Thank you again.

:-)



No one said making a city was easy, but Rome wasn' burned down in a day.

Re: Oh and btw,

Posted: Thu Mar 14, 2002 5:32 pm
by Valliant Dragon
And no, In number one I meant:

"What file do I have to grab from my Ultima 7 folder and upload to my site so that people can use my add-on/city/thing ?"

Thanks,
Valliant Dragon


No one said making a city was easy, but Rome wasn't burned down in a day.

Re: Oh and btw,

Posted: Thu Mar 14, 2002 5:36 pm
by SB-X
I didn't know you meant on "new NPCs".

DrCode and Darke are working on UCC and UCXT respectively. This will let you edit the Usecode in a C-style syntax. I haven't been following their progress. If they aren't completely already you can use wud to decompile functions for the NPCs from your static/usecode file into an asm-style script and wuc to recompile them. The tools 'rip' and 'glue' are also used. Artaxerxes has had experience with this too.

Re: Oh and btw,

Posted: Thu Mar 14, 2002 5:38 pm
by SB-X
Heh, we are stepping on eachothers toes here. I meant the commands "rip" and "rip glue" in the last post.
You should be making your changes in a patch directory and then distribute that if you choose. See the SFIsland patch at the Exult SourceForge page.

Re: Oh and btw,

Posted: Thu Mar 14, 2002 5:39 pm
by Valliant Dragon
Okay, someone translate that in to english?

Lemme see...

"Someone's making a Usecode thingy that lets you do it in pseudoC++, but for now you need to use Assembly-code stuuf the original Ultima 7 programmers probably couldn't understand anymore?"

Just checking :-)

I guess if maybe I made up a rtf with dialogue someone who understands what there doing could help me. (Please?)

Thanks,
Valliant Dragon

Re: Oh and btw,

Posted: Thu Mar 14, 2002 5:45 pm
by SB-X
Trying to download that zip file only got me this:

This site has exceeded its limit of 20 MB of transfer per day. The account can be upgraded to a paid
account to increase the transfer limit to 3 Gigs of transfer per month in your 0catch.com user tools section.

Re: Oh and btw,

Posted: Thu Mar 14, 2002 5:48 pm
by Valliant Dragon
Yeah I know.

I only get a certain bandwidth per day. Try d/l ing it in the morning.

If you'd like me to mail it, I could. You'd probably get it faster that way.

Thanks,
Valliant Dragon

Re: Oh and btw,

Posted: Thu Mar 14, 2002 10:17 pm
by wjp
"Someone's making a Usecode thingy that lets you do it in pseudoC++, but for now you need to use Assembly-code stuuf the original Ultima 7 programmers probably couldn't understand anymore?"

Yeah, that's basically it :-)
Usecode assembly really isn't that hard though. Of course, I'm slightly biased... I've only been looking at it for 3 years or something. ;-)

Re: Oh and btw,

Posted: Thu Mar 14, 2002 10:19 pm
by wjp
New NPC portraits: you should be able to add new shapes to faces.vga, and then select them in exult studio.

I think ipack might help with adding new shapes, but I haven't properly looked into ipack yet.

Re: Oh and btw,

Posted: Fri Mar 15, 2002 4:44 am
by artaxerxes
SB-X is right about usecode ans IPS.

I've been looking at them for a while too.

If you want to add new conversations, I would recommend doing something like this:

1- rip all and wud the whole usecode (rip and wud are part of the Exult tools)
2- choose a function (a .uc) that has a conversation similar to the one you want your new character to have.
3- change the words and verify the calls to intrinsinc and external functions are ok
4- save the function under a new function name
5- use ExultStudio so that the egg activates the function whose number you chose in step 4.
6- wuc and rip glue to get a new usecode (wuc is also part of the Exult tools)

That should be it! It everything is good, create a patch using IPS (for windows users) and diff (??) (for Unix users)

Artaxerxes

Re: Oh and btw,

Posted: Fri Mar 15, 2002 9:11 am
by drcode
I'm getting confused:-)

1. You should distribute the files in your 'patch' directory. Users should create their own 'patch' (adjacent to 'static' and 'gamedat'), put the path in their 'exult.cfg', and store your files there.

2. You don't need to decompile or disassemble the existing Usecode to add a new character. A Usecode function for an NPC is assumed to be # 0x400 + (npc #). You can write your new functions in your own file, say 'myfuns.uc'. Running 'ucc myfuns.uc' will produce output 'myfuns.uco'. Put this in your patch directory, renaming it to just plain 'usecode'. Of course, the hard part is figuring out how to write 'myfuns.uc', especially since there isn't any documentation yet:-)

3. You can add new portraits with the aid of some of our tools ('expack', 'ipack', plugins), but it's not very convenient yet. Editing/adding shapes easily from within ExultStudio is something I'm working on at the moment.

BTW, see the 'newgame.txt' file in our docs directory for some information, keeping in mind that it won't stay up-to-date for very long:-)

Re: Oh and btw,

Posted: Fri Mar 15, 2002 9:20 am
by drcode
Hmm... can't seem to get the .zip file with the screenshots. BTW, I'm happy to see someone starting to use the tools to create new stuff; one of my long-term goals is to see new games in the U7 style, which I still like better than all the 3D 1st-person games that the commercial companies are making.

A few problems

Posted: Fri Mar 15, 2002 2:37 pm
by Valliant Dragon
Okay, my ExultStudio seems a bit unstable.

Most of the time it works fine ... shape broswing, etc. But sometimes I can't browse shapes, save the map, or even edit it.

The debug window thingy says "Unable to create mailslot (Ultima 7 statics directory here"

Something corrupted? I am missing something? Does ExultStudio hate me?

And someone PLEASE make a Usecode debugger!

For the adding/modifing VGA ... I can make a front end for it if you want, since it uses scripts. Mail me if you want that one, and Ill see what I can do.



Anyways, Im more than happy to fool around with the editors. Making new stuff for games always was a bit of a passion for me.

Thanks,
Valliant Dragon

Re: A few problems

Posted: Fri Mar 15, 2002 3:00 pm
by Valliant Dragon
I believe what he meant with the disassembling thing was to grab an existing NPC dialogue and just change the words.

And on other small question:

Could we possibly have some front-ends for some of the tools?

If you compiled the EXE's into DLLs and told me what to call and when ... that bit ... I could create front-ends myself. I'd not have a problem with doing that at all, the problem is I dont know the code like you guys do and dont know what to calla nd how to make the program do different thigns with the tools. If I could get that going, I could even possible grab the ExultStudio source and implement the front-end as an extension to ExultStudio. Anyone like that idea? If you do, just say so and I'll see what I can do.

Oh and btw, I think I will be making that script-based front end for the shapes tool. If I did that, would you developers want that? Just say yes and I'll send it along once I got it working.

*breathe breathe*

I think I'm done.

Thanks,
Valliant Dragon



No one said ExultStudio was easy, but Rome wasn't burned down in a day.

Re: A few problems

Posted: Fri Mar 15, 2002 3:47 pm
by drcode
It would be useful, as long as they run under Linux and the Mac as well as Windows:-)

Having played around a bit with trying to create a new game, I'm pretty much convinced now that most operations should take place within ExultStudio itself. If there's a shape I want to change, I just want to right-click on it, select "Edit" from the popup menu, and have an image-editing program automatically launched with that shape. I'd also like "New frame" and "New shape" choices as well. Using separate programs (like 'ipack') is possible, but involves too many steps (usually culminating in restarting ExultStudio so it reads all the updated files).

Re: A few problems

Posted: Fri Mar 15, 2002 4:15 pm
by co
artaxerxes: diff is for textfiles only. ips works for both windows and unix, that's the point (don't know about endianness, but i think this works, too).

Re: A few problems

Posted: Fri Mar 15, 2002 4:19 pm
by Valliant Dragon
Just thought I'd at least make the current tools easier to use.

Screenshots

Posted: Fri Mar 15, 2002 4:22 pm
by Valliant Dragon
Jsf: Maybe you could put the screenys of my city on the screenshot page, show people what you can do with ExultStudio. Just another idea.

Thanks,
Valliant Dragon

Re: Screenshots

Posted: Fri Mar 15, 2002 4:31 pm
by Valliant Dragon
Oh and, by "adding them as an extension to ExultStudio" I meant "If I get these thigns working they can be a part of ExultStudio" :-)

Thanks,
Valliant Dragon

Re: Screenshots

Posted: Sat Mar 16, 2002 12:58 am
by wjp
"diff is for textfiles only. ips works for both windows and unix, that's the point (don't know about endianness, but i think this works, too)."

ips works under unix? What program do I need to apply them?

Re: Screenshots

Posted: Sat Mar 16, 2002 3:24 pm
by co
ucon should be able to apply those patches (it works for snes roms, but should for other files, too). a short description of the ips-format is here.

Re: Screenshots

Posted: Sun Mar 17, 2002 12:57 am
by wjp
Thanks for the links

Re: Screenshots

Posted: Sun Mar 17, 2002 11:54 am
by suraimu
There are also Mac and BeOS IPS patchers too.

Re: Screenshots

Posted: Wed Apr 17, 2002 4:28 pm
by ShaneB
Well I cant get Exult to compile in ExultStudio support. It first says yes, then says no...I have libglade support on the machine.


oh..I am running Linux with X11 v4.2 using Gnome as the desktop manager (the distro is Mandrake 8.2)

- Shane

Re: Screenshots

Posted: Wed Apr 17, 2002 4:50 pm
by Darke
If you're installed libglade from packages, make sure you've got the libglade development libraries installed (which are called 'libglade-devel.rpm` under SuSE, the distro I use, I don't know about Mandrake), not just the runtime libraries (which are just called `libglade.rpm`).

If you installed from source you _should_ have all the correct libraries...

Re: Screenshots

Posted: Wed Apr 17, 2002 5:10 pm
by ShaneB
It wasn't the libraries in the end, but one of the configure options (--enable-exult-studio-build=yes) that stopped it.... now when I try and use ExultStudio (enable cheats and press alt-ctrl-m) it crashes my machine! :(

- Shane

Re: Screenshots

Posted: Wed Apr 17, 2002 5:31 pm
by ShaneB
but only when I try and run it from the alt-ctrl-m thing. I have got ExultStudio to run by itself. well with Exult running aswell

Now its onto the docs to get a little more knowledge of how it works.

- Shane

Re: Screenshots

Posted: Thu Apr 18, 2002 5:52 pm
by Jon Miller
Valliant Dragon, just wanted to tell you that your city looks very cool, based on the screenshots. Out of curiosity, how long did it take you to design and implement? And did you figure out how to give your NPCs dialogue?

To the Studio creators who asked what features are most desirable, I think the real thing for me is a dialogue editor. Would it be possible to deal with dialogue visually, in the Studio program itself? Like, you see a flow chart with all the keywords, and clicking on one shows you the pages of text that it leads to? Yeah, I know, that might be complicated and unnecessary. But even that thing that would let you program it C-style would be a big help, cause I really wouldn't know how to begin messing with the usecode.

As always, respect and appreciation for your hard work...

Re: Screenshots

Posted: Thu Apr 18, 2002 6:34 pm
by Dominus
hm look at the studio docs concerning the usecode. It is kind of confusing what I wrote (in hindsight) but looking at the patch demo you will find an example script called usecode.uc . You can see there how conversation could be executed. Using ucc (in the tools) on this file ("ucc usecode.uc") will output a file called usecode.uco.
Renaming this to usecode gives you the same file as is in the patch demo.

You have to assign new NPCs hex values. For example in the patch, Dr.Code has the usecode number 0x564. In the NPC-Editor you have to put that number in the Usecode part. Important: make sure you don't assign any taken usecode #. Starting with those in the patch demo is a good start.
As for how to edit the conversation you will get the basics from looking at the usecode.uc file...