Filetrip Logo

Paradroid Wii 0.4

* 12/4 - v0.4 Released!
o I believe the final major crash bug has been fixed
o No longer alpha! Ready for inclusion in homebrew browser.

* Changes in v0.4
o 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.
+ Now Yellow and Red Alerts will give bonuses for all bots destroyed or overtaken
o 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)
o Memory leaks found and fixed
o Birds-eye view map offsets fixed
o Scoreboard should be fully functional
o Boundary checks added for level array to prevent bad x/y coords from crashing game- though I think this might have been caused by the level mismatch bug

* Known Issues
o Lift teleport issue- lift on a certain level will teleport you to another lift if you activate it, then exit without changing levels
o Bots sometimes get confused or stuck - but hey, they're bots, right?
o Sometimes after a successful transfer the transfer sound doesn't play and you exit the transfer screen immediately
o Occasionally it seems like a successful transfer results in a tie- but its likely a display update issue

* 11/30 - Status update part 3
o 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
o 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
o 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
o Still not a stable release and will crash due to memory leaks
o Fixed
+ Sound enabled!!!
+ No longer dependent on SDL_mixer callback that crashes program
+ Overhead map displays on console- offsets need adjusting
o Known issues
+ Memory leaks will eventually consume all memory and cause a crash
+ Scoreboard doesn't save
+ Occasionally players droid loses ability to attack?!?
+ Red/Yellow/Green Alerts not properly resetting- points continuously increase after Red Alert
+ Bots still get stuck
+ various other issues that will be resolved after the major memory issue

* 10/15 - Sound rewrite
o 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
o 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
o Fixed
+ Explosion graphics now work (libFAT issue with long filenames)
+ Memory usage significantly reduced
+ Performance improved considerably
+ Frame rendering code changes
+ Level properly dims after cleared (also libFAT-related)
+ More logging added (logfile may grow faster as a result)
+ Distribution zip size reduced
o Known Issues
+ Sound disabled purposely - will start working on it soon
+ Top down map on consoles not functioning yet
+ Red/Yellow/Green Alerts not properly resetting- points continuously increase after Red Alert
+ Collisions seem wonky - droids get stuck - need to check if I introduced this bug
+ Impossible to input scoreboard entries
+ Scoreboard file apparently has byte order issue

* 9/20 - Packaged preview distribution - try at your own risk
o Download available for testing purposes
+ Extract zip to your apps/ directory on sdcard for Homebrew Channel launching
+ beware- it logs to the SDCARD under the /apps/Paradroid/Data directory/*.log - this file can grow large in time
o Still no sound - and little memory available to load sound
o Modified original to support some surfaces as 8bpp to save memory
+ planning to use late-loading of surfaces based on need to reduce overall usage
o Temporarily eliminated screen-flash during disruptor fire to save memory
o Converted some graphics to 8bpp to use less surface memory
o Freed splash screen after use
o Re-enabled 32bpp main surfaces now that some memory is available
o Top-down map view doesn't work from computer consoles due to memory constraints
o Key mapping won't work - don't bother trying it- just use wii-mote turned sideways
+ D-PAD moves droid, 2 fires, 1 toggles console, holding 2 while moving initiates transfer mode, home button exits
o Explosion graphics don't seem to be working quite right
o Droids get stuck a lot (not sure if this was an issue in original SDL Paradroid)
o There appear to be bugs related to the damage processing
o 'Dead' levels (cleared levels) don't appear to switch to the darkened tileset
o May still crash due to lack of memory and possible leaks
o display code needs rewritten so as not to allocate a 4 meg offscreen map...
o looking for help in trimming memory usage, email me if anyone is interested in assisting
o thinking about getting a USB Gecko thingy to do some real debugging.
o Elevator side view fixed (byte order issue while reading data file)

* 9/14 - Milestone reached - playability
o Worked around printf()/sprintf() issues by writing my own versions
o SDL port doesn't directly support Wii D-Pad and only sends buttons when IR is active
+ Added code to Paradroid using WPAD Library to read Wii Controller and translate to SDL Key events
o Removed Physfs since there is not a Wii Port yet (and a compressed data file is not essential)
o Fixed numerous memory leaks, possibly introduced by remove physfs
o 'fixed' file logging- which requires open/close on each log write to the sdcard
o Sound currently disabled- need to find FMOD port, or rewrite for SDL_mixer
o Fixed byte-order issues with level loading code
o Fixed a few uninitialized structures that apparently were getting zeroed automatically by other implementations of malloc
o 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?
o Apparently SDL for Wii does not support hardware surfaces
o Explosions are causing an SDL bitblit option not supported- may be alpha issue with 8 bit graphics
o Other bots seem to walk right through your droid- I thought they bounced off in the original?
o side-view and top-down maps don't appear to be working
o elevator side-view also not working
+ suspect another uninitialized structure issue or byte order issue with data files

* 9/5 - Work began on port

Change log (0.4):
comments powered by Disqus