Jump to content
Sign in to follow this  
Xandy

MapIt , Tile World from Image

Recommended Posts

Brilliant Xandy, just brilliant. :D

@TheDcoder and I, have had the privilege to share part of the journey with you as you have been developing this (discussions in HexChat and many youtube clips and code examples), and to say we are impressed, as I am sure Dcoder will agree with me, would be a huge understatement. :gathering:

We haven't been able to contribute much, other than enthusiasm and encouragement, but it has been a joy to see you conquer things etc and progress.

You are one very dedicated and talented man/coder. :thumbsup:


Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Share this post


Link to post
Share on other sites

Great program @Xandy, would certainly be useful for those who want to do some tile extraction from games :)

@TheSaint has stolen words out of my mouth :D


A cross-platform implementation of the AutoIt language

My contributions to the AutoIt Community ##AutoIt at freenode, real-time chat

3fHNZJ.gif

Spoiler

If I have hurt or offended you in anyway, Please accept my apologies, I never (regardless of the situation) intend to do that to anybody.

Share this post


Link to post
Share on other sites
7 minutes ago, TheDcoder said:

@TheSaint has stolen words out of my mouth :D

Actually, it was out of the upper left quadrant of your brain.

Spoiler

But don't tell anyone about my MapIt mind reading powers ... that Xandy taught me ,,, over Burritos and Donuts. o:)

 


Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Share this post


Link to post
Share on other sites

Updated first post.

Draw world to pre-rendered layers.  (For providing quick blit operations with separate layers)

Map with auto-color detection.

Delete tiles using lasers.  /\

Xandy_World_Lasers2.gif

Map_It_Create_Destroy.gif

Some new hotkeys:

  1. Plus and minus (not on numpad): to change target layer.
  2. CTRL+M: to open map.
  3. Plus and minus (numpad): to change map scale.
  4. ESC: to exit map.
  5. Delete: destroy a tile on select layer.
Aug 19 2018 11:20 EST: Added hot fix:

If $tile > Ubound($aTile) - 1 Then $tile = 0
This fixes a crash that appeared inserting the default tile when 0 tiles were loaded.

 

Edited by Xandy

Share this post


Link to post
Share on other sites

Added animated water background layer.

Map_It_Water.gif

Added effect layer drawn after all board layers
    - This removes all screen tear flickering destroying tiles with lasers

Fixed Tile Menu\Edit\Replace Colors - To update color with changes and use the updated colors.

Fixed unremoved menu from Tile\Edit\Replace Color: GUICtrlDelete($menuHelp)

Added Change_Window_Size(): 

  1. Assigns new size to window / screen
  2. Remakes apBG to win_size + 1 tile w, h for animated background layer scrolling
  3. Redraws tile file to apBG[0] (water)
  4. Remakes surfEffect to new size of screen

Added toggle to Window Menu\Show to disable BG display layer: **Now in the Background Menu

 

Video removing transparent colorkey from background tiles b/c I don't want the water bleeding through.

Spoiler

 

 

A new download is available from the MapIt website.

While it is true that many of these new features were already part of the Dragon Warrior 3 Remake.  MapIt has overcome some of the problems that were holding the Remake back.  IE: I can always determine correct tile under mouse now.  A critical bug holding the Remake back before.

So every system brought over is a big success again.

Edited by Xandy

Share this post


Link to post
Share on other sites

 

  1. Properties dialog for World: Layers, Width, Height.
  2. Properties dialog for Tile: Width, Height.
  3. Fixed a crash occurring on World_Save() - Cancel
  4. Changed World_Save() process to create folder of filename entered in dialog and place filename inside folder as well as Tiles folder
  5. Toggle display scrolling background layer: On / OFF
  6. Converted aWorld from struct to array aWorld[layer][x][y][data] this removes the need to recreate structs on ReDim greater size.
  7. Much faster to shift in size.

    

  1. Hotkey_Dialog() Now has pages and saves hotkeys.
  2. If hotkeys stop working, sometimes I forget to restore them after another window has been activated.  Use F1 to restore the hotkeys.
  3. If somehow you have tried F1 and they're are still totally fucked, delete the file at User Documents\Songersoft\MapIt\Hotkeys.txt
  4. If the world map fails to repaint to aBoard[] F2 will update the world to aBoard and then to screen.  Use F2 to fix if map doesn't update.
  5. Moving to board boundaries now redraws world to board.

Behold!  Dynamic water tile file and dynamic tile frame.

  1. Added Background Menu: Custom scrolling background tile layer can be selected
  2. Added rando trees, low hanging fruit never looked so good.

Map_It_Font_Water_Rando_Trees.gif

 

A new download is available from the MapIt website.

Edited by Xandy

Share this post


Link to post
Share on other sites

Also a new Overworld file: http://songersoft.com/programming/mapit/worlds/Overworld_Tile_Changes.zip

(It's the world map in the post above)

To use.  Run MapIt.  World Menu \ File \ Load  - Navigate to the Overworld_Tile_Changes.txt.  Located in the Extracted: Overworld_Tile_Changes.zip

[ _IsPressed( 'x' ) deletes tiles. ]  The Accelerator keys seem to get bogged down.  So now you can set an Accelerator delete key or use the _IsPressed( 'x') to fire lasers.

Edited by Xandy

Share this post


Link to post
Share on other sites
  1. Fixed Redim_To_Settings issue causing crash for new users.
  2. Changed World Save, Load to use User Documents\MapIt\Worlds
  3. Fixed World_Create_Dialog() wasn't updating tile palette when tiles were loaded.
  4. Changed lasers to damage the side of tile hit.  Very cool forests now :/

 

A closer look at the new forest lasers:

Spoiler

 

A new download is available from the MapIt website.

Edited by Xandy

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By amosrinat
      Hi,
      i have an AutoIT script that sends emails with two embedded images.
      When users get the email they don't see the images. How should I fix my code?
      Thank you for your support,
      Amos
      Func fSendMail() $TemplateName = StringRegExpReplace($Template, "^.*\\|\..*$", "") $SmtpServer = "smtp.**.com" $FromName = "do-not-reply@*********" $FromAddress = "do-not-reply@******" $ToAddress = $MG1_Mgr & ";"& $Owner $Subject = "ACTION REQUIRED - " & $TemplateName $Body = $sBody5 $IPPort = 25 $ssl = 0 Global $oMyRet[2] Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") $rc = fINetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $IPPort, $ssl) If @error Then MyErrFunc() EndIf EndFunc;fSendMail Func fINetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $IPPort = 25, $ssl = 0) Local $objEmail = ObjCreate("CDO.Message") $objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>' $objEmail.To = $s_ToAddress Local $i_Error = 0 Local $i_Error_desciption = "" $objEmail.Subject = $s_Subject If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then $objEmail.HTMLBody = $as_Body Else $objEmail.Textbody = $as_Body & @CRLF EndIf $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer If Number($IPPort) = 0 Then $IPPort = 25 $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort $objEmail.Configuration.Fields.Update $objEmail.Fields.Update ;$objEmail.Send **************** If @error Then MyErrFunc() EndIf $objEmail = "" EndFunc;fINetSmtpMailCom  
    • By coronatuss
      Hello everyone,
      Im developing an script to check the size of all .jpg stored in windows folder.
      The problem is that it doesn´t work properly with rotated images. 
      With _GDIPlus_ImageGetWidth() and _GDIPlus_ImageGetHeight()  I get the Width and Height of images as if they had not been rotated, and I need to know how they are rotated (orientation and grades).
      Any help is welcome! If more info is needed, please tell. 😁
    • By nacerbaaziz
      hello autoit team
      please i've a question for you.
      am creating a audio player
      and in this audio player i want to show the current trac info
      such as the total time and the position ... etc
      i know i can show it as label
      but the screen reader for the blind read the text every change
      because it have a screen scan
      what i want is to show this informations but such image or icon
      i mean i need to create
      GUICtrlCreatepic or GUICtrlCreateicon ....
      or some thing as that
      and show this informations as image on it
      i think that i can do that with the 
      _GDIPlus functions
      but i couldn't find the currect way to do it
      i tried the _GDIPlus_GraphicsDrawString
      but i couldn't know how it work
      what i need is a small example that create a GUI
      and add a multy line text to it as graphic or image.
      so i need a simple way because it will changed every sec
      i hope any one can help me to do that
      global $GUI = GUICreate("text", 400, 400) global $label = GUICtrlCreateLabel(GetText(), 10, 10, 380, 380) GUISetState() do sleep(100) until GUIGetMSG() = -3 exit func GetText() return StringFormat("file name is test.mp3 \r\n total time is 00:30:00 \r\n position is 00:05:50") endFunc  
    • By therks
      So I don't have any code cooked up yet as this is still in the theoretical stage. Just looking for some advice.
      My current idea is to resize the image to 1x1 pixel, probably using _GDIPlus_ImageResize, and read the color of the resulting pixel to obtain an admittedly very general sense of brightness. Does anyone think this could work?
      We have a CCTV system running at home using some home made cameras (raspberry pi) and we're trying to automate toggling settings for day/night time. We started with an AutoIt script that checked sunrise and sundown times for our location (calculations pulled from here) and toggled the settings based on that. Unfortunately our weather varies wildly, so it can get light/dark far outside normal sunrise/sundown times. Now we're hoping to periodically grab a still from the camera and toggle the light mode based on that.
×
×
  • Create New...