Daniel Gibson
b437abf10d
Use PointerToID() for sound-event ID in CSoundObject::Play()/Stop()
...
so that code should be 64bit-clean now.
2016-04-21 16:21:47 +02:00
Daniel Gibson
23b6374e9a
Add ULONG PointerToID(void*) and IntPtrToID(size_t) that CRC 64bit pointers
...
Sometimes pointers are casted to ULONG just to get an ID or tag - this
is fine for 32bit pointers, but 64bit pointers will truncate which might
result in not being so unique after all.
CRC-ing the pointer should yield a more likely to be unique 32bit value.
NULL is a special case that yields 0 instead of the CRC, so code that
handles IDs/Tags with value 0 differently will continue to work.
For 32bit builds, it just returns the pointer as ULONG.
2016-04-21 16:21:47 +02:00
Daniel Gibson
e642cbcd20
Change PLATFORM_32/64BIT detection
...
turns out that using UINTPTR_MAX is a pain on several systems like
FreeBSD or even older Linux/glibc systems, so maybe let's not do that
anymore.
Now I check for known CPU-architectures instead.
I also added some sanity checks to make sure the detection was
correct.
2016-04-21 16:21:47 +02:00
Joshua Scoggins
7f682180f3
Use SERIOUS_MHZ envvar for the time being
2016-04-20 19:24:51 -07:00
Joshua Scoggins
dbd896b58d
Use the platform independent version of ReadTSC
...
- If I use the gnu inline version, the game runs way too fast on my cpu due to
frequency scaling (I think).
2016-04-20 19:06:02 -07:00
Joshua Scoggins
1b873d3ab4
Bool's must be 32-bits wide
2016-04-20 18:50:36 -07:00
Ryan C. Gordon
83b3e2fee3
Merge pull request #34 from rohit-n/reorder
...
Silence -Wreorder warnings.
2016-04-20 15:02:29 -04:00
Rohit Nirmal
e166958881
Silence -Wreorder warnings.
2016-04-20 13:31:49 -05:00
Ryan C. Gordon
3e84eafe15
Merge pull request #28 from salamanderrake/icculus-master-cmake-bms
...
CMakeLists.txt changes plus install.
2016-04-19 22:53:41 -04:00
Salamanderrake
9477af7bfa
CMakeLists.txt: Applied some changes Ryan wanted with the c/cxx flags.
2016-04-19 18:16:45 -04:00
ptitSeb
88d553c8f4
Merge branch 'master' of https://github.com/ptitSeb/Serious-Engine
2016-04-19 23:47:30 +02:00
ptitSeb
c8291e6d37
More macro for UNIPTR_MAX
2016-04-19 22:00:29 +02:00
ptitSeb
e077fd664d
Need __STDC_LIMIT_MACROS macro here too
2016-04-19 22:00:28 +02:00
ptitSeb
4b47c278bb
Nedd __STDC_LIMIT_MACROS for *_MAX constant to be defined
2016-04-19 22:00:27 +02:00
ptitSeb
b9bb24e608
Don't regulate Framerate on Pandora
2016-04-19 22:00:27 +02:00
ptitSeb
484d49434b
Restrict the Eps precision change only to Pandora platform
2016-04-19 21:54:46 +02:00
ptitSeb
9288c42268
fix Inverted Right and Middle button on certain case with SDL
2016-04-19 21:54:43 +02:00
ptitSeb
7c1cc68d6f
Lower Epsilonon Pandora
2016-04-19 21:54:43 +02:00
Ryan C. Gordon
26b4941010
Merge pull request #30 from Yamagi/bswap32
...
bswap_32() is a linuxism, use inline code instead.
2016-04-19 13:11:33 -04:00
Yamagi Burmeister
794180c598
bswap_32() is a linuxism, use inline code instead.
...
bswap_32() is a function specific to Linux, unavailable on FreeBSD and
OS X. Instead of messing with other platform specific functions, #ifdef
and so on provide a fast inline implementation.
2016-04-19 19:09:20 +02:00
Ryan C. Gordon
fd1ba82bc8
Merge pull request #29 from DanielGibson/fix-textures-crash
...
Textures.cpp: improved td_pulObjects/td_ulObject fix
2016-04-19 08:59:59 -04:00
Daniel Gibson
8de421dc9d
Textures.cpp: improved td_pulObjects/td_ulObject fix
...
* td_pulObjects is explicitly set to NULL in the constructor - before
only td_ulObject was set to NONE (0), so on 64bit half of
td_pulObjects bytes would remain garbage
* only check td_ulObject for NONE if td_ctFrames <= 1 (until now it
would frequently check it for NONE even if td_ctFrames > 1, if
td_pulObjects was != NULL)
2016-04-19 14:38:25 +02:00
Salamanderrake
380bade7c0
CMakeLists.txt: BMS, Added a small explanation about the default CMAKE_INSTALL_PREFIX
2016-04-19 04:43:59 -04:00
Salamanderrake
895921d8c1
ModExt.txt: Created a link(don't know if this will work) to ModEXT.txt since the linux
...
version looks for ModExt.txt and not ModEXT.txt
2016-04-19 04:41:55 -04:00
Salamanderrake
90a614b03c
CMakeLists.txt: Added an install section and fixed permissions issues with libraries.
2016-04-19 04:41:55 -04:00
Salamanderrake
b7c49d4e51
CMakeLists.txt: Some cleanup and removing redundent lines from the CMakeLists.txt file.
2016-04-19 04:41:55 -04:00
Salamanderrake
ec1448c4d4
build-linux32.sh: Renamed build-linux.sh build script to show which arch it is compiling
...
build-linux64.sh: for use build native 64bit linux binaries.
2016-04-19 04:41:55 -04:00
Salamanderrake
86b487df9e
CMakelists.txt: Removed my attempt at making Engine a static lib again. plus other small cmake fixes
2016-04-19 04:41:55 -04:00
Salamanderrake
836a4abc43
CMakeLists.txt: Redid the section on c/cxx flags to sepereate them
...
so you can have c++ only flags along with c only flags
fore their respective .c/.cpp builds without conflict.
2016-04-19 04:38:55 -04:00
ptitSeb
4bbe57bccb
Need __STDC_LIMIT_MACROS macro here too
2016-04-19 08:24:43 +02:00
ptitSeb
b9e4fb49c9
Merge branch 'master' of https://github.com/ptitSeb/Serious-Engine
2016-04-19 07:31:06 +02:00
ptitSeb
f5d397ebc6
Nedd __STDC_LIMIT_MACROS for *_MAX constant to be defined
2016-04-19 07:30:43 +02:00
ptitSeb
c5148824b2
Don't regulate Framerate on Pandora
2016-04-19 07:20:52 +02:00
ptitSeb
0d4437a1ac
Restrict the Eps precision change only to Pandora platform
2016-04-19 07:20:52 +02:00
ptitSeb
031223de35
fix Inverted Right and Middle button on certain case with SDL
2016-04-19 07:20:49 +02:00
ptitSeb
2dc1c2502a
Lower Epsilonon Pandora
2016-04-19 07:20:49 +02:00
Ryan C. Gordon
1f7bb24a4d
Merge pull request #26 from DanielGibson/64bit-stuff
...
Some 64bit improvements, lots of 64bit TODOs/STUBBED()
2016-04-18 22:33:58 -04:00
Ryan C. Gordon
17de1fdb46
Merge pull request #27 from notaz/build_fix
...
fix build on gcc 4.8
2016-04-18 22:31:03 -04:00
notaz
8bbe4c1d5e
fix build on gcc 4.8
...
some versions of gcc want to inline DitherBitmap(), and this leads to trouble:
Sources/Engine/Graphics/Graphics.cpp:1167: Error: symbol `rowLoopE' is already defined
Sources/Engine/Graphics/Graphics.cpp:1170: Error: symbol `pixLoopEL' is already defined
...
2016-04-18 23:55:41 +03:00
Daniel Gibson
ab5d0a584f
Make Engine/Graphics/Texture.cpp 64bit-clean (hopefully!)
...
((ULONG*)td_ulObject)[iFr] is fishy - and ULONG td_ulObject already is
in an union with ULONG* td_pulObjects, so use td_pulObjects when
appropriate (i.e. if td_ctFrames>1)
Also fixed some checks accordingly.
2016-04-18 20:10:24 +02:00
Daniel Gibson
93daf905f1
EntitiesMP/Common/Particles.cpp: Don't access afStarsPositions[i][3]
...
fix out of bounds accesses of that array.
I guess the same will have to be done for Entities/Common/Particles.cpp
2016-04-18 19:37:02 +02:00
Daniel Gibson
80990f2317
Fix some more warnings, Warning about supressed warnings in cmake
2016-04-18 19:10:52 +02:00
Daniel Gibson
5f5106e363
CShell::[SG]etCurrentWorld() instead of putting it in INDEX console var
...
The code used to store the world pointer as a console variable
"pwoCurrentWorld" of type INDEX (int32) - that won't work for 64bit, so
I added CShell::SetCurrentWorld() and CShell::GetCurrentWorld() and
store it as a pointer.
2016-04-18 18:52:52 +02:00
Joshua Scoggins
a4ca331de9
Added some more todos
2016-04-18 00:13:30 -07:00
Joshua Scoggins
f8cb52f8ad
Delete an unused include
2016-04-17 23:50:00 -07:00
Joshua Scoggins
a8c22df784
Forgot to write Engine to disk :(
2016-04-17 23:49:18 -07:00
Joshua Scoggins
2d8a4df68c
Add the system specific include file
2016-04-17 23:49:02 -07:00
Joshua Scoggins
0c847ab479
Move system specific includes out to a separate file
2016-04-17 23:48:44 -07:00
Joshua Scoggins
8b8ec1f39a
Add some C++11 features into Types.h since C++11 is so cool :D
2016-04-17 23:30:48 -07:00
Joshua Scoggins
c8ab519b77
More big endian targets to detect
2016-04-17 23:26:33 -07:00