JasonLautzenheiser / trizbort

Trizbort, the Interactive Fiction Mapper
http://www.trizbort.com
Other
130 stars 35 forks source link

Added Simple Exporter for Adventuron Text Adventure Creation System #489

Closed ainslec closed 4 years ago

ainslec commented 4 years ago

Hello,

You may remember I've had an "import from Trizbort" feature in Adventuron for a while (you blogged about it), but I thought it would be convenient to have an exporter in Trizbort too.

It's only basic, but it should work for basic maps (hopefully).

Chris

JasonLautzenheiser commented 4 years ago

So sorry for the delay on looking at this. Been a busy month. Couple issues:

It appears that some files were added to source control, but not included in the VS project. For example, the file AdventuronExporter.cs is there, it is just not included in the project so the build fails.

Also I left a comment in the code, but ApplicationSettingsController.AppSettings.LastExportAdventuronFileName is not actually included in the appsettings class causing a build error.

ainslec commented 4 years ago

Thanks for the feedback, let me see what I can do about this.

I'm not quite sure about the workflow to follow after a failed pull request, so I'll probably just close the pull request, try to figure out what is wrong, then resubmit the pull request.

JasonLautzenheiser commented 4 years ago

If you still use your same branch, and push again with changes, the PR should be automatically updated with the updates.

ainslec commented 4 years ago

How is this?

JasonLautzenheiser commented 4 years ago

that fixes the one issue.... the other one where the new exporter cs file is not included in the actual project still needs updated..... I would expect to see the trizbort.csproj file to be updated in the PR so that the new file is included.

ainslec commented 4 years ago

The problem is that I'm submitting this blind (without the benefit of the IDE). I won't make this mistake again. Terribly sorry for the bother.

JasonLautzenheiser commented 4 years ago

gotcha.....no worries at all.

ainslec commented 4 years ago

Good now?

JasonLautzenheiser commented 4 years ago

OK...it builds fine now.....I did run it through a couple tests. The two trizbort files attached were used to create exports. I then went to your site and pasted them into your site and looks like some errors.

You'll want to change extensions of these to trizbort before loading them into the app.

test.txt spiral.txt

ainslec commented 4 years ago

Can you post the output that didn't import into Adventuron?

JasonLautzenheiser commented 4 years ago

start_at = test_room

locations { test_room : location "Test! \n" ; // Test room }

connections { from, direction, to = [ ] }

JasonLautzenheiser commented 4 years ago

start_at = mountainside

locations { mountainside : location "" ; // Mountainside foot_of_the_mountain_s : location "" ; // Foot of the Mountain S foot_of_the_mountain_w : location "" ; // Foot of the Mountain W foot_of_the_mountain_e : location "fsdfds" ; // Foot of the Mountain E on_the_cloud : location "" ; // On the Cloud platform : location "" ; // Platform machine_room:_west : location "" ; // Machine Room: West fall_to_carriage : location "" ; // Fall to Carriage fall_to_carriage_2 : location "" ; // Fall to Carriage fall_to_carriage_3 : location "" ; // Fall to Carriage machine_room:_central : location "" ; // Machine Room: Central machine_room:_east : location "" ; // Machine Room: East beneath_the_pipe : location "" ; // Beneath the Pipe church_isle : location "" ; // Church Isle fall_to_carriage_4 : location "" ; // Fall to Carriage over_the_gap : location "" ; // Over the Gap scrap_room : location "" ; // Scrap Room coast : location "" ; // Coast cave : location "" ; // Cave attic : location "" ; // Attic tomb : location "" ; // Tomb carriage : location "" ; // Carriage underground_line : location "Made in Twine, Men Don't Play With Dolls is an intimate and painful look into the beginnings of a lifelong struggle with addiction. Memories like these are not easily escaped." ; // Underground Line hospital_room : location "" ; // Hospital Room reth's_den : location "" ; // Reth's Den underground_line_2 : location "" ; // Underground Line summit : location "" ; // Summit vat : location "" ; // Vat train_wreck : location "" ; // Train Wreck }

connections { from, direction, to = [ mountainside, south_oneway, foot_of_the_mountain_s, foot_of_the_mountain_s, north_oneway, mountainside, foot_of_the_mountain_s, east_oneway, foot_of_the_mountain_e, foot_of_the_mountain_s, west_oneway, foot_of_the_mountain_w, foot_of_the_mountain_s, southeast_oneway, church_isle, foot_of_the_mountain_w, east_oneway, foot_of_the_mountain_s, foot_of_the_mountain_w, west_oneway, coast, foot_of_the_mountain_e, west_oneway, foot_of_the_mountain_s, foot_of_the_mountain_e, enter_oneway, on_the_cloud, on_the_cloud, exit_oneway, foot_of_the_mountain_e, platform, east_oneway, machine_room:_west, machine_room:_west, north_oneway, over_the_gap, machine_room:_west, east_oneway, machine_room:_central, machine_room:_west, west_oneway, platform, machine_room:_west, up_oneway, beneath_the_pipe, machine_room:_central, east_oneway, machine_room:_east, machine_room:_central, west_oneway, machine_room:_west, machine_room:_east, west_oneway, machine_room:_central, machine_room:_east, down_oneway, hospital_room, beneath_the_pipe, up_oneway, fall_to_carriage_4, beneath_the_pipe, down_oneway, machine_room:_west, church_isle, northwest_oneway, foot_of_the_mountain_s, fall_to_carriage_4, down_oneway, beneath_the_pipe, over_the_gap, north_oneway, scrap_room, over_the_gap, south_oneway, machine_room:_west, scrap_room, south_oneway, over_the_gap, scrap_room, east_oneway, reth's_den, coast, east_oneway, foot_of_the_mountain_w, coast, up_oneway, cave, cave, south_oneway, attic, cave, west_oneway, tomb, cave, down_oneway, coast, attic, north_oneway, cave, tomb, east_oneway, cave, carriage, northeast_oneway, mountainside, carriage, southeast_oneway, machine_room:_west, underground_line, south_oneway, tomb, hospital_room, south_oneway, machine_room:_east, reth's_den, west_oneway, scrap_room, underground_line_2, south_oneway, reth's_den, underground_line_2, east_oneway, vat, underground_line_2, west_oneway, summit, underground_line_2, enter_oneway, train_wreck, summit, down_oneway, underground_line_2, train_wreck, exit_oneway, underground_line_2, ] }

JasonLautzenheiser commented 4 years ago

The first one, there is a problem with the line breaks.

The second one, it doesn't seem to like the apostrophes in the room names.

ainslec commented 4 years ago

I've installed Visual Studio now, and have tested that this check-in resolves the escaping issues (I have replicated the rules of the Rion parser itself), I've also tested in Adventuron to confirm that it works.

I do hope this now meets the quality threshold.

ainslec commented 4 years ago

Can you look at this again please, if you have time?

JasonLautzenheiser commented 4 years ago

Yep, will take a look when I get a moment. Busy time of year!

JasonLautzenheiser commented 4 years ago

Tested this with a handful of different maps...only problem I found so far is that your system only allows for the header (room name) to be 25 characters, where Trizbort allows for unlimited text in the room name.

Seems a bit of an edge case, so I'll merge this in and add that as an issue to account for down the road.

Thanks for the doing this.