Posted: Mon Nov 18, 2013 9:02 pm Post subject:
TS spawner very WIP
A patched game.exe that allows you to play online or skirmish games with use a of a configuration file called SPAWN.INI (which has all the game options). When launched the game immediately launches a match after starting up. This is needed for CnCNet v5 support.
Download link has been removed until CnCnet v5 alpha support is available.
TODO:
- Add missing game options like "Allies Allowed".
- Port RA95 fix for selectable spawns so players don't potentially spawn next to each other when mixing random and selected spawns in some situations.
- Add spectator support? Last edited by Iran on Sat Nov 23, 2013 9:24 pm; edited 10 times in total QUICK_EDIT
I'm not sure what i'm looking at.
All it does is starting directly into a map which is set in spawn.ini. It's neat, though i can't control my units (mouse is disabled, only keyboard input works) and i also don't get any mcv (could be my mod though)
Can you explain with a few more words, what this is supposed to be?
btw, it would be great if you could find a way so the game stores all the multiplayer options in sun.ini like you did with reading them from spawn.ini.
It's really annoying that the game always forgets the last played map, amount of money and other settings when you leave the game. _________________ SHP Artist of Twisted Insurrection: Nod buildings
> i also don't get any mcv (could be my mod though)
Should be your mod, it's working fine for me with stock TS. Bittah also didn't have an issue with it.
>Can you explain with a few more words, what this is supposed to be?
It should be obvious. It's needed for CnCNet v5 support. This also can load single player missions and savegames unless there's a difference between TS and RA95 in that regard. I haven't added code for loading single player missions and savegames though.
>btw, it would be great if you could find a way so the game stores all the multiplayer options in sun.ini like you did with reading them from spawn.ini.
It's really annoying that the game always forgets the last played map, amount of money and other settings when you leave the game.
I did that for RA95 and won't do that for Tiberian Sun. It's easier to do for Tiberian Sun as it doesn't use bit flags for game options, unlike RA95. QUICK_EDIT
Iran, not everyone understands what it is your asking for. And if it is technical/game engine related, I will reply to your PM's when I have the time. QUICK_EDIT
People don't know how to check during a match whether Firestorm is enabled or not and how to place units on a map for a player?
What.
There is no way to check in-game for in you are in TS or FS.
Via triggers they might be able to, but again, this is all stuff you could research in the locations we have discussed in the games code and work out how it is done. QUICK_EDIT
So there's no difference between playing with and without FS? Wut.
Can someone make me a mod which enables extra buildings, units or something when you're playing with FS enabled?
Why should they, FS already has its own units. Look into the INI files and you will notice FIRESTRM.INI, this gives you the objects that appear in Firestorm only. As I said before, and showed you the group of functions that allow you to retrieve the state of the game. Look into this yourself, its really not hard to grasp. QUICK_EDIT
In Firestorm the game loads extra objects from FIRESTRM.INI, like the Cyborg Reaper, Juggernaut, etc.
I'm not sure if this is what you're looking for, but it's impossible to pre-place units for a specific player on a multiplayer map. You can only place units for the houses already existing in Rules.ini, and the units only become owned by the player playing the specific house with the highest color index. For example, if you place 5 Titans owned by the GDI house into a multiplayer map and there's 2 GDI players on the map, one being Gold and the other Pink, the Gold one will own all the Titans when the game starts (at least it's so with AI players; IIRC if the Gold GDI player is human, the Titans would just disappear). _________________ CnCNet Client | CnCNet TS patches | More Quality-of-Life Improvements for RA Remastered
>In Firestorm the game loads extra objects from FIRESTRM.INI, like the Cyborg Reaper, Juggernaut, etc.
Ah so there is a difference btween TS and FS. Could you make a me a mod that gives an extra building or infantry unit when FS is enabled so I don't need to get all the buildings for building a Juggernaut first? It'll save me some time adding an option to enable/disable Firestorm.
>I'm not sure if this is what you're looking for, but it's impossible to pre-place units for a specific player on a multiplayer map. You can only place units for the houses already existing in Rules.ini, and the units only become owned by the player playing the specific house with the highest color index. For example, if you place 5 Titans owned by the GDI house into a multiplayer map and there's 2 GDI players on the map, one being Gold and the other Pink, the Gold one will own all the Titans when the game starts (at least it's so with AI players; IIRC if the Gold GDI player is human, the Titans would just disappear).
Joined: 26 Apr 2003 Location: Somewhere in Germany
Posted: Tue Nov 19, 2013 6:26 pm Post subject:
Iran wrote:
>In Firestorm the game loads extra objects from FIRESTRM.INI, like the Cyborg Reaper, Juggernaut, etc.
Ah so there is a difference btween TS and FS. Could you make a me a mod that gives an extra building or infantry unit when FS is enabled so I don't need to get all the buildings for building a Juggernaut first? It'll save me some time adding an option to enable/disable Firestorm.
iirc, both the gdi juggernaut and nod cyborg reaper are possible starting units by default, if you play at techlevel 10 with max. number of starting units you will likely get at least one of them. QUICK_EDIT
Just just put this firestrm.ini file in your TS dir. It will make you start with a Core Defender and the War Factories will be available right after deploying your MCV (with all FS units available right away).
Thanks a bunch Bittah! Just added an option to enable Firestorm. That INI file was a real help.
Seems the other CnCNet developers are busy so I won't work on adding support for using different ports during online play and tunnel support for CnCNet v5 just yet.
I'm gonna take a look into getting pointers for the human players in a match. I was checking in the debugger and the game allocates HouseClass for all players (human and AI) and then allocates for the Neutral and Special Houses. This'll allow me to add pre-determined alliances (like in YR), and the ability to set color, side and handicap for every player. Just need to find a nice way to acquire a HouseClass pointer.
I took a look into the code responsible for spawning MP units but it's still a bit of a mystery how it gets the random way point starting location to start spawning on. It might take me an afternoon to figure this out and add support for selectable spawning locations.
Not sure if I will take a look into not making the game think it's running in WOL mode when you play a LAN or online game. Probably also won't look into adding support for spectator players. QUICK_EDIT
Added a new EXE that can set per player handicaps. Just gotta add some network patches, CnCnet v5 tunnel support (should be a copy and paste job) and selectable spawning locations now.
The other CnCnet devs are busy with issues arising during the CnCnet v5 release so that might hamper a few things. QUICK_EDIT
Uploaded a new EXE. With this one you can play LAN and online games over port 1234. Hifi is working on a fix so ports other than 1234 can be used (he also wrote this for ra95). After that CnCnet v5 support can be added by FunkyFr3sh.
I'll start working on selectable spawning locations now. QUICK_EDIT
Wait what, I'm not allowed to ask a question on a forum that's mostly focused on it? I sure know a lot of people with TS LAN game speed experience and it sure wouldn't be like during YR and TS LAN netcode patching where people weren't able to notice a difference because they didn't have enough LAN gameplay experience. QUICK_EDIT
First was a general fact you could have edited your posts, rather than post 5 in a row.
Second was that not a lot of people here can answer your questions and the ones who can are not active day in and day out. Just contact people via other means.
Thanks Rampastein, that's how it works in RA95 too and from the looks also RA2/YR. I was getting slow gamespeed but I understand now why (was playing against 127.0.01, which also caused orders to be sent double ), according to Tore the gamespeed is normal when you're playing proper LAN games.
Hifi added the support for using different ports and for the CnCNet v5 tunneling system. Tore tested using different ports but the tunneling isn't tested yet.
I've added support for selectable spawning locations. Need testing though
The download link has been updated.
TODO is testing and I gotta make EVA shut up about allying in the loading screen if use the pre-determined alliances stuff with human players.
Edit: Fixed the EVA alliances speech crap in the loading screen. For some reason at exit the game executes the first function I add to the extended EXE space.. QUICK_EDIT
After some initial trouble getting TS games working over a dev version of CnCNet v5 yesterday, today hifi fixed the issue and I'm excited to say it's now possible to play TS games over a dev version of CnCNet v5
I fixed the issue which made the game think it was running in WOL mode. I've also updated my todo list in the OP. I'm removing the download link the OP and will link a version of CnCnet v5 with alpha TS support when it becomes available.
I also used zzattack's TS/RA2/YR map preview's tool code to write something simple to display TS map previews and optionally draw spawn location numbers over them. Not only did I use zzattack's code he also helped me a lot while I was developing the code. QUICK_EDIT
wow, that sounds really promising. Especially the new features will enhance gameplay a lot.
Too bad for Bittah who put a lot of work in workarounds for AI vs humans, which is with the selectable starting locations not necessary anymore.
But i guess he wouldn't mind having then a much more comfortable online gameplay either.
btw, do you plan to make the source code for the program public? I would really like to have a look at it when it's done (especially the lobby and chat routines interest me). _________________ SHP Artist of Twisted Insurrection: Nod buildings
btw, do you plan to make the source code for the program public? I would really like to have a look at it when it's done (especially the lobby and chat routines interest me).
The CnCNet 5 client itself is currently closed source and made by FunkyFr3sh. All other components of CnCNet are open.
Though, in all simplicity the client is just a glorified IRC client and nothing more. The server is just plain IRC server. All magic happens in game hacks which the TS spawner also is. The client writes a spawn.ini file from settings that are transferred over IRC and the game hacks (spawner) take control at that point. The game then starts immediately loading a map when launched, no in-game lobbies or chat are used.
I have planned to have the IRC protocol specification open for anyone to write a compatible client but currently the official client does not implement what I have documented so far making the documentation rather useless. Also the client has much more features than I was even documenting.
The actual game hacks made by us are under this GitHub project (ra303p has RA spawner):
The selectable spawns and pre-determined alliances feature is completely optional for CnCnet v5 (as you might have being thinking already), so existing DTA comp stomp maps will continue to work.
CnCnet v5 can read maps from a different location than where DTA stores it's map files. This can be used to make versions of the comp stomp maps which are just normal TS maps, and then point CnCnet v5 to them. Then comp stomp can be enabled for them by configuring the match settings with spawns and alliances.
So it's simple to support both. You can also play skirmish and LAN games over CnCNet v5 very easily.
All this work into TS makes it easy to support RA2 and YR too. QUICK_EDIT
Well, the selectable spawns and pre-determinated alliances do make the Comp Stomp maps rather useless. Removing those also removes a lot of clutter from the map list.
I'll see if I can get the time for writing my own compatible client integrated into DTA's (and TI's) Launcher. I cannot promise anything until March though because I've got my matriculation examinations early next spring
hifi wrote:
I have planned to have the IRC protocol specification open for anyone to write a compatible client but currently the official client does not implement what I have documented so far making the documentation rather useless.
I have planned to have the IRC protocol specification open for anyone to write a compatible client but currently the official client does not implement what I have documented so far making the documentation rather useless.
Is this documentation viewable anywhere at the moment?
This is very incomplete compared to what the client actually does now. FunkyFr3sh would need to sit down with me to go through all the features that are NOT in the specification and update it. Also he would need to start following it as his protocol implements it only partially.
I've added support for loading single player missions and savegames. FunkyFr3sh and hifi are busy with work on CnCnet v5 related to some issues and features related to the very high player count we've been getting. Still gotta wait until Funky adds support for TS to CnCnet v5. QUICK_EDIT
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