MapIt is a tile world editor. MapIt was built around the concept of reversing Dragon Warrior map images. MapIt can take image input and produce a tile and world array.
MapIt features Unity style dragable labels that adjust property values.
MapParser is a C++ project that scans images for unique tiles. MapParser is very fast. Due to hard drive failure, many bugs were restored b/c I had to rewind many years. Frustrated with the design, I wrote a new version from the ground up. This New Version: AutoIt Front-end, command line controls, and shared with the world; so that I can't lose it again.
You can toggle the C++ MapParser off to see the difference in speeds between the MapParser CPP verse AutoIt function. Function is named Scan_Tiles() in AutoIt. You can also chose to download without MapParser.exe.
At the moment Scanning a image resets the arrays, but you can add tiles after scanning.
Images can be added as tiles without scan image at all. Then configure settings to give your world parameters and manually fill the world data with tile indexes.
Using the settings you can change tile size after a scan. Example: you wanted to replace a map with different sized tiles.
Changing and replacing tile / world data is easy. B/c tile world editor.
Hotkeys, I use CTRL+R in image above to signal replace tile action and I use "G" to Get the tile under mouse.
Hotkeys are not saved to disk and thus are set to default between sessions.
I might draw the world to pre-rendered surfaces and use them as multi-layer someday. I do that in my AutoIt, DragonWarrior Remake but I could spend forever unsure what features are important for this. The DW_Remake has a method of replacing a tile with a tile on two layers. So you could replace a tree on the first layer with a grass, and a tree in the second layer. This is all getting very confusing.
I attempted to write the good code. If something could be better, please advise.
Fifth release. Enjoy.
For download, videos, and example of created world file data; please visit the MapIt webpage: http://songersoft.com/programming/mapit/mapit_about.phtml
Special thanks: @AdmiralAlkex, @Melba23, @MrCreatoR
Main AutoIt source file: Will not run without other Includes and SDL DLLs.
Last Update: 5/26/2018 3:45 PM EST
REMOVED CODE BLOCK: I was informed the this page loaded very slowly, one solution so far has been to remove the 2k lines in the code block.
When I recieve more feedback from the User I may reduce image size or remove images.
Next Version Added: $eSETTING_TILE_LAST_PATH I have the weekend, I want to write world layers with aBoard surfaces.
Hello my friends
I have an inquiry and I hope to find the answer here
I want to create a graphical user interface
but I want to hide the system menu
I mean the window menu
Is this possible?
If is possible please give me how to do that
Thanks in advance
I was playing around with simple GUI creation. I tend to like parameter driven coding (in prior life (years ago) as Clipper/FoxPro/dBase coder). Just wanted to see what I could do with a GUI.
#Region options, includes Opt('MustDeclareVars', 1) Opt("GUIOnEventMode", 1) ; Change to OnEvent mode #include <GUIConstantsEx.au3> #EndRegion options, includes Global Const $nCols = 2, $nRows = 6, $nSpacer = 10, $nBtnWidth = 150, $nBtnHeight = 30 Global $xName = 0, $xID = 0 Global $nGUIWidth = ($nCols * $nBtnWidth) + (($nCols + 1) * $nSpacer) Global $nGUIHeight = ($nRows * $nBtnHeight) + (($nRows + 1) * $nSpacer) Global $hMainGUI = GUICreate("Calculated GUI", $nGUIWidth, $nGUIHeight, -1, -1) For $xRows = 1 to $nRows ;in this arrangement, tabbing is left to right, then next row For $xCols = 1 to $nCols ;reverse the order of this line with the prior line for top to bottom tabbing, then next col $xName += 1 $xID += 1 Global $Dummy = GUICtrlCreateButton("Button" & $xName, _ ($nBtnWidth * ($xCols - 1)) + (($xCols - 1) * $nSpacer) + $nSpacer, _ ($nBtnHeight* ($xRows - 1)) + (($xRows - 1) * $nSpacer) + $nSpacer, _ $nBtnWidth, _ $nBtnHeight) GUICtrlSetOnEvent($xID+2, "Handler") Next Next GUISetOnEvent($GUI_EVENT_CLOSE, "CloseApp") GUISetState(@SW_SHOW) While 1 Sleep(10) WEnd Func CloseApp() Exit EndFunc Func Handler() MsgBox(0,0,"Button " & @GUI_CtrlId - 2) EndFunc
For fun, I'm building an app that opens a webpage and refreshes it every 30 seconds.
But once the script performs _IEAction($oIE, "refresh"), the GUI closes.
Any help is appreciated.
;Open the file(s) in the selected folder
$extension = ".txt"
$app2openWith = @SystemDir & "\notepad.exe"
Global $loopTrick = 0
#Region ### START Koda GUI section ### Form=c:\users\mchu\downloads\autoit\my code\form1.kxf
Global $UI = GUICreate("Hit Em Up!", 256, 113, -1, -1)
$menu = _GUICtrlMenu_GetSystemMenu($UI)
_GUICtrlMenu_EnableMenuItem($menu, $SC_CLOSE, 1, False)
Global $url = GUICtrlCreateInput("https://www.youtube.com/watch?v=dQw4w9WgXcQ", 81, 8, 160, 21)
$Label1 = GUICtrlCreateLabel("Target:", 16, 8, 55, 17)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
Global $StartBut = GUICtrlCreateButton("Start", 16, 40, 67, 25)
GUICtrlSetFont(-1, 13, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("(Press F4 to Exit)", 96, 40, 8000, 17)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
#EndRegion ### END Koda GUI section ###
$UIfunc = GUIGetMsg()
Case $UIfunc = $GUI_EVENT_CLOSE
Case $UIfunc = $StartBut
If GUICtrlRead($url) = "" Then
MsgBox(48, "Um...", "Give me a target you idiot.")
If $loopTrick = 0 Then
Global $oIE = _IECreate(GUICtrlRead($url))
ElseIf $loopTrick = 1 Then
$loopTrick = 1
I have a button created with _GUICtrlButton_Create function. I know that this function returns a handle of button instead of an ID. So i have obtain control ID by calling _WinAPI_GetDlgCtrlID function. After that i have tried the GUICtrlSetBkColor function. But it didnt worked. Any suggestions will be appreciated. Thanks in advance.
Note : - The window which carries this button is not created with native gui create function. Instead, it is created with CreateWindowEx api function.