Tired of setting up KickVelocity? Easy Kicker Mod!
-
- Godlike
- Posts: 6472
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Tired of setting up KickVelocity? Easy Kicker Mod!
At a moment I was playing some maps having a sort of swJumpPad working pretty cute. ALL life-forms were using them perfectly. Why I have to waste time with another for the same purpose thing ? And has issues as well. Worth the waste of time after all since it's already done in a professional way ?
-
- Godlike
- Posts: 3023
- Joined: Fri Sep 25, 2015 9:01 pm
- Location: moved without proper hashing
Re: Tired of setting up KickVelocity? Easy Kicker Mod!
Oh, that was new to me - I have never dealt with that naming schema because it has simply worked...Higor wrote:Wrong, digits are chopped off starting from the right until a letter is found.Barbie wrote:If you add an instance of SuperActor1 it will be named SuperActor10

A quick test (which I should have done before posting a guess

"If Origin not in center it be not in center." --Buggie
-
- Godlike
- Posts: 6472
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Tired of setting up KickVelocity? Easy Kicker Mod!
Make a cube and put some damn Armor2 × 3 copies. Go check Properties for the last. Is something unclear ?
-
- Godlike
- Posts: 1868
- Joined: Sun Mar 04, 2012 6:47 pm
Re: Tired of setting up KickVelocity? Easy Kicker Mod!
Unreal Engine 1 can have objects with the same name, provided they reside in different Outers.
A Class resides in a package, an actor resides in a Level package.
For speed reasons the only criteria used to new instances is: "name must be unique". Regardless of said name being used in a different outer, in your case, being SuperActor1 being used not in level but in a different package... oh wait, if the class is MyLeveled, then yes, it is also in the level.
Serialization and manual creation work differently, names are already given. And therefore forcibly assigned to new objects.
When a new object is serialized from a file, if another instance with matching Outer,Name is found, file load is skipped.
When a new object is manually created, if another instance with matching Outer,Name is found, the old instance will be 'replaced'.
Definition of replacement (from UE3, didn't bother to check UE1): Deinit object properties to deallocate dynamic arrays, deinit object, call c++ destructor, call c++ constructor, reinit object in same memory space.
Notes on replacement: Memory isn't reallocated, if one object is replaced with a differently sized one, game will throw an exception.
How to force two common replacement crashes:
- Spawn an actor with this code: new(Outer,'ThisName') class'SomeClass_A'; new(Outer,'ThisName') class'SomeClass_B'; (both classes with different sizes)
- Export map to T3D, subclass LevelInfo (LevelInfo_Hack), add new properties to LevelInfo_Hack, edit T3D so level class is LevelInfo_Hack, do not rename LevelInfo (keep old name), import, rebuild, open game, switch from this map to other (or viceversa)
A Class resides in a package, an actor resides in a Level package.
For speed reasons the only criteria used to new instances is: "name must be unique". Regardless of said name being used in a different outer, in your case, being SuperActor1 being used not in level but in a different package... oh wait, if the class is MyLeveled, then yes, it is also in the level.
Serialization and manual creation work differently, names are already given. And therefore forcibly assigned to new objects.
When a new object is serialized from a file, if another instance with matching Outer,Name is found, file load is skipped.
When a new object is manually created, if another instance with matching Outer,Name is found, the old instance will be 'replaced'.
Definition of replacement (from UE3, didn't bother to check UE1): Deinit object properties to deallocate dynamic arrays, deinit object, call c++ destructor, call c++ constructor, reinit object in same memory space.
Notes on replacement: Memory isn't reallocated, if one object is replaced with a differently sized one, game will throw an exception.
How to force two common replacement crashes:
- Spawn an actor with this code: new(Outer,'ThisName') class'SomeClass_A'; new(Outer,'ThisName') class'SomeClass_B'; (both classes with different sizes)
- Export map to T3D, subclass LevelInfo (LevelInfo_Hack), add new properties to LevelInfo_Hack, edit T3D so level class is LevelInfo_Hack, do not rename LevelInfo (keep old name), import, rebuild, open game, switch from this map to other (or viceversa)
-
- Godlike
- Posts: 3023
- Joined: Fri Sep 25, 2015 9:01 pm
- Location: moved without proper hashing
Re: Tired of setting up KickVelocity? Easy Kicker Mod!
Thanks for the comprehensive answer. 

"If Origin not in center it be not in center." --Buggie
-
- Inhuman
- Posts: 958
- Joined: Wed Mar 31, 2010 9:02 pm
- Personal rank: I am quite rank.
- Location: MrLoathsome fell out of the world!
Re: Tired of setting up KickVelocity? Easy Kicker Mod!
Number of good ideas and explanations here.
But some may be a bit above and beyond what you need to know to get your kicker working.
Put some log lines in your development/test version of the thing, and track down some variable or condition that will
consistently let you know something, anything, that is unique to the jumpads that are needing the velocity cut down by half.
Then, put in a check for that condition, and multiply that line by 0.5 to cut down the velocity.z by half.
*Edit. And track down some extra fans for your pc if you haven't done it yet.
Almost any dead/trashed PC you find anywhere, will have some working 12v fans you can scavenge, CLEAN UP, and plug in some kinda way.
Heat will kill your PC and your data. I been having some issues this week with my antique hardware also, and have been spending some
time backing up everything 3 times.
But some may be a bit above and beyond what you need to know to get your kicker working.
Put some log lines in your development/test version of the thing, and track down some variable or condition that will
consistently let you know something, anything, that is unique to the jumpads that are needing the velocity cut down by half.
Then, put in a check for that condition, and multiply that line by 0.5 to cut down the velocity.z by half.
*Edit. And track down some extra fans for your pc if you haven't done it yet.
Almost any dead/trashed PC you find anywhere, will have some working 12v fans you can scavenge, CLEAN UP, and plug in some kinda way.
Heat will kill your PC and your data. I been having some issues this week with my antique hardware also, and have been spending some
time backing up everything 3 times.
blarg
-
- Godlike
- Posts: 1462
- Joined: Mon Jun 01, 2015 7:08 pm
- Personal rank: Resident Wallaby
- Location: Porto Alegre, Brazil
Re: Tired of setting up KickVelocity? Easy Kicker Mod!
I just found swJumpPad. It is better to merge Easy Kicker Mod's time to destination with swJumpPad as-is. This will grant more than a measly competitor known as Easy Kicker Mod...
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."
— Weapon of Destruction
— Weapon of Destruction