Commit Graph

106 Commits

Author SHA1 Message Date
Nathan Fulton
93d484864e NSURLConnection -> NSURLSession for SDL-iOS
Code for this commit is based off of the network code in game/iphone
2016-08-31 22:43:35 -04:00
Nathan Fulton
8ba3738d0f NSURLConnection -> NSURLSession for SDL-OSX
Code for this commit is based off of the network code in game/iphone
2016-08-31 22:43:35 -04:00
Nathan Fulton
72566c33bd Add server feature for clients to receive chats while in lobby
Clients can receive chats while in lobby state by having the shell form
present a HtMessageBox with the chat and the player is it from. This
feature was designed to be used with the moderator whisper command.
2016-08-31 22:43:35 -04:00
Nathan Fulton
abb1823956 Add /t server command for team chat
New command /t that can be used in game to send chats that only appear
to players on the same team. Observing players cannot use team chat.
2016-08-31 22:43:34 -04:00
Nathan Fulton
f6dd61415f /reg command can block anon logins server wide
Admins can issue "/reg server" to prevent anonymous logins on the game server.
2016-08-31 22:43:34 -04:00
Nathan Fulton
896e5a59a3 Add /ann command for server announcements
Server announcements will be displayed to every player who enters a
server created room. Admins can use the /ann command to set or clear
the server announcements.
2016-08-31 22:43:34 -04:00
Nathan Fulton
066e2a4839 Use a username with whispers and mod chats
“username to username:” or “username to mods:” was originally prefixed
to the chat and then the whole string was sent as a server message.
Now, “username to username:” is considered the user’s name for the
chat. This way, clients will process it as a user chat instead of a
server message (this results in the client coloring the chat
differently).
2016-08-31 22:43:34 -04:00
Nathan Fulton
40d0e9ff29 Improve server /ids command and add "all" argument
- Add support for an “all” argument that lists the id information for
every player on the server.
- /ids will now give a response when attempting to obtain the ids from
a location with no players (i.e. an empty room).
- Fixed unneeded newlines when /ids is issued for a game.
2016-08-31 22:43:34 -04:00
Nathan Fulton
27f07f70f9 Improve backgrounding on SDL-iOS and SDL-Android
If the client is connected to multiplayer when the app is backgrounded,
that connection will be closed. If the app is reopened, a message will
be presented with the user informing them of the disconnection. Single
player games will be paused when entering background and resumed when
entering foreground.
2016-08-31 22:43:34 -04:00
Nathan Fulton
eb1085142d Declare rect in RawBitmap outside of conditional scope 2016-08-31 22:43:34 -04:00
Nathan Fulton
c9372c661c mktemp() -> mkstemp() 2016-08-31 22:43:34 -04:00
Nathan Fulton
b1cf23f64d Implement SDLHttpRequest with curl
Credit goes to emileb for the curl implementation of sdlttprequest.
2016-08-31 22:43:34 -04:00
Nathan Fulton
4900cd1ae6 Add curl headers and static libraries for Android
Curl with OpenSSL static libraries obtained from
gcesarmza/curl-android-ios
2016-08-31 22:43:33 -04:00
Nathan Fulton
8b7657f643 Initial SDL-Android port 2016-08-31 22:43:27 -04:00
Nathan Fulton
4aadbf87cb strings.h -> wistrings.h
Change strings.h to wistrings.h to prevent SDL.h from including it
while trying to include the CRT strings.h
2016-08-24 21:40:38 -04:00
Nathan Fulton
aeb247e975 Set kszForumUrl in serviceurls.cpp 2016-08-24 21:38:20 -04:00
Nathan Fulton
573c8aafd3 Update preprocessor checks to support SDL 2016-08-24 21:34:48 -04:00
Nathan Fulton
19d74d3da6 SDL host timestamp events when processed if necessary 2016-08-24 21:34:45 -04:00
Nathan Fulton
94e319e1ee Implement multitouch for SDL 2016-08-24 21:34:34 -04:00
Nathan Fulton
2930ad1705 Initial SDL-iOS port 2016-08-24 16:42:47 -04:00
Nathan Fulton
d926ef0bbe Prevent SDL from rendering when app is backgrounded
On some platforms, the game will crash if SDL attempts to render to the
screen/window while the game is backgrounded. To prevent this, stop
rendering when the game enters a background state and resume rendering
when the game enters a foreground state.
2016-08-24 16:20:31 -04:00
Nathan Fulton
8f0e81a3f5 Create main thread via host
Create the main thread via host rather than being a global variable in
base; this way, no base threads are created before the host runs main()
because that can cause issues on some platforms.
2016-08-24 16:20:31 -04:00
Nathan Fulton
d34f08c6e5 Change default game speed to 2.0x 2016-08-24 16:20:31 -04:00
Nathan Fulton
380d8beb25 Change default account login for new devices to not anonymous
To encourage the use of accounts, new devices should be presented with
the login screen where they can create an account. New users can still
switch to anonymous login if they choose.
2016-08-24 16:20:31 -04:00
Nathan Fulton
b9f189beb9 Fix NullEvent and TransportEvent processing bug in SDL port
- Fix kidmNullEvent / base::kidmNullEvent issue
- Fix kidmTransportEvent / base::kidmTransportEvent issue
2016-08-24 16:20:09 -04:00
Nathan Fulton
fff71efc11 SDL-OSX port improvements
- Add chatroom
- Add string input
- Update main() to support SDL2
- Change game files location to
~/Library/ApplicationSupport/HostileTakeover
- Open URLs with OS’s default browser
- Use Xcode default C/C++Objective-C compiler
- Remove game/sdl/mac/SDL.framework
- Use game/sdl/SDL2/osx/SDL2.framework
2016-08-24 16:19:45 -04:00
Nathan Fulton
017ff13af6 Implement sdl selection sprite 2016-08-24 15:43:51 -04:00
Nathan Fulton
b3827e22e4 Update sdlsoundev to support SDL2 2016-08-24 15:40:40 -04:00
Nathan Fulton
86207a0b94 Fix sdleventserver wait bug Update wait_ appropriately after calling SocketServer::Wait from derived class 2016-08-24 15:40:37 -04:00
Nathan Fulton
deff3ab3f9 SDL host HostGetDeviceId() -> HostGenerateDeviceId() 2016-08-24 15:40:31 -04:00
Nathan Fulton
31ce1c32b8 Update SDL display to support SDL2 2016-08-24 15:40:25 -04:00
Nathan Fulton
bb18099b77 Add prebuilt libraries for SDL2-2.0.4
- Add SDL headers
- Add shared objects for Android
- Add fat static library for iOS
- Add framework for OS X
2016-08-24 15:39:48 -04:00
Nathan Fulton
b643708cdf Move and rename wisdl.xcodeproj 2016-08-24 15:39:03 -04:00
Nathan Fulton
8d5f27fbf2 Don't show servers to disallowed platforms
Specific client platforms can be blocked from seeing/joining servers
via server info.
2016-08-24 11:58:19 -04:00
Nathan Fulton
99f659f6fe Add command to change server info keys on live servers
- Ability to modify some existing keys (sort, status, name, location,
and type).
- Ability to add, modify, and remove extra keys.
2016-08-24 11:58:11 -04:00
Scott Ludwig
3032e898fb Added utility to list currently running server instances 2016-01-26 17:24:20 -08:00
Scott Ludwig
0d3183e58b Fix observed DEBUG build crash in assert handling
This is a second case of this problem. It didn't used to crash which
suggests vprintf used to check for NULL varargs itself.
2016-01-26 12:08:47 -08:00
Scott Ludwig
577ac5a9cc Remove UIRequiredDeviceCapabilities from Info.plist
Submitting to the app store complains about this setting being
too restrictive. Removing it allows support for all devices.
2016-01-26 12:07:36 -08:00
Scott Ludwig
5c25a9b167 Remove second case of Assert checking bottom 2 gid bits for 0
This is no longer valid because gids are indexes now.
2016-01-26 12:03:10 -08:00
Scott Ludwig
dd56fab4bd Fix reported crash when downloading mission pack index
Clicking on the "Downloading X of Y" message, visible
while the index is downloading, caused this crash.

Bug and fix reported by Nathan Fulton.
2016-01-25 12:40:12 -08:00
Scott Ludwig
5e43e0ba50 Ignore in-game mute
This was an old Palm timeframe setting. Now, sound might be muted
while exiting. This shouldn't be saved as a preference.
2016-01-21 22:11:53 -08:00
Scott Ludwig
f2d7002bc3 Restore game audio after OS events (dictation or siri) use audio
- Dictation reliable raises the handleAudioInterrupt notification, so that
  is used for disabling / enabling audio
- Siri sometimes doesn't raise the handleAudioInterrupt notification, so
  rely on applicationDidBecomeActive / applicationWillResignActive.
- Trial and error showed it is best to destroy and re-create the OS audio
  objects when audio is disabled / enabled.
2016-01-21 21:45:51 -08:00
Scott Ludwig
2a3ef9776d Remove old assert that is firing frequently on debug builds
This assert checked for the bottom 2 bits of a gid to be 0. Now that
gids are indexes, these two bits are frequently not zero. Looking at
the code, there is no place (that I could find) where those bits are
set (I think kwfGidEndMarker used to be stored there).
2016-01-21 21:44:51 -08:00
Scott Ludwig
f2289c40ac Make data assets buildable on Linux
- Buildable on OSX and Linux now
- Fixed filename casing mismatches
- Inicrunch fixes, osx and linux versions, added Makefile

Note: gnu's cpp doesn't understand the -Wno-invalid-pp-token flag,
the absence of which causes ignorable preprocessing warnings on
strings with unmatched quotes.
2016-01-21 19:06:42 -08:00
Scott Ludwig
a0f077cb1a Add -Wno-invalid-pp-token -Wno-trigraphs to data preprocess step
This tells the .lvl preprocess step to ignore things like single quotes in text,
and char sequences that look like trigraphs but aren't.
2016-01-20 22:53:13 -08:00
Scott Ludwig
1836a5489a Recompiled assets with wider title screen image 2016-01-20 22:52:03 -08:00
Scott Ludwig
288ae87a69 expand width of title screen background to fill display of newer devices
(from Darrin)
2016-01-20 22:51:00 -08:00
Scott Ludwig
8beb17a198 NSURLConnection -> NSURLSession, NSURLSessionDataTask deprecation fix 2016-01-20 11:01:38 -08:00
Scott Ludwig
4c0d6cf665 UIBarButtonItemStyleBordered deprecation fix 2016-01-20 11:01:08 -08:00
Scott Ludwig
c2d63ec443 Remove setStatusBarOrientation due to deprecation 2016-01-20 11:00:39 -08:00