390 lines
28 KiB
C
390 lines
28 KiB
C
|
/*
|
||
|
* Tux-Town is a chill life-simulation game.
|
||
|
* Copyright (C) 2025 orangerot <me@orangerot.dev>
|
||
|
*
|
||
|
* This program is free software: you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU General Public License as published by
|
||
|
* the Free Software Foundation, either version 3 of the License, or
|
||
|
* (at your option) any later version.
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
|
*/
|
||
|
|
||
|
#include "raylib.h"
|
||
|
#include <stddef.h>
|
||
|
|
||
|
int main(void) {
|
||
|
const int screenWidth = 800;
|
||
|
const int screenHeight = 450;
|
||
|
|
||
|
InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window");
|
||
|
|
||
|
Camera camera = { 0 };
|
||
|
camera.position = (Vector3){ 10.0f, 10.0f, 10.0f };
|
||
|
camera.target = (Vector3){ 0.0f, 0.0f, 0.0f };
|
||
|
camera.up = (Vector3){ 0.0f, 1.0f, 0.0f };
|
||
|
camera.fovy = 45.0f;
|
||
|
camera.projection = CAMERA_PERSPECTIVE;
|
||
|
|
||
|
Model models[] = {
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bed_floor.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_center_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_center_stoneRound.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_center_wood.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_center_woodRound.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_side_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_side_stoneRound.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_side_wood.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_side_woodRound.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_stoneNarrow.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_stoneRoundNarrow.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_stoneRound.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_woodNarrow.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_wood.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_woodRoundNarrow.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/bridge_woodRound.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cactus_short.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cactus_tall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/campfire_bricks.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/campfire_logs.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/campfire_planks.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/campfire_stones.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/canoe.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/canoe_paddle.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockCave_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockCave_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockDiagonal_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockDiagonal_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockHalf_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockHalf_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockQuarter_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockQuarter_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_block_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockSlopeHalfWalls_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockSlopeHalfWalls_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockSlope_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockSlope_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockSlopeWalls_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_blockSlopeWalls_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_block_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cave_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cave_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerInnerLarge_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerInnerLarge_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerInner_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerInner_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerInnerTop_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerInnerTop_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerLarge_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerLarge_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_corner_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_corner_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerTop_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_cornerTop_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_diagonal_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_diagonal_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_halfCornerInner_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_halfCornerInner_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_halfCorner_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_halfCorner_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_half_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_half_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_large_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_large_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_stepsCornerInner_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_stepsCornerInner_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_stepsCorner_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_stepsCorner_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_steps_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_steps_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_topDiagonal_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_topDiagonal_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_top_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_top_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_waterfall_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_waterfall_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_waterfallTop_rock.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/cliff_waterfallTop_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crop_carrot.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crop_melon.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crop_pumpkin.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_bambooStageA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_bambooStageB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_cornStageA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_cornStageB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_cornStageC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_cornStageD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_dirtDoubleRowCorner.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_dirtDoubleRowEnd.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_dirtDoubleRow.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_dirtRowCorner.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_dirtRowEnd.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_dirtRow.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_dirtSingle.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_leafsStageA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_leafsStageB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_wheatStageA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crops_wheatStageB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/crop_turnip.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_bendCenter.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_bend.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_corner.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_gate.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_planksDouble.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_planks.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_simpleCenter.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_simpleDiagonalCenter.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_simpleDiagonal.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_simpleHigh.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_simpleLow.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/fence_simple.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/flower_purpleA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/flower_purpleB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/flower_purpleC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/flower_redA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/flower_redB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/flower_redC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/flower_yellowA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/flower_yellowB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/flower_yellowC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/grass_large.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/grass_leafsLarge.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/grass_leafs.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/grass.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_grass.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathBendBank.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathBend.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathCorner.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathCornerSmall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathCross.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathEndClosed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathEnd.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathOpen.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathRocks.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathSide.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathSideOpen.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathSplit.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathStraight.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_pathTile.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverBendBank.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverBend.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverCorner.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverCornerSmall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverCross.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverEndClosed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverEnd.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverOpen.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverRocks.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverSide.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverSideOpen.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverSplit.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverStraight.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/ground_riverTile.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/hanging_moss.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/lily_large.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/lily_small.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/log_large.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/log.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/log_stackLarge.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/log_stack.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/mushroom_redGroup.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/mushroom_red.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/mushroom_redTall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/mushroom_tanGroup.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/mushroom_tan.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/mushroom_tanTall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/path_stoneCircle.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/path_stoneCorner.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/path_stoneEnd.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/path_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/path_woodCorner.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/path_woodEnd.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/path_wood.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/plant_bushDetailed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/plant_bushLarge.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/plant_bushLargeTriangle.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/plant_bush.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/plant_bushSmall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/plant_bushTriangle.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/plant_flatShort.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/plant_flatTall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/platform_beach.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/platform_grass.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/platform_stone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/pot_large.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/pot_small.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_largeA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_largeB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_largeC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_largeD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_largeE.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_largeF.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallE.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallFlatA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallFlatB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallFlatC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallF.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallG.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallH.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallI.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallTopA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_smallTopB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallE.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallF.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallG.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallH.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallI.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/rock_tallJ.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/sign.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/statue_block.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/statue_columnDamaged.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/statue_column.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/statue_head.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/statue_obelisk.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/statue_ring.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_largeA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_largeB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_largeC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_largeD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_largeE.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_largeF.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallE.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallFlatA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallFlatB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallFlatC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallF.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallG.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallH.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallI.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallTopA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_smallTopB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallE.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallF.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallG.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallH.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallI.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stone_tallJ.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stump_old.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stump_oldTall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stump_roundDetailed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stump_round.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stump_squareDetailed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stump_squareDetailedWide.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/stump_square.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tent_detailedClosed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tent_detailedOpen.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tent_smallClosed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tent_smallOpen.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_blocks_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_blocks_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_blocks.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_cone_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_cone_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_cone.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_default_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_default_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_default.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_detailed_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_detailed_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_detailed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_fat_darkh.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_fat_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_fat.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_oak_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_oak_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_oak.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_palmBend.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_palmDetailedShort.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_palmDetailedTall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_palm.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_palmShort.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_palmTall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineDefaultA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineDefaultB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineGroundA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineGroundB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineRoundA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineRoundB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineRoundC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineRoundD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineRoundE.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineRoundF.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineSmallA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineSmallB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineSmallC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineSmallD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineTallA_detailed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineTallA.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineTallB_detailed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineTallB.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineTallC_detailed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineTallC.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineTallD_detailed.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_pineTallD.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_plateau_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_plateau_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_plateau.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_simple_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_simple_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_simple.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_small_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_small_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_small.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_tall_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_tall_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_tall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_thin_dark.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_thin_fall.obj"),
|
||
|
LoadModel("assets/kenney_nature-kit/Models/OBJ format/tree_thin.obj"),
|
||
|
};
|
||
|
|
||
|
Vector3 position = {0};
|
||
|
|
||
|
// SetTargetFPS(60);
|
||
|
while (!WindowShouldClose()) {
|
||
|
UpdateCamera(&camera, CAMERA_ORBITAL);
|
||
|
|
||
|
BeginDrawing();
|
||
|
ClearBackground(RAYWHITE);
|
||
|
BeginMode3D(camera);
|
||
|
for (size_t i = 0; i < sizeof(models) / sizeof(models[0]); ++i) {
|
||
|
DrawModel(models[i], (Vector3){2.f * (i / 19) - 19.f , 0.f, 2.f * (i % 19) - 19.f }, 1.0f, WHITE);
|
||
|
}
|
||
|
DrawGrid(20, 10.0f);
|
||
|
EndMode3D();
|
||
|
DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY);
|
||
|
EndDrawing();
|
||
|
}
|
||
|
|
||
|
CloseWindow();
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|