Commit graph

60 commits

Author SHA1 Message Date
PLG
cc0f49f9a8 Remove deprecated warnings on mac for cString use. 2022-07-07 22:47:12 +02:00
Daniel Gibson
d34832e4fc Fix Mac build 2022-01-17 15:31:10 +01:00
Daniel Gibson
952292b4a6 POSIX: log output to save_path/dhewm3log.txt
and refactorings needed for that (I want to create the log right at the
 beginning before much else has been initialized, so using things like
 idStr or Sys_GetPath() isn't safe)

save_path being $XDG_DATA_HOME/dhewm3/ (usually ~/.local/share/dhewm3/)
on most POSIX systems, $HOME/Library/Application Support/dhewm3/ on Mac

If the log file already exists, it's renamed to dhewm3log-old.txt first,
so there's always the most recent and the last log available.
2022-01-16 06:11:20 +01:00
Daniel Gibson
ea781c577e Use idStr::Copynz() instead of strncpy()
to guarantee \0-termination
2022-01-08 16:58:48 +01:00
Daniel Gibson
df0916ecf8 Mac: Fix RAM detection for >2GB
Sys_GetSystemRam() for OSX used some deprecated MacOS function from 1989
that used int32 for the amount of bytes.
Now using sysctl() instead, should be supported since at least 10.2.8
at least it's in
https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10.2.8.sdk/usr/include/sys/sysctl.h
2022-01-08 16:07:22 +01:00
David CARLIER
3bf55225ab SDL backend, macOs warning build fixes proposal. 2021-10-30 23:55:31 +02:00
Daniel Gibson
64b21fcd0c Add Posix_GetExePath() function
I'm gonna use it with libbacktrace - I'll need the path of the
executable before I can use idStr (and thus before I could call
Sys_GetPath(PATH_EXE, str)).
2021-05-12 07:44:07 +02:00
Dave Nicolson
3e8601e925 Restore deleted file 2020-07-19 16:18:35 +02:00
C.W. Betts
88559af603 Update Mac source
Remove the rsrc file (unused)
-[NSString cString] is deprecated. Use -[NSString UTF8String] instead.
2020-05-27 01:29:26 +02:00
Daniel Gibson
1320e29aaf Implement Signal-Handlers for POSIX systems, incl. SIGTTIN/SIGTTOU
handling SIGTTIN/OU allows running Doom3 in the background (or even
sending it to the background with Ctrl-Z + bg) by disabling TTY input
(before it would get stuck when run in background without +set in_tty 0,
 see #215)

While at it, I also added signal handlers for some common crash signals
(SIGILL, SIGABRT, SIGFPE, SIGSEGV) to print a backtrace before exiting
the game (partly based on Yamagi Quake II code).
2019-01-13 07:07:39 +01:00
dhewg
918e06cf00 Add SDL2 support to sys/osx/DOOMController.mm 2012-07-20 17:41:40 +02:00
dhewg
5a9c2006ff Get rid of Posix_EarlyInit() and Posix_LateInit()
Since we don't have our own signal handler anymore, those two
init functions can be merged into the existing Sys_Init(), which
is already called by common->Init().
2012-07-06 01:39:01 +02:00
dhewg
b073f281ad Get rid of the SIGFPE handler
If shit happens, let it crash.
2012-07-06 01:06:55 +02:00
dhewg
93fdc96e60 Get rid of Sys_FPU_EnableExceptions()
No exceptions were ever enabled.
2012-07-06 01:06:51 +02:00
dhewg
e55753e626 Introduce fs_configpath
Split fs_savepath for config files. This is in preparation for
moving the writable paths on *nix to $XDG_DATA_HOME and
$XDG_CONFIG_HOME.
Affected files: config.spec, *.cfg, doomkey, xpkey.
2012-07-03 21:12:58 +02:00
dhewg
8f6f1883ff Use Library/Application Support/dhewm3 on OSX 2012-07-03 21:12:57 +02:00
dhewg
478fa783f6 Unify Sys_*Path() into Sys_GetPath() 2012-07-03 21:12:56 +02:00
dhewg
3256783af1 Get rid of ID_DEMO_BUILD
There are no demo pk4s compatible to this 1.3.1 codebase.
2012-07-03 21:12:55 +02:00
dhewg
f000947d4e Fixes issues with MacOSX.
- Fixes compiler errors with mismatching types in DoomController.mm
- Adds PPC_INTRINSICS fix to Simd_Altivec.h
2012-06-28 14:08:39 +02:00
dhewg
898f690fc4 This is dhewm 3
Rename project, now at https://github.com/dhewm
2012-01-14 20:06:05 +01:00
dhewg
989b812a6e Cleanup DOOMController.mm
Cleanup headers and use MAXPATHLEN.
2012-01-05 00:24:16 +01:00
dhewg
6fa12c3a44 Get rid of the NSObject in DOOMController.mm
SDLmain.m does the bulk of the work for us, so get rid of
the DOOMController NSObject, move the quakeMain() contents to
main() and let SDL do its thing.
2012-01-05 00:24:16 +01:00
dhewg
532b642222 Get rid of checkOS() and checkDVD()
Former is already handled by cmake via -mmacosx-version-min=
and the latter is just a stub.
2012-01-05 00:24:15 +01:00
dhewg
8e5702ef36 Get rid of applicationShouldTerminate()
Redundant, already handled by SDL_QUIT event.
2012-01-05 00:24:15 +01:00
dhewg
23752a2cd2 Get rid of applicationDidFinishLaunching()
SDL already implements this for us and the assert()s are
already part of idlib.
2012-01-05 00:24:15 +01:00
spiral
ec0f836f41 Generate an .app bundle for OSX
Add missing SDLMain and icon/resource files to generated .xcodeproj

Now builds on Lion in XCode4 with the 10.6 SDK using LLVM-GCC4.2.

Also tested on WinXP in VS 9 2008 Professional, I don't appear to have
broken anything there, stuff like MACOSX_BUNDLE_INFO_PLIST is
effectively ignored.
2012-01-05 00:24:15 +01:00
spiral
6453bce10c We don't need XOPEN_SOURCE deprecated content
Just what's in sys/ucontext.h specifically.
2012-01-05 00:24:15 +01:00
dhewg
1fed72fbb4 Get rid of Sys_DoPreferences()
The OSX backend was the only one utilizing this to set CVars
for the video mode.
Not required anymore since its now based on SDL.
2012-01-05 00:24:13 +01:00
dhewg
bf69f7ec76 Use SDL GLimp and input implementations on OSX 2012-01-05 00:24:13 +01:00
dhewg
8df54ffad2 Move OSX ATI_fragment_shader functions
Move the software implementation to
sys/glimp_ati_fragment_shader.cpp in preparation to move to
the SDL based GLimp and events.
2012-01-05 00:24:12 +01:00
dhewg
36870b7e10 Get rid of stubs in the OSX backend 2012-01-05 00:24:12 +01:00
dhewg
b875b54b8b Get rid of Sys_FadeScreens() and Sys_UnfadeScreens()
Unused functions in the OSX backend.
2012-01-05 00:24:12 +01:00
dhewg
fdd6360712 Get rid of Sys_PauseGL() and Sys_ResumeGL()
Unused functions in the OSX backend.
2012-01-05 00:24:12 +01:00
dhewg
fa8e50a086 Get rid of unused Sys_Hide() and Sys_Unhide()
Unused functions in the OSX backend.
2012-01-05 00:24:12 +01:00
dhewg
cab89769b4 Get rid of dead code in the OSX backend
Not used by anything.
2012-01-05 00:24:11 +01:00
dhewg
42841c2435 Get rid of RegCodeHandler()
Unhooked ancient code in the OSX backend which isn't working
for D3XP.
2012-01-05 00:24:11 +01:00
dhewg
32530bf7a2 Get rid of GLimp_EnableLogging
Only stubs left.
2012-01-02 15:44:00 -05:00
dhewg
1afe61cc8d Get rid of dead render thread code
The Windows backend had some preparing code for this feature,
but there is no support at all for this in renderer/.
2012-01-02 15:43:48 -05:00
dhewg
6e0c766d14 Unify all Sys_GetProcessorId()
Use SDL functions whenever possible.
2011-12-22 11:07:00 +01:00
dhewg
d4281b56bf Get rid of Sys_GetProcessorString()
This was only used for a printf() and not implemented for all
the platforms we can now run on.
We also don't want to force a CPU type on Windows.
2011-12-22 10:38:40 +01:00
dhewg
4150029322 Unify CPUID_FTZ and CPUID_DAZ
Get rid of the 2 CPUID flags and combine them with SSE in one
implementation.
SSE flags can now be set on all x86 and x86_64 platforms -
independent of -ffast-math.
Helper defines borrowed from STREFLOP.
2011-12-22 10:38:40 +01:00
dhewg
acfe2489e4 Get rid of unused CPUID flags 2011-12-22 10:38:40 +01:00
dhewg
e2b46a5a34 Get rid of Sys_GetClockticks() and Sys_ClockTicksPerSecond()
Now unused.
2011-12-22 10:38:39 +01:00
dhewg
317e63887c Port Sys_Sleep() to SDL 2011-12-22 10:38:38 +01:00
dhewg
e7482b4957 Port all thread related functions to SDL
Setting thread priorities has been dropped (it is not portable).
The background download thread now exits gracefully.
g_threads is not public anymore.
2011-12-22 10:38:37 +01:00
dhewg
7865e432a7 Port the async thread to a SDL timer
SDL implements timers via threads and it lets us easily aim at
a 60Hz frequency.
2011-12-21 17:50:39 +01:00
dhewg
005677494f Initial SDL setup
Use SDL_main on all platforms.
Fix main() for non-const argv so it matches with the SDL
prototype.
Adapt win32 WinMain() to main() and get rid of the win32 special
case in Common::Init().
2011-12-21 17:40:05 +01:00
dhewg
736ec20d4d Untangle the epic precompiled.h mess
Don't include the lazy precompiled.h everywhere, only what's
required for the compilation unit.
platform.h needs to be included instead to provide all essential
defines and types.
All includes use the relative path to the neo or the game
specific root.
Move all idlib related includes from idlib/Lib.h to precompiled.h.
precompiled.h still exists for the MFC stuff in tools/.
Add some missing header guards.
2011-12-19 23:21:47 +01:00
dhewg
76939c6de7 Delete redundant files 2011-12-15 17:51:36 +01:00
dhewg
b62b033b88 Get rid of all idAudioHardware implementations 2011-12-14 18:37:03 +01:00