HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - ToY-Krun

Pages: [1] 2 3 4
1
Hey guys, I finally found the cause of 3d sounds playing on the right, when they are on the left, and vice versa.

The long and short of it is, HE is apparently setup to use RightHanded coordination, where Fmod Studio is setup to use LeftHanded.  Im not sure theres anything on the licensee end that we can do to swap it, i assume it would have to be changed in the blade/client code where Fmod is initialized.

Heres where it is discussed on Fmod Support:
Look for this "FMOD_INIT_3D_RIGHTHANDED" in the answer, then click on the link there to see the full page:

https://www.fmod.org/questions/question/2d-positonal-sounds/

Heres a ss off Fmods support for setting up Fmod Studio:


2
Design & World Building / PathSystem or Navmesh malfunctioning
« on: Sep 13, 18, 01:00:34 AM »
I've tested this for over the last year or so, each time trying something a little different just to make sure there was a problem and not just a misunderstanding on my part :)


The backend PathSystem (physx server) does not recognize path nodes marked as anything but terrain.
This is a major problem for needing npcs to path inside of buildings/caves etc.  or even beneath trees, as the navmesh beneath a large tree gets marked as being underwater (yellow) which gets ignored apparently by requests to the pathing system for pathpoints for npcs.

To run a quick test, go to the edit instance of an area and place some object above the terrain... just let it hover there, but leave room beneath it for an npc/char to walk (even an inverted heightmap will do).  wait for it to rebuild the navmesh, log out, and back into that area.  turn on "visualize navigation mesh".  you'll note that the nodes beneath the object you placed are yellow (according to the wiki this indicates "under water".  this happens under trees and inside buildings etc.  place an npc in the middle of this yellow patch, and he/she will simply stand there.  the result from the request for points to path, is nothing.  no point is found.  Be sure to make the object fairly large so the system doesnt pick a point outside of the patch of yellow nodes.

Have attempted using an override of the walkable parameters set and several other things, but no matter what nodes the npc should be pathing on, the pathing system doesnt return a valid point.

I have alot of caves, and in AoH there will be more area underground, than above (many levels downward).

I attempted to solve this by having Reg slice our caves and separate the top from the floor.  I then set the top portions to "PathingMode = Ignore"... well... then i enabled Live Region Updates and watched it rebuild the navmesh for the cave... bingo!  I thought, it rebuilt with "WHITE" nodes, which indicates "NonTerrain"... the npc did path then.... however, when I went to the EDIT instance and made these changes, The resulting navmesh was neater than before BUT  the nodes were once again YELLOW (underwater)...  This is where it seems wierd to me, i assume the same code backend produces the "temp" or "test" patch to the navmesh when using the Live Region UPdate.... so why does it and the actual navmesh rebuild, produce two very different outcomes?

Really could use things like this fixed :)  I realize there are other things going on, as well as work on the engine Upgrade, but would it be possible to get a list of "high priority" fixes, and push them out?

At any rate, we are working around everything we can, and will continue to do so, as well as offer our full support to the team for the work going on.   Just wanted to post this issue up so that it was known about and/or act as a reminder of it.

Thanks

3
Need to be able to switch off specific (or even all) of these messages to the console from the backend.

Reason:
certain external functions result in these messages being printed out in the console, and I need the use of one in particular, and even though I dont need to call it more than say.... every 5 seconds, I certainly could do without it spamming the console with this message, even if its only every 5 seconds.

Pleadingly:
Give us a way to turn off this callback message to the console for the following external function
ClientSide:
Code: [Select]
external function UpdateAreaOffset(foreignArea as ID, offset as Vector3) as Boolean
I use this for our ship system as our ships are in special areas where the area offset of the ships area is adjusted dynamically by timer, and any clients on board the ship, must receive this offset update using this function.

Cheers for all the hard work going on!
I can live with it for now, but this would be an awesome addition :)

(finally have a near perfect ship system working with this, or I wouldn't ask)

4
Quote
Amarak: This is also tested and works in Max 2015

Compatible with Max Versions: 2015, 2016

Navigate to the following folder:

C:\HeroEngine\ArtDepot\HeroEngineArtPipeline\MaxScripts\Max2016.0(or the version you have)

Paste the attached zip file(link at bottom of post) into this folder and "extract here", and overwrite the existing script.

if you have max open already, thats fine, just ensure the animation tools panel is closed, and use the "Run Script" option and navigate to the "Animation_Tools.ms" script you just unzipped, and open it.
Thats all.  now open your animation tools panel again, and you're done.

WHAT DOES IT DO:
it prints out the animation note name, + the key frame the note is on in the "listener" console in the bottom left corner, each time you use the PREV or NEXT (< >) buttons in the animation notes section of the animation tools panel.

WHY:
Amarak noticed that there was no way to tell which frame a note was on once you had added it and moved to another frame etc.


for other versions of Max....
Send me a copy of the Animation_Tools.ms file along with What version of Max you're running and I'll edit it and send it back.


Might not help many folks but if nothing else may serve as a good reference for someone.

Cheers

5
Developer Created Tutorials / Clipping/View distance Slider
« on: Oct 28, 16, 01:06:57 AM »
This is a longwinded approach done to show the fine detail of whats taking place as well as to show calling functions from methods etc.

If you place all of the following within the class methods script for your Game Options GUI
and point it to your slider, it will adjust your view distance on the client.

Saving that data to a config file is not in the scope of this (but rather easy and found in many other threads on the forums).

Code: [Select]
method _onSliderMouseDrag(args references Class GUIMouseEvent)
  slider as NodeRef of Class GUISlider = args.source
  when slider.parent.name
    is "viewdistance"
      val as Float
      if slider != None
        slider.range.min = 0
        slider.range.max = 100
        var min = slider.range.min
        var max = slider.range.max
        //println(min + " : " + max + " : " + slider.pos)
        val = slider.pos// + max
        AdjustViewDistance(val)
        //println(args.x + " : " + args.y)
      .     
    .
  . 
.
 
shared function AdjustViewDistance(amount as Float)
 
  //println(amount) 
  SetGraphicsOptionValue("FarClipDistance", amount)
.

Actually I'll go ahead and include just a quick example of saving it to file:


The following is a snippet of code from our video configuration script, which saves the settings locally.
you should be able to gather enough from it to work out your own solution:

Code: [Select]
method SaveVideoConfiguration() as Boolean
  fqn as String
  if IsHeroBlade()
    fqn = "/Video_Configuration/"
  else
    fqn = "Video_Configuration"
  .
  if $BASECLIENT.videoResolution.length = 0
    $CHAT._GotChatMessage( "invalid options list", "Info" )
    return false
  .
  data as String = "videoconfig|resolution:" + $BASECLIENT.videoResolution[1] + "x" + $BASECLIENT.videoResolution[2] + "*" + $BASECLIENT.videoResolution[3] + "|" + "directionalshadows:" + GetGraphicsOptionSwitch("DirectionalShadows")+ "|"
  if not( SaveLocalRepositoryData( fqn, SYSTEM.EXEC.THISSCRIPT, data ) )
    $CHAT._GotChatMessage( "did not save video config", "Info" )
    ScriptError( "Attempted to save video options to local repository, but return code was FALSE." )
  else
    $CHAT._GotChatMessage( "Video Configuration Saved", "System" )
  .
  return true
.

this is a very simple version, to better optimize it (and thus make it less readable by others :P ) interate the list of options (graphics etc) saving each one that has a valid setting.

in the last example, to save the view distance to the config file, you would use :
GetGraphicsOptionValue("FarClipDistance")
for the value of the current view distance, or , clip setting.

6
Developer Created Tutorials / Animation System: Animation Speed
« on: Aug 09, 16, 12:43:52 PM »

Several have asked about the ability to change the speed of animations dynamically...
I myself have wondered about this, so I have done a study on the subject (and still am actually)
and decided to post my findings so far.

Animation System:

the wiki is quite outdated on this subject, and so I'm putting this together as somewhat of an update to what the wiki has...
this doesnt replace the information on the wiki , but should instead make some corrections as well as go a little further in
depth into especially the duration of sequences and the speed of the animation itself...

Included in this write up are some "Opinions", some "Uncertainties", as well as "FACT"...
I will point out each as I address them.  I include them all as others may be able to shed light on the NON factual
information.  What I state as "FACT" is what I have through testing, and based on my understanding of the system, found to be "true".

*******************************************


On the forums, you might find reference to animation speed....

You'll note that it was said that animation speed relies SOLELY on a single fKnob called "Speed"

FACT: This is no longer correct.  Since that post (and since many updates to the animation system on the wiki), the ability was
added to support custom fKnobs.

FACT: Blends now make use of custom fKnobs made by you the designer...

Whats an fKnob?
FACT: its nothing more than a float variable that remains in memory once created, and can be accessed readily in the client,
and changed, allowing you "some" control over the speed which an animation plays by adjusting the fKnob.
"f" because its a float...  "Knob" because its adjustable... make sense?
there is also an "sKnob" which is a "string" variable instead of a float.  works the same way.
simply offering you a variable which can be changed on the fly to make adjustments to the way blends and animations are processed.

Blend Facts: *****************************
this will deal especially with blends as the purpose of this study was concerning the alteration of animation speed in the client.

This "can" be accomplished using a "blend".
If you blend a slower animation with a faster animation, the speed which you see in the client will depend on your blend ,
more specifically, it will depend on the value of your fKnob.

The value of your fKnob will determine how much of each animation blended is played.

the amount of change that can be accomplished depends on two things:
1) the .initialSpeed setting of each animations .asq file
2) the value of your fKnob (speedController)

If you set the .initialSpeed of either animation sequence in your blend to "1",
That animation may not be considered in the blend.. it may amount to a speed of "0" in the client.

Some Uncertain Suggestions about Blend:
if you have problems with your animation not playing or an error stating that both or one are a speed of zero:

Try adjusting your fKnob to something between 0.001 and 0.01 and see if it plays.  try several values between these two.

Try adjusting the .initialSpeed setting in your .asq files... for example, for sequenceA set it to 0.5 and sequenceB to 0.7

The .initialSpeed of SequenceA will determine the duration that the animation plays on the character.
The fKnob will determine how "fast" or "slow" the animation is displayed in the client...
so if you set the fKnob too fast, the animation will be performed much faster than the duration and end up looping (playing multiple times)
for the duration specified by sequenceA... make sense?
For example if i set the fKnob for "sideSlash" too high, the character will chop away, swinging numerous times until the duration of the
animation(sequenceA's .intitialSpeed) has been reached.


FACT: Because of this, the speed of an animation "CAN" be altered slightly using a blend, however, the degree of change one can reach
depends on the difference between the animation duration of each sequence used.
FACT: You can use a single animation in a Blend to accomplish this, by creating two new .asq files which point to the same animation.hgm
but with two different .initialSpeed values.
******************************************

Some FACTS about NON Blend Method of Speed change for an animation:
1) Create new .asq files, which point to the same animation.hgm
2) Set each .asq's .initialSpeed to a new desired duration
3) Based on demand, call which version you want to play from the .aas file based on a variable in the .aas which can be set via HSL


FACT: This allows for much more precise speed adjustment, but is based on hard speed values, and the speed itself is not adjustable dynamically.
(NOTE: if this method does allow the adjustment of the duration of the animation... or any other method for that matter... I have
not found it)

Disclaimer:
While I have noted FACTS in this write up, do note that this is a study in progress, and I will update as I am able...
It is entirely possible that what I have stated as fact is indeed a blatent lie and I will not be held responsible for
any lies found herein!
Do take this as a "study" of the subject, and if you are able to add to, or take away from this, then by all means do so and I will
make edits where needed.

7
Developer Created Tutorials / Substituting Custom Fonts
« on: May 20, 16, 05:15:18 AM »
Firstly
According to the Wiki:

LoadFontResource() does NO LONGER WORK it is deprecated.


*****************************
So,

Step 1


upload your custom myFont.ttf to the repository /HE/GUI/fonts/ folder
if you do not have a "fonts" subfolder inside GUI folder, create one.

Fonts are automatically loaded from this folder when the blade/client is loaded.

Now, this explanation will focus on replacing a default font with your custom font.

We will replace "GAMETEXT" with the new one.

First a NOTE regarding what the wiki says about this:
The article on the wiki is sadly one, which is out of date, no worries, the following should help you get your fonts up and running smoothly, without crashing your blade/client and locking you out of it.


Step 2

Open your E_BaseClientClassMethods script on the CLIENT side.
If you chose to create an alternate override for the _BaseClient class, open that instead.

Now, you'll need to determine the location to insert your font substitution.

The substitution MUST take place AFTER the GUI has been loaded.

For our example, we use a splash screen which is destroyed only after the character is ready and the GUI has been created and displayed.  So we call for font substitution immediately before destroying the splash screen.

we do so by calling the following:
SubstituteFont("GAMETEXT", "/GUI/fonts/Germanica.ttf")

and all controls which use the GAMETEXT font are changed to our custom font.
This substitution appears to remain until the blade/client is closed, and so only needs to be called
once, unless you need to change it again during runtime.

If i find a better suitable location to call it from SAFELY I'll update it here, or if you know of a better suitable location feel free to reply to this.



Via HSL:

Alternatively, you can also change the font on an individual GUI control from HSL as follows:
Code: [Select]
var gui = FindGUIControlByName(0,"mycontrol")
gui.fontface = "/GUI/fonts/Germanica.ttf"





8
General Discussion / Updates incoming!
« on: Apr 26, 16, 12:16:05 PM »
https://community.heroengine.com/forums/index.php/topic,6169.0.html

Bring on the updates!  One step closer to dx11  ;D


Thank you!

P.S. Dear sirs and madam, will the LIKE BUTTON be included in this here update?

9
Developer Created Tutorials / Moving Static Objects
« on: Apr 10, 16, 11:25:21 PM »
I've been tied up with a lot here at home and also busy on AoH, so I've still not fully completed the SpecOracle tutorial I know, but while this is fresh on my mind I wanted to write it down.

I've been dealing with this issue the past few days in AoH, and after alot of trial and error came up with the following.

The Wiki has some good information regarding Animated Objects..  but leaves some specific info out.


Function: SetModelAnimationSpeed()
the wiki mentions this external function but gives no information about it.

In using it, i determined that it absolutely did nothing...

In the end, this is because my model was animated using KeyFrames only.

SetModelAnimationSpeed() (and other animated object model functions) Expects that your
animation is done using a BONE.  Any bone, any name, but a bone nonetheless.

Another area the wiki is vague is this:

your model must consist of only 1 ONE, mesh OR GROUP.
Since your animated object must have a bone if you expect to use the animation functions,
then it stands to reason you MUST use a group.

So The following shows two possible outcomes, for two very different purposes:

1) Stationary animated object
    Create a bone, and link your mesh to the bone.
    Animate the object using the BONE
    Group both bone(s) and mesh together.
    Export your group to HE.
   
    In this situation your mesh will animate, BUT the GROUP will NOT Move.

2) Object which is expected to move in 3d space and CHANGE position
    Create a bone, and link your mesh to the bone.
    Group both bone(s) and mesh together.
    Animate the GROUP using the bone.
    Export your group to HE.

    In this situation, your GROUP will animate and change position in doing so.
    For example, a ride...

In the first example, the object animates, returns to its home position and continues
to loop in this fashion.
In the second example, for example a ride that moves along its x axis, if looping, will
continue to move in that direction until stopped.

If you have anything to add to this, feel free as always.

10
Developer Created Tutorials / Community Wiki
« on: Mar 21, 16, 03:59:01 PM »
Hey guys,

I've setup a wiki at http://wiki.anvilofhonor.com

for a repository of community created tutorials.
At whatever point the HE wiki is rebuilt, these can be moved over to it as well.

Click Tutorials link on the main page.

Still setting it up so its not open to registrations just yet.
Using the Spec Oracle tut as an initial trial run(and get reaquainted with the markups etc lol)
and sort of setup a pattern for categories etc.

If you have ideas, or want to add your tuts , or suggestions for tuts, feel free to say so.
I'll set up a suggestions page as well on the wiki itself when i get to it.

Also, if you're aquainted with MediaWiki or php and would like to help, let me know.

I'm not doing this to show off or anything, its just so much easier to lay out tutorials in
a wiki format, and I have room to host it.


Thanks

11
Developer Created Tutorials / Basic SpecOracle setup
« on: Mar 16, 16, 03:09:27 AM »
A word of caution:  While the Spec Oracle Tutorial should work fine, there is no complete
fully functional Spec Editor currently.  Theres an example being worked on however no
fully functional editor can be created without knowing what data types a spec contains.
When finished the example should offer a fully functional example using the very basic
data types that every spec should have, using a GUI that will need to be redesigned
by you.

This completed tutorial, including Spec Editor, can be found here:
http://wiki.anvilofhonor.com







NOTE: I've some tidying up to do when my eyes are uncrossed.  I will add the steps to create a basic editor
as well.


CORRECTION: In the meanwhile, there is no spec editor.. By default you don't have an item spec editor etc
My fault for not double checking my scripts against original versions.
Thanks Thaz and Jrome for catching these errors.
I've commented out lines that "should" cause issues with compiling.
I'll add the steps to create a basic spec editor, and then point out what to change in the
scripts below.

TIP: in the meanwhile, you can test your new spec oracle using the following chat command:
/heoracle open *MYORACLENAME*SpecOracle


If it makes you feel any better, once you create the default spec editor, it is then used as a base for all
of your various spec editors for any spec oracle you create (unless you just want to create a new one for
each :) )  Maybe in the next day or so I'll get it posted.


Abilities SpecOracle System:

This system can be adapted to any other

****************************
Auto Naming for your own class/system name:
If you so wish, you can do a find/replace all of the following keywords
to automatically fill in every place needed with the name(s) of your own classes etc.
You do NOT need to include the word "spec"/"specOracle" etc when replacing these.
Including the Scripts included below:
(note: include the "*" in the keyword to replace it)
*Ability* - replace with your own class name
*MYGAME* - replace with Game Specific Name or Abbreviation


This assumes you know how to use the DoM editors to create classes and fields.

OR if you're more comfortable with using the CLI console see JRome's post regarding this below.

12
EDIT NOTE: I went through and formatted the code properly so it should be easier to read/follow now :)


this is a very basic copy for a .aas file to get you started.

The commented sections I've left for reference and example.

The inputs included are used by the Engine by default and so whether you use them
or not, I've left them.

As you learn more about the inputs and animations you can add/remove them as you like.

Copy this and paste it into your .aas script REPLACING what you have.
OR use it as reference to create your own script.

The .aas script can be quite complex or very simple depending on your character design
and animations used.

NOTE: you will need to either name your animations as listed in the script below OR change
the names in the script to match your own.

For example, if you use "walk" or "walkrun" as your forward movement, then in the script
below, look for "anim = "Forward"" and change "Forward" to "walk" or "walkrun". Get the idea?

NOTE2:
the commented OverridePostures which are commented out, are recognized by the engine by default,
to use them simply create animations for them and uncomment the sections for that animation.
For example, create a "Jump" animation, upload it, and uncomment the OverridePosture code for "Jumping"
change the name of the animation used "anim = "jump"" IF your jump animation is named differently.

That should get you moving!  Then you can tweak it as you like to get your animations blended/activated
as you need.


Quote
! biped control
!
!this is a super basic template to start with
!add more stuff and make it do something neat!!


channels
{
  AnimAllBody
}

inputs
{
  // Basic inputs used by the HeroEngine_ACCController
  BaseMode = Normal, Combat
  BasePosture = Idle, Turning, Moving, Dead 
  MoveType = Normal
  IdleType = Normal
  MoveDirection = Forward, Backward
  TurnDirection = None, Right, Left
  TurnAmount = None, T45Degrees, T90Degrees, T135Degrees, T180Degrees
  variable OverridePosture = None, Jumping, Falling, Dead, Knockback, ResurrectTarget, Landing
  variable AlreadyTurning =  True, False
  variable CurrentMotion = Idle, TurningLeft, TurningRight, Forward, Backward
}

action Default
{
   set(1) AnimAllBody
   {
      when OverridePosture {
   
         is Jumping:
            //anim "jump"
            //blend .025
            //hold 1
            //looping false
            //FreezeLastSequence true
            change OverridePosture to Falling
            //stop
         is Falling:
            //anim "fall_loop"
            //blend .025
            //hold 1
            //looping false
            //FreezeLastSequence true
            Change OverridePosture to Landing
            //stop
         is Landing:
            //anim "fall_landing"
            //blend .1
            //hold .5
            //looping false
            change OverridePosture to None
            //stop
      }
      when BasePosture {
         is Idle:
         when MoveType {
            is Swim:
               //anim "swim_idle"
            DEFAULT:
               anim "idle"
               align False
               blend 0.25
               hold 0.25 seconds recycle
               looping True
               change AlreadyTurning to False
               change CurrentMotion to Idle
       
         }
         is Turning:
            when TurnDirection {
               is Right:
                  when TurnAmount {
                     is T45Degrees:
                        anim "T45Right"
                     is T90Degrees:
                        anim "T90Right"
                     is T135Degrees:
                        anim "T135Right"
                     is T180Degrees:
                        anim "T180Left"
                  }
                  change CurrentMotion to TurningRight
               is Left:
                  when TurnAmount {
                     is T45Degrees:
                        anim "T45Left"
                     is T90Degrees:
                        anim "T90Left"
                     is T135Degrees:
                        anim "T135Left"
                     is T180Degrees:
                        anim "T180Left"
                  }
                  change CurrentMotion to TurningLeft
            }
            hold 1.0
            if (AlreadyTurning = True) {
               align True   
            }
            else {   
               blend 0.1
               align False
            }
            looping False
            change AlreadyTurning to True
         is Dead:
            //anim "dead"
         is Moving:
            when MoveDirection {
               is Forward:
                  when MoveType {
                  is Swim:
                     //anim "swim"
                  DEFAULT:
                     anim "Forward"
                  }
                  blend 0
                  hold 0 seconds
                  change CurrentMotion to Forward
               is Backward:
                  when MoveType {
                     is Swim:
                        //anim "swim"
                     DEFAULT:
                        anim "Backward"
                  }
                  blend 0.25
                  hold 0.25 seconds
                  change CurrentMotion to Backward
            }
            looping True
            change AlreadyTurning to False
      }
   }
}

13
Developer Created Tutorials / Prevent Turning When IDLE
« on: Feb 22, 16, 12:46:29 PM »
Some designers may not wish Characters to rotate when at Idle.
By default, when you rotate the camera more than 25 degrees or so, the Turning animations are called, and
the character will rotate/turn to match the cameras rotation.

The following code will either call for turning, or not, depending on how you customize it.

This simply describes how you may prevent characters from turning while idle, allowing you to rotate the camera
and view your character from any angle.

CLIENT SIDE: E_ACCControllerClassMethods:method _HE_ACCC_NavigateLocal

Scroll down and find the following code:

The two BOLD commented lines will CAUSE the character to turn when IDLE.
To prevent turning when IDLE (unless you have custom code elsewhere that causes it)
Comment the two BOLD lines in your own script, AS YOU SEE BELOW.

Quote
// do a running average of camera heading, to fuzzily detect when camera has stopped turning (mice are imprecise!)
        if (me.HeroEngineACCC_State = IDLE)
          me.HeroEngineACCC_LastCameraHeading = (me.HeroEngineACCC_LastCameraHeading + (camrot.y*5))/6
          diff as Float = fabs(me.HeroEngineACCC_LastCameraHeading - camrot.y )
          if (diff < .01)
            //me.HeroEngineACCC_DesiredRotation.y = -camrot.y
            //me.E_ACCCRotationDone = false

          .
         
        else
          me.HeroEngineACCC_LastCameraHeading = camrot.y
          me.HeroEngineACCC_DesiredRotation.y = -camrot.y
          me.E_ACCCRotationDone = false
        .



The following describes how to prevent turning ONLY when NOT IN PLAY mode(char will still rotate at IDLE
 when in PLAY mode)
To Ensure that turning does not occur when in FLY mode or Any mode other than PLAY mode
use the following instead:

Quote
// do a running average of camera heading, to fuzzily detect when camera has stopped turning (mice are imprecise!)
        if (me.HeroEngineACCC_State = IDLE)
          me.HeroEngineACCC_LastCameraHeading = (me.HeroEngineACCC_LastCameraHeading + (camrot.y*5))/6
          diff as Float = fabs(me.HeroEngineACCC_LastCameraHeading - camrot.y )
          if (diff < .01)
            if $PLAYMODE._getPlayModeState() != ON
              //fancy custom stuff here, but char will not rotate at IDLE
              //unless called to do so.
            else
              me.HeroEngineACCC_DesiredRotation.y = -camrot.y
              me.E_ACCCRotationDone = false
            .

          .


14
Design & World Building / [CAUTION] Editing Global Environments
« on: Feb 16, 16, 09:51:04 AM »
The engineers have alot on their plates right now working to bring out the upgrades that everyone wants, so I'm posting this as merely a caution, and its nothing new.


If you make edits in a Play instance, you will see a pop up stating that no changes will be saved since you are in a PLAY instance.

If you make edits to a "GLOBAL" environment, even if in PLAY instance, and EVEN if you get the POPUP saying it wont be saved... it will.

Editing a GLOBAL environment regardless of what type of instance you are in, will result in the ".ges" file being updated.

You can of course revert to a previous version of the ".ges" file via the repository browser by right clicking on the .ges file and choosing history, then choose the version you wish to restore.

By default, Global environments are set to READ ONLY under the Schemes tab and to edit it you must UnCheck this.  However its very possible that one might think this is safe if they are in a PLAY instance.

Amarak discovered that this only occurs when editing a GLOBAL scheme, and so if you want to "play around" with the environment, Set the Scheme to LOCAL, then you can mess about with it without changes being written to the repository.

This isnt really a bug as the READ ONLY check is designed to prevent editing of a Global accidentally.  Its simply the PopUp that might be confusing , which was added much more recent.

15
General Discussion / Concerning Renderer Upgrades
« on: Feb 16, 16, 09:38:26 AM »
I'm curious, will the upgrades over the next year bring new file types/prototypes such as replacing the ".hgm" and "hgmInstance"/"hgmAsset" types?

If so, will these still be supported?

I ask because we rely heavily on the HGM instance prototype.

Major concerns would be changes to field Names/types for the HGM instance/asset prototypes.
This would result in a complete overhaul of many of our editors and object systems.

Will there be changes to the HeightMap  Instance/Asset prototypes?

Will there be changes to the FX system to the extent that current FX specs would need to be recreated?

Very much looking forward to the new changes, but also looking ahead at any issues we might run into on our end when these changes take place.



Thanks

Pages: [1] 2 3 4