Modding the GUI

Post » Tue May 15, 2012 3:15 am

This should make DarN feel right at home. Back to XML :)
Lol! Can't catch a break. :D

You need to make sure the order of your classpaths match the order in which the intrinsic classes are overwritten. In the CS Actionscript 2.0 preferences, the classpaths should look like this:
.
C:\UDK\UDK-2011-10\Development\Flash\CLIK\ <- replace this with yours
$(LocalData)/Classes

This means the compiler will first use the intrinsic classes in Flash, then the ones by ScaleForm, then the ones by Bethesda from the .swf file.

If you get errors about System.capabilities.numControllers, go into the respective .as files and replace System.capabilities.numControllers with the number 1.
I got those set up yesterday. I somehow got more errors thrown at me when I did. I think my issue might be related to a difference in the decompilers. Trillix produces different code than Quicker.
Quicker:
class Shared.BSScrollingList extends MovieClip{    var EntriesA, bDisableSelection, bDisableInput, bMouseDrivenNav, iSelectedIndex, iScrollPosition, iMaxScrollPosition, iListItemsShown, iPlatform, border, fListHeight, scrollbar, ListScrollbar, iMaxItemsShown, _parent, itemIndex, onMousePress, __get__selectedIndex, __get__scrollPosition, __set__scrollPosition, bListAnimating, __get__listAnimating, dispatchEvent, __get__entryList, __get__disableSelection, __get__disableInput, iTextOption, __get__textOption, ScrollUp, ScrollDown, iScrollbarDrawTimerID, __set__selectedIndex, __get__selectedEntry, __set__listAnimating, __set__entryList, __set__disableSelection, __set__disableInput, __set__textOption, __get__maxScrollPosition, __get__maxEntries;    function BSScrollingList()    {        super();
Trillix:
dynamic class Shared.BSScrollingList extends MovieClip{    static var TEXT_OPTION_NONE: Number = 0;    static var TEXT_OPTION_SHRINK_TO_FIT: Number = 1;    static var TEXT_OPTION_MULTILINE: Number = 2;    var EntriesA;    var ListScrollbar;    var ScrollDown;    var ScrollUp;    var _parent;    var bDisableInput;    var bDisableSelection;    var bListAnimating;    var bMouseDrivenNav;    var border;    var dispatchEvent;    var fListHeight;    var iListItemsShown;    var iMaxItemsShown;    var iMaxScrollPosition;    var iPlatform;    var iScrollPosition;    var iScrollbarDrawTimerID;    var iSelectedIndex;    var iTextOption;    var itemIndex;    var onMousePress;    var scrollbar;    function BSScrollingList()    {        super();
Does dynamic mean it can be extended? If so, that could be part of my problem right there.

socrates200x:
The font Skyrim uses are the various Futura condensed versions, right?
Does that mean we have to obtain a license for this font if we want to make a mod with that font or does the bethesda license include consumers using it for mods? Is the font included with the CS or do we have to decrypt it from the Flash files?
Oh and I did some vector mockups of an improved UI (see http://imgur.com/a/hcp6S and http://www.gamesas.com/index.php?/topic/1266556-usage-of-screen-real-estate-in-skyrims-interface/page__st__140__gopid__19271230#entry19271230 for the corresponding post.)
If anybody wants it, I can clean it and upload the vector files so you can prototype some ideas.
You should be safe just referencing the fonts like in the default menus. That way you're simply linking to what's already there.
User avatar
Tiffany Castillo
 
Posts: 3429
Joined: Mon Oct 22, 2007 7:09 am

Post » Tue May 15, 2012 1:15 am

The font Skyrim uses are the various Futura condensed versions, right?
Does that mean we have to obtain a license for this font if we want to make a mod with that font or does the bethesda license include consumers using it for mods?

As DarN wrote, as long as you don't re-distribute the font, you should be fine. However ... why? This has to be one of the worst fonts for a fantasy-themed game ever.

Alternatively, you can use similar typefaces in public-domain, like http://en.wikipedia.org/wiki/DIN_1451 or http://en.wikipedia.org/wiki/Drogowskaz.
User avatar
Matt Bee
 
Posts: 3441
Joined: Tue Jul 10, 2007 5:32 am

Post » Tue May 15, 2012 9:15 am

As DarN wrote, as long as you don't re-distribute the font, you should be fine. However ... why? This has to be one of the worst fonts for a fantasy-themed game ever.

Alternatively, you can use similar typefaces in public-domain, like http://en.wikipedia.org/wiki/DIN_1451 or http://en.wikipedia.org/wiki/Drogowskaz.

I always liked Expressway font. Used it in WoW UI's for ages - never let me down. Here is the freeware version: http://www.1001fonts.com/font_details.html?font_id=3076
User avatar
Alisha Clarke
 
Posts: 3461
Joined: Tue Jan 16, 2007 2:53 am

Post » Tue May 15, 2012 9:23 am

I always liked Expressway font. Used it in WoW UI's for ages - never let me down. Here is the freeware version: http://www.1001fonts.com/font_details.html?font_id=3076

Warning: Just because something is free doesn't mean it can be freely redistributed. In the case of Expressway Free, I don't see any exception to the FAQ text of "Although these fonts are available for free, the author retains the copyright, meaning that restrictions usually apply to alteration, reproduction, publication and distribution of the font."
User avatar
Prue
 
Posts: 3425
Joined: Sun Feb 11, 2007 4:27 am

Post » Tue May 15, 2012 7:03 am

My request, is to just remove the redundant "HIDDEN" text from the sneak cursor, because when the eye closes and the cursor becomes a flat line, you know that
you're hidden, and to have the word "HIDDEN" appear is just redundant and unnecessary.
There's dumb people out there, you know? Redundancy is necessary for them.
User avatar
Sheeva
 
Posts: 3353
Joined: Sat Nov 11, 2006 2:46 am

Post » Tue May 15, 2012 12:32 am


Does dynamic mean it can be extended? If so, that could be part of my problem right there.


Dynamic simply means you can add attributes to an instance of the class that the class did not originally have. It shouldn't change whether or not it can be extended.

http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000173.html is the official Adobe site with more on the subject.
User avatar
Jah Allen
 
Posts: 3444
Joined: Wed Jan 24, 2007 2:09 am

Post » Tue May 15, 2012 10:48 am

Ismelda, are you using the ScaleForm that comes with the UDK? If so, do the following:

1. Copy fonts_en.swf and fonts_console.swf from Data\Interfaces, to whichever folder you are working with the menus in.

2. Make a .txt called fontconfig.txt in the folder you are working in, and put the following text in it:

Spoiler

[FontConfig]
fontlib "fonts_console.swf"
fontlib "fonts_en.swf"
map "$ConsoleFont" = "Arial" Normal
map "$StartMenuFont" = "Futura Condensed" Normal
map "$DialogueFont" = "Futura CondensedLight" Normal
map "$EverywhereFont" = "Futura CondensedLight" Normal
map "$EverywhereBoldFont" = "Futura Condensed" Bold
map "$EverywhereMediumFont" = "Futura Condensed" Normal
map "$DragonFont" = "Dragon_script" Normal
map "$SkyrimBooks" = "SkyrimBooks_Gaelic" Normal
map "$HandwrittenFont" = "SkyrimBooks_Handwritten_Bold" Normal
map "$HandwrittenBold" = "SkyrimBooks_Handwritten_Bold" Normal
map "$FalmerFont" = "Falmer" Normal
map "$DwemerFont" = "Dwemer" Normal
map "$DaedricFont" = "Daedric" Normal
map "$MageScriptFont" = "Mage Script" Normal
map "$SkyrimSymbolsFont" = "SkyrimSymbols" Normal
map "$SkyrimBooks_UnreadableFont" = "SkyrimBooks_Unreadable" Normal

3. Open the menu .fla file and run it with the ScaleForm launcher. You should notice that you are no longer prompted to change the font from $something, and the game's font should show up in the menu.

I also know why you are getting all these error messages (by the way do NOT compile in AS3.0, it's AS2 you want). It's tricky to explain, but it's because of a conflict between the intrinsic classes "Selection" and "Mouse", and their ScaleForm counterparts (trust me... I know Flash). Naming them SelectionX or MouseFoo would solve it, but that would require rewriting the whole damn thing. I'll try to solve it and post about it if I figure out how.

EDIT: Ah, you also need to decompile some headers/shared objects for any of the menus to work. I just managed to get the inventory working without crashing. I'll make a tutorial thread once I make sure it's working completely.
Well i did all you asked but the EDIT part as I don't know what you mean by that and it didn't work of course. All fonts are still replaced...
User avatar
Katey Meyer
 
Posts: 3464
Joined: Sat Dec 30, 2006 10:14 pm

Post » Tue May 15, 2012 10:00 am

socrates200x:
The font Skyrim uses are the various Futura condensed versions, right?
Does that mean we have to obtain a license for this font if we want to make a mod with that font or does the bethesda license include consumers using it for mods? Is the font included with the CS or do we have to decrypt it from the Flash files?
Oh and I did some vector mockups of an improved UI (see http://imgur.com/a/hcp6S and http://www.gamesas.com/index.php?/topic/1266556-usage-of-screen-real-estate-in-skyrims-interface/page__st__140__gopid__19271230#entry19271230 for the corresponding post.)
If anybody wants it, I can clean it and upload the vector files so you can prototype some ideas.

Drool.... someone please make these mockups reality...

Good work!
User avatar
Emmi Coolahan
 
Posts: 3335
Joined: Wed Jan 24, 2007 9:14 pm

Post » Mon May 14, 2012 9:07 pm

Dynamic simply means you can add attributes to an instance of the class that the class did not originally have. It shouldn't change whether or not it can be extended.

http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000173.html is the official Adobe site with more on the subject.
Ah, ty. That's what I meant.
User avatar
Jeff Tingler
 
Posts: 3609
Joined: Sat Oct 13, 2007 7:55 pm

Post » Tue May 15, 2012 8:37 am

I like the mockup inventory list presented earlier, especially since it lists most relevant information. But I think we'll also need some more sorting.
Right now, I have a hard time finding the items I want, simply because there's no indicator which slot an apparell or weapon goes into. There's nothing stating if a weapon is 1h or 2h, and rings, cloaks, footwear and hoods are all intermixed. Would really help if you could display only footwear, only headwear, only rings, only necklaces etc. Would make it much easier to compare items for sure.

Other than that, it would also be useful to have the text describing any enchantments in the list, if possible. (Such as 'Fortify Magicka' etc)

Really looking forward to an improved, mouse+keyboard-compatible UI.
User avatar
Marine Arrègle
 
Posts: 3423
Joined: Sat Mar 24, 2007 5:19 am

Post » Tue May 15, 2012 7:50 am

@ paperclip
Looking good!

@ DarN
Great to have you back dude!
User avatar
Sara Lee
 
Posts: 3448
Joined: Mon Sep 25, 2006 1:40 pm

Post » Tue May 15, 2012 3:22 am

I've been thinking about the exact same thing today. I also thought it'd be great to be able to make more than one favorites list and just assign those lists to buttons 1/2/3/... above the letters, instead of just one item per button.

I think that is actually a fantastic idea. To expound on this a bit, to resolve the issue with Dual Wield not working properly with favorites menu, maybe having something like this:

Q - brings up the left hand favorites menu (shows all favorited weapons, shields, and spells since there's no way to assign left vs right favorite)
E - brings up the right hand favorites menu (same as above)
C - brings up a Shout/Power favorites menu
V - brings up a Scrolls/Potions favorites menu

Going from Dual Wield to a Bow and back to Dual Wield is a bit difficult, but I read on the forums that this was manageable by just hot-keying to the Bow and then pressing the Bow hot-key again. This brings you back to the same Dual Wield you were using before using the Bow.

On a side note, might be a bit anol of me, but maybe renaming the Arrows from "[insert race here] Arrows" to "Arrows ([insert race here])" so that all arrows are grouped together instead of scrolling through a list? I generally don't buy arrows and keep only the ones I find. So, having 5 different sets of arrows really breaks up continuity of the Weapons menu.
User avatar
Darlene DIllow
 
Posts: 3403
Joined: Fri Oct 26, 2007 5:34 am

Post » Tue May 15, 2012 10:46 am

I've been thinking about the exact same thing today. I also thought it'd be great to be able to make more than one favorites list and just assign those lists to buttons 1/2/3/... above the letters, instead of just one item per button.

Would love this idea. It'd be nice to be able to switch between my thievery set and my combat set with a touch of a button. Also, I don't know if such a thing is possible, but I'd love to see the ability to remap the hotkeys. When I played World of Warcraft, my abilities were bound to 1234qerfzxcv rather than the 1234567890-= default which made it very easy to hit any ability I needed without moving my fingers from wasd. Some people even went so far as to use esdf to move and bound 12345qwrtagzxcvb to abilities. It's extremely frustrating to die because you had to reach for that potion/dragon should/whatever over at hotkey 7 and then couldn't move out of the way fast enough to dodge a power attack.

Also, I'd like to add in my thanks to everyone working to do this, and I'm especially glad to see DarN back. I loved your inventory improvements in Oblivion and I look forward to seeing what you can come up with here. I just wish I could do something to help... Maybe once I'm through with the major projects I'm doing on my new house I can join in and try to contribute.
User avatar
Kaley X
 
Posts: 3372
Joined: Wed Jul 05, 2006 5:46 pm

Post » Tue May 15, 2012 2:17 am

Some people even went so far as to use esdf to move and bound 12345qwrtagzxcvb to abilities.
I always do this, and in this game it was extra necessary to do so, in my opinion, since I couldn't for the life of me handle sprinting with alt and shouting with z.
The crappy UI makes it a chore, though, since key instructions are inconsistent and don't change in some menus whilst others do (when it says press 'r' I have to press 'g' in some menus and 'r' in others). It's trial and error in every menu.
And to make matters worse, rebinding left and right to 's' and 'f' doesn't change lockpicking binds, so I still have to use 'a' and 'd' to lockpick. It's simply a disgrace of a UI.
User avatar
Hayley O'Gara
 
Posts: 3465
Joined: Wed Nov 22, 2006 2:53 am

Post » Tue May 15, 2012 8:00 am

For those of us who have bought an xbox controller for the pc, I would love to be able to use all my input devices at the same time.

Currently plugging in a controller disables the keyboard/mouse.

There are many benefits to this, but the big one is using keyboard hotkeys / mouse's fine precision movements / controller rumble all at the same time.
User avatar
Nikki Morse
 
Posts: 3494
Joined: Fri Aug 25, 2006 12:08 pm

Post » Mon May 14, 2012 11:00 pm

How would http://font.ubuntu.com/ look?
User avatar
Christina Trayler
 
Posts: 3434
Joined: Tue Nov 07, 2006 3:27 am

Post » Tue May 15, 2012 6:05 am

I also have a completely different proposal for left/right hand number shortcuts:

Right now, you assign a number to a skill/weapon and when you press it, it gets assigned to the left and right hand based on some formula.

My proposal is to allow for left-right hand assignments with a single keystroke.

Holding would set the right hand and would set the left hand. (Or you can use shift, it does not matter)
Not using either would act as it does currently

Example:

In your favorite menu, hold <2> when you are hovering over Firebolt. Instead of [2], a [r2] (right 2) appears near Firebolt
Then hold <2> when you are hovering over healing. Instead [2] being reassigned from Firebolt to healing, a [l2] (left 2) appears near healing

Now when you hit 2, your right and left hands get firebolt/healing as appropriate. The same method is used for weapon/shield and 2-weapon combinations.
User avatar
abi
 
Posts: 3405
Joined: Sat Nov 11, 2006 7:17 am

Post » Mon May 14, 2012 9:08 pm

How would http://font.ubuntu.com/ look?
Well the main issue with the fonts (and I don't even mention the dragon runes and other special fonts but just the readable ones) is that the UI somehow is unable to scale them correctly. I don't change anything to them i just replace them with their counterpart from my PC but even then they do not appear as they appear with the vanilla UI.

Also I noticed that the swf do not contain the founts themselves but then you convert the files to fla they get created I guess to support the text you see on your fla. So that may be why they are not properly scaled. We need to find a way to remove the fonts from the decompilation so that the swf files we make only refers to the orignal fonts from Beth or, work on replacing those fonts an references to them so that they display as well as the vanilla UI display them.
User avatar
elliot mudd
 
Posts: 3426
Joined: Wed May 09, 2007 8:56 am

Post » Tue May 15, 2012 12:50 pm

Alright, so I'm working on a topographic map, and I'm not sure where to get the 3D map to base it off from. For the contour lines can extract the heightmap with TESannwyn, but for details such as roads, paths and the placement of houses, I need the ingame map, exported as bitmap.
Is it saved as separate file somewhere in the inventory archive or is it based off the world map? I imagine I could compile an image from screenshots, but to getting a perfectly plane viewpoint without yaw and pitch is quite hard. Not to speak of the automatic zooming.


Oh and I made a http://i.imgur.com/YSDZa.png and uploaded the http://www.mediafire.com/?r1b162a5e64rrq4 which I used in my mockups.
User avatar
Elle H
 
Posts: 3407
Joined: Sun Aug 06, 2006 3:15 am

Post » Tue May 15, 2012 5:25 am

If this hasn't been brought up yet - I registered as a dev on scaleform and just got my email response:

Thank you for your interest in Scaleform GFx. Currently we don’t have an academic/individual/indie license for Scaleform GFx, although we are seriously considering creating one soon. For now, the easiest way to gain access to Scaleform GFx is to download the Unreal Development Kit. It’s based on Epic’s industry standard Unreal Engine and the full version of Scaleform GFx is included. No further action with us is required and the best part is, it’s free. Please see the links below for more information:

Download: http://www.udk.com/download

License: http://www.udk.com/licensing

Documentation: http://udn.epicgames.com/Three/Scaleform.html

Community Support Forums: http://forums.epicgames.com/forumdisplay.php?f=366

Tutorials: http://www.youtube.com/user/scaleformpress#p/u


So, while this isn't necessarily ideal for Skyrim, [or maybe it is, I don't know] If someone is up for trying it out, there ya go.
User avatar
jeremey wisor
 
Posts: 3458
Joined: Mon Oct 22, 2007 5:30 pm

Post » Tue May 15, 2012 9:48 am

Alright, so I'm working on a topographic map, and I'm not sure where to get the 3D map to base it off from. For the contour lines can extract the heightmap with TESannwyn, but for details such as roads, paths and the placement of houses, I need the ingame map, exported as bitmap.
Is it saved as separate file somewhere in the inventory archive or is it based off the world map? I imagine I could compile an image from screenshots, but to getting a perfectly plane viewpoint without yaw and pitch is quite hard. Not to speak of the automatic zooming.


Oh and I made a http://i.imgur.com/YSDZa.png and uploaded the http://www.mediafire.com/?r1b162a5e64rrq4 which I used in my mockups.


Have you see this mod?
http://www.pcgamer.com/2011/11/15/skyrim-map-mod-provides-in-game-street-views/
User avatar
Yvonne Gruening
 
Posts: 3503
Joined: Mon Apr 23, 2007 7:31 pm

Post » Tue May 15, 2012 9:08 am

Alright, so I'm working on a topographic map, and I'm not sure where to get the 3D map to base it off from. For the contour lines can extract the heightmap with TESannwyn, but for details such as roads, paths and the placement of houses, I need the ingame map, exported as bitmap.
Is it saved as separate file somewhere in the inventory archive or is it based off the world map? I imagine I could compile an image from screenshots, but to getting a perfectly plane viewpoint without yaw and pitch is quite hard. Not to speak of the automatic zooming.


Oh and I made a http://i.imgur.com/YSDZa.png and uploaded the http://www.mediafire.com/?r1b162a5e64rrq4 which I used in my mockups.

Here is an idea:

1. Get yourself launched into orbit by a giant.
2. Take screenshot for while looking at terrain below.
3. ???
4. Profit

I kid. I kid.
User avatar
celebrity
 
Posts: 3522
Joined: Mon Jul 02, 2007 12:53 pm

Post » Tue May 15, 2012 10:49 am

I also have a completely different proposal for left/right hand number shortcuts:

Right now, you assign a number to a skill/weapon and when you press it, it gets assigned to the left and right hand based on some formula.

My proposal is to allow for left-right hand assignments with a single keystroke.

Holding would set the right hand and would set the left hand. (Or you can use shift, it does not matter)
Not using either would act as it does currently

Example:

In your favorite menu, hold <2> when you are hovering over Firebolt. Instead of [2], a [r2] (right 2) appears near Firebolt
Then hold <2> when you are hovering over healing. Instead [2] being reassigned from Firebolt to healing, a [l2] (left 2) appears near healing

Now when you hit 2, your right and left hands get firebolt/healing as appropriate. The same method is used for weapon/shield and 2-weapon combinations.

+1

clever!
User avatar
*Chloe*
 
Posts: 3538
Joined: Fri Jul 07, 2006 4:34 am

Post » Tue May 15, 2012 12:08 am

I wish someone could change the Health bars, seriously it looks like I have loads left (I glance down, see alot of red, keep fighting) but because the bar goes --><-- instead of <-- or --> When it looks like I have loads I only have about half.
User avatar
Jeneene Hunte
 
Posts: 3478
Joined: Mon Sep 11, 2006 3:18 pm

Post » Tue May 15, 2012 3:40 am

1. Bethesda (or ScaleForm) apparently overrode the intrinsic System class to include various game info. Is the System.as file available in any way by extraction from the interface .swf's, or is it ScaleForm proprietary?

2. If I edit fontconfig.txt to match the format from the UDK ScaleForm, (add the [FontConfig] label), I can generate a gfxfontlib.swf that uses the game fonts by copying in their libraries to my working folder. The .swf looks fine when I launch it with the ScaleForm launcher, but ingame the font is replaced with the system default. Is there a way to circumvent this? Do I have to embed the fonts rather than use gfxfontlib?

3. I use the CS 5.5. If I decompile a .swf, load the generated .fla file, save it as a new .fla file (CS4 format, Flash player 10.2, no text remapping), the resulting .fla file is nearly twice as large as the original. Do I have to get the CS4 in order to save projects properly?
1. All the intrinsic Flash class overrides are from Scaleform; we didn't have occasion to add anything ourselves. I'm not sure how available those intrinsic AS class definitions are. Looking through the docs I have on hand, the only addition I see that Scaleform made to the System class is a way to determine how many controllers you have plugged in, which is mainly for Wii titles. You can probably craft PC mods without needing that additional method, i.e. with the vanilla System class.

2. If 'gfxfontlib.swf' is what I think it is, then our equivalent of that is going to be 'Data/Interface/fonts_en.swf', which you should see referenced in FontConfig.txt. That SWF does contain all the characters from all the fonts that we use in the game embedded into the file itself. The Skyrim Flash VM will search this file for the embedded glyphs that it needs, and if it doesn't find them, will try to grab the system defaults off of your machine.

2a. There was a question somewhere about the legality of using the game fonts. I don't really know the answer to this. My rule of thumb is usually: if you can scavenge it for our archives, and then make a mod out of it that you don't charge money for, then you're probably safe.

3. Not sure about this. Some of our files use external SWFs. For example, the Item Card in all of the inventory menus comes from the external library ItemCard.swf, the dual-lists come from InventoryLists.swf, etc. Since they're external, the MovieClips in those SWFs aren't saved in InventoryMenu.fla itself; they're just referenced and the VM knows to load the external SWFs with InventoryMenu.swf. It could be that by decompiling the SWF, the FLA grabs all the MovieClip info and saves it into the FLA. If you double-click on a MovieClip in your Library that should be imported from an external SWF and you don't get a "this is an imported MovieClip" warning, then you've copied over the MovieClip info into your FLA. It shouldn't break anything, but it will balloon up your file size. At least, that's my best guess.
User avatar
lilmissparty
 
Posts: 3469
Joined: Sun Jul 23, 2006 7:51 pm

PreviousNext

Return to V - Skyrim