-" Car Fire Level Editor for Vim
-" Last Change: 2010 Apr 09
-" Maintainer: Charles McGarvey <mcgarvey@eng.utah.edu>
-" License: This file is placed in the public domain.
-
-
-"if exists("loaded_leveleditor")
- "finish
-"endif
-"let loaded_leveleditor = 1
-
-let s:save_cursorcolumn = &cursorcolumn
-let s:save_expandtab = &expandtab
-let s:save_statusline = &statusline
-
-
-set statusline=%!LevelEditor_Evaluate()
-function! LevelEditor_Evaluate()
-
- let l:linenum = search('\m^\s*dimensions\s*=\s*\[\d\+,\d\+\]', 'bnw')
- if l:linenum != 0
- let l:line = getline(l:linenum)
- let l:dimensions = matchlist(line, '\m\[\(.*\),\(.*\)\]')
- let l:dw = get(l:dimensions, 1)
- let l:dh = get(l:dimensions, 2)
- let l:linenum = search('\m^\[maptable\]', 'bnW')
- let l:current = line(".")
- if l:linenum != 0 && l:current > l:linenum && l:current < l:linenum + l:dh + 1
- let l:cx = col(".") - 1
- let l:cy = line(".") - l:linenum - 1
- setlocal cursorcolumn
- setlocal expandtab
- return s:save_statusline." Map: [".l:cx.",".l:cy."]"
- else
- return s:LevelEditor_Reset()
- endif
- else
- return s:LevelEditor_Reset()
- endif
-
-endfunction
-
-function! s:LevelEditor_Reset()
- if s:save_cursorcolumn == 0
- setlocal nocursorcolumn
- endif
- if s:save_expandtab == 0
- setlocal noexpandtab
- endif
- return s:save_statusline
-endfunction
-
-
-if !hasmapto('<Plug>LeInitLevel')
- map <unique> <Leader>ei <Plug>LeInitLevel
-endif
-noremap <unique> <script> <Plug>LeInitLevel <SID>InitLevel
-noremenu <script> Plugin.Level\ Editor.Initialize\ Buffer <SID>InitLevel
-
-noremap <SID>InitLevel :call <SID>InitLevel()<CR>
-function! s:InitLevel()
- setlocal filetype=dosini
- normal ggdGa[metadata]
- call append(line('$'), "\tauthor = " . expand("$USER"))
- call append(line('$'), "\tlevelname = My Level")
- call append(line('$'), "\ttype = Campaign")
- call append(line('$'), "\tdimensions = ")
- call append(line('$'), "\ttileset = FuturisticBuilding")
- call append(line('$'), "\tnumplayers = <1-4>")
- call append(line('$'), "[maptable]")
-endfunction
-
-
-if !hasmapto('<Plug>LeAddEntity')
- map <unique> <Leader>ea <Plug>LeAddEntity
-endif
-noremap <unique> <script> <Plug>LeAddEntity <SID>AddEntity
-noremenu <script> Plugin.Level\ Editor.Add\ Entity <SID>AddEntity
-
-noremap <SID>AddEntity :call <SID>AddEntity()<CR>
-function! s:AddEntity()
- echo Cool!
-endfunction
-
-
-menu <silent> Plugin.Level\ Editor.-Sep- :
-menu <script> Plugin.Level\ Editor.Help :help leveleditor-contents<CR>
-
+" CarFire Level Editor for Vim\r
+" Last Change: 2010 Apr 09\r
+" Maintainer: Charles McGarvey <mcgarvey@eng.utah.edu>\r
+" License: This file is placed in the public domain.\r
+\r
+\r
+"if exists("loaded_leveleditor")\r
+ "finish\r
+"endif\r
+"let loaded_leveleditor = 1\r
+\r
+let s:save_cursorcolumn = &cursorcolumn\r
+let s:save_expandtab = &expandtab\r
+let s:save_statusline = &statusline\r
+\r
+\r
+set statusline=%!LevelEditor_Evaluate()\r
+function! LevelEditor_Evaluate()\r
+\r
+ let l:linenum = search('\m^\s*dimensions\s*=\s*\[\d\+,\d\+\]', 'bnw')\r
+ if l:linenum != 0\r
+ let l:line = getline(l:linenum)\r
+ let l:dimensions = matchlist(line, '\m\[\(.*\),\(.*\)\]')\r
+ let l:dw = get(l:dimensions, 1)\r
+ let l:dh = get(l:dimensions, 2)\r
+ let l:linenum = search('\m^\[maptable\]', 'bnW')\r
+ let l:current = line(".")\r
+ if l:linenum != 0 && l:current > l:linenum && l:current < l:linenum + l:dh + 1\r
+ let l:cx = col(".") - 1\r
+ let l:cy = line(".") - l:linenum - 1\r
+ setlocal cursorcolumn\r
+ setlocal expandtab\r
+ return s:save_statusline." Map: [".l:cx.",".l:cy."]"\r
+ else\r
+ return s:LevelEditor_Reset()\r
+ endif\r
+ else\r
+ return s:LevelEditor_Reset()\r
+ endif\r
+\r
+endfunction\r
+\r
+function! s:LevelEditor_Reset()\r
+ if s:save_cursorcolumn == 0\r
+ setlocal nocursorcolumn\r
+ endif\r
+ if s:save_expandtab == 0\r
+ setlocal noexpandtab\r
+ endif\r
+ return s:save_statusline\r
+endfunction\r
+\r
+\r
+if !hasmapto('<Plug>LeInitLevel')\r
+ map <unique> <Leader>ei <Plug>LeInitLevel\r
+endif\r
+noremap <unique> <script> <Plug>LeInitLevel <SID>InitLevel\r
+noremenu <script> Plugin.Level\ Editor.Initialize\ Buffer <SID>InitLevel\r
+\r
+noremap <SID>InitLevel :call <SID>InitLevel()<CR>\r
+function! s:InitLevel()\r
+ setlocal filetype=dosini\r
+ normal ggdGa[metadata]\r
+ call append(line('$'), "\tauthor = " . expand("$USER"))\r
+ call append(line('$'), "\tlevelname = My Level")\r
+ call append(line('$'), "\ttype = Campaign")\r
+ call append(line('$'), "\tdimensions = ")\r
+ call append(line('$'), "\ttileset = FuturisticBuilding")\r
+ call append(line('$'), "\tnumplayers = <1-4>")\r
+ call append(line('$'), "[maptable]")\r
+endfunction\r
+\r
+\r
+if !hasmapto('<Plug>LeAddEntity')\r
+ map <unique> <Leader>ea <Plug>LeAddEntity\r
+endif\r
+noremap <unique> <script> <Plug>LeAddEntity <SID>AddEntity\r
+noremenu <script> Plugin.Level\ Editor.Add\ Entity <SID>AddEntity\r
+\r
+noremap <SID>AddEntity :call <SID>AddEntity()<CR>\r
+function! s:AddEntity()\r
+ echo Cool!\r
+endfunction\r
+\r
+\r
+menu <silent> Plugin.Level\ Editor.-Sep- :\r
+menu <script> Plugin.Level\ Editor.Help :help leveleditor-contents<CR>\r
+\r