AlexB
Members-
Content count
236 -
Joined
-
Last visited
Everything posted by AlexB
-
Ares Expansion DLL - Prism Forwarding Video
AlexB replied to dbjs2009's topic in Command & Conquer News
Can you explain what went wrong or what didn't work? Maybe I can help out. -
The boolean to enable the MPG video feature belongs to the RA1 DVD edition. IIRC it is sufficient to add a DWORD value called "DVD" to the game's registry key with a value of 1 to enable it. The game will then try to play the movie by the name "MOVIES\FILENAME.MPG". If it's not available, an error dialog will show up and after that the VQP is played. Nice to see you coding again
-
Hi ra95.exe, To quote myself on PPM about the graphics problem: RA2 is not affected by this problem. I don't know about TS, but I know of at least three YR players the driver update worked for. For the main menu resolution: It can't be changed. 800x600 is the only resolution the menu supports. The resolution set in the configuration file only applies in-game. Hope this helps. edit: Topic on CNCNZ on the graphics issue.
-
That's what I wanted to hear, really. Pointing out there are still people there who worked on RA1 is great to know. So they maybe kept the accountant or the props buyer? Or catering? The important creative guys are gone. Support for older games won't happen, nothing new here. And this community is the greatest, even though obviously it's not, it's divided and heavily disappointed. Closing a few good doors while keeping the bad doors open. Alas, the interview is all ponys and rainbows, no critical questions at all, and the answers just stay meaningless drivel revealing nothing new, but leaving much room for self-praise. So we at least got to know him. No questions regarding a path out of this misery, no questions regarding his previous achievements in the community, nothing. Here is a YouTube video that was posted in the German interview thread: EA_Cire Interview Disection.
-
This does depend on why they think EA games are crap. I'm one of these old-school people, too, because I'd like to have the Westwood style back - but not the company itself. Not (only) because EA is a corporate juggernaut and they will backstab the fans the moment the money is on the counter. Today's games are larger, way more complex to design and code. From TD to RA they added skirmish, higher resolutions and all in all minor stuff to the same engine. Still took them a year. Without losing quality (and WWs games weren't perfect at all) this can't be done any more today, yet you get the beta key for the next installment along with the current release. After the major engine overhaul, TS was delayed, delayed, and delayed. EA doesn't do that even if the product still needs some love; it hurts quaterly figures. For me, this is about corporate policy. EA won't change because they "know better" than the fans. They always say they'll change this time (how often have you heard this?) but in retrospective they kept the same over all the years. EA just isn't the company to add dinosaur or ant missions to a game just for fun, and I think they never will be. They rationalize fun; they don't understand, they just do stuff by the numbers. Anyone remember ? I hope the new community manager will actually be more a part of a feedback loop to tell the narrow-minded managers and bean counters what the fans would like to have instead of being just a redundant crap evangelist next to their marketing machinery. If managers start to hate the CM while the fans like him, he'd doing his job well. I certainly don't have to like EA just because WW won't come back and there's no way to get back to old virtues. If EA's games don't deliver what I like, odds are they won't get my money. I'm expendable. Looking at the facebook comments I wonder where the threshold is beyond which it hurts EA more than me. Sorry for this wall of text.
-
I recreated the entire list. All original IDs are added and all new TLF filenames (I used the filenames in the TFD-MOVS.MIX) are added by default. This has to be done because otherwise the INTROX would not play. Like the original INTRO, SIZZLE and SIZZLE2 it is accessed by index, so there would be no ID to add. All names that aren't in this list will be added dynamically. The fixed IDs will always correspond to the same index, thus savegames might not be a problem for TLF.
-
You can tell the video isn't official by the number of EA copyright notices. Zero. Look at the C&C logo -- it is the old one even though a new logo has been revealed recently. The EA corporate design and legal people would go nuts about these facts. Now take the background image of C&C Saga into account. "Coming March 2011". Coincidence? Sure! The source is "unknown". C&C Saga says after all the news around C&C emerged, "[...] haben wir vor wenigen Augenblicken ein Video erhalten" ("we received a video only moments ago"). They're just implying a causal relationship, which most likely doesn't exist. Why would EA release a new logo and an interview, then release a video in secrecy only moments later? And why only on C&C Saga.de?
-
Most likely the replacement for the C&C 5 community project they broke up with last month. They need a new project because they need a project.
-
Suggestions for Nyerguds C&C TDawn 1.06c
AlexB replied to cncfan's topic in Command & Conquer Patch 1.06
Yes, in RA there's the 22-unit-bug, the 7-vessel-bug, the 78-buidling-bug, .... That one I haven't fixed yet. -
Suggestions for Nyerguds C&C TDawn 1.06c
AlexB replied to cncfan's topic in Command & Conquer Patch 1.06
Edit: forgot to answer this I just added a hook to change 199->200 and 398->400. The result is this a correctly strected Coming Attraction screen, no faulty line at the bottom. I didn't try to stretch it to full screen. I'll have to look into the function stretching the CPS to see what it does/can be made to do. Stretched to 400. Cool! The specific hooks are implemented like this: DEFINE_HOOK(4E5F11, DisplayClass95_DrawContentAntialiased_A, 6) { // hooks must be longer than 4 bytes, thus hook in earlier // and recreate the original instruction while omitting the 'dec'. int value = R->Stack<int>(-0x8); int x = value; value += R->ESI<int>(); R->Stack<int>(-0x8, value); return 0x4E5F17; } DEFINE_HOOK(4E5F8D, DisplayClass95_DrawContentAntialiased_B, 6) { // because of the first change, we'll have to skip this return 0x4E5F98; } In Red Alert I had to skip the call to the sub before that. In C&C95 this would be the bytes from 4E5F7C to 4E5F8D instead. But via dll this approach didn't work in C&C95, which left me puzzled, too. Makes sense. It could be represented by a triangular matrix, saving about half the space. I have to look into those. It'll take some time because I have to make myself a little more familliar with TD. Yeah, there's a little more stuff in there, I just didn't include the hooks for that. Helitransports won't take off with GNRLs on board in multiplayer modes, theater manipulations (always use temperate for testing purposes), putting TTNK where originally was an MRJ, deinterlacing for the RA movies and adding a buildable 23rd unit type (for testing, JEEPS are replaced by this type dynamically). But, though almost working, this is rather a proof of concept and I did it just for fun. It's not polished, no [unitTypes] section or something -
In no way this is a complete solution for the entire problem. I wanted to add something like a movie list read from the INIs, but for now I always add the TLF file names, so they will always be found. If this is wanted at all and it isn't totally obsolete, then I'll add an ini file option. This would have to be kept in synch with the mission and movies files, but that should be no different for other mod files.
-
Suggestions for Nyerguds C&C TDawn 1.06c
AlexB replied to cncfan's topic in Command & Conquer Patch 1.06
Indeed the best thing to do. And otherwise fonts would be out of proportion, even if click zones are corrected. And yeah, that sounds like Westwood. :lol: And indeed, they hardcoded a source height of 199 and a target height of 398 all over the place. Looks like the easiest way to solve it is to change the function at 0x4D525E to change [ebp+2Ch] to 400 if it is 398 and [ebp+24h] to 200 if it is 199. The first line is there three times and the last line occurs only once that way. The cleanest solution would be to fix two immediate values for the trailers for the Intro/Sneak Peek button and the GDI and Nod endings each. (For instance at 0x439BAB, 0x439BE8, 0x439E1F and 0x439E2E.) -
Suggestions for Nyerguds C&C TDawn 1.06c
AlexB replied to cncfan's topic in Command & Conquer Patch 1.06
The following function is called when drawing movies and map selection and so on. The int at 0x542AC8 equals 1 if a movie is playing, 0 if not. Helps to decide what is drawn. The source image has already been decompressed, so I'll skip info about decompressing images here. The problem is there is a difference between rendering (which is easy and centralized) and interacting with that. I can apply deinterlacing quite easily, but the click zones won't change and thus would not correspond to the images on-screen any more. If you want to see how the internal renderer does its work, change the instruction at 0x459CD7 to "mov eax, 1" (duplication) or "mov eax, 2" (full deinterlace). Default is 0 (interlace). Full deinterlace produces a faulty line on the bottom. This can be corrected by NOPing the decrease at 0x4E5F14 and skipping the three 'mov's and the 'rep movsd' at 0x4E5F8D. Around 0x459CD7 EDI and ESI contain pointers to structures (of length 0xA4 in Red Alert) that hold the buffers, the source and target respectively. Important first members are: byte* Pixels; int Width; int Height; int LeftMargin??; int field_10; int field_14; int RightMargin??; ... int cPixels; // 0x2C -> Width*Height The first member, Pixels is a pointer to an array of "byte Pixels[cPixels]". The source image is copied into that. Source is most likely 320x200, target depends on what you've set. These are indices into the palette. EBX is set to "2 * (pTarget->Width + pTarget->LeftMargin + pTarget->RightMargin);" -- effectively advancing two lines on the target buffer for every line in the source. Thus copying/interpolating is line based. The gaps are filled in by the functions called by the modus explained above; the functions are ugly because they don't work on bytes but on shorts and ints instead, so they aren't clearly readable. 0x54430C holds the VQP files contents, 65536 bytes, essentially an array of 256x256 palette indices; to interpolate between two values, use arr[pixel1*256+pixel2]. I haven't tried this, but it might be as easy as increasing the target buffer pointer by (pTarget->Width*top)+right number of pixels to move the final image. The game has no functions to stretch the contents to user defined sizes -- they are always stretched to twice the source size. To do this, the drawing function would have to be rewritten completely. I did that for any size in C++, and it was slow, though unoptimized. And then the clickzone problems occur and I haven't looked into that yet. Also, the fonts are rendered on their original positions way after the image is resized, thus they appear in the wrong place. Without resizing it looks perfectly alright. --- For a quick test you can use Syringe and the magic.dll and change its inj-files contents to this: ;Enables duplication for all interlaced content. 459CD7 = DisplayClass95_DisplayContent1, 5 ;Enables full deinterlace for interlaced content and fixes the last line. 459CD7 = DisplayClass95_DisplayContent2, 5 4E5F11 = DisplayClass95_DrawContentAntialiased_A, 6 4E5F8D = DisplayClass95_DrawContentAntialiased_B, 6 Then run Syringe.exe "C&C95.exe" --- These images were taken using ddraw.dll, but with resizevideo=false. Duplication mode. Full deinterlace mode. Note the vertical offset of the background image. Early Red Alert test using mode 2. Note the image errors on the lower border. They are fixed already. EDIT: An address was three bytes too low. -
I'm currently writing a longer post in the other thread. I mean indeed the original deinterlacing algorithm that is in the game but it seems it isn't used anywhere. EDIT: Here is the decription of how the game resizes images.
-
I'd like to sniff around in the IDA, sure . It's like reading the first book of a quadrilogy (the final part is complicated!). Even tough cncfan now deinterlaces videos and map selections, would it still help to know more about the way pixels find their way to the monitor/enable original deinterlacing algorithm?
-
I just disassebled your latest public 1.06c. (Don't fear, I'm neither going to alter it or steal something nor am I rivalling you ). I just needed a small break from Ares and thus tried to find my way through RA from scratch. Two days ago I wanted to know whether the stuff I learned from that could be translated to C&C95. :lol: Syringe searches for *.dll and *.dll.inj pairs and includes them automatically. Btw, the dll does more than just expand the list of movie by a fixed set -- it is expanded dynamically. Whenever a movie is encountered that could not be found in the list, it is added automatically. Supports up to 255 movies.
-
Suggestions for Nyerguds C&C TDawn 1.06c
AlexB replied to cncfan's topic in Command & Conquer Patch 1.06
Even though you made it clear you can do it yourself in just a few minutes time in the other thread, I'd still ask: How about deinterlacing the background images before the font is drawn onto it? It would make all the special handling redundant and solve the subobtimal stretching of fonts. -
Well, if anyone wants to test this anyhow, copy the contents of this zip file into your RA folder. You'll need to rename the TLF files in the RA folder to SC-MOVS.MIX and SC-MISS.MIX respectively. Now you run MagicRA.bat and all videos will play for original campaigns as well as the addon missions. Clicking Intro/Sneak Peek will play the original intro and the Retaliation intro right after that. Should work with any english v3.03 version. Yeah, I'm sure you do. I disassembled RA not even three weeks ago, and C&C95 not even two days ago. What could I have found in this timeframe you don't know already?
-
Is it allowed to use an approach involving Syringe to expand the list? If it is, I already solved it. So if you are interested and I find time to expand upon that, maybe I could help out here.
-
And a job working as promoter for a gaming series would change that? I'm fan of the classics, thus I don't expect too much of any CM, no matter who it will be. Btw, I don't know whether it's him... I'm just guessing and connecting some dots that might not even be part of the picture.
-
Could it be Gambler, the German community manager? He was active at CNC Inside until it died because of publicly battled internal differences and a lack of news posts. AFAIK he was employed by a community management corporation and/or EA Communityteam. End of the last year he silently disappeared from the site (or I missed the annoncement ). Even the link to his Twitter account was removed (http://twitter.com/myGambler) and posts there subsided, only promoting assorted EA stuff (not that there was more to it before). If it's him I hope he's changed. He was painting very colorful pictures of the state of the community and Command & Conquer in general -- even three months after Tiberian Taillight hit the shelves and the fans in the face. To me, blaming the silly season and the hot temperatures for the community's lack of interest after the launch sounded more like a hired Public Relations guy putting lipstick on an evident pile of crap.
-
Yes, that one. :lol:
-
@Solo: I got another inofficial mission disk for TD called Command Companion. It contains several missions and mini-campaigns (as save games and as ini files). If you are interested I can upload an image or a rar archive. Should be about 15 MB in total. @Nyerguds: Happy Birthday!
-
-
(Old) "save name" turning them back to their just "save names"
AlexB replied to Kloppstock's topic in Red Alert / Counterstrike / Aftermath
The split up of New Missions into Counterstrike Missions and Aftermath Missions indicate you are running 3.03, which can't read savegames from previous versions. If you copied all files (including all exe files) over the new installation, you also got 3.03 back. The only files needed for backup are SAVEGAME.*, REDALERT.INI and HALLFAME.DAT.
