Commit Graph

80 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
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
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
1836a5489a Recompiled assets with wider title screen image 2016-01-20 22:52:03 -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
Scott Ludwig
589fdff1b3 UIAlert -> UIAlertController deprecation fix 2016-01-20 11:00:11 -08:00
Scott Ludwig
ee2695b4ac Select SDK 9.0 as the min version - that's the major version we test with 2016-01-20 10:59:14 -08:00
Scott Ludwig
3f038fea0d Fix download mission pack column label positioning 2016-01-13 22:27:13 -08:00
Scott Ludwig
622b960b10 Fix 32 bit / 64 bit multiplayer interop problem
- Fix gids to be calculated the same on 32 bit and 64 bit platforms.
  Previously they were byte offsets into a pointer array, which meant
  multiple of 4 on 32 bit platforms, and multiple of 8 on 64 bit platforms.
  Now they are indexes.
2016-01-13 22:25:34 -08:00
Scott Ludwig
83a84abc08 Fix observed crash in IPhone::Log 2016-01-12 15:32:40 -08:00
Scott Ludwig
edc455c93d Respond to keyboardWillChangeFrame for improved keyboard handling
- Fixes press chat / press done bug that gets chat into a weird state
- Handles keyboard height changing dynamically (predictive typing bar,
  emoji keyboards etc).

  This change is from Nathan Fulton, https://github.com/N104.
2016-01-12 15:32:10 -08:00
Scott Ludwig
7e1557b5f0 Make UITableView rows be not selectable in chat
At some point iOS defaulted these to selectable. This makes them
not selectable.
2016-01-12 15:31:44 -08:00
Scott Ludwig
de950ccc46 Use scanf and printf compile time format string type checking; fix 64 bit bugs 2016-01-10 13:14:36 -08:00