The following warnings occurred:
Warning [2] Undefined property: MyLanguage::$archive_pages - Line: 2 - File: printthread.php(287) : eval()'d code PHP 8.2.24 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/printthread.php(287) : eval()'d code 2 errorHandler->error_callback
/printthread.php 287 eval
/printthread.php 117 printthread_multipage



Renegade Projects Network Forums
Proposed development of YR 1.002 Community Patch - Printable Version

+- Renegade Projects Network Forums (https://forums.renegadeprojects.com)
+-- Forum: Modding (https://forums.renegadeprojects.com/forumdisplay.php?fid=3)
+--- Forum: Red Alert 2 & Yuri's Revenge Editing (https://forums.renegadeprojects.com/forumdisplay.php?fid=8)
+--- Thread: Proposed development of YR 1.002 Community Patch (/showthread.php?tid=20)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15


- Marshall - 24.02.2005

Yeah, but the point is: mods include their own csf which means the YRCP CSF will be replaced and not restored.
The reason why we'd use XCCML to provide the CSF is so that this will not be an issue (the user runs the mod launcher when they want to play unmodded YR).

Ideally we'd prefer to include a CSF inside expandmd02.mix that overrides the original and can be overriden by mods. But unless PD can make that possible, we have no choice but to do it via XCCML.


- Renegade - 24.02.2005

Well, how much are we including?
I've no list in my head right now, i.e. I don't remember all of what we wanted to include, but if we put in neither the TX nor Assault Map support, what's left that'd need the Mod Launcher?

In other words, what's preventing us from actually pre-creating an expandmd02 and use an installer to put it into the RA2 directory (or simply tell the user to unzip to the game directory)?

I may be missing something we wanted to include here, but surely a .mix with a few INIs and a CSF inside isn't that big, and neither is an ecachemd with half a dozen corrected SHPs...


- Marshall - 25.02.2005

The plan is to include expandmd02.mix with everything in it as you described.
The problem is: Yuri's Revenge will only read ra2md.csf from langmd.mix or loose in the RA2 folder. That is why we need the mod launcher. The mod launcher will only be used to provide the updated CSF.


- CannisRabidus - 25.02.2005

What's the string file for, if there are no new map names? Or did I forget something?

Anyway, suppose you find it necessary to replace stuff that's only read from langmd.mix (csf, pkt, credits, whatever. If you're patching the mix then may as well blow your own horn in the credits btw). Don't use a mod launcher. Remember, this is supposed to be a patch and not a mod, so it should look like a patch, right? Mods are evil, and they corrupt your game, and no self-respecting player capable of a good ranking on a ladder would play a mod, as we all know. Have the installer make a backup copy of langmd.mix, then patch the mix, and install expandmd02.mix. If the installer is run again, it deletes expandmd02.mix and langmd.mix (the patched one), and renames the backup back to langmd.mix. This is how the user patches his game and restores it if he wants. (And, a mod running XCCM/L won't nuke your CSF).


- Marshall - 25.02.2005

I agree with you entirely Cannis.
The problem though:
langmd.mix is going to be different for the different language versions. People with the different language versions will be required to modify their langmd.mix and then run a patching program for me so that I can get the patch file needed.
Any future updates to langmd.mix would require a similar process again.


The csf contains 1 fixed string (unholy alliance description) and playlist modifier strings. Also, any other strings we feel like changing such as "Version " -> "1.002 YRCP / "


Your thoughts?
It would be so much easier if we could just put the csf inside expandmd02.mix, but unless PD sorts that out it's not possible.


- Blade - 25.02.2005

Surely we could obtain copies (although large) of the various langmd.mix files we are going to support and use then for reference and to make new patches from. Then all we need are localised versions of any csf modifications we make and we can integrate them into the mix files ourselves for the patcher to compare.


- CannisRabidus - 25.02.2005

The topic I started at DGNF would be a place to solicit copies of langmd.mix also. (Not a lot of replies there but then no one has been steered towards that topic either).


- Renegade - 25.02.2005

Marshall;date=Feb 24 2005, 11:00 PM Wrote:The plan is to include expandmd02.mix with everything in it as you described.
The problem is: Yuri's Revenge will only read ra2md.csf from langmd.mix or loose in the RA2 folder. That is why we need the mod launcher. The mod launcher will only be used to provide the updated CSF.
[right][snapback]571[/snapback][/right]
Oh god... Unhappy Six weeks without my stuff and I'm forgetting the basics... :mellow:
I'm sorry. You're of course right... :unsure:

As usual, I can provide the German files, but uploading the langmd would take some time. Wink


- Marshall - 25.02.2005

Certainly the easiest solution would be for me to have personal access to the various langmd.mix files. If that can be made so then great.
In which case, yes it's just a matter of getting the text file translated.


Also, if my understanding of XCCMC/L is correct, then XCCMC/L would automatically create mod CSFs from the updated one in langmd.mix - meaning that mods would not need to include the extra string table entries (csf diff compression on of course)


- CannisRabidus - 25.02.2005

Your understanding is the same as mine, whether it is correct or not I don't know since I don't use the string table differential option.

The patch program is going to be processing the mix file, right? Can you read the contents of the mix file? If so, can you read text in a 'file' within the mix, or just 'filenames'?

====
A problem with the patch process you have to watch out for:

The user gets the wrong language version of the patch. He runs it anyway.
Now he has the right expandmd02.mix, but his langmd.mix has his version's cameos and such, but the wrong language CSF, and he has a file called langmd.bak (the backup of his original).

He moans on a message board, and he's told to roll back the patch and get the right version. He gets the right version and runs it without rolling back the wrong version he got earlier. In the process of patching langmd.bak is overwritten by the mixed language version of the file that he created before. So, must check to be sure the patch is not active before patching.


- Marshall - 25.02.2005

I have the ability, as part of the installer, to patch one file into another. I cannot 'read' the mix file as such - I just apply a binary patch.
As such, the end user can ONLY patch, say, a German 1.001 langmd.mix into a German 1.002 langmd.mix


When I get a chance I'll test that string table differential thing.
Either way, the dev pack will provide the strings just in case the modder prefers to use a complete CSF.
BTW Cannis, why don't you use CSF diff compression? Just curious.


- Renegade - 25.02.2005

I know I wasn't asked, but I don't use the CSF diff compression because it didn't work correctly. I wanted to overwrite an existing string, and it just didn't work. Turning it off, forcing the game to use my very own complete CSF makes the game do everything I want.


- CannisRabidus - 26.02.2005

Quote:I cannot 'read' the mix file as such
That's a shame. Otherwise you could add a "1002EN.txt" file in there and know what version it is.

Originally my private version of CR was enabled/disabled with a batch file. I was going to release it like that but I decided to give XCCM/L a try 2 days before release. I liked it and went with the launcher instead, but at that late date I didn't want to take a chance with the differential stuff, fearing problems like Ren described would arise. That's the way I've done it since...

(Now I understand why you don't want to edit existing strings for the soundtrack modifier. You need different language support for that too so you can bundle the entire CSF rather than just the additions).


- Marshall - 26.02.2005

Well there's no reason why I couldn't add such a file via the patch process, but I couldn't then read that file.

I was planning on introducing a file such as yrcp.ini to the user's RA2 folder - so that the yrcp installer/uninstaller can check for version, and also so that modders can write their installers to check for the presence of 1.002 (if their mod requires it).


- W3bMa5t3r - 02.03.2005

I read through the first two pages and couldn't find anything on it, and I'm too lazy to read through the remaining four... if you all would like me to mirror the YR 1.002 Community Patch, just let me know.

Peace