A request to the Dev's: Please unlock the strange sort order (flash hardcoded) in quest journal/Craftingmenu for mods!

+
A request to the Dev's: Please unlock the strange sort order (flash hardcoded) in quest journal/Craftingmenu for mods!

@DanForever or other Dev's:

I have the journal code explored down to the lowest angle.
Including the parent classes.
In some event functions, I inserted and tested my code:
(OnJournalTabSelected(), OnMenuShown(), OnQuestSelected(), OnEntrySelected etc.)
No chance!
My code runs, I can even hide parts of, for example, "Completed Quest" section.
But, damn it, the assorted flash array is jumbled by Flash-ActionScript.


I have a suggestion for the next patch:
Adds just an additional flag in the Flash array.
Maybe so:
----------------------------------------------------------------------------------------------------------------------------
Class variable:
class CR4JournalQuestMenu extends CR4ListBaseMenu
{
var bListIsSortedFromMod : bool;
default bListIsSortedFromMod = false;

in private function generateFlashObjectForQuest():
l_questsDataFlashObject.SetMemberFlashBool( "isSortedFromMod", bListIsSortedFromMod);
----------------------------------------------------------------------------------------------------------------------------
This flag could ActionScript from Flash to clear the Order in the GUI and
take over the entire flash array sorted by the mod.

So that we can implement our own sort code as mod:
Sorting Options for Main/Side/monsterhunting/treasure quest sections:
"Order by Quest-Area -> Quest Title" (Standard)
"Order by Quest-Area -> Level -> Quest Title"
"Order by Level -> Quest-Area -> Quest Title"
"Order by Level -> Quest Title"
"Order by Quest Title"

and most important:
Sorting Options for completed/failed quest sections:
(with inserted "quest type: " in first position of area-line string)
"Order by Quest-Type -> Quest-Area -> Quest Title" (Standard)
"Order by Quest-Type -> Quest Title"
"Order by Quest-Area -> Quest-Type -> Quest Title"
"Order by Quest-Area -> Quest Title"
"Order by Quest Title"

And in Craftingmenu:
"Order by Type (Body, legs etc.) -> Item name" (Standard)
"Order by Type (Body, legs etc.) -> Level -> Item name"

I will offer these sorting options in the game menu,



Last not least a additional question:
Can I enhance the localization strings (en/de.w3strings) for more items?


Best Regards
JC
 
Can you not possibly hex edit the compiled flash file, replace the sort function with code that does nothing? I honestly doubt they will do anything.
 
Can you not possibly hex edit the compiled flash file, replace the sort function with code that does nothing? I honestly doubt they will do anything.
One problem is that they are compressed. Another is that wcc_lite is able to unpack redswf files into gfx and other stuff, but is unable to pack it again into redswf.

Uncompressing gfx and hex editing it is not a big problem. But re-inserting it back into redswf is, because edited uncompressed file will change its size after compression. If there is a flag somewhere inside redsfw that determines if its contents are compressed, I don't know where it is. :(
 
This.

I examined the quest-journal menus scripts for hours yesterday just to come to a conclusion that no custom filters/sorting can be applied. There are so many thing I would like to mod but am unable since they are flash-side stuff.
 
Curious, what exactly is flash being used for anyways?

Scaleform, it's what they (and many other games) use for the user interface. http://gameware.autodesk.com/scaleform

---------- Updated at 08:49 AM ----------

Had to figure out some filetypes (gfx\swf and their compressed versions...) but it wasn't so hard really, I was able to hex edit and reimport the gfx file.

This seems to be the default sort order when the sort function doesn't do anything, I simply replaced all operations inside the sort function with a NOP instruction.



So, I assume if you were to feed in custom sorted items into the swf now it will be sorted as you deliver it.

Here's a link if you want to try it out with your custom sorting code, I haven't tried, it might not work, but it's definitely possible, and not that hard.
https://drive.google.com/file/d/0B3axqSlhNHOOWWlSSk52c2staWs/view
 
Had to figure out some filetypes (gfx\swf and their compressed versions...) but it wasn't so hard really, I was able to hex edit and reimport the gfx file.

How exactly is the reimporting of the gfx done? I'm really curious since if we really are able to decompress the files, edit them (not hex-editing) AND re-save them as gfx and redswf... There are like a million things I'd like to mod in the UI.
 
How exactly is the reimporting of the gfx done? I'm really curious since if we really are able to decompress the files, edit them (not hex-editing) AND re-save them as gfx and redswf... There are like a million things I'd like to mod in the UI.

Import with my mod editor. But yeah you should be able to do a lot more then just hex edit it, it doesn't need to stay the same size or whatever (which is what is often the case when you are doing hex editing). You can probably modify it anyway you like and reimport it as long as it doesn't break any of their code obviously.
 
Import with my mod editor.
Just out of curiosity: it's your code or it's something wcc_lite can do already? I'm asking because I have troubles making wcc_lite to work. It fails to unpack the game and I need to use quickbms instead. Hope the upcoming update will fix this problem.
 
I had issues doing a single uncook with wcc_lite.
It was much more consistent when using targetdir in the command to uncook each part of the tree separately... though this was easiest to do once you already had the 'failed' first uncook. The new file versions from the targeted uncook would have full file sizes, rather than the placeholders of the first attempt.

Not sure how the new ModKit performs in comparison ~ there were some fixes listed which seemed they might improve things a bit.
 
How exactly is the reimporting of the gfx done? I'm really curious since if we really are able to decompress the files, edit them (not hex-editing) AND re-save them as gfx and redswf... There are like a million things I'd like to mod in the UI.
UI modding is possible, but some parts are really complicated :)
I've tried to edit exported sfw/gfx with JPEXS Free Flash Decompiler - it works for shapes and images (a quick example - colored map markers), but not for ActionScript. It still can export, edit and save scripts, but seems that saving breaks some other code and menu with edited scripts does not load at all.
 
Last edited:
I've just made a simple mod with an alphabetical sorting for journal menu, it was initially disabled :)
Used JPEXS for low level AS editing and it works.
 
Last edited:
Scaleform, it's what they (and many other games) use for the user interface. http://gameware.autodesk.com/scaleform

---------- Updated at 08:49 AM ----------

Had to figure out some filetypes (gfx\swf and their compressed versions...) but it wasn't so hard really, I was able to hex edit and reimport the gfx file.

This seems to be the default sort order when the sort function doesn't do anything, I simply replaced all operations inside the sort function with a NOP instruction.

[...]

So, I assume if you were to feed in custom sorted items into the swf now it will be sorted as you deliver it.

Here's a link if you want to try it out with your custom sorting code, I haven't tried, it might not work, but it's definitely possible, and not that hard.
https://drive.google.com/file/d/0B3axqSlhNHOOWWlSSk52c2staWs/view

This is something I have been looking for, I would like to publish a mod using the blob you have here, can I get your permission?
 
Top Bottom