#161  
Old 18th September 2015, 05:34 PM
DaMan69 DaMan69 is offline
Member
 
Join Date: Feb 2015
Posts: 76
Default

You and your MinGW I'm going to call you FOSS Cat. The _M_IX86 stuff is indeed MS only.
Code:
#if _M_IX86 && _M_IX86_FP<2 || defined(__i386) && !defined(__SSE2__)
Is what my google-fu tells me.

Last edited by DaMan69; 19th September 2015 at 12:49 PM. Reason: dun goofed
Reply With Quote
  #162  
Old 18th September 2015, 05:50 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,148
Default

MinGW is merely one of infinitely many instruments to test standards compliance. It's not a very good one; it's just the closest to a good one within reach from MSVC-heavy code that Windows compilers have to offer. After a point, many other compilers become available, though yeah it's partially related to FOSS perspective I imagine. :P

The other issue with something like for example, what you pasted:
Code:
#if _M_IX86 && _M_IX86_FP<2 || defined(__i386) && defined(__SSE2__)
... is that it detects if certain compilers (like MSVC or MinGW, but not all compilers) are building 32-bit with SSE support. Theoretically the problem with this is someone can have a 32-bit machine capable of launching the Project64 executable, but their machine can be 32-bit but still lack SSE2 support. At which point, a crash occurs while running Project64.

For the most part, I believe that 64-bit CPU is plenty enough of a reasonable expectation that people will have at this time. It unconditionally guarantees that SSE2 ISA also is implemented, so you know that if the 64-bit EXE can be run, there is no way the SSE2 instructions can't be run.
Reply With Quote
  #163  
Old 18th September 2015, 06:02 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,148
Default

Really the type of solution here that I thought would be best is something like a standard math or <float.h> library call that would handle the R4300 precision manipulation in a cross-platform way.

This way, optimizing compilers would compile the standard library call to the _mm_cvtsd_si32 intrinsic with 64-bit compiles and to the 32-bit FP instructions zilmar wrote in his inline asm for 32-bit compiles. Then, we have a win-win and can remove both zilmar's inline asm AND my non-portable SSE2 (64-bit only?) intrinsics work-around.

However, I'm not good at FP stuff and didn't know what to write for that. I chose the FP intrinsics in this case as a "fast fix".
Reply With Quote
  #164  
Old 30th September 2015, 01:09 PM
DaMan69 DaMan69 is offline
Member
 
Join Date: Feb 2015
Posts: 76
Default

Kyle's mom was reverted! Even after 16 years she's still a bitch.
Juniel Katarn you PC, bro?

On topic JK's other commit broke building if you have added VC directories to MS.Cpp.win32/x64.props (none of the default directories are in the one's I've set).
Reply With Quote
  #165  
Old 21st January 2016, 06:52 PM
SmithJrBlaquaLuigi Inc. SmithJrBlaquaLuigi Inc. is offline
Junior Member
 
Join Date: Dec 2014
Location: Ohio, USA
Posts: 7
Default

Hello everyone! I'm new here.
Reply With Quote
  #166  
Old 15th May 2016, 11:50 PM
drahsid drahsid is offline
Member
 
Join Date: Jun 2012
Posts: 57
Default

I seem to be having a problem building the project in Visual Studio Community 2015.

Does anyone know how I can fix this? I would love to contribute to the project.
Reply With Quote
  #167  
Old 25th July 2016, 12:21 AM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Dec 2013
Posts: 1,931
Default

Quote:
Originally Posted by drahsid View Post
I seem to be having a problem building the project in Visual Studio Community 2015.

Does anyone know how I can fix this? I would love to contribute to the project.
First, try compiling with release instead of debug
Reply With Quote
  #168  
Old 25th July 2016, 04:20 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,148
Default

And if that doesn't work, rename Release/lib/Common.lib to Release/lib/Common.exe, and then recompile the exe.
Reply With Quote
  #169  
Old 25th July 2016, 06:39 PM
zilmar zilmar is offline
Core Team
Alpha Tester
Project Supporter
Administrator
 
Join Date: Jun 2005
Posts: 953
Default

the issue is the default project is common and your trying to run common, set project64 as the default project
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 06:42 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.