layout.lua 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999
  1. --[========================================================================[--
  2. Map and ancillary data for Thrust II Reloaded.
  3. Copyright © 2015 Pedro Gimeno Fortea
  4. Permission is hereby granted, free of charge, to any person obtaining a copy
  5. of this software and associated documentation files (the "Software"), to deal
  6. in the Software without restriction, including without limitation the rights
  7. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  8. copies of the Software, and to permit persons to whom the Software is
  9. furnished to do so, subject to the following conditions:
  10. The above copyright notice and this permission notice shall be included in
  11. all copies or substantial portions of the Software.
  12. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  13. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  14. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  15. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  16. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  17. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  18. SOFTWARE.
  19. --]========================================================================]--
  20. local map = {
  21. -- Copy-paste from the <data> section of the .tmx file
  22. 29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,
  23. 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
  24. 26,1,1,1,27,1,1,1,1,1,1,1,28,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,28,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,26,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,28,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,
  25. 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
  26. 1,1,1,1,1,1,1,1,26,1,1,1,1,1,27,1,1,1,26,1,1,1,28,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,27,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,
  27. 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
  28. 1,1,1,1,26,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,28,1,1,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,1,1,26,1,1,1,1,1,28,1,1,1,26,1,1,1,
  29. 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,37,36,35,36,48,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,37,36,37,36,48,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
  30. 26,1,1,1,1,1,26,1,1,1,1,1,1,1,26,1,1,1,1,1,26,1,1,1,1,1,28,1,1,1,1,1,1,1,44,43,10,10,10,10,50,51,1,1,1,1,1,1,26,1,1,1,1,1,26,1,1,67,68,1,1,1,1,1,26,1,1,1,1,1,26,1,1,1,1,1,1,1,26,1,1,1,26,1,1,1,1,1,27,1,1,1,26,1,1,1,1,1,1,1,26,1,1,1,1,1,44,43,10,10,10,10,50,47,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
  31. 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,44,43,10,10,10,10,10,10,50,37,36,48,1,1,1,1,1,1,1,1,1,1,1,1,65,66,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,44,43,10,10,10,10,10,10,49,46,45,37,36,35,36,37,36,35,36,37,36,48,1,
  32. 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,54,1,1,1,1,1,1,1,40,43,10,10,10,10,10,10,10,10,10,10,50,47,1,1,1,1,1,1,1,1,1,1,1,63,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,54,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,40,43,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,50,47,
  33. 46,45,37,36,69,70,71,72,70,71,74,36,35,36,1,1,1,1,37,36,35,36,35,36,55,36,69,74,37,36,38,39,42,10,10,10,10,10,10,10,10,10,10,10,10,49,46,45,37,36,35,36,48,1,1,1,1,61,62,1,1,1,1,41,37,36,37,36,69,74,37,36,69,70,71,72,73,74,69,74,69,70,71,72,70,71,74,36,55,36,37,36,1,1,1,1,35,36,37,36,35,36,38,39,42,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,49,
  34. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,24,23,24,24,34,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,50,47,1,1,58,59,59,60,1,1,44,43,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,24,24,24,24,34,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  35. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,25,1,1,34,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,49,46,45,57,57,57,57,1,44,43,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,1,1,34,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  36. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,24,23,1,1,34,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,56,56,56,56,56,56,56,56,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,1,1,33,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  37. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,25,21,21,34,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,1,1,33,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  38. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,77,81,81,87,33,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,93,1,32,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  39. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,82,1,1,1,33,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,8,8,8,8,8,8,8,15,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,15,10,10,9,1,1,1,1,32,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  40. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,82,1,1,1,32,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,22,1,76,1,82,1,1,1,18,15,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,1,1,22,1,88,81,94,125,1,1,22,1,82,1,92,1,94,125,81,81,81,78,6,10,10,9,24,24,24,24,31,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  41. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,90,1,1,1,32,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,1,22,1,1,1,82,1,1,1,1,18,15,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,1,1,1,22,1,1,1,1,97,1,1,22,1,82,1,1,1,1,97,1,1,1,82,4,8,8,5,1,1,1,1,31,10,10,10,10,10,10,10,10,10,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,15,10,10,10,10,10,
  42. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,93,1,31,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,1,1,22,1,1,1,82,1,1,1,1,1,18,15,10,10,10,10,10,10,10,10,10,10,10,10,10,17,94,125,81,87,22,1,92,1,1,82,1,1,22,1,82,1,1,1,1,1,1,1,1,96,1,25,76,1,22,1,92,1,6,10,10,10,10,10,10,10,10,17,82,1,1,82,22,1,82,1,1,1,22,1,82,1,1,82,18,15,10,10,10,10,
  43. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,1,1,31,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,1,1,1,22,1,1,1,82,1,1,1,1,1,1,18,15,10,10,10,10,10,10,10,10,10,10,10,17,1,1,97,1,1,22,1,1,1,77,79,1,1,20,21,82,1,1,1,1,1,1,1,1,97,1,25,1,1,20,21,1,1,4,8,8,8,8,8,8,8,17,1,83,81,81,79,22,1,82,1,1,1,22,1,80,81,81,84,1,18,15,10,10,10,
  44. 10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,1,1,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,94,125,81,78,22,1,1,1,94,95,81,81,96,1,1,1,18,15,10,10,10,10,10,10,10,10,10,9,1,1,1,82,1,1,22,1,113,114,82,1,1,1,22,1,124,95,24,23,1,1,93,1,1,1,2,7,7,3,1,1,24,23,1,1,1,1,22,1,93,1,88,81,92,1,1,1,22,1,96,1,1,1,22,1,1,1,94,125,81,87,6,10,10,10,
  45. 10,10,10,10,10,10,10,10,10,10,8,8,8,5,21,21,21,21,4,8,15,10,10,10,10,10,10,10,10,10,10,10,10,9,1,97,1,82,22,1,1,1,1,1,1,1,97,1,1,1,1,18,15,10,10,10,10,10,10,10,10,9,81,81,81,79,1,1,22,1,112,118,90,1,1,1,22,1,97,1,1,25,1,1,1,1,1,1,6,10,10,9,1,1,1,25,1,1,1,1,22,1,1,1,1,1,1,1,12,1,22,1,97,1,1,1,22,1,1,1,1,97,1,1,6,10,10,10,
  46. 10,10,10,10,10,10,10,10,10,9,1,82,22,1,1,1,1,1,1,1,6,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,1,82,22,1,1,1,1,1,1,1,1,1,1,1,1,1,6,10,10,10,10,10,10,10,10,9,24,24,24,24,24,23,2,7,109,110,7,7,7,3,22,1,1,1,2,7,7,3,1,1,1,1,6,10,10,9,1,96,1,25,1,1,92,1,22,1,1,1,1,1,1,16,11,7,7,7,7,7,7,7,7,7,19,1,1,1,1,1,6,10,10,10,
  47. 8,8,8,8,8,8,8,8,8,5,1,82,20,21,1,1,1,1,1,1,4,8,15,10,10,10,10,10,10,10,10,10,10,9,1,1,1,82,20,21,21,21,21,21,21,21,21,21,21,21,21,21,6,10,10,10,10,10,10,10,10,9,1,1,1,1,1,25,6,10,10,10,10,10,10,9,22,1,1,1,6,10,10,9,21,21,21,21,6,10,10,9,1,97,1,25,1,1,1,1,20,21,21,21,21,21,16,13,10,10,8,8,8,8,8,8,8,8,15,19,21,21,21,21,4,8,8,8,
  48. 94,125,81,87,1,1,22,1,82,1,1,82,1,1,22,1,1,1,1,1,1,1,6,10,10,10,10,10,10,10,10,10,10,17,1,1,124,95,1,1,1,1,1,1,22,1,124,95,1,1,1,1,6,10,10,10,10,10,10,10,10,9,1,1,124,95,1,25,6,10,10,10,10,10,10,9,22,1,1,1,6,10,10,9,1,1,1,1,6,10,10,9,1,82,1,25,2,7,7,3,1,1,1,1,1,1,6,10,10,9,124,95,1,1,22,1,1,1,6,9,1,1,1,1,1,1,22,1,
  49. 1,97,1,1,1,1,22,1,83,81,81,79,1,1,22,1,1,1,94,95,1,1,4,8,8,8,8,8,8,8,8,8,17,1,1,1,97,1,1,1,1,1,1,1,22,1,97,1,1,1,1,1,6,10,10,10,10,10,10,10,10,9,1,1,97,1,1,25,6,10,10,10,8,8,8,5,22,1,1,1,6,10,10,9,1,1,1,1,4,8,8,5,81,79,1,25,6,10,10,9,1,1,1,1,1,1,6,10,8,5,97,1,1,1,22,1,1,1,6,9,1,1,1,1,1,1,22,1,
  50. 1,1,1,1,93,1,22,1,82,1,1,1,1,1,22,1,1,1,1,82,1,1,1,1,22,1,82,1,1,1,96,1,22,1,1,1,1,1,1,1,1,1,1,1,22,1,1,1,1,1,93,1,6,10,10,10,10,10,10,10,10,17,1,1,1,1,1,25,6,10,10,9,1,96,1,1,22,1,1,1,6,10,10,9,1,1,124,95,1,25,92,1,24,24,24,23,6,10,10,9,81,81,86,81,124,95,6,9,1,1,82,1,1,1,22,1,96,1,6,9,81,81,94,125,1,1,22,1,
  51. 1,1,1,1,1,1,22,1,90,1,1,1,1,1,22,1,94,95,81,79,1,1,1,1,22,1,82,1,1,1,97,1,20,21,21,21,21,21,21,21,21,21,21,21,22,1,1,1,1,1,1,1,4,8,8,8,8,8,8,8,17,1,1,1,1,1,1,25,6,10,10,9,1,97,1,1,20,21,21,21,6,10,10,9,1,1,97,1,1,25,1,1,1,1,1,25,6,10,10,9,1,1,82,1,97,1,6,9,1,1,90,1,1,1,22,1,97,1,6,9,1,1,1,97,1,1,22,1,
  52. 7,7,7,7,7,7,7,7,7,3,77,81,92,1,22,1,82,1,1,1,113,114,1,1,22,1,82,1,1,1,82,1,1,1,1,16,7,7,7,3,1,96,1,1,22,1,1,1,113,114,1,1,1,1,22,1,1,1,1,1,1,96,77,81,81,87,1,25,6,10,10,9,1,82,1,1,124,95,81,87,6,10,10,9,1,1,82,1,1,25,1,1,124,95,1,25,6,10,10,9,1,1,92,1,1,1,6,9,24,24,24,24,2,3,22,1,82,1,6,9,1,1,1,1,2,7,7,7,
  53. 10,10,10,10,10,10,10,10,10,9,79,1,1,1,22,1,90,1,1,1,112,115,1,1,22,1,90,1,1,1,90,1,1,1,16,13,10,10,8,5,1,97,1,1,22,1,1,1,112,116,1,1,1,1,20,21,21,21,21,21,1,97,79,1,1,1,1,25,6,10,10,9,81,79,12,1,97,1,1,1,6,10,10,9,1,1,82,1,1,25,1,1,97,1,1,25,6,10,10,9,1,1,1,1,1,1,6,9,1,1,1,1,6,9,22,1,82,1,6,9,1,1,1,1,6,10,10,10,
  54. 10,10,10,10,10,10,10,10,10,9,1,1,1,1,22,1,1,1,1,16,109,110,7,7,7,7,7,7,7,7,7,7,7,7,13,10,10,17,82,1,1,82,1,1,22,1,1,16,109,110,7,7,7,7,7,7,7,7,7,3,22,1,1,1,1,1,1,25,6,10,10,14,7,7,11,7,7,7,7,7,13,10,10,9,1,1,96,1,1,1,22,1,82,1,1,25,6,10,10,9,24,24,24,24,24,24,6,9,1,1,93,1,6,9,22,1,92,1,6,9,1,1,1,1,6,10,10,10,
  55. 10,10,10,10,10,10,10,10,10,9,1,1,12,1,20,21,21,21,16,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,1,83,81,81,79,1,1,22,1,16,13,10,10,10,10,10,10,10,10,10,10,10,9,20,21,21,21,21,21,1,25,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,97,1,1,1,20,21,90,1,1,25,6,10,10,9,1,1,1,1,1,1,6,9,12,1,1,1,6,9,22,1,1,1,6,9,21,21,21,21,6,10,10,10,
  56. 10,10,10,10,10,10,10,10,10,10,7,7,11,7,7,7,7,7,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,92,1,82,1,1,16,7,7,7,7,13,10,10,10,10,10,10,10,10,10,10,10,10,9,22,1,1,1,1,1,24,23,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,92,1,82,1,2,7,7,3,24,24,24,23,6,10,10,9,88,81,86,81,81,78,6,10,11,7,7,7,13,9,24,24,24,24,6,9,93,1,1,1,6,10,10,10,
  57. 10,10,10,10,8,8,8,8,15,10,10,10,10,10,10,10,10,10,10,10,8,8,8,8,8,8,8,8,15,10,10,10,10,10,10,9,1,1,80,78,16,13,10,10,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,22,1,94,95,1,1,1,25,4,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,1,1,90,1,6,10,10,9,1,1,1,25,6,10,10,9,1,1,82,1,1,82,6,10,10,10,8,8,8,5,1,1,1,1,6,9,1,1,1,1,6,10,10,10,
  58. 10,10,10,9,76,1,1,1,6,10,10,10,10,10,10,10,10,10,10,17,1,25,1,1,1,1,22,1,6,10,10,10,10,10,10,9,1,1,94,95,6,10,10,9,76,1,24,23,1,1,124,95,81,81,96,1,22,1,1,1,22,1,82,1,1,1,1,25,1,1,1,1,96,1,22,1,1,1,1,25,1,1,93,1,24,24,24,24,6,10,10,9,1,1,94,95,6,10,10,9,1,1,92,1,94,125,6,10,10,9,24,24,24,23,1,96,81,78,6,9,1,1,1,1,6,10,10,10,
  59. 10,10,10,9,1,1,1,1,4,8,8,8,8,8,8,8,8,8,17,1,1,25,1,1,1,1,22,1,6,10,10,10,10,10,10,9,1,1,1,1,6,10,10,9,1,1,1,25,1,1,97,1,1,1,97,1,22,1,1,1,22,1,82,1,1,1,1,25,1,1,1,1,97,1,22,1,1,1,1,25,1,1,1,1,1,1,1,1,4,8,15,9,1,1,1,1,6,10,10,9,1,1,1,1,1,97,6,10,8,5,1,1,1,25,1,97,1,82,6,9,21,21,21,21,6,10,10,10,
  60. 10,10,10,9,24,24,24,24,24,24,24,24,24,23,1,1,82,1,22,1,94,125,81,81,86,81,96,1,6,10,10,10,10,10,10,9,1,1,1,1,6,10,10,9,93,1,1,1,22,1,1,1,1,1,1,1,22,1,1,1,22,1,92,1,113,114,1,25,1,1,1,1,82,1,22,1,1,1,1,25,1,1,1,1,1,1,1,1,22,1,6,9,1,1,1,1,6,10,10,9,24,24,24,24,24,24,6,9,1,1,92,1,1,25,1,1,1,82,6,9,81,81,92,1,6,10,10,10,
  61. 10,10,10,9,1,1,1,1,1,1,1,1,1,25,1,1,82,1,22,1,1,97,1,1,82,1,97,1,4,8,8,8,15,10,10,9,1,1,1,1,6,10,10,9,1,1,1,1,20,21,21,21,21,21,21,21,20,21,21,21,22,1,1,1,112,111,1,25,1,1,1,1,90,1,22,1,1,1,1,25,1,1,1,1,94,95,1,1,22,1,4,5,21,21,21,21,6,10,10,9,1,1,1,1,1,1,6,9,1,1,1,1,1,25,1,1,1,82,6,9,1,1,1,1,6,10,10,10,
  62. 10,10,10,9,1,1,94,125,81,81,81,87,1,25,1,1,92,1,22,1,1,25,1,1,82,1,22,1,1,1,1,1,6,10,10,9,94,125,1,1,6,10,10,10,7,7,7,3,22,1,92,1,1,1,1,1,1,1,1,16,7,7,7,7,109,110,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,19,1,22,1,1,1,22,1,96,1,6,10,10,9,94,95,81,81,92,1,6,9,124,95,81,87,1,25,94,125,1,82,6,9,1,1,1,1,6,10,10,10,
  63. 10,10,10,9,1,1,1,97,1,1,1,1,1,25,1,1,1,1,22,1,1,25,1,1,90,1,20,21,1,1,94,95,6,10,10,9,1,97,1,1,4,8,8,8,8,8,8,5,22,1,1,1,1,1,1,1,1,1,16,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,19,22,1,94,95,22,1,97,1,6,10,10,9,1,1,1,1,1,1,6,9,97,1,1,1,1,25,1,97,81,79,6,9,81,81,94,95,6,10,10,10,
  64. 10,10,10,9,24,24,24,24,24,23,2,7,7,7,7,7,7,7,7,7,7,7,7,3,1,1,1,1,22,1,1,1,6,10,10,9,24,24,24,23,88,81,94,125,24,23,93,1,22,1,1,1,88,81,124,95,1,16,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,19,1,82,1,22,1,82,1,6,10,10,9,81,81,81,78,96,1,6,9,1,1,1,1,2,7,7,7,7,7,13,9,1,1,1,1,6,10,10,10,
  65. 10,10,10,9,1,1,1,1,1,25,4,8,8,8,8,8,10,10,8,8,8,8,8,5,1,1,1,1,22,1,12,1,6,10,10,9,1,1,1,25,1,1,1,97,1,25,1,1,20,21,21,21,1,1,97,1,16,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,19,90,1,22,1,82,1,6,10,10,9,1,1,1,80,97,1,4,5,1,1,1,1,4,8,8,8,8,8,8,5,21,21,21,21,6,10,10,10,
  66. 10,10,10,9,1,1,1,1,1,25,1,1,1,1,22,1,6,9,93,1,1,1,1,1,22,1,89,1,2,7,11,7,13,10,10,14,7,7,7,7,7,7,7,7,7,3,22,1,1,1,1,1,22,1,1,16,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,19,1,22,1,82,1,6,10,10,9,24,24,24,24,24,24,24,24,24,23,24,24,24,24,24,23,1,82,1,25,124,95,1,1,6,10,10,10,
  67. 10,10,10,9,1,1,1,1,1,25,1,1,1,1,22,1,6,9,1,1,94,95,1,1,22,1,82,1,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,22,1,1,1,1,1,20,21,16,13,10,10,10,10,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,15,10,10,10,10,10,10,10,10,19,22,1,90,1,6,10,10,9,1,1,1,1,1,1,1,1,1,25,1,1,1,1,1,25,1,82,1,25,97,1,1,1,6,10,10,10,
  68. 10,10,10,9,88,81,96,1,77,81,124,95,1,1,22,1,6,9,1,1,1,1,1,1,22,1,92,1,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,22,1,94,125,81,87,1,16,13,10,10,10,10,9,1,1,76,1,22,1,1,1,1,1,92,1,22,1,1,1,1,1,22,1,1,1,6,10,10,10,10,10,10,10,10,9,1,1,1,1,6,10,10,9,113,114,1,96,81,81,92,1,1,25,1,1,93,1,1,25,1,96,1,25,82,1,1,1,6,10,10,10,
  69. 10,10,10,9,1,1,97,1,82,1,97,1,1,1,20,21,6,9,1,1,12,1,1,1,22,1,1,1,6,10,10,10,10,10,10,10,8,8,8,8,8,8,8,8,17,1,22,1,1,97,1,1,16,13,10,10,10,10,10,9,1,1,1,1,22,1,1,1,1,1,1,1,22,1,1,1,1,1,22,1,94,95,6,10,10,10,10,10,10,10,10,9,21,21,21,21,6,10,10,9,112,117,1,97,1,1,1,1,1,25,1,1,1,1,1,25,1,97,1,25,90,1,12,1,6,10,10,10,
  70. 10,10,10,9,24,24,24,23,82,1,22,1,1,1,1,1,6,10,7,7,11,7,7,7,7,7,7,7,13,10,10,10,10,10,10,17,1,1,1,25,1,1,1,96,81,78,22,1,1,1,1,16,13,10,10,10,10,10,10,9,1,96,81,87,22,1,124,95,1,1,1,1,22,1,94,125,1,1,22,1,82,1,6,10,10,10,10,10,10,10,10,9,93,1,1,1,6,10,10,14,109,110,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,11,7,13,10,10,10,
  71. 10,10,10,9,1,1,1,25,82,1,20,21,21,21,21,21,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,1,94,95,1,25,1,1,1,97,1,82,20,21,21,21,16,13,10,10,10,10,10,10,10,9,1,97,1,1,22,1,97,1,103,1,1,1,22,1,1,97,1,1,22,1,82,1,6,10,10,10,10,10,10,10,10,9,1,1,1,1,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  72. 10,10,10,9,113,114,1,25,82,1,77,81,94,95,1,1,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,22,1,1,82,1,25,92,1,1,1,1,82,1,1,1,16,13,10,10,10,10,10,10,10,10,9,1,1,1,1,22,1,1,104,101,1,1,1,22,1,1,82,1,1,22,1,92,1,6,10,10,10,10,10,10,10,10,9,1,1,1,1,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  73. 10,10,10,9,112,120,1,25,83,81,79,1,1,1,1,1,6,10,10,10,10,10,10,10,8,8,8,8,8,8,8,8,17,1,22,1,1,82,1,25,1,1,1,1,77,79,1,1,16,13,10,10,10,10,10,10,8,8,8,5,1,1,1,1,22,1,1,101,101,1,103,1,22,1,77,79,1,1,22,1,1,1,6,10,10,10,10,10,10,10,10,9,1,1,1,1,6,10,10,10,10,10,10,10,8,8,8,8,8,8,8,8,15,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  74. 10,10,10,14,109,110,7,3,94,95,1,1,1,1,92,1,6,10,10,10,10,10,10,17,77,81,81,81,81,78,22,1,1,25,94,125,1,82,1,16,7,7,7,3,92,1,1,1,6,10,10,10,10,10,10,9,24,24,24,24,24,24,24,24,24,23,1,101,101,1,101,1,22,1,82,1,1,1,22,1,1,1,6,10,10,10,10,10,10,10,10,9,24,24,24,24,6,10,10,10,10,10,10,17,1,1,93,1,1,1,1,1,18,15,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  75. 10,10,10,10,10,10,10,9,1,1,1,1,1,1,1,1,6,10,10,10,10,10,17,1,82,1,1,1,1,82,22,1,1,25,1,97,81,79,16,13,10,10,10,9,1,1,1,1,6,10,10,10,10,10,10,9,1,1,1,1,1,1,1,1,1,25,103,101,101,1,101,104,22,1,82,1,1,1,20,21,21,21,6,10,10,10,10,10,10,10,8,5,1,1,1,1,4,8,8,8,8,8,17,1,1,1,1,1,94,95,1,1,1,18,15,10,10,10,10,10,10,10,10,10,8,8,15,10,
  76. 10,10,10,10,10,10,10,9,1,1,1,1,1,1,1,1,6,10,10,10,10,17,1,1,93,1,1,1,94,95,22,1,1,25,1,1,1,16,13,10,10,10,10,9,24,24,24,24,6,10,10,10,10,10,10,9,1,1,124,95,81,81,96,1,2,7,100,100,100,7,100,100,7,3,93,1,1,1,22,1,93,1,6,10,10,10,10,10,10,9,89,1,24,23,1,96,81,81,81,87,82,1,94,125,1,1,1,1,1,1,1,1,1,25,18,15,10,10,10,10,10,10,10,9,24,23,6,10,
  77. 8,8,8,8,8,8,8,5,21,21,21,21,21,21,21,21,4,8,8,8,17,1,1,1,1,1,1,1,1,1,22,1,1,25,1,1,16,13,10,10,10,10,10,9,1,1,1,1,4,8,8,8,8,8,8,5,1,1,97,1,1,1,97,1,4,8,15,10,10,10,10,10,10,9,1,1,102,1,22,1,1,1,4,8,8,8,8,8,8,5,82,1,1,25,1,97,1,1,1,1,82,1,1,97,1,1,1,1,1,1,107,107,1,25,1,18,8,8,8,8,8,8,8,5,1,25,6,10,
  78. 24,23,89,1,22,1,1,25,92,1,1,1,1,1,1,1,89,1,22,1,124,95,24,24,24,23,1,16,7,7,7,7,7,7,7,7,13,10,10,10,10,10,10,9,1,1,94,125,1,25,82,1,96,1,1,25,1,1,1,1,1,104,1,1,1,103,6,10,10,10,10,10,10,14,7,3,101,1,22,1,1,1,1,1,22,1,96,1,22,1,94,125,1,25,1,1,1,1,1,1,82,1,1,82,1,1,107,107,1,1,106,106,1,25,92,1,22,1,1,25,1,1,94,125,1,25,6,9,
  79. 1,25,82,1,22,1,1,25,1,1,1,1,94,95,1,1,82,1,22,1,97,1,1,1,1,25,16,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,1,97,1,25,80,81,97,1,1,25,1,1,1,1,1,101,1,1,102,101,6,10,10,10,10,10,10,10,10,9,101,104,22,1,1,1,1,1,22,1,97,1,22,1,1,97,1,25,1,1,1,1,94,95,85,81,81,79,1,1,106,106,1,1,106,106,1,25,1,1,22,1,1,25,1,1,1,97,1,25,4,5,
  80. 1,25,92,1,22,1,1,25,1,1,1,1,82,1,1,1,96,1,22,1,88,81,92,1,1,16,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,1,1,1,82,1,25,1,1,1,1,1,25,92,1,1,103,1,101,2,7,100,100,13,10,10,10,10,10,10,10,10,9,101,101,1,1,1,1,92,1,22,1,82,1,22,1,1,1,1,25,113,114,1,1,1,1,1,1,1,1,107,107,106,106,107,107,106,106,1,1,22,1,22,1,1,25,113,114,1,1,1,25,94,95,
  81. 1,25,1,1,22,1,1,25,1,1,12,1,90,1,1,1,97,1,22,1,1,1,1,1,16,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,81,81,81,79,1,25,1,1,1,1,1,25,1,1,102,101,103,101,6,10,10,10,10,10,10,10,10,10,10,10,10,9,101,101,102,1,1,1,1,1,22,1,90,1,22,1,1,1,1,25,112,119,1,1,1,1,1,1,107,107,106,106,106,106,106,106,106,106,107,107,22,1,22,1,1,25,112,121,1,1,1,25,1,1,
  82. 7,7,7,7,7,7,7,7,7,7,11,7,7,7,7,7,7,7,7,7,7,7,7,7,13,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,100,100,100,100,13,10,10,10,10,10,10,10,10,10,10,10,10,14,100,100,100,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,109,110,7,7,7,7,7,7,108,108,108,108,108,108,108,108,108,108,108,108,7,7,7,7,7,7,109,110,7,7,7,7,7,7,
  83. 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  84. 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
  85. 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
  86. }
  87. local enemytypes = {
  88. -- they are defined in order of sprites
  89. { -- type 1
  90. width = 1, -- number of consecutive tiles to draw
  91. height = 1, -- first all width tiles are drawn before skipping to the next
  92. -- height tile
  93. nframes = 8 , -- number of consecutive sprites in sprite image
  94. pingpong = true, -- animation pingpong
  95. -- implies a pause at the endpoints
  96. },
  97. { -- type 2
  98. width = 1,
  99. height = 1,
  100. nframes = 8,
  101. pingpong = false,
  102. },
  103. { -- type 3
  104. width = 1,
  105. height = 1,
  106. nframes = 8,
  107. pingpong = false,
  108. },
  109. { -- type 4
  110. width = 1,
  111. height = 1,
  112. nframes = 8,
  113. pingpong = false,
  114. },
  115. { -- type 5
  116. width = 1,
  117. height = 1,
  118. nframes = 8,
  119. pingpong = true,
  120. },
  121. { -- type 6
  122. width = 1,
  123. height = 1,
  124. nframes = 8,
  125. pingpong = true,
  126. },
  127. { -- type 7
  128. width = 2,
  129. height = 1,
  130. nframes = 8,
  131. pingpong = true,
  132. },
  133. { -- type = 8
  134. width = 2,
  135. height = 1,
  136. nframes = 8,
  137. pingpong = false,
  138. },
  139. }
  140. local enemies = {
  141. {
  142. type = 8,
  143. x0 = 206, y0 = 834, -- from coordinates
  144. x1 = 206, y1 = 914, -- to coordinates
  145. period = 5, -- total time to move (seconds)
  146. t = 2.25, -- starting/current instant in time
  147. frame = 4, -- starting/current frame
  148. fps = 16, -- animation fps
  149. },
  150. {
  151. type = 8,
  152. x0 = 2766, y0 = 1198,
  153. x1 = 2766, y1 = 1262,
  154. period = 4,
  155. t = 0.125,
  156. frame = 2,
  157. fps = 16,
  158. },
  159. {
  160. type = 8,
  161. x0 = 702, y0 = 1414,
  162. x1 = 702, y1 = 1494,
  163. period = 5,
  164. t = 1.75,
  165. frame = 4,
  166. fps = 16,
  167. },
  168. {
  169. type = 8,
  170. x0 = 3566, y0 = 1718,
  171. x1 = 3566, y1 = 1782,
  172. period = 4,
  173. t = 0.1875,
  174. frame = 3,
  175. fps = 16,
  176. },
  177. {
  178. type = 8,
  179. x0 = 3582, y0 = 836,
  180. x1 = 3582, y1 = 916,
  181. period = 5,
  182. t = 1.875,
  183. frame = 6,
  184. fps = 16,
  185. },
  186. {
  187. type = 8,
  188. x0 = 3086, y0 = 724,
  189. x1 = 3086, y1 = 788,
  190. period = 4,
  191. t = 1.1875,
  192. frame = 3,
  193. fps = 16,
  194. },
  195. {
  196. type = 8,
  197. x0 = 1870, y0 = 1156,
  198. x1 = 1870, y1 = 1236,
  199. period = 5,
  200. t = 0.5625,
  201. frame = 1,
  202. fps = 16,
  203. },
  204. {
  205. type = 8,
  206. x0 = 1694, y0 = 1796,
  207. x1 = 1694, y1 = 1876,
  208. period = 5,
  209. t = 0.3125,
  210. frame = 5,
  211. fps = 16,
  212. },
  213. {
  214. type = 3,
  215. x0 = 2848, y0 = 1804,
  216. x1 = 2848, y1 = 1852,
  217. period = 3,
  218. t = 1.375,
  219. frame = 6,
  220. fps = 16,
  221. },
  222. {
  223. type = 3,
  224. x0 = 1472, y0 = 1162,
  225. x1 = 1472, y1 = 1242,
  226. period = 5,
  227. t = 1.625,
  228. frame = 2,
  229. fps = 16,
  230. },
  231. {
  232. type = 3,
  233. x0 = 2912, y0 = 912,
  234. x1 = 2912, y1 = 1024,
  235. period = 7,
  236. t = 1.5,
  237. frame = 0,
  238. fps = 16,
  239. },
  240. {
  241. type = 3,
  242. x0 = 2448, y0 = 1168,
  243. x1 = 2448, y1 = 1248,
  244. period = 5,
  245. t = 2.1875,
  246. frame = 3,
  247. fps = 16,
  248. },
  249. {
  250. type = 3,
  251. x0 = 1104, y0 = 776,
  252. x1 = 1104, y1 = 920,
  253. period = 9,
  254. t = 1.375,
  255. frame = 6,
  256. fps = 16,
  257. },
  258. {
  259. type = 3,
  260. x0 = 384, y0 = 1216,
  261. x1 = 384, y1 = 1312,
  262. period = 6,
  263. t = 1,
  264. frame = 0,
  265. fps = 16,
  266. },
  267. {
  268. type = 3,
  269. x0 = 1312, y0 = 1548,
  270. x1 = 1312, y1 = 1628,
  271. period = 5,
  272. t = 2.125,
  273. frame = 2,
  274. fps = 16,
  275. },
  276. {
  277. type = 3,
  278. x0 = 176, y0 = 1812,
  279. x1 = 176, y1 = 1876,
  280. period = 4,
  281. t = 1.5,
  282. frame = 0,
  283. fps = 16,
  284. },
  285. {
  286. type = 2,
  287. x0 = 4064, y0 = 844,
  288. x1 = 4064, y1 = 908,
  289. period = 4,
  290. t = 1.875,
  291. frame = 6,
  292. fps = 16,
  293. },
  294. {
  295. type = 2,
  296. x0 = 1376, y0 = 968,
  297. x1 = 1376, y1 = 1048,
  298. period = 5,
  299. t = 2.3125,
  300. frame = 5,
  301. fps = 16,
  302. },
  303. {
  304. type = 2,
  305. x0 = 4000, y0 = 1744,
  306. x1 = 4000, y1 = 1888,
  307. period = 9,
  308. t = 3.3125,
  309. frame = 5,
  310. fps = 16,
  311. },
  312. {
  313. type = 2,
  314. x0 = 928, y0 = 1292,
  315. x1 = 928, y1 = 1356,
  316. period = 4,
  317. t = 1.125,
  318. frame = 2,
  319. fps = 16,
  320. },
  321. {
  322. type = 2,
  323. x0 = 2208, y0 = 590,
  324. x1 = 2208, y1 = 734,
  325. period = 9,
  326. t = 3.3125,
  327. frame = 5,
  328. fps = 16,
  329. },
  330. {
  331. type = 2,
  332. x0 = 2448, y0 = 1548,
  333. x1 = 2448, y1 = 1708,
  334. period = 10,
  335. t = 3.6875,
  336. frame = 3,
  337. fps = 16,
  338. },
  339. {
  340. type = 2,
  341. x0 = 1504, y0 = 1352,
  342. x1 = 1504, y1 = 1512,
  343. period = 10,
  344. t = 0.75,
  345. frame = 4,
  346. fps = 16,
  347. },
  348. {
  349. type = 2,
  350. x0 = 544, y0 = 1802,
  351. x1 = 544, y1 = 1882,
  352. period = 5,
  353. t = 1.5625,
  354. frame = 1,
  355. fps = 16,
  356. },
  357. {
  358. type = 4,
  359. x0 = 912, y0 = 918,
  360. x1 = 912, y1 = 982,
  361. period = 4,
  362. t = 0.6875,
  363. frame = 3,
  364. fps = 16,
  365. },
  366. {
  367. type = 4,
  368. x0 = 2992, y0 = 1552,
  369. x1 = 2992, y1 = 1600,
  370. period = 3,
  371. t = 1.0625,
  372. frame = 1,
  373. fps = 16,
  374. },
  375. {
  376. type = 4,
  377. x0 = 2816, y0 = 930,
  378. x1 = 2816, y1 = 994,
  379. period = 4,
  380. t = 1.3125,
  381. frame = 5,
  382. fps = 16,
  383. },
  384. {
  385. type = 4,
  386. x0 = 544, y0 = 1216,
  387. x1 = 544, y1 = 1296,
  388. period = 5,
  389. t = 1.8125,
  390. frame = 5,
  391. fps = 16,
  392. },
  393. {
  394. type = 4,
  395. x0 = 3776, y0 = 1800,
  396. x1 = 3776, y1 = 1864,
  397. period = 4,
  398. t = 1.25,
  399. frame = 4,
  400. fps = 16,
  401. },
  402. {
  403. type = 4,
  404. x0 = 3632, y0 = 652,
  405. x1 = 3632, y1 = 732,
  406. period = 5,
  407. t = 1.625,
  408. frame = 2,
  409. fps = 16,
  410. },
  411. {
  412. type = 4,
  413. x0 = 2208, y0 = 1164,
  414. x1 = 2208, y1 = 1244,
  415. period = 5,
  416. t = 0.6875,
  417. frame = 3,
  418. fps = 16,
  419. },
  420. {
  421. type = 4,
  422. x0 = 1008, y0 = 1676,
  423. x1 = 1008, y1 = 1740,
  424. period = 4,
  425. t = 1.1875,
  426. frame = 3,
  427. fps = 16,
  428. },
  429. {
  430. type = 1,
  431. x0 = 1936, y0 = 1686,
  432. x1 = 2030, y1 = 1686,
  433. period = 6,
  434. t = 0.5625,
  435. frame = 6,
  436. fps = 16,
  437. },
  438. {
  439. type = 1,
  440. x0 = 688, y0 = 1760,
  441. x1 = 846, y1 = 1760,
  442. period = 10,
  443. t = 2.0625,
  444. frame = 6,
  445. fps = 16,
  446. },
  447. {
  448. type = 1,
  449. x0 = 3472, y0 = 1354,
  450. x1 = 3550, y1 = 1354,
  451. period = 5,
  452. t = 0,
  453. frame = 0,
  454. fps = 16,
  455. },
  456. {
  457. type = 1,
  458. x0 = 3840, y0 = 1120,
  459. x1 = 3934, y1 = 1120,
  460. period = 6,
  461. t = 2,
  462. frame = 7,
  463. fps = 16,
  464. },
  465. {
  466. type = 1,
  467. x0 = 3840, y0 = 774,
  468. x1 = 3902, y1 = 774,
  469. period = 4,
  470. t = 1.5,
  471. frame = 7,
  472. fps = 16,
  473. },
  474. {
  475. type = 1,
  476. x0 = 3200, y0 = 864,
  477. x1 = 3358, y1 = 864,
  478. period = 10,
  479. t = 3.4375,
  480. frame = 7,
  481. fps = 16,
  482. },
  483. {
  484. type = 1,
  485. x0 = 2944, y0 = 1188,
  486. x1 = 3038, y1 = 1188,
  487. period = 6,
  488. t = 0.8125,
  489. frame = 2,
  490. fps = 16,
  491. },
  492. {
  493. type = 1,
  494. x0 = 3072, y0 = 1886,
  495. x1 = 3230, y1 = 1886,
  496. period = 10,
  497. t = 3.0625,
  498. frame = 6,
  499. fps = 16,
  500. },
  501. {
  502. type = 5,
  503. x0 = 416, y0 = 782,
  504. x1 = 558, y1 = 782,
  505. period = 9,
  506. t = 3.0625,
  507. frame = 1,
  508. fps = 16,
  509. },
  510. {
  511. type = 5,
  512. x0 = 2080, y0 = 1504,
  513. x1 = 2238, y1 = 1504,
  514. period = 10,
  515. t = 4.75,
  516. frame = 4,
  517. fps = 16,
  518. },
  519. {
  520. type = 5,
  521. x0 = 784, y0 = 1376,
  522. x1 = 862, y1 = 1376,
  523. period = 5,
  524. t = 1.625,
  525. frame = 2,
  526. fps = 16,
  527. },
  528. {
  529. type = 5,
  530. x0 = 2560, y0 = 654,
  531. x1 = 2718, y1 = 654,
  532. period = 10,
  533. t = 1.875,
  534. frame = 1,
  535. fps = 16,
  536. },
  537. {
  538. type = 5,
  539. x0 = 3856, y0 = 1248,
  540. x1 = 3934, y1 = 1248,
  541. period = 5,
  542. t = 1.875,
  543. frame = 6,
  544. fps = 16,
  545. },
  546. {
  547. type = 5,
  548. x0 = 1344, y0 = 778,
  549. x1 = 1502, y1 = 778,
  550. period = 10,
  551. t = 2.1875,
  552. frame = 3,
  553. fps = 16,
  554. },
  555. {
  556. type = 5,
  557. x0 = 3200, y0 = 1312,
  558. x1 = 3294, y1 = 1312,
  559. period = 6,
  560. t = 0.0625,
  561. frame = 6,
  562. fps = 16,
  563. },
  564. {
  565. type = 5,
  566. x0 = 1984, y0 = 920,
  567. x1 = 2126, y1 = 920,
  568. period = 9,
  569. t = 1.875,
  570. frame = 1,
  571. fps = 16,
  572. },
  573. {
  574. type = 6,
  575. x0 = 1248, y0 = 642,
  576. x1 = 1310, y1 = 642,
  577. period = 4,
  578. t = 1.625,
  579. frame = 2,
  580. fps = 16,
  581. },
  582. {
  583. type = 6,
  584. x0 = 1152, y0 = 1184,
  585. x1 = 1246, y1 = 1184,
  586. period = 6,
  587. t = 2,
  588. frame = 0,
  589. fps = 16,
  590. },
  591. {
  592. type = 6,
  593. x0 = 176, y0 = 1358,
  594. x1 = 270, y1 = 1358,
  595. period = 6,
  596. t = 2.8125,
  597. frame = 2,
  598. fps = 16,
  599. },
  600. {
  601. type = 6,
  602. x0 = 2560, y0 = 1210,
  603. x1 = 2718, y1 = 1210,
  604. period = 10,
  605. t = 0.5625,
  606. frame = 6,
  607. fps = 16,
  608. },
  609. {
  610. type = 6,
  611. x0 = 1808, y0 = 974,
  612. x1 = 1886, y1 = 974,
  613. period = 5,
  614. t = 0.125,
  615. frame = 5,
  616. fps = 16,
  617. },
  618. {
  619. type = 6,
  620. x0 = 3232, y0 = 1056,
  621. x1 = 3342, y1 = 1056,
  622. period = 7,
  623. t = 0.1875,
  624. frame = 3,
  625. fps = 16,
  626. },
  627. {
  628. type = 6,
  629. x0 = 3840, y0 = 970,
  630. x1 = 3934, y1 = 970,
  631. period = 6,
  632. t = 2.125,
  633. frame = 2,
  634. fps = 16,
  635. },
  636. {
  637. type = 6,
  638. x0 = 2512, y0 = 1800,
  639. x1 = 2574, y1 = 1800,
  640. period = 4,
  641. t = 1.5625,
  642. frame = 1,
  643. fps = 16,
  644. },
  645. {
  646. type = 7,
  647. x0 = 1622, y0 = 974,
  648. x1 = 1684, y1 = 974,
  649. period = 4,
  650. t = 1.125,
  651. frame = 5,
  652. fps = 16,
  653. },
  654. {
  655. type = 7,
  656. x0 = 1638, y0 = 1310,
  657. x1 = 1796, y1 = 1310,
  658. period = 10,
  659. t = 4.5625,
  660. frame = 1,
  661. fps = 16,
  662. },
  663. {
  664. type = 7,
  665. x0 = 3654, y0 = 1096,
  666. x1 = 3716, y1 = 1096,
  667. period = 4,
  668. t = 1,
  669. frame = 0,
  670. fps = 16,
  671. },
  672. {
  673. type = 7,
  674. x0 = 2438, y0 = 824,
  675. x1 = 2500, y1 = 824,
  676. period = 4,
  677. t = 1.125,
  678. frame = 2,
  679. fps = 16,
  680. },
  681. {
  682. type = 7,
  683. x0 = 1414, y0 = 1706,
  684. x1 = 1476, y1 = 1706,
  685. period = 4,
  686. t = 0.375,
  687. frame = 1,
  688. fps = 16,
  689. },
  690. {
  691. type = 7,
  692. x0 = 278, y0 = 1722,
  693. x1 = 436, y1 = 1722,
  694. period = 10,
  695. t = 0.3125,
  696. frame = 5,
  697. fps = 16,
  698. },
  699. {
  700. type = 7,
  701. x0 = 3062, y0 = 704,
  702. x1 = 3140, y1 = 704,
  703. period = 5,
  704. t = 1,
  705. frame = 0,
  706. fps = 16,
  707. },
  708. {
  709. type = 7,
  710. x0 = 2934, y0 = 476,
  711. x1 = 3028, y1 = 476,
  712. period = 6,
  713. t = 2.125,
  714. frame = 5,
  715. fps = 16,
  716. },
  717. }
  718. local orbs = {
  719. -- Mass from CoM calculation: m2 = m1 * (c / (L - c))
  720. -- m2 = mass of orb, m1 = mass of ship, L = length of tractor = 40
  721. -- c = CoM displacement (away from ship), which is the value in the table.
  722. { x = 777, y = 328, m = 4 }, -- orb 01 CoM=32
  723. { x = 393, y = 1048, m = 4 }, -- orb 02 CoM=32
  724. { x = 2825, y = 328, m = 3.4444444444444446 }, -- orb 03 CoM=31
  725. { x = 3465, y = 1048, m = 3.4444444444444446 }, -- orb 04 CoM=31
  726. { x = 2377, y = 984, m = 3 }, -- orb 05 CoM=30
  727. { x = 1433, y = 1192, m = 2.6363636363636362 }, -- orb 06 CoM=29
  728. { x = 3465, y = 1848, m = 2.3333333333333335 }, -- orb 07 CoM=28
  729. { x = 3465, y = 728, m = 2.0769230769230770 }, -- orb 08 CoM=27
  730. { x = 1305, y = 616, m = 1.8571428571428572 }, -- orb 09 CoM=26
  731. { x = 2009, y = 1512, m = 1.6666666666666667 }, -- orb 10 CoM=25
  732. { x = 969, y = 1368, m = 1.3529411764705883 }, -- orb 11 CoM=23
  733. { x = 649, y = 1496, m = 1.1052631578947370 }, -- orb 12 CoM=21
  734. { x = 2905, y = 680, m = 0.8181818181818182 }, -- orb 13 CoM=18
  735. { x = 153, y = 1192, m = 0.5384615384615384 }, -- orb 14 CoM=14
  736. { x = 3913, y = 1496, m = 0.2903225806451613 }, -- orb 15 CoM=9
  737. { x = 329, y = 1880, m = 0.2903225806451613 }, -- orb 16 CoM=9
  738. }
  739. local decoys = {
  740. { x = 3273, y = 1880 }, -- decoy 01
  741. { x = 3305, y = 1880 }, -- decoy 02
  742. { x = 3337, y = 1848 }, -- decoy 03
  743. { x = 3369, y = 1848 }, -- decoy 04
  744. { x = 3401, y = 1784 }, -- decoy 05
  745. { x = 3433, y = 1784 }, -- decoy 06
  746. { x = 3497, y = 1848 }, -- decoy 07
  747. { x = 3529, y = 1752 }, -- decoy 08
  748. { x = 3561, y = 1752 }, -- decoy 09
  749. { x = 3593, y = 1880 }, -- decoy 10
  750. { x = 3625, y = 1880 }, -- decoy 11
  751. }
  752. local targets = {
  753. { x = 58, y = 8, tile = 68, empty = 1 },
  754. { x = 57, y = 8, tile = 67, empty = 1 },
  755. { x = 58, y = 9, tile = 66, empty = 1 },
  756. { x = 57, y = 9, tile = 65, empty = 1 },
  757. { x = 58, y = 10, tile = 64, empty = 1 },
  758. { x = 57, y = 10, tile = 63, empty = 1 },
  759. { x = 58, y = 11, tile = 62, empty = 1 },
  760. { x = 57, y = 11, tile = 61, empty = 1 },
  761. { x = 59, y = 12, tile = 60, empty = 1 },
  762. { x = 58, y = 12, tile = 59, empty = 1 },
  763. { x = 57, y = 12, tile = 59, empty = 1 },
  764. { x = 56, y = 12, tile = 58, empty = 1 },
  765. { x = 59, y = 13, tile = 57, empty = 1 },
  766. { x = 58, y = 13, tile = 57, empty = 1 },
  767. { x = 57, y = 13, tile = 57, empty = 1 },
  768. { x = 56, y = 13, tile = 57, empty = 1 },
  769. }
  770. -- Where to revive in case of crash (assumed wxh from topleftx/toplefty)
  771. -- When the ship enters one of these squares, it's registered, and the next
  772. -- time it's respawned at the given x,y
  773. local respawn = {
  774. {
  775. topleftx = 0,
  776. toplefty = 0,
  777. w = 384,
  778. h = 384,
  779. x = 256,
  780. y = 158,
  781. },
  782. {
  783. topleftx = 512,
  784. toplefty = 0,
  785. w = 384,
  786. h = 384,
  787. x = 768,
  788. y = 170,
  789. },
  790. {
  791. topleftx = 1024,
  792. toplefty = 0,
  793. w = 384,
  794. h = 384,
  795. x = 1374,
  796. y = 146,
  797. },
  798. {
  799. topleftx = 1536,
  800. toplefty = 0,
  801. w = 384,
  802. h = 384,
  803. x = 1790,
  804. y = 146,
  805. },
  806. {
  807. topleftx = 2048,
  808. toplefty = 0,
  809. w = 384,
  810. h = 384,
  811. x = 2302,
  812. y = 146,
  813. },
  814. {
  815. topleftx = 2560,
  816. toplefty = 0,
  817. w = 384,
  818. h = 384,
  819. x = 2814,
  820. y = 146,
  821. },
  822. {
  823. topleftx = 3072,
  824. toplefty = 0,
  825. w = 384,
  826. h = 384,
  827. x = 3286,
  828. y = 146,
  829. },
  830. {
  831. topleftx = 3584,
  832. toplefty = 0,
  833. w = 384,
  834. h = 384,
  835. x = 3838,
  836. y = 146,
  837. },
  838. {
  839. topleftx = 320,
  840. toplefty = 768,
  841. w = 384,
  842. h = 384,
  843. x = 544,
  844. y = 898,
  845. },
  846. {
  847. topleftx = 576,
  848. toplefty = 1152,
  849. w = 384,
  850. h = 384,
  851. x = 822,
  852. y = 1266,
  853. },
  854. {
  855. topleftx = 1152,
  856. toplefty = 640,
  857. w = 384,
  858. h = 384,
  859. x = 1310,
  860. y = 770,
  861. },
  862. {
  863. topleftx = 128,
  864. toplefty = 1408,
  865. w = 384,
  866. h = 384,
  867. x = 358,
  868. y = 1522,
  869. },
  870. {
  871. topleftx = 512,
  872. toplefty = 1536,
  873. w = 384,
  874. h = 384,
  875. x = 894,
  876. y = 1690,
  877. },
  878. {
  879. topleftx = 896,
  880. toplefty = 1536,
  881. w = 384,
  882. h = 384,
  883. x = 1134,
  884. y = 1658,
  885. },
  886. {
  887. topleftx = 1472,
  888. toplefty = 1152,
  889. w = 384,
  890. h = 384,
  891. x = 1598,
  892. y = 1274,
  893. },
  894. {
  895. topleftx = 1920,
  896. toplefty = 896,
  897. w = 384,
  898. h = 384,
  899. x = 2086,
  900. y = 1034,
  901. },
  902. {
  903. topleftx = 1856,
  904. toplefty = 1472,
  905. w = 384,
  906. h = 384,
  907. x = 2070,
  908. y = 1586,
  909. },
  910. {
  911. topleftx = 2304,
  912. toplefty = 1408,
  913. w = 384,
  914. h = 384,
  915. x = 2542,
  916. y = 1562,
  917. },
  918. {
  919. topleftx = 2752,
  920. toplefty = 1600,
  921. w = 384,
  922. h = 384,
  923. x = 3006,
  924. y = 1722,
  925. },
  926. {
  927. topleftx = 3200,
  928. toplefty = 1600,
  929. w = 384,
  930. h = 384,
  931. x = 3478,
  932. y = 1722,
  933. },
  934. {
  935. topleftx = 2048,
  936. toplefty = 512,
  937. w = 384,
  938. h = 384,
  939. x = 2366,
  940. y = 650,
  941. },
  942. {
  943. topleftx = 2560,
  944. toplefty = 768,
  945. w = 384,
  946. h = 384,
  947. x = 2758,
  948. y = 906,
  949. },
  950. {
  951. topleftx = 2816,
  952. toplefty = 1152,
  953. w = 384,
  954. h = 384,
  955. x = 3014,
  956. y = 1290,
  957. },
  958. {
  959. topleftx = 3200,
  960. toplefty = 1152,
  961. w = 384,
  962. h = 384,
  963. x = 3358,
  964. y = 1290,
  965. },
  966. {
  967. topleftx = 3776,
  968. toplefty = 704,
  969. w = 384,
  970. h = 384,
  971. x = 3918,
  972. y = 850,
  973. },
  974. }
  975. -- tile -> enemy type (for agents)
  976. local agents = {
  977. [111] = 1, [117] = 2, [116] = 3, [118] = 4,
  978. [119] = 5, [120] = 6, [121] = 7, [115] = 8,
  979. }
  980. -- require() can't return multiple values, so we wrap them in a function
  981. return function()
  982. return map, enemytypes, enemies, orbs, decoys, targets, respawn, agents
  983. end