diff --git a/build-windows-visual-studio/sm64ex.vcxproj b/build-windows-visual-studio/sm64ex.vcxproj
index bd4b12c6..4060bd01 100644
--- a/build-windows-visual-studio/sm64ex.vcxproj
+++ b/build-windows-visual-studio/sm64ex.vcxproj
@@ -3847,7 +3847,6 @@
-
@@ -4378,7 +4377,6 @@
-
diff --git a/build-windows-visual-studio/sm64ex.vcxproj.filters b/build-windows-visual-studio/sm64ex.vcxproj.filters
index e79928b1..4de3e350 100644
--- a/build-windows-visual-studio/sm64ex.vcxproj.filters
+++ b/build-windows-visual-studio/sm64ex.vcxproj.filters
@@ -15048,9 +15048,6 @@
Source Files\src\menu
-
- Source Files\src\game
-
Source Files\src\pc\network\packets
@@ -16201,9 +16198,6 @@
Header Files\src\menu
-
- Header Files\src\game
-
Header Files\src\pc\network
diff --git a/developer/compile.sh b/developer/compile.sh
index 0704f771..d13bb613 100644
--- a/developer/compile.sh
+++ b/developer/compile.sh
@@ -1,4 +1,5 @@
#!/bin/bash
#make BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 IMMEDIATELOAD=1 DEVELOPMENT=1 STRICT=1 && winpty cgdb ./build/us_pc/sm64.us.f3dex2e.exe -ex 'break debug_breakpoint_here' -ex 'run' -ex 'quit'
#make BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 IMMEDIATELOAD=1 DEVELOPMENT=1 STRICT=1 && winpty cgdb ./build/us_pc/sm64.us.f3dex2e.exe -ex 'break debug_breakpoint_here' -ex 'run --server 27015 --configfile sm64config_server.txt' -ex 'quit'
-make BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 IMMEDIATELOAD=1 DEVELOPMENT=1 STRICT=1 && ./build/us_pc/sm64.us.f3dex2e.exe --server 27015 --configfile sm64config_server.txt
+#make BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 IMMEDIATELOAD=1 DEVELOPMENT=1 STRICT=1 && ./build/us_pc/sm64.us.f3dex2e.exe --server 27015 --configfile sm64config_server.txt
+make BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 IMMEDIATELOAD=1 DEVELOPMENT=1 STRICT=1 && ./build/us_pc/sm64.us.f3dex2e.exe
diff --git a/src/game/chat.c b/src/game/chat.c
deleted file mode 100644
index c799bd0b..00000000
--- a/src/game/chat.c
+++ /dev/null
@@ -1,150 +0,0 @@
-#include
-#include
-#include
-
-#include "chat.h"
-#include "game_init.h"
-#include "ingame_menu.h"
-#include "mario_misc.h"
-#include "segment2.h"
-#include "gfx_dimensions.h"
-#include "config.h"
-#include "PR/gbi.h"
-#include "pc/controller/controller_keyboard.h"
-#include "pc/network/network.h"
-#include "audio_defines.h"
-#include "audio/external.h"
-#include "menu/file_select.h"
-
-#define CHAT_DIALOG_MAX 96
-#define CHAT_MESSAGES_MAX 16
-#define CHAT_LIFE_MAX 400
-
-struct ChatMessage {
- u8 dialog[CHAT_DIALOG_MAX];
- enum ChatMessageType type;
- u16 life;
- u8 color[3];
-};
-
-static char inputMessage[CHAT_DIALOG_MAX] = { 0 };
-static struct ChatMessage message[CHAT_MESSAGES_MAX] = { 0 };
-static u8 onMessageIndex = 0;
-static u8 sInChatInput = FALSE;
-
-#define CHAT_SCALE 0.5f
-#define CHAT_SPACE 10.0f
-#define CHATBOX_PAD_X 0.0215f
-#define CHATBOX_SCALE_X 0.00385f
-#define CHATBOX_SCALE_Y 0.115f
-#define CHATBOX_X 2.0f
-#define CHATBOX_Y 11.0f
-#define CHAT_X 4.0f
-#define CHAT_Y -18.0f
-
-static void render_chat_message(struct ChatMessage* chatMessage, u8 index) {
- f32 textWidth = get_generic_dialog_width(chatMessage->dialog);
- f32 alphaScale = ((f32)chatMessage->life / (f32)(CHAT_LIFE_MAX / 20.0f));
- alphaScale *= alphaScale;
- if (alphaScale > 1) { alphaScale = 1; }
-
- f32 chatBoxWidth = CHATBOX_SCALE_X * textWidth + CHATBOX_PAD_X;
- create_dl_translation_matrix(MENU_MTX_PUSH, GFX_DIMENSIONS_FROM_LEFT_EDGE(CHATBOX_X), CHATBOX_Y + index * CHAT_SPACE, 0);
- create_dl_scale_matrix(MENU_MTX_NOPUSH, chatBoxWidth, CHATBOX_SCALE_Y, 1.0f);
-
- u8 boxR, boxG, boxB;
- if (chatMessage->type == CMT_INPUT) {
- boxR = 150;
- boxG = 150;
- boxB = 255;
- } else {
- f32 rgbScale = (((f32)chatMessage->life - ((f32)CHAT_LIFE_MAX * 0.98f)) / ((f32)CHAT_LIFE_MAX * 0.02f));
- if (chatMessage->type == CMT_LOCAL || rgbScale < 0) { rgbScale = 0; }
- boxR = 255 * rgbScale;
- boxG = 255 * rgbScale;
- boxB = 255 * rgbScale;
- }
-
- gDPSetEnvColor(gDisplayListHead++, boxR, boxG, boxB, 110 * alphaScale);
- gSPDisplayList(gDisplayListHead++, dl_draw_text_bg_box);
-
- create_dl_scale_matrix(MENU_MTX_NOPUSH, CHAT_SCALE / chatBoxWidth, CHAT_SCALE / CHATBOX_SCALE_Y, 1.0f);
-
- u8 textR, textG, textB;
- switch (chatMessage->type) {
- case CMT_LOCAL: textR = 200; textG = 200; textB = 255; break;
- case CMT_INPUT: textR = 0; textG = 0; textB = 0; break;
- case CMT_SYSTEM: textR = 255; textG = 255; textB = 190; break;
- default: textR = 255; textG = 255; textB = 255; break;
- }
-
- gSPDisplayList(gDisplayListHead++, dl_ia_text_begin);
-
- gDPSetEnvColor(gDisplayListHead++, textR, textG, textB, 255 * alphaScale);
- print_generic_string(CHAT_X, CHAT_Y, chatMessage->dialog);
-
- if (chatMessage->type == CMT_REMOTE || chatMessage->type == CMT_SYSTEM) {
- // if it's someone else's message, highlight the icon with their color
- u8 starR = chatMessage->color[0];
- u8 starG = chatMessage->color[1];
- u8 starB = chatMessage->color[2];
- gDPSetEnvColor(gDisplayListHead++, starR, starG, starB, 255 * alphaScale);
- create_dl_translation_matrix(MENU_MTX_PUSH, CHAT_X, CHAT_Y, 0.0f);
- render_generic_char(chatMessage->dialog[0]);
- gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
- }
-
- gSPDisplayList(gDisplayListHead++, dl_ia_text_end);
-
- gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
-}
-
-void chat_add_message_ext(char* ascii, enum ChatMessageType chatMessageType, const u8 color[3]) {
- u8 character = '?';
- switch (chatMessageType) {
- case CMT_INPUT:
- case CMT_LOCAL: character = 0xFD; break;
- case CMT_REMOTE: character = 0xFA; break;
- case CMT_SYSTEM: character = 0xF9; break;
- }
- struct ChatMessage* msg = &message[onMessageIndex];
- msg->dialog[0] = character;
- msg->dialog[1] = 0x9E;
- str_ascii_to_dialog(ascii, &msg->dialog[2], MIN(strlen(ascii), CHAT_DIALOG_MAX - 3));
- msg->life = (sSelectedFileNum != 0) ? CHAT_LIFE_MAX : CHAT_LIFE_MAX / 3;
- msg->type = chatMessageType;
- msg->color[0] = color[0];
- msg->color[1] = color[1];
- msg->color[2] = color[2];
- onMessageIndex = (onMessageIndex + 1) % CHAT_MESSAGES_MAX;
- play_sound((msg->type == CMT_LOCAL) ? SOUND_MENU_MESSAGE_DISAPPEAR : SOUND_MENU_MESSAGE_APPEAR, gDefaultSoundArgs);
-}
-
-void chat_add_message(char* ascii, enum ChatMessageType chatMessageType) {
- const u8 defaultColor[3] = { 255, 255, 255 };
- chat_add_message_ext(ascii, chatMessageType, defaultColor);
-}
-
-static void chat_stop_input(void) {
- sInChatInput = FALSE;
-}
-
-static void chat_send_input(void) {
-}
-
-void chat_start_input(void) {
-}
-
-void render_chat(void) {
- u8 count = 0;
- if (sInChatInput) {
- }
-
- u8 index = onMessageIndex;
- for (int i = 0; i < CHAT_MESSAGES_MAX; i++) {
- if (--index >= CHAT_MESSAGES_MAX) { index = CHAT_MESSAGES_MAX - 1; }
- if (message[index].life == 0) { continue; }
- render_chat_message(&message[index], count++);
- message[index].life--;
- }
-}
diff --git a/src/game/chat.h b/src/game/chat.h
deleted file mode 100644
index 4e9034fd..00000000
--- a/src/game/chat.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef CHAT_H
-#define CHAT_H
-
-enum ChatMessageType {
- CMT_LOCAL,
- CMT_REMOTE,
- CMT_SYSTEM,
- CMT_INPUT,
-};
-
-void render_chat(void);
-void chat_add_message(char* ascii, enum ChatMessageType chatMessageType);
-void chat_add_message_ext(char* ascii, enum ChatMessageType chatMessageType, const u8 color[3]);
-void chat_start_input(void);
-
-#endif
\ No newline at end of file
diff --git a/src/game/ingame_menu.c b/src/game/ingame_menu.c
index 1b120d67..459161e5 100644
--- a/src/game/ingame_menu.c
+++ b/src/game/ingame_menu.c
@@ -32,7 +32,6 @@
#ifdef EXT_OPTIONS_MENU
#include "options_menu.h"
#endif
-#include "chat.h"
u16 gDialogColorFadeTimer;
s8 gLastDialogLineNum;
@@ -3114,8 +3113,8 @@ void render_save_confirmation(s16 x, s16 y, s8 *index, s16 sp6e)
s16 xOffset = get_str_x_pos_from_center(160, textContinueWithoutSaveArr[gInGameLanguage], 12.0f);
#else
u8 textSaveAndContinue[] = { TEXT_SAVE_AND_CONTINUE };
- u8 textSaveAndQuit[] = { TEXT_SAVE_AND_QUIT };
- u8 textSaveExitGame[] = { TEXT_SAVE_EXIT_GAME };
+ //u8 textSaveAndQuit[] = { TEXT_SAVE_AND_QUIT };
+ //u8 textSaveExitGame[] = { TEXT_SAVE_EXIT_GAME };
u8 textContinueWithoutSave[] = { TEXT_CONTINUE_WITHOUT_SAVING };
#endif
@@ -3200,8 +3199,6 @@ s16 render_menus_and_dialogs() {
create_dl_ortho_matrix();
- render_chat();
-
if (gMenuMode != -1) {
switch (gMenuMode) {
case 0:
diff --git a/src/pc/controller/controller_keyboard.c b/src/pc/controller/controller_keyboard.c
index a9074ff0..28343344 100644
--- a/src/pc/controller/controller_keyboard.c
+++ b/src/pc/controller/controller_keyboard.c
@@ -17,7 +17,6 @@
#include "pc/pc_main.h"
#include "engine/math_util.h"
#include "menu/file_select.h"
-#include "game/chat.h"
#include "src/pc/djui/djui.h"
static int keyboard_buttons_down;
diff --git a/src/pc/network/network.c b/src/pc/network/network.c
index 2c7b92be..f7f2f73e 100644
--- a/src/pc/network/network.c
+++ b/src/pc/network/network.c
@@ -273,3 +273,8 @@ void network_shutdown(void) {
gNetworkType = NT_NONE;
}
+
+// TODO: REPLACE WITH A REAL CHAT
+void chat_add_message(char* message) {
+ LOG_INFO("chat: %s", message);
+}
\ No newline at end of file
diff --git a/src/pc/network/network.h b/src/pc/network/network.h
index d0fbb225..a24dd685 100644
--- a/src/pc/network/network.h
+++ b/src/pc/network/network.h
@@ -101,4 +101,6 @@ void network_update(void);
void network_register_mod(char* modName);
void network_shutdown(void);
+// TODO: replace with a real chat
+void chat_add_message(char* message);
#endif
diff --git a/src/pc/network/network_player.c b/src/pc/network/network_player.c
index 025dda78..70025721 100644
--- a/src/pc/network/network_player.c
+++ b/src/pc/network/network_player.c
@@ -1,6 +1,5 @@
#include
#include "network_player.h"
-#include "game/chat.h"
#include "game/mario_misc.h"
#include "reservation_area.h"
#include "pc/debuglog.h"
@@ -179,7 +178,7 @@ u8 network_player_connected(enum NetworkPlayerType type, u8 globalIndex) {
if (gNetworkType == NT_SERVER || type == NPT_SERVER) { gNetworkSystem->save_id(i, 0); }
for (int j = 0; j < MAX_SYNC_OBJECTS; j++) { gSyncObjects[j].rxEventId[i] = 0; }
if (type == NPT_SERVER) { gNetworkPlayerServer = np; }
- else { chat_add_message_ext("player connected", CMT_SYSTEM, get_player_color(np->globalIndex, 0)); }
+ else { chat_add_message("player connected"); }
LOG_INFO("player connected, local %d, global %d", i, np->globalIndex);
packet_ordered_clear(np->globalIndex);
return i;
@@ -219,7 +218,7 @@ u8 network_player_disconnected(u8 globalIndex) {
gNetworkSystem->clear_id(i);
for (int j = 0; j < MAX_SYNC_OBJECTS; j++) { gSyncObjects[j].rxEventId[i] = 0; }
LOG_INFO("player disconnected, local %d, global %d", i, globalIndex);
- chat_add_message_ext("player disconnected", CMT_SYSTEM, get_player_color(globalIndex, 0));
+ chat_add_message("player disconnected");
packet_ordered_clear(globalIndex);
reservation_area_change(np);
return i;
@@ -236,6 +235,6 @@ void network_player_shutdown(void) {
gNetworkSystem->clear_id(i);
}
- chat_add_message("network shutdown", CMT_SYSTEM);
+ chat_add_message("network shutdown");
LOG_INFO("cleared all network players");
}
diff --git a/src/pc/network/packets/packet_chat.c b/src/pc/network/packets/packet_chat.c
index 82b93bd4..b8fd3ae0 100644
--- a/src/pc/network/packets/packet_chat.c
+++ b/src/pc/network/packets/packet_chat.c
@@ -1,7 +1,6 @@
#include
#include "../network.h"
#include "../reservation_area.h"
-#include "game/chat.h"
#include "pc/debuglog.h"
#ifdef DEVELOPMENT
@@ -55,7 +54,7 @@ void network_receive_chat(struct Packet* p) {
packet_read(p, &remoteMessage, remoteMessageLength * sizeof(u8));
// add the message
- chat_add_message_ext(remoteMessage, CMT_REMOTE, rgb);
+ chat_add_message(remoteMessage);
LOG_INFO("rx chat: %s", remoteMessage);
/*
#ifdef DEVELOPMENT
diff --git a/src/pc/network/packets/packet_player.c b/src/pc/network/packets/packet_player.c
index d78b2fd7..369e1e7d 100644
--- a/src/pc/network/packets/packet_player.c
+++ b/src/pc/network/packets/packet_player.c
@@ -9,7 +9,6 @@
#include "audio/external.h"
#include "engine/surface_collision.h"
#include "game/object_list_processor.h"
-#include "game/chat.h"
#include "game/mario_misc.h"
#include "pc/configfile.h"
@@ -324,7 +323,7 @@ void network_receive_player(struct Packet* p) {
// inform of player death
if (oldData.action != ACT_BUBBLED && data.action == ACT_BUBBLED) {
- chat_add_message_ext("player died", CMT_SYSTEM, get_player_color(globalIndex, 0));
+ chat_add_message("player died");
}
// action changed, reset timer