From f3c0aafe2f2bf5fcf621fafb9580c4ac95e148bf Mon Sep 17 00:00:00 2001 From: roseen Date: Wed, 21 Jan 2026 13:51:24 -0600 Subject: [PATCH] using git now lol --- assets/battle_grid.ase | Bin 0 -> 42876 bytes assets/battle_grid.png | Bin 0 -> 10973 bytes assets/default_card.ase | Bin 0 -> 916 bytes assets/default_card.png | Bin 0 -> 651 bytes assets/mainscreen.png | Bin 0 -> 13218 bytes assets/mainscreen_exit.png | Bin 0 -> 5451 bytes assets/mainscreen_start.png | Bin 0 -> 7175 bytes assets/maroon.png | Bin 0 -> 2434 bytes assets/selected_card.png | Bin 0 -> 469 bytes assets/selected_grid.ase | Bin 0 -> 630 bytes assets/selected_grid.png | Bin 0 -> 237 bytes assets/sprites/player.png | Bin 0 -> 10557 bytes battle.c | 201 ++++++++++++++++++++++++++++++++++++ game.c | 9 ++ include/deck.h | 22 ++++ include/game.h | 37 +++++++ include/input.h | 12 +++ include/mydebug.h | 89 ++++++++++++++++ input.c | 79 ++++++++++++++ main.c | 80 ++++++++++++++ 20 files changed, 529 insertions(+) create mode 100644 assets/battle_grid.ase create mode 100644 assets/battle_grid.png create mode 100644 assets/default_card.ase create mode 100644 assets/default_card.png create mode 100644 assets/mainscreen.png create mode 100644 assets/mainscreen_exit.png create mode 100644 assets/mainscreen_start.png create mode 100644 assets/maroon.png create mode 100644 assets/selected_card.png create mode 100644 assets/selected_grid.ase create mode 100644 assets/selected_grid.png create mode 100644 assets/sprites/player.png create mode 100644 battle.c create mode 100644 game.c create mode 100644 include/deck.h create mode 100644 include/game.h create mode 100644 include/input.h create mode 100644 include/mydebug.h create mode 100644 input.c create mode 100644 main.c diff --git a/assets/battle_grid.ase b/assets/battle_grid.ase new file mode 100644 index 0000000000000000000000000000000000000000..741636ec6d14773efb1a4e4eb23431ab416796dd GIT binary patch literal 42876 zcmeHQe@qi+7`{pY-Krtmbc!O?AQ>(yAo0g!;57Wvp_y|NH^2cFtiML1!-6QaigA-E zn6iyIwunK8W5OWd+;k~boW?X8ZpIY`u@YR6QLQ?ldZpanYf&qBBN1H$pUcOSJ9_2r zp6Bkn_j|wR``BE>FqaOB7>(yFv6K-p43kJd_m)NXRv*h+=hqCw-WYoKs4Shr80np( zzR~lT9K%eMh7d-)6iT>ab`W7s)Eq+7I)B2tf)#|x5ZK{^+y-1sPz89x;Ch^5T=oq%g@#+LExO zDoILul9;3<$w(TKfTSKtN4k+{q!`J?YsGP-5=lh*kT|3a$wHctAfyIK!3*&uEfeWv z#L^Kir^J)=3^Ol5zDBWLxgj~x*Rh9Nk3Bq@<;s-xN%E9&5BylnDAun^JV@VlmpZ@6 z4Y~6d_{Tl%OLMhoIQ`~ifpuC*M0{a%F%~cY2EYIq00UqE41fVJ00zJS7ytucV30Gw zb~I|lln$7Cjx*Yax-Y>32EYIq00UqE41fVJ00zJS7ytuc01P}L1~$w(QXW$8E9E=s zdG`%jM0$48*Od>`%=HrMXXu#YK^xcBc<-8W^0~DUX@#D{Kh11P7~yY9Y>ZzMP%?x` zU`y&RX8)6Z_E(S1h1Cq>Wyqoaef>vlm#sllF7Q`r?Wl9b(}$8Y5psmD&R@gvG<(H}~;#@b(WZb+k4#tZ81V{?b*=&b2L`U6cE9rcnC(V6Zx3+#0(#p6g0fWzLQa zqoqmfH}bg7q903J$-yDD&JtukuJ+CI`=+)%!}B682`b^n;~ytHOQ;@DiQ~P5SM3fD zL=TAZ5Vj%`N8^HGBD9y#szpN`xrc$APU$1N)o1!kcn9@`FwHRJxRAC(CX&yuB3MAM zfM5Z^!axod(4B-HGQKMl{g~*QMQ<}Y&|z~R^9Gz7Fr&awa&r(0LBEny1FNEpEJ)<8yRCuUd zhd~a~hw8x=F}!n~!%Yww?RTWl5bQbo+7Q2b^8>$8J)nAUopAuw1F8p?c_C0epn5>{ z(0h&*L=T7_TxP=g@5aSrbB7#=yXw~49fIbqbFvkrl#x<)nK26~K{sgF7Z z(#GBOdBj%H%**`r$_JFoxP2nL_5|i+#(mw-`x-4wv@oBr7N)QfuCMv#A9aO{GXVn+ j%|M$mY+Nq?4<96do6-Y10uB{p0Rs=sfRzajT>0_8$j)uh literal 0 HcmV?d00001 diff --git a/assets/battle_grid.png b/assets/battle_grid.png new file mode 100644 index 0000000000000000000000000000000000000000..3aebeda95a3609806f044df91b2e672e0a7ee8b4 GIT binary patch literal 10973 zcmeAS@N?(olHy`uVBq!ia0y~yU~gbxV6os}1B$%3e9)PJL4m>3#WAE}&YRmCGYXo2JITTy7hLOlV==WE34nF zdsrt&QVNJ_v=9Gzw|8>m^N0Ki5W7dK4M;eQHY~v5FbK2CXbBFAnbCYYnok)`rzMJQBaR9<#5M&xv1`LYP00F0m(G&s>hS4ko zDIG=&2XHtHr^2EB?VXLeT8<(P7hM-gm_JOadvZln)IzoNNm88$v&WXE7Hx*GTM08> z7hm#?`?MwM?o8H>8*}xp-+rM8NfHb<&haKdm;@?7ykn#{`sF}1+2`CZ90$1CAOC!3 zT+LHlu?093J3UdXOj7ENk;#v+wx71u>dfm8Q^Ug1v0G52jW*rDNtcq8JDQM26Vm7~ z4LBPO^e|1?^3z|vir7}o#EQ=Up3OUOdAe8tl0PajND-vxwjuT-AJ9$ z8r#OU8`8x(5A0&SE}({mc&o|L!e+Fv8Bv8zNQ2s51_rJfptS(tGG=thadgeWP;R$& z{C&aL@RjfQ=NEzvy>ARnZlr>eb==i=B|GoA@k8VGKv^9lFC@8>J_7T`ou6UN_mA&u zL0zf)_W$48Z9Z<$?q0n|r%W>KW6pG-9Sb}_6MGN*i)JuCdypVzVxhzPx%hz4vxnjr zAhwPU146=K==StCTF0*2ei68i3Jf;Pl|BGvj*j7g17hgL?C799C;~@^WFh%^G&>Jq bcK*Y}zk71aRj#NlAV+w*`njxgN@xNAU@fcc literal 0 HcmV?d00001 diff --git a/assets/default_card.ase b/assets/default_card.ase new file mode 100644 index 0000000000000000000000000000000000000000..683818ff2e7fa7453a62bf9f3b41f4235834ce95 GIT binary patch literal 916 zcmcJNUq};i0LOpRjUIdv@?}!&QW3$*?Q+UcJQ582gOre?dN^%1*vv&Mq?9@tLZGNG zlIbS%p$0*+9?DTL#mX{<#vVkM|B^L(%9<{w-gdvf_n?9gJw*ME`|yLi`+YvYAJ?Bs z$d@My(t(R13PMN|?t{S`O#jO)1ODBpYTx=97B#bH)f{$GLb8}bup+M%G#hkaUwsL< zdNUUcjhMlWw?m+~Sp*J7&V$x*Em+)d1FJ0sU|n?%$d(#Fj=K$N8yw&j+Zt$cQjnkd z3I-MvAjKfWIqCyD?>_)7Rx5a^z7A|H?*gB(EEqDH!1?yqVBbI$*mXlot=NlFK4E!t z*aUWfe6%AR)ksD!Vo{1rG$IgnNJAH*P=p-0g;G=?0e;9~h89i;VS`E|n;0DI{y+jb zLTVcCUb8d0KR;$2NK`R|q~jZ!vbRJ7{*ODZ?@Rtl<%Nun;M4ahV<(!QE3zlEuAen^ zr{`-I-m#q*m5sy8Q=HkoJDkREI@av#s-rW7e)q4?$8!Pw@khb-xvN~66i&unmdUbc zZIQ9qcX`CS&Aa&V*7(oIn%MfZThK{~K$JSAOfk6=y!B#Hm-HI*Tl8;)*gf%7PmJ>m zH6Pr9L4NBS-^)>ZVrL-yY2uh5MYgvJ{^pS{sh{P;66aa&jd*`d{oBP4Cy5Du*7IuO eVY7{k&qs&G%(2riJ*j8fymVzrRG%zYSNsP0VsLu^ literal 0 HcmV?d00001 diff --git a/assets/default_card.png b/assets/default_card.png new file mode 100644 index 0000000000000000000000000000000000000000..acfefe532923ee6604583c11418a147764480bc4 GIT binary patch literal 651 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 literal 0 HcmV?d00001 diff --git a/assets/mainscreen_start.png b/assets/mainscreen_start.png new file mode 100644 index 0000000000000000000000000000000000000000..74cda66a1d19d59c608d3093d0aaa34b4c0d2474 GIT binary patch literal 7175 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 LS3j3^P6l zJIujRaukyP$$|2}Y&@Tr=E>dnwNG#D@cI1STev`ovn7LQ;F5$v2+_kwpQPXZ%iSx= z_XpFD^$1Iul(&}ub*e&CNY&6~vBSPP8;p7D;pt!{JY4L9_d9bi`&a{KuUny#vBKJT z2)ct+(Bn2k*N003M8`VJy)EqXSk|;VdTY32TSr5S)N~+6kwcWO|9EluQ~4q>ePYh@yxbtwmL- zAOSye%xG~U#D=O|Gf7669|@vJGrQTdA-X8#m>W zi!Dnm?y@&#vL~zAwE4v+NA!I@Z>&5#>02IenOV^1_~=)1zjo_yyS!nE@S7p!-0u7W D4bIEF literal 0 HcmV?d00001 diff --git a/assets/selected_grid.png b/assets/selected_grid.png new file mode 100644 index 0000000000000000000000000000000000000000..7612a6a54715fc4233e34195cabdcc45cbafa24a GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=TRdGHLn`LHy=^FXIDqHCg+DQg zEv}5L(Tr1FE0<&oJmH;YmTxuJwrcME`&)U_t~1U0$Qbwi;b*&PLY0$#-|WBNz?8x0 z%ebXs8AFsqFoW&_%?7axA`aXcTnkuDST8WmqN;SHtv`QyO@n>?FRuA*MN682?q~3H L^>bP0l+XkK2a--e literal 0 HcmV?d00001 diff --git a/assets/sprites/player.png b/assets/sprites/player.png new file mode 100644 index 0000000000000000000000000000000000000000..5627ace0b8ac873fc12a98bb91ab0f85e9bbf901 GIT binary patch literal 10557 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 +#include +#include +#include +#include +#include + +#define BOARDER_THICKNESS 10 +//do not let dx or dy be anything less than 2 +#define DX 5 +#define DY 5 +#define DRAW_TIMEOUT 10 + +SDL_Rect mouse_rect; +SDL_Rect bot_rect, hand_rect; +SDL_Point mouse_pos; + +int selected_card; + +int dragging; + +void start_battle(){ + int cardoff_x, cardoff_y; + int mx, my; + selected_card = -1; + dragging = 0; + PRINT_M(STARTING GAME LOOP); + + //SDL_Texture *maroon = IMG_LoadTexture(renderer, "assets/maroon.png"); + SDL_Texture *grid = IMG_LoadTexture(renderer, "assets/battle_grid.png"); + SDL_Texture *card = IMG_LoadTexture(renderer, "assets/default_card.png"); + SDL_Texture *selected = IMG_LoadTexture(renderer, "assets/selected_card.png"); + + mouse_rect.x = 0; + mouse_rect.y = 0; + mouse_rect.w = 5; + mouse_rect.h = 5; + + bot_rect.w = DEF_WINDOW_WIDTH - 2 * BOARDER_THICKNESS; + bot_rect.x = BOARDER_THICKNESS; + bot_rect.h = DEF_WINDOW_HEIGHT >> 3; + bot_rect.y = DEF_WINDOW_HEIGHT - BOARDER_THICKNESS - bot_rect.h; + + hand_rect.w = bot_rect.w >> 1; + hand_rect.x = DEF_WINDOW_WIDTH >> 2; + hand_rect.y = bot_rect.y - BOARDER_THICKNESS; + hand_rect.h = bot_rect.h; + + + + mouse_pos.x = mouse_pos.y = 0; + + if(!grid || !card || !selected) + { + printf("IMG_LOAD err: %s\n", IMG_GetError()); + } + + Uint64 lastdraw = SDL_GetTicks64() + DRAW_TIMEOUT; + + HAND hand; + hand.handsize = 7; + for(int i=0; i<7; i++){ + hand.cards[i] = card; + hand.card_rects[i].w = CARD_SIZE; + hand.card_rects[i].h = CARD_SIZE; + } + + while(running) + { + handle_event(&event); + + SDL_GetMouseState(&mx, &my); + mouse_pos.x = mouse_rect.x = mx; + mouse_pos.y = mouse_rect.y = my; + int inside = 0; + //handle resizing hand box + inside = SDL_PointInRect(&mouse_pos, &hand_rect); + if(SDL_GetTicks64() > lastdraw) + { + lastdraw = SDL_GetTicks() + DRAW_TIMEOUT; + if(inside) + { + if(hand_rect.w < (DEF_WINDOW_WIDTH >> 1) + (DEF_WINDOW_WIDTH >> 3) ) + { //growing + hand_rect.x -= DX>>1; + hand_rect.w += DX; + hand_rect.y -= DY; + hand_rect.h += DY; + } + }else if(hand_rect.w > bot_rect.w >> 1){ + //shrinking + hand_rect.x += DX>>1; + hand_rect.w -= DX; + hand_rect.y += DY; + hand_rect.h -= DY; + if(!dragging){ selected_card = -1; } + } + } + int useable_hand_space = hand_rect.w - (BOARDER_THICKNESS << 1) - CARD_W; + int spacing; + if(hand.handsize == 1) + { + spacing = useable_hand_space; + }else + { + spacing = useable_hand_space / (hand.handsize - 1); + } + int check = 1; + if(selected_card == -1) { check = 1;} + else if(SDL_PointInRect(&mouse_pos, &(hand.card_rects[selected_card]))){ check = 0;} + else { selected_card = -1; } + for(int i = 0; i < hand.handsize; i++) + { + hand.card_rects[i].x = hand_rect.x + BOARDER_THICKNESS + ( spacing * i) + - ((CARD_SIZE - CARD_W)>>1) ; + hand.card_rects[i].y = hand_rect.y + BOARDER_THICKNESS; + if(check && SDL_PointInRect(&mouse_pos, &(hand.card_rects[i]))) + { + selected_card = i; + } + } + + //handle dragging cards + if(dragging) + { + if(dragging == GRAB_OLD) + { + hand.card_rects[selected_card].x = mouse_pos.x - cardoff_x; + hand.card_rects[selected_card].y = mouse_pos.y - cardoff_y; + } + else if(dragging == GRAB_NEW) + { + if(selected_card != -1) + { + cardoff_x = mouse_pos.x - hand.card_rects[selected_card].x; + cardoff_y = mouse_pos.y - hand.card_rects[selected_card].y; + dragging = GRAB_OLD; + } else + { + dragging = NOT_DRAG; + } + } + else if(dragging == LETGO && selected_card != -1){ + dragging = NOT_DRAG; + if(!inside) + { + hand.handsize--; + for(int i = selected_card; i < hand.handsize; i++) + { + hand.cards[i] = hand.cards[i+1]; + } + selected_card = -1; + hand.cards[hand.handsize + 1] = NULL; + } + } + } + SDL_RenderClear(renderer); + //background + SDL_RenderCopy(renderer, grid, NULL, NULL); + + //bottom box for ui shit + SDL_SetRenderDrawColor(renderer, 0,0,0,255); + SDL_RenderFillRect(renderer, &bot_rect); + + //box for hand of cards + SDL_SetRenderDrawColor(renderer, 64,64,64,255); + SDL_RenderFillRect(renderer, &hand_rect); + + //mouse follower box + SDL_SetRenderDrawColor(renderer, 0,255,0,255); + SDL_RenderFillRect(renderer, &mouse_rect); + + //render cards + for(int i = 0; i < hand.handsize; i++) + { + if(selected_card != i) + { + SDL_RenderCopy(renderer, hand.cards[i], NULL, &(hand.card_rects[i])); + } + } + //render selected card last + if(selected_card != -1) + { + if(!dragging){ hand.card_rects[selected_card].y -= BOARDER_THICKNESS; } + SDL_RenderCopy(renderer, hand.cards[selected_card], NULL, + &(hand.card_rects[selected_card])); + SDL_RenderCopy(renderer, selected, NULL, + &(hand.card_rects[selected_card])); + } + + SDL_RenderPresent(renderer); + } + + return; +} + + + + diff --git a/game.c b/game.c new file mode 100644 index 0000000..16a9cd4 --- /dev/null +++ b/game.c @@ -0,0 +1,9 @@ +/*Troy Rosin*/ + +#include +#include +#include +#include +#include + + diff --git a/include/deck.h b/include/deck.h new file mode 100644 index 0000000..0704b48 --- /dev/null +++ b/include/deck.h @@ -0,0 +1,22 @@ +//Troy Rosin + +#ifndef __deck_h__ +#define __deck_h__ + +#include + +#define MAX_HANDSIZE 8 +#define CARD_SIZE (128 * 2) +#define CARD_W (96 * 2) + +typedef struct hand +{ + int handsize; + SDL_Texture *cards[MAX_HANDSIZE]; + SDL_Rect card_rects[MAX_HANDSIZE]; +} HAND; + + + + +#endif diff --git a/include/game.h b/include/game.h new file mode 100644 index 0000000..57d66a4 --- /dev/null +++ b/include/game.h @@ -0,0 +1,37 @@ +//Troy Rosin + +#ifndef __game_h__ +#define __game_h__ + +#include + + +#define DEF_WINDOW_WIDTH 1920 +#define DEF_WINDOW_HEIGHT 1080 + + +extern int running; +extern int state; + +#define TITLE 0 +#define BATTLE 1 +extern int state; + +#define START_GAME 0 +#define EXIT_GAME 1 +#define MAIN_SELECTIONS 2 +extern int selected_index; + +void start_battle(); + +extern SDL_Window* window; +extern SDL_Renderer* renderer; +extern SDL_Event event; + +#define GRAB_NEW 2 +#define GRAB_OLD 1 +#define LETGO 3 +#define NOT_DRAG 0 +extern int dragging; + +#endif diff --git a/include/input.h b/include/input.h new file mode 100644 index 0000000..b4e5ebc --- /dev/null +++ b/include/input.h @@ -0,0 +1,12 @@ +/*Troy Rosin*/ + +#ifndef __input_h__ +#define __input_h__ + +#include + +void handle_input(SDL_Event *e); + +void handle_event(SDL_Event *e); + +#endif diff --git a/include/mydebug.h b/include/mydebug.h new file mode 100644 index 0000000..dd62116 --- /dev/null +++ b/include/mydebug.h @@ -0,0 +1,89 @@ +#ifndef __mydebug_h__ +#define __mydebug_h__ + +/*for debugging print statments and timers +* Troy Rosin TJR760 11200680 +* compile with -Ddebug and the prints will be there +* otherwise nothing wil appear +* +* to use with makefile add the following +* +* debug ?=off +* ifeq ($(debug),on) +* CPPFLAGS += -Ddebug +* endif +* +* then use "make debug=on" to make if you want the debug messages +* just use make to build normally +* +*/ + +#include +#include + +#ifdef debug +/*prints the name of the function that was called passed as an arg */ +#define PRINT_C(FUNC)\ + puts(#FUNC" was called"); + + +/*prints the message wanted followed by a \n no "" needed*/ +#define PRINT_M(MSG)\ + puts(#MSG); + + +/*prints the name of a variable holding a pointer and its value*/ +#define PRINT_P(PTR)\ + printf(#PTR" has value %p\n", (void*)PTR); + + +/*prints the varilble name holding the int and the value +* Type is how you want it to print ie l, d, ld, u, f... +* just pass the field type printf expects without the '%' +*/ +#define PRINT_INT(VAR, TYPE)\ + printf(#VAR" has value %"#TYPE"\n", VAR); + + +/*starts a timer so you can see how long fuctions can run for +* you must end the timer within the same scope as the start +* the id can be anything its only used to differentiate between +* timers +* T_START must be placed at the end of variable definitions to comply with C90 +* standards. if not using C90 go nuts +*/ +#define T_START(ID)\ + struct timespec ID ## __d_timer_s__;\ + struct timespec ID ## __d_timer_e__;\ + clock_gettime(CLOCK_MONOTONIC_RAW, &ID ## __d_timer_s__); + + + +/*checks how long since the timer began and prints the seconds and nanoseconds +* since. Can be called multiple times if needed +*/ +#define T_END(ID)\ + clock_gettime(CLOCK_MONOTONIC_RAW, &ID ## __d_timer_e__);\ + printf("timer "#ID" took:\n%ld second(s) total\n%ld nanoseconds total\n",\ + ((ID ## __d_timer_e__.tv_sec * 1000000000 + ID ## __d_timer_e__.tv_nsec - \ + ID ## __d_timer_s__.tv_sec * 1000000000 + ID ## __d_timer_s__.tv_nsec) - \ + ((ID ## __d_timer_e__.tv_sec * 1000000000 + ID ## __d_timer_e__.tv_nsec-\ + ID ## __d_timer_s__.tv_sec * 1000000000 + ID ## __d_timer_s__.tv_nsec) \ + % 1000000000)) / 1000000000 , \ + ID ## __d_timer_e__.tv_sec * 1000000000 + ID ## __d_timer_e__.tv_nsec -\ + ID ## __d_timer_s__.tv_sec * 1000000000 + ID ## __d_timer_s__.tv_nsec ); + + + +#else +/*if debug was not defined we insert nothing there*/ +#define PRINT_C(X) {} +#define PRINT_M(X) {} +#define PRINT_P(X) {} +#define PRINT_INT(X,Y) {} +#define T_START(X) {} +#define T_END(X) {} + +#endif + +#endif diff --git a/input.c b/input.c new file mode 100644 index 0000000..d2df6bc --- /dev/null +++ b/input.c @@ -0,0 +1,79 @@ +/*Troy Rosin*/ + +#include +#include + +extern int running; + +void handle_input_mainmenu(SDL_Event *e); +void handle_input_battle(SDL_Event *e); + + +void handle_event(SDL_Event *e){ + while(SDL_PollEvent(e)) + { + switch(state) + { + case TITLE: + if(e->type == SDL_KEYDOWN) + { + handle_input_mainmenu(e); + } + break; + case BATTLE: + switch (e->type) + { + case SDL_KEYDOWN: + handle_input_battle(e); + break; + case SDL_MOUSEBUTTONDOWN: + dragging = GRAB_NEW; + break; + case SDL_MOUSEBUTTONUP: + dragging = LETGO; + } + break; + } + return; + } +} + +void handle_input_mainmenu(SDL_Event *e) +{ + switch(e->key.keysym.sym){ + case SDLK_ESCAPE: + running = 0; + break; + case SDLK_w: + if (selected_index) { selected_index--; } + else { selected_index = MAIN_SELECTIONS - 1; } + selected_index %= MAIN_SELECTIONS; + break; + case SDLK_s: + selected_index++; + selected_index %= MAIN_SELECTIONS; + break; + case SDLK_RETURN: + if(selected_index == EXIT_GAME){ + running = 0; + } + else{ + state = BATTLE; + } + } + return; +} + + +void handle_input_battle(SDL_Event *e) +{ + switch(e->key.keysym.sym) + { + case SDLK_ESCAPE: + running = 0; + break; + default: + printf("%d", (char)e->key.keysym.sym); + } + return; +} diff --git a/main.c b/main.c new file mode 100644 index 0000000..38d49fc --- /dev/null +++ b/main.c @@ -0,0 +1,80 @@ +/*Troy Rosin*/ + +#include +#include + +#include +#include +#include + +SDL_Window* window; +SDL_Renderer* renderer; +SDL_Event event; + +int state = TITLE; +int running; + + +int selected_index = START_GAME; + +int main(void) { + SDL_Init(SDL_INIT_VIDEO); + window = SDL_CreateWindow("Shit Game",\ + SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, DEF_WINDOW_WIDTH, +DEF_WINDOW_HEIGHT, 0); + renderer = SDL_CreateRenderer(window, -1, 0); + IMG_Init(IMG_INIT_PNG); + SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND); + + SDL_CaptureMouse(SDL_TRUE); + + SDL_Texture* background = IMG_LoadTexture(renderer, "assets/mainscreen.png"); + SDL_Texture* start_img = IMG_LoadTexture(renderer, "assets/mainscreen_start.png"); + SDL_Texture* exit_img = IMG_LoadTexture(renderer, "assets/mainscreen_exit.png"); + SDL_Texture* selection_img = start_img; + + if (!background || !start_img || !exit_img) { + printf("IMG_LoadTexture error: %s\n", IMG_GetError()); + } + int ret = 0; + ret = SDL_SetTextureColorMod(start_img, 255, 0, 0); + ret |= SDL_SetTextureColorMod(exit_img, 255, 0, 0); + + if(ret){ + puts("SetTextureColorMod error"); + } + + running = 1; + + while (running) + { + handle_event(&event); + + SDL_RenderClear(renderer); + + if(selected_index == START_GAME){ selection_img = start_img;} + else if(selected_index == EXIT_GAME) {selection_img = exit_img;} + + SDL_RenderCopy(renderer, background, NULL, NULL); + SDL_RenderCopy(renderer, selection_img, NULL, NULL); + + SDL_RenderPresent(renderer); + if(state) + { + switch(state) + { + case BATTLE: + start_battle(); + break; + } + } + + } + + SDL_DestroyRenderer(renderer); + SDL_DestroyWindow(window); + IMG_Quit(); + SDL_Quit(); + return 0; +} +