diff --git a/desktop/resources/ego/font.png b/desktop/resources/ego/font.png index cd23a62f..b5881930 100644 Binary files a/desktop/resources/ego/font.png and b/desktop/resources/ego/font.png differ diff --git a/desktop/src-common/advent/actions.clj b/desktop/src-common/advent/actions.clj index 02d42a72..92373370 100644 --- a/desktop/src-common/advent/actions.clj +++ b/desktop/src-common/advent/actions.clj @@ -255,6 +255,8 @@ height (* scale 36)] (screen! dialogue/talking-screen :on-talk :text text :x (get-in entities [:room :entities target-id :x]) :y (+ (get-in entities [:room :entities target-id :y]) height) + :color (get-in entities [:room :entities target-id :talk-color]) + :target-id target-id :scale scale) (if animate? diff --git a/desktop/src-common/advent/screens/dialogue.clj b/desktop/src-common/advent/screens/dialogue.clj index 0bd144ed..e6a4ddb8 100644 --- a/desktop/src-common/advent/screens/dialogue.clj +++ b/desktop/src-common/advent/screens/dialogue.clj @@ -33,15 +33,14 @@ entities) :on-talk - (fn [{:keys [create-talk target-id text x y scale]} [entities]] + (fn [{:keys [create-talk target-id color text x y scale]} [entities]] (let [font (bitmap-font "ego/font.fnt" ) + _ (bitmap-font! font :set-markup-enabled true) tr (bitmap-font! font :get-region) scale (or (min (max scale 0.75) 1) 1) tx (.getTexture tr) _ (texture! tx :set-filter Texture$TextureFilter/Linear Texture$TextureFilter/Linear) - talk (assoc (label text (style :label font (if (= :ego target-id) - (color :white) - (color :yellow)))) :y (* 4 y))] + talk (assoc (label text (style :label font color)) :y (* 4 y))] (label! talk :set-font-scale scale) (label! talk :set-alignment Align/center) (assoc entities target-id (-> talk diff --git a/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj b/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj index 274427cb..4017e5a4 100644 --- a/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj +++ b/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj @@ -167,6 +167,7 @@ :right {:stand warriors-stand :talk warriors-stand} :facing :right + :talk-color (color 1.0 0.4 0.3 1.0) :script (actions/get-script entities (do-warrior-dialogue entities) )) diff --git a/desktop/src-common/advent/screens/rooms/inside_house.clj b/desktop/src-common/advent/screens/rooms/inside_house.clj index e7ceb623..c6952e73 100644 --- a/desktop/src-common/advent/screens/rooms/inside_house.clj +++ b/desktop/src-common/advent/screens/rooms/inside_house.clj @@ -135,6 +135,7 @@ :right {:talk wizard-talk :stand wizard-stand :disappear wizard-disappear} + :talk-color (color 0.75 0.1 1.0 1.0) :facing :left :script (actions/get-script entities (do-wizard-dialogue entities))) :stand) diff --git a/desktop/src-common/advent/screens/rooms/outside_house.clj b/desktop/src-common/advent/screens/rooms/outside_house.clj index c3047b94..5e1a54d8 100644 --- a/desktop/src-common/advent/screens/rooms/outside_house.clj +++ b/desktop/src-common/advent/screens/rooms/outside_house.clj @@ -21,7 +21,7 @@ (< (dist-to-sheep entities) 45)) (defn wizard-dialogue [entities] - (actions/do-dialogue entities :ego "Hello there Gandarf!" :wizard "Oh no, not you again!") + (actions/do-dialogue entities :ego "Hello there [RED]Gandarf[]!" :wizard "Oh no, not you again!") (actions/present-choices entities {:choices ["What do you mean, \"Not you again?\"" {:run #(actions/respond entities % :wizard "I mean, you've wrecked my life and I never want to see you again.") diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 028535dd..f5e9e41f 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -164,6 +164,7 @@ :step-sound (sound "ego/step.ogg") :scale-x start-scale :scale-y start-scale + :talk-color (color 0.5 0.9 1.0 1.0) :mouse-in? (fn [entities x y] (let [{entity-x :x entity-y :y region :object scale :scale-x} (get-in entities [:room :entities :ego])