I’m not at home for a bit so I can’t test this but it will be nice if I can get some one to test it for me….
I am trying top convert this topic http://www.touchofdeathforums.com/smf/index.php?topic=46811.0 to work on EO please tell me if their are any bugs that need to be fixed

Onto the source

In ModdirectX7

With the other InitSurfaces add

' Init minimap ddsd type and load the bitmap
    DDSD_MiniMap.lFlags = DDSD_CAPS
    DDSD_MiniMap.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN Or DDSCAPS_SYSTEMMEMORY
    Set DD_MiniMap = DD.CreateSurfaceFromFile(App.Path & "\Data files\graphics\minimap\minimap.bmp", DDSD_MiniMap)
    SetMaskColorFromPixel DD_MiniMap, 0, 0

in what ever destoys the directX (not even sure if it’s in origins0

Set DD_MiniMap = Nothing

with all the other blt’s

Sub BltMiniMap()
Dim I As Long
Dim x As Integer
Dim y As Integer
Dim MMx As Long
Dim MMy As Integer

    ' Tiles Layer
    ' Select MM Tile to Use for Tiles Layer
    rec.Top = 8
    rec.Bottom = 16
    rec.Left = 0
    rec.Right = 8

    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(x, y).Type = TILE_TYPE_BLOCKED Then
                MMx = 400 + (x * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next x
    Next y

    ' Player Layer
    ' Select MM Tile to Use for Players Layer
    rec.Top = 16
    rec.Bottom = 24
    rec.Left = 0
    rec.Right = 8

    For I = 1 To MAX_PLAYERS
        If Player(I).Map = Player(MyIndex).Map Then
            x = Player(I).x
            y = Player(I).y
            MMx = 400 + (x * 8)
            MMy = 32 + (y * 8)
            If Not I = MyIndex Then
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        End If
    Next I

    ' MyPlayer Layer
    rec.Top = 32
    rec.Bottom = 40
    rec.Left = 0
    rec.Right = 8
    x = Player(MyIndex).x
    y = Player(MyIndex).y
    MMx = 400 + (x * 8)
    MMy = 32 + (y * 8)
    Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)

    ' NPC Layer
    ' Select the MM Tile to use for the NPC Layer
    rec.Top = 24
    rec.Bottom = 32
    rec.Left = 0
    rec.Right = 8

    For I = 1 To MAX_MAP_NPCS
        If Map(MyIndex).Npc(I) & MapNpc(I).HP > 0 Then
            x = MapNpc(I).x
            y = MapNpc(I).y
            MMx = 400 + (x * 8)
            MMy = 32 + (y * 8)
            Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
    Next I

End Sub
```in mod globals with the rest (if there is kinda hard to do without a source XD)

Public Minimap As Boolean

For the Form_load on main menu add this

Minimap = False

For the game loop

If Minimap = True Then
            Call BltMiniMap
        End If[code]

now for the command

[code]  Case “/minimap”
If Not FileExists("\Data files\graphics\minimap\minimap.bmp") Then           
Call AddText(“You are missing you minimap graphic file”, BRIGHTRED)
exit sub
end if

If Minimap = True Then
                Minimap = False
Call BltMiniMap
exit sub
End If
else
      If Minimap = false then               
          Minimap = True

Call BltMiniMap
        End If[/code]
add this to graphics\minimap folder (gotta create minimap)

[url][img]http://www.freemmorpgmaker.com/files/imagehost/pics/7e0e302355c8815ed984144c53aff1e0.png[/img][/url]

CONVERT IT TO BMP!!!

;Dplease tell me all the bugs so I can try to fix them! I already know it needs ALOT of fixing this is only my first part of converting it I am a noob at source code after al  ;D[/code]