Reality Factory Community Release 04/11/07

Programming Reality Factory and Genesis3D.
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Reality Factory Community Release 04/11/07

Post 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-------------------------
Last edited by Jay on Sun Apr 15, 2007 1:15 pm, edited 4 times in total.
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
AndyCR
Posts: 1449
Joined: Wed Jul 06, 2005 5:08 pm
Location: Colorado, USA
Contact:

Post 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!
User avatar
Spyrewolf
Posts: 450
Joined: Tue Jul 05, 2005 4:53 am
Location: Wellington::New Zealand

Post 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.
User avatar
Spyrewolf
Posts: 450
Joined: Tue Jul 05, 2005 4:53 am
Location: Wellington::New Zealand

Post 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.
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post 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.
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
scott
Posts: 1151
Joined: Tue Jul 05, 2005 1:59 am
Location: United Kingdom

Post by scott »

sounds exelent, RF is defenetly becoming better, keep the good work up :D
*GD*
User avatar
darksmaster923
Posts: 1857
Joined: Wed Jan 03, 2007 10:32 pm
Location: Huntington Beach, California, USA

Post 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
Herp derp.
User avatar
darksmaster923
Posts: 1857
Joined: Wed Jan 03, 2007 10:32 pm
Location: Huntington Beach, California, USA

Post by darksmaster923 »

and when i try it, it says Genesis.dll not found
Herp derp.
User avatar
AndyCR
Posts: 1449
Joined: Wed Jul 06, 2005 5:08 pm
Location: Colorado, USA
Contact:

Post by AndyCR »

You have to extract it over an existing RF install.
User avatar
darksmaster923
Posts: 1857
Joined: Wed Jan 03, 2007 10:32 pm
Location: Huntington Beach, California, USA

Post by darksmaster923 »

i did
Herp derp.
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post 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..
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
AndyCR
Posts: 1449
Joined: Wed Jul 06, 2005 5:08 pm
Location: Colorado, USA
Contact:

Post 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).
User avatar
Juutis
Posts: 1511
Joined: Thu Jan 12, 2006 12:46 pm
Location: Finland

Post 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?
Pain is only psychological.
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post 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...
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
Juutis
Posts: 1511
Joined: Thu Jan 12, 2006 12:46 pm
Location: Finland

Post 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. :)
Pain is only psychological.
Post Reply