Changes

Jump to navigation Jump to search
37 bytes removed ,  18:15, 10 August 2009
m
Robot: Cosmetic changes
Line 1: Line 1:  
{{Infobox homebrew
 
{{Infobox homebrew
 
| title      = Paradroid
 
| title      = Paradroid
| image      = [[Image:Paradroid.png]]
+
| image      = [[File:Paradroid.png]]
 
| type        = platform game
 
| type        = platform game
 
| author      = [[User:Okachobi|Okachobi]]
 
| author      = [[User:Okachobi|Okachobi]]
Line 25: Line 25:  
Install the Homebrew Channel if you haven't. Download the 7-Zip Archive file and extract it to the /apps directory of your SD-Card. Insert card and launch from Homebrew Channel.
 
Install the Homebrew Channel if you haven't. Download the 7-Zip Archive file and extract it to the /apps directory of your SD-Card. Insert card and launch from Homebrew Channel.
   −
Alternatively, and preferably, use the [[Homebrew_Browser|Homebrew Browser]] to install this and many other great games!
+
Alternatively, and preferably, use the [[Homebrew Browser]] to install this and many other great games!
   −
==Controls==
+
== Controls ==
 
<YouTube>xfN0029swK0</YouTube>
 
<YouTube>xfN0029swK0</YouTube>
 
{| class="wikitable"
 
{| class="wikitable"
Line 68: Line 68:     
== Source Code ==
 
== Source Code ==
[[Media:Paradroid_Wii-src-0.4.rar|Paradroid_Wii-src-0.4.rar]] is now available. This source code is licensed under the GPL and is a derivative of the SDL Paradroid source code written by David Berry available on [http://paradroid.sourceforge.net/ SourceForge]. You will need the artwork from the SDL Paradroid Wii binary distribution as well as the SDL_Port, SDL_mixer, SDL_image, libjpeg libraries. There have been modifications to the art supplied with sourceforge Paradroid SDL to change bit-depth and reduce memory consumption. make will likely fail out of the box until you customize the search locations for these libraries. IDE Project files are provided for XCode on Mac, and Programmer's Notepad (included with DevKitPro on PC).
+
[[Media:Paradroid_Wii-src-0.4.rar|Paradroid_Wii-src-0.4.rar]] is now available. This source code is licensed under the GPL and is a derivative of the SDL Paradroid source code written by David Berry available on [http://paradroid.sourceforge.net/ SourceForge]. You will need the artwork from the SDL Paradroid Wii binary distribution as well as the SDL_Port, SDL_mixer, SDL_image, libjpeg libraries. There have been modifications to the art supplied with sourceforge Paradroid SDL to change bit-depth and reduce memory consumption. make will likely fail out of the box until you customize the search locations for these libraries. IDE Project files are provided for XCode on Mac, and Programmer's Notepad (included with DevKitPro on PC).
    
== Problems ==
 
== Problems ==
I appreciate any [[Talk:Paradroid|reports of issues]] and will try to resolve any reported issues. If you have a crash or other issue, please contact me and include the stack trace (the numbers separated by "=>") from the crash dump screen along with the logfile.log from the apps/Paradroid/data directory of your SDCARD.
+
I appreciate any [[Talk:Paradroid|reports of issues]] and will try to resolve any reported issues. If you have a crash or other issue, please contact me and include the stack trace (the numbers separated by "=>") from the crash dump screen along with the logfile.log from the apps/Paradroid/data directory of your SDCARD.
 
   
 
   
 
== Status (in detail) ==
 
== Status (in detail) ==
*'''06/21/09 - Problem resolved. v0.6 released. Happy Father's Day!'''
+
*'''06/21/09 - Problem resolved. v0.6 released. Happy Father's Day!'''
** Thanks to [[User:Teknecal|Teknecal]] for his help tracking down this issue. The problem did not affect my Wii, but some Wii's or SD cards apparently do not work with the old libfat path style that lacks the sd: prefix. Full sd: paths have been added to all files. That is the only change in this release and should fix compatibility.
+
** Thanks to [[User:Teknecal|Teknecal]] for his help tracking down this issue. The problem did not affect my Wii, but some Wii's or SD cards apparently do not work with the old libfat path style that lacks the sd: prefix. Full sd: paths have been added to all files. That is the only change in this release and should fix compatibility.
    
----
 
----
Line 98: Line 98:  
* Changes in v0.4
 
* Changes in v0.4
 
** Yellow and Red Alerts no longer continuously contribute to your score.
 
** Yellow and Red Alerts no longer continuously contribute to your score.
*** This was a feature of SDL Paradroid, but not the original C=64 Paradroid. It caused an issue where the backlog of points tricked the game into believing you were on a continuous rampage and never lowered the alert states since it detected a killing spree by looking at the score backlog. This may have worked ok on the PC, but its possible that when I changed the frame-rate timing method that it broke the timing that made this work. It was a good feature in SDL Paradroid, but at least for now its gone.
+
*** This was a feature of SDL Paradroid, but not the original C=64 Paradroid. It caused an issue where the backlog of points tricked the game into believing you were on a continuous rampage and never lowered the alert states since it detected a killing spree by looking at the score backlog. This may have worked ok on the PC, but its possible that when I changed the frame-rate timing method that it broke the timing that made this work. It was a good feature in SDL Paradroid, but at least for now its gone.
 
*** Now Yellow and Red Alerts will give bonuses for all bots destroyed or overtaken
 
*** Now Yellow and Red Alerts will give bonuses for all bots destroyed or overtaken
** Bugs fixed around actual number of levels and macros that defined max levels - I *believe* this was causing the crashes by overrunning buffers (this wasn't an issue in Paradroid SDL because it statically allocated the level array to the max allowed levels and not the available ship levels. When I changed this code to do dynamic allocations this apparently caused this issue)
+
** Bugs fixed around actual number of levels and macros that defined max levels - I *believe* this was causing the crashes by overrunning buffers (this wasn't an issue in Paradroid SDL because it statically allocated the level array to the max allowed levels and not the available ship levels. When I changed this code to do dynamic allocations this apparently caused this issue)
 
** Memory leaks found and fixed
 
** Memory leaks found and fixed
 
** Birds-eye view map offsets fixed
 
** Birds-eye view map offsets fixed
Line 116: Line 116:  
----
 
----
 
*'''11/30 - Status update part 3'''
 
*'''11/30 - Status update part 3'''
** Although the memory leak is fixed, I've now uncovered another bug that causes a complete freeze after playing for some time. I have no way to troubleshoot this sort of issue on the Wii, so I intend to go ahead and release the code since I have no reliable way to determine the cause. In the meantime I'll back-port the Wii-SDL Paradroid to Windows so I can use Boundschecker to find any references to uninitialized memory or buffer under/over-runs. I have taken these things for granted on Windows and the majority of the Paradroid code is not my own. This is going to take a little time, but again, maybe I'll have this resolved by new years. Wii Homebrew needs an electricfence port!
+
** Although the memory leak is fixed, I've now uncovered another bug that causes a complete freeze after playing for some time. I have no way to troubleshoot this sort of issue on the Wii, so I intend to go ahead and release the code since I have no reliable way to determine the cause. In the meantime I'll back-port the Wii-SDL Paradroid to Windows so I can use Boundschecker to find any references to uninitialized memory or buffer under/over-runs. I have taken these things for granted on Windows and the majority of the Paradroid code is not my own. This is going to take a little time, but again, maybe I'll have this resolved by new years. Wii Homebrew needs an electricfence port!
 
----
 
----
 
*'''11/29 - Status update part 2'''
 
*'''11/29 - Status update part 2'''
** The memory leak was found! I'm going to clean up a few issues this evening and hopefully have a beta-quality release by Monday. I'm not quite sure how to handle QA/Testing with homebrew apps, but as of the next release I'll ask for teknecal to add it to the homebrew browser. Wiibrew needs a bug database...
+
** The memory leak was found! I'm going to clean up a few issues this evening and hopefully have a beta-quality release by Monday. I'm not quite sure how to handle QA/Testing with homebrew apps, but as of the next release I'll ask for teknecal to add it to the homebrew browser. Wiibrew needs a bug database...
 
----
 
----
 
*'''11/23 - Status update only'''
 
*'''11/23 - Status update only'''
** Over the holidays I intend to do a deep dive and find the remaining memory leaks that prevent this from being of releasable quality. I held back efforts for a while after Nintendo released their patch drawing into question the future of HomeBrew apps. I hope that Nintendo some day sees this community as a benefit to their console and supports it with some official support for homebrew applications.
+
** Over the holidays I intend to do a deep dive and find the remaining memory leaks that prevent this from being of releasable quality. I held back efforts for a while after Nintendo released their patch drawing into question the future of HomeBrew apps. I hope that Nintendo some day sees this community as a benefit to their console and supports it with some official support for homebrew applications.
 
----
 
----
 
*'''10/16 - New alpha release with sound'''
 
*'''10/16 - New alpha release with sound'''
Line 139: Line 139:  
----
 
----
 
*'''10/15 - Sound rewrite'''
 
*'''10/15 - Sound rewrite'''
** Disabling sound fixes the crash issue. I'm in the process of thoroughly reviewing my use of SDL_mixer and if that fails, I'll drop in a replacement audio library.
+
** Disabling sound fixes the crash issue. I'm in the process of thoroughly reviewing my use of SDL_mixer and if that fails, I'll drop in a replacement audio library.
 
----
 
----
 
*'''10/3 - Plea for help'''
 
*'''10/3 - Plea for help'''
** I have sound working but I'm now seeing seemingly random freezes where the screen goes black and the code locks up. There is no core dump or display of registers or stack trace, so I have no way to know what is causing it. I don't yet own a USB Gecko, and there appears to be no pattern to this, so I have no way to debug this issue. If any developer reading this owns a USB Gecko and is willing to take the code and run it with a debugger to help find the problem, please contact me either through the discussion page or my email on my user page. I probably will not put up a binary with sound until the freezes are fixed, at which point it may be ready for release. So its very close, but I could use some assistance to push it over the finish line.
+
** I have sound working but I'm now seeing seemingly random freezes where the screen goes black and the code locks up. There is no core dump or display of registers or stack trace, so I have no way to know what is causing it. I don't yet own a USB Gecko, and there appears to be no pattern to this, so I have no way to debug this issue. If any developer reading this owns a USB Gecko and is willing to take the code and run it with a debugger to help find the problem, please contact me either through the discussion page or my email on my user page. I probably will not put up a binary with sound until the freezes are fixed, at which point it may be ready for release. So its very close, but I could use some assistance to push it over the finish line.
 
----
 
----
 
*'''9/25 - Updated preview (alpha) release'''
 
*'''9/25 - Updated preview (alpha) release'''
Line 195: Line 195:  
** Fixed byte-order issues with level loading code
 
** Fixed byte-order issues with level loading code
 
** Fixed a few uninitialized structures that apparently were getting zeroed automatically by other implementations of malloc
 
** Fixed a few uninitialized structures that apparently were getting zeroed automatically by other implementations of malloc
** Ran out of memory and had to reduce bitdepth from 32 to 8. Will try to cut some fat and go back to 32 bit if performance is ok
+
** Ran out of memory and had to reduce bitdepth from 32 to 8. Will try to cut some fat and go back to 32 bit if performance is ok
 
*** If anyone who knows SDL fairly well can give me tips for mixing 8 with 32 bit display surfaces to save memory, it would be appreciated- the existing code seems to convert all surfaces to the same as the main display, probably for performance?
 
*** If anyone who knows SDL fairly well can give me tips for mixing 8 with 32 bit display surfaces to save memory, it would be appreciated- the existing code seems to convert all surfaces to the same as the main display, probably for performance?
 
** Apparently SDL for Wii does not support hardware surfaces
 
** Apparently SDL for Wii does not support hardware surfaces
Line 205: Line 205:  
----
 
----
 
* '''9/5 - Work began on port'''
 
* '''9/5 - Work began on port'''
 +
 
[[Category:Homebrew using SDL libraries]]
 
[[Category:Homebrew using SDL libraries]]
 
[[Category:Open source homebrew]]
 
[[Category:Open source homebrew]]
1,189

edits

Navigation menu