Main Page

From Danmakufu Wiki
Jump to: navigation, search

Welcome to the Danmakufu Wiki

With the growing popularity of Touhou and its fans, this wiki has been spawned in order to provide a comprehensive user-guide to create and play fan-made spellcards, bosses, stages, and even entire games within the engine: Touhou Danmakufu.

Danmakufu ph3

Danmakufu 0.12m

Logoph3.png Logo012m.png
Danmakufu ph3 is the new and advanced engine from mkm. It is similar to 0.12m, yet grants much more flexibility. In this engine, you can create things that are somewhat impossible to achieve in the old engine. Ph3 is continuously being updated by the author, so make sure you keep an eye on the releases on the official site or here on the wiki.

Download ph3




Danmakufu 0.12m was the first engine from mkm to allow fans to create their own touhou games. Development has been discontinued with the release of the new engine. However, this wiki still provides plenty of support. If you're new to Danmakufu, it is highly recommended that you start with the new engine.

Download 0.12m




News and updates

  • 18 January 2015 - Danmakufu ph3 [.1 pre6a] has been released!
  • Custom bullet scripts' tasks have been fixed (Thanks to Mr. Grn)
  • Fixed ObjShot_SetDeleteFrame, where bullets that were deleted using the function did not induce the EV_DELETE_SHOT_IMMEDIATE event (Thanks to Mr. Grn)
  • GetFilePathList has replaced GetFileList (Thanks to Mr. Ultima Power)
  • 11 January 2015 - Danmakufu ph3 [.1 pre6] has been released!

GetFilePathList is currently named GetFileList. It will be renamed GetFilePathList in the next update!

  • The ability to retrieve the ID of the object that hit the player during the EV_HIT event
  • The ability to retrieve the damage and penetration of a bullet (ObjShot_GetDamage, ObjShot_GetPenetration)
  • The ability to retrieve the speed of the player (GetPlayerSpeed)
  • The ability to retrieve the range of the player's clip boundaries (GetPlayerClip)
  • The ability to retrieve all files in a folder (GetFilePathList)
  • Fixed that the remaining lives and bombs in a saved replay were being truncated (Thanks to Mr. Ultima Power)
  • Fixed the volume of ObjSound_SetVolumeRate to be modified linearly (Thanks to Mr. Gore)
  • 4 January 2015 - Danmakufu ph3 [.1 pre5] has been released!
  • Custom bullet scripts (StartShotScript, New Help Documentation: Custom Bullet Scripts (弾動作カスタムスクリプト)
  • Function to toggle Event notification during bullet deletion (SetShotDeleteEventEnable)
  • Function to retrieve the remaining delay time of a bullet (ObjShot_GetDelay)
  • Function to set the interval of items in a laser (ObjLaser_SetItemDistance)
  • Updated EV_GRAZE to also notify the item script
  • Fixed SetInvalidRenderPriorityA1 having incorrect range values (Thanks to Mr. myst and Mr. Miransu Uwabami)
  • Fixed ObjShader_SetShaderO not working
  • Fixed GetObjectDistance crashing if you used an invalid object. It will now return a -1 (Thanks to Mr. Grn)
  • 14 July 2014 - Danmakufu ph3 [.1 pre4a] has been released!
  • Fixed that some .mqo files were no longer being read (Thanks to Gore-shi)
  • 12 July 2014 - Danmakufu ph3 [.1 pre4] has been released!
  • Pixel Shader Support
  • New functions: ObjShader_XXX, SetShaderI, ResetShaderI, IsPixelShaderSupport
  • New help documentation: "Pixel Shader" (ピクセルシェーダ)
  • New samples: "SamplePS01", "SamplePS02", "SamplePS03"
  • The ability to only set a player's graze hitbox (ObjPlayer_AddIntersectionCircleA2)
  • Fixed existing data not being removed when regenerating common data (Thanks to Mr. Grn)
  • Fixed SaveRenderedTextureA1 and A2 functions failing to output a file (Thanks to Gore-shi)
  • Fixed ObjRender_SetFogEnable to affect only the specified object instead of the entire layer (Thanks to Mr. Ultima)
  • Fixed NotifyEvent and NotifyEventAll not notifying custom scripts, such as a pause script (Thanks to Mr. Ultima)
  • 1 Mar 2014 - Danmakufu ph3 [.1 pre3] has been released!
  • ObjSound_SetPanRate: You can now determine which side of the speakers sound will go to
  • Obj_IsVisible: It is now possible to determine whether or not an object is visible
  • ObjRender_SetColorHSV: You can now set hue, saturation, and value for a render object
  • ObjPrim_GetVertexPosition
  • ObjText_GetTotalWidth, ObjText_GetTotalHeight
  • ObjShot_SetIntersectionLine
  • ObjLaser_SetGrazeInvalidFrame
  • ObjCrLaser_SetTipDecrement: You can now set the transparency of a laser tip
  • #UserShotData: We can now set the default delay color if delay_color was not set inside of a shot id
  • NEW CONFIG.EXE CHANGES. It is highly recommend that you override your config.exe with pre3's. We can also change the pad we use while playing, and we are able to change the rendering resolution within the config
  • #including empty files no longer causes Danmakufu to stop responding/crash/freeze
  • SaveRenderedTextureA1,A2 fixed; they could not save rendered textures made with CreateRenderTarget function
  • 22 Jan 2014 - Danmakufu ph3 [.1 pre2] has been released!
  • Unicode bug fixed *If you are getting _NextChar errors, please report them.
  • Font used for English and Japanese Locales is now MS Gothic by Default.
  • Some scripts, such as Experiment 354, will either not be able to have their directories loaded, or will not be able to be loaded upon script selection. Please be aware that many scripts, especially players, may have text issues due to font changes.
  • 19 Jan 2014 - ph3 [.1] is still broken.
Mkm has not provided a fix yet for ph3 .1, therefore kindly use the latest stable .0 from his site or use Sparen's mirror for 0. pre23.
Download links have been temporarily updated.
  • 12 Jan 2014 - Danmakufu ph3 [.1 pre1] has been released! (version has been retracted due to bugs)
If you are having trouble finding ph3 [.0 pre23], there is a mirror link here: Sparen's Mirror for pre23
The following is a link to the .0 release of ph3 on the official site: ph3 .0
  • You can now use unicode in the def file or in scripts. (ph3 is easier to play when not in Japanese Locale)
  • Error messages are now in both Japanese and English (according to mkm)
  • In #UserShotData, you can manually set the blend type for the delay rect instead of being forced to add
  • You can now use ObjText_SetSidePitch to set the distance between characters
  • Laser source and delay are now ARGB (?)
  • [.1 pre1] may break most scripts made in pre23 or before and, if this happens, will bring up a _NextChar error.
  • 21 Dec 2013 - Danmakufu ph3 [.0 pre23] has been released!
  • Changed ObjRender_SetBlendType to effectively work on shots and lasers
  • In #UserShotData, you can now specify MULTIPLY, SUBTRACT, INV_DESTRGB as render types
  • In #UserShotData, you can now specify a separate delay_rect for each bullet ID
  • Fixed ObjRender_SetFogEnable not disabling the fog
  • Fixed the Yaw, Roll, Pitch settings of the camera not resetting upon script termination