Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUSHclient ➜ Development ➜ MUSHclient source structure

MUSHclient source structure

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Twisol   USA  (2,257 posts)  Bio
Date Wed 03 Mar 2010 04:39 AM (UTC)
Message
I'm working locally on a small restructuring of the MUSHclient source. At the moment everything is part of the same project, but I'd like to move external libraries like zlib, pcre, and lua into their own project files (though still under the same solution, or VC6 "workspace"). This ideally shouldn't change much in MUSHclient itself, but it keeps things organized and tidy. It might also make it possible to keep a downloadable zip of the precompiled external .lib's, so you don't have to go through the process of grabbing the others unless you want to. And the MUSHclient resources repository could be merged into the MUSHclient repository, but as its own project.

I assume VC6 has support for this, given its separation between workspace and project files, but I have no way to make/create VC6 projects. So I'll be keeping these changes in a separate branch, though hopefully the structure can be adopted officially.

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
Top

Posted by Twisol   USA  (2,257 posts)  Bio
Date Reply #1 on Thu 04 Mar 2010 12:31 AM (UTC)
Message
So far this has gone really well. I've got pcre, png, sqlite3, and zlib moved into their own projects now, and I'll next be doing it with the json-c library and probably Lua as well. It already feels so much cleaner now that everything inside the MUSHclient project is MUSHclient source and not a bunch of external libraries sequestered inside as well.

In the interest of full disclosure, I've seen a ~100kb increase in executable size between now and the last json-related change I compiled. It totals 3,052kb in size. The current 4.50 standard executable is 2,704kb, but it doesn't include the JSON library or my JSON changes, and I believe that VS2005 produces slightly bulkier executables anyways (based on comparisons when I first compiled the source). I still think the benefits outweigh the meager cost, and I'm sure you'll still be under 3,000kb under VC6 even with these changes.

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
Top

Posted by Twisol   USA  (2,257 posts)  Bio
Date Reply #2 on Thu 04 Mar 2010 04:35 AM (UTC)
Message
I've moved json-c into its own project, and introduced lua and mushclient_resources as new projects as well. Now it's almost runnable straight from a build, though you have to move EN.dll into locale\, and it complains about the missing help file when you run it. Not a big deal though.

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
Top

Posted by Twisol   USA  (2,257 posts)  Bio
Date Reply #3 on Thu 04 Mar 2010 06:27 AM (UTC)
Message
Fixed up the resources project so it sends EN.dll into locale\ automatically. You'd still want to copy the final mushclient.exe over a previous installation to properly test it, but at least now you can run it straight off.

All of my project changes are, again, kept in a separate branch, which you can browse here [1]. It's all VS2005-only so far, but that's only because I'm unable to create the equivalent project files/configuration in VC6.

[1] http://github.com/Twisol/mushclient/tree/projects

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


11,929 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.