GSOC 2017 - Resource/Dialog Editor

Austin English austinenglish at gmail.com
Sun Mar 5 01:11:51 CST 2017


On Mar 3, 2017 3:16 AM, "Joseph-Eugene Winzer" <ml999 at openmailbox.org>
wrote:

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.


OK. Note that contributing a patch is a requirement of applicants. Patches
related to the project are highly encouraged, but not required.

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.


What did you reverse engineer? If it's Microsoft code, or if you've seen
Microsoft code, you're (in general) ineligible to contribute to Wine.

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.


OK.

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.


IMO walls of text are good. I'd rather see more text than brief
descriptions that show a lack of thought/research ;)

--
-Austin
GPG: 14FB D7EA A041 937B
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20170305/d054081d/attachment.html>


More information about the wine-devel mailing list