Jump to content
Nyerguds

1.06c development topic

Recommended Posts

I just finished a proof-of-concept of what could be the biggest achievement in the history of my patch...

 

The game now reads all music data from an external ini file :)

 

There's probably still some bug fixing to do, concerning what to do if the themes list is completely empty and things like that, but anyway, at the moment, this actually works.

 

This is the current themes.ini which it reads:

http://nyerguds.arsaneus-design.com/cnc95upd/inirules/themes.ini

 

To add new themes, all you need to do is add a number to the [Themes] list and add a section for the new theme :)

 

So yeah, the plan is obviously to (eventually) expand that to include reading ALL data from external inis. This includes weapons, warheads, animations, sounds, building foundations, and of course, eventually, the units, structures, infantry and aircraft. I might have to limit the reading of these 4 main types though, since there are so many game systems that use specific units for specific tasks that it's probably better to make sure people can't change their unit ID. The actual unit data will obviously be made available for editing though :)

 

But seeing as all special themes are already configured by name in rules.ini, this one gave no problems whatsoever. The game has absolutely no music handling exceptions anymore :)

Share this post


Link to post

Another update on this: emulating the Name= tag of RA1's unit settings in rules.ini, I added the same thing to C&C's themes.

This means you can add custom themes to the game without having to insert a new theme name into the strings file. The following example was actually used by me as a test:

 

[Themes]
...
40=WAR

[WAR]
NameID=0
FirstMission=0
Length=149
ShowInPlaylist=Yes
HasAlternate=No
AlternateLength=0
Name=War's Never Been So Much Fun

(for anyone wondering what song that actually IS... it's from the game 'Cannon Fodder' ;))

The result: WAR.aud played ingame, and shown in the main music menu like this:

custom_name0.png

Share this post


Link to post

Neat additions for the 1.06c patch, Nyerguds. I've been watching from the sidelines for awhile, and thought I'd come out of the woodwork and share a bit of gratitude for the work you've pulled off. Assembly definitely doesn't have the creature comforts that higher-level languages have, but it can really do some awesome things if you can get the code to work for you.

 

I can't wait to see the results of both the 1.06c patch and the RA 3.04 patch (Hyper, you've got quite a bit of work cut out for you on that one, but considering who you are, you'll probably come through in the end).

 

Anyways, just thought I'd drop a voice in and leave some encouragement.

Share this post


Link to post

Thanks for the support!

 

Assembler does have certain advantages compared to higher programming languages... like the neat little fact that technically, one function can have about half a dozen return values, and not just one.

 

As for Hyper, well, he doesn't have a home PC at the moment, so I don't think he'll be able to continue on his projects any time soon...

Share this post


Link to post

...for debugging an app running on Wine? Good luck with that...

Share this post


Link to post

Unless someone develops IDA Pro for Mac OS X with GUI interface...

 

Why don't you just bootcamp windows? I have a spare genuine XP key if you want....

Share this post


Link to post

Ha, IDA for OS X with a GUI won't happen unfortunately (much as some of us would hope). It can run in Wine, but IDA in Wine debugging anything running in Wine is anything but successful usually (not to mention the trouble of getting a Wine build for OS X that works right). Sorry to hear of a lack of PC though, Hyper.

 

As for Assembler, yes, it does have some nice advantages to it. Difficult to learn, but certainly worthwhile and definitely a requirement when working on older software and/or with older hardware. I haven't shoved a C&C EXE into IDA, but I'm guessing the code's definitely a rat's nest of fun to work with, right? Out of curiosity, what compiler?

Share this post


Link to post

Eh people, do realize he's talking about doing that AT WORK. Not even talking about the inevitable fact he will be slacking off on his JOB, I don't know if he'll be able to install large amounts of software unnoticed.

 

I think it might be better if he just did his job well to make enough money to buy a new home PC :P

 

 

Anyway, I think this is getting majorly off topic.

Share this post


Link to post

This machine has Windows XP on it, along side Ubuntu! But i really cant be sitting in my lunch brake reverse engineering games lol!

 

So yea, see what the future brings!

Share this post


Link to post

Hi Nyer,

 

first of all, let me say a big thanks and respect for what have you done this far with this undying classic, it is remarkable ! :thumbsup:

 

And, I have some suggestions for further enhancing the game, of course, if they are even possible to implement...so...

 

It is possible to:

 

1. When commando destroy building witch C-4, no soldiers will come out as was it, for example, in Tiberian Sun with Ghost Stalker .

 

2. Add unit queue production feature to sidebar.

 

3. Add rally points of production buildings: barracks, aistrip, etc.

 

Thank you very much in advance for any response and keep an eye on great work ! ;)

 

Ehm, some reaction for this please, Nyer ? :huh::)

Share this post


Link to post

1. When commando destroy building witch C-4, no soldiers will come out as was it, for example, in Tiberian Sun with Ghost Stalker .

Should be easy to fix, never looked at it but it must just be a state returned from FuseClass (C4 handling class)

 

2. Add unit queue production feature to sidebar.

Possible, but like RA95, the FactoryClass (handles all production from Barracks, War Fact, Construction Yard etc) is not able to handle this, and i dare not try this as, well... You dont just how a pain these games are.

 

3. Add rally points of production buildings: barracks, aistrip, etc.

I would not even attempt this...

 

Share this post


Link to post

it is possible to change the canpagn crates(always it is money) to another one(like heal all units)? there is a way to set it in SCXYYZZ.INI?

Share this post


Link to post

Interesting idea. Yeah, that is certainly possible. I'll look into it.

 

 

 

At this moment, I'm trying something else though; modding without replacing the strings file. See, the big problem I've had with modding so far is that mods have to include a strings file, and if I release a new patch, with more strings added to the strings file, the mod would need to be updated or it's missing necessary game strings.

 

I'm creating a system that will read a strings.ini in which you can put override strings for specific strings in the strings file. This system will allow ini-based modding of all strings in the game without having to worry about a different length in later releases.

 

It will work like this:

 

[Customstrings]

Last=711

110=Transport

711=Covert Operations

 

This will replace index 110 of the strings file (the name ID for the APC) by the string "Transport", and index 711 (the "New Missions" menu entry) by "Covert Operations".

 

The "Last" key is necessary to tell the system what the highest number to read is, since the system will read all entries from 0 to that number. This will produce an array with the number of items specified in "Last=", with 00000000 for the non-replaced entries and the address of the read string for the replaced entries.

 

This means that internally, the normal conquer.eng/ger/fre/... string will be used in 2 cases:

-if the requested ID is higher than the last read custom string (higher than the value of the "Last" key)

-if the requested ID's spot in the custom strings array has 00000000 in it instead of the address of a string read from the ini file.

 

Since this is purely a UI function, I don't expect these ini-based string changes to disrupt multiplay.

 

 

Oh, as a small extra, when implementing this function I added something that was sorely missing in the original strings reading system: boundary checking. The game will now return an empty string if it tries to read a string index from the conquer.eng/ger/fre/... file that's higher than the last index in the file.

 

[edit]

 

Woo! It works :)

Share this post


Link to post

Idea:

 

When playing on the snow maps I note that the buildings itself are a bit out of place if you ask me.. While it looked ok in RA1 it looks kind of strange in C&C95 maybe it's just still unaccustomed to see GDI & NOD on snow landscapes not sure.. :)

 

The buildings could need a snow terrain design if playing on snow maps. Now I do know that Red Alert1 didn't had that feature but RA2 did.

 

Do you think it would be possible to implement snow buildings which are beeing auto created when playing on snow maps same like it was the case in RA2??

 

 

http://www.file-extensions.org/imgs/app-picture/2340/command-and-conquer-red-alert-2.jpg normal buildings

http://gameviper.com/wp-content/uploads/2008/08/red_alert2_bemutato_01.jpg with snow buildings

 

That would have no real gameplay factor but it would be a nice graphical asset which also would make your game even more unique compared to normal C&C95. Is that coding like actually possible in C&C95 I can't tell?

 

What do you think of this idea? Should be easy for a modder to duplicate & edit those little voxels and add little snow onto them.

Share this post


Link to post

Meh, it can be done through modding. All you need to do is add the snow versions of the building with the .shp renamed to .sno

 

Mind you, I don't think it'll work for the weapons factory though, since the door animation is loaded completely separately, from WEAP2.SHP.

 

 

But as I said before, I don't add such things. I don't WANT to make my patch "even more unique compared to normal C&C95"; quite the contrary. I decided from the very beginning to only add or reactivate original assets (sounds, music), unlock previously hardcoded exceptions in the game so they can be used in any fan-made mission (like the only-capturable-in-Nod-mission-12 Advanced Comm Center, the Nod double colour, the passive helicopters in Nod mission #7, etc). On top of that, I will add more features for modding and mission making, as long as they don't interfere with the original campaign gameplay. This also obviously means, no balance changes of any kind.

 

Another decision I made was that I would never add third-party content. That would be like updating RA2 with a batch of remade voxels. Sure they could be nicer than the originals, but they'll take away the original feel of the game. This is also why the only missions I've ever added were the Nintendo64 and Playstation Special Ops, which are all official releases.

 

The Snow theater itself was already stretching my definition of "only adding/reactivating original assets" a bit. The only thing I would still do on that theater is clean up the dark edges of the blossom tree spray animations, and maybe fix up the tiberium a bit.

 

Feel free to make that snow-on-the-roofs mod for it though. I'm not stopping you.

Share this post


Link to post

Ok good to know that... It's pitty but I respect your decision here.

Still I don't see where that would interfere with the balance what is your main argument here.

Anyway be it like it is no snow buildings I can life with that. As for the Tree and Tiberium I'm glad to hear that. Those things were some of the major things I've found weird in snow terrain it was to bright for that setting if you ask me. Glad that your're improving these things..

 

greetings 23-down

Edited by 23-down

Share this post


Link to post

Eh, the balance thing was just part of the list, it wasn't related to what you said.

 

And the blossom tree is just copied from Temperate, where you always have dark green grass as background for the animation, so yeah, I'm aware that it needs some improvement; I just never got around to doing it.

Share this post


Link to post

welp, I've released it. Over the next few days I'll be adding more info, like translated manuals, 1.06c savegame packs, the full game download, and video addon packs for all 4 official languages in the patch.

Share this post


Link to post

Nice work! Indeed, the manual is quite long... Btw, it still mentions "Release date: ??".

Share this post


Link to post

Oh lol, in the manual, I see.

 

I'll fix it ASAP. I kinda rushed the release because of the PPMSite.com 10 year anniversary contest, which ends at 2 o'clock in the afternoon today (for my time zone). I still fixed 2 bugs in the patch last night, lol :P

 

[edit]

 

Fixed in the rtf file downloadable from the site. I'll fix the one in the install package when I get home from school.

Share this post


Link to post

Nice! but do you have changed something in v1.06c patch in visual style? i can't make my mod works with it. i was awesome working with v1.06b r2 and v1.06c_beta4. (i get an error, but i can't see it, i only can Hear)

Share this post


Link to post

Use alt-tab to switch out. Also, I know that on XP, after just pressing [enter] on the error (even if you can't see it, you can still press [enter]), the game screen disappears and I get an identical error from Windows.

 

Can you send me or attach the version of your mod that crashes 1.06c? I want to see what goes wrong.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×