Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Changing LunaLauncher progress bar from vertical to horizontal

Status
Not open for further replies.
Newbie Spellweaver
Joined
Jan 9, 2009
Messages
21
Reaction score
1
hello, I been looking into a way on how to change the Luna plus launcher download/patcher progress bar from vertical to horizontal I've narrowed down the code where it is but no luck on how to fix it up to do it.

I know I could use the old Luna launcher but every time I try using it and adding ftp info and all, all it gives me is "cannot verify the version" error even with same info from using plus launcher

so I tried just fixing up the code to try get almost like like old Luna version I just can't figure out how to. or at least rotate the progress bar 90 degrees or change it to vertical to horizontal

but as a not really high skilled programmer I cannot figure out how to do it. any help would be nice

in MainDialog.cpp it should be this that changes it

Code:
void CMainDialog::PutProgress( double ratio, bool isInstant )
{
	if(m_progress.m_value == ratio)
	{
		return;
	}
	else if( 0 >= ratio ||
		m_progress.m_value > ratio )
	{
		CxImage image;
		mImage.Crop(
			theApp.GetConfig().mProgressPosition.mRect,
			&image);

		const CRect rect(
			theApp.GetConfig().mProgressPosition.mPoint,
			theApp.GetConfig().mProgressPosition.mRect.Size());
		m_backgroundImage.Mix( 
			image,
			CxImage::OpDstCopy,
			-rect.left,
			rect.bottom - m_backgroundImage.GetHeight());
		m_progress.m_value = 0;

		InvalidateRect( 
			rect,
			FALSE);
		return;
	}

	const int offset = theApp.GetConfig().mProgressCellPosition.mRect.Height() / 2;

	LONG begin = m_progress.m_value * theApp.GetConfig().mProgressPosition.mRect.Height();
	LONG end = ratio * theApp.GetConfig().mProgressPosition.mRect.Height();

	if(begin == end)
	{
		begin = begin - offset;
		end = end + offset;
	}

	for(LONG i = begin; i < end; i = i + offset)
	{
		CRect rect;
		rect.left = theApp.GetConfig().mProgressCellPosition.mPoint.x;
		rect.top = theApp.GetConfig().mProgressPosition.mPoint.y + theApp.GetConfig().mProgressPosition.mRect.Height() - theApp.GetConfig().mProgressCellPosition.mRect.Height() - i;
		rect.right = rect.left + theApp.GetConfig().mProgressCellPosition.mRect.Width();
		rect.bottom = rect.top + theApp.GetConfig().mProgressCellPosition.mRect.Height();

		if(rect.bottom > theApp.GetConfig().mProgressPosition.mPoint.y + theApp.GetConfig().mProgressPosition.mRect.Height())
		{
			continue;
		}
		else if(rect.top < theApp.GetConfig().mProgressPosition.mPoint.y)
		{
			continue;
		}
		
		m_backgroundImage.Mix(
			m_progress.m_cellImage,
			CxImage::OpDstCopy,
			-rect.left,
			rect.bottom - m_backgroundImage.GetHeight(),
			true);

		if(isInstant)
		{
			continue;
		}

		InvalidateRect( 
			rect,
			FALSE);
	}

	m_progress.m_value = ratio;
	InvalidateRect(
		theApp.GetConfig().mProgressPosition.mRect,
		FALSE);
}
 
I play it straight up, yo
Joined
May 19, 2012
Messages
931
Reaction score
121
We're talking about a heavily botched applications using MFC. Its basically imaged based on a very poorly made class that extends an MFC class. You usually see these kinda of things in the .net framework when trying to add custom buttons and stuff like that.

Basically you need to extend the MFC libraries facilities for a progress bar and then format it in the correct way so you can achieve your horizontal progress bar. You've already tried taking parts of the old launcher and using it in the new one, so perhaps its time you switch to the MSDN website and learn a fair bit about MFC itself.

Hope it helps, sorry that I can't provide a demonstration or examples.
 
Newbie Spellweaver
Joined
Jan 9, 2009
Messages
21
Reaction score
1
well this is actually the Luna plus launcher source code, so this is the most recent launcher, it already has some kind of progress bar but I just cannot figure out how to make it into a horizontal one, unless it's as what you said then I would have to change a lot of stuff to make it into that.

so I guess its not just as simple as changing some code in here
 
I play it straight up, yo
Joined
May 19, 2012
Messages
931
Reaction score
121
so I guess its not just as simple as changing some code in here

That's Microsoft Foundation Classes for ya. :p

Do yourself a favor and use Thor patcher or create your own. Luna Online really isn't doing anything fancy when it patches its files. If you consider binary streams with known binary structures as a daunting programming task, then perhaps you need someone to assist you with that.
 
Newbie Spellweaver
Joined
Jan 9, 2009
Messages
21
Reaction score
1
Do yourself a favor and use Thor patcher or create your own. Luna Online really isn't doing anything fancy when it patches its files. If you consider binary streams with known binary structures as a daunting programming task, then perhaps you need someone to assist you with that.

the thor my opinion its too simple and looks ugly, maybe it could be changed up but i don't know, i really like the looks of the old luna launcher but it just will not work.

this launcher is the closest thing to a autopatcher I can get, it's for another game it was a game that was shutdown then luna online came out right after, this launcher is very similar what the other launcher did just I didn't like why they change the progress bar to vertical and as it seems it's crect that's doing this change.

if you want to know what the other game was called it was called corum online, I have full working sourcecode and there's a live version up right now for it. just the thing is i didn't get a working autopatcher sourcecode and all I could find was a old version online but its missing a few cpp files and I can't compile it cause of that.

I did get a better autopatcher I found from japan version but it won't download a patch if it has manager files in it or it's something else causing this problem
it's fully connected to my ftp server, it can locate the patch file but it just sits at "get directory" I can't figure out what else it must be, if I remove the manager folder for the patch with the files in it, it will actually download the patch and patch the game, but if i don't it just sits at "get directory" so its strange what's going on.

any help on this would be appreciated, below is the autopatcher from corum with "get directory" problem

rami11 - Changing LunaLauncher progress bar from vertical to horizontal - RaGEZONE Forums
 
I play it straight up, yo
Joined
May 19, 2012
Messages
931
Reaction score
121
Honestly, I think your beating a dead horse. However, I have a friend that might just be willing to help you with your issue. While I await for his response to this thread, I want you to really consider why your trying to restore this relic of the past. This patcher is nothing but a fools attempt at revision history and lacks proper functionality for checking the validity of files. Corum, Luna, Mosiang, and Edda, its all just the same crap hashed up under a new alias. That's why I believe it to be a pointless project when you could just reuse the images in a much stabler version of C++ or even C# while incorporating CRC checks and cross comparing checksums.
 
Newbie Spellweaver
Joined
Oct 27, 2013
Messages
57
Reaction score
10
I suggest using Thor Patcher. You can make it look like whatever you want and it works really decent for Luna.

Biggest problem with using Thor or any other external patcher, is that unless you have source code for them (you don't with Thor) you have no way to integrate them with how luna packs its files. That means that one single file change inside your map pak would require every user to redownload the entire 900mb+ pak file, rather then just the one modified file like the original patchers are capable of.
 
Newbie Spellweaver
Joined
Jan 9, 2009
Messages
21
Reaction score
1
Biggest problem with using Thor or any other external patcher, is that unless you have source code for them (you don't with Thor) you have no way to integrate them with how luna packs its files. That means that one single file change inside your map pak would require every user to redownload the entire 900mb+ pak file, rather then just the one modified file like the original patchers are capable of.

if that's the case that's why I wouldn't use it I never tried it but if it can't just pack one file into a pak file then that's not what I want, the pak files in corum exceed over 1.3 gbs in particular "map.pak" does

corum has CorumVerInfo.ver needs to be patched, and any manager file . which are .cdb files and then there's pak files

basically like Luna but this game don't use .bin files

anyways I just want to use a normal patcher/launcher that can do this but I like the looks of the old luna launcher is what I'm saying but it just don't work. but the Luna plus one works just it has a vertical progress bar, it has no homepage button which I could easily add, unless it gets too complicated

so something like this or any help would be nice




Honestly, I think your beating a dead horse. However, I have a friend that might just be willing to help you with your issue. While I await for his response to this thread, I want you to really consider why your trying to restore this relic of the past. This patcher is nothing but a fools attempt at revision history and lacks proper functionality for checking the validity of files. Corum, Luna, Mosiang, and Edda, its all just the same crap hashed up under a new alias. That's why I believe it to be a pointless project when you could just reuse the images in a much stabler version of C++ or even C# while incorporating CRC checks and cross comparing checksums.

I understand these are dead games but they were successful corum still lives on today with entire new engine that game is called battledungeon that sorucecode of course no one will ever get. that game is latest and greatest

but I always loved this game and since I have working sourcecode for this game I would like to get it all working which it is and this isn't 2005 version its a way newer version that's not currently available online.

the autopatcher they have for battledungeon is way better with the versioning etc but not like I'm gonna get that sourcecode.


so all I can do is ask for help at maybe trying to get luna plus launcher working correctly or at least fixing up the plus version to make it look like the old version.

sorry I kept talking about corum this is a luna thread not corum but both game are almost identical
 
Last edited:
I play it straight up, yo
Joined
May 19, 2012
Messages
931
Reaction score
121
I understand these are dead games but they were successful corum still lives on today with entire new engine that game is called battledungeon that sorucecode of course no one will ever get. that game is latest and greatest

but I always loved this game and since I have working sourcecode for this game I would like to get it all working which it is and this isn't 2005 version its a way newer version that's not currently available online.

the autopatcher they have for battledungeon is way better with the versioning etc but not like I'm gonna get that sourcecode.


so all I can do is ask for help at maybe trying to get luna plus launcher working correctly or at least fixing up the plus version to make it look like the old version.

sorry I kept talking about corum this is a luna thread not corum but both game are almost identical

These games aren't dead at all. Luna Online has some of the most interesting developers, however most are pretty recluse and don't post around here very often. No worries about speaking about games that share the same engine exclusively as parts and pieces can be used between them. However, I've been around here for a good long while and during my time there has been nothing but begging for launcher fixes and how it even works. We understand that you've done some work, I'm proud of you for doing so, but you haven't even tried yet. You obviously don't understand what Microsoft Foundation Classes are and your knowledge of coding is at best that of a beginner if you can't even rebuild this in languages like C# where the majority of layouts and structures are done for you.

Please read the section rule #3 where it specifically states the following (Section Rules Thread):
3. Do not post asking for help with Visual Studio errors. Microsoft has a database that contains all the information and
help you need here: (See the search bar, use it.) If the error is a bit more advanced, meaning if you can't find any research on it, then feel free to make a thread about it or find a C++ book. This also includes MSSQL errors, please look up your errors on MSDN or pick up a SQL programming book. This applies to any external software, if its not made by the Luna Online developers at Eyasoft, then use Google and research the problem.

Understanding the foundations of programming with languages like C++ is necessary before making such a thread. You do have an understanding of it, so your fine with that part. However you violated the most important part of it in which speaking of external softwares is strictly forbidden without sufficient proof that you've actually tried to understand it.

Perhaps you'll get your help from someone around here that has time to mess with MFC. But until you can actually show that your trying to better the community rather than provide for yourself, then I will not allow you to waste others time on something you can easily Google for.

Thread closed. Private message me when you can actually show some progress that requires input from other developers or make a formal complaint to my supervisor Shoelace.
 
Status
Not open for further replies.
Back
Top