diff --git a/Makefile b/Makefile index 25f0bc1..5f40f8e 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,9 @@ CFLAGS := -Wall -Werror -Wextra LDFLAGS := -lm -NAME := miniRT +OUT_DIR := out + +NAME := $(OUT_DIR)/miniRT SRCDIR := src @@ -26,7 +28,11 @@ PLATFORM ?= PLATFORM_DESKTOP LIBRAYLIB := libraylib.a -WEB_OUTPUT := miniRT +DISPLAY_WIDTH := 800 +DISPLAY_HEIGHT := 600 + +WEB_OUTPUT_DIR := web +WEB_OUTPUT := $(WEB_OUTPUT_DIR)/miniRT WEB_OUTPUT_HTML := $(WEB_OUTPUT).html WEB_OUTPUT_JS := $(WEB_OUTPUT).js WEB_OUTPUT_WASM := $(WEB_OUTPUT).wasm @@ -36,15 +42,17 @@ OBJDIR_BASE := obj ifeq ($(PLATFORM), PLATFORM_WEB) LIBRAYLIB := libraylib.web.a -NAME := $(NAME).html +OUT_DIR := $(WEB_OUTPUT_DIR) +NAME := WE CC := emcc AR := emar CFLAGS += -v -DROOT_DIRECTORY=\"/data\" -LDFLAGS += -s USE_GLFW=3 \ +LDFLAGS += -o $(WEB_OUTPUT_HTML) \ + -s USE_GLFW=3 \ -s ASYNCIFY \ -s ASSERTIONS=1 \ -s SAFE_HEAP=1 \ - --preload-file scenes@/data/scenes \ + --preload-file assets/scenes@/data/assets/scenes \ --preload-file assets@/data/assets \ --shell-file raylib/src/shell.html \ -DPLATFORM_WEB \ @@ -104,7 +112,7 @@ endif all: $(LIBS) $(OBJDIR) $(NAME) -$(NAME): $(OBJ) minirt.h $(OBJIO) $(OBJSCENE) $(OBJUTIL) $(OBJRENDER) +$(NAME): $(OUT_DIR) $(OBJ) minirt.h $(OBJIO) $(OBJSCENE) $(OBJUTIL) $(OBJRENDER) $(CC) $(CFLAGS) -o $@ $(OBJ) $(OBJIO) $(OBJSCENE) $(OBJUTIL) $(OBJRENDER) $(LIBS) $(LDFLAGS) $(OBJDIR)/%.o: $(SRCDIR)/$(SCENEDIR)/%.c minirt.h @@ -132,13 +140,20 @@ $(LIBS): make AR=$(AR) CC=$(CC) -C libft/printf make -C raylib/src PLATFORM=$(PLATFORM) +$(OUT_DIR): + mkdir -p $@ + $(OBJDIR): mkdir -p $(OBJDIR) $(OBJDIR)/$(SRCDIR) $(OBJDIR)/$(RENDERDIR) $(OBJDIR)/$(IODIR) $(OBJDIR)/$(UTILDIR) $(OBJDIR)/$(SCENEDIR) -vnc: all - $(VNC_SCRIPT) +vnc: clean clean_vnc all + $(VNC_SCRIPT) $(DISPLAY_WIDTH) $(DISPLAY_HEIGHT) -clean: +clean_vnc: clean + pkill -9 websockify || true + pkill -9 Xvnc || true + +clean: clean_vnc rm -rf $(OBJDIR_BASE) make clean -C libft make clean -C memory @@ -146,7 +161,7 @@ clean: make clean -C raylib/src fclean: clean - rm -rf $(NAME) $(MAP) $(WEB_OUTPUT_JS) $(WEB_OUTPUT_HTML) $(WEB_OUTPUT_WASM) $(WEB_OUTPUT_DATA) + rm -rf $(NAME) $(MAP) $(WEB_OUTPUT_DIR) $(OUT_DIR) $(WEB_OUTPUT_JS) $(WEB_OUTPUT_HTML) $(WEB_OUTPUT_WASM) $(WEB_OUTPUT_DATA) make fclean -C libft make fclean -C memory make fclean -C libft/printf diff --git a/miniRT b/miniRT deleted file mode 100755 index 962356a..0000000 Binary files a/miniRT and /dev/null differ diff --git a/scripts/run_vnc.sh b/scripts/run_vnc.sh deleted file mode 100755 index 1f1264f..0000000 --- a/scripts/run_vnc.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -NOVNC="" - -XVNC=Xvnc -XVNC_HOST=0.0.0.0 -XVNC_PORT=5901 - -DISPLAY_WIDTH=$1 -DISPLAY_HEIGHT=$2 - -print_usage() { - echo "Usage: run_vnc.sh " -} - -if command -v novnc_proxy &> /dev/null; then - NOVNC=novnc_proxy -elif command -v novnc &> /dev/null; then - NOVNC=novnc -else - echo "noVNC (novnc_proxy || novnc) not found! Aborting..." - exit 1 -fi - -if ! command -v Xvnc &> /dev/null; then - echo "Xvnc not found! Aborting..." - exit 1 -fi - -if [[ "$DISPLAY_WIDTH" = "" || "$DISPLAY_HEIGHT" = "" ]] ; then - print_usage - exit 1 -fi - -$XVNC :1 \ - -geometry ${DISPLAY_WIDTH}x${DISPLAY_HEIGHT} \ - -depth 24 \ - -SecurityTypes None \ - -interface $XVNC_HOST \ - -rfbport $XVNC_PORT & - -sleep 2 - -$NOVNC --vnc localhost:${XVNC_PORT} & - -sleep 2 - -export DISPLAY=:1 -exec ./miniRT diff --git a/src/rendering/rendering.c b/src/rendering/rendering.c index ed272cc..1cd193a 100644 --- a/src/rendering/rendering.c +++ b/src/rendering/rendering.c @@ -109,10 +109,8 @@ uint rendering_loop(t_data *data) BeginDrawing(); DrawTexture(data->texture, 0, 0, RAYWHITE); -#ifdef __EMSCRIPTEN__ Vector2 pos = GetMousePosition(); - DrawCircleV(pos, (float)data->scene.w / 100, RED); -#endif + DrawCircleV(pos, (float)data->scene.w / 200, RED); EndDrawing(); return (0); }