Skip to content

Commit

Permalink
Parity: Support __clear-all-and-reset-ticks legacy prim
Browse files Browse the repository at this point in the history
We don't force people to remove it, so adding it here.  Maybe a better
way is to warn users in the front end, or just auto-replace it, but this
works for now.
  • Loading branch information
LaCuneta committed May 31, 2024
1 parent 89704e0 commit be6b6e0
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 32 deletions.
4 changes: 2 additions & 2 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import sbtcrossproject.CrossPlugin.autoImport.CrossType
import sbtcrossproject.CrossProject
import org.scalajs.sbtplugin.ScalaJSCrossVersion

val nlDependencyVersion = "6.4.0-e625bb1"
val nlDependencyVersion = "6.4.0-307f18b"

val parserJsDependencyVersion = "0.4.0-e625bb1"
val parserJsDependencyVersion = "0.4.0-307f18b"

val scalazVersion = "7.2.35"

Expand Down
61 changes: 31 additions & 30 deletions compiler/shared/src/main/scala/SimplePrims.scala
Original file line number Diff line number Diff line change
Expand Up @@ -405,36 +405,37 @@ object SimplePrims {
case _: prim.etc._stopinspectingdeadagents => "InspectionPrims.clearDead"

// Misc.
case _: prim.etc._clearall => "world.clearAll"
case _: prim.etc._cleardrawing => "world.clearDrawing"
case _: prim.etc._clearglobals => "world.observer.clearCodeGlobals"
case _: prim.etc._clearpatches => "world.clearPatches"
case _: prim.etc._clearturtles => "world.turtleManager.clearTurtles"
case _: prim.etc._clearticks => "world.ticker.clear"
case _: prim.etc._clearlinks => "world.clearLinks"
case _: prim.etc._resizeworld => "world.resize"
case _: prim.etc._setpatchsize => "world.setPatchSize"
case _: prim.etc._resetticks => "world.ticker.reset"
case _: prim.etc._tick => "world.ticker.tick"
case _: prim.etc._tickadvance => "world.ticker.tickAdvance"
case _: prim.etc._resettimer => "workspace.timer.reset"
case _: prim.etc._follow => "world.observer.follow"
case _: prim.etc._ride => "world.observer.ride"
case _: prim.etc._watch => "world.observer.watch"
case _: prim.etc._resetperspective => "world.observer.resetPerspective"
case _: prim.etc._layoutspring => "LayoutManager.layoutSpring"
case _: prim.etc._layoutcircle => "LayoutManager.layoutCircle"
case _: prim.etc._layoutradial => "LayoutManager.layoutRadial"
case _: prim.etc._layouttutte => "LayoutManager.layoutTutte"
case _: prim.etc._changetopology => "world.changeTopology"
case _: prim.etc._stdout => "Prims.stdout"
case _: prim.etc._usermessage => "UserDialogPrims.confirm"
case _: prim.etc._exportoutput => "ImportExportPrims.exportOutput"
case _: prim.etc._exportplot => "ImportExportPrims.exportPlot"
case _: prim.etc._exportplots => "ImportExportPrims.exportAllPlots"
case _: prim.etc._exportview => "ImportExportPrims.exportView"
case _: prim.etc._exportworld => "ImportExportPrims.exportWorld"
case _: prim.etc._wait => "Prims.wait"
case _: prim.etc._clearall => "world.clearAll"
case _: prim.etc._clearallandresetticks => "world.clearAllAndResetTicks"
case _: prim.etc._cleardrawing => "world.clearDrawing"
case _: prim.etc._clearglobals => "world.observer.clearCodeGlobals"
case _: prim.etc._clearpatches => "world.clearPatches"
case _: prim.etc._clearturtles => "world.turtleManager.clearTurtles"
case _: prim.etc._clearticks => "world.ticker.clear"
case _: prim.etc._clearlinks => "world.clearLinks"
case _: prim.etc._resizeworld => "world.resize"
case _: prim.etc._setpatchsize => "world.setPatchSize"
case _: prim.etc._resetticks => "world.ticker.reset"
case _: prim.etc._tick => "world.ticker.tick"
case _: prim.etc._tickadvance => "world.ticker.tickAdvance"
case _: prim.etc._resettimer => "workspace.timer.reset"
case _: prim.etc._follow => "world.observer.follow"
case _: prim.etc._ride => "world.observer.ride"
case _: prim.etc._watch => "world.observer.watch"
case _: prim.etc._resetperspective => "world.observer.resetPerspective"
case _: prim.etc._layoutspring => "LayoutManager.layoutSpring"
case _: prim.etc._layoutcircle => "LayoutManager.layoutCircle"
case _: prim.etc._layoutradial => "LayoutManager.layoutRadial"
case _: prim.etc._layouttutte => "LayoutManager.layoutTutte"
case _: prim.etc._changetopology => "world.changeTopology"
case _: prim.etc._stdout => "Prims.stdout"
case _: prim.etc._usermessage => "UserDialogPrims.confirm"
case _: prim.etc._exportoutput => "ImportExportPrims.exportOutput"
case _: prim.etc._exportplot => "ImportExportPrims.exportPlot"
case _: prim.etc._exportplots => "ImportExportPrims.exportAllPlots"
case _: prim.etc._exportview => "ImportExportPrims.exportView"
case _: prim.etc._exportworld => "ImportExportPrims.exportWorld"
case _: prim.etc._wait => "Prims.wait"

case _: prim.etc._importdrawing => "ImportExportPrims.importDrawing"

Expand Down
7 changes: 7 additions & 0 deletions engine/src/main/coffee/engine/core/world.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,13 @@ module.exports =
)
return

# This is a "legacy prim" that could be auto-inserted by the code converter in NetLogo 5 -Jeremy B 2023
# () => Unit
clearAllAndResetTicks: ->
@clearAll()
@ticker.reset()
return

# () => Unit
clearDrawing: ->
@_updater.clearDrawing()
Expand Down

0 comments on commit be6b6e0

Please sign in to comment.