:: Home :: Get Hosted :: PPM FAQ :: Forum FAQ :: Search :: Memberlist :: Usergroups :: Register :: Profile :: Log in to check your private messages :: Log in ::
Do you want to advertise at Project Perfect Mod. Find out how to do it HERE.

The time now is Wed Nov 22, 2017 3:40 am
All times are UTC + 0
 Forum index » Modding Central » Tiberian Sun Editing Forum » HyperPatch
Tiberian Sun Engine Talk
Moderators: Global Moderators, HyperPatch Moderators, CCHyper
Post new topic   Reply to topic Page 1 of 1 [27 Posts] View previous topic :: View next topic
Author Message
CCHyper
Defense Minister


Joined: 07 Apr 2005

PostPosted: Tue Jun 15, 2010 8:20 pm    Post subject:   Tiberian Sun Engine Talk
Subject description: Post any questions or research related to the engine, ill do my best to help!
Reply with quote

Tiberian Sun Engine Talk

This topic is in place just for those people who require a bit more information about a certain logic, have a question about something hardcoded etc. I will do my best to help!

Back to top
View user's profile Send private message
Lord Unforgiven
Rocket Infantry


Joined: 23 Apr 2009
Location: Belgium

PostPosted: Wed Jun 16, 2010 12:48 pm    Post subject: Reply with quote

Well,

A complete list of files that are loaded and what is loaded would be very helpfull I think. You can even list the wildcards (*), for example:

File - data type
ecache*.mix - Other data files
*.mpr - maps
rules.ini - text scripted rules data
... etc.

I'm especially interested if the game makes references to files that aren't there, or aren't seemingly used (Blowfish.dll).

Why? Well it's a long story, but short said: I've had TS for 10 years now on half a dozen computers and I've seen minor differences depending on which computer it was installed onto. I want to know if I'm missing something here...

Back to top
View user's profile Send private message
CCHyper
Defense Minister


Joined: 07 Apr 2005

PostPosted: Wed Jun 16, 2010 2:15 pm    Post subject: Reply with quote

Lord Unforgiven wrote:
Well,

A complete list of files that are loaded and what is loaded would be very helpfull I think. You can even list the wildcards (*), for example:

File - data type
ecache*.mix - Other data files
*.mpr - maps
rules.ini - text scripted rules data
... etc.

I'm especially interested if the game makes references to files that aren't there, or aren't seemingly used (Blowfish.dll).

Why? Well it's a long story, but short said: I've had TS for 10 years now on half a dozen computers and I've seen minor differences depending on which computer it was installed onto. I want to know if I'm missing something here...


Ok sure, here ya go, new anymore let me know.

INI Files
FIRESTRM.INI
THEME01.INI
THEME.INI
SOUND.INI
SOUND01.INI
SUN.INI
BATTLEFS.INI
BATTLE.INI
BATTLE*.INI (Wildcard filename)
AIFS.INI
AI.INI
LANGRULE.INI
ARTFS.INI
ART.INI
RULES.INI
RULE*.INI (Wildcard filename)
TUTORIAL.INI
KEYBOARD.INI
TEMPERAT.INI
SNOW.INI
ION.INI
NIGHT.INI
DUSK.INI
DAY.INI
MORNING.INI
MAPSEL.INI
MAPSEL##.INI (## is a number from 00 to 99)
NEWMENU.INI
MISSION.INI
MISSION#.INI (# is a number from 0 to 9)
LANGFS.INI
TMCJ4F.INI
WDTHIST.INI
WDTMAP.INI
WDTCHOICE.INI


MIX Files
EXPAND01.MIX (Hardcoded to decide game state)
MOVIES##.MIX (## is a number from 00 to 99)
SCORES01.MIX
SCORES.MIX
MULTI.MIX
MAPS##.MIX (## is a number from 00 to 99)
MAIN.MIX
LOCAL.MIX
CACHE.MIX
TIBSUN.MIX
EXPAND##.MIX (## is a number from 00 to 99)
ECACHE##.MIX (## is a number from 00 to 99)
PCACHE.MIX
PATCH.MIX
SOUNDS.MIX
SOUNDS01.MIX
CONQUER.MIX
theater mixes ----------------------
E##VOX##.MIX (## is a number from 00 to 99)
SPEECH##.MIX (## is a number from 00 to 99)
E##SCD##.MIX (## is a number from 00 to 99)
SIDECD##.MIX (## is a number from 00 to 99)
E##SNC##.MIX (## is a number from 00 to 99)
SIDENC##.MIX (## is a number from 00 to 99)
E##SC##.MIX (## is a number from 00 to 99)
SIDEC##.MIX (## is a number from 00 to 99)
GMENU.MIX
WDT.MIX
WDTVOX.MIX

FNT Files
GRAD6FNT.FNT
8POINT.FNT
EDITFNT.FNT
6POINT.FNT
KIA6PT.FNT
12METFNT.FNT

SHP Files
RROTOR.SHP
LROTOR.SHP
BUILDINGZ.SHP
WRENCH.SHP
POWEROFF.SHP
FOG.SHP
SHROUD.SHP
SHADOW.SHP
PLACE.SHP
DGREEN1.SHP
DGREEN2.SHP
DGREEN3.SHP
DGREEN4.SHP
DROP0001.SHP
DROP0002.SHP
DROP0003.SHP
DROPDOWN.SHP
DROPUP.SHP
CAMEO.PAL
XXICON.SHP
PILOTLIT.SHP
LOADOUT.SHP
POD.SHP
MOUSE.SHP
STATIC.SHP
C_SHADOW.SHP
PROGBAR2.SHP
TARGET2.SHP
TARGET1.SHP
FULLFNT3.SHP
TALKBUBL.SHP
PIPS2.SHP
PIPS.SHP
SELECT.SHP
POWERP.SHP
RADAR.SHP
PROGBAR.SHP
PROGBARM.SHP
CURR01.SHP
CASU02.SHP
CASU01.SHP
TIME01.SHP
EFIC01.SHP
LOGO01.SHP
BEST02.SHP
BEST01.SHP
BIGFONT.SHP
GCLOCK2.SHP
RCLOCK2.SHP
DARKEN.SHP
R-DN.SHP
R-UP.SHP
ADDON.SHP
SIDE3.SHP
SIDE2.SHP
SIDE1.SHP
REPAIR.SHP
WAYP.SHP
POWER.SHP
SELL.SHP
SIDEGDI3.SHP
SIDEGDI2.SHP
SIDEGDI1.SHP
BTN-MINS.SHP
BTN-PLUS.SHP
TABS.SHP
FLAGFLY.SHP
HARVESTR.SHP
VISC_LRG.SHP
VISC_SML.SHP

VXL Files
DPOD.VXL

HVA Files
DPOD.HVA

Back to top
View user's profile Send private message
Lord Unforgiven
Rocket Infantry


Joined: 23 Apr 2009
Location: Belgium

PostPosted: Fri Jun 18, 2010 8:40 am    Post subject: Reply with quote

Thanks!

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Fri Jun 18, 2010 11:20 am    Post subject: Reply with quote

I know it would be a lot of work, but can you sort the different files into the mix files in which they are loaded? (e.g. so you can see that mouse.shp is only loaded inside ecacheXX.mix but not in sidecXX.mix)
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Cantdrawbutmod
Rocket Cyborg


Joined: 19 Oct 2009

PostPosted: Thu Jul 22, 2010 11:30 am    Post subject: Reply with quote

I wanted to make some addon file (not putting everything from rules.ini in it),it's going to be a failure,but here is what I saw.

I tried RULE*.ini files,but couldn't get anything to work.No effect loading a skirmish match.

I tried firestrm.ini,changes on multiplayer max credits or anything prior to the game didn't work,but it would crash while loading skirmish match,so something was loaded.

I tried to copy the changes of my .ini file at the end of rules.ini,the multiplayer max credits changed,the new faction wasn't here,and it also crashed while loading skirmish match.

Oh yeah,trying to put my modifications in langrule.ini caused crash before ts/fs selection screen with something like "Init error.Please reinstall"

So even if they are all loaded,they aren't loading the same way and the same things.

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Sun Sep 19, 2010 1:18 am    Post subject: Reply with quote

I just noticed something strange.
The key HunterSeeker=yes doesn't exist in the exe, yet it has an effect. When added to a unit it makes it unable using its weapon. Or in the case of a unit with a fly locomotor, to automatically chose and fly to a target and do a suicide attack.

The only place in the executable, where i found the string HunterSeeker is between ChemMissile and MultiMissile, so i assume that this belongs to the superweapon Type= key and thus shouldn't work on VehicleTypes.

So why does the key actually do something when added to a unit?
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Nyerguds
General


Joined: 24 May 2004
Location: Flanders (Be) Posts:300000001

PostPosted: Sun Sep 19, 2010 9:59 am    Post subject: Reply with quote

There's no reason why that string can't be used by the game twice, you know.

Looking at the exe data, that particular string is indeed referenced twice; once in the list of superweapons, and once amongst a bunch of ini reads for unit options like "AllowedToStartInMultiplayer", "TargetLaser", "Crusher" and "AutoCrush".
_________________

Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Sun Sep 19, 2010 12:31 pm    Post subject: Reply with quote

I see.

Well i thought the keys are also ordered in the exe and so i thought there had to be another one among the vehicletype keys.

I was also a bit confused due to the modenc description.
modenc wrote:
This tag was not valid on a unit (even though it was present) in Tiberian Sun,

_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
CCHyper
Defense Minister


Joined: 07 Apr 2005

PostPosted: Sun Sep 19, 2010 7:08 pm    Post subject: Reply with quote

It all comes down to what Class what processed and compiled first, if the string is used twice in the sourc code (has to be the same case etc), then the compiler will remember this and reference to the string it already compiled. Now it seems that SuperClass and SuperWeaponTypeClass is compiled quite early on in the process.

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Fri Sep 24, 2010 3:05 pm    Post subject: Reply with quote

I have another question concerning the PrerequisiteGroups in the General section like PrerequisiteFactory, PrerequisiteGDIFactory, PrerequisiteRadar etc.

As you know these allow an OR-conjunction between different buildings, while the Prerequisite key on a building allows only an AND-conjunction.

I now tried to use one of these for a different purpose (to group several different refineries). However when i removed the Nod warfactory from PrerequisiteNodFactory, the Nod AI wasn't able to work correct anymore. It stopped building higher tech structures like the radar and sometimes even refused to build the warfactory, even if all these have AIBuildThis=yes.

So my question is, which of these PrerequisiteGroups can be used for a different purpose without messing up the AI?
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
DavyCrockett
AA Infantry


Joined: 30 May 2010
Location: Germany

PostPosted: Sun Sep 26, 2010 6:04 pm    Post subject: Reply with quote

Somewhere in this forum is saw that you wrote you were able to change the color of the Disruptor.

What part of the .exe has to be changed to make it red?
And is it also possible to change something to make it additionally more transparent ?

Back to top
View user's profile Send private message
GameMaster0000
Missile Trooper


Joined: 23 Mar 2006
Location: Thailand

PostPosted: Mon Sep 27, 2010 5:45 am    Post subject: Reply with quote

Is it possible to make game read speech03.mix and sidec03.mix and so on for third and more side?

Edit :
v
v
v
/me sad that look like it not simple like change 1 to 4...
_________________

Tiberian Sun : True Power - Reality Power Of 5 Factions...

Last edited by GameMaster0000 on Mon Sep 27, 2010 4:41 pm; edited 1 time in total

Back to top
View user's profile Send private message MSN Messenger
CCHyper
Defense Minister


Joined: 07 Apr 2005

PostPosted: Mon Sep 27, 2010 11:25 am    Post subject: Reply with quote

DavyCrockett wrote:
Somewhere in this forum is saw that you wrote you were able to change the color of the Disruptor.

What part of the .exe has to be changed to make it red?
And is it also possible to change something to make it additionally more transparent ?

Its not as easy as a byte change, its quite a complex calculation the game does that i was still trying to understand, the alpha transparency is also a factor you can change, this can be seen in Ares, though i have yet to look into that.

GameMaster0000 wrote:
Is it possible to make game read speech03.mix and sidec03.mix and so on for third and more side?

It is indeed, but not without new code.

Back to top
View user's profile Send private message
[TiberianFuture]
Scrin Overlord


Joined: 30 Apr 2009
Location: The Mothership

PostPosted: Tue Sep 28, 2010 3:25 pm    Post subject: Reply with quote

GameMaster0000 wrote:

Is it possible to make game read speech03.mix and sidec03.mix and so on for third and more side?

CCHyper wrote:
It is indeed, but not without new code.

But can you do it?
_________________
Check out some TF Kane's Wrath action:
Tournament 3rd place.
Vs. bikeRushOwnz in tournament.
Ladder wars vs. bikeRushOwnz.

Back to top
View user's profile Send private message MSN Messenger
CCHyper
Defense Minister


Joined: 07 Apr 2005

PostPosted: Wed Sep 29, 2010 11:00 am    Post subject: Reply with quote

Already done it, HP allows upto 10 working sides. Loading screens, sidebars, and other little bits, though the speech side is a little tempremental...

Back to top
View user's profile Send private message
SuperJoe
Commander


Joined: 03 Sep 2009

PostPosted: Wed Sep 29, 2010 4:42 pm    Post subject: Reply with quote

Lin Kuei Ominae wrote:
I have another question concerning the PrerequisiteGroups in the General section like PrerequisiteFactory, PrerequisiteGDIFactory, PrerequisiteRadar etc.

As you know these allow an OR-conjunction between different buildings, while the Prerequisite key on a building allows only an AND-conjunction.

I now tried to use one of these for a different purpose (to group several different refineries). However when i removed the Nod warfactory from PrerequisiteNodFactory, the Nod AI wasn't able to work correct anymore. It stopped building higher tech structures like the radar and sometimes even refused to build the warfactory, even if all these have AIBuildThis=yes.

So my question is, which of these PrerequisiteGroups can be used for a different purpose without messing up the AI?


At least PrerequisitePower can be used for other things. I once had all the general prerequisites used for other purposes, but I don't recall which ones caused problems with the AI. Guess it wouldn't be too hard to test by just leaving them empty one by one (and not use any of them for any buildings).

Btw using prerequisites NODFACTORY and GDIFACTORY in rules.ini seem to cause problems for the AI. Not for units since AI doesn't care about the prerequisite for them, but if you give these prerequisites to a building the AI won't build it anymore. The building needs to be defined in firestrm.ini instead. I wonder if adding PrerequisiteGDIFactory=GAWEAP,DGWEAP under [General] in rules.ini would make it work.
_________________

Back to top
View user's profile Send private message
Reaperrr
Commander


Joined: 26 Apr 2003
Location: Somewhere in Germany

PostPosted: Thu Sep 30, 2010 12:17 am    Post subject: Reply with quote

Hyper, there seems to be a (rather low) limit to how many sounds the game plays at once, is there a way to increase that limit?

In my case I had several sounds (weapon reports and explosion anim reports) with Priority=50, but the game would only start to play the explosion sounds once the firing sounds had finished, even if just 1 unit was firing.

Back to top
View user's profile Send private message Send e-mail
GameMaster0000
Missile Trooper


Joined: 23 Mar 2006
Location: Thailand

PostPosted: Thu Sep 30, 2010 7:13 am    Post subject: Reply with quote

Yes, I notice this too. look like game has only 3-4 channel to kept sound to play.
_________________

Tiberian Sun : True Power - Reality Power Of 5 Factions...

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Sun Oct 03, 2010 1:42 pm    Post subject: Reply with quote

I have another question.

When capturing an opposite side conyard, then undeploying it into an mcv and again deploying back to the conyard, you still get the opposite sides construction options.

The way i understand it, it should be changed to the players side as soon as you undeploy it into the mcv.

Thus my question, how can the game remember even after undeploying and deploying of the conyard, that it previously belonged to the enemies side?
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Darkfox
Civilian


Joined: 12 Nov 2007

PostPosted: Wed Oct 06, 2010 12:21 am    Post subject: Reply with quote

Lin Kuei Ominae wrote:
I have another question.

When capturing an opposite side conyard, then undeploying it into an mcv and again deploying back to the conyard, you still get the opposite sides construction options.

The way i understand it, it should be changed to the players side as soon as you undeploy it into the mcv.

Thus my question, how can the game remember even after undeploying and deploying of the conyard, that it previously belonged to the enemies side?


Noticed that too and wondered the same. I felt that when doing surgical conyard steals that when I undeployed it back to an MCV that it would revert to my side as seems logical based on the Rules entry. Well, from what I gather, there is something that keeps track of past ownership and anything it becomes. Either a number or an ASCII string is set where it was previously owned by GDI/Nod thus retains the tech tree of the previously owned side.

Additionally, does a MCV produced from an opposite side War Factory hold this same value? I will test this out.

Results: No, it does not carry over. So it is specific to conyard/MCV stealing.

Back to top
View user's profile Send private message
Reaperrr
Commander


Joined: 26 Apr 2003
Location: Somewhere in Germany

PostPosted: Sun Oct 31, 2010 12:09 am    Post subject: Reply with quote

Something else I noticed:

I'm not sure how well-known that issue is, but according to my recent testing, amongst the worst resource hogs are - voxels.

I guess there's no way to fix that, is there?

Back to top
View user's profile Send private message Send e-mail
Joshy
Schwing!


Joined: 13 Aug 2006

PostPosted: Sun Oct 31, 2010 12:10 am    Post subject: Reply with quote

Don't use voxels?
_________________

Back to top
View user's profile Send private message
Orac
President


Joined: 11 Jul 2008
Location: New Zealand

PostPosted: Sun Oct 31, 2010 12:14 am    Post subject: Reply with quote

Possibly to do with the game drawing all the interior pixels?

Back to top
View user's profile Send private message
Reaperrr
Commander


Joined: 26 Apr 2003
Location: Somewhere in Germany

PostPosted: Sun Oct 31, 2010 1:51 am    Post subject: Reply with quote

Joshy wrote:
Don't use voxels?

yeah, that would be a solution Laughing
However, it would mean that you either have to live with vehicles not tilting when driving on slopes (which looks bad) or remaking terrain so there aren't any slopes anymore (which requires lots of work).

@Orac: yes, it definitely has to do with the way the game draws stuff. The infamous custom ddraw.dll for XP fixes the problem completely, but that obviously doesn't help Vista/7 users, which are probably in a majority by now.

Back to top
View user's profile Send private message Send e-mail
Orac
President


Joined: 11 Jul 2008
Location: New Zealand

PostPosted: Sun Oct 31, 2010 3:08 am    Post subject: Reply with quote

The problem of voxel-related lag can probably be reduced then, by removing the majority of the voxel's interior.

Back to top
View user's profile Send private message
Joshy
Schwing!


Joined: 13 Aug 2006

PostPosted: Sun Oct 31, 2010 5:58 pm    Post subject: Reply with quote

Quote:

The problem of voxel-related lag can probably be reduced then, by removing the majority of the voxel's interior.


It's probably how the game renders voxels. Westwood's code has issues with calling things more than once, etc.

Quote:

yeah, that would be a solution Laughing
However, it would mean that you either have to live with vehicles not tilting when driving on slopes (which looks bad) or remaking terrain so there aren't any slopes anymore (which requires lots of work).


If a hack would be possible that accommodated a set number of frames for units on slopes in the shp file, then it would work like a charm.

Otherwise, I wouldn't bother with doing shp units.

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [27 Posts] View previous topic :: View next topic
 Forum index » Modding Central » Tiberian Sun Editing Forum » HyperPatch
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © phpBB Group

Wildcard SSL Certificates
[ Time: 0.2838s ][ Queries: 12 (0.0563s) ][ Debug on ]