Codwiz51's Wiki



Quick Search
Advanced Search »
codewiz51, 2012/09/01 13:51 I am sad to say it, but I've abandoned the WinROTT Porting project. I have simply run out of interest. I am pursuing some certifications in network and computer security and I just don't have the time to work on the project anymore. I'll leave the source and project files up for a while, but there has not been a download in over a year. It looks like Birger continues to work on WinROTT GL.

codewiz51, 2011/05/05 21:56 I have switched over to Windows 7 64 bit. I am afraid I've gone about as far as I care to with WinROTT. I've probably made my last updates as of December, 2009. I'll leave this page up if anyone is interested.

Birger has made some nice changes to WinROTT, called WinROTTAPI. I've downloaded the source and I am checking out how I might integrate Birger's changes into my branch of the game. Many thanks to Birger for this work. codewiz51, 2009/12/22 09:47

I am finally able to begin work anew on WinROTT. I was out of town for the last half February and all March. Sorry that it has been so long with no updates. My day job must take precedence over my hobby programming. I'm making a half hearted attempt to figure out the state of the WinROTT code. It will take a while.

Finally, a new release! This is mostly a code clean up release. I am still in the process of deciphering DirectX and the WinROTT graphics scheme. I am attempting to get all of the internal variables in a consistent declaration state. For instance, hitpoints shows up as a short, ushort, int and byte, with assignments helter-skelter between all types. WinRott_2.24cpp10.7z Administrator, 2009/02/02 19:55

I've published a short article on improving DirectDraw setup: DD_SetupDirectDraw. The learning curve for WinROTT video, along with DirectDraw and how to port it to Direct3D is proving to be very steep. gharris, 2008/12/21 09:48

This release has a bug fix for loading UserActor.rot. I've also removed most of the byte order code, as it is not necessary for a Windows release. I've cleaned up the rt_util implementation and header file. Enjoy the code: WinRott_2.24cpp9.7z Administrator, 2008/12/15 22:34

This release represents some reorganization of code and data declarations in WinROTT. I've combined a lot of the header (.h) files where it made sense, and I've completely removed all the extern declarations in C++ files (.cpp). I've also changed all boolean references to use TRUE or FALSE. This release will allow me to move forward with modernizing the code. I'm down to 842 warnings in the code, which is a huge improvement. Performance is greatly improved in some sections of the code. After cleaning up the single user play, I cannot wait to get started on network and hosted play. Enjoy the code: WinRott_2.24cpp8.7z Administrator, 2008/12/13 22:03

A shiny new release of WinROTT. Release 7. This is a big one. No .c files. Nope. I've managed to get all the files moved over to C++. (And the darn thing works!) I still have some minor status bar issues, but the important information is working correctly. I've published some notes on how I handled dirtype. Here's the code. Have fun. Let me know what you think. WinRott_2.24cpp7.7z codewiz51, 2008/11/27 23:01

New release of WinROTT. Release 6. The status bars are still hosed. Sorry, the problem is in rt_game.cpp. I decided to wait and fix the problem after I complete the .c to .cpp port and clean up the project of unneeded files. WinRott_2.24cpp6.7z Have fun playing. Let me know if you run into any problems. codewiz51, 2008/11/20 21:17

I've run into an interesting problem with mixed code C/C++ code in WinROTT. I first reported this problem on Nov. 2nd. What I found is a variable initialization problem. When an extern "C" {..} block interrupts a set of variable declarations, the variables following the extern "C" block may not be initialized properly. I've had to change the way I declare variables that need to be accessed by both C and C++ modules. I noticed the problem with the current release I am working on. The status bar that displays ammunition and health is occasionally quite garbled. I traced through working code from an earlier release and found a variable that was not properly initialized in the ported code. I've decided to release the code "as is". I am going to live the with initialization problem for now. I am betting that it will be better to complete the port to C++ and get rid of all the extern "C" {...} declarations. codewiz51, 2008/11/15 10:08

I managed to get DirectSound.c, modexlib.c and engine.c moved over to C++. The good news is, I am not having to do much work at this point. Mostly, I have to get the linker working. With a lot of .c and .cpp files using the same function calls and global variables, linking is the biggest problem. Until I can get all the code move to C++, I am adding extern "C" {...} blocks in a lot of places. Once the code is ported, I can get to work straightening out the header files and getting rid of all the extern statements. I hope to have a new download by this next weekend. Sorry to be moving so slowly, but I have to be careful and test after each file is changed and the system compiles. codewiz51, 2008/11/03 21:13

I am back to using the wiki for the WinROTT port. Even though the RSS is not the way I would like it, it still makes sense to keep all of the WinROTT information ion the same page. This port represents the intermediate clean up of the Direct Draw routines DirectDraw.c, DMInput.cpp and DirectMusic.cpp. I converted DirectDraw.c to a C++ file. I had to adjust the prototypes in DMInput and DirectMusic for this change. I won't be able to get rid of the extern "C" statements until rt_util.c and modexlib.c are converted, which may take a while. WinROTT 2.24 C++ Port Rel 5 codewiz51, 2008/10/26 14:03

I am using my blog to post development notes and updates for WinROTT.Just click on the WinROTT category on my blog to see all posts. Posting a large number of updates to a wiki page causes ScrewTurn wiki to produce odd RSS feeds. As always, the WinROTT download page will display the latest release. Administrator, 2008/07/17 07:19

I've uploaded the next release of WinROTT. There are a lot of code changes in this release. The main accomplishment is upgrading Bots.c to Bots.cpp. There were quite a few unresolved symbol problems with link, but they are resolved now. Download the source code. Let me know if you have problems. Administrator, 2008/07/13 22:28

It's been a while since I've posted anything about WinROTT. I currently have a high priority project at work that I must complete. However, I anticipate starting on WinROTT on Thursday or Friday (July 10 or 11). I plan to post a new code update sometime on July 13 or 14. Sorry for the delay. Between work and moving my blog to I haven't had much time for WinROTT. It's summertime and I am usually outside until 21:30 or 22:00 working in the yard or grilling. Administrator, 2008/07/08 21:13

I've been sick, with some sort of low grade fever. There won't be much coding in the next day or two. I am just too tired after work to stay up late coding. Hopefully, I can get caught up this weekend.

I posted a new version of the source code tonight. I was able to get cin_evnt.c converted to cpp. I also located and fixed a couple of buffer overruns the c runtime would not have seen. I had to change some header files and added a couple of prototypes for a clean compile. Some Level 4 warnings were eliminated. You may download here

Anyone that is interested in participating in the wiki can create a profile. I'll approve the account within 24-48 hours. I finally have the mail server hookup working, so wiki can send mail!

I've been a little under the weather this week. I've been in bed early every night trying to get some rest and recharge my batteries. I hope to be back up to speed next week on WinROTT.

I didn't do any coding last night. We had electrical storms passing through with high winds. I turned off the computers and went to bed early. I hope to accomplish some more code cleanup this weekend. I won't be coding tonight: a new episode of Battlestar Gallactica is airing.

I want to point out that you may subscribe to this page using the RSS icon in the top right corner of the page. That way you can keep up with the latest progress.

2008-06-04 No progress tonight. I am going to bed early. I am run down and tired.

2008-06-03 21:50 PM Tonight, I was able to get back to the WinROTT port. I decided to correct the declared type boolean in rt_def.h:
typedef unsigned char boolean;
enum {
  false, true

I wanted to move to the new C++ bool type. This turned out to be a little trickier than I anticipated.

I wanted to substitute the definition typedef unsigned char boolean; and get rid of the enum definition for true and false.

I ran into a bit of a problem. The keywords bool, true and false only apply to C++. Oops! The file rt_def.h is only compiled in C. Hmmm... Fortunately, bool is one byte in C++ and the definition in WinROTT is unsigned char, which is also one byte. (At least for the foreseeable future.) This means serialization may continue to work with existing code.

It is better to wait on converting boolean to bool until I've moved some of the .c files to .cpp. Otherwise, the macro situation will get complicated. I need to get back to my original goal of removing all warnings before moving ahead to the actual C++ port.

WinRott.cpp - Removed all warnings, except for unused parameters in calls to WinMain and SetStrInRegdb. 4 warnings total. Changed all string calls to new safe string calls.

wad.c - Removed all warnings. Changed all string calls to new safe string calls.

Testing was successful with the new code. One of the things I don't like is the mixture of windows based calls like lstrcpy and c runtime calls like strcpy. I would prefer to standardize on StringCchCopy for all of the calls. See StringSafe.h prototypes in the Windows SDK.

ScrewTurn Wiki version Some of the icons created by FamFamFam.