Good news

Good news

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

Moderator: Moderators

Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Good news

Post by Tobi »

Code: Select all

$ md5sum *.bin | sort
2f358dabd6806edc90935b94dbc901fd  simple-vc-2005_lib.bin
2f358dabd6806edc90935b94dbc901fd  sse-simple-g++-3.4-32_lib.bin
2f358dabd6806edc90935b94dbc901fd  sse-simple-g++-3.4_lib.bin
2f358dabd6806edc90935b94dbc901fd  sse-simple-g++-4.0-32_lib.bin
2f358dabd6806edc90935b94dbc901fd  sse-simple-g++-4.0_lib.bin
2f358dabd6806edc90935b94dbc901fd  sse-simple-mgw-3.4_lib.bin
2f358dabd6806edc90935b94dbc901fd  x87-simple-g++-3.4-32_lib.bin
2f358dabd6806edc90935b94dbc901fd  x87-simple-g++-3.4_lib.bin
2f358dabd6806edc90935b94dbc901fd  x87-simple-g++-4.0-32_lib.bin
2f358dabd6806edc90935b94dbc901fd  x87-simple-g++-4.0_lib.bin
2f358dabd6806edc90935b94dbc901fd  x87-simple-mgw-3.4_lib.bin
af9b39f8f1af3450b54ec2931a832201  simple-vc-2005_basic.bin
af9b39f8f1af3450b54ec2931a832201  sse-simple-g++-3.4-32_basic.bin
af9b39f8f1af3450b54ec2931a832201  sse-simple-g++-3.4_basic.bin
af9b39f8f1af3450b54ec2931a832201  sse-simple-g++-4.0-32_basic.bin
af9b39f8f1af3450b54ec2931a832201  sse-simple-g++-4.0_basic.bin
af9b39f8f1af3450b54ec2931a832201  sse-simple-mgw-3.4_basic.bin
af9b39f8f1af3450b54ec2931a832201  x87-simple-g++-3.4-32_basic.bin
af9b39f8f1af3450b54ec2931a832201  x87-simple-g++-3.4_basic.bin
af9b39f8f1af3450b54ec2931a832201  x87-simple-g++-4.0-32_basic.bin
af9b39f8f1af3450b54ec2931a832201  x87-simple-g++-4.0_basic.bin
af9b39f8f1af3450b54ec2931a832201  x87-simple-mgw-3.4_basic.bin
Ok without explanation this doesn't mean anything: Last few days I've had a conversation with Nicolas Brodu (thanks Nicolas!), who has been developing some tool which requires exact floating point behaviour on all supported architectures/compilers/platforms. I've been helping him with this, as he doesn't have windows installed, and today I finally managed to get the bitwise same output of his floating point unit verification program on 32 and 64 bit linux gcc-3.4 and gcc-4.0, MinGW, and MSVC 2005, with and without SSE optimizations, as shown by the md5sums above.

What this means is that playing linux vs. windows is a freaking big step closer.

If things go the way I want, the first succesfull windows vs. linux game might even be in only a few days!!

:P
User avatar
Belmakor
Posts: 212
Joined: 16 Nov 2005, 00:01

Post by Belmakor »

Gotta hand it to you - that's GREAT NEWS!!!

Keep up the good work!
User avatar
Michilus_nimbus
Posts: 634
Joined: 19 Nov 2004, 20:38

Post by Michilus_nimbus »

Wonderful. Really, this opens up loads of opportunities. If only Omni got finished...
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Woot! Nice job!
User avatar
Zenka
Posts: 1235
Joined: 05 Oct 2005, 15:29

Post by Zenka »

Windows and Linux sync would be the best thing that will happen to Spring since it was first released. This really kicks up the community. And allows us to abandon windows once and for all!

(does Spring runs under FreeBSD?)
User avatar
Dr.InfernO
Posts: 223
Joined: 18 Nov 2005, 13:55

Post by Dr.InfernO »

hell yeah a hail to linux Really wanna try redhat or SuSe
User avatar
SwiftSpear
Classic Community Lead
Posts: 7287
Joined: 12 Aug 2005, 09:29

Post by SwiftSpear »

Zenka wrote:And allows us to abandon windows once and for all!
Um no...

It brings spring to a place where windows development and lunix development is the same thing, so the comunity can acctually be a whole and play together as a whole. This is awesome though, I don't think there's ever been a project of this size that was able to fully support windows and lunix players playing together.

/me steals cookies from AF to give to the spring team for breaking down e-boundries everywhere!
User avatar
Zenka
Posts: 1235
Joined: 05 Oct 2005, 15:29

Post by Zenka »

SwiftSpear wrote: This is awesome though, I don't think there's ever been a project of this size that was able to fully support windows and lunix players playing together.
Well Stratagus is for Windows and Linux. I've no reason to belive there is any problems on the muliplayer part.
http://stratagus.sourceforge.net/download.shtml

Glest is made for windows, but there is a 3rd party that compiles it for linux.
http://www.glest.org/en/index.html
http://www.stud.uni-karlsruhe.de/~uxsm/glest/

and ofcourse Cube runs on a load of Operating Systems.
http://wouter.fov120.com/cube/index.php4

But Spring is best of them all ;)
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

I've seen the ML messages ofcourse, but good to know it is really working out... :)

Glest doesn't have multiplayer though.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

hmm, I'd forgotten stratagus for a second there, if I'm recalling correctly it's AI makes use of a lua script engine, but not for long *quickly adds stratagus as a possible 4th RTS engine to the unified AI interface list*

And we've still got to get omni working before you abandon windows, though I have a big surprise in store within the next year for that....... (I cant keep quiet about these things so I just hint at them)

As for cookies only I give them out *drops an anvil on switspear*
User avatar
BvDorp
Posts: 439
Joined: 14 Oct 2005, 12:09

Post by BvDorp »

WOOT!!!!eleven!!!one!!!!

Dudes, this r0x0rz [insert more purepwnage.com trash]

Well, will this enable for a mac port too? And how's progress?? :-) :-)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

There's been work on getting it to compile under mac OS and changes have been made to the code in places, but you'd have to read the mailing list.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

We (Nicolas Brodu and I) haven't even looked at PowerPC yet :?. The new intel macs shouldn't be too hard though :-) , and if the PowerPC processor is IEEE 754 compatible then it shouldn't be too hard to get it working on it too.

E: Oh and about how it's going: I'm working hard to get the code into Spring so a first test can be done.
User avatar
PauloMorfeo
Posts: 2004
Joined: 15 Dec 2004, 20:53

Re: Good news

Post by PauloMorfeo »

Tobi wrote:...
What this means is that playing linux vs. windows is a freaking big step closer.
...
Image Image Image

:twisted: :twisted: :twisted: :twisted:

But we still need a lobby client working on Linux :\
User avatar
Nemo
Spring 1944 Developer
Posts: 1376
Joined: 30 Jan 2005, 19:44

Post by Nemo »

Win! You guys are awesome. This is absolutely brilliant, I can't wait for this to be achieved.


Fantastic work Nicolas and Tobi, keep it up =)
monohouse

Post by monohouse »

now that we're on the subject of floating points ehehe, what kind of floating point does spring use ? and what do you do with the extra 32 bits left in the athlon64 and itanium architectures ? not to mention the extra register space.....
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Spring used to use double precision (64 bits) and single precision (32 bits) floating point variables. It did not change the FPU precision control, so internally everything (intermediary results) was calculated in extended precision (80 bits) on linux and windows+mingw and 64 bit on windows+MSVC and stored in memory in either 32 or 64 bits.

In my branch the FPU is set to pure 32 bit operation, so the other 48 bits are unused in case of 387 math. With SSE math, the 32 bit functions are just used so in theory no bits are spilled (in practice the compiler doesn't vectorize so 1/2 to 3/4 of the 128 bit SSE registers will be spilled I think).

About 64 bit architectures I can only say something about gcc+linux: in that case spring just uses 32 bit variables almost everywhere because it has not been written with 64 bit in mind. The COB code uses 64 bit though, but the upper 32 bits can't be used because then the script wouldn't run on 32 bit PCs. Using extra register space depends on the compiler used, I've no clue about that. Go checkout gcc source and see for yourself! :-)
monohouse

Post by monohouse »

duuude use manual ASM instruction to place data into the extra register space, don't trust compilers, use different compilations for every architecture.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

erm, and who's going to write and maintain it? :evil:
User avatar
BvDorp
Posts: 439
Joined: 14 Oct 2005, 12:09

Post by BvDorp »

When I'm like really old, I can tell my kids their dad was the first to play a synced game of Spring between linux and winXP. 8) 8)

IE: this worx!
Post Reply

Return to “Engine”