Page 1 of 2

Reality Factory Community Release 04/11/07

Posted: Wed Apr 11, 2007 9:01 pm
by Jay
Ok i finally have finished writing the documentation of it. I made a txt and a doc (word) version of it. I hope that satiesfies everyone.

Sadly, i am having problems to compile the source because now (i had to switch computers, the old one burned out, no data was lost) it's giving me linker errors i have never seen before. This is why i could not change the Realityfactory.log head to "RealityFactory CR....". I hope you forgive me. :oops:

The 'normal' download (documentation + needed files)
http://www.mediafire.com/?bzzfgtjy5dm

Source code
http://www.mediafire.com/?6jjnedlmm0u

An additonal file you have to link to to compile the source
http://www.mediafire.com/?6gbtyzm4znb

I hope this free file hoster works...

Please post bugs regarding this version ONLY in this topic, because otherwise we might get confused when somebody posts a bug to bug reports and it's about this version. Problems with this version should also ONLY go into this topic.

Read the documentation before starting. Enjoy!

---------------------------------------------------------------BEGIN EDIT-------------------
Feature list: (taken from the documentation)
This Release adds:

-Enchanched Weapon System: It is now possible to add up to 16 weapons to one pawn actor. When a weapons are assigned to a pawn, you MUST make sure that the first slot (0) is also assigned, otherwise you will get crashes sooner or later.

-Particle Wind

-WindGenerator Entity

-Adding of Dynamic Entities (=Actors) is now possible.

-Gravity is now represented as 3 component vector (XYZ) so that if you want, you can make the gravity go like three down and one to the east. With this, the entry in EnvironmentSetup also has changed.

-A bunch of new script commands, namely:
-EndScript();
-FreezeEntity(char* entityname);
-Math(…), by Nout, just in case someone needs it.
-Environment_SetGravity(float x, float y, float z);
-Environment_GetGravityX();
-Environment_GetGravityY();
-Environment_GetGravityZ();
-Environment_SetWind(float x, float y, float z);
-Environment_GetWindX();
-Environment_GetWindY();
-Environment_GetWindZ();
-Environment_SetWindBase(float x, float y, float z);
-IsInLiquid();
-SetForceEnable(bool enabled);
-SetWindGenerator(bool enabled);
-ForceXYZ(float x, float y, float z);
-AddDynamicEntity(char* szActorFile, char* szEntityName);
-RemoveDynamicEntity(char* szEntityName);
-PreLoadActor(char* szActorFile);

-The following script commands were altered to fit the new Pawn Weapon system:
-SetWeapon(char* name, int slot);
-RemoveWeapon(int slot);

-If you wonder where the EAS (=EntityAreaSystem) has gone, i’ve thrown it out of the release because there was a bug i couldn’t solve. The code is is there for you to see and maybe solve the bugs, but the entry in GameEntityDataTypes.h is commented out. If you really want to test it, uncomment the entry in GameEntityDataTypes, but don’t say i have not warned you.

-----------------------------END EDIT-------------------------

Posted: Wed Apr 11, 2007 11:13 pm
by AndyCR
EXCELLENT work!! I would reccomend the formatted version of the documentation be in PDF format next time (you can convert it for free with OpenOffice) or some other freely readable format, but besides that, excellent work, and I hope a lot of the changes get integrated into the next official RF release!

Posted: Thu Apr 12, 2007 12:25 am
by Spyrewolf
sweet will download when i get home from work and thrash it, jay would you be able to post a quick list of features you've added/fixed ect. would interested to know what we've got to play with before i download.

once i get it i'll reply with how it went.

Posted: Thu Apr 12, 2007 1:10 am
by Spyrewolf
-Adding of Dynamic Entities (=Actors) is now possible.
WAAH! you legend!,
definetly downloading now! i can finally add my character customizing gameplay now!

sweeet cant wait.

Posted: Thu Apr 12, 2007 1:16 am
by Jay
Yep, it's a 'RPG-Release' the DynamicEntities thing can be used so that enemies drop items that you can then pick up. The 'Enchanched PawnWeaponSystem'
was meant for inventory systems where you can equip like a sword, and a shield, and a mail, and a cap, and a scarf, and a ring....

Behind every addidion is a little story how i got to the ideas to implement those... i actually needed them for my own game.

Posted: Thu Apr 12, 2007 1:17 am
by scott
sounds exelent, RF is defenetly becoming better, keep the good work up :D

Posted: Thu Apr 12, 2007 3:09 am
by darksmaster923
heres the thing for dynamic entities: how do you make them attributes or pawns? you can only do so much with set entity properites

Posted: Thu Apr 12, 2007 3:14 am
by darksmaster923
and when i try it, it says Genesis.dll not found

Posted: Thu Apr 12, 2007 5:12 am
by AndyCR
You have to extract it over an existing RF install.

Posted: Thu Apr 12, 2007 6:44 am
by darksmaster923
i did

Posted: Thu Apr 12, 2007 10:23 am
by Jay
The first download was corrupted (i mean would not work). Sorry for that. It was really late yesterday....

here is the corrected download also with genesis.dll...

http://www.mediafire.com/?bzzfgtjy5dm

have changed it in the original post..

Posted: Thu Apr 12, 2007 3:16 pm
by AndyCR
Ah, sorry about that! I looked through the new features but didn't run it (didn't have an example to test them with).

Posted: Sun Apr 15, 2007 11:54 am
by Juutis
Fantastic work, Jay! :D
I simply love the new scripting commands, most of them are really handy with my FPS project.

How is the Math() command used? Like what exactly do I have to write in a script to get a squareroot?

Posted: Sun Apr 15, 2007 1:08 pm
by Jay
so you tried it and it worked? good :D

you type Math("sqrt", number)

and it should give you the square root.

it is also possible to use those:
Math("sin",number);
Math("cos",number);
Math("tan",number);
Math("asin",number);
Math("acos",number);
Math("atan",number);
Math("abs",number); - gives you the 'absolute' value of a number as an integer value, e.g. 4.2 and -4.4 both return 4
Math("fabs",number); - does the same but return a float value - e.g. 4.2 return 4.2 and -4.4 return 4.4
Math("pow", number1, number2); -gives you number1^number2 (hope this is understandable)
Math("mod", number1, number2); - gives you the rest of number1/number2
Math("min", someentries); - return the minimum value of all the entries given.
Math("max", someentries); - like above, but return the maximum value.
Math("fmax", someentries);
Math("fmin", someentries); -like above, but return a float value instead of an integer.

there are also some of which i don't understand what they do:
Math("atoi", number);
Math("atof",number);
Math("floor",number);
Math("ceil",number);

For sin,cos,tan,acos,asin,atan it is faster if you call the other commands that we already have, because the Math(...) command was not optimized to fit just one command, but many commands - there are additional tests. Also the "abs" entry is done faster mostly by writing it yourself in a script.

EDIT:
Ouch! just looked at the source code again and saw that the IsInLiquid() command will return "" instead of "FALSE" when there is no liquid the pawn is in...

Posted: Sun Apr 15, 2007 1:34 pm
by Juutis
Thanks! (for the info and the release)

I can finally position my scripted weapons just like I want them with this Math() command. :)