Jump to content
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:


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

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


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Spoiler

My contributions to the AutoIt Community

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

3fHNZJ.gif

PLEASE JOIN ##AutoIt AND HELP THE IRC AUTOIT COMMUNITY!

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:)

 


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

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

  • Similar Content

    • By Xandy
      What's new section:
      Snowman_Sky is game using MapIt engine.  MapIt will evolve here for a little bit.
      Download: [ http://songersoft.com/programming/Snowman_Sky.zip ]
      Video demonstrating new sprite_sheet class and weather effect.
      Working on the Class section of the Character Sheet.
      Which is what makes multiclassing possible.

      Changing the value of Class will load the stored value for XP.  Lvl will be updated to the XP tier.
      Hit points are then rolled for each level of all learned classes.  Hit dice are specific to each class and a Constitution modifier is added to each roll of hit die.
       
    • By misioooo
      Hi!
       
      I am writing some GUI and i need to use images as buttons, but with text on them (text is from INI file).
      Part with button looks like this:
      $ankieta1 = GUICtrlCreateButton($txtAnk1, 100,350,765,164) GUICtrlSetFont(-1, 22, 800, -1, "Arial") ;GUICtrlSetColor(-1,0xffffff) $hImageBtn_1 = _GUIImageList_Create(765, 164) _GUIImageList_AddBitmap($hImageBtn_1, "c:\path\to\ankieta_clean.bmp") _GUICtrlButton_SetImageList($ankieta1, $hImageBtn_1, 4) GUICtrlSetOnEvent(-1, "On_Ankieta1") The problem - if i uncomment GUICtrlSetColor, color of text changes, but button is just plain gray (no image). How i can change text color not touching image on a button here?
    • By Xandy
      NOTE: TOPIC HAS BEEN MERGED TO HERE: MapIt Quest
      I am currently developing NPCs they cannot yet be added.  Items only exist in database.  Enemies only in sprite.
      This project has been on the shelf a couple years.  I decided to learn DLLStruct at the beginning of this project.  I'm not sure if using them was a good idea or not.  I'm open to converting them to pure array and Enum.
      Developing multiplayer system UDP clients / server.  I'm looking for some advice on how to setup the packets.
      I was thinking the best way was to convert packets to Hex and convert back at the destination.  That's probably the way I have it setup.  Anyhow they all talk to each other, clients and server.  Where the avatars appear on screens doesn't work.
      My Enums are used for data members of arrays.  I exclude the 'g' even though they are all Global.  I put the array names they describe in the Enum: ePlayer_x.  In some cases I abbreviate the array name; aWorld_info probably has: aWorld_info[eWi_layers]
      Most gaming things are done better with a nice engine: GameMaker, Unity, Unreal.
      My buddy made a time machine in BASIC.  I know you can make a better time machine in other languages, but there is something to be said for doing it in BASIC.
      Many things are ugly with this, just broken, or extraneous blocks of code I threw together for some one-off task.
      I put this here to see if it generates interest.  I'm happy to change this thing around.  I do many things in favor of speed, but I know some of it's crap.
      Package contains a Server and a Map Editor.  The Map Editor is meant to be able to add and edit:
      World Files, worlds have 2 layers. 
      0.txt background 1.txt forground. The files are formatted with a header: width, height, and the largest tile number.  The largest tile number is used to pad the world files.  So that the world files could be edited by hand.
      WorldN Tile X_Y.txt (a subset cord of tile to specify frame):  World Tile X_Y is stored in a separate file per layer so that the world layer files remain pretty.
      World Directory Structure: Example: World_1_Overworld.
       
      In folder above we can notice only layer 1 has a Tile_X_Y file.  This is because atm only trees use the system and trees are foreground.
      Areas: areas are to subdivide worlds in effort to section the worlds and divide lists for: hotspots, NPCs, Items, and area properties such as: Out-of-Bounds: Destination and Repeat Tile, enemy encounters, etc..
      Areas have: Global Enum $eArea_x, $eArea_y, $eArea_w, $eArea_h, _                        ; Area World Bound Rect         $eArea_ob_tile, $eArea_ob_world, $eArea_ob_x, $eArea_ob_y, _     ; Out of Bounds Repeat Tile and World Destination if Out of Bounds         $eArea_hotspots, $eArea_items, $eArea_NPCs ; Total Hotspots per Area, Items and People Hotspots: hotspots are locations on the board that relocate the player
      Global Enum $eHotspot_x, $eHotspot_y, _; the spot in world that moves player $eHotspot_dest_world, $eHotspot_dest_x, $eHotspot_dest_y; the destination world and position Board: A rectangle of world tiles is pre-drawn on aBoard[layer_max] centered on player, you can change the size to consume less RAM but requires drawing world to board more often.
       
      Animated Background: Before anything is drawn a moving BG image is drawn.  Creating beautiful water AI.  So if no tiles are drawn from world, BG water animation is shown.
       
      Map Editor should be able to test all of the systems of the game: Player, Worlds, Areas, Hotspots, NPCs, Items, Shops, Battles, Netplay, etc..
      (Not all systems exist yet)

      Download site: http://songersoft.com/programming/dw3_remake/dw3_remake_about.phtml
      It's going to say that the files might be malicious.  Probably b/c of the DLLs and I hosted an unmoderated forum from the site years ago were people posted malicious links.  Let me know if it's malicious!
      PS: I tried posting the source but I keep getting errors.  I think the source might be too large to post. 6308 lines.  Idk.
×
×
  • Create New...