Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
191 changes: 144 additions & 47 deletions jme3-core/src/main/java/com/jme3/system/Platform.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,62 +34,159 @@
/**
* Enumerate known operating system/architecture pairs.
*/
public enum Platform {

/**
* Microsoft Windows 64-bit AMD/Intel
*/
Windows64(Os.Windows, true),

/**
* Microsoft Windows 64-bit ARM
*/
Windows_ARM64(Os.Windows, true),

/**
* Linux 64-bit Intel
*/
Linux64(Os.Linux, true),

/**
* Linux 64-bit ARM
*/
Linux_ARM64(Os.Linux, true),

/**
* Apple Mac OS X 64-bit Intel
*/
MacOSX64(Os.MacOS, true),

/**
* Apple Mac OS X 64-bit ARM
*/
MacOSX_ARM64(Os.MacOS, true),

/**
* Android ARM8
*/
Android_ARM8(Os.Android, true),
public enum Platform {

/**
* Microsoft Windows 32-bit AMD/Intel
*
* @deprecated 32-bit Windows is no longer supported.
*/
@Deprecated
Windows32(Os.Windows),

/**
* Microsoft Windows 64-bit AMD/Intel
*/
Windows64(Os.Windows, true),

/**
* Microsoft Windows 32-bit ARM
*
* @deprecated 32-bit Windows is no longer supported.
*/
@Deprecated
Windows_ARM32(Os.Windows),

/**
* Microsoft Windows 64-bit ARM
*/
Windows_ARM64(Os.Windows, true),

/**
* Linux 32-bit Intel
*
* @deprecated 32-bit Linux is no longer supported.
*/
@Deprecated
Linux32(Os.Linux),

/**
* Linux 64-bit Intel
*/
Linux64(Os.Linux, true),

/**
* Linux 32-bit ARM
*
* @deprecated 32-bit Linux is no longer supported.
*/
@Deprecated
Linux_ARM32(Os.Linux),

/**
* Linux 64-bit ARM
*/
Linux_ARM64(Os.Linux, true),

/**
* Apple Mac OS X 32-bit Intel
*
* @deprecated 32-bit macOS is no longer supported.
*/
@Deprecated
MacOSX32(Os.MacOS),

/**
* Apple Mac OS X 64-bit Intel
*/
MacOSX64(Os.MacOS, true),

/**
* Android x86_64
*/
Android_X86_64(Os.Android, true),
* Apple Mac OS X 64-bit ARM
*/
MacOSX_ARM64(Os.MacOS, true),

/**
* iOS on ARM
* Apple Mac OS X 32 bit PowerPC
*
* @deprecated PowerPC macOS is no longer supported.
*/
iOS_ARM(Os.iOS, true),
@Deprecated
MacOSX_PPC32(Os.MacOS),

/**
* Apple Mac OS X 64 bit PowerPC
*
* @deprecated PowerPC macOS is no longer supported.
*/
@Deprecated
MacOSX_PPC64(Os.MacOS, true),

/**
* Android ARM5
*
* @deprecated 32-bit Android is no longer supported.
*/
@Deprecated
Android_ARM5(Os.Android),

/**
* Android ARM6
*
* @deprecated 32-bit Android is no longer supported.
*/
@Deprecated
Android_ARM6(Os.Android),

/**
* Android ARM7
*
* @deprecated 32-bit Android is no longer supported.
*/
@Deprecated
Android_ARM7(Os.Android),

/**
* Android ARM8
*/
Android_ARM8(Os.Android, true),

/**
* Android x86
*
* @deprecated 32-bit Android is no longer supported.
*/
@Deprecated
Android_X86(Os.Android),

/**
* Android x86_64
*/
Android_X86_64(Os.Android, true),

/**
* iOS on x86_64 (simulator)
*/
iOS_X86(Os.iOS, true),
/**
* Generic web platform on unknown architecture
*/
Web(Os.Web, true) // assume always 64-bit, it shouldn't matter for web
;

/**
* iOS on ARM
*/
iOS_ARM(Os.iOS, true),
Comment on lines 167 to +175
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The order of iOS_X86 and iOS_ARM has been swapped compared to their previous positions in the enum. This change, along with the general reorganization of the constants, alters their ordinal values. If any part of the engine or external user code relies on enum ordinals (e.g., for binary serialization or specific logic), this will break compatibility. It is recommended to maintain the original order of existing constants to preserve binary compatibility.


/**
* Android running on unknown platform (could be x86 or mips for example).
*
* @deprecated Android platforms with unknown architectures are no longer supported.
*/
@Deprecated
Android_Other(Os.Android),
Comment thread
riccardobl marked this conversation as resolved.

/**
* Generic web platform on unknown architecture
*/
Web(Os.Web, true) // assume always 64-bit, it shouldn't matter for web
;


/**
Expand Down
Loading