)
(scriptedobject
(name "PENNY")
- (x 256)
+ (x 390)
(y 448)
(sprite "dummyguy")
)
(sprite "dummyguy")
(visible #f)
(physic-enabled #f)
+ (solid #f)
)
(init-script "
-print(\"Making tux jump...\");
+function wait(time) {
+ set_wakeup_time(time);
+ suspend();
+}
+
+Text.set_text(translate(\"The Crazy Nolok Dance\"));
+Text.fade_in(2);
TUX.set_animation(\"jump\");
-TUX.set_velocity(150, 200);
-wait(3);
-suspend();
+wait(4);
+Text.fade_out(1);
+wait(1);
+NOLOK.set_visible(true);
PENNY.set_velocity(-200, 200);
tuxjumps <- 2;
while(true) {
wait(0.8);
- suspend();
Sound.play_sound(\"jump\");
if(tuxjumps >= 0) {
TUX.set_velocity(50, 300);
if(state == STATE_INIT || state == STATE_INACTIVE)
return;
if(state == STATE_FALLING) {
- sprite->draw(context, get_pos(), LAYER_OBJECTS, VERTICAL_FLIP);
+ uint32_t old_effect = context.get_drawing_effect();
+ context.set_drawing_effect(old_effect & VERTICAL_FLIP);
+ sprite->draw(context, get_pos(), LAYER_OBJECTS);
+ context.set_drawing_effect(old_effect);
} else {
sprite->draw(context, get_pos(), LAYER_OBJECTS);
}
if(!game_pause)
global_time += elapsed_time;
- skipdraw = false;
-
// regulate fps
ticks = SDL_GetTicks();
if(ticks > fps_nextframe_ticks) {
- // don't draw all frames when we're getting too slow
- skipdraw = true;
+ if(skipdraw == true) {
+ // already skipped last frame? we have to slow down the game then...
+ skipdraw = false;
+ fps_nextframe_ticks -= (Uint32) (1000.0 / LOGICAL_FPS);
+ } else {
+ // don't draw all frames when we're getting too slow
+ skipdraw = true;
+ }
} else {
+ skipdraw = false;
while(fps_nextframe_ticks > ticks) {
/* just wait */
// If we really have to wait long, then do an imprecise SDL_Delay()
return true;
}
- /* conveniance functions which traverse the list until a child with a
+ /** conveniance functions which traverse the list until a child with a
* specified name is found. The value part is then interpreted in a specific
* way. The functions return true, if a child was found and could be
* interpreted correctly, otherwise false is returned and the variable value
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
-
#include <config.h>
+#include <math.h>
+
#include "ambient_sound.h"
#include "object_factory.h"
#include "lisp/lisp.h"
}
void
-TuxBodyParts::draw(DrawingContext& context, const Vector& pos, int layer,
- Uint32 drawing_effect)
+TuxBodyParts::draw(DrawingContext& context, const Vector& pos, int layer)
{
if(head != NULL)
- head->draw(context, pos, layer-1, drawing_effect);
+ head->draw(context, pos, layer-1);
if(body != NULL)
- body->draw(context, pos, layer-3, drawing_effect);
+ body->draw(context, pos, layer-3);
if(arms != NULL)
- arms->draw(context, pos, layer, drawing_effect);
+ arms->draw(context, pos, layer);
if(feet != NULL)
- feet->draw(context, pos, layer-2, drawing_effect);
+ feet->draw(context, pos, layer-2);
}
Player::Player(PlayerStatus* _player_status)
void set_action(std::string action, int loops = -1);
void one_time_animation();
- void draw(DrawingContext& context, const Vector& pos, int layer,
- Uint32 drawing_effect = NONE_EFFECT);
+ void draw(DrawingContext& context, const Vector& pos, int layer);
Sprite* head;
Sprite* body;
--- /dev/null
+#include <config.h>
+
+#include "text_object.h"
+#include "resources.h"
+#include "video/drawing_context.h"
+
+TextObject::TextObject()
+ : visible(false)
+{
+ font = blue_text;
+}
+
+TextObject::~TextObject()
+{
+}
+
+void
+TextObject::set_font(const std::string& name)
+{
+ if(name == "gold") {
+ font = gold_text;
+ } else if(name == "white") {
+ font = white_text;
+ } else if(name == "blue") {
+ font = blue_text;
+ } else if(name == "gray") {
+ font = gray_text;
+ } else if(name == "white") {
+ font = white_text;
+ } else if(name == "big") {
+ font = white_big_text;
+ } else if(name == "small") {
+ font = white_small_text;
+ } else {
+ std::cerr << "Unknown font '" << name << "'.\n";
+ }
+}
+
+void
+TextObject::set_text(const std::string& text)
+{
+ this->text = text;
+}
+
+void
+TextObject::fade_in(float fadetime)
+{
+ this->fadetime = fadetime;
+ fading = fadetime;
+}
+
+void
+TextObject::fade_out(float fadetime)
+{
+ this->fadetime = fadetime;
+ fading = -fadetime;
+}
+
+void
+TextObject::set_visible(bool visible)
+{
+ this->visible = visible;
+ fading = 0;
+}
+
+void
+TextObject::draw(DrawingContext& context)
+{
+ context.push_transform();
+ context.set_translation(Vector(0, 0));
+ if(fading > 0) {
+ context.set_alpha(static_cast<uint8_t>
+ ((fadetime-fading) * 255.0 / fadetime));
+ } else if(fading < 0) {
+ context.set_alpha(static_cast<uint8_t> (-fading * 255.0 / fadetime));
+ } else if(!visible) {
+ context.pop_transform();
+ return;
+ }
+
+ context.draw_filled_rect(Vector(125, 50), Vector(550, 120),
+ Color(150, 180, 200, 125), LAYER_GUI-10);
+ context.draw_text(font, text, Vector(125+35, 50+35), LEFT_ALLIGN, LAYER_GUI);
+
+ context.pop_transform();
+}
+
+void
+TextObject::action(float elapsed_time)
+{
+ if(fading > 0) {
+ fading -= elapsed_time;
+ if(fading <= 0) {
+ fading = 0;
+ visible = true;
+ }
+ } else if(fading < 0) {
+ fading += elapsed_time;
+ if(fading >= 0) {
+ fading = 0;
+ visible = false;
+ }
+ }
+}
+
--- /dev/null
+#ifndef __TEXTOBJECT_H__
+#define __TEXTOBJECT_H__
+
+#include "game_object.h"
+#include "scripting/text.h"
+
+class Font;
+
+/** A text object intended for scripts that want to tell a story */
+class TextObject : public GameObject, public Scripting::Text
+{
+public:
+ TextObject();
+ virtual ~TextObject();
+
+ void set_text(const std::string& text);
+ void set_font(const std::string& name);
+ void fade_in(float fadetime);
+ void fade_out(float fadetime);
+ void set_visible(bool visible);
+ bool is_visible();
+
+ void draw(DrawingContext& context);
+ void action(float elapsed_time);
+
+private:
+ Font* font;
+ std::string text;
+ float fading;
+ float fadetime;
+ bool visible;
+};
+
+#endif
+
#include <stdio.h>
+#include <string>
+#include <squirrel.h>
#include "functions.h"
#include "script_interpreter.h"
+#include "tinygettext/tinygettext.h"
+#include "gettext.h"
namespace Scripting
{
-void wait(float seconds)
+void set_wakeup_time(float seconds)
{
ScriptInterpreter::current()->suspend(seconds);
}
+std::string translate(const std::string& text)
+{
+ return dictionary_manager.get_dictionary().translate(text);
+}
+
}
{
/** Suspends the script execution for the specified number of seconds */
-void wait(float seconds);
+void set_wakeup_time(float seconds);
+/** translates a give text into the users language (by looking it up in the .po
+ * files)
+ */
+std::string translate(const std::string& text);
}
ScriptInterpreter::suspend(float seconds)
{
resume_timer.start(seconds);
- //sq_suspendvm(v);
}
void
--- /dev/null
+#ifndef __TEXT_H__
+#define __TEXT_H__
+
+namespace Scripting
+{
+
+class Text
+{
+public:
+#ifndef SCRIPTING_API
+ virtual ~Text()
+ { }
+#endif
+
+ virtual void set_text(const std::string& text) = 0;
+ virtual void set_font(const std::string& fontname) = 0;
+ virtual void fade_in(float fadetime) = 0;
+ virtual void fade_out(float fadetime) = 0;
+ virtual void set_visible(bool visible) = 0;
+};
+
+}
+
+#endif
+
return 0;
}
-static int wait_wrapper(HSQUIRRELVM v)
+static int Text_set_text_wrapper(HSQUIRRELVM v)
{
+ Scripting::Text* _this;
+ sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0);
+ const char* arg0;
+ sq_getstring(v, 2, &arg0);
+
+ _this->set_text(arg0);
+
+ return 0;
+}
+
+static int Text_set_font_wrapper(HSQUIRRELVM v)
+{
+ Scripting::Text* _this;
+ sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0);
+ const char* arg0;
+ sq_getstring(v, 2, &arg0);
+
+ _this->set_font(arg0);
+
+ return 0;
+}
+
+static int Text_fade_in_wrapper(HSQUIRRELVM v)
+{
+ Scripting::Text* _this;
+ sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0);
+ float arg0;
+ sq_getfloat(v, 2, &arg0);
+
+ _this->fade_in(arg0);
+
+ return 0;
+}
+
+static int Text_fade_out_wrapper(HSQUIRRELVM v)
+{
+ Scripting::Text* _this;
+ sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0);
float arg0;
sq_getfloat(v, 2, &arg0);
- Scripting::wait(arg0);
+ _this->fade_out(arg0);
return 0;
}
+static int Text_set_visible_wrapper(HSQUIRRELVM v)
+{
+ Scripting::Text* _this;
+ sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0);
+ SQBool arg0;
+ sq_getbool(v, 2, &arg0);
+
+ _this->set_visible(arg0);
+
+ return 0;
+}
+
+static int set_wakeup_time_wrapper(HSQUIRRELVM v)
+{
+ float arg0;
+ sq_getfloat(v, 2, &arg0);
+
+ Scripting::set_wakeup_time(arg0);
+
+ return 0;
+}
+
+static int translate_wrapper(HSQUIRRELVM v)
+{
+ const char* arg0;
+ sq_getstring(v, 2, &arg0);
+
+ std::string return_value = Scripting::translate(arg0);
+
+ sq_pushstring(v, return_value.c_str(), return_value.size());
+ return 1;
+}
+
WrappedFunction supertux_global_functions[] = {
- { "wait", &wait_wrapper },
+ { "set_wakeup_time", &set_wakeup_time_wrapper },
+ { "translate", &translate_wrapper },
{ 0, 0 }
};
{ "play_sound", &Sound_play_sound_wrapper },
};
+static WrappedFunction supertux_Text_methods[] = {
+ { "set_text", &Text_set_text_wrapper },
+ { "set_font", &Text_set_font_wrapper },
+ { "fade_in", &Text_fade_in_wrapper },
+ { "fade_out", &Text_fade_out_wrapper },
+ { "set_visible", &Text_set_visible_wrapper },
+};
+
WrappedClass supertux_classes[] = {
{ "Display", supertux_Display_methods },
{ "Camera", supertux_Camera_methods },
{ "Level", supertux_Level_methods },
{ "ScriptedObject", supertux_ScriptedObject_methods },
{ "Sound", supertux_Sound_methods },
+ { "Text", supertux_Text_methods },
{ 0, 0 }
};
#include "level.h"
#include "scripted_object.h"
#include "sound.h"
+#include "text.h"
#include "functions.h"
#include "object/block.h"
#include "object/invisible_block.h"
#include "object/bullet.h"
+#include "object/text_object.h"
#include "badguy/jumpy.h"
#include "badguy/spike.h"
#include "trigger/sequence_trigger.h"
#include "scripting/script_interpreter.h"
#include "scripting/sound.h"
#include "scripting/scripted_object.h"
+#include "scripting/text.h"
//#define USE_GRID
}
Scripting::Sound* sound = new Scripting::Sound();
interpreter->expose_object(sound, "Sound", "Sound");
+ TextObject* text_object = new TextObject();
+ add_object(text_object);
+ Scripting::Text* text = static_cast<Scripting::Text*> (text_object);
+ interpreter->expose_object(text, "Text", "Text");
std::string sourcename = std::string("Sector(") + name + ") - init";
std::istringstream in(init_script);
}
void
-Sprite::draw(DrawingContext& context, const Vector& pos, int layer,
- Uint32 drawing_effect)
+Sprite::draw(DrawingContext& context, const Vector& pos, int layer)
{
assert(action != 0);
update();
else
context.draw_surface(action->surfaces[(int)frame],
pos - Vector(action->x_offset, action->y_offset),
- layer + action->z_order, drawing_effect);
+ layer + action->z_order);
}
void
Sprite::draw_part(DrawingContext& context, const Vector& source,
- const Vector& size, const Vector& pos, int layer, Uint32 drawing_effect)
+ const Vector& size, const Vector& pos, int layer)
{
assert(action != 0);
update();
else
context.draw_surface_part(action->surfaces[(int)frame], source, size,
pos - Vector(action->x_offset, action->y_offset),
- layer + action->z_order, drawing_effect);
+ layer + action->z_order);
}
int
~Sprite();
/** Draw sprite, automatically calculates next frame */
- void draw(DrawingContext& context, const Vector& pos, int layer,
- Uint32 drawing_effect = NONE_EFFECT);
+ void draw(DrawingContext& context, const Vector& pos, int layer);
void draw_part(DrawingContext& context, const Vector& source,
- const Vector& size, const Vector& pos, int layer,
- Uint32 drawing_effect = NONE_EFFECT);
+ const Vector& size, const Vector& pos, int layer);
/** Set action (or state) */
void set_action(std::string act, int loops = -1);
controller->press(Controller::RIGHT);
if(random_timer.check() ||
- (walking && (int) last_tux_x_pos == (int) tux->get_pos().x)) {
+ (walking && fabsf(last_tux_x_pos - tux->get_pos().x)) < .1) {
walking = false;
} else {
- if(!walking && (int) tux->get_pos().y == (int) last_tux_y_pos) {
+ if(!walking && fabsf(tux->get_pos().y - last_tux_y_pos) < .1) {
random_timer.start(float(rand() % 3000 + 3000) / 1000.);
walking = true;
}
void
DrawingContext::draw_surface(const Surface* surface, const Vector& position,
- int layer, uint32_t drawing_effect)
+ int layer)
{
assert(surface != 0);
return;
request.layer = layer;
- request.drawing_effect = transform.drawing_effect | drawing_effect;
+ request.drawing_effect = transform.drawing_effect;
request.zoom = transform.zoom;
request.alpha = transform.alpha;
request.request_data = const_cast<Surface*> (surface);
void
DrawingContext::draw_surface_part(const Surface* surface, const Vector& source,
- const Vector& size, const Vector& dest, int layer, uint32_t drawing_effect)
+ const Vector& size, const Vector& dest, int layer)
{
assert(surface != 0);
request.type = SURFACE_PART;
request.pos = transform.apply(dest);
request.layer = layer;
- request.drawing_effect = transform.drawing_effect | drawing_effect;
+ request.drawing_effect = transform.drawing_effect;
request.alpha = transform.alpha;
SurfacePartRequest* surfacepartrequest = new SurfacePartRequest();
void
DrawingContext::draw_text(const Font* font, const std::string& text,
- const Vector& position, FontAlignment alignment, int layer,
- uint32_t drawing_effect)
+ const Vector& position, FontAlignment alignment, int layer)
{
DrawingRequest request;
request.type = TEXT;
request.pos = transform.apply(position);
request.layer = layer;
- request.drawing_effect = transform.drawing_effect | drawing_effect;
+ request.drawing_effect = transform.drawing_effect;
request.zoom = transform.zoom;
request.alpha = transform.alpha;
void
DrawingContext::draw_center_text(const Font* font, const std::string& text,
- const Vector& position, int layer, uint32_t drawing_effect)
+ const Vector& position, int layer)
{
draw_text(font, text, Vector(position.x + SCREEN_WIDTH/2, position.y),
- CENTER_ALLIGN, layer, drawing_effect);
+ CENTER_ALLIGN, layer);
}
void
FillRectRequest* fillrectrequest = new FillRectRequest;
fillrectrequest->size = size;
fillrectrequest->color = color;
+ fillrectrequest->color.alpha
+ = (int) ((float) fillrectrequest->color.alpha
+ * ((float) transform.alpha / 255.0));
request.request_data = fillrectrequest;
drawingrequests.push_back(request);
}
void
-DrawingContext::set_drawing_effect(int effect)
+DrawingContext::set_drawing_effect(uint32_t effect)
{
transform.drawing_effect = effect;
}
+uint32_t
+DrawingContext::get_drawing_effect() const
+{
+ return transform.drawing_effect;
+}
+
void
DrawingContext::set_zooming(float zoom)
{
}
void
-DrawingContext::set_alpha(int alpha)
+DrawingContext::set_alpha(uint8_t alpha)
{
transform.alpha = alpha;
}
+
+uint8_t
+DrawingContext::get_alpha() const
+{
+ return transform.alpha;
+}
#include <stdint.h>
#include <SDL.h>
+#include <stdint.h>
#include "math/vector.h"
#include "video/screen.h"
/// Adds a drawing request for a surface into the request list.
void draw_surface(const Surface* surface, const Vector& position,
- int layer, uint32_t drawing_effect = NONE_EFFECT);
+ int layer);
/// Adds a drawing request for part of a surface.
void draw_surface_part(const Surface* surface, const Vector& source,
- const Vector& size, const Vector& dest, int layer,
- uint32_t drawing_effect = NONE_EFFECT);
+ const Vector& size, const Vector& dest, int layer);
/// Draws a text.
void draw_text(const Font* font, const std::string& text,
- const Vector& position, FontAlignment alignment, int layer,
- uint32_t drawing_effect = NONE_EFFECT);
+ const Vector& position, FontAlignment alignment, int layer);
/// Draws text on screen center (feed Vector.x with a 0).
/// This is the same as draw_text() with a SCREEN_WIDTH/2 position and
/// alignment set to LEFT_ALLIGN
void draw_center_text(const Font* font, const std::string& text,
- const Vector& position, int layer,
- uint32_t drawing_effect = NONE_EFFECT);
+ const Vector& position, int layer);
/// Draws a color gradient onto the whole screen */
void draw_gradient(Color from, Color to, int layer);
/// Fills a rectangle.
const Vector& get_translation() const
{ return transform.translation; }
- uint32_t get_drawing_effect() const
- { return transform.drawing_effect; }
void set_translation(const Vector& newtranslation)
{ transform.translation = newtranslation; }
void pop_transform();
/// Apply that effect in the next draws (effects are listed on surface.h).
- void set_drawing_effect(int effect);
+ void set_drawing_effect(uint32_t effect);
+ /// return currently applied drawing effect
+ uint32_t get_drawing_effect() const;
/// apply that zoom in the next draws */
void set_zooming(float zoom);
/// apply that alpha in the next draws */
- void set_alpha(int alpha);
+ void set_alpha(uint8_t alpha);
+ /// return currently set alpha
+ uint8_t get_alpha() const;
private:
class Transform
Vector translation;
uint32_t drawing_effect;
float zoom;
- int alpha;
+ uint8_t alpha;
Transform()
: drawing_effect(NONE_EFFECT), zoom(1), alpha(255)
:tables (list
(semanticdb-table "drawing_context.h"
:file "drawing_context.h"
- :pointmax 5205
+ :pointmax 5111
:major-mode 'c++-mode
- :tokens '(("SUPERTUX_DRAWINGCONTEXT_H" variable nil nil ((const . t)) nil nil [915 951]) ("vector" include t nil nil [950 967]) ("string" include t nil nil [968 985]) ("stdint.h" include t nil nil [986 1005]) ("SDL.h" include t nil nil [1007 1023]) ("math/vector.h" include nil nil nil [1025 1049]) ("video/screen.h" include nil nil nil [1050 1075]) ("video/surface.h" include nil nil nil [1076 1102]) ("video/font.h" include nil nil nil [1103 1126]) ("Surface" type "class" nil nil nil nil nil [1155 1169]) ("" type "enum" (("LAYER_BACKGROUND0" variable "int" (1219 1223) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1226 1250]) ("LAYER_BACKGROUND1" variable "int" (1247 1251) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1254 1278]) ("LAYER_BACKGROUNDTILES" variable "int" (1279 1283) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1282 1310]) ("LAYER_TILES" variable "int" (1301 1302) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1314 1329]) ("LAYER_OBJECTS" variable "int" (1322 1325) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1333 1352]) ("LAYER_FOREGROUNDTILES" variable "int" (1353 1356) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1356 1383]) ("LAYER_FOREGROUND0" variable "int" (1380 1383) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1387 1410]) ("LAYER_FOREGROUND1" variable "int" (1407 1410) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1414 1437]) ("LAYER_GUI" variable "int" (1434 1437) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1441 1464])) nil nil nil nil [1217 1467]) ("DrawingContext" type "class" (("public" label ((reparse-symbol . classsubparts)) [1667 1674]) ("DrawingContext" function ("DrawingContext" type "class") nil ((constructor . t) (prototype . t)) nil ((reparse-symbol . classsubparts)) [1677 1694]) ("DrawingContext" function "void" nil ((destructor . t) (prototype . t)) nil ((reparse-symbol . classsubparts)) [1697 1715]) ("draw_surface" function ("void") (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [1805 1828]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [1829 1852]) ("layer" variable "int" nil nil nil nil [1873 1883]) ("drawing_effect" variable ("uint32_t" type "class") "NONE_EFFECT)" nil nil nil [1884 1922])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [1787 1923]) ("draw_surface_part" function ("void") (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [2001 2024]) ("source" variable ("Vector" type "class") nil ((const . t)) nil nil [2025 2046]) ("size" variable ("Vector" type "class") nil ((const . t)) nil nil [2072 2091]) ("dest" variable ("Vector" type "class") nil ((const . t)) nil nil [2092 2111]) ("layer" variable "int" nil nil nil nil [2112 2122]) ("drawing_effect" variable ("uint32_t" type "class") "NONE_EFFECT)" nil nil nil [2148 2186])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [1978 2187]) ("draw_text" function ("void") (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [2225 2242]) ("text" variable ("std::string" type "class") nil ((const . t)) nil nil [2243 2267]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [2285 2308]) ("alignment" variable ("FontAlignment" type "class") nil nil nil nil [2309 2333]) ("layer" variable "int" nil nil nil nil [2334 2344]) ("drawing_effect" variable ("uint32_t" type "class") "NONE_EFFECT)" nil nil nil [2362 2400])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [2210 2401]) ("draw_center_text" function ("void") (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [2597 2614]) ("text" variable ("std::string" type "class") nil ((const . t)) nil nil [2615 2639]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [2664 2687]) ("layer" variable "int" nil nil nil nil [2688 2698]) ("drawing_effect" variable ("uint32_t" type "class") "NONE_EFFECT)" nil nil nil [2723 2761])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [2575 2762]) ("draw_gradient" function ("void") (("from" variable ("Color" type "class") nil nil nil nil [2838 2849]) ("to" variable ("Color" type "class") nil nil nil nil [2850 2859]) ("layer" variable "int" nil nil nil nil [2860 2870])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [2819 2871]) ("draw_filled_rect" function ("void") (("topleft" variable ("Vector" type "class") nil ((const . t)) nil nil [2921 2943]) ("size" variable ("Vector" type "class") nil ((const . t)) nil nil [2944 2963]) ("color" variable ("Color" type "class") nil nil nil nil [2988 3000]) ("layer" variable "int" nil nil nil nil [3001 3011])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [2899 3012]) ("do_drawing" function ("void") nil ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3085 3103]) ("get_translation" function ("Vector" type "class") nil ((const . t)) nil ((reparse-symbol . classsubparts)) [3109 3184]) ("get_drawing_effect" function ("uint32_t" type "class") nil nil nil ((reparse-symbol . classsubparts)) [3187 3263]) ("set_translation" function ("void") (("newtranslation" variable ("Vector" type "class") nil ((const . t)) nil nil [3290 3319])) nil nil ((reparse-symbol . classsubparts)) [3269 3367]) ("push_transform" function ("void") nil ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3373 3395]) ("pop_transform" function ("void") nil ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3398 3419]) ("set_drawing_effect" function ("void") (("effect" variable "int" nil nil nil nil [3526 3537])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3502 3538]) ("set_zooming" function ("void") (("zoom" variable "float" nil nil nil nil [3601 3612])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3584 3613]) ("set_alpha" function ("void") (("alpha" variable "int" nil nil nil nil [3675 3685])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3660 3686]) ("private" label ((reparse-symbol . classsubparts)) [3690 3698]) ("Transform" type "class" (("public" label ((reparse-symbol . classsubparts)) [3723 3730]) ("translation" variable ("Vector" type "class") nil nil nil nil [3735 3754]) ("drawing_effect" variable ("uint32_t" type "class") nil nil nil nil [3759 3783]) ("zoom" variable "float" nil nil nil nil [3788 3799]) ("alpha" variable "int" nil nil nil nil [3804 3814]) ("Transform" function ("Transform" type "class") nil ((constructor . t)) nil ((reparse-symbol . classsubparts)) [3824 3900]) ("apply" function ("Vector" type "class") (("v" variable ("Vector" type "class") nil ((const . t)) nil nil [3923 3939])) nil nil ((reparse-symbol . classsubparts)) [3910 3987])) nil nil nil ((reparse-symbol . classsubparts)) [3701 3992]) ("transformstack" variable ("std::vector" type "class") nil nil nil nil [4024 4062]) ("transform" variable ("Transform" type "class") nil nil nil nil [4102 4122]) ("RequestType" type "enum" (("SURFACE" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4153 4161]) ("SURFACE_PART" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4162 4175]) ("TEXT" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4176 4181]) ("GRADIENT" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4182 4191]) ("FILLRECT" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4192 4204])) nil nil nil ((reparse-symbol . classsubparts)) [4128 4205]) ("SurfacePartRequest" type "struct" (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [4245 4268]) ("source" variable ("Vector" type "class") nil nil nil nil [4273 4293]) ("size" variable ("Vector" type "class") nil nil nil nil [4273 4293])) nil nil nil ((reparse-symbol . classsubparts)) [4211 4298]) ("TextRequest" type "struct" (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [4331 4348]) ("text" variable ("std::string" type "class") nil nil nil nil [4353 4370]) ("alignment" variable ("FontAlignment" type "class") nil nil nil nil [4375 4399])) nil nil nil ((reparse-symbol . classsubparts)) [4304 4404]) ("GradientRequest" type "struct" (("top" variable ("Color" type "class") nil nil nil nil [4441 4459]) ("bottom" variable ("Color" type "class") nil nil nil nil [4441 4459]) ("size" variable ("Vector" type "class") nil nil nil nil [4464 4476])) nil nil nil ((reparse-symbol . classsubparts)) [4410 4481]) ("FillRectRequest" type "struct" (("color" variable ("Color" type "class") nil nil nil nil [4518 4530]) ("size" variable ("Vector" type "class") nil nil nil nil [4535 4547])) nil nil nil ((reparse-symbol . classsubparts)) [4487 4552]) ("DrawingRequest" type "struct" (("type" variable ("RequestType" type "class") nil nil nil nil [4588 4605]) ("pos" variable ("Vector" type "class") nil nil nil nil [4610 4621]) ("layer" variable "int" nil nil nil nil [4647 4657]) ("drawing_effect" variable ("uint32_t" type "class") nil nil nil nil [4662 4686]) ("zoom" variable "float" nil nil nil nil [4691 4702]) ("alpha" variable "int" nil nil nil nil [4707 4717]) ("request_data" variable "void" nil ((pointer . 1)) nil nil [4727 4746]) ("<" function ("bool" type "class") (("other" variable ("DrawingRequest" type "class") nil ((const . t)) nil nil [4771 4799])) nil nil ((reparse-symbol . classsubparts)) [4756 4851])) nil nil nil ((reparse-symbol . classsubparts)) [4558 4856]) ("draw_surface_part" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [4885 4909])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [4862 4910]) ("draw_text" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [4928 4952])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [4913 4953]) ("draw_text_center" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [4978 5002])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [4956 5003]) ("draw_gradient" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [5025 5049])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [5006 5050]) ("draw_filled_rect" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [5075 5099])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [5053 5100]) ("DrawingRequests" type "typedef" nil ("std::vector") ((typedef "std::vector" type "class")) nil nil [5106 5158]) ("drawingrequests" variable ("DrawingRequests" type "class") nil nil nil nil [5161 5193])) nil nil nil nil [1644 5196]))
+ :tokens '(("SUPERTUX_DRAWINGCONTEXT_H" variable nil nil ((const . t)) nil nil [915 951]) ("vector" include t nil nil [950 967]) ("string" include t nil nil [968 985]) ("stdint.h" include t nil nil [986 1005]) ("SDL.h" include t nil nil [1007 1023]) ("stdint.h" include t nil nil [1024 1043]) ("math/vector.h" include nil nil nil [1045 1069]) ("video/screen.h" include nil nil nil [1070 1095]) ("video/surface.h" include nil nil nil [1096 1122]) ("video/font.h" include nil nil nil [1123 1146]) ("Surface" type "class" nil nil nil nil nil [1148 1162]) ("" type "enum" (("LAYER_BACKGROUND0" variable "int" (1239 1243) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1219 1243]) ("LAYER_BACKGROUND1" variable "int" (1267 1271) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1247 1271]) ("LAYER_BACKGROUNDTILES" variable "int" (1299 1303) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1275 1303]) ("LAYER_TILES" variable "int" (1321 1322) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1307 1322]) ("LAYER_OBJECTS" variable "int" (1342 1345) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1326 1345]) ("LAYER_FOREGROUNDTILES" variable "int" (1373 1376) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1349 1376]) ("LAYER_FOREGROUND0" variable "int" (1400 1403) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1380 1403]) ("LAYER_FOREGROUND1" variable "int" (1427 1430) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1407 1430]) ("LAYER_GUI" variable "int" (1454 1457) ((const . t)) nil ((reparse-symbol . enumsubparts)) [1434 1457])) nil nil nil nil [1210 1460]) ("DrawingContext" type "class" (("public" label ((reparse-symbol . classsubparts)) [1660 1667]) ("DrawingContext" function ("DrawingContext" type "class") (("targetsurface" variable ("SDL_Surface" type "class") "0" ((pointer . 1)) nil nil [1685 1715])) ((constructor . t) (prototype . t)) nil ((reparse-symbol . classsubparts)) [1670 1717]) ("DrawingContext" function "void" nil ((destructor . t) (prototype . t)) nil ((reparse-symbol . classsubparts)) [1720 1738]) ("draw_surface" function ("void") (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [1828 1851]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [1852 1875]) ("layer" variable "int" nil nil nil nil [1896 1906])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [1810 1907]) ("draw_surface_part" function ("void") (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [1985 2008]) ("source" variable ("Vector" type "class") nil ((const . t)) nil nil [2009 2030]) ("size" variable ("Vector" type "class") nil ((const . t)) nil nil [2056 2075]) ("dest" variable ("Vector" type "class") nil ((const . t)) nil nil [2076 2095]) ("layer" variable "int" nil nil nil nil [2096 2106])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [1962 2107]) ("draw_text" function ("void") (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [2145 2162]) ("text" variable ("std::string" type "class") nil ((const . t)) nil nil [2163 2187]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [2205 2228]) ("alignment" variable ("FontAlignment" type "class") nil nil nil nil [2229 2253]) ("layer" variable "int" nil nil nil nil [2254 2264])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [2130 2265]) ("draw_center_text" function ("void") (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [2461 2478]) ("text" variable ("std::string" type "class") nil ((const . t)) nil nil [2479 2503]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [2528 2551]) ("layer" variable "int" nil nil nil nil [2552 2562])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [2439 2563]) ("draw_gradient" function ("void") (("from" variable ("Color" type "class") nil nil nil nil [2639 2650]) ("to" variable ("Color" type "class") nil nil nil nil [2651 2660]) ("layer" variable "int" nil nil nil nil [2661 2671])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [2620 2672]) ("draw_filled_rect" function ("void") (("topleft" variable ("Vector" type "class") nil ((const . t)) nil nil [2722 2744]) ("size" variable ("Vector" type "class") nil ((const . t)) nil nil [2745 2764]) ("color" variable ("Color" type "class") nil nil nil nil [2789 2801]) ("layer" variable "int" nil nil nil nil [2802 2812])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [2700 2813]) ("do_drawing" function ("void") nil ((prototype . t)) nil ((reparse-symbol . classsubparts)) [2886 2904]) ("get_translation" function ("Vector" type "class") nil ((const . t)) nil ((reparse-symbol . classsubparts)) [2910 2985]) ("set_translation" function ("void") (("newtranslation" variable ("Vector" type "class") nil ((const . t)) nil nil [3012 3041])) nil nil ((reparse-symbol . classsubparts)) [2991 3089]) ("push_transform" function ("void") nil ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3095 3117]) ("pop_transform" function ("void") nil ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3120 3141]) ("set_drawing_effect" function ("void") (("effect" variable ("uint32_t" type "class") nil nil nil nil [3248 3264])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3224 3265]) ("get_drawing_effect" function ("uint32_t" type "class") nil ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3314 3350]) ("set_zooming" function ("void") (("zoom" variable "float" nil nil nil nil [3413 3424])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3396 3425]) ("set_alpha" function ("void") (("alpha" variable ("uint8_t" type "class") nil nil nil nil [3487 3501])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3472 3502]) ("get_alpha" function ("uint8_t" type "class") nil ((prototype . t)) nil ((reparse-symbol . classsubparts)) [3538 3564]) ("private" label ((reparse-symbol . classsubparts)) [3568 3576]) ("Transform" type "class" (("public" label ((reparse-symbol . classsubparts)) [3601 3608]) ("translation" variable ("Vector" type "class") nil nil nil nil [3613 3632]) ("drawing_effect" variable ("uint32_t" type "class") nil nil nil nil [3637 3661]) ("zoom" variable "float" nil nil nil nil [3666 3677]) ("alpha" variable ("uint8_t" type "class") nil nil nil nil [3682 3696]) ("Transform" function ("Transform" type "class") nil ((constructor . t)) nil ((reparse-symbol . classsubparts)) [3706 3782]) ("apply" function ("Vector" type "class") (("v" variable ("Vector" type "class") nil ((const . t)) nil nil [3805 3821])) nil nil ((reparse-symbol . classsubparts)) [3792 3869])) nil nil nil ((reparse-symbol . classsubparts)) [3579 3874]) ("transformstack" variable ("std::vector" type "class") nil nil nil nil [3906 3944]) ("transform" variable ("Transform" type "class") nil nil nil nil [3984 4004]) ("RequestType" type "enum" (("SURFACE" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4035 4043]) ("SURFACE_PART" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4044 4057]) ("TEXT" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4058 4063]) ("GRADIENT" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4064 4073]) ("FILLRECT" variable "int" nil ((const . t)) nil ((reparse-symbol . enumsubparts)) [4074 4086])) nil nil nil ((reparse-symbol . classsubparts)) [4010 4087]) ("SurfacePartRequest" type "struct" (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [4127 4150]) ("source" variable ("Vector" type "class") nil nil nil nil [4155 4175]) ("size" variable ("Vector" type "class") nil nil nil nil [4155 4175])) nil nil nil ((reparse-symbol . classsubparts)) [4093 4180]) ("TextRequest" type "struct" (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [4213 4230]) ("text" variable ("std::string" type "class") nil nil nil nil [4235 4252]) ("alignment" variable ("FontAlignment" type "class") nil nil nil nil [4257 4281])) nil nil nil ((reparse-symbol . classsubparts)) [4186 4286]) ("GradientRequest" type "struct" (("top" variable ("Color" type "class") nil nil nil nil [4323 4341]) ("bottom" variable ("Color" type "class") nil nil nil nil [4323 4341]) ("size" variable ("Vector" type "class") nil nil nil nil [4346 4358])) nil nil nil ((reparse-symbol . classsubparts)) [4292 4363]) ("FillRectRequest" type "struct" (("color" variable ("Color" type "class") nil nil nil nil [4400 4412]) ("size" variable ("Vector" type "class") nil nil nil nil [4417 4429])) nil nil nil ((reparse-symbol . classsubparts)) [4369 4434]) ("DrawingRequest" type "struct" (("type" variable ("RequestType" type "class") nil nil nil nil [4470 4487]) ("pos" variable ("Vector" type "class") nil nil nil nil [4492 4503]) ("layer" variable "int" nil nil nil nil [4529 4539]) ("drawing_effect" variable ("uint32_t" type "class") nil nil nil nil [4544 4568]) ("zoom" variable "float" nil nil nil nil [4573 4584]) ("alpha" variable "int" nil nil nil nil [4589 4599]) ("request_data" variable "void" nil ((pointer . 1)) nil nil [4609 4628]) ("<" function ("bool" type "class") (("other" variable ("DrawingRequest" type "class") nil ((const . t)) nil nil [4653 4681])) nil nil ((reparse-symbol . classsubparts)) [4638 4733])) nil nil nil ((reparse-symbol . classsubparts)) [4440 4738]) ("draw_surface_part" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [4767 4791])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [4744 4792]) ("draw_text" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [4810 4834])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [4795 4835]) ("draw_text_center" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [4860 4884])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [4838 4885]) ("draw_gradient" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [4907 4931])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [4888 4932]) ("draw_filled_rect" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [4957 4981])) ((prototype . t)) nil ((reparse-symbol . classsubparts)) [4935 4982]) ("DrawingRequests" type "typedef" nil ("std::vector") ((typedef "std::vector" type "class")) nil nil [4988 5040]) ("drawingrequests" variable ("DrawingRequests" type "class") nil nil nil nil [5043 5075]) ("screen" variable ("SDL_Surface" type "class") nil ((pointer . 1)) nil nil [5079 5099])) nil nil nil nil [1637 5102]))
:unmatched-syntax 'nil
)
(semanticdb-table "drawing_context.cpp"
:file "drawing_context.cpp"
- :pointmax 11591
+ :pointmax 11560
:major-mode 'c++-mode
- :tokens '(("config.h" include t nil nil [883 902]) ("algorithm" include t nil nil [904 924]) ("cassert" include t nil nil [925 943]) ("iostream" include t nil nil [944 963]) ("drawing_context.h" include nil nil nil [965 993]) ("surface.h" include nil nil nil [994 1014]) ("app/globals.h" include nil nil nil [1015 1039]) ("font.h" include nil nil nil [1040 1057]) ("gameconfig.h" include nil nil nil [1058 1081]) ("DrawingContext" function ("DrawingContext" type "class") (("targetsurface" variable ("SDL_Surface" type "class") nil ((pointer . 1)) nil nil [1141 1168])) ((parent . "DrawingContext") (constructor . t)) nil nil [1110 1273]) ("DrawingContext" function "void" nil ((parent . "DrawingContext") (destructor . t)) nil nil [1275 1312]) ("draw_surface" function ("void") (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [1348 1371]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [1372 1395]) ("layer" variable "int" nil nil nil nil [1400 1410]) ("drawing_effect" variable ("uint32_t" type "class") nil nil nil nil [1411 1435])) ((parent . "DrawingContext")) nil nil [1314 1981]) ("draw_surface_part" function ("void") (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [2022 2045]) ("source" variable ("Vector" type "class") nil ((const . t)) nil nil [2046 2067]) ("size" variable ("Vector" type "class") nil ((const . t)) nil nil [2072 2091]) ("dest" variable ("Vector" type "class") nil ((const . t)) nil nil [2092 2111]) ("layer" variable "int" nil nil nil nil [2112 2122]) ("drawing_effect" variable ("uint32_t" type "class") nil nil nil nil [2123 2147])) ((parent . "DrawingContext")) nil nil [1983 3117]) ("draw_text" function ("void") (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [3150 3167]) ("text" variable ("std::string" type "class") nil ((const . t)) nil nil [3168 3192]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [3197 3220]) ("alignment" variable ("FontAlignment" type "class") nil nil nil nil [3221 3245]) ("layer" variable "int" nil nil nil nil [3246 3256]) ("drawing_effect" variable ("uint32_t" type "class") nil nil nil nil [3261 3285])) ((parent . "DrawingContext")) nil nil [3119 3763]) ("draw_center_text" function ("void") (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [3803 3820]) ("text" variable ("std::string" type "class") nil ((const . t)) nil nil [3821 3845]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [3850 3873]) ("layer" variable "int" nil nil nil nil [3874 3884]) ("drawing_effect" variable ("uint32_t" type "class") nil nil nil nil [3885 3909])) ((parent . "DrawingContext")) nil nil [3765 4031]) ("draw_gradient" function ("void") (("top" variable ("Color" type "class") nil nil nil nil [4068 4078]) ("bottom" variable ("Color" type "class") nil nil nil nil [4079 4092]) ("layer" variable "int" nil nil nil nil [4093 4103])) ((parent . "DrawingContext")) nil nil [4033 4543]) ("draw_filled_rect" function ("void") (("topleft" variable ("Vector" type "class") nil ((const . t)) nil nil [4583 4605]) ("size" variable ("Vector" type "class") nil ((const . t)) nil nil [4606 4625]) ("color" variable ("Color" type "class") nil nil nil nil [4634 4646]) ("layer" variable "int" nil nil nil nil [4647 4657])) ((parent . "DrawingContext")) nil nil [4545 5130]) ("draw_surface_part" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [5171 5195])) ((parent . "DrawingContext")) nil nil [5132 5579]) ("draw_gradient" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [5616 5640])) ((parent . "DrawingContext")) nil nil [5581 6879]) ("draw_text" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [6912 6936])) ((parent . "DrawingContext")) nil nil [6881 7158]) ("draw_filled_rect" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [7198 7222])) ((parent . "DrawingContext")) nil nil [7160 9958]) ("do_drawing" function ("void") nil ((parent . "DrawingContext")) nil nil [9960 11121]) ("push_transform" function ("void") nil ((parent . "DrawingContext")) nil nil [11123 11203]) ("pop_transform" function ("void") nil ((parent . "DrawingContext")) nil nil [11205 11347]) ("set_drawing_effect" function ("void") (("effect" variable "int" nil nil nil nil [11389 11400])) ((parent . "DrawingContext")) nil nil [11349 11441]) ("set_zooming" function ("void") (("zoom" variable "float" nil nil nil nil [11476 11487])) ((parent . "DrawingContext")) nil nil [11443 11516]) ("set_alpha" function ("void") (("alpha" variable "int" nil nil nil nil [11549 11559])) ((parent . "DrawingContext")) nil nil [11518 11590]))
+ :tokens '(("config.h" include t nil nil [883 902]) ("algorithm" include t nil nil [904 924]) ("cassert" include t nil nil [925 943]) ("iostream" include t nil nil [944 963]) ("drawing_context.h" include nil nil nil [965 993]) ("surface.h" include nil nil nil [994 1014]) ("font.h" include nil nil nil [1015 1032]) ("main.h" include nil nil nil [1033 1050]) ("gameconfig.h" include nil nil nil [1051 1074]) ("DrawingContext" function ("DrawingContext" type "class") (("targetsurface" variable ("SDL_Surface" type "class") nil ((pointer . 1)) nil nil [1107 1134])) ((parent . "DrawingContext") (constructor . t)) nil nil [1076 1239]) ("DrawingContext" function "void" nil ((parent . "DrawingContext") (destructor . t)) nil nil [1241 1278]) ("draw_surface" function ("void") (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [1314 1337]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [1338 1361]) ("layer" variable "int" nil nil nil nil [1366 1376])) ((parent . "DrawingContext")) nil nil [1280 1905]) ("draw_surface_part" function ("void") (("surface" variable ("Surface" type "class") nil ((const . t) (pointer . 1)) nil nil [1946 1969]) ("source" variable ("Vector" type "class") nil ((const . t)) nil nil [1970 1991]) ("size" variable ("Vector" type "class") nil ((const . t)) nil nil [1996 2015]) ("dest" variable ("Vector" type "class") nil ((const . t)) nil nil [2016 2035]) ("layer" variable "int" nil nil nil nil [2036 2046])) ((parent . "DrawingContext")) nil nil [1907 2999]) ("draw_text" function ("void") (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [3032 3049]) ("text" variable ("std::string" type "class") nil ((const . t)) nil nil [3050 3074]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [3079 3102]) ("alignment" variable ("FontAlignment" type "class") nil nil nil nil [3103 3127]) ("layer" variable "int" nil nil nil nil [3128 3138])) ((parent . "DrawingContext")) nil nil [3001 3599]) ("draw_center_text" function ("void") (("font" variable ("Font" type "class") nil ((const . t) (pointer . 1)) nil nil [3639 3656]) ("text" variable ("std::string" type "class") nil ((const . t)) nil nil [3657 3681]) ("position" variable ("Vector" type "class") nil ((const . t)) nil nil [3686 3709]) ("layer" variable "int" nil nil nil nil [3710 3720])) ((parent . "DrawingContext")) nil nil [3601 3826]) ("draw_gradient" function ("void") (("top" variable ("Color" type "class") nil nil nil nil [3863 3873]) ("bottom" variable ("Color" type "class") nil nil nil nil [3874 3887]) ("layer" variable "int" nil nil nil nil [3888 3898])) ((parent . "DrawingContext")) nil nil [3828 4338]) ("draw_filled_rect" function ("void") (("topleft" variable ("Vector" type "class") nil ((const . t)) nil nil [4378 4400]) ("size" variable ("Vector" type "class") nil ((const . t)) nil nil [4401 4420]) ("color" variable ("Color" type "class") nil nil nil nil [4429 4441]) ("layer" variable "int" nil nil nil nil [4442 4452])) ((parent . "DrawingContext")) nil nil [4340 4925]) ("draw_surface_part" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [4966 4990])) ((parent . "DrawingContext")) nil nil [4927 5374]) ("draw_gradient" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [5411 5435])) ((parent . "DrawingContext")) nil nil [5376 6674]) ("draw_text" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [6707 6731])) ((parent . "DrawingContext")) nil nil [6676 6953]) ("draw_filled_rect" function ("void") (("request" variable ("DrawingRequest" type "class") nil nil nil nil [6993 7017])) ((parent . "DrawingContext")) nil nil [6955 9753]) ("do_drawing" function ("void") nil ((parent . "DrawingContext")) nil nil [9755 10916]) ("push_transform" function ("void") nil ((parent . "DrawingContext")) nil nil [10918 10998]) ("pop_transform" function ("void") nil ((parent . "DrawingContext")) nil nil [11000 11142]) ("set_drawing_effect" function ("void") (("effect" variable ("uint32_t" type "class") nil nil nil nil [11184 11200])) ((parent . "DrawingContext")) nil nil [11144 11241]) ("get_drawing_effect" function ("uint32_t" type "class") nil ((parent . "DrawingContext")) nil nil [11243 11333]) ("set_zooming" function ("void") (("zoom" variable "float" nil nil nil nil [11368 11379])) ((parent . "DrawingContext")) nil nil [11335 11408]) ("set_alpha" function ("void") (("alpha" variable ("uint8_t" type "class") nil nil nil nil [11441 11455])) ((parent . "DrawingContext")) nil nil [11410 11486]) ("get_alpha" function ("uint8_t" type "class") nil ((parent . "DrawingContext")) nil nil [11488 11559]))
:unmatched-syntax 'nil
)
(semanticdb-table "screen.h"
Vector(SCREEN_WIDTH - gold_text->get_text_width(str) - tux_life->w, 0),
LEFT_ALLIGN, LAYER_FOREGROUND1);
context.draw_surface(tux_life, Vector(SCREEN_WIDTH -
- gold_text->get_text_width("9"), 0), LEFT_ALLIGN, LAYER_FOREGROUND1);
+ gold_text->get_text_width("9"), 0), LAYER_FOREGROUND1);
}
else
{
// declare and retrieve arguments
int i = 0;
+ int arg_offset = 2;
for(std::vector<Parameter>::iterator p = function->parameters.begin();
p != function->parameters.end(); ++p) {
- char argname[64];
- snprintf(argname, sizeof(argname), "arg%d", i);
- prepare_argument(p->type, i + 2, argname);
-
+ if(i == 0 && p->type.atomic_type == HSQUIRRELVMType::instance()) {
+ out << ind << "HSQUIRRELVM arg0 = v;\n";
+ arg_offset++;
+ } else {
+ char argname[64];
+ snprintf(argname, sizeof(argname), "arg%d", i);
+ prepare_argument(p->type, i + arg_offset, argname);
+ }
++i;
}
if(ns == 0)
ns = current_namespace;
// is it a type?
- for(std::vector<AtomicType*>::iterator i = ns->types.begin();
- i != ns->types.end(); ++i) {
- AtomicType* type = *i;
- if(type->name == yytext) {
- yylval->atomic_type = type;
- return T_ATOMIC_TYPE;
- }
- }
+ yylval->atomic_type = ns->_findType(yytext, search_down);
+ if(yylval->atomic_type)
+ return T_ATOMIC_TYPE;
// or a namespace? (hack for now...)
yylval->_namespace = ns->_findNamespace(yytext, search_down);
if(yylval->_namespace) {
std_namespace->name = "std";
std_namespace->types.push_back(new StringType());
unit->namespaces.push_back(std_namespace);
+ unit->types.push_back(new HSQUIRRELVMType());
yyparse();
BasicType BasicType::DOUBLE("double");
StringType* StringType::_instance = 0;
+HSQUIRRELVMType* HSQUIRRELVMType::_instance = 0;
int ref;
};
+class HSQUIRRELVMType : public AtomicType {
+public:
+ HSQUIRRELVMType()
+ {
+ this->name = "HSQUIRRELVM";
+ assert(_instance == 0);
+ _instance = this;
+ }
+ virtual ~HSQUIRRELVMType()
+ {
+ assert(_instance == this);
+ _instance = 0;
+ }
+
+ static HSQUIRRELVMType* instance()
+ {
+ return _instance;
+ }
+private:
+ static HSQUIRRELVMType* _instance;
+};
+
class StringType : public AtomicType {
public:
StringType()
namespaces.push_back(ns);
ns->parent = this;
}
+ AtomicType* _findType(const std::string& name, bool godown = false) {
+ for(std::vector<AtomicType*>::iterator i = types.begin();
+ i != types.end(); ++i) {
+ AtomicType* type = *i;
+ if(type->name == name)
+ return type;
+ }
+ if(godown && parent)
+ return parent->_findType(name, true);
+
+ return 0;
+ }
+
Namespace* _findNamespace(const std::string& name, bool godown = false) {
for(std::vector<Namespace*>::iterator i = namespaces.begin();
i != namespaces.end(); ++i) {