Engine Testing - 99.0-RC3

Engine Testing - 99.0-RC3

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Engine Testing - 99.0-RC3

Post by abma »

third release-candidate for 99.0! please test!


Changes
  • fix some render bugs
  • slightly improve speed on windows
  • fix btm & right scrolling with EdgeMoveWidth=0
  • add Spring.Reload(script) to change/map & game without exiting spring
Changes in Detail:
changelog.txt
git diff last rc to HEAD


Download
See the download page for how to get it.


Bugs
If you find a bugs, please report to Mantis.
Please attach infolog.txt as file, if you crash!
current release (known) blocking bugs.
raaar
Metal Factions Developer
Posts: 1094
Joined: 20 Feb 2010, 12:17

Re: Engine Testing - 99.0-RC3

Post by raaar »

Thanks for all the work.

It seems to be working, but the camera changes are too disruptive.

Using the mouse wheel to change zoom now also quickly scrolls in the direction of the mouse pointer (if it isn't centered on screen), and the camera rotates when mouse pointer is near the edges after a second or two of delay.

People who scroll out of position when trying to change zoom may compensate by moving mouse to the edges to scroll, leading to unwanted camera rotation. Many players will end up inadvertently rotating the camera and then wasting time trying to move the pointer around to rotate back (assuming they know how to do it).

these camera features should be extra options, not the default ones.
User avatar
Shadowfury333
Posts: 55
Joined: 25 Sep 2006, 00:32

Re: Engine Testing - 99.0-RC3

Post by Shadowfury333 »

In addition to the above, there remains an issue with free camera angle interpolation, which I've mantised.

A less intrusive way to get centering on zoom-in is to simply have the zoom target be farther away from screen center than the cursor. I've found that if you have a target elmo height to end up above an object, just take maxHeight/(maxHeight - targetHeight) and multiply it by (cursorPos - centerPos) and add centerPos (in screen space) to get the new cursor position to unproject from for zoom targeting on that frame. Some rotation compensation needs to be done to ensure it works whether or not the camera is facing due north, but overall it works pretty smoothly, and doesn't require moving the cursor.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Engine Testing - 99.0-RC3

Post by Silentwings »

Some awesome improvements here, especially the Reload & new f2 view.

From the previous thread many asked why the new camera mode is default. I think this should either be answered or the default should not change; I am sure the new camera will be used by some but my impression is that most people prefer the overhead camera.
User avatar
jamerlan
Balanced Annihilation Developer
Posts: 683
Joined: 20 Oct 2009, 13:04

Re: Engine Testing - 99.0-RC3

Post by jamerlan »

I will test this RC3 later today. But I tested RC1 and RC2 and I am not happy with new camera. Please not set it as default one.

Update: yep, this issue is still here :-) behavior is still like in this video: http://youtu.be/l1_WwDSI180
zooming is not usable for me. Usable = it should work like in OTA cam.
User avatar
jamerlan
Balanced Annihilation Developer
Posts: 683
Joined: 20 Oct 2009, 13:04

Re: Engine Testing - 99.0-RC3

Post by jamerlan »

LOS colors are better in 98 engine. In 99 "out of los" colors are too bright.
spring99_los.png
spring 99 los
(1.13 MiB) Not downloaded yet
spring98_los.png
spring 98 los
(1001.84 KiB) Not downloaded yet
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Engine Testing - 99.0-RC3

Post by Jools »

I think it would be very nice if outside LOS colours could be B&W
User avatar
Shadowfury333
Posts: 55
Joined: 25 Sep 2006, 00:32

Re: Engine Testing - 99.0-RC3

Post by Shadowfury333 »

Jools wrote:I think it would be very nice if outside LOS colours could be B&W
That would be best if the outside LOS colours for never-explored areas were B&W, otherwise dark and coloured. I'm often wondering in my casts what players have seen, and while ghost buildings helps with that (though they can be wonky sometimes) having that clear distinction between explored and unexplored would help further.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: Engine Testing - 99.0-RC3

Post by abma »

i forgot to ask for help with the release notes:

https://springrts.com/wiki/ReleaseNotes:99.0


anyone made good looking screenshots with the development version of spring?

releated to the new camera, jk has to respond :-|
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Engine Testing - 99.0-RC3

Post by Jools »

I wonder if this is really fixed: https://springrts.com/mantis/view.php?id=4455

This is what people most complain about in 98.0

We still frequently encounter it even if we have the "anti stuck in draw mode" widget enabled...
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Engine Testing - 99.0-RC3

Post by Silentwings »

Here's two BAR sceenshots of the new f2/los shader (which is awesome). I had to upload them elsewhere since the filesize prevents uploading them to the forum.

http://imgur.com/Self8jY, http://imgur.com/4V8g5cV
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Engine Testing - 99.0-RC3

Post by smoth »

what ever happened to the awesome b/w shader behe was playing with years ago?
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Engine Testing - 99.0-RC3

Post by Silentwings »

It exists, I just turned it off to take those screenshots.
8611
XTA Developer
Posts: 242
Joined: 29 Dec 2014, 08:22

Re: Engine Testing - 99.0-RC3

Post by 8611 »

Is the "Quit to Menu" button in esc-Menu going to stay?
Many mods still use this menu: For multiplayer there is now an option that players should never click. (noob trap)
See second half of viewtopic.php?f=86&t=32893&p=565396#p565396
---

uikeys.txt - How does one get the new uikeys.txt:
It is not in the portable zips? (for 98 neither so I guess that is normal?)
In my spring-content dir is this uikeys.txt: http://pastebin.com/qH23ayKg
It seems very old and it does not match https://github.com/spring/spring/blob/d ... uikeys.txt
Should it have been generated by spring.exe but my install/uikeys is "too custom" so that did not happen?

---
I tested "fix #4587 (stuck units in labs)" by making lots of factories (with aircon & airnost, not /give) and building units...nothing got stuck. Not sure if that was useful test but it seemed nice.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Engine Testing - 99.0-RC3

Post by Silentwings »

uikeys.txt - How does one get the new uikeys.txt:
By default, uikeys no longer exists. See https://github.com/spring/spring/blob/d ... s.cpp#L136 for the default bindings.
8611
XTA Developer
Posts: 242
Joined: 29 Dec 2014, 08:22

Re: Engine Testing - 99.0-RC3

Post by 8611 »

thanks. I never noticed it went away.
Of course one can find it on github...but for normal players have it at least in doc\ folder?
The changelog mentions "document keychains in uikeys.txt" so it seemed a bit strange to not have it included, because new feature (keychains) had just been added recently in 97.0.
(with different name (or a comment) so that it is clear that editing this file in doc-folder does nothing)
Unless that is all considered "too power user" anyway ;)
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Engine Testing - 99.0-RC3

Post by Jools »

Silentwings has a personal opinion against uikeys, but for everyone else who wants to use it, it would be nice to have a copy included somewhere. Especially since still some things require the user to modify this fíle and newbies can be afraid of creating a file on their own.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Engine Testing - 99.0-RC3

Post by Silentwings »

@Jools, I can state my own personal opinions when I hold them - which in this case I don't.

I suppose I should add: In case it is relevant to any BA players who are not already aware, you are of course able to use your own uikeys or other bindings, but if you do so you may need to check viewtopic.php?f=44&t=30173 and handle any conflicts.
User avatar
jamerlan
Balanced Annihilation Developer
Posts: 683
Joined: 20 Oct 2009, 13:04

Re: Engine Testing - 99.0-RC3

Post by jamerlan »

jamerlan wrote:LOS colors are better in 98 engine. In 99 "out of los" colors are too bright.
spring99_los.png
spring98_los.png
manticed: https://springrts.com/mantis/view.php?id=4674
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Engine Testing - 99.0-RC3

Post by Jools »

Silentwings wrote:
uikeys.txt - How does one get the new uikeys.txt:
By default, uikeys no longer exists. See https://github.com/spring/spring/blob/d ... s.cpp#L136 for the default bindings.
How does the user get the default bindings from that link? Is he supposed to compile the code?

Edit: A good way to get the current keybinds is to issue the command /keysave at command line.
/keysave : save current bindings to 'uikeys.tmp' (NOTE: 'tmp' vs. 'txt')
Could it maybe save directly to uikeys.txt, at least if that file doesn't exist?

It would also be very nice if the saved file could have the same note prefixed as the uikeys.txt has, namely this:
//
// DEFAULT UIKEYS.TXT FOR SPRING
// -----------------------------
//
//
// Quick Notes:
//
// 1. The built-in default bindings are always loaded. If you wish
// to override them, use the unbindall and unbind commands
// to delete them at the beginning of your 'uikeys.txt'.
//
// 2. More then one action can be bound to a specific keyset. The
// actions for any given keyset are tried in the order that they
// were bound. The first currently available command that matches
// an action is used.
//
// 3. As a slight modification to the above note, keysets that use
// the 'Any' modifier are tried after those that do not use it.
//
// 4. A keyset using the Shift modifier should be bound with its
// unshifted key (ex: bind "Shift+." instead of "Shift+>" )
//
//
// Commands that can be used in this file:
//
// unbindall
// ---------
// - removes all bindings, and adds "bind enter chat"
// (one of the other unbind commands can get rid of that one)
// - good for deleting the default bindings
//
// keysym <name> <keycode>
// -----------------------
// - add a custom key symbol (the default key symbols can not be overriden)
// - name must start with a letter, and only contain letters, numbers, and '_'
// - the <keycode> can be a currently recognized keysym
// (ex: "keysym menu 0x13F" or "keysym radar r")
//
// keyset <name> <keyset>
// ----------------------
// - specifies a named keyset
// - name must start with a letter, and only contain letters, numbers, and '_'
// - named keysets may be accessed by prepending the '&' character to the name
// (ex: "keyset myKeySet Ctrl+x" then "bind &myKeySet myAction" )
//
// fakemeta <keysym>
// -----------------
// - assign an auxiliary key for the Meta modifier ("space" is a good choice)
// - use "fakemeta none" to disable this feature
//
// bind <keyset> <action>
// ----------------------
// - appends the action to the keyset's list of actions
// - the action can be just a command, or a command with arguments
//
// unbind <keyset> <action>
// ------------------------
// - removes the action from the keyset's list of actions
// - both the action and the keyset must match
//
// unbindkeyset <keyset>
// ---------------------
// - removes all bindings that use the keyset
//
// unbindaction <action>
// ---------------------
// - removes all bindings that use the action (command that is, a misnomer)
//
//
// * NOTE: These commands can also be run from the chat line in-game using
// the slash command syntax (/bind, /unbind, etc...)
//
//
// Keyset Format:
//
// A keyset is a combination of keys, the main key and its modifiers.
//
// Here are some examples:
//
// bind a fake_action
// bind Ctrl+a fake_action
// bind C+a fake_action
// bind Ctrl+Shift+a fake_action
// bind *+a fake_action
// bind &my_keyset fake_action
//
// The format then goes like this:
//
// [<Modifier>+]...[<Modifier>+]<keysym>
//
// or
//
// &<keyset_name> (for named keysets)
//
// The modifiers (and their abbreviations), are:
//
// Any (*)
// Alt (A)
// Ctrl (C)
// Meta (M)
// Shift (S)
//
// The special 'Any' modifier makes it so that the keyset matches
// regardless of the current state of the real modifiers.
//
// The known keysyms (key symbols), are listed at the end of this file.
// If you want to use a key that is unknown to Spring, then you may use
// the hexadecimal notation. Here are two equivalent bindings:
//
// bind Ctrl+0x20 firestate 0 // hold fire
// bind Ctrl+space firestate 0 // hold fire
//
//
// Extra Run-Time Commands
//
// /keyload : loads the uikeys.txt bindings (does not clear current bindings)
// /keyreload : loads the uikeys.txt bindings (clears current bindings first)
// /keysave : save current bindings to 'uikeys.tmp' (NOTE: 'tmp' vs. 'txt')
// /keysyms : prints the known keysyms to standard out
// /keycodes : prints the known keycodes to standard out
// /keyprint : prints the current bindings to standard out
// /keydebug : prints debugging information to standard out (for each keystroke)
//
//
// Hotbinding:
//
// The default bindings include the 'hotbind' (Ctrl+insert) and
// 'hotunbind' (Ctrl+delete) capabilities. Place the mouse cursor over one
// of the control panel icons (normal command or build command), and press
// Ctrl+insert. Spring will then ask for a keyset, which will then have the
// icon's command immediately appended to its list of actions. Placing the
// mouse cursor over an icon and hitting Ctrl+delete will delete all bindings
// associated with that icon's command.
//
//
// Default Bindings:
Post Reply

Return to “Engine”