// Copyright (C) 2021 Harry Godden (hgn) - All Rights Reserved
-//#define VG_STEAM
-//#define VG_STEAM_APPID 1218140U
+#define VG_STEAM
+#define VG_STEAM_APPID 1218140U
#include "vg/vg.h"
#include "fishladder_resources.h"
+/*
+ Todo for release:
+ Tutorial levels:
+ 1. Transport
+ 2. Split
+ 3. Merge (and explode)
+ 4. Principle 1 (divide colours)
+ 5. Principle 2 (combine colours)
+
+ Trainee levels:
+ Simple maths (x3)
+ Colour ordering (x2)
+ Routing problems (x2)
+
+ Medium levels:
+ Reverse order
+
+
+*/
+
const char *level_pack_1[] = {
"level0",
"level1",
u32 score;
u32 completed;
u32 time;
-
} world = {};
static void map_free(void)
int main( int argc, char *argv[] )
{
vg_init( argc, argv, "Marble Computing | SPACE: Test | LeftClick: Toggle tile | RightClick: Drag wire" );
+ return 0;
}
static int console_credits( int argc, char const *argv[] )
if( cell_entry->config == k_cell_type_con_r || cell_entry->config == k_cell_type_con_u
|| cell_entry->config == k_cell_type_con_l || cell_entry->config == k_cell_type_con_d )
{
+ sw_set_achievement( "CAN_DO_THAT" );
+
fish->state = k_fish_state_soon_alive;
fish->dir[0] = 0;
(fj_prev[0] == fi->pos[0]) &&
(fj_prev[1] == fi->pos[1])
)? 1: 0;
-
+
if( collide_next_frame || collide_this_frame )
{
+ sw_set_achievement( "BANG" );
+
// Shatter death (+0.5s)
float death_time = collide_this_frame? 0.0f: 0.5f;
}
else
{
+ if( world.sim_run > 0 )
+ sw_set_achievement( "GOOD_ENOUGH" );
+
vg_error( "Level failed :(\n" );
}