IPB

Welcome Guest ( Log In | Register )

3 Pages V < 1 2 3  
Reply to this topicStart new topic
> RCbot 1 SvenCoop 5.0 Progress?, Currios about it
Solokiller
post Dec 17 2016, 08:28 PM
Post #41


Member
**

Group: Members
Posts: 23
Joined: 17-December 16
Member No.: 2,482



What kind of information do you need to get working again on RCBot? I can probably reverse engineer what you need from their Linux library.

If you need to contact Sniper, go to their discord; if you send a direct message through the scripting channel you should get some kind of response quickly enough. Whether he'll send you the files you need is another matter, but i guess that depends on how you ask him.

Link to their Discord:
https://discord.gg/0wtJ6aAd7XOGI6vI
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
madmax2
post Dec 18 2016, 09:59 PM
Post #42


RCBot Guru
*****

Group: Waypointers
Posts: 957
Joined: 2-March 12
From: USA, WA state
Member No.: 2,162



Hi Solokiller,

Welcome to the forum smile.gif ... Hopefully Cheeseh will pop on and answer you directly, but from what I know I think he needs the latest cbase.h & basemonster.h headers. I would guess those headers have changed since the last time he tried to compile, back several revisions (sc5.03?).

Yeah, I have not tried discord to contact sniper, well I tried but gave up for some reason (did not install it)? Probably because of my poor internet connection (dialup). Maybe Cheeseh could try discord when he is able to work on this?
QUOTE
Is there a download for the latest source code? Apparently the Linux version isn't quite up to date.

I don't think Cheeseh has posted the latest source code (the code for sc4.8), but I have not checked sourceforge in a while... Last I new, he said:
QUOTE
(Cheeseh @ May 18 2016, 05:37 AM)

Ill need to check my old laptop for the latest source. I was probably using the downloadable one. You can pm sniper again if you can.

Latest source code topic here:
http://rcbot.bots-united.com/forums/index....view=getnewpost
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Solokiller
post Dec 19 2016, 12:31 PM
Post #43


Member
**

Group: Members
Posts: 23
Joined: 17-December 16
Member No.: 2,482



I downloaded the SC 4.5 release. It has a lot of compiler warnings so i set about fixing them.
I made a Github repo for this: https://github.com/SamVanheer/RCBot-Svencoop-CMake
I've fixed all compiler warnings when using VS2015 and GCC 5.3, but i have to go through and commit them.

Mostly using char* for string literals, unused variables and ambiguous use of && and ||, but i also had to fix the ent files having inconsistent line endings which caused it to generate exports for the same entities multiple times, and it didn't handle lines with only whitespace correctly (empty lines when using Windows line endings are essentially lines with one whitespace in them), so it generated empty exports too.

I also ported it to CMake using the Metamod-P CMake config i made a few weeks ago so it's easier to cross-compile now. From what i can tell there are 3 build types: Standalone, Metamod plugin and TFC. I've added the former 2, but the latter doesn't seem any different from those.

I also replaced the .def file with a pragma to add the GiveFnptrsToDll function to the ordinals table, not sure if that'll work for Borland but i've never used it, so i don't know. I can always add special support for Borland in the CMake file if needed.

It uses the CMake automatic deployment code that i added for Metamod-P, so if set it'll put the dll in <game dir>/<mod dir>/addons/rcbot/dlls. This lets you configure the game directory (Half-Life or Sven Co-op) and which mod it uses, so it's easy to work with.

Once i've committed the fixes the CMake files will be committed as well, i'll have to double check that all settings are mirrored in CMake first.

I've also noticed that the SC specific code doesn't handle the 4.0 changes, it uses the MP5 because it thinks it has the GL. I added a TODO item in the code for that, but i haven't checked all of the cases yet.

Some of these files are pretty large, so it might be a good idea to refactor some of this stuff out. I spotted some code that repeats several times, and explicit checks for whether it's a Metamod build or not, that can be abstracted out at a higher level.

The file I/O code handles platform specific path separators explicitly as well, it might be a good idea to let a lower level file API handle this. Something like the IFileSystem interface used by the engine would handle that part automatically.

Regarding Metamod, should RCBot be available as standalone or is the Metamod build the only one worth using? Seems like the standalone build requires a lot of manual work to forward exports, whilst Metamod-P does this automatically. It would certainly simplify a lot of code, and increase efficiency in calling these functions because it can call game functions directly. It would also cut down on exports that aren't used by the game being played, since out of the 3000+ exports only a subset are ever used by any given game.

Also, this won't run under Sven Co-op's engine without special changes because they modified engine function interfaces. I'm putting together a report that will hopefully convince them to revert the changes, but until then the standalone build will not function with 5.0 and newer. The Metamod-P fork that i developed will function with it though.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
w00tguy123
post Dec 19 2016, 06:08 PM
Post #44


Advanced Member
***

Group: Members
Posts: 69
Joined: 9-March 07
Member No.: 1,069



I'd say the standalone version isn't worth maintaining. From what I understand, it's there for people who don't like or want to install metamod.

Maybe the situation was different 10 years ago but today I think it's better to just install metamod-p. That way you can use other plugins with rcbot, like amxmodx.

QUOTE(Solokiller @ Dec 19 2016, 04:31 AM) *
Also, this won't run under Sven Co-op's engine without special changes because they modified engine function interfaces. I'm putting together a report that will hopefully convince them to revert the changes, but until then the standalone build will not function with 5.0 and newer. The Metamod-P fork that i developed will function with it though.

Wait are you saying you can fix this for 5.0 without the special headers? ohmy.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Solokiller
post Dec 19 2016, 06:46 PM
Post #45


Member
**

Group: Members
Posts: 23
Joined: 17-December 16
Member No.: 2,482



QUOTE(w00tguy123 @ Dec 19 2016, 07:08 PM) *

I'd say the standalone version isn't worth maintaining. From what I understand, it's there for people who don't like or want to install metamod.

Maybe the situation was different 10 years ago but today I think it's better to just install metamod-p. That way you can use other plugins with rcbot, like amxmodx.
Wait are you saying you can fix this for 5.0 without the special headers? ohmy.gif


The current Metamod-P fork (https://github.com/SamVanheer/Metamod-P-CMake-svencoop/releases/tag/v1.21p39-svencoop-dev) uses their engine headers so it works. That does not mean that RCBot will magically work now, you still need their entity headers. If they haven't sent the headers yet, they probably won't unless you annoy them into doing so.

EDIT: I've completed the commits, and the CMake files are now set up to autogenerate linkgame.cpp if a Standalone build is selected. You'll need Perl to do that on Windows.

I'm pretty sure everything still works like it should, but i'm currently unable to run any rcbot console commands, i'll investigate that now.

EDIT2: Commands ran fine, for some reason Counter-Strike doesn't print HUD_PRINTCONSOLE messages until you've spawned.

EDIT3: I was able to add bots successfully after fixing a stack corruption issue in the HAL brain loading code: https://github.com/SamVanheer/RCBot-Svencoo...gahal.cpp#L2129
I had to increase the size of the cookie by 1 to fit the null terminator, and i changed the sizeof for safety purposes. You never know when a compiler decides to return the size of a pointer instead of a char array.

The bots didn't join a team in Counter-Strike so i switched to Half-Life Deathmatch, where they work just fine:
IPB Image

Both the Windows and Linux versions compile just fine using VS2015 and GCC 5.4.1 respectively, but i've only tested the Windows build.

Obviously support for Sven Co-op isn't working, though i haven't tested it.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
madmax2
post Dec 20 2016, 02:06 AM
Post #46


RCBot Guru
*****

Group: Waypointers
Posts: 957
Joined: 2-March 12
From: USA, WA state
Member No.: 2,162



Hey Solokiller,

Yeah, Cheeseh dropped support for standalone rcbot, with sc4.5, so only need metamod-p version. You may not be aware, but Cheeseh fixed some bugs and added features for svencoop that won't be in the 4.5 source code. Counterstrike was never supported, as far as I know.

I think it would be best for svencoop, if Cheeseh could provide his sc4.8 source code to work from (so you don't have to reinvent the wheel wink.gif ). I believe, since sc4.5, Cheeseh needed the SC headers to fix fatal rcbot crashes, with each SC release.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Solokiller
post Dec 24 2016, 01:37 PM
Post #47


Member
**

Group: Members
Posts: 23
Joined: 17-December 16
Member No.: 2,482



I'll wait until Cheeseh replies and i'll try to get the team to send updated headers if possible, but don't count on it.

I promoted the Metamod-P build to release: https://github.com/SamVanheer/Metamod-P-CMa....21p39-svencoop

No real differences between the last dev release and this.

See the wiki for the changelog: https://github.com/SamVanheer/Metamod-P-CMa...hangelog#121p39

EDIT: I also tested RCBot with SC 5.08; bots spawn but refuse to fire at enemies. They also seem to prefer the crowbar for some reason.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gordon9999
post Dec 24 2016, 09:27 PM
Post #48


Newbie
*

Group: Members
Posts: 4
Joined: 20-December 16
Member No.: 2,483



QUOTE(Solokiller @ Dec 24 2016, 10:37 PM) *

I also tested RCBot with SC 5.08; bots spawn but refuse to fire at enemies. They also seem to prefer the crowbar for some reason.


The fact that they spawn without crashing - progress
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Solokiller
post Dec 29 2016, 12:43 PM
Post #49


Member
**

Group: Members
Posts: 23
Joined: 17-December 16
Member No.: 2,482



RCBot seems to be causing crashes on map change, so it's not completely ready for SC.

I posted my report: https://facepunch.com/showthread.php?t=1290...=1#post51596775

I also suggested that they send the updated headers.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
The HHH
post Feb 15 2017, 05:40 PM
Post #50


Member
**

Group: Members
Posts: 30
Joined: 26-October 13
Member No.: 2,313



Any news since the last post? I'd really hate to see RCBot die.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gordon9999
post Feb 16 2017, 05:48 AM
Post #51


Newbie
*

Group: Members
Posts: 4
Joined: 20-December 16
Member No.: 2,483



QUOTE(The HHH @ Feb 16 2017, 02:40 AM) *

Any news since the last post? I'd really hate to see RCBot die.

I'm too hope that RCBot is not going to die because of a Sniper who doesn't want to give any headers or just lazy.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Solokiller
post Feb 16 2017, 01:30 PM
Post #52


Member
**

Group: Members
Posts: 23
Joined: 17-December 16
Member No.: 2,482



I reminded them: https://facepunch.com/showthread.php?t=1290...=1#post51830936

Getting tired of this.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

3 Pages V < 1 2 3
Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 16th April 2024 - 07:46 PM