Commit Graph

258 Commits

Author SHA1 Message Date
Jeremy Rand 59dc11e516 Make the timeouts configurable with net scores. 2023-06-11 23:33:47 -04:00
Jeremy Rand 6afbf4eb85 Finish reworking the network high score code to be independent of BuGS itself so it can be put into its own library. 2023-06-11 22:51:21 -04:00
Jeremy Rand 2f53df9eb0 Update the project settings to eliminate some Xcode warnings. 2023-06-09 00:07:36 -04:00
Jeremy Rand 3660b47fd3 Rename globalScores to netScores to work towards moving it to NetScoresGS 2023-06-08 20:04:22 -04:00
Jeremy Rand 1be8d217f1 Cleanup parse errors which appear in the latest Xcode. 2023-06-08 01:15:54 -04:00
Jeremy Rand 0ae5fa1b54 More global high score rework towards making it generic. 2023-06-07 19:53:14 -04:00
Jeremy Rand 37faafb698 More work isolating the global high score code from the game so it can be made a generic library. 2022-05-25 22:58:53 -04:00
Jeremy Rand b8b9089aa2 Start trying to extract the global high scores code so it can be turned into a generic library. 2022-05-25 21:50:38 -04:00
Jeremy Rand f1a80c792a Update the Uthernet link layer used in testing from emulators to the latest. 2022-03-29 23:48:51 -04:00
Jeremy Rand a8bf46bcac Update bootable net image with the latest version of Marinetti. 2021-07-30 23:46:40 -04:00
Jeremy Rand e5b0432991 Change the polarity of the stereo default. I used to default to "bad stereo" which matched the behaviour of mame, GSPlus and the 4soniq card but was against the Apple standard. The mame code has since been fixed and it seems like all other stereo cards are correct (I am unaware of any others that are backwards). So, by default, BuGS will start in the Apple standard L/R mode. If you have saved your settings previously, your option will be preserved correctly. Also, the display considers Apple standard stereo to be L:R while the non-standard to be R:L in the UI. 2021-07-23 23:59:11 -04:00
Jeremy Rand a7aeb5c142 Fix the URLs for the download links. 2021-07-08 22:31:18 -04:00
Jeremy Rand c76cd3d100 Update the readme for the v2.0.1 release. 2021-07-08 22:30:08 -04:00
Jeremy Rand 25a8fbeacd Display a better message when a score upload fails so it is more clear what happened. 2021-07-08 00:13:26 -04:00
Jeremy Rand 40da3b3434 Do not consider a network connection problem a soft error. Bump the version number for an upcoming bug fix release. 2021-07-07 20:11:05 -04:00
Jeremy Rand bf35d817eb Update the build environment for this project to the latest. 2021-07-06 17:04:25 -04:00
Jeremy Rand 72a65f53a7 Fix links in the readme. 2021-07-04 23:35:08 -04:00
Jeremy Rand 913add72b0 Final change before shipping v2.0. 2021-07-04 23:30:56 -04:00
Jeremy Rand 2a43113f4b Add a timeout to the TCP connect state. Prior to this, it was possible to block (indefinitely?) if there is a network glitch when trying to upload a score. 2021-07-03 16:42:41 -04:00
Jeremy Rand 165d489832 Update the readme with some more information about emulators. Make the random number generator test less likely to result in a series of scorpions appearing one after another. 2021-07-02 22:33:38 -04:00
Jeremy Rand af16a35ea7 Minor changes to the build to move some stuff to the internal make files. 2021-06-30 01:09:46 -04:00
Jeremy Rand 9a0791d812 Add a link to the full readme from the project readme. 2021-06-30 00:25:35 -04:00
Jeremy Rand 408a670e09 Bump the version number and update the readme to describe the requirements for the networking feature. 2021-06-29 17:36:51 -04:00
Jeremy Rand 739d89add0 Display the position of the players score after upload. 2021-06-28 23:12:06 -04:00
Jeremy Rand 701585df1a Move non-game code out of the main segment to make more room for more high score code. 2021-06-28 22:33:01 -04:00
Jeremy Rand 08be64a61c Add some more prompts to be clearer when the network is busy. Allow the user to retry uploading their score. Even if things go wrong, add a retry mechanism so that we will try to get the network connection up after three minutes. 2021-06-28 00:03:32 -04:00
Jeremy Rand ea085174eb Also include the position of the score and the number of scores in the response to setting a score. Bump the version number. This will become a new beta build soon. 2021-06-27 15:48:57 -04:00
Jeremy Rand 265d9cbb2e Modify the build to translate the Read.Me.md file into a Teach file for the SW distribution. 2021-06-07 00:11:44 -04:00
Jeremy Rand ed9f53551c Add the hash toolset to the baseline disk image. Add md2teach so the build can turn a markdown file into a Teach text file at build time. Introduce the Read.Me from the distribution to the GitHub repository as a markdown file so it can be translated to Teach. 2021-06-06 23:49:36 -04:00
Jeremy Rand e84d6e97c2 Update the version to beta and remove online high scores from the todo list. I now have an implementation of that. 2021-06-06 00:24:35 -04:00
Jeremy Rand abe5f0c72b Uploading scores is working now. Add timeouts for reads and the close operation so we don't end up stuck in any one state forever. Improve the error handling and provide an error code for debugging purposes if there is a problem. 2021-06-05 23:34:30 -04:00
Jeremy Rand 2c511fe33a Add some todos for the networking code. 2021-06-04 00:42:39 -04:00
Jeremy Rand 4e456cab15 Major rework because I am out of code space in the main segment. Move some stuff around in the C code to get them into other segments. Change the network code so that most of its globals are actually allocated dynamically when network functionality is detected. Change the network state machine so the connection is closed and re-opened on each transaction rather than trying to hold the connection open. It was failing during the game because the network is not being polled. Provide some visual feedback if there is a network problem in the game itself.
Re-opening the connection isn't working for some reason but this is getting pretty close to working.
2021-06-04 00:41:11 -04:00
Jeremy Rand fb36a28e98 With this commit, processing of the result of a score set request is working. The connection seems to drop during the game and I don't want to poll the network during the game so the next steps will be to close and re-open the connection between games. 2021-06-03 00:32:56 -04:00
Jeremy Rand 9a77919702 Update some TODOs in the code. 2021-06-02 00:39:05 -04:00
Jeremy Rand 14cbdbac2b Fix a problem where the players initials were not going to the correct place in the global high score request. Make the set high score request message a multiple of 2. It seems that the hash functions do not agree between the GS and the server when the request is an odd number of bytes. 2021-06-02 00:33:53 -04:00
Jeremy Rand 35930c72e2 Add the code to send high scores to the server, although it is being rejected right now due to a md5 hash problem in the request that I don't yet understand. 2021-06-01 23:53:52 -04:00
Jeremy Rand 5e26684fd2 Retrieve global high scores from the Internet and display them in the game. 2021-06-01 23:13:14 -04:00
Jeremy Rand 4b76293125 Add code to load Marinetti and the Hash tool if present and bring up the network if possible. 2021-06-01 00:35:47 -04:00
Jeremy Rand 8d95d0a674 Bump the version to 1.9 since this is work towards v2.0. Add the structs for the messages to a server side high score list. Add the hash tool to the boot image for network testing. The requests will use hashes to validate that they come from the game. 2021-05-28 00:03:04 -04:00
Jeremy Rand 701d9fd312 Add some infrastructure to be able to test networking code from within the emulator. 2021-05-20 23:49:14 -04:00
Jeremy Rand c3302102d7 Update the readme with some more feedback about trackballs. 2021-03-25 17:03:38 -04:00
Jeremy Rand dfcf6a66b6 Turns out I only have fixed the "magically appearing mushroom" bug. I fixed it for slow moving centipedes coming on screen but there was a second case of the same problem for fast moving centipedes. So fix that now also. Bump the version number to 1.0.1. I will do a patch update at some point but I don't think this bug deserves pushing out a quick release update. It is an annoying minor bug at most. 2021-03-03 22:20:22 -05:00
Jeremy Rand cb47d1ff0d Update the TODO with information about running on System 5. 2021-02-24 22:45:56 -05:00
Jeremy Rand 34d5523c19 Add a new TODO to try to fit a bootable image on a single 800K disk. 2021-02-24 17:14:51 -05:00
Jeremy Rand 6b7221ed23 Add links to the version 1.0 downloads in the readme. 2021-02-17 00:05:02 -05:00
Jeremy Rand bbe4bd7c6a Version 1.0 is released! 2021-02-16 23:36:06 -05:00
Jeremy Rand c52671ce95 Change the flea sound frequency change rate to be less steep. 2021-02-16 01:46:46 -05:00
Jeremy Rand bf943fee07 Bump the version number. 2021-02-16 01:39:27 -05:00
Jeremy Rand 20b2b6b6af Fix a typo in the readme. 2021-02-16 01:38:52 -05:00