GSOC 2017 - Resource/Dialog Editor
Joseph-Eugene Winzer
ml999 at openmailbox.org
Fri Mar 3 05:17:00 CST 2017
On 03/02/2017 10:45 PM, Austin English wrote:
> On Thu, Mar 2, 2017 at 1:58 PM, Joe <ml999 at openmailbox.org> wrote:
>> Hi,
>>
>> First of all, congrats for getting picked for another GSoC!
>> Wine made my transition to Linux way easier and with more and more
>> applications being supported the year of the desktop can come :)
>>
>> My name is Joseph Winzer and I am a bachelor math/CS student looking forward
>> to contribute to open source in this year's GSoC.
>> The 'Resource/Dialog Editor' project caught my eye as I remember a few years
>> back digging through executables out of curiousity. Last time I looked for a
>> resource editor it was either bundled with other software (Visual Studio,
>> PellesC) or as mentioned in the project description bundled up with adware
>> like ResEdit.
>> I want to change that by contributing to Wine with an open source standalone
>> editor anyone can use free of charge.
>> Equipped with my Petzold, MSDN and the help of the community I am sure I
>> will be able to realize this project.
>>
>>
>> Looking forward working with you guys :)
>
> Hi Joseph,
>
> Thanks for your interest. Could you describe your experience with
> C/Wine a bit? Have you thought about how you would implement/design
> the resource editor at all? Could you share your plans?
>
Thanks for your reply.
So far, I experienced Wine exclusively from a user perspective, using it
mostly for running games and apps I didn't find a substitute on Linux. I
compiled Wine a few times when certain milestones were reached like
improved D3D9 or bugfixes for certain apps.
I did grep for stubs once in a while, browsed through the GDI
implementation but wasn't confident enough to contribute.
I read more code than I wrote myself and most of it has been C or
C-style C++. WinAPI-wise, I remember writing small games like connect
four or apps where I tried to use what I had recently learned. I also
did some reverse engineering for writing trainers or just for the fun of
it. That has been awhile, though.
More recently I looked at quake, tuxpaint, util-linux, .. whatever
caught my interest.
Concerning the technical aspects of implementing the editor, I haven't
given it much thought yet. MSDN et al provide enough documentation to
tackle the task and problems can be dealt with once they come up (I
assume in my naivete). Design-wise it depends on what the Wine community
expects it to be but personally I imagined ResEdit trimmed to reading
out and altering resources with dialog creation on top. From there it
can be extended in whatever direction the community sees fit.
The rough sketch would be as follows:
* Establishing bare bones UI (sidebar for items, main window as viewer)
* Read PE compatible file resources
* Export resources
* Modify resources (substitute images, edit items)
* Refining UI for editing/viewing
This covers the basic functionality of the resource viewer.
The Dialog Editor provides rendering of dialog elements what would
complement part of the resource viewer and exporting as .rc.
My estimate is that the dialog editor will be the biggest part of the
project with parsing resources, dialog rendering, layout, ..
Overall the planning and focus of the project depends on what the
community expects it to be and if there is an immediate use case it can
cover in Wine or thought of as a general tool.
Sorry for the wall of text but I hope I could describe to you my idea I
have for it. Of course, in the official application the gaps for the
implementation will be filled but getting feedback from the community
first makes planning also easier for me.
More information about the wine-devel
mailing list