Oh so you're going to try to improve on the game?You say it as if I was going to improve the language :V
Touhou... for DS!
http://www.weeaboo.nl/index.php?cat=8
Made by some guy who is not me.
The bigger problem actually is how dying works. When you get hit, you mearly flash and lose one life. If you hit bomb too late, then you end up losing a life AND a bomb. There actually IS deathbomb implemented, however if you miss this window then you face the mentioned concequences. Not only that, but if you do get off the deathbomb, you lose two bombs ala IN, which is pretty stupid since it's completely different from IN in that IN practically pauses the game when you get hit while you barely even notice when you get hit in this game.
I'm that 'some guy'Oh hey :V
I agree, It'll be fixed in the next release (which will be finished shortly).So you're still working on this? Awesome.
Random stuff:
_loop is just something you add to the end of a spell that makes it repeat a fixed number of times (or infinitely).
.dta/.pal files are just raw bitmaps in one of the DS's natively supported formats. The specific format is usually specified in another file, for example in marisa.ini you have the line:
texture=tex_marisa:A3I5
which corresponds to 3-bit alpha + a 5-bit palette index per pixel.
It's possible to test on the PC if you (un)comment a few lines in src/arm9/Makefile and recompile the program (doesn't require programming knowledge). I'll write up a step-by-step instruction tomorrow.
Quick question. I was fooling around, copy and pasting some of the stage 1 demo code (namely the boss and one large fairy) and changing some names and stuff. However when I run it, I get a flashing chen as a boss instaed of Cirno. Also the icicles were invisible.
v0.8.1 2009-05-14
===============================================================================
bugfixes:
- The score screen's scrollpane didn't start out showing the highest score.
- The game selection on the score screen didn't work properly.
- Fixed a memory leak in the sound manager.
- Objects with hitbox=0 would still cause collisions.
improvements:
- Support for multiple/selfmade download repositories
- Deathbombing no longer requires 2 bombs and after dying there's a small
period where bombing is disabled to avoid losing a bomb because you were
too late trying to deathbomb.
- Nicer character select screen
- Added a fifth stage + small improvements to older stages
- Added Sanae as a character
scripting language:
- Added _for, size, drawAngle commands
I'd love to play it, but I have this "You need DLDI"-problem ( :'( ), and I have absolultely no clue how to solve it. I'm using No$Cash BTW.
Trying to fix the bug:Still crashes after I beat stage 5. Top screen gives an error, a whole bunch of numbers and the music starts repeating the same 2 seconds over and over
http://www.weeaboo.nl/external/TouhouDS-r109.nds (http://www.weeaboo.nl/external/TouhouDS-r109.nds)
v0.8.2 2009-05-21
===============================================================================
bugfixes:
- Game crashed after a certain number of spellcards.
improvements:
- Decreased memory usage and memory fragmentation
- References to spellbooks cache their results for better performance.
i have an idea, i dont know if you have it implemented, but i have k noticed there is a wifi option in the game, it would be a nice thing to make a... zone or a place (im lacking on my terms of what this would be.. lol) where the players can download other versions of peoples levels for this game.. just an idea i had when i was playing this
i have an idea, i dont know if you have it implemented, but i have k noticed there is a wifi option in the game, it would be a nice thing to make a... zone or a place (im lacking on my terms of what this would be.. lol) where the players can download other versions of peoples levels for this game.. just an idea i had when i was playing this
First co-op
First co-op
First co-op
Ok so how do you get this onto the DS?You'll need a flashcart of some kind
SA_Marisa_B = {opts={}, mode=0, switchCooldown=0}
function SA_Marisa_B:init()
self.lastX = self:getX()
self.lastY = self:getY()
for n=1, 4 do
self.opts[n] = Sprite.new(Nil, SpriteType.SPRITE_default, self.lastX, self.lastY)
self.opts[n]:setVisible(false)
end
end
function SA_Marisa_B:update()
self:onModeChanged()
while true do
local x = self:getX()
local y = self:getY()
local level = self:getAttackLevel()
for n=1, 4 do
self.opts[n]:setVisible(n <= level)
end
local focusPressed = self:isButtonPressed(Keys.VK_focus)
local firePressed = self:isButtonPressed(Keys.VK_fire)
if self.switchCooldown > 0 and focusPressed and firePressed then
self.mode = self.mode + 1
if self.mode > 4 then
self.mode = 0
end
self.switchCooldown = 0
self:onModeChanged()
end
if focusPressed or firePressed then
self.switchCooldown = self.switchCooldown - 1
else
self.switchCooldown = 2
end
if self.mode == 1 then
self.opts[1]:setPos(x-8, y+24)
self.opts[2]:setPos(x+8, y+24)
self.opts[3]:setPos(x-24, y+24)
self.opts[4]:setPos(x+24, y+24)
elseif self.mode == 2 then
self.opts[1]:setPos(x-16, y-16)
self.opts[2]:setPos(x+16, y-16)
self.opts[3]:setPos(x-16, y-16)
self.opts[4]:setPos(x+16, y-16)
elseif self.mode == 3 then
self.opts[1]:setPos(x, y-40)
self.opts[2]:setPos(x, y+40)
self.opts[3]:setPos(x, y-20)
self.opts[4]:setPos(x, y+20)
elseif self.mode == 4 then
self.opts[1]:setPos(x, y+40)
self.opts[2]:setPos(x-16, y+24)
self.opts[3]:setPos(x+16, y+24)
self.opts[4]:setPos(x, y+24)
else
self.opts[1]:setPos(x-24, y-8)
self.opts[2]:setPos(x+24, y-8)
self.opts[3]:setPos(x-24, y+8)
self.opts[4]:setPos(x+24, y+8)
end
yield(2)
end
end
function SA_Marisa_B:onModeChanged()
local dx = self.mode * 8
local dy = 0
if self.mode >= 3 then
dx = dx - 24
dy = 8
end
for n=1, 4 do
self.opts[n]:setImage(TextureType.TEX_player, 96 + dx, 96 + dy, 8, 8)
end
if self.mode == 0 then
self.opts[1]:setAngle(6)
self.opts[2]:setAngle(-6)
self.opts[3]:setAngle(6)
self.opts[4]:setAngle(-6)
elseif self.mode == 1 then
self.opts[1]:setAngle(-8)
self.opts[2]:setAngle(8)
self.opts[3]:setAngle(-16)
self.opts[4]:setAngle(16)
elseif self.mode == 2 then
self.opts[1]:setAngle(-20)
self.opts[2]:setAngle(20)
self.opts[3]:setAngle(-28)
self.opts[4]:setAngle(28)
elseif self.mode == 3 then
self.opts[1]:setAngle(128)
self.opts[2]:setAngle(-128)
self.opts[3]:setAngle(-128)
self.opts[4]:setAngle(128)
elseif self.mode == 4 then
self.opts[1]:setAngle(256)
self.opts[2]:setAngle(256-16)
self.opts[3]:setAngle(256+16)
self.opts[4]:setAngle(256)
end
end
function SA_Marisa_B:fire()
local x = self:getX()
local y = self:getY()
local level = self:getAttackLevel()
local pow1 = self:getAttackPower1()
local pow2 = self:getAttackPower2()
self:fire1(x, y, pow1, 0)
for n=1, 4 do
local opt = self.opts[n]
if opt:isVisible() then
self:fire2(opt:getX(), opt:getY(), pow2, opt:getAngle())
end
end
yield(6)
end
function SA_Marisa_B:fire1(x, y, pow, angle)
local sprite = Sprite.new(Nil, SpriteType.SPRITE_playerShot, x, y)
sprite:setImage(TextureType.TEX_player, 0, 104, 24, 24)
sprite:setHitRadius(10)
sprite:setPower(pow)
sprite:setAngle(angle)
sprite:setSpeed(12)
end
function SA_Marisa_B:fire2(x, y, pow, angle)
local m = 24
if self.mode == 1 then m = 48 end
if self.mode == 2 then m = 0 end
if self.mode == 3 then m = 72 end
if self.mode == 4 then m = 24 end
local sprite = Sprite.new(Nil, SpriteType.SPRITE_playerShot, x, y)
sprite:setImage(TextureType.TEX_player, m, 104, 24, 24)
sprite:setHitRadius(10)
sprite:setPower(pow)
sprite:setAngle(angle)
sprite:setSpeed(12)
end
^What emulator was that tested on? Using iDeaS, I'm getting a libfat error when I try to start it up, and changing my DLDI settings doesn't fix it.no$gba
===============================================================================
v0.9 2009-12-27
===============================================================================
bugfixes:
- On-screen keyboard was broken.
improvements:
- Added support for writing scripts in LUA.
- Update to tools (new TextureConverter & repository creation tool).
- Improved collision system which lifts the maxsize=64x64 restriction and
gives a choice between line-segment and circle collision shapes.
- Added sixth stage + new playable character.
will your version 0.9 beta work on on R4?I have an R4 myself, so yes.
Invalid Installation
Please make sure the game data is stored in /TouhouDS/
1. Put the TouhouDS folder inside the root folder of your flashcard.
2. Run "TouhouDS.nds"
Am I the only guy who can't play this well enough to beat stage 1 because the split in half screen totally screws with you? Any other touhou game I do fine, but I really can't handle the multi screen feature.
so, any suggestions on what I can do would be appriciated.
There are invalid links for all mediafire links you've provided for the games :(
If you meant for the TouhouDS game and files: http://www.mediafire.com/?m2ydrmmzmzx and http://www.mediafire.com/?ojjhk32imyz both work. the second includes source files. both found at http://weeaboo.nl/index.php?cat=8
If you meant the one on this page (for the phantasm stage) http://www.mediafire.com/?nmd3y2nyddgyr01 works, I just tried it.
If you meant the one on this page (for the phantasm stage) http://www.mediafire.com/?nmd3y2nyddgyr01 works, I just tried it.
Where is that Phantasm stage ? :V