OpenMW support for other games: Oblivion, Skyrim, Fallout and more

Feedback on past, current, and future development.
User avatar
Capostrophic
Posts: 794
Joined: 22 Feb 2016, 20:32

Re: Elder-scrolls IV Oblivion

Post by Capostrophic »

Some basic Fallout 3/New Vegas format mesh loading there.
Image
User avatar
silentthief
Posts: 456
Joined: 18 Apr 2013, 01:20
Location: Currently traversing the Ascadian Isles

Re: Elder-scrolls IV Oblivion

Post by silentthief »

EXCELLENT - I've always wanted to bust a cap in fargoth :D :D :D

ST
ps, in all seriousness, it is good that this is progressing.
User avatar
psi29a
Posts: 5355
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Elder-scrolls IV Oblivion

Post by psi29a »

We should really think about pimping out this forum with some like buttons and such...
1Zero
Posts: 38
Joined: 09 Feb 2020, 18:44

Re: Elder-scrolls IV Oblivion

Post by 1Zero »

@cc9cii

I would highly appreciate if you could release your progress on loading into Oblivion. This would allow me to actually integrate my own work on the scripting system into yours. Of course, as a software architect, I absolutely understand the need and the feeling to only release well implemented code and don't want to share any "experimental stage" code, so on the other end: take all the time you need. I just don't want to do anything redundant (I would fail at any attempts to reimplement physics either way) and will just wait.
User avatar
cc9cii
Posts: 523
Joined: 28 Mar 2013, 04:01

Re: Elder-scrolls IV Oblivion

Post by cc9cii »

I am working on it ;)

As far as the OpenMW code is concerned, whatever I've done must be considered not much more than just a test framework. Most of my focus has been on the various libraries so far, be it ESM/ESP, FaceGen or NIF. So I don't really think there will be overlap with what you're doing. (especially since all my stuff is done with Ogre)

I'm more and more inclined to simply push whatever I currently have, anyway, even if they are subject to a wholesale change at a whim.
1Zero
Posts: 38
Joined: 09 Feb 2020, 18:44

Re: Elder-scrolls IV Oblivion

Post by 1Zero »

Your work so far as I have seen it in your youtube uploads is impressive and I can see the tedious reverse engineering that had to be done to achieve this. Based upon your release, I intend to replace the MW vanilla lexer first with a automatically generated table driven DFA, compile. Then the parser, codegen and finally the Bytecode Interpreter. For the sake of getting results quickly I will likely skip an own codegen and just load vanilla compiler generated bytecode so that I can start with necessary Oblivion adaptions to the interpreter right away to finish the compiler later. It needs 100% compatibility with vanilla scripts either way. My goal for this year in terms of OpenMW is to get some Oblivion scripting and game logic running, based on your fork.
User avatar
AnyOldName3
Posts: 2667
Joined: 26 Nov 2015, 03:25

Re: Elder-scrolls IV Oblivion

Post by AnyOldName3 »

MWScript is an unrestricted grammar due to the original parser being written without consulting anyone who'd ever been involved with anything similar before. You're going to have a bad time if you try and use off-the-shelf parsing techniques.
1Zero
Posts: 38
Joined: 09 Feb 2020, 18:44

Re: Elder-scrolls IV Oblivion

Post by 1Zero »

With MWScript you refer to OpenMW's parser or Morrowind original parser? (I strongly assume the latter) Either way, Morrowind and Oblivion's scripting are fairly similar looking.
Do you have any theoretical argument for parsing Oblivion being Typ-0? Obviously the scripting system itself is equivalent to a linear bounded TM but parsing it should be Typ-1. Checking on Morrowind Scripting closer (Which I never used) it appears to be grammatically basically identically to Oblivion - in which case there would be no need to replace the parser).
User avatar
AnyOldName3
Posts: 2667
Joined: 26 Nov 2015, 03:25

Re: Elder-scrolls IV Oblivion

Post by AnyOldName3 »

I'm referring specifically to the original parser. It had bugs, and that made parsing sensitive to things that aren't neatly expressable with a formal grammar, but we have to support them because content relies on them. Sometimes it's people's workarounds to the bugs and other times its someone with no idea what they're doing just pushing buttons until the compiler spat something out.
1Zero
Posts: 38
Joined: 09 Feb 2020, 18:44

Re: Elder-scrolls IV Oblivion

Post by 1Zero »

Ohh yes I was sure there are some horrors hidden in MWScript with things not always being quite straightforward when parsing the language, especially such a relatively niche language. This alone doesn't imply a grammar is unrestricted.
I don't see any feature of Oblivion Scripting that would require Typ-0 parsing. C++ parsing is turing complete because at compile time, it is possible to embed any turing machine, or more elegant a universal TM given the description of an arbitrary TM as input, in a template https://netvor.tk/~umage/docs/3rdparty/ ... 02003).pdf
making it impossible to predict whether compilation of a C++ source code ever terminates (... without the help of super-turing computation (like a Zeno machine), which we don't know the real universe supports).
That's one of the reasons why there is no complete formal definition for C++, it would be enormously huge.
Still, I have to determine whether the original parser can be used for Oblivion without major adaptions (Obv. new Game functions were added), which would be nice, saves work. Still, I would replace the lexer with a table driven DFA once cc9cii released his fork.
Post Reply