Author Topic: FOnline: Aftertimes Season 2 SDK  (Read 1221 times)

FOnline: Aftertimes Season 2 SDK
« on: January 25, 2019, 06:42:12 pm »
Hello,

Here you have official release of FOnline: Aftertimes.
Server's side with tools which were used to create it (except Notepad++ and MSVS C++ 2010):
http://files.fonline-aftertimes.net/official_releases/fonline_aftertimes_s2_server_tools.zip

Client's side, where Mapper is included:
http://files.fonline-aftertimes.net/official_releases/fonline_aftertimes_s2_client_mapper_lite.zip (without fallout.dat)
http://files.fonline-aftertimes.net/official_releases/fonline_aftertimes_s2_client_mapper_full.zip (with fallout.dat)

This release contains latest dev version, stable, without oil rig and latest KompreSor's update with Tower Defense.
BUT
KompreSor's work is included to backup directory.

Known issues for now:
Adytum:
After first run citizens of this city are starting to fight. IDK why (yet).
Known solution:
Admin commands:
Code: [Select]
`tp adytum
`clearenemystacks
Or even
Code: [Select]
~regenmap
Using (licence or call it what you want to call):
Do what you want to do with it. I don't care. This is my point zero to start working with S3.
BUT IMPORTANT:
There you have Fallout of Nevada content so remember that you must write credits for Nevada Band.

And of course remember. This is child project of FOnline: Reloaded S2, just upgraded to engine 412 and it's including few of my solutions.

Additional credits:
Most of maps:
- Tito
- KompreSor
- Tank

Did I forgot about someone?
Yes!
Big thanks to FOnline: Reloaded team and Nevada Band for sharing their work

AND FOR WHOLE FODEV.NET COMMUNITY!

Post update:

Some time ago I've added GMTools. Similar to 2238/Reloaded there're txt files with proper command lines but in Aftertimes these must be placed in GMTools subdirectory. After getting the admin access you'll be able to switch between them by using the numeric key pad at your keyboard.
http://files.fonline-aftertimes.net/official_releases/GMTools.zip

But I've prepared something else what should help you with running your own FOnline project, at least based on FOnline: 2238, Reloaded or Aftertimes. I'm talking about wiki.
http://files.fonline-aftertimes.net/official_releases/fat_wiki_main.zip

This pack was tested at the newest WikiMedia stable release (for this day) 1.32.0. It contains:
- Images, which should be placed in images in your wiki subdirectory
- Database, which is ready to import via, f.ex. phpMyAdmin

Info about database:
Format: SQL
Charset: utf8_general_ci
Tables prefix: fat
Contains: Articles which have applies to FOnline: Aftertimes S2 SDK.

Info about account:
Login: TheAdministrator
Password: admin123
This must be changed after first run, but I think you know about it.
1. Go to phpMyAdmin.
2. Find TheAdministrator in fat_user (it will be id 1).
3. Change the value in user_name column.
4. Save the settings.
5. Log in with your new login.
6. Change password via Preferences wiki's form.

Every data about previous user accounts is erased from database. Previous contributors of wiki are staring as the authors of present articles only.

Additionally at the "About_the_wiki" page there's information:
Quote
This wiki was created using resources copied from FOnline: Reloaded wiki:
http://www.fonline-reloaded.net/wiki/index.php?title=Main_Page
Many thanks to people from FOnline: Reloaded team!

The database was extracted from FOnline: Aftertimes wiki:
http://wiki.fonline-aftertimes.net/index.php?title=Main_Page

Published by worldremaker

Known issues:

Images are not displaying (not found).
1. Go to includes/DefaultSetting.php
2. $wgHashedUploadDirectory = false;

If you still don't see the images at your wiki use purge cache by adding action=purge parameter to url of this page once, f.ex
Code: [Select]
http://wiki.fonline-whatever.org/index.php?title=Main_Page&action=purge
ImageMap is not displayed in The_World article.
1. Go to LocalSettings.php
2. Enable ImageMap extension by adding this line there:
Code: [Select]
wfLoadExtension( 'ImageMap' );
Any other settings you can do on your own, depends from your preferences. After this you can easily start editing your wiki.

Look also here: https://fodev.net/forum/index.php/topic,30057.msg262637.html#msg262637
« Last Edit: April 02, 2019, 03:13:24 pm by remake »

Re: FOnline: Aftertimes Season 2 SDK
« Reply #1 on: January 25, 2019, 09:41:07 pm »
Thanks for sharing!

Offline Wipe

  • Rotator
  • Random is god
Re: FOnline: Aftertimes Season 2 SDK
« Reply #2 on: January 29, 2019, 01:49:51 pm »
Is that beginning of fine tradition? Releasing source after season ends? :)
Games are meant to be created, not played...

Offline Lexx

  • Rotator
  • Mexican Apple Thief
Re: FOnline: Aftertimes Season 2 SDK
« Reply #3 on: January 29, 2019, 02:20:44 pm »
I sure don't mind it.

Re: FOnline: Aftertimes Season 2 SDK
« Reply #4 on: January 30, 2019, 11:48:43 am »
Is that beginning of fine tradition? Releasing source after season ends? :)
I just wanted to show to others my ways how to make some events in game, my solutions, how to apply new locations from Fallout 2 mods, what extensions can make for whole game (because everyone seems to be scared) or upgrading the game revision at least by comparing it to FOnline: Reloaded S2. For me it's shouldn't be some top secret but the basics for every (incoming) FOnline's developer in different parts of work (proto creator, coder for mapper/client/server, mapper, etc).

Re: FOnline: Aftertimes Season 2 SDK
« Reply #5 on: March 24, 2019, 12:32:03 pm »
Updated first post by:
- GMTools
- Wiki database

Re: FOnline: Aftertimes Season 2 SDK
« Reply #6 on: April 02, 2019, 03:12:27 pm »
The last update for this (I think).
Code: [Select]
0.1 Initial state, based on rev. 412 Patched for FOnline: Aftertimes, by worldremaker:

- security fix for player registration params; from sdk repo r717
- ban fix by SkyCast
- dialogs security fix by SkyCast
- hidden trade crash fix
- each SPECIAL stat over 10 points isn't marked on red colour anymore

Just rewrite the client's and server's executables and done.
This release doesn't require recompilation of DLLs.
http://files.fonline-aftertimes.net/official_releases/engine_fixes_0.1.zip

Additionally there's some VTDB fixes.
Code: [Select]
0.3 update 1:
- russian nicknames support (initial state)

Changes in files:

vtdb-master\changelog.php
vtdb-master\char.php
vtdb-master\setup.php

vtdb-master\r\char.php
vtdb-master\r\func.php
vtdb-master\r\gd.php

To get the proper russian character letters:
1. Make new font with russian character letters for font1.gif, font2.gif and font3.gif files.
2. Edit the vtdb-master\r\vtdb.css file and set new coordinates for letters in freshly created fonts.
3. Comment the lines in vtdb-master\char.php with following code:
$char['name'] = RUStoEU($char['name']);
4. Just run it.

This is updated pack taken from official repository of it. Don't rewrite setup.php for FOnline: Aftertimes.
http://files.fonline-aftertimes.net/official_releases/vtdb-master_rus_fix.zip

Re: FOnline: Aftertimes Season 2 SDK
« Reply #7 on: April 04, 2019, 08:36:48 am »
0.2 AngelScript fix:

- Applied solution from AngelScript, rev. 1599:
   "Increased maximum limit of number of functions in the engine from 65535 to approximately 10^9 (Thanks TheAtom)"
   Related to mojuk's post: https://fodev.net/forum/index.php/topic,30015.0.html
! DLL recompilation isn't needed but delete the client's cache and fosp/fosb files from server's scripts subdirectory.
Just rewrite those files.

http://files.fonline-aftertimes.net/official_releases/engine_fixes_0.2.zip

Offline adumbperson

  • Turn around in orbit!
Re: FOnline: Aftertimes Season 2 SDK
« Reply #8 on: May 07, 2019, 05:59:14 pm »
Thanks for sharing.
Dumb or right... ez.

Re: FOnline: Aftertimes Season 2 SDK
« Reply #9 on: June 20, 2019, 10:48:32 am »
- Engine improvements/fixes (patched 412):

- SCORES_MAX is increased to 100 "slots"

Additional instructions:
Code: [Select]
Changes in defines.h
#define SCORES_MAX                   ( 50 )
STATIC_ASSERT( sizeof( CritData ) == 7404 );
STATIC_ASSERT( OFFSETOF( Critter, RefCounter ) == 9388 );
STATIC_ASSERT( OFFSETOF( Client, LanguageMsg ) == 9548 );
STATIC_ASSERT( OFFSETOF( Npc, Reserved ) == 9408 );

Increased the values for comparison by 200 (bcs 50 additional indexes x 4 bytes for int or uint types of data)

#define SCORES_MAX                   ( 100 )
STATIC_ASSERT( sizeof( CritData ) == 7604 );
STATIC_ASSERT( OFFSETOF( Critter, RefCounter ) == 9588 );
STATIC_ASSERT( OFFSETOF( Client, LanguageMsg ) == 9748 );
STATIC_ASSERT( OFFSETOF( Npc, Reserved ) == 9608 );

In fonline.h

#define SCORES_MAX                   ( 100 )
STATIC_ASSERT( offsetof( Critter, RefCounter )             == 9588 );
STATIC_ASSERT( offsetof( Client, LanguageMsg )             == 9748 );
STATIC_ASSERT( offsetof( Npc, Reserved )                   == 9608 );

_defines.fos
#define SCORES_MAX                   ( 100 )

Warning: Required wipe action for world saves. DLLs must be recompiled.

Additional notes: http://files.fonline-aftertimes.net/official_releases/engine_fixes_0.3.zip

Offline Wipe

  • Rotator
  • Random is god
Re: FOnline: Aftertimes Season 2 SDK
« Reply #10 on: June 20, 2019, 03:28:09 pm »
Why not simply increase worldsave/client files version number and add some checks for it when loading scores?
Server which have space for 100 scores should be able to load files with only 50 easily; no deleting of saves/chars needed then.
« Last Edit: June 20, 2019, 03:30:44 pm by Wipe »
Games are meant to be created, not played...

Re: FOnline: Aftertimes Season 2 SDK
« Reply #11 on: July 06, 2019, 09:29:55 am »
0.4 Added two following functions:
1. Global uint GetTimeEventsByName( string& scriptName, uint @+[] nums ) server function:

- scriptName: define name of your module@function name to looking for
- nums: this array collects nums of global time events

Returns: Number of found events.

2. CritterCl::GetNameTextInfo( bool& nameVisible, int& x, int& y, int& w, int& h, int& lines )
 For finding coordinates of critter name / dialog floaters / chat messages on screen (by Wipe)

TODO with Aftertimes:
1. Remove bool GetNameTextInfo( CritterCl& cr, int& x, int& y ) from parameters.cpp and header file, and make new DLLs.
2. Remove following line from _defines.fos:
Code: [Select]
#  pragma bindfunc "bool GetNameTextInfo( CritterCl& cr, int& x, int& y )     -> client_parameters.dll GetNameTextInfo"3. Rework client_faction_icons.fos for new function.

TODO with 2238 or Reloaded previously upgraded to rev. 412:
NOTHING, just start using it.

Additional notes: http://files.fonline-aftertimes.net/official_releases/engine_fixes_0.4.zip