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
Joshua Scoggins
42b2822414
More todo's
2016-04-17 23:20:59 -07:00
Joshua Scoggins
35955d20ba
use stdint.h instead of courage in Types.h
2016-04-17 23:18:23 -07:00
Joshua Scoggins
5b2933e217
Defined USE_PORTABLE_C when we can't figure out the platform
2016-04-17 23:06:49 -07:00
Joshua Scoggins
535832668f
Fixed a broken function call
2016-04-17 23:04:12 -07:00
Joshua Scoggins
e5c0e4f3f4
Add better platform detection abilities
2016-04-17 23:02:49 -07:00
Joshua Scoggins
e82ad0c131
Move system specific deinit to a separate function for now
2016-04-17 23:02:39 -07:00
Joshua Scoggins
b221d5fce2
Make it so that anything system specific is not in SE_InitEngine
2016-04-17 22:53:31 -07:00
Joshua Scoggins
a3c5d30f21
Move the "please abstract" seconds to separate static functions for now
2016-04-17 22:49:58 -07:00
Joshua Scoggins
21d4aec7f7
Follow coding conventions
2016-04-17 22:40:08 -07:00
Joshua Scoggins
12e8b991b3
Move the platform identification code out of SE_InitEngine to PlatformIdentification
2016-04-17 22:39:19 -07:00
Daniel Gibson
599f644328
Resolved some 64bit issues, marked/commented some others
...
introduced PLATFORM_32BIT and PLATFORM_64BIT macros, so you can do
#ifdef PLATFORM_64BIT if you need to.
I needed that for CDrawPort::GetID() to properly CRC a pointer.
Also added a sanity check in Engine/Base/Types.h that makes sure that
uintprt_t and size_t have the same size, as the code uses size_t to
store pointers (or cast from pointer to int) all over the place.
Made some "tags" from Engine/Templates/BSP_internal.h size_t instead of
ULONG - they're used to store pointers to identify vertices and such,
so they'd better be big enough to actually store a pointer.
Some more are still missing.
2016-04-17 23:35:04 +02:00
Daniel Gibson
8d26863a51
Improve some portable C implementations of math functions
...
* FloatToInt() should now round correctly ot nearest, even for
negative numbers
* Log2() now calls log2f() instead of log10()*3.321 - no idea what the
previous code was about, I doubt it's faster (and the ASM code uses
something like log2, too).
* FastLog2() (for integers) now uses __builtin_clz() when building with
GCC/clang - the resulting ASM should be pretty similar to the inline
ASM below. I wonder why that function takes signed ints, log2(-1) in
reality is an irrational number (but the function returns 31)..
Also, both the inline ASM and my version return 0 for Log2(0), but
INT_MIN would be closer to the truth
* commented out FastMaxLog2(), it's unused.
* implemented _rotl() using a fast(er) trick from
http://blog.regehr.org/archives/1063
2016-04-17 23:15:56 +02:00
Daniel Gibson
b934fa1945
Increase SDL soundbuffer for smoother sound playback
...
before it sounded shitty on my system, no it sounds good.
2016-04-17 01:07:14 +02:00
Daniel Gibson
24dcb9cc4f
Don't #include <malloc.h> on Linux, only on Windows
...
Linux, FreeBSD and OSX should use stdlib.h instead.
2016-04-17 01:06:39 +02:00
Ryan C. Gordon
dc2c869cfc
Merge pull request #24 from ptitSeb/master
...
More OpenPandora support (special keymap) and optionnal Multi-Threading.
2016-04-15 14:52:56 -04:00
Yamagi Burmeister
0e672b866e
Determine CPU speed on FreeBSD
2016-04-13 19:24:51 +02:00
ptitSeb
cd2a586a9e
Better #if condition, and add a warning to be better checked latter
2016-04-13 08:21:50 +02:00
ptitSeb
9678ec3e58
Enabled Multi-Threading (as an option) + OpenPandora specific changes (for Shoulder As Mouse Buttons)
2016-04-12 22:29:39 +02:00
Yamagi Burmeister
d1d9c8d094
There's no malloc.h on FreeBSD.
...
Like in OS X malloc() is part of stdlib.h.
2016-04-12 19:27:52 +02:00
Ryan C. Gordon
df6199de70
Merge pull request #19 from rcgordon/sdl2-port
...
Sdl2 port
2016-04-12 01:38:05 -04:00
Ryan C. Gordon
a0595204d4
Fixed what appears to be an uninitialized memory access.
...
This appears to fix crashes in 64-bit Linux builds. Might all be luck, though.
2016-04-12 01:27:40 -04:00
Ryan C. Gordon
67e940def8
Merge pull request #17 from RocketersAlex/linux-port
...
GameAgent - list servers bugfix.
2016-04-12 00:12:51 -04:00
RocketersAlex
dd0ad84385
GameAgent - list servers bugfix (update)
2016-04-12 04:10:43 +03:00
RocketersAlex
eeebba11dc
GameAgent - list servers bugfix
2016-04-12 04:03:25 +03:00
ptitSeb
dfe262b619
Don't pump SDL Event in GetInput, or they will be missing in SeriousSam.cpp:SubMain(...)
2016-04-11 08:32:38 +02:00
Ryan C. Gordon
02af656d1c
Whoops, forgot to actually enumerate physical display resolutions.
2016-04-10 00:54:45 -04:00
ptitSeb
cb039e972f
Remove some Float Divide to use Integer and Shift in C Portable helper function on LayerMixer
2016-04-09 23:57:58 +02:00
ptitSeb
98ebac941a
Change CTString.Match to treat backslashes as slash (fixes Netrisca categories for new messages)
2016-04-09 14:15:33 +02:00
ptitSeb
87a67eccf5
Fixed Portable C versio of ShadowMap Layer Mixer
2016-04-09 13:20:13 +02:00
Ryan C. Gordon
6ce0b9b27e
First attempt at a port to SDL2. Untested!
2016-04-09 02:18:57 -04:00
Ryan C. Gordon
284f6c63ca
Fixed a sizeof bug.
...
If you have...
void myfunc(char buf[16]) {
printf("%d\n", (int) sizeof (buf));
}
...this will print sizeof (char *) instead of 16, so this fixes a piece of
code that assumed the latter instead of the former.
2016-04-09 01:03:44 -04:00
ptitSeb
f37df71029
Float fest\!
2016-04-07 18:13:50 +02:00
ptitSeb
19bd3f733b
Use SDL constants for mouse buttons
2016-04-07 10:45:45 +02:00
ptitSeb
0c16613056
Fix a nasty typo
2016-04-07 09:10:09 +02:00
ptitSeb
3ec4d484e2
Fix for 64bits build
2016-04-07 09:09:51 +02:00
Ryan C. Gordon
239b9c7992
Patched to compile.
2016-04-07 00:21:28 -04:00
Alexander Pavlov
6b9ebc3ccb
Update GameAgent for Linuxport.
2016-04-06 23:31:08 -04:00
Ryan C. Gordon
e2e6f41582
Merge branch 'master' of git://github.com/ptitSeb/Serious-Engine into ptitSeb-master
...
Conflicts:
Sources/Engine/Math/Float.cpp
2016-04-06 23:27:55 -04:00
Ryan C. Gordon
9820436fbe
First pass at cleaning out 64-bit issues.
...
Touches a lot of code to remove long constants like "1L", so this patch is
large and ugly, but I think it makes all those Clamp() calls look nicer in
the long run.
Most of the game is 64-bit clean, since we can build without assembly code
now. I've marked the things that are obviously still wrong with STUBBED lines.
That being said: a 64-bit build can already run the demos mostly correctly,
so we're actually almost there!
There are a few obvious things that are obviously wrong, to be fixed.
2016-04-06 23:20:29 -04:00
Ryan C. Gordon
70f3f7fe35
Turned off an assert that reads past the start of an array.
...
It'll crash here anyway if that assertion would have triggered, I think.
2016-04-06 23:20:29 -04:00
ptitSeb
2ccc337898
The control87 is a fake one when using USE_PORTABLE_C, regardless the architecture
2016-04-06 22:45:02 +02:00
ptitSeb
ead5da376d
Cannot cast a Float to Unsigned integer directly on ARM, of sign will be lost, so double cast
2016-04-06 22:45:01 +02:00
Ryan C. Gordon
553dbe2c62
Deleted changelog autogenerated by Visual C++.
2016-04-06 15:42:40 -04:00
Ryan C. Gordon
6b248af4d0
Moved STUBBED where all platforms can see it, made it more robust.
2016-04-06 15:35:12 -04:00
Ryan C. Gordon
b42025bc9f
Unix basedir: Don't read past start of array if $PATH has an empty item.
2016-04-06 15:01:09 -04:00
Ryan C. Gordon
91827e7d2a
Define PLATFORM_PANDORA instead of PANDORA, to match other targets.
2016-04-06 13:40:08 -04:00
ptitSeb
7590c3ca04
GLES hardware doen't read depth, so I assume ARM based machine can'tt either
2016-04-06 16:30:39 +02:00
ptitSeb
b76bbc77d4
Fixed a typo
2016-04-06 14:15:05 +02:00
ptitSeb
4bfca131b8
gettimeofday is not reliable on PANDORA, so use clock_gettime instead
2016-04-06 13:56:26 +02:00
ptitSeb
4757cbbd2b
Just to be safe, as casting +inf to integer gives 0xFFFFFFFF on x86 and 0x7FFFFFFF on arm
2016-04-06 13:52:10 +02:00
ptitSeb
c4ac41ed56
Added codepath for ARM here (simple copy of PPC version)
2016-04-06 13:49:12 +02:00
ptitSeb
b2fd42dc60
TREMOR function signatures
2016-04-06 13:48:32 +02:00
ptitSeb
8dd48b5cd8
Unstubbed the Portable C functions of LayerMixer
2016-04-06 13:47:10 +02:00
ptitSeb
af9d472619
Unstubbed the Dithered Portable C functions (ordered one unstested)
2016-04-06 13:46:26 +02:00
ptitSeb
73aab13a79
Try to fix the Portable C UploadTexture_OGL function
2016-04-06 13:44:36 +02:00
ptitSeb
8c03fccd64
Fixed the bsr Portable C function, the game start correctly now
2016-04-06 13:41:32 +02:00
ptitSeb
8c49b5f7a0
Unstubbed the Fog Portable C function
2016-04-06 13:40:56 +02:00
ptitSeb
2406f62c4b
Unstubbed the Color Portable C functions
2016-04-06 13:40:02 +02:00
ptitSeb
73ea5ca7d4
Case fixing of an include
2016-04-06 13:38:09 +02:00
ptitSeb
0252ff1b6c
ARM processor don't convert +inf to 0xFFFFFFFF like a x86 processor do
2016-04-06 13:37:07 +02:00
ptitSeb
f105e7225a
Unstubbed the portable C sound mixer
2016-04-06 13:35:58 +02:00
ptitSeb
4e9dee7763
I had issue with the autoincrement. I prefer some warning about void* math
2016-04-06 13:33:54 +02:00
ptitSeb
205d71eccc
Tremor can be used instead of Vorbis. Usefull for ARM based machines
2016-04-06 13:32:52 +02:00
Ryan C. Gordon
c752e7cace
Fixed a mismerge.
...
(But I still need to figure out what I'm doing between SetAbsolutePath() and
whatever I had before...)
2016-04-04 22:40:30 -04:00
Steven Chamberlain
3adda272b7
Fix pointer truncation on 64-bit
...
Use size_t instead of int for arithmetic on pointers, to avoid
truncation on ILP64 architectures (like amd64).
2016-04-04 22:09:51 -04:00
Steven Chamberlain
26f1a33749
Building on GNU/kFreeBSD and possibly Hurd
...
* Only use ENOSR and ENOPKG if defined
ENOSR and ENOPKG are part of the POSIX optional STREAMS extension, and
are not available on most other platforms than GNU/Linux.
* Support building on other GNU platforms than Linux
Build for other GNU platforms the same way as Linux: this includes
CMAKE_SYSTEM_NAME "GNU" (GNU/Hurd) and "GNU/kFreeBSD" (GNU/kFreeBSD).
2016-04-04 20:34:34 -04:00
Ryan C. Gordon
6436618937
Merge github.com:Croteam-Official/Serious-Engine
...
Conflicts:
Sources/Engine/Sound/SoundDecoder.cpp
2016-04-04 02:41:23 -04:00
Ryan C. Gordon
a7e4f8237e
Patched to compile on Linux, and cleaned out almost all compiler warnings.
2016-04-04 02:34:07 -04:00
zcaliptium
f697fcc2f5
Engine: Return dynamic vorbisfile library loading.
2016-04-03 23:45:57 +03:00
zcaliptium
6e35f6bd11
Initial commit
2016-04-03 18:59:48 +03:00
Ryan C. Gordon
1a2ccb8f50
Merge github.com:Croteam-Official/Serious-Engine
...
Conflicts:
Sources/Ecc/Parser.cpp
Sources/Ecc/Scanner.cpp
Sources/Engine/Base/Scanner.cpp
Sources/Engine/GameAgent/GameAgent.cpp
Sources/Engine/Graphics/Gfx_wrapper.h
Sources/Engine/Network/Network.cpp
Sources/Engine/Sound/SoundDecoder.h
Sources/Engine/Templates/HashTableTemplate.cpp
Sources/Engine/Terrain/Terrain.h
Sources/EntitiesMP/ParticleCloudsHolder.es
Sources/EntitiesMP/ParticleCloudsMarker.es
Sources/SeriousSam/CDCheck.h
Sources/SeriousSam/Menu.cpp
Sources/SeriousSam/MenuGadgets.cpp
Sources/SeriousSam/SeriousSam.cpp
Sources/SeriousSam/SplashScreen.cpp
Sources/SeriousSam/StdH.cpp
Sources/SeriousSam/StdH.h
Sources/Shaders/StdH.cpp
2016-04-02 23:56:12 -04:00
Salamanderrake
2be26952c7
Case Issue with #include statement.
...
* Gfx_wrapper.cpp: two #include statemenst with incorrect case.
* Fixed an empty line issue
2016-04-02 01:12:25 -04:00
Salamanderrake
4ce00bca08
Statistics_internal.h: Incorrect case as its Statistics_Internal.h on disk.
2016-04-02 01:11:53 -04:00
Ryan C. Gordon
49b5163cc9
Regenerated parsers and scanners.
2016-04-01 15:17:48 -04:00
Ryan C. Gordon
0d426d5998
Fixed up some StdH includes.
2016-04-01 14:04:24 -04:00
Ryan C. Gordon
3e59daa5e6
Fixed function signature for yyerror to take a const char *.
2016-04-01 12:19:18 -04:00
Ryan C. Gordon
5aea1f7c4d
Untangle the symbols in the engine's parser and the Ska parser.
2016-04-01 01:49:13 -04:00
Ryan C. Gordon
0f6b9ca1c1
We actually get NULL here, so these stay for now, Clang warnings be damned.
2016-03-31 21:54:25 -04:00
Ryan C. Gordon
88c41117f5
Fill in some stuff that is needed to compile.
...
I had better versions of this stuff, which I still need to re-merge.
2016-03-31 21:53:54 -04:00
Ryan C. Gordon
887bc474e0
Deal with other things that are optimizing out instead of linking properly.
2016-03-31 15:48:48 -04:00
Ryan C. Gordon
7c9d29ad1a
Naturally, there are two files with inline asm with an "mmShift" symbol. :)
2016-03-31 15:48:48 -04:00
Ryan C. Gordon
ee754e7edf
Made static variables that inline asm needs to touch non-static.
...
I dislike having to do this, but Clang sees them as unused and removes them
from the object file, causing linking to fail.
The real solution here is to remove all the assembly code because it's 2016
and this game doesn't have to run on 133MHz Pentium now. :)
2016-03-31 13:04:57 -04:00
Ryan C. Gordon
2668cdc44f
Fix up some mismerges and get the OpenGL code to compile again.
2016-03-31 12:26:43 -04:00
Ryan C. Gordon
c2be372822
Some work to get Stream.cpp compiling.
2016-03-31 12:25:53 -04:00
Ryan C. Gordon
fbfef87ce0
Fixed a mismerge.
2016-03-31 12:25:40 -04:00
Ryan C. Gordon
75b824ddf8
Removed the exception handling code from CTStream.
...
I think this is a leftover from the mmap()-like code that used to be
in the engine, but now it's a lot of complexity to basically test this:
- Was this a memory access violation?
- If no, crash.
- If yes:
- Was it part of a CTStream?
- If no, crash.
- If yes, crash.
Instead, let's just crash. :)
(If I'm misunderstanding this, just roll back from revision control.)
2016-03-31 12:22:55 -04:00
RocketersAlex
c5f5d72e3f
Update MSLegacy.h Network.cpp GameAgent.cpp
2016-03-31 05:43:38 +03:00
Ryan C. Gordon
105bc12d64
Bunch more work on getting this to compile. Down to Stream and Gfx_OpenGL now.
2016-03-30 13:41:30 -04:00
Ryan C. Gordon
7d118bd249
First attempt at porting GameAgent code.
2016-03-30 11:00:29 -04:00
Ryan C. Gordon
8ea00b12d2
More work on getting this to compile.
2016-03-30 11:00:01 -04:00
Ryan C. Gordon
4f061d916c
Adding regenerated parsers so they'll stop spamming my diffs.
2016-03-30 10:59:17 -04:00
Ryan C. Gordon
888b35dbca
Mismerge fix.
2016-03-30 10:56:56 -04:00
RocketersAlex
0d8f7da318
Fixed SeriousSam and GameAgent bugs
2016-03-30 16:54:30 +03:00
Ryan C. Gordon
2e7af8cf00
More mismerge corrections and other fixes to get this closer to compiling.
2016-03-30 02:01:02 -04:00
Ryan C. Gordon
28a8b5cb2e
Various patches to get this closer to compiling again.
2016-03-30 01:51:52 -04:00
Ryan C. Gordon
18b339a2b6
Uncommented to include Terrain.h. Let's see what happens.
2016-03-30 01:25:58 -04:00
Ryan C. Gordon
2f10f864d8
Silence a whole bunch of warnings about string literals vs non-const char *.
2016-03-29 12:51:34 -04:00
Ryan C. Gordon
a4000c69a8
Clean out a bunch of compiler warnings.
2016-03-29 12:51:33 -04:00
Ryan C. Gordon
24cb244d43
First attempt to hand-merge Ryan's Linux and Mac OS X port.
...
This was a _ton_ of changes, made 15 years ago, so there are probably some
problems to work out still.
Among others: Engine/Base/Stream.* was mostly abandoned and will need to be
re-ported.
Still, this is a pretty good start, and probably holds a world record for
lines of changes or something. :)
2016-03-28 23:46:13 -04:00
zcaliptium
ef0b970490
Fixes
2016-03-22 21:03:12 +03:00
SLAwww
b2745c617f
Removed more generated files
2016-03-13 02:05:30 +02:00
Matt Lee
a4af93fa31
Add GPL header to files
2016-03-11 18:20:51 -06:00
SLAwww
a7af6eb20b
Removing generated files
2016-03-11 16:47:14 +02:00
SLAwww
9d8b787be2
Uploading full engine sources
2016-03-11 15:57:17 +02:00