mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-19 21:03:42 -07:00
fix compiling logic, no more errors
This commit is contained in:
parent
fc3573b0d3
commit
e72c42e342
3 changed files with 22 additions and 11 deletions
|
@ -7,10 +7,13 @@ if len(argv) < 1:
|
||||||
exit()
|
exit()
|
||||||
|
|
||||||
class RR:
|
class RR:
|
||||||
__slots__ = "name", "scene", "events", "checks", "exits"
|
__slots__ = "name", "scene", "timepass", "areas", "ui_name", "events", "checks", "exits"
|
||||||
def __init__(self, name, scene):
|
def __init__(self, name, scene, timepass, *areas):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.scene = scene
|
self.scene = scene
|
||||||
|
self.timepass = timepass == "true"
|
||||||
|
self.areas = areas
|
||||||
|
self.ui_name = ""
|
||||||
self.events = []
|
self.events = []
|
||||||
self.checks = []
|
self.checks = []
|
||||||
self.exits = []
|
self.exits = []
|
||||||
|
@ -100,7 +103,7 @@ class RR:
|
||||||
elif f in RANDO:
|
elif f in RANDO:
|
||||||
output(f"Rando::{f}")
|
output(f"Rando::{f}")
|
||||||
elif f == "Here":
|
elif f == "Here":
|
||||||
output("Here(f{self.name}, []{return f{self.to_cpp(ast[1])};})")
|
output(f"Here({self.name}, []{{return {self.to_cpp(ast[1])};}})")
|
||||||
elif f != "--":
|
elif f != "--":
|
||||||
if len(ast) != 1:
|
if len(ast) != 1:
|
||||||
print("expected atom, got tree", ast)
|
print("expected atom, got tree", ast)
|
||||||
|
@ -119,6 +122,7 @@ LOGIC = {
|
||||||
"AtNight",
|
"AtNight",
|
||||||
"LoweredWaterInBotw",
|
"LoweredWaterInBotw",
|
||||||
"BigPoes",
|
"BigPoes",
|
||||||
|
"IsFireLoopLocked",
|
||||||
}
|
}
|
||||||
|
|
||||||
RANDO = {
|
RANDO = {
|
||||||
|
@ -156,6 +160,7 @@ logicFUNC = {
|
||||||
"HasFireSourceWithTorch",
|
"HasFireSourceWithTorch",
|
||||||
"CanUse",
|
"CanUse",
|
||||||
"CanPassEnemy",
|
"CanPassEnemy",
|
||||||
|
"CanAvoidEnemy",
|
||||||
"CanKillEnemy",
|
"CanKillEnemy",
|
||||||
"CanGetEnemyDrop",
|
"CanGetEnemyDrop",
|
||||||
"CanGetDekuBabaSticks",
|
"CanGetDekuBabaSticks",
|
||||||
|
@ -169,6 +174,7 @@ logicFUNC = {
|
||||||
"CanSpawnSoilSkull",
|
"CanSpawnSoilSkull",
|
||||||
"CanGetNightTimeGS",
|
"CanGetNightTimeGS",
|
||||||
"CanOpenUnderwaterChest",
|
"CanOpenUnderwaterChest",
|
||||||
|
"CanOpenOverworldDoor",
|
||||||
"CanHitSwitch",
|
"CanHitSwitch",
|
||||||
"CanHitEyeTargets",
|
"CanHitEyeTargets",
|
||||||
"CanDetonateUprightBombFlower",
|
"CanDetonateUprightBombFlower",
|
||||||
|
@ -188,6 +194,8 @@ logicFUNC = {
|
||||||
"TradeQuestStep",
|
"TradeQuestStep",
|
||||||
"GetGSCount",
|
"GetGSCount",
|
||||||
"BlastOrSmash",
|
"BlastOrSmash",
|
||||||
|
"CanOpenBombGrotto",
|
||||||
|
"CanOpenStormsGrotto",
|
||||||
"HookshotOrBoomerang",
|
"HookshotOrBoomerang",
|
||||||
"TakeDamage",
|
"TakeDamage",
|
||||||
"CanAttack",
|
"CanAttack",
|
||||||
|
@ -196,6 +204,7 @@ logicFUNC = {
|
||||||
"CanJumpslash",
|
"CanJumpslash",
|
||||||
"CanJumpslashExceptHammer",
|
"CanJumpslashExceptHammer",
|
||||||
"HasBottle",
|
"HasBottle",
|
||||||
|
"ScarecrowsSong",
|
||||||
"SmallKeys",
|
"SmallKeys",
|
||||||
"OcarinaButtons",
|
"OcarinaButtons",
|
||||||
"Hearts",
|
"Hearts",
|
||||||
|
@ -219,15 +228,17 @@ open_count = close_count = 0
|
||||||
for line in open(argv[1]):
|
for line in open(argv[1]):
|
||||||
if line.startswith("def "):
|
if line.startswith("def "):
|
||||||
if open_count != close_count:
|
if open_count != close_count:
|
||||||
print("error parsing:", name)
|
print("error parsing", line)
|
||||||
defline = line.split()
|
defline = line.split()
|
||||||
name = defline[1]
|
active_rr = RR(*defline[1:])
|
||||||
active_rr = RR(name, defline[2])
|
|
||||||
RRs.append(active_rr)
|
RRs.append(active_rr)
|
||||||
buf = ""
|
buf = ""
|
||||||
open_count = close_count = 0
|
open_count = close_count = 0
|
||||||
continue
|
continue
|
||||||
if line.startswith("--"):
|
if active_rr and not active_rr.ui_name:
|
||||||
|
active_rr.ui_name = line.strip()
|
||||||
|
continue
|
||||||
|
if not active_rr or line.startswith("--"):
|
||||||
continue
|
continue
|
||||||
open_count += line.count('(')
|
open_count += line.count('(')
|
||||||
close_count += line.count(')')
|
close_count += line.count(')')
|
||||||
|
@ -254,7 +265,7 @@ for line in open(argv[1]):
|
||||||
result = []
|
result = []
|
||||||
output = result.append
|
output = result.append
|
||||||
for rr in RRs:
|
for rr in RRs:
|
||||||
output(f"areaTable[{rr.name}] = Region(\"...\", {rr.scene}, {{")
|
output(f"areaTable[{rr.name}] = Region(\"{rr.ui_name}\", {rr.scene}, {'true' if rr.timepass else 'false'}, {{','.join(rr.areas)}}, {{")
|
||||||
if rr.events:
|
if rr.events:
|
||||||
output("\n")
|
output("\n")
|
||||||
for name, code in rr.events:
|
for name, code in rr.events:
|
||||||
|
@ -269,7 +280,7 @@ for rr in RRs:
|
||||||
|
|
||||||
if rr.exits:
|
if rr.exits:
|
||||||
output("\n")
|
output("\n")
|
||||||
for name, code in rr.events:
|
for name, code in rr.exits:
|
||||||
output(f"\tEntrance({name}, []{{return {rr.gen(code)};}}),\n")
|
output(f"\tEntrance({name}, []{{return {rr.gen(code)};}}),\n")
|
||||||
output("});\n")
|
output("});\n")
|
||||||
|
|
||||||
|
|
|
@ -336,7 +336,7 @@ void Rando::StaticData::RegisterCrateLocations() {
|
||||||
locationTable[RC_GF_SOUTHMOST_CENTER_CRATE] = Location::Crate(RC_GF_SOUTHMOST_CENTER_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(315, -1534), "Southmost Center Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_SOUTHMOST_CENTER_CRATE));
|
locationTable[RC_GF_SOUTHMOST_CENTER_CRATE] = Location::Crate(RC_GF_SOUTHMOST_CENTER_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(315, -1534), "Southmost Center Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_SOUTHMOST_CENTER_CRATE));
|
||||||
locationTable[RC_GF_MID_SOUTH_CENTER_CRATE] = Location::Crate(RC_GF_MID_SOUTH_CENTER_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(315, -1594), "Middle South Center Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_MID_SOUTH_CENTER_CRATE));
|
locationTable[RC_GF_MID_SOUTH_CENTER_CRATE] = Location::Crate(RC_GF_MID_SOUTH_CENTER_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(315, -1594), "Middle South Center Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_MID_SOUTH_CENTER_CRATE));
|
||||||
locationTable[RC_GF_MID_NORTH_CENTER_CRATE] = Location::Crate(RC_GF_MID_NORTH_CENTER_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(310, -1782), "Middle North Center Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_MID_NORTH_CENTER_CRATE));
|
locationTable[RC_GF_MID_NORTH_CENTER_CRATE] = Location::Crate(RC_GF_MID_NORTH_CENTER_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(310, -1782), "Middle North Center Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_MID_NORTH_CENTER_CRATE));
|
||||||
locationTable[RR_GF_NORTHMOST_CENTER_CRATE] = Location::Crate(RR_GF_NORTHMOST_CENTER_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(310, -1842), "Northmost Center Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_NORTHMOST_CENTER_CRATE));
|
locationTable[RC_GF_NORTHMOST_CENTER_CRATE] = Location::Crate(RC_GF_NORTHMOST_CENTER_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(310, -1842), "Northmost Center Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_NORTHMOST_CENTER_CRATE));
|
||||||
locationTable[RC_GF_OUTSKIRTS_NE_CRATE] = Location::Crate(RC_GF_OUTSKIRTS_NE_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(-60, -2210), "Outskirts Northeast Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_OUTSKIRTS_NE_CRATE));
|
locationTable[RC_GF_OUTSKIRTS_NE_CRATE] = Location::Crate(RC_GF_OUTSKIRTS_NE_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(-60, -2210), "Outskirts Northeast Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_OUTSKIRTS_NE_CRATE));
|
||||||
locationTable[RC_GF_OUTSKIRTS_NW_CRATE] = Location::Crate(RC_GF_OUTSKIRTS_NW_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(-120, -2210), "Outskirts Northwest Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_OUTSKIRTS_NW_CRATE));
|
locationTable[RC_GF_OUTSKIRTS_NW_CRATE] = Location::Crate(RC_GF_OUTSKIRTS_NW_CRATE, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(-120, -2210), "Outskirts Northwest Crate", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_OUTSKIRTS_NW_CRATE));
|
||||||
locationTable[RC_GF_HBA_RANGE_CRATE_2] = Location::Crate(RC_GF_HBA_RANGE_CRATE_2, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(4090, -1780), "Horseback Archery Range Crate 2", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_HBA_RANGE_CRATE_2));
|
locationTable[RC_GF_HBA_RANGE_CRATE_2] = Location::Crate(RC_GF_HBA_RANGE_CRATE_2, RCQUEST_BOTH, RCAREA_GERUDO_FORTRESS, SCENE_GERUDOS_FORTRESS, TWO_ACTOR_PARAMS(4090, -1780), "Horseback Archery Range Crate 2", RHT_CRATE_GERUDOS_FORTRESS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_HBA_RANGE_CRATE_2));
|
||||||
|
|
|
@ -2330,7 +2330,7 @@ std::map<RandomizerCheck, RandomizerInf> rcToRandomizerInf = {
|
||||||
RAND_INF_GF_MID_NORTH_CENTER_CRATE,
|
RAND_INF_GF_MID_NORTH_CENTER_CRATE,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
RR_GF_NORTHMOST_CENTER_CRATE,
|
RC_GF_NORTHMOST_CENTER_CRATE,
|
||||||
RAND_INF_GF_NORTHMOST_CENTER_CRATE,
|
RAND_INF_GF_NORTHMOST_CENTER_CRATE,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue