Saturday, August 1, 2009

TankTank 0.2.5




Network Multiplayer! Six game types! New Maps! Exclamation Points! New Shotgun! Pushy Zones! Chile Rellenos! Wait, that is lunch. But the other things! Some crashes! Avoid Grue!

Note: Join takes player to default server. To specify use ./tanktank client <ip>

Download

Saturday, April 18, 2009

TankTank 0.2.0



New version of tankttank. Release includes x64,x86,win32.

Supports six players on one keyboard. Get cozy! Although you can't change the number of players with recompiling. Also supports king of the hill, and proper score keeping in single or multi-player mode. Increased rotational damping and ground friction so people are actually capable of playing it. Makes it a little harder to kill yourself on a wall. Also added viewport sharing so you can see your screen with six players. Stay close or you'll get stuck offscreen and eaten by a grue.

O, there is sound now also!

Try the new King of the Hill
./tanktank ./levels/hill_eight.svg

Download

Mingw

Maybe this is useful

Mingw + SDL

Thursday, March 12, 2009

Catching data on the way out

So, pulling variable contents off the stack in the middle of a function and dumping to a file via the debugger is easier then it appears. First, don't use ddd. This process over a few hundred thousand iterations would have taken hours, except it kept crashing ddd in the middle. Using gdb took mere minutes.

#For the dynamic case, stop where we can see what is going on
break some_dynamicly_loaded_function
run
#Now we know our loaded offset
break *some_dynamicly_loaded_function+length_of_said_dynamicly_loaded_function
delete 1

#Hook up commands to process data and continue
commands 2
#Get data from pointer argument
set $start = (((unsigned long*)$esp)[arg_index_of_paramater_you_want])
set $end = ($start + length_of_out_paramter)
append binary memory test.bin $start $end
cont
end

#Fix gdb because it will print every time breakpoint hits, which triggers pagination
set pagination off
#Go
cont

Saturday, February 21, 2009

TankTank for Windows


Alright. A few painful sessions with windows headers and piles of dlls and I've come up with a windows build of my game tank tank.

The controls are still listed here. The game itself didn't change much from 0.1.7 except that I no longer link against ImageMagick++ or SDL_mixer as I couldn't either of them to link properly. The latter was just crashing mingw's ld. That breaks text, and I never hooked up sound.

This release doesn't include source, I had to make a mess to cross compile and I don't want to clean it up.

tanktank-0.1.8.tar.gz

O yah, it works in wine just fine.

Thursday, February 19, 2009

Delicious Coffee

Ahh, getting no support is fun.

Sunday, February 15, 2009

Delicious 32 libraries

Missing 32bit devel packages on your 64 bit system?

Just install them apparently. You just have to compose the repo url then walk dependencies manually from otter bones. Or run that script. Otter bones included.

Monday, February 2, 2009

Runtime Stacks

Mmm, Stacks

It does not appear to make a difference in glibc malloc catches at least.

Sunday, February 1, 2009

Heisenbug

You might even find a Heisenbug, which can be incredibly difficult to track down, since a) it surfaces very rarely, b) the conditions can be impossible to replicate, and c) introducing test code can "fix" the problem.