Page 3 of 3

Re: Juego

PostPosted: 20 January 2015, 19:09
by NanoWar
TILED has all that. The output format can be CSV, which can be easily transformed to z80.

Example output
Code: Select all
85,86,265,294,260,264,299,58,299,299,299,299,
115,71,71,71,290,71,120,88,150,47,202,203,
115,71,71,71,71,71,150,149,150,204,232,233,
145,146,146,146,146,147,179,150,150,150,150,119,
403,404,404,404,404,405,264,227,264,264,294,264,
433,13,289,289,262,263,294,227,205,206,450,265,
433,388,269,270,292,293,265,227,235,236,160,160,
463,387,289,289,289,289,289,160,160,160,160,179,
224,224,224,224,224,225,355,355,356,294,264,264,
391,343,344,345,346,393,28,28,299,264,264,294,
421,373,374,375,376,423,58,59,299,265,265,265,
451,452,452,452,452,453,88,88,150,150,150,150

You can put .db in front and remove comma.
Of course the tileset(s) need to be 256 tiles max...

TILED supports multiple palettes (tilesets). They could be switched at runtime (?) e.g. when you enter a certain area like houses/dungeons/overworld etc.

Re: Juego

PostPosted: 21 January 2015, 01:12
by chickendude
I'll take another look at TILED, but what i mean by brushes is that each tile i place on the map has extra data added to it, it has an "action byte", basically a byte of flags (walkable, talkable, walk-on action, walk-off action, etc.) in addition to mask pointers and other things (that's how the bridges and things work). If there's a way to some how add that extra data in, it'd be much better than writing my own mapper. My C sucks!

Re: Juego

PostPosted: 21 January 2015, 12:59
by NanoWar
How do you need it to be?

Code: Select all
.db Tile1, Action1, Tile2, Action2, ...

or
Code: Select all
Map:
.db Tile1, Tile2, ...
Actions:
.db Action1, Action2

Re: Juego

PostPosted: 21 January 2015, 13:21
by chickendude
For example, here's the brush set from the outside map:
Code: Select all
;start of brushes
      .dw grass
      .dw path
      .dw path_corner1
      .dw path_corner2
      .dw path_corner3
      .dw path_corner4
      .dw path_round1
      .dw flower
      .dw tree_topleft
      .dw tree_topright
      .dw tree_topleft_forest
      .dw tree_topright_forest
      .dw tree_bottom_left
      .dw tree_bottomright
      .dw sign_item
      .dw wall_vert
      .dw wall_horiz
      .dw wall_bottom_left_corner
      .dw wall_bottom_right_corner
      .dw wall_top_left_corner
      .dw wall_top_right_corner
      .dw house_new_left
      .dw house_new_right
      .dw door_pretty
      .dw door_old_books
      .dw house_old_left_sign
      .dw house_old_right
      .dw roof_left
      .dw roof_right
      .dw roof_bookshop
      .dw roof_item_shop
      .dw roof_weapon_shop
      .dw sign_hanging_libros
      .dw sign_weapon
      .dw arch_bottom_left
      .dw arch_bottom_middle
      .dw arch_bottom_right
      .dw arch_top_left
      .dw arch_top_middle
      .dw arch_top_right

grass:
      .db %00000000
      .db 0
path:
      .db %00000000
      .db 1
path_corner1:
      .db %00000000
      .db 2
path_corner2:
      .db %00000000
      .db 3
path_corner3:
      .db %00000000
      .db 4
path_corner4:
      .db %00000000
      .db 5
path_round1:
      .db %00000000
      .db 6
flower:
      .db %00000000
      .db 7
tree_topleft:
      .db %00001100
      .db 8
      .db 11
      .db 0
tree_topright:
      .db %00001100
      .db 9
      .db 12
      .db 0
tree_topleft_forest:
      .db %00001110
      .db 10
      .db 18
      .db 4
tree_topright_forest:
      .db %00001110
      .db 11
      .db 18
      .db 4
tree_bottom_left:
      .db %00000110
      .db 12
      .db 9
      .db 2
tree_bottomright:
      .db %00000110
      .db 13
      .db 10
      .db 2
sign_item:
      .db %10000110
      .db 14
      .db -1
      .db 14
.db TEXT \ .dw text2
wall_vert:
      .db %00000010
      .db 15
wall_horiz:
      .db %00000110
      .db 16
      .db 15
      .db 6
wall_bottom_left_corner:
      .db %00000010
      .db 17
wall_bottom_right_corner:
      .db %00000010
      .db 18
wall_top_left_corner:
      .db %00000110
      .db 19
      .db 16
      .db 6
wall_top_right_corner:
      .db %00000110
      .db 20
      .db 17
      .db 6
house_new_left:
      .db %00000010
      .db 21
house_new_right:
      .db %00000010
      .db 22
door_pretty:
      .db %00000010
      .db 23
door_old_books:
      .db %01000010
      .db 24
.db MAP,5,7,2
house_old_left_sign:
      .db %00000010
      .db 25
house_old_right:
      .db %00000010
      .db 26
roof_left:
      .db %00000110
      .db 27
      .db 5
      .db 1
roof_right:
      .db %00000110
      .db 28
      .db 6
      .db 10
roof_bookshop:
      .db %00000110
      .db 29
      .db 18
      .db 0
roof_item_shop:
      .db %00000110
      .db 30
      .db 18
      .db 0
roof_weapon_shop:
      .db %00000110
      .db 31
      .db 18
      .db 0
sign_hanging_libros:
      .db %10000110
      .db 32
      .db -1
      .db 14
.db TEXT \ .dw text1
sign_weapon:
      .db %10000110
      .db 14
      .db 7
      .db 14
.db TEXT \ .dw text0
arch_bottom_left:
      .db %00000110
      .db 33
      .db 19
      .db 6
arch_bottom_middle:
      .db %00000100
      .db 34
      .db 20
      .db 0
arch_bottom_right:
      .db %00000110
      .db 35
      .db 21
      .db 6
arch_top_left:
      .db %00001100
      .db 36
      .db 22
      .db 0
arch_top_middle:
      .db %00001100
      .db 37
      .db 23
      .db 0
arch_top_right:
      .db %00001100
      .db 38
      .db 24
      .db 0
Look at "sign_item" and "door_old_books". They've got special data in them because they are interactive. Others have mask data including how far behind them you can walk. In my maps, a 0 pulls the grass brush, a 1 pulls the path brush, etc. deeph's editor handles all of these for me

Re: Juego

PostPosted: 21 January 2015, 14:00
by NanoWar
Hmm I see. This extra dialog is very customized for your needs. In Tiled you can add any data to your tiles and the (to be programmed) export plugin would handle the brushes. Not sure about the masking and collision, in Tiled you'd have to insert it in a text field, there are no extensible check boxes. I mean you can rewrite the entire program, it's open source ;) .

BTW do you have Skype? If so, send me your name via email.

Re: Juego

PostPosted: 21 January 2015, 15:41
by chickendude
Yeah, it's just that each brush isn't always the same number of bytes. The check box isn't super important, it just marks which bits are on/off in the action byte. Anyway, i just saw that it's included in the Fedora repositories so i'm installing it now. Juego could really use some cleaning up, maybe Tiled can help out some with that.

Re: Juego

PostPosted: 16 February 2015, 20:49
by Art_of_camelot
Wow, seems like the custom editor is pretty nifty. ^^

Re: Juego

PostPosted: 17 February 2015, 13:22
by chickendude
Yeah, it is, deeph put a lot of work into it :)

Re: Juego

PostPosted: 28 June 2017, 17:35
by chickendude
I think i lost Juego in a series of OS/hard drive changes, though i found an old copy still hanging around Google Code. It's from 2013, but honestly i don't think i've done much with it since then :P

Been getting back into my old projects, also found the code for an old project with Contra and MadSkillz that i've worked on a bit since then (and to be honest is just about finished). I miss my old z80 projects!

Re: Juego

PostPosted: 28 June 2017, 19:36
by add
I've missed it too, I wanna be a wiz someday, but I'm not going to get good if I keep procrastinating and not doing anything. :-P

Re: Juego

PostPosted: 29 June 2017, 02:55
by chickendude
I've finally posted the code to GitHub:
https://github.com/RevolutionSoftware/Juego

The current code has a couple bugs in it which i think is from the bad state i found it in (the old copy i found online from Google Code had a couple files missing and some of the files were out of date, i suck at version control!). I spent some time today fixing all that and getting it to where it'll compile. I also spent some time rereading through the code, documenting some parts, and trying to clean it up a bit. These are the two things i noted that are still broken:
1. Stats screen has an issue with displaying larger numbers, i think it's overwriting data offscreen, too, as going back in after closing the stats screen causes causes the calc to freeze.
2. The items menu quits when scrolling down offscreen instead of scrolling the items. There's also no word-wrapping in the item descriptions. I can't remember if that was originally the case or not.

I also remember being able to buy items, but the shopkeeper is apparently gone now... Guess they couldn't wait for me to finish the game, heh.

Re: Juego

PostPosted: 29 June 2017, 11:56
by NanoWar
Yeah, I saw the updates on GitHub notifications :) Mind post some screenshots?

Re: Juego

PostPosted: 29 June 2017, 13:33
by chickendude
I'm still trying to fix things, i just noticed that reading a sign crashes it as well. The screenshots from the last update are where i'm trying to bring it back to:
Image
Image
Image
Image

I also realized that passing the --full-speed option to TilEm2 loads it up in full speed mode which is great since the app takes up 3 pages currently (though the last two pages are mostly empty). I've also got it to run a macro on start so whenever i assemble it it loads the emulator, sends the app across super fast, and starts it up. I wish there were a keyboard shortcut to toggle full speed, but this way's not so bad. I looked a bit into the TilEm2 source looking for a way to add it in myself, but that's when i found the command-line option and opted for that :P

Ahh, and i've attached a picture of what the stats screen looks like. I'm not sure if it's an issue with the number to string routine or if it's an issue with how i'm passing the number in to the routine. That's what i plan on looking into today. I'd also like to try to organize it all a bit, after using IntelliJ/Android Studio this past year it's a bit odd how hard it is to find your way around, heh.

EDIT: I fixed the formatting of the number to string routines (and documented the code a bit more), however it's still crashing when going back to the stats screen a second time.
EDIT2: Ok, so fixed that bug :D Apparently the final zero was getting overwritten where the number string is stored, so the second time it kept running through looking for the final 0 (and running whatever else it came across in between). Add will be happy to hear that i've been doing all this with gVim ;)

I'd also be open to ideas on how to better organize the code (including how to organize the files in the directory).

Re: Juego

PostPosted: 03 July 2017, 16:16
by add
Juego is a cool project, and I hope to be of use, right now I'm unsure of what I should do though..
Hmm
EDIT:
chickendude wrote:Add will be happy to hear that i've been doing all this with gVim ;)

Heh, yeah, good work :-)

Re: Juego

PostPosted: 03 July 2017, 16:52
by chickendude
Well, i think we should document it a bit more. I also started adding some documentation on the wiki for the text menu routine:
https://github.com/RevolutionSoftware/J ... nu-Routine

Also, the current folder format is a bit of a mess, i keep having trouble finding the file i want.

EDIT: Just tried to set up a dev environment on Windows and realized all my includes use Linux style path directories. So that's not gonna work... :P