Hello, OpenMW Community!
My name is Stanislav. I'm a C++ programmer with good theoretical knowledge, but without enough practical skills. I really like what you are doing and I want to help you (Also I think it will help me too to become more skilled developer ).
I've read the Wiki section about contribution, setup the development environment (VS Community 2013, Windows 7) and successfully compiled OpenMW. Then I went to the bug tracker to find a bug, I can fix. I found this bug: https://bugs.openmw.org/issues/1738 and it seems I know how to fix it.
I want to ask you: What should I do before starting to work on this bug?
PS: Sorry for errors in my English (if they are present or will be).
Application: smbas
Re: Application: smbas
That is a very tricky one you picked, requires intricate knowledge of the scripting engine, and the original game's quirks. Frankly, I can't give you any advice on that one, because I don't know yet what should be done there. Feel free to try anyway, but it might be better to start with an easier one:
https://bugs.openmw.org/issues/2539
https://bugs.openmw.org/issues/2537
https://bugs.openmw.org/issues/2539
https://bugs.openmw.org/issues/2537
Re: Application: smbas
Thank you for reply, scrawl!
My solution to the bug #1738 is very simple: reset activated reference after activation's execution.
In "Morrowind Scripting for Dummies" there is paragraph which states: "OnActivate resets itself as soon as the function is called, so only one script can report OnActivate successfully, and you should only have one OnActivate call in your script at each moment." But in the current implementation such resetting is absent. Can anyone familiar with the scripting in OpenMW give feedback on this subject?
My solution to the bug #1738 is very simple: reset activated reference after activation's execution.
In "Morrowind Scripting for Dummies" there is paragraph which states: "OnActivate resets itself as soon as the function is called, so only one script can report OnActivate successfully, and you should only have one OnActivate call in your script at each moment." But in the current implementation such resetting is absent. Can anyone familiar with the scripting in OpenMW give feedback on this subject?
Re: Application: smbas
This particular issue is with the Activate function being called two times, not OnActivate.
Edit: I just reviewed the script again and it executes this particular construct twice:
So you may be right about the onActivate reset. However, I need to make sure that the proposed change doesn't break anything else. I remember we had a revamp of the activation system in the past that sought to address a particular bug, but I can't remember what it was. Feel free to make a pull request in the meantime.
Edit: I just reviewed the script again and it executes this particular construct twice:
Code: Select all
if ( OnActivate == 1 )
Activate
endif