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