General => News and Announcements => Topic started by: AHS-9 on October 27, 2018, 07:33:12 pm

Title: FOClassic
Post by: AHS-9 on October 27, 2018, 07:33:12 pm
Remember, remember!
The fifteenth of September,
The commit we know a lot;
I know of no reason
Why four-one-two revision
Should ever be forgot!


As some of the FOnline fans around here have already been aware, the Rotators team started working on one of the older SDK versions, with aim to improve and stabilize it for long-running servers.

According to our own experience, and those of other developers, drastic engine changes - being often more than required and also great in terms of features - have been added too quickly in the past. This left long-running servers lagging behind, unable to adapt and update, and up to this day stuck in the middle of nowhere. In most cases, the line has been drawn at revision 412 and there's hardly a FOnline server developer left for whom this version doesn't ring a bell.

This version is the starting point for our project, currently known as FOClassic.

This is for the second time that Rotators attempt to improve FOnline by introducing their own changes.

For the record, the first attempt at this was our FOnline: 2238 server, which was originally based on FOnline: The Life After content.
It didn't end quite as planned, but it was still an achievement that paved the way for other developers, allowing them to create or improve their vision of the Fallout universe - or at least a part of it.

Today, instead of forcing our own vision of that universe, we - Rotators - want to continue helping the server developers by providing them with tools, rather than a product.
Comparing the current situation to the times when we were working on FOnline: 2238, now we have much more freedom in regard to introducing engine changes. Our aim is to revive some old, dusty features and engine parts and also to eliminate certain problems and limitations that have been hindering the implementation of various new, fresh features on FOnline servers out there.

Let's hope that our third attempt at revolutionizing the engine will be based on equal rights among all developers, allowing all of us to improve it as we see fit.


Obviously, the decision about migration from FOnline to FOClassic, and how that process should look like, is completely up to server developers, but we'd like to say a few words before you start. If you're an active player thinking about posting suggestion on your favorite server(s) forum, you should read this as well.


Here's a quick list of things which should be done for a (hopefully) flawless migration.

"OK, done. Now what?"
First of all, we'd like to see servers extensions cleaned up. Any changes made to FOnline.h should be either ported to FOclassic.h or added to scripts.
In most cases extensions are needed only to extract/modify raw values from non-public part of a given object. While the implementation itself is often located within extension, it could be as well done in scripts, if they had access to it - and not all servers are aware of the possibilities provided by asIScriptEngine.

We'll try to sort it out, following the philosophy that if there is a single one server that needs it, the others might benefit from it as well.
Which means that we're going ask servers for their extensions code - either fully or parts required. If you decide to send it to FOClassic team, be completely aware we might archive it in public repository, making it available for anyone.

This rule exists for a few reasons:
During migration process we're not planning to change objects structure. If server-specific feature requires member(s) "hidden" deep inside non-public part of an object (CritterCl::strTextOnHead, Item::Alpha, etc.), we'd rather make a proper script function, than do it in an extensions header. Once the migration is complete, the code can be re-added to FOClassic.h, if there's still need for that.



Title: Re: FOClassic
Post by: Kilgore on October 28, 2018, 08:18:53 pm
Well, it sounds awesome, thanks.
Title: Re: FOClassic
Post by: testerDEV on October 28, 2018, 08:39:44 pm
Wow, finally a chance for better future. Keep up good work because FOnline needs projects and community actions like that.
Title: Re: FOClassic
Post by: cvet on October 29, 2018, 11:00:13 pm
So, chief, we're not gonna ask about it on our own in other way than this very post alone...
But if you ever get the feeling that FOClassic is ready for such a big step as open-sourcing, just say a word.
I give approve to open-sourcing FOClassic.
Also when epic with Last Frontier will be finished I public actual sources.
God bless us.
Title: Re: FOClassic
Post by: Rascal on October 29, 2018, 11:12:13 pm
Thats great news thanks!
Title: Re: FOClassic
Post by: devis on October 30, 2018, 12:24:15 am

praise cvet
Title: Re: FOClassic
Post by: Lexx on October 30, 2018, 09:11:07 am
Oh, I sure didn't expected that now.
Title: Re: FOClassic
Post by: Wire on October 30, 2018, 09:54:15 am
See, Wipe?
And you were worried
Title: Re: FOClassic
Post by: SmallGreg on October 30, 2018, 11:17:50 am
Awesome !!!
Title: Re: FOClassic
Post by: lisac2k on October 30, 2018, 09:23:04 pm
This is getting better and better  8)
Title: Re: FOClassic
Post by: Wipe on October 31, 2018, 12:55:37 am
Indeed it is. I claim to be the one who's most surprised across FOnline community, as i totally didn't saw it coming so early ;D
Title: Re: FOClassic
Post by: cvet on October 31, 2018, 12:57:27 pm
I give approve to open-sourcing FOClassic.
Also when epic with Last Frontier will be finished I public actual sources.
God bless us.
And I thought - why we must wait so long? Enjoy:
Title: Re: FOClassic
Post by: Wipe on October 31, 2018, 03:00:33 pm
Title: Re: FOClassic
Post by: SmallGreg on October 31, 2018, 06:24:49 pm
Great!!! Big day for the whole FOnline community!!!
Title: Re: FOClassic
Post by: Kilgore on October 31, 2018, 09:46:17 pm
And I thought - why we must wait so long? Enjoy:

Thanks man for your work, and sharing it.
Title: Re: FOClassic
Post by: Ghosthack on November 01, 2018, 12:14:56 am
Great stuff! :)
Title: Re: FOClassic
Post by: Wipe on November 01, 2018, 01:38:46 am
FOClassic source has been moved to GitHub as well, and we'll shortly switch to it fully.

There's some stuff "desynched" from reality, eg. preparations for features which have no sense with open source - that will be cleaned up.
On cvet's suggestion, loading r412 server state will be restored, and will become part of v2.

Other than that, FOClassic roadmap is still up to date, and will be followed without much changes.
Title: Re: FOClassic
Post by: testerDEV on November 03, 2018, 12:04:59 pm
There is so much work around here for fixing and improving source code. I am glad that Cvet and the Rotators focus on development of the engine. Now everything seems possible to be created only if someone knows where and how to start :)
Title: Re: FOClassic
Post by: Henry on November 23, 2018, 12:14:00 am
This is all very exciting. If you want any wiki work, i volunteer.
Title: Re: FOClassic
Post by: Ganado on December 27, 2018, 04:01:03 am
I'm a bit late, but this is great to hear.
Title: Re: FOClassic
Post by: Slowhand on January 06, 2019, 12:34:03 pm
I need a public hardcopy of engine/client set up for FOclassic, that I can use to add functionalities, modules for client. If someone gets the time, please do a merge on 2238 to the 412 engine rev and install FOclassic on it. Asking on dicord revealed to me, that this is something I do not want to do myself. I guess asking for a documented guide step by step would be too far of a stretch :) so hardcopy will do. I don't think this will happen very soon, so I'll check back from time to time, laters.
Title: Re: FOClassic
Post by: cthulchu on January 20, 2019, 08:07:43 pm
Hey my folks, have a question about this client.

Somewhere on this forum I found this script: (I may have modified it a bit)

It worked very well with our old client that Reloaded used. It was one of the classical builds.

The script doesn't quite work with the new client. I mean, it launches the client, but once you try and launch another instance, the annoying "client is already running" message pops up.

Folks, I would appreciate any help with this since Reloaded switched to this client and now everyone is forced to use the bloody sandboxie, which is awkward as hell and not free.
Title: Re: FOClassic
Post by: Wipe on January 21, 2019, 12:54:25 pm
annoying "client is already running"
You have three options:
- fix the script on your own :P you most likely will have to do so with each client update
- as Reloaded is building executables from sources, suggest source changes in their fork
- wait until option to remove these check will be added to engine... and suggest turning it on :)

Not a fan of the third option, but not a fan of engine features working against developers either, so it's up to them to decide is it worth keeping.