For anyone interested: I just happened across a reference to a 'gitk' utility while looking up again how to merge branches. It turns out it was installed along with the rest of the git utilities when I included the git package on Cygwin, and it creates a GUI view of the repository history, including a slightly GitHub-like graph of the network. Very awesome.
Since the dsound was mentioned recently, I figured I'd add in that MUSHclient works in "MiniXP" from Hiren's Boot CD, IF you bring a copy of the dsound.dll (windows\system32) and place into the mushclient folder.
Was working on someone's computer, and was waiting for a scan to complete (faster and cleaner to scan from within an OS booted "externally" to the issues) and wanted to pass the time somehow, and figured I'd go on an play a little. Thankfully the system I was working on had XP installed on it, so it was a cinch to get.
Just some random thought on the things being mentioned in this thread.
Amended on Sun 14 Feb 2010 09:30 AM (UTC) by Twisol
Message
Alright, I got the source and set it up from scratch. It was fairly easy this time around, and I pushed the fixes I made upstream. I sent you a push request on GitHub, so you can grab my changes and see if it still under VC6.
EDIT: I also just edited your wiki page to include a brief set of steps to follow in order to build the source.
I do remember that I had to install the DirectX SDK and add its paths to Visual Studio, so you may want to include that as one of the required steps. If I recall, it was for an #include "dsound.h".
I don't think I have a list of required steps for the whole thing. But your point is taken, it is easy to forget you installed this stuff.
OK, after lengthy changes, you don't need to put the MUSHclient directory in as a default include path. Now every file works up or down from where it should.
Fair enough, thanks for the reply. By the way, though, in the last commit I pulled down, I had to modify all of the dialog/scripting files to look one directory higher for the other files they were including. Actually, I may have just added to the project's path for that, I can't remember... I'm going to redownload and compile later anyways, so I'll let you know what all I had to do to get it working.
I do remember that I had to install the DirectX SDK and add its paths to Visual Studio, so you may want to include that as one of the required steps. If I recall, it was for an #include "dsound.h".
Amended on Sat 13 Feb 2010 10:19 PM (UTC) by Nick Gammon
Message
Well it seems like duplication, and also they aren't really my libraries. I admit I did it for the fairly small lsqlite library, but that is only one file, 56 Kb in size.
Other ones like Sqlite3 are over 1 Mb, and lots of files. PCRE library: 5 Mb. PNG library: 3 Mb.
The instructions are pretty straightforward - I followed them myself for the last build. And once you have the libraries you don't really need to re-get them for every build.
As an example of what other people do, in the instructions for the PNG library they say:
Before installing libpng, you must first install zlib, if it is not already on your system. zlib can usually be found wherever you got libpng. zlib can be placed in another directory, at the same level as libpng.
So if it is good enough for the PNG developers to require you to go to the extra effort of getting dependent libraries, I think it is good enough for MUSHclient.
Hullos. Could I ask why in particular the Github repository source requires you to download the other libraries separately? That is, is there a license issue or something? I ask because it's somewhat annoying and error-prone to download the file and make the changes required to fit it to the MUSHclient source. If there was some way to put the external libraries source in the repository as well, it would also guarantee that those who download the source will have exactly the library versions required.
Once a new release has appeared you can show the commit log, like this:
$ git log --pretty=oneline --reverse v4.45..v4.46
248df7579b22bbb444453d47529d03b169e5bef2 Added flags to matching in wait.lua
218d75b45ed72085d7ea41236378d098b8d8e5ab Updated version number to 4.46
29a1228ffbad95c2c305cef2560e9a777dadfbb6 Put back stuff I accidentally took out
038e366fc6a81ad2595de5c727686feeae5f063c Added PPI module
efbb9d35ffcd5c20e4ef0077844c6b8c6ad8c6ad Allow empty text documents to be marked read-only
447dc727ced0d2f02464197fc2b29f9baa9a0060 Stuff for having hotspots outside plugins
4016d779a76193026b214f0dfaf5cf82b102c58a documentation improvements
adde6adb0ff1a413afec0155b6dfc1f21ef126dc Stuff for having hotspots outside plugins
49a77b31fa20252d463a510a10b950ccb4477ff8 Added WindowGradient to list of known functions
b0e2a46db1773e111d18ee085bfa6418b570131d Fixed loop in Linux on disconnect
ff995fbb3628dd3da41b96e435806425864c9939 Documentation generation files
4f4fb446ecd7865db740e172c0a0f03d5b96a43f Final changes before release
b020fc56b0904a6c60002874fca54532c36e0592 ignore file for docgen directory
fc0ec85769e076e8b1a2b1d44a96ef2a146bc065 Added help work file
Notice the "version tag" range at the end of the command (v4.45..v4.46). Also the --reverse option shows the commits in date order, the default is the most recent commit first.
You can also see what files were affected in the version release by doing a diff, like this:
This gives the actual file names that have changed, so you know which ones to investigate further (eg. by doing a diff on them).
Another way of looking at the change log is to generate the names of changed files per commit, like this:
$ git log --pretty=oneline --name-status --reverse v4.45..v4.46
248df7579b22bbb444453d47529d03b169e5bef2 Added flags to matching in wait.lua
M lua/wait.lua
218d75b45ed72085d7ea41236378d098b8d8e5ab Updated version number to 4.46
M MUSHclient.rc
M doc.h
M install/readme.txt
29a1228ffbad95c2c305cef2560e9a777dadfbb6 Put back stuff I accidentally took out
M doc.h
038e366fc6a81ad2595de5c727686feeae5f063c Added PPI module
M install/mushclient.nsi
A lua/ppi.lua
efbb9d35ffcd5c20e4ef0077844c6b8c6ad8c6ad Allow empty text documents to be marked read-only
M TextDocument.cpp
447dc727ced0d2f02464197fc2b29f9baa9a0060 Stuff for having hotspots outside plugins
M OtherTypes.h
M doc.cpp
M miniwindow.cpp
M mushview.cpp
M mushview.h
M scripting/methods.cpp
4016d779a76193026b214f0dfaf5cf82b102c58a documentation improvements
M .gitignore
M readme.txt
adde6adb0ff1a413afec0155b6dfc1f21ef126dc Stuff for having hotspots outside plugins
M dialogs/plugins/PluginsDlg.cpp
49a77b31fa20252d463a510a10b950ccb4477ff8 Added WindowGradient to list of known functions
M scripting/functionlist.cpp
b0e2a46db1773e111d18ee085bfa6418b570131d Fixed loop in Linux on disconnect
M worldsock.cpp
ff995fbb3628dd3da41b96e435806425864c9939 Documentation generation files
A docgen/help.hpj
4f4fb446ecd7865db740e172c0a0f03d5b96a43f Final changes before release
M MUSHclient.dsp
M MUSHclient.opt
M install/readme.txt
M scripting/functionlist.cpp
b020fc56b0904a6c60002874fca54532c36e0592 ignore file for docgen directory
A docgen/.gitignore
fc0ec85769e076e8b1a2b1d44a96ef2a146bc065 Added help work file
M .gitignore
Now you can see for each individual commit (change) which files were affected.
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.