Monday, January 23, 2012

More Wizznic :P

Been hacking a bit more on Wizznic, finding the "angle of least change" in order
to turn the text/arrow keys based menus into something that also works with a mouse-pointer..
I made a nasty hack that I quite like, and that I suggest you think about twice before doing..
Every time I call my "txtWrite" function, that function will now update an internal variable containing the "box" size of the text..
So, right after a call to txtWrite, if I do getTxtBox, I get a pointer to this rectangle.
Thus:
txtWrite("Some text", some, position);
if ( isBoxClicked( getTxtBox() ) ) { //Box was clicked }

Hehe..
In other news, I was briefly hospitalized this thursday, and thus, wasted a weekend of coding, so wizznic release date is pushed a week, meaning there's also a slim chance my gfx guy have the time he needs to finish another theme :)

Saturday, January 14, 2012

Wizznic, Content and the big 1.0.


  1. was to go through the 4 subdirs, having the first "map" logically to "1,2,3,4" and the second to "5,6,7,8" and so on, this way, we would only have to worry about sorting a chunk of 4 levels at a time, which is a lot easier than to inspect 20 levels as a whole.


Sunday, January 8, 2012

More Wizznic! hacking! :D

I've been giving Wizznic some attention lately, and gotten some nice things done, I feel sharp :)
I added a little cursor inside the cursor to give the user a better feel of where the actual cursor is, it feels right :)
I fixed a long standing bug that made the cursor sometimes "jump" around when moving a brick with a brick on top of it, this happened because I have this lock mechanism, but I forgot to "unlock" the bricks after un-grabbing them :P

I also rearranged the way levels load graphics, walls are one part, "brick die" animations is one part, and the rest of the tiles are one part. This means that for example, die-animations are no longer dependant on the name of the tileset, walls are no longer dependant on the name of the tileset. This makes it possible to have several wall-sets in (or tile-sets, or die-animations or any combination hereof) in a theme.

I also solved an issue that have annoyed me for quite a while, that the "magnet/glue and one-way only" tiles were not treated as walls, even though they are basically that.. Now they are, which makes the wall-tile-selection a lot prettier to look at visually, they are also overlaid on top of the walls, making reuse easier (but optional).

I also noticed that some players had trouble detecting (yes, people are machines) the edges of the walls, making them believe that sometimes they were able to move bricks, even though there were a wall there, other times they would not move bricks to obvious places, because they believed that there was a wall (when, in fact, there was none). I have partly solved this by making the edges of the walls a little brighter. In addition, I am thinking about adding some more details to the inside of the wall tiles, tough at this moment I don't know what it would be, maybe my graphics guy have an idea and will do this? :D

And here's a little video showing those new cool things, the code is not on github yet, I still need to convert all the levels..




Friday, January 6, 2012

Wizznic! Touchscreens!

So, I hacked around Wizznic a bit last night and got some pretty decent mouse/touchscreen support going, this is pretty usefull on wiz, and if there's a touchscreen on the PSP I could imagine it'd be nice there too..

Anyway, it also works on PC.. I', not done with this yet though, if you wanna try it, you'll have to compile the source from github.




Thursday, December 29, 2011

Wizznic! 0.9.9 Released

Finally, after so much time, and so little work.. I am very proud to present yet another version of my little hobby project, Wizznic!
Thanks goes out to ViperMD who have helped me a lot during the preparation of this release, especially his awesome graphics skills and providing a windows box for building, also for putting up with my ranting ;)

The actual Wiz version will be out in a couple of days, also the PSP version will come out later.

Get it here: http://sf.net/projects/wizznic

Changes since last release:
0.9.9
Reordered levels
Corrected some misaligned text
Changed level file naming from levelX.wzp to levelXXX.wzp (level0.wzp is now level000.wzp and level10.wzp is level010.wzp).
Time that it takes for a brick to "die" affects the framerate of the expl-animation, this value can now be set from each level.
Particle systems have a layer associated, either PSYS_LAYER_TOP, PSYS_LAYER_UNDERDEATHANIM or PSYS_LAYER_UNDERBRICK.
"Thor" theme by ViperMD.
Tiles 0-17 can be animated from files TILEBASE-tile#.png, animation runs at 12 fps, one row of images, number of frames abritary.
Clocked wiz up to 600 mhz since the pixel plotting function became a bit heavier.
OpenGL support is enabled by default, compile with WITH_OPENGL=false to disable. See readme[1.0.4] for more information.

0.9.2-preview2
Made more changes to code to better allow for non-320x240 screensizes, fixed some related
bugs. The highscore onscreen keyboard for one.
Changed the "Please enable feedback" screen to be more obvious.
Applied PSP patch from Riviera71, this patch makes some code prettier and also more
portable for devices with non 320x240, by defining display size for device in defs.h
0.9.2-preview
Several new graphical themes added to main package.
Cut down number of background music to 9.
Prefixed wizznic pack-names with 000_ to to make sorting more sane.
Highscores are now properly saved when entering them after selecting "Exit Game".
Fixed bug that made wiz-version "hang" on first run if no settings.ini present.
This bug was hackily fixed in 0.9.1 by having settings.ini be present in the zip.
Added option to compile with MAME keyboard layout for use in an arcade cabinet.
Reworked the "Enter Highscore" screen with an onscreen keyboard instead of the
"up/down/menu" thing, which didn't seem nearly as intuitive.
Solved random-letterss/segfault in highscore entry.
Playlist functionality (overrides music= setting in levelfiles with a playlist entry)
this is done to make it easier to put music on packs. The entries are placed in
packname/info.ini and have the format mus=ff-tt,music file.ogg where ff is from
level and tt is to level. mus=00-03,music/song2.ogg will play packname/music/song2.ogg
in levels 0,1,2,3. And mus=23-23,music/song3.ogg will play packname/music/song3.ogg
in level 23.


0.9.1
Changed Wiz default clock to 500 mhz instead of 400 to improve performance.
When completing a pack, PACKNAME/finished.png is loaded and shown instead of wall-o-text.
However, another wall-o-text is shown if there is no finished.png in the pack.
Moved some levels around, removed some levels. 80 levels total.
Added optional WxH argument to tools/updatelevelpreviews.sh to generate images of given size,
while not useful in the game, they are useful for sorting levels (using an image-viewing app to browse them)
"Commercial" for the pack function. in the start of some levels.
Level editor now reads and writes all level properties, including optional ones.
Updated readme.
Updated data/empty.wzp so it contains all level properties, and comments explaining their function and usage.
Added another intro level to teleports, added intro-images to those levels.
Updated the cursor in the NES pack.
Removed "template" pack, it does nothing that the main pack does not show allready.
Fixed music changing in intermediate screens ("Level Stats" and "Entering Level").
Fixed crash that could happen when entering highscores.
Updated ports list (gee, someone ported it to a phone, neat..)
Updated changelog and decided to use X.Y.Z versioning.
Program now calls SDL_Quit() on exit (resets screen-resolution if in fullscreen)
tools/releaser.sh now generates the src package witout src-graphics, instead it generates a srcgfx tarball seperately.
moved the unused theme graphics into src graphics..