Comments (6)
Yup its just an intresting issue, but making the level loader more portable isnt bad practice.
from principia.
This is not a real issue.
- Bit shifts work the same everywhere.
Endianness is the order of bytes (not bits!) in memory.
Integers (or any other data) have to be loaded into registers (which are neither little nor big-endian, they just store the entire 32/64 value at once) before the cpu can perform any operations on them. - x86/x86_64 are always LE and ARM can do both (LE by default). Even if endianness somehow affected registers, it would still be at the lowest priority since big-endian architectures are extremely rare.
Close it. (Deleted my older comment because it was bad)
from principia.
Btw even if you remove them the compiler will optimize your basic math operations back down to bitwise ones (if possible), producing exactly the same binaries.
from principia.
Heavily depends on the compiler in general bit-shifting doesn't mean it wont load it could just mean levels on one cpu arch wont load on another.
from principia.
Ill see if i can get it to compile properly on ppc big endian then let you know my findings
from principia.
Heavily depends on the compiler in general bit-shifting doesn't mean it wont load it could just mean levels on one cpu arch wont load on another.
That may be a thing but it's not related to bitshifts
from principia.
Related Issues (20)
- Segfault when changing resource item
- Undo functionality HOT 2
- Do not set window size on resize HOT 1
- Portrait mode level property is completely messed up HOT 5
- Feature - External Object Management HOT 9
- macOS support HOT 1
- Add JavaScript scripting support HOT 12
- Haiku OS port TODO
- Unable to open levels saved in older versions in the sandbox
- Controller support
- Player-controlled object tracking
- Shadows disappear when the shadow's object is out of the screen HOT 1
- Opening level in sandbox cuts off last byte of file HOT 1
- Robot Manager targetting an absorbed robot crashes the game on Windows with certain inputs HOT 6
- Switching to CalVer
- WASM port using Emscripten
- TODO issue for 2024.02.29 HOT 5
- Holes in terrain HOT 2
- "Disable third layer" flag does not affect the "Builder" tool in Adventure mode
- Joint strength problems in Connection Edit and Multi-Select
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from principia.