Upload new game: Koala Seasons
This commit is contained in:
parent
99c226b344
commit
a5c8ce2a34
25 changed files with 6695 additions and 0 deletions
223
games/koala_seasons/Makefile
Normal file
223
games/koala_seasons/Makefile
Normal file
|
|
@ -0,0 +1,223 @@
|
||||||
|
#**************************************************************************************************
|
||||||
|
#
|
||||||
|
# raylib - Koala Seasons
|
||||||
|
#
|
||||||
|
# raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten)
|
||||||
|
#
|
||||||
|
# Copyright (c) 2013-2016 Ramon Santamaria (@raysan5)
|
||||||
|
#
|
||||||
|
# This software is provided "as-is", without any express or implied warranty. In no event
|
||||||
|
# will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
#
|
||||||
|
# Permission is granted to anyone to use this software for any purpose, including commercial
|
||||||
|
# applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
||||||
|
#
|
||||||
|
# 1. The origin of this software must not be misrepresented; you must not claim that you
|
||||||
|
# wrote the original software. If you use this software in a product, an acknowledgment
|
||||||
|
# in the product documentation would be appreciated but is not required.
|
||||||
|
#
|
||||||
|
# 2. Altered source versions must be plainly marked as such, and must not be misrepresented
|
||||||
|
# as being the original software.
|
||||||
|
#
|
||||||
|
# 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
#
|
||||||
|
#**************************************************************************************************
|
||||||
|
|
||||||
|
# define raylib platform to compile for
|
||||||
|
# possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB
|
||||||
|
# WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop()
|
||||||
|
PLATFORM ?= PLATFORM_DESKTOP
|
||||||
|
|
||||||
|
# determine PLATFORM_OS in case PLATFORM_DESKTOP selected
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
||||||
|
# No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
PLATFORM_OS=WINDOWS
|
||||||
|
LIBPATH=win32
|
||||||
|
else
|
||||||
|
UNAMEOS:=$(shell uname)
|
||||||
|
ifeq ($(UNAMEOS),Linux)
|
||||||
|
PLATFORM_OS=LINUX
|
||||||
|
LIBPATH=linux
|
||||||
|
else
|
||||||
|
ifeq ($(UNAMEOS),Darwin)
|
||||||
|
PLATFORM_OS=OSX
|
||||||
|
LIBPATH=osx
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# define compiler: gcc for C program, define as g++ for C++
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_WEB)
|
||||||
|
# define emscripten compiler
|
||||||
|
CC = emcc
|
||||||
|
else
|
||||||
|
ifeq ($(PLATFORM_OS),OSX)
|
||||||
|
# define llvm compiler for mac
|
||||||
|
CC = clang
|
||||||
|
else
|
||||||
|
# define default gcc compiler
|
||||||
|
CC = gcc
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# define compiler flags:
|
||||||
|
# -O2 defines optimization level
|
||||||
|
# -Wall turns on most, but not all, compiler warnings
|
||||||
|
# -std=c99 use standard C from 1999 revision
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_RPI)
|
||||||
|
CFLAGS = -O2 -Wall -std=gnu99 -fgnu89-inline
|
||||||
|
else
|
||||||
|
CFLAGS = -O2 -Wall -std=c99
|
||||||
|
endif
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_WEB)
|
||||||
|
CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 --preload-file resources -s ALLOW_MEMORY_GROWTH=1
|
||||||
|
#-s ASSERTIONS=1 --preload-file resources
|
||||||
|
#-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing
|
||||||
|
#-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB)
|
||||||
|
endif
|
||||||
|
|
||||||
|
#CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes
|
||||||
|
# define any directories containing required header files
|
||||||
|
INCLUDES = -I. -I../src -I../src/external
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_RPI)
|
||||||
|
INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads
|
||||||
|
endif
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
||||||
|
# add standard directories for GNU/Linux
|
||||||
|
ifeq ($(PLATFORM_OS),LINUX)
|
||||||
|
INCLUDES += -I/usr/local/include/raylib/
|
||||||
|
else ifeq ($(PLATFORM_OS),WINDOWS)
|
||||||
|
# external libraries headers
|
||||||
|
# GLFW3
|
||||||
|
INCLUDES += -I../src/external/glfw3/include
|
||||||
|
# OpenAL Soft
|
||||||
|
INCLUDES += -I../src/external/openal_soft/include
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# define library paths containing required libs
|
||||||
|
LFLAGS = -L. -L../src -L$(RAYLIB_PATH)
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_RPI)
|
||||||
|
LFLAGS += -L/opt/vc/lib
|
||||||
|
endif
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
||||||
|
# add standard directories for GNU/Linux
|
||||||
|
ifeq ($(PLATFORM_OS),WINDOWS)
|
||||||
|
# external libraries to link with
|
||||||
|
# GLFW3
|
||||||
|
LFLAGS += -L../src/external/glfw3/lib/$(LIBPATH)
|
||||||
|
# OpenAL Soft
|
||||||
|
LFLAGS += -L../src/external/openal_soft/lib/$(LIBPATH)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# define any libraries to link into executable
|
||||||
|
# if you want to link libraries (libname.so or libname.a), use the -lname
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
||||||
|
ifeq ($(PLATFORM_OS),LINUX)
|
||||||
|
# libraries for Debian GNU/Linux desktop compiling
|
||||||
|
# requires the following packages:
|
||||||
|
# libglfw3-dev libopenal-dev libegl1-mesa-dev
|
||||||
|
LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -pthread -ldl
|
||||||
|
# on XWindow could require also below libraries, just uncomment
|
||||||
|
#LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
|
||||||
|
else
|
||||||
|
ifeq ($(PLATFORM_OS),OSX)
|
||||||
|
# libraries for OS X 10.9 desktop compiling
|
||||||
|
# requires the following packages:
|
||||||
|
# libglfw3-dev libopenal-dev libegl1-mesa-dev
|
||||||
|
LIBS = -lraylib -lglfw3 -framework OpenGL -framework OpenAl -framework Cocoa
|
||||||
|
else
|
||||||
|
# libraries for Windows desktop compiling
|
||||||
|
# NOTE: GLFW3 and OpenAL Soft libraries should be installed
|
||||||
|
LIBS = -lraylib -lglfw3 -lopengl32 -lopenal32 -lgdi32
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_RPI)
|
||||||
|
# libraries for Raspberry Pi compiling
|
||||||
|
# NOTE: OpenAL Soft library should be installed (libopenal1 package)
|
||||||
|
LIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -lbcm_host -lopenal
|
||||||
|
endif
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_WEB)
|
||||||
|
# just adjust the correct path to libraylib.bc
|
||||||
|
LIBS = ../release/html5/libraylib.bc
|
||||||
|
endif
|
||||||
|
|
||||||
|
# define additional parameters and flags for windows
|
||||||
|
ifeq ($(PLATFORM_OS),WINDOWS)
|
||||||
|
# resources file contains windows exe icon
|
||||||
|
# -Wl,--subsystem,windows hides the console window
|
||||||
|
WINFLAGS = C:\raylib\raylib_icon
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_WEB)
|
||||||
|
EXT = .html
|
||||||
|
endif
|
||||||
|
|
||||||
|
# define all screen object files required
|
||||||
|
SCREENS = \
|
||||||
|
screens/screen_logo.o \
|
||||||
|
screens/screen_title.o \
|
||||||
|
screens/screen_gameplay.o \
|
||||||
|
screens/screen_ending.o \
|
||||||
|
|
||||||
|
# typing 'make' will invoke the first target entry in the file,
|
||||||
|
# in this case, the 'default' target entry is koala_seasons
|
||||||
|
default: koala_seasons
|
||||||
|
|
||||||
|
# compile template - koala_seasons
|
||||||
|
koala_seasons: koala_seasons.c $(SCREENS)
|
||||||
|
$(CC) -o $@$(EXT) $^ $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
|
||||||
|
|
||||||
|
# compile screen LOGO
|
||||||
|
screens/screen_logo.o: screens/screen_logo.c
|
||||||
|
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM)
|
||||||
|
|
||||||
|
# compile screen TITLE
|
||||||
|
screens/screen_title.o: screens/screen_title.c
|
||||||
|
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM)
|
||||||
|
|
||||||
|
# compile screen OPTIONS
|
||||||
|
screens/screen_options.o: screens/screen_options.c
|
||||||
|
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM)
|
||||||
|
|
||||||
|
# compile screen GAMEPLAY
|
||||||
|
screens/screen_gameplay.o: screens/screen_gameplay.c
|
||||||
|
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM)
|
||||||
|
|
||||||
|
# compile screen ENDING
|
||||||
|
screens/screen_ending.o: screens/screen_ending.c
|
||||||
|
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM)
|
||||||
|
|
||||||
|
# clean everything
|
||||||
|
clean:
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
||||||
|
ifeq ($(PLATFORM_OS),OSX)
|
||||||
|
find . -type f -perm +ugo+x -delete
|
||||||
|
rm -f *.o
|
||||||
|
else
|
||||||
|
ifeq ($(PLATFORM_OS),LINUX)
|
||||||
|
find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f
|
||||||
|
else
|
||||||
|
del *.o *.exe
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_RPI)
|
||||||
|
find . -type f -executable -delete
|
||||||
|
rm -f *.o
|
||||||
|
endif
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_WEB)
|
||||||
|
del *.o *.html *.js
|
||||||
|
endif
|
||||||
|
@echo Cleaning done
|
||||||
|
|
||||||
|
# instead of defining every module one by one, we can define a pattern
|
||||||
|
# this pattern below will automatically compile every module defined on $(OBJS)
|
||||||
|
#%.exe : %.c
|
||||||
|
# $(CC) -o $@ $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM)
|
||||||
281
games/koala_seasons/koala_seasons.c
Normal file
281
games/koala_seasons/koala_seasons.c
Normal file
|
|
@ -0,0 +1,281 @@
|
||||||
|
/*******************************************************************************************
|
||||||
|
*
|
||||||
|
* raylib - Koala Seasons game
|
||||||
|
*
|
||||||
|
* Koala Seasons is a runner, you must survive as long as possible jumping from tree to tree
|
||||||
|
* Ready to start the adventure? How long can you survive?
|
||||||
|
*
|
||||||
|
* This game has been created using raylib 1.5 (www.raylib.com)
|
||||||
|
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
|
*
|
||||||
|
********************************************************************************************/
|
||||||
|
|
||||||
|
#include "raylib.h"
|
||||||
|
#include "screens/screens.h" // NOTE: Defines currentScreen
|
||||||
|
|
||||||
|
#if defined(PLATFORM_WEB)
|
||||||
|
#include <emscripten/emscripten.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
// Global Variables Definition (local to this module)
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
static float transAlpha = 0;
|
||||||
|
static bool onTransition = false;
|
||||||
|
static bool transFadeOut = false;
|
||||||
|
static int transFromScreen = -1;
|
||||||
|
static int transToScreen = -1;
|
||||||
|
static int framesCounter = 0;
|
||||||
|
|
||||||
|
static Music music;
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
// Local Functions Declaration
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
void TransitionToScreen(int screen);
|
||||||
|
void UpdateTransition(void);
|
||||||
|
void DrawTransition(void);
|
||||||
|
|
||||||
|
void UpdateDrawFrame(void); // Update and Draw one frame
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
// Main entry point
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
#if defined(PLATFORM_ANDROID)
|
||||||
|
void android_main(struct android_app *app)
|
||||||
|
#else
|
||||||
|
int main(void)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
// Initialization
|
||||||
|
//---------------------------------------------------------
|
||||||
|
const int screenWidth = 1280;
|
||||||
|
const int screenHeight = 720;
|
||||||
|
const char windowTitle[30] = "KOALA SEASONS";
|
||||||
|
|
||||||
|
//ShowLogo();
|
||||||
|
//SetConfigFlags(FLAG_FULLSCREEN_MODE);
|
||||||
|
|
||||||
|
#if defined(PLATFORM_ANDROID)
|
||||||
|
InitWindow(screenWidth, screenHeight, app);
|
||||||
|
#else
|
||||||
|
InitWindow(screenWidth, screenHeight, windowTitle);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Load global data here (assets that must be available in all screens, i.e. fonts)
|
||||||
|
font = LoadSpriteFont("resources/graphics/mainfont.png");
|
||||||
|
|
||||||
|
atlas01 = LoadTexture("resources/graphics/atlas01.png");
|
||||||
|
atlas02 = LoadTexture("resources/graphics/atlas02.pvr");
|
||||||
|
|
||||||
|
#if defined(PLATFORM_WEB) || defined(PLATFORM_RPI) || defined(PLATFORM_ANDROID)
|
||||||
|
colorBlend = LoadShader("resources/shaders/glsl100/base.vs", "resources/shaders/glsl100/blend_color.fs");
|
||||||
|
#else
|
||||||
|
colorBlend = LoadShader("resources/shaders/glsl330/base.vs", "resources/shaders/glsl330/blend_color.fs");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
InitAudioDevice();
|
||||||
|
|
||||||
|
// Load sounds data
|
||||||
|
fxJump = LoadSound("resources/audio/jump.ogg");
|
||||||
|
fxDash = LoadSound("resources/audio/dash.ogg");
|
||||||
|
fxEatLeaves = LoadSound("resources/audio/eat_leaves.ogg");
|
||||||
|
fxHitResin = LoadSound("resources/audio/resin_hit.ogg");
|
||||||
|
fxWind = LoadSound("resources/audio/wind_sound.ogg");
|
||||||
|
fxDieSnake = LoadSound("resources/audio/snake_die.ogg");
|
||||||
|
fxDieDingo = LoadSound("resources/audio/dingo_die.ogg");
|
||||||
|
fxDieOwl = LoadSound("resources/audio/owl_die.ogg");
|
||||||
|
|
||||||
|
|
||||||
|
music = LoadMusicStream("resources/audio/jngl.xm");
|
||||||
|
PlayMusicStream(music);
|
||||||
|
SetMusicVolume(music, 1.0f);
|
||||||
|
|
||||||
|
// Define and init first screen
|
||||||
|
// NOTE: currentScreen is defined in screens.h as a global variable
|
||||||
|
currentScreen = TITLE;
|
||||||
|
|
||||||
|
InitLogoScreen();
|
||||||
|
//InitOptionsScreen();
|
||||||
|
InitTitleScreen();
|
||||||
|
InitGameplayScreen();
|
||||||
|
InitEndingScreen();
|
||||||
|
|
||||||
|
#if defined(PLATFORM_WEB)
|
||||||
|
emscripten_set_main_loop(UpdateDrawFrame, 0, 1);
|
||||||
|
#else
|
||||||
|
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
||||||
|
//--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Main game loop
|
||||||
|
while (!WindowShouldClose()) UpdateDrawFrame();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// De-Initialization
|
||||||
|
//--------------------------------------------------------------------------------------
|
||||||
|
UnloadEndingScreen();
|
||||||
|
UnloadTitleScreen();
|
||||||
|
UnloadGameplayScreen();
|
||||||
|
UnloadLogoScreen();
|
||||||
|
|
||||||
|
UnloadTexture(atlas01);
|
||||||
|
UnloadTexture(atlas02);
|
||||||
|
UnloadSpriteFont(font);
|
||||||
|
|
||||||
|
UnloadShader(colorBlend); // Unload color overlay blending shader
|
||||||
|
|
||||||
|
UnloadSound(fxJump);
|
||||||
|
UnloadSound(fxDash);
|
||||||
|
UnloadSound(fxEatLeaves);
|
||||||
|
UnloadSound(fxHitResin);
|
||||||
|
UnloadSound(fxWind);
|
||||||
|
UnloadSound(fxDieSnake);
|
||||||
|
UnloadSound(fxDieDingo);
|
||||||
|
UnloadSound(fxDieOwl);
|
||||||
|
|
||||||
|
UnloadMusicStream(music);
|
||||||
|
|
||||||
|
CloseAudioDevice(); // Close audio device
|
||||||
|
|
||||||
|
CloseWindow(); // Close window and OpenGL context
|
||||||
|
//--------------------------------------------------------------------------------------
|
||||||
|
#if !defined(PLATFORM_ANDROID)
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void TransitionToScreen(int screen)
|
||||||
|
{
|
||||||
|
onTransition = true;
|
||||||
|
transFromScreen = currentScreen;
|
||||||
|
transToScreen = screen;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateTransition(void)
|
||||||
|
{
|
||||||
|
if (!transFadeOut)
|
||||||
|
{
|
||||||
|
transAlpha += 0.05f;
|
||||||
|
|
||||||
|
if (transAlpha >= 1.0)
|
||||||
|
{
|
||||||
|
transAlpha = 1.0;
|
||||||
|
currentScreen = transToScreen;
|
||||||
|
transFadeOut = true;
|
||||||
|
framesCounter = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // Transition fade out logic
|
||||||
|
{
|
||||||
|
transAlpha -= 0.05f;
|
||||||
|
|
||||||
|
if (transAlpha <= 0)
|
||||||
|
{
|
||||||
|
transAlpha = 0;
|
||||||
|
transFadeOut = false;
|
||||||
|
onTransition = false;
|
||||||
|
transFromScreen = -1;
|
||||||
|
transToScreen = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DrawTransition(void)
|
||||||
|
{
|
||||||
|
DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(BLACK, transAlpha));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update and Draw one frame
|
||||||
|
void UpdateDrawFrame(void)
|
||||||
|
{
|
||||||
|
// Update
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
if (!onTransition)
|
||||||
|
{
|
||||||
|
switch (currentScreen)
|
||||||
|
{
|
||||||
|
case LOGO:
|
||||||
|
{
|
||||||
|
UpdateLogoScreen();
|
||||||
|
|
||||||
|
if (FinishLogoScreen()) TransitionToScreen(TITLE);
|
||||||
|
|
||||||
|
} break;
|
||||||
|
case TITLE:
|
||||||
|
{
|
||||||
|
UpdateTitleScreen();
|
||||||
|
|
||||||
|
// NOTE: FinishTitleScreen() return an int defining the screen to jump to
|
||||||
|
if (FinishTitleScreen() == 1)
|
||||||
|
{
|
||||||
|
UnloadTitleScreen();
|
||||||
|
//currentScreen = OPTIONS;
|
||||||
|
//InitOptionsScreen();
|
||||||
|
}
|
||||||
|
else if (FinishTitleScreen() == 2)
|
||||||
|
{
|
||||||
|
UnloadTitleScreen();
|
||||||
|
|
||||||
|
InitGameplayScreen();
|
||||||
|
TransitionToScreen(GAMEPLAY);
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
case GAMEPLAY:
|
||||||
|
{
|
||||||
|
UpdateGameplayScreen();
|
||||||
|
|
||||||
|
if (FinishGameplayScreen())
|
||||||
|
{
|
||||||
|
UnloadGameplayScreen();
|
||||||
|
|
||||||
|
InitEndingScreen();
|
||||||
|
TransitionToScreen(ENDING);
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
case ENDING:
|
||||||
|
{
|
||||||
|
UpdateEndingScreen();
|
||||||
|
|
||||||
|
if (FinishEndingScreen())
|
||||||
|
{
|
||||||
|
UnloadEndingScreen();
|
||||||
|
|
||||||
|
InitGameplayScreen();
|
||||||
|
TransitionToScreen(GAMEPLAY);
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else UpdateTransition();
|
||||||
|
|
||||||
|
UpdateMusicStream(music);
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Draw
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
BeginDrawing();
|
||||||
|
|
||||||
|
ClearBackground(WHITE);
|
||||||
|
|
||||||
|
switch (currentScreen)
|
||||||
|
{
|
||||||
|
case LOGO: DrawLogoScreen(); break;
|
||||||
|
case TITLE: DrawTitleScreen(); break;
|
||||||
|
case GAMEPLAY: DrawGameplayScreen(); break;
|
||||||
|
case ENDING: DrawEndingScreen(); break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (onTransition) DrawTransition();
|
||||||
|
|
||||||
|
DrawFPS(20, GetScreenHeight() - 30);
|
||||||
|
|
||||||
|
DrawRectangle(GetScreenWidth() - 200, GetScreenHeight() - 50, 200, 40, Fade(WHITE, 0.6f));
|
||||||
|
DrawText("ALPHA VERSION", GetScreenWidth() - 180, GetScreenHeight() - 40, 20, DARKGRAY);
|
||||||
|
|
||||||
|
EndDrawing();
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
}
|
||||||
BIN
games/koala_seasons/resources/audio/dash.ogg
Normal file
BIN
games/koala_seasons/resources/audio/dash.ogg
Normal file
Binary file not shown.
BIN
games/koala_seasons/resources/audio/dingo_die.ogg
Normal file
BIN
games/koala_seasons/resources/audio/dingo_die.ogg
Normal file
Binary file not shown.
BIN
games/koala_seasons/resources/audio/eat_leaves.ogg
Normal file
BIN
games/koala_seasons/resources/audio/eat_leaves.ogg
Normal file
Binary file not shown.
BIN
games/koala_seasons/resources/audio/jngl.xm
Normal file
BIN
games/koala_seasons/resources/audio/jngl.xm
Normal file
Binary file not shown.
BIN
games/koala_seasons/resources/audio/jump.ogg
Normal file
BIN
games/koala_seasons/resources/audio/jump.ogg
Normal file
Binary file not shown.
BIN
games/koala_seasons/resources/audio/owl_die.ogg
Normal file
BIN
games/koala_seasons/resources/audio/owl_die.ogg
Normal file
Binary file not shown.
BIN
games/koala_seasons/resources/audio/resin_hit.ogg
Normal file
BIN
games/koala_seasons/resources/audio/resin_hit.ogg
Normal file
Binary file not shown.
BIN
games/koala_seasons/resources/audio/snake_die.ogg
Normal file
BIN
games/koala_seasons/resources/audio/snake_die.ogg
Normal file
Binary file not shown.
BIN
games/koala_seasons/resources/audio/wind_sound.ogg
Normal file
BIN
games/koala_seasons/resources/audio/wind_sound.ogg
Normal file
Binary file not shown.
BIN
games/koala_seasons/resources/graphics/atlas01.png
Normal file
BIN
games/koala_seasons/resources/graphics/atlas01.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 MiB |
BIN
games/koala_seasons/resources/graphics/atlas02.png
Normal file
BIN
games/koala_seasons/resources/graphics/atlas02.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 898 KiB |
BIN
games/koala_seasons/resources/graphics/mainfont.png
Normal file
BIN
games/koala_seasons/resources/graphics/mainfont.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 179 KiB |
25
games/koala_seasons/resources/shaders/glsl100/base.vs
Normal file
25
games/koala_seasons/resources/shaders/glsl100/base.vs
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
#version 100
|
||||||
|
|
||||||
|
// Input vertex attributes
|
||||||
|
attribute vec3 vertexPosition;
|
||||||
|
attribute vec2 vertexTexCoord;
|
||||||
|
attribute vec4 vertexColor;
|
||||||
|
|
||||||
|
// Input uniform values
|
||||||
|
uniform mat4 mvpMatrix;
|
||||||
|
|
||||||
|
// Output vertex attributes (to fragment shader)
|
||||||
|
varying vec2 fragTexCoord;
|
||||||
|
varying vec4 fragColor;
|
||||||
|
|
||||||
|
// NOTE: Add here your custom variables
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
// Send vertex attributes to fragment shader
|
||||||
|
fragTexCoord = vertexTexCoord;
|
||||||
|
fragColor = vertexColor;
|
||||||
|
|
||||||
|
// Calculate final vertex position
|
||||||
|
gl_Position = mvpMatrix*vec4(vertexPosition, 1.0);
|
||||||
|
}
|
||||||
63
games/koala_seasons/resources/shaders/glsl100/blend_color.fs
Normal file
63
games/koala_seasons/resources/shaders/glsl100/blend_color.fs
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
#version 100
|
||||||
|
|
||||||
|
precision mediump float;
|
||||||
|
|
||||||
|
// Input vertex attributes (from vertex shader)
|
||||||
|
in vec2 fragTexCoord;
|
||||||
|
in vec4 fragColor;
|
||||||
|
|
||||||
|
// Input uniform values
|
||||||
|
uniform sampler2D texture0;
|
||||||
|
uniform vec4 colDiffuse;
|
||||||
|
|
||||||
|
// NOTE: Add here your custom variables
|
||||||
|
|
||||||
|
vec3 BlendOverlay(vec3 base, vec3 blend)
|
||||||
|
{
|
||||||
|
float red;
|
||||||
|
float green;
|
||||||
|
float blue;
|
||||||
|
|
||||||
|
if (base.r < 0.5) red = 2.0*base.r*blend.r;
|
||||||
|
else red = 1.0 - 2.0*(1.0 - base.r)*(1.0 - blend.r);
|
||||||
|
|
||||||
|
if (base.g < 0.5) green = 2.0*base.g*blend.g;
|
||||||
|
else green = 1.0 - 2.0 *(1.0 - base.g)*(1.0 - blend.g);
|
||||||
|
|
||||||
|
if (base.b < 0.5) blue = 2.0*base.b*blend.b;
|
||||||
|
else blue = 1.0 - 2.0 *(1.0 - base.b)*(1.0 - blend.b);
|
||||||
|
|
||||||
|
return vec3(red, green, blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
// Blending Overlay
|
||||||
|
vec4 base = texture2D(texture0, fragTexCoord);
|
||||||
|
|
||||||
|
// No blending shader -> 64 FPS (1280x720)
|
||||||
|
//gl_FragColor = base*fragColor;
|
||||||
|
|
||||||
|
// Option01 -> 50 FPS (1280x720), 200 FPS (640x360)
|
||||||
|
vec3 final = BlendOverlay(base.rgb, fragColor.rgb);
|
||||||
|
gl_FragColor = vec4(final.rgb, base.a*fragColor.a);
|
||||||
|
|
||||||
|
// Option02 (Doesn't work) -> 63 FPS (1280x720)
|
||||||
|
//float luminance = (base.r*0.2126) + (base.g*0.7152) + (base.b*0.0722);
|
||||||
|
//gl_FragColor = vec4(tint*luminance, base.a);
|
||||||
|
|
||||||
|
// Option03 (no branches, precalculated ifs) -> 28 FPS (1280x720)
|
||||||
|
/*
|
||||||
|
vec4 blend = fragColor;
|
||||||
|
//if (base.a == 0.0) discard; // No improvement
|
||||||
|
vec3 br = clamp(sign(base.rgb - vec3(0.5)), vec3(0.0), vec3(1.0));
|
||||||
|
vec3 multiply = 2.0 * base.rgb * blend.rgb;
|
||||||
|
vec3 screen = vec3(1.0) - 2.0 * (vec3(1.0) - base.rgb)*(vec3(1.0) - blend.rgb);
|
||||||
|
vec3 overlay = mix(multiply, screen, br);
|
||||||
|
vec3 finalColor = mix(base.rgb, overlay, blend.a);
|
||||||
|
gl_FragColor = vec4(finalColor, base.a);
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Option04 (no branches, using built-in functions) -> 38 FPS (1280x720)
|
||||||
|
//gl_FragColor = vec4(mix(1 - 2*(1 - base.rgb)*(1 - tint), 2*base.rgb*tint, step(0.5, base.rgb)), base.a);
|
||||||
|
}
|
||||||
25
games/koala_seasons/resources/shaders/glsl330/base.vs
Normal file
25
games/koala_seasons/resources/shaders/glsl330/base.vs
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
#version 330
|
||||||
|
|
||||||
|
// Input vertex attributes
|
||||||
|
in vec3 vertexPosition;
|
||||||
|
in vec2 vertexTexCoord;
|
||||||
|
in vec4 vertexColor;
|
||||||
|
|
||||||
|
// Input uniform values
|
||||||
|
uniform mat4 mvpMatrix;
|
||||||
|
|
||||||
|
// Output vertex attributes (to fragment shader)
|
||||||
|
out vec2 fragTexCoord;
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
// NOTE: Add here your custom variables
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
// Send vertex attributes to fragment shader
|
||||||
|
fragTexCoord = vertexTexCoord;
|
||||||
|
fragColor = vertexColor;
|
||||||
|
|
||||||
|
// Calculate final vertex position
|
||||||
|
gl_Position = mvpMatrix*vec4(vertexPosition, 1.0);
|
||||||
|
}
|
||||||
64
games/koala_seasons/resources/shaders/glsl330/blend_color.fs
Normal file
64
games/koala_seasons/resources/shaders/glsl330/blend_color.fs
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
#version 330
|
||||||
|
|
||||||
|
// Input vertex attributes (from vertex shader)
|
||||||
|
in vec2 fragTexCoord;
|
||||||
|
in vec4 fragColor;
|
||||||
|
|
||||||
|
// Input uniform values
|
||||||
|
uniform sampler2D texture0;
|
||||||
|
uniform vec4 colDiffuse;
|
||||||
|
|
||||||
|
// Output fragment color
|
||||||
|
out vec4 finalColor;
|
||||||
|
|
||||||
|
// NOTE: Add here your custom variables
|
||||||
|
|
||||||
|
vec3 BlendOverlay(vec3 base, vec3 blend)
|
||||||
|
{
|
||||||
|
float red;
|
||||||
|
float green;
|
||||||
|
float blue;
|
||||||
|
|
||||||
|
if (base.r < 0.5) red = 2.0*base.r*blend.r;
|
||||||
|
else red = 1.0 - 2.0*(1.0 - base.r)*(1.0 - blend.r);
|
||||||
|
|
||||||
|
if (base.g < 0.5) green = 2.0*base.g*blend.g;
|
||||||
|
else green = 1.0 - 2.0 *(1.0 - base.g)*(1.0 - blend.g);
|
||||||
|
|
||||||
|
if (base.b < 0.5) blue = 2.0*base.b*blend.b;
|
||||||
|
else blue = 1.0 - 2.0 *(1.0 - base.b)*(1.0 - blend.b);
|
||||||
|
|
||||||
|
return vec3(red, green, blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
// Blending Overlay
|
||||||
|
vec4 base = texture2D(texture0, fragTexCoord);
|
||||||
|
|
||||||
|
// No blending shader -> 64 FPS (1280x720)
|
||||||
|
//gl_FragColor = base*tintColor;
|
||||||
|
|
||||||
|
// Option01 -> 50 FPS (1280x720), 200 FPS (640x360)
|
||||||
|
vec3 final = BlendOverlay(base.rgb, fragColor.rgb);
|
||||||
|
finalColor = vec4(final.rgb, base.a*fragColor.a);
|
||||||
|
|
||||||
|
// Option02 (Doesn't work) -> 63 FPS (1280x720)
|
||||||
|
//float luminance = (base.r*0.2126) + (base.g*0.7152) + (base.b*0.0722);
|
||||||
|
//gl_FragColor = vec4(tintColor.rgb*luminance, base.a);
|
||||||
|
|
||||||
|
// Option03 (no branches, precalculated ifs) -> 28 FPS (1280x720)
|
||||||
|
/*
|
||||||
|
vec4 blend = tintColor;
|
||||||
|
//if (base.a == 0.0) discard; // No improvement
|
||||||
|
vec3 br = clamp(sign(base.rgb - vec3(0.5)), vec3(0.0), vec3(1.0));
|
||||||
|
vec3 multiply = 2.0 * base.rgb * blend.rgb;
|
||||||
|
vec3 screen = vec3(1.0) - 2.0 * (vec3(1.0) - base.rgb)*(vec3(1.0) - blend.rgb);
|
||||||
|
vec3 overlay = mix(multiply, screen, br);
|
||||||
|
vec3 finalColor = mix(base.rgb, overlay, blend.a);
|
||||||
|
gl_FragColor = vec4(finalColor, base.a);
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Option04 (no branches, using built-in functions) -> 38 FPS (1280x720)
|
||||||
|
//gl_FragColor = vec4(mix(1 - 2*(1 - base.rgb)*(1 - tintColor.rgb), 2*base.rgb*tintColor.rgb, step(0.5, base.rgb)), base.a);
|
||||||
|
}
|
||||||
86
games/koala_seasons/screens/atlas01.h
Normal file
86
games/koala_seasons/screens/atlas01.h
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
#define ending_button_replay (Rectangle){ 974, 1403, 123, 123 }
|
||||||
|
#define ending_button_share (Rectangle){ 954, 1528, 123, 123 }
|
||||||
|
#define ending_button_shop (Rectangle){ 958, 1653, 123, 123 }
|
||||||
|
#define ending_button_trophy (Rectangle){ 1479, 386, 123, 123 }
|
||||||
|
#define ending_goals_board (Rectangle){ 2, 254, 761, 422 }
|
||||||
|
#define ending_goals_check_plate (Rectangle){ 316, 2006, 36, 34 }
|
||||||
|
#define ending_goals_check_v (Rectangle){ 1727, 239, 50, 42 }
|
||||||
|
#define ending_goals_check_x (Rectangle){ 354, 1885, 42, 51 }
|
||||||
|
#define ending_goals_icon_death (Rectangle){ 1382, 516, 60, 60 }
|
||||||
|
#define ending_goals_icon_leaves (Rectangle){ 1444, 516, 60, 60 }
|
||||||
|
#define ending_goals_icon_special (Rectangle){ 1506, 511, 60, 60 }
|
||||||
|
#define ending_goals_icon_time (Rectangle){ 1568, 511, 60, 60 }
|
||||||
|
#define ending_paint_back (Rectangle){ 765, 254, 258, 305 }
|
||||||
|
#define ending_paint_frame (Rectangle){ 103, 1028, 334, 393 }
|
||||||
|
#define ending_paint_koalabee (Rectangle){ 439, 1060, 219, 216 }
|
||||||
|
#define ending_paint_koaladingo (Rectangle){ 439, 1278, 219, 216 }
|
||||||
|
#define ending_paint_koalaeagle (Rectangle){ 405, 1496, 219, 216 }
|
||||||
|
#define ending_paint_koalafire (Rectangle){ 771, 643, 219, 216 }
|
||||||
|
#define ending_paint_koalageneric (Rectangle){ 516, 678, 253, 250 }
|
||||||
|
#define ending_paint_koalaowl (Rectangle){ 661, 1790, 100, 81 }
|
||||||
|
#define ending_paint_koalasnake (Rectangle){ 774, 861, 219, 216 }
|
||||||
|
#define ending_plate_frame (Rectangle){ 2, 2, 1052, 250 }
|
||||||
|
#define ending_plate_headbee (Rectangle){ 1318, 516, 62, 60 }
|
||||||
|
#define ending_plate_headdingo (Rectangle){ 1481, 182, 56, 70 }
|
||||||
|
#define ending_plate_headeagle (Rectangle){ 1974, 116, 39, 48 }
|
||||||
|
#define ending_plate_headowl (Rectangle){ 226, 1885, 68, 52 }
|
||||||
|
#define ending_plate_headsnake (Rectangle){ 65, 1968, 46, 67 }
|
||||||
|
#define ending_score_enemyicon (Rectangle){ 661, 1697, 113, 91 }
|
||||||
|
#define ending_score_frame (Rectangle){ 419, 1714, 119, 123 }
|
||||||
|
#define ending_score_frameback (Rectangle){ 540, 1714, 119, 123 }
|
||||||
|
#define ending_score_leavesicon (Rectangle){ 1387, 254, 135, 130 }
|
||||||
|
#define ending_score_planklarge (Rectangle){ 1056, 132, 525, 48 }
|
||||||
|
#define ending_score_planksmall (Rectangle){ 1583, 116, 389, 48 }
|
||||||
|
#define ending_score_seasonicon (Rectangle){ 925, 1265, 135, 136 }
|
||||||
|
#define ending_score_seasonneedle (Rectangle){ 2032, 2, 12, 45 }
|
||||||
|
#define gameplay_countdown_1 (Rectangle){ 660, 1302, 110, 216 }
|
||||||
|
#define gameplay_countdown_2 (Rectangle){ 2, 1750, 110, 216 }
|
||||||
|
#define gameplay_countdown_3 (Rectangle){ 114, 1728, 110, 216 }
|
||||||
|
#define gameplay_enemy_bee (Rectangle){ 1025, 486, 250, 60 }
|
||||||
|
#define gameplay_enemy_dingo (Rectangle){ 755, 1079, 240, 150 }
|
||||||
|
#define gameplay_enemy_eagle (Rectangle){ 1570, 2, 460, 80 }
|
||||||
|
#define gameplay_enemy_eagle_death (Rectangle){ 1327, 386, 150, 128 }
|
||||||
|
#define gameplay_enemy_owl (Rectangle){ 765, 561, 240, 80 }
|
||||||
|
#define gameplay_enemy_snake (Rectangle){ 1025, 254, 360, 128 }
|
||||||
|
#define gameplay_fx_eaglealert (Rectangle){ 660, 1060, 93, 240 }
|
||||||
|
#define gameplay_fx_lightraymid (Rectangle){ 2, 1028, 54, 710 }
|
||||||
|
#define gameplay_gui_leafcounter_base (Rectangle){ 626, 1520, 178, 175 }
|
||||||
|
#define gameplay_gui_leafcounter_cell (Rectangle){ 972, 1231, 32, 32 }
|
||||||
|
#define gameplay_gui_leafcounter_glow (Rectangle){ 806, 1519, 146, 146 }
|
||||||
|
#define gameplay_gui_leafcounter_pulsel (Rectangle){ 226, 1728, 157, 155 }
|
||||||
|
#define gameplay_gui_seasonsclock_base (Rectangle){ 772, 1265, 151, 150 }
|
||||||
|
#define gameplay_gui_seasonsclock_disc (Rectangle){ 103, 1423, 300, 303 }
|
||||||
|
#define gameplay_koala_dash (Rectangle){ 1079, 1528, 100, 100 }
|
||||||
|
#define gameplay_koala_die (Rectangle){ 1083, 1630, 100, 100 }
|
||||||
|
#define gameplay_koala_fly (Rectangle){ 114, 1946, 200, 100 }
|
||||||
|
#define gameplay_koala_idle (Rectangle){ 1025, 384, 300, 100 }
|
||||||
|
#define gameplay_koala_jump (Rectangle){ 1083, 1732, 100, 100 }
|
||||||
|
#define gameplay_koala_menu (Rectangle){ 806, 1667, 150, 100 }
|
||||||
|
#define gameplay_koala_transform (Rectangle){ 772, 1417, 200, 100 }
|
||||||
|
#define gameplay_props_burnttree (Rectangle){ 58, 1028, 43, 720 }
|
||||||
|
#define gameplay_props_fire_spritesheet (Rectangle){ 516, 930, 256, 128 }
|
||||||
|
#define gameplay_props_ice_sprite (Rectangle){ 385, 1728, 32, 128 }
|
||||||
|
#define gameplay_props_leaf_big (Rectangle){ 1857, 166, 64, 64 }
|
||||||
|
#define gameplay_props_leaf_lil (Rectangle){ 1923, 166, 64, 64 }
|
||||||
|
#define gameplay_props_leaf_mid (Rectangle){ 316, 1940, 64, 64 }
|
||||||
|
#define gameplay_props_resin_sprite (Rectangle){ 405, 1423, 32, 64 }
|
||||||
|
#define gameplay_props_whirlwind_spritesheet (Rectangle){ 1056, 2, 512, 128 }
|
||||||
|
#define particle_dandelion (Rectangle){ 354, 2006, 32, 32 }
|
||||||
|
#define particle_ecualyptusflower (Rectangle){ 1989, 166, 32, 32 }
|
||||||
|
#define particle_ecualyptusleaf (Rectangle){ 1989, 200, 32, 32 }
|
||||||
|
#define particle_hit (Rectangle){ 296, 1885, 56, 53 }
|
||||||
|
#define particle_icecrystal (Rectangle){ 419, 1839, 32, 32 }
|
||||||
|
#define particle_planetreeleaf (Rectangle){ 453, 1839, 32, 32 }
|
||||||
|
#define particle_waterdrop (Rectangle){ 487, 1839, 32, 32 }
|
||||||
|
#define title_facebook (Rectangle){ 1539, 182, 92, 92 }
|
||||||
|
#define title_googleplay (Rectangle){ 1524, 276, 92, 92 }
|
||||||
|
#define title_music_off (Rectangle){ 1790, 166, 65, 66 }
|
||||||
|
#define title_music_on (Rectangle){ 1277, 486, 39, 66 }
|
||||||
|
#define title_speaker_off (Rectangle){ 2, 1968, 61, 71 }
|
||||||
|
#define title_speaker_on (Rectangle){ 1727, 166, 61, 71 }
|
||||||
|
#define title_textsnow01 (Rectangle){ 1570, 84, 439, 30 }
|
||||||
|
#define title_textsnow02 (Rectangle){ 1056, 182, 423, 48 }
|
||||||
|
#define title_textsnow03 (Rectangle){ 755, 1231, 215, 32 }
|
||||||
|
#define title_textsnow04 (Rectangle){ 1056, 232, 414, 20 }
|
||||||
|
#define title_titletext (Rectangle){ 2, 678, 512, 348 }
|
||||||
|
#define title_twitter (Rectangle){ 1633, 166, 92, 92 }
|
||||||
40
games/koala_seasons/screens/atlas02.h
Normal file
40
games/koala_seasons/screens/atlas02.h
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
#define background_fog02 (Rectangle){ 644, 2, 500, 311 }
|
||||||
|
#define background_transformation (Rectangle){ 2, 364, 500, 400 }
|
||||||
|
#define ending_background (Rectangle){ 2, 766, 256, 256 }
|
||||||
|
#define gameplay_back_fx_lightraymid (Rectangle){ 260, 766, 14, 216 }
|
||||||
|
#define gameplay_back_ground00 (Rectangle){ 1146, 2, 640, 77 }
|
||||||
|
#define gameplay_back_ground01 (Rectangle){ 1146, 81, 640, 77 }
|
||||||
|
#define gameplay_back_ground02 (Rectangle){ 1146, 160, 640, 77 }
|
||||||
|
#define gameplay_back_ground03 (Rectangle){ 1146, 239, 640, 77 }
|
||||||
|
#define gameplay_back_tree01_layer01 (Rectangle){ 1833, 353, 28, 335 }
|
||||||
|
#define gameplay_back_tree01_layer02 (Rectangle){ 1998, 338, 28, 335 }
|
||||||
|
#define gameplay_back_tree01_layer03 (Rectangle){ 660, 315, 28, 335 }
|
||||||
|
#define gameplay_back_tree02_layer01 (Rectangle){ 690, 315, 26, 332 }
|
||||||
|
#define gameplay_back_tree02_layer02 (Rectangle){ 718, 315, 26, 332 }
|
||||||
|
#define gameplay_back_tree02_layer03 (Rectangle){ 746, 315, 26, 332 }
|
||||||
|
#define gameplay_back_tree03_layer01 (Rectangle){ 2028, 338, 15, 329 }
|
||||||
|
#define gameplay_back_tree03_layer02 (Rectangle){ 774, 315, 15, 329 }
|
||||||
|
#define gameplay_back_tree03_layer03 (Rectangle){ 791, 315, 15, 329 }
|
||||||
|
#define gameplay_back_tree04_layer01 (Rectangle){ 1860, 2, 38, 334 }
|
||||||
|
#define gameplay_back_tree04_layer02 (Rectangle){ 1900, 2, 38, 334 }
|
||||||
|
#define gameplay_back_tree04_layer03 (Rectangle){ 1940, 2, 38, 334 }
|
||||||
|
#define gameplay_back_tree05_layer01 (Rectangle){ 504, 364, 32, 349 }
|
||||||
|
#define gameplay_back_tree05_layer02 (Rectangle){ 538, 364, 32, 349 }
|
||||||
|
#define gameplay_back_tree05_layer03 (Rectangle){ 572, 364, 32, 349 }
|
||||||
|
#define gameplay_back_tree06_layer01 (Rectangle){ 1980, 2, 31, 334 }
|
||||||
|
#define gameplay_back_tree06_layer02 (Rectangle){ 2013, 2, 31, 334 }
|
||||||
|
#define gameplay_back_tree06_layer03 (Rectangle){ 1863, 338, 31, 334 }
|
||||||
|
#define gameplay_back_tree07_layer01 (Rectangle){ 606, 364, 25, 349 }
|
||||||
|
#define gameplay_back_tree07_layer02 (Rectangle){ 633, 364, 25, 349 }
|
||||||
|
#define gameplay_back_tree07_layer03 (Rectangle){ 1833, 2, 25, 349 }
|
||||||
|
#define gameplay_back_tree08_layer01 (Rectangle){ 1896, 338, 32, 331 }
|
||||||
|
#define gameplay_back_tree08_layer02 (Rectangle){ 1930, 338, 32, 331 }
|
||||||
|
#define gameplay_back_tree08_layer03 (Rectangle){ 1964, 338, 32, 331 }
|
||||||
|
#define gameplay_background (Rectangle){ 2, 2, 640, 360 }
|
||||||
|
#define gameplay_props_owl_branch (Rectangle){ 808, 349, 36, 24 }
|
||||||
|
#define gameplay_props_tree (Rectangle){ 1788, 2, 43, 720 }
|
||||||
|
#define particle_dandelion_bw (Rectangle){ 504, 715, 32, 32 }
|
||||||
|
#define particle_ecualyptusflower_bw (Rectangle){ 808, 315, 32, 32 }
|
||||||
|
#define particle_icecrystal_bw (Rectangle){ 276, 766, 32, 32 }
|
||||||
|
#define particle_planetreeleaf_bw (Rectangle){ 538, 715, 32, 32 }
|
||||||
|
#define particle_waterdrop_bw (Rectangle){ 842, 315, 32, 32 }
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue